Jasper Chow
Junior Member level 3

By the keil's specification of 8051 instruction set,
"...If another interrupt was pending when the RETI instruction is executed, one instruction at the return address is executed before the pending interrupt is processed.''
The atmel 8051 hardware mannual also states, a long jump action triggered by an interrupt can only occur when the the prior instruction is the final cycle of an instruction other than REIT.
I don't understand why cpu needs to do an extra instruction after RETI before starting another interrrupt.
"...If another interrupt was pending when the RETI instruction is executed, one instruction at the return address is executed before the pending interrupt is processed.''
The atmel 8051 hardware mannual also states, a long jump action triggered by an interrupt can only occur when the the prior instruction is the final cycle of an instruction other than REIT.
I don't understand why cpu needs to do an extra instruction after RETI before starting another interrrupt.