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.
although I have to confess I remain curious as to what the OP was trying to achieve.
I agree with Jack
Excellent job again, I agree with Jack
Erik
My guess is that the OP coded something without reading the 'background' (Interrupt_vector_address - 3)/8) before typing interrupt numbers in some code and got upset that Keil did not agree with his assumptions
He clearly has some fixed notion about "interrupt numbers" and is not prepared to accept that it does not match Keil's notion of "interrupt numbers" as implemnented in their C51 product