#pragma NOAREGS char noaregfunc(char i) using 1 { return i+1; } void main(void) { char ch = noaregfunc(2); }
C_STARTUP: C:0x0000 020011 LJMP C:0011 2: char noaregfunc (char i) using 1 3: { C:0x0003 C0D0 PUSH PSW(0xD0) C:0x0005 75D008 MOV PSW(0xD0),#0x08 C:0x0008 8F10 MOV 0x10,R7 4: return i+1; C:0x000A E510 MOV A,0x10 C:0x000C 04 INC A C:0x000D FF MOV R7,A 5: } 6: C:0x000E D0D0 POP PSW(0xD0) C:0x0010 22 RET C:0x0011 787F MOV R0,#0x7F C:0x0013 E4 CLR A C:0x0014 F6 MOV @R0,A C:0x0015 D8FD DJNZ R0,C:0014 C:0x0017 758111 MOV SP(0x81),#0x11 C:0x001A 02001D LJMP main(C:001D) 7: void main(void) 8: { 9: char ch = noaregfunc(2); C:0x001D 7F02 MOV R7,#0x02 C:0x001F 120003 LCALL noaregfunc(C:0003) C:0x0022 8F11 MOV 0x11,R7 10: } C:0x0024 22 RET
View all questions in Keil forum