I have noticed that the Kiel compiler doesn't produce the correct interrupt vector if 8051 interrupt numbers are used. For example for external interrupt 0 (IE0), the interrupt number has to be 0, instead of 1 to produce a jump at location 1. Example:
void edge1 (void) interrupt 0{ /*produces correct code
while
void edge1 (void) interrupt 1{ /*produces wrong code
This is the case with all the interrupts I have used. My questions is what do you have to do to produce a reset vector? Reset is interrupt number 0 in 8051 numbering. Using -1 or 255 both produce a compile error.
Of course a vector will not reset an 8051, the very idea is ridiculous.
He's a master of the art of misunderstanding, just ignore him.
If you want to modify what happens on reset the place to do would be in startup.a51. In the normal course of things you wouldn't want to, though, as the startup and initialisation code needs to run before your main() is entered. The 'interrupt' keyword is only for use with interrupt handlers so it seems fairly reasonable that it won't allow a vector to be inserted at location zero.