This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

missing register bank switch

void serisr (void) interrupt 4 using 1 // prt0
generates, as expected

             ; FUNCTION serisr (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0F0              PUSH    B
0004 C083              PUSH    DPH
0006 C082              PUSH    DPL
0008 C0D0              PUSH    PSW
000A 75D008            MOV     PSW,#08H
............

but
void pcaisr (void) interrupt 6 using 2 // prt2
generates
             ; FUNCTION pcaisr (BEGIN)
                                           ; SOURCE LINE # 179
                                           ; SOURCE LINE # 182
0000 30C008            JNB     SB_CCF0,?C0031
                                           ; SOURCE LINE # 183
                                           ; SOURCE LINE # 184
0003 C2C0              CLR     SB_CCF0
...................

where is the saves and the register bank switch ?

I see no difference in syntax. Why this? an interrupt below uses rb2 and creates proper code.
Erik

0