org 00h
loop:
clr p3.0
sjmp loop
end
#include<reg51.h>
sbit i = P3^0;
void main()
{
while(1)
{
i = 0;
}
}
Code C - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 #include<reg51.h> sbit i = P3^0; void main() { i = 0; while(1) { i = 0; } }
it work properly in debug mode
C:
.
.
.
.
0x07FC 00 NOP
C:0x07FD 00 NOP
C:0x07FE 00 NOP
C:0x07FF 00 NOP
C:0x0800 787F MOV R0,#0x7F
C:0x0802 E4 CLR A
C:0x0803 F6 MOV @R0,A
C:0x0804 D8FD DJNZ R0,C:0803
C:0x0806 758107 MOV SP(0x81),#0x07
C:0x0809 02080C LJMP main(C:080C)
4: void main()
5: {
6: while(1)
7: {
8: i = 0;
C:0x080C C2B0 CLR i(0xB0.0)
9: }
C:0x080E 80FC SJMP main(C:080C)
C:0x0810 00 NOP
C:0x0811 00 NOP
C:0x0812 00 NOP
C:0x0813 00 NOP
C:0x0814 00 NOP
C:0x0815 00 NOP
.
.
.
Code ASM - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 126: ?C_STARTUP: LJMP STARTUP1 127: 128: RSEG ?C_C51STARTUP 129: 130: STARTUP1: 131: 132: IF IDATALEN <> 0 C:0x0000 020003 LJMP STARTUP1(C:0003) 133: MOV R0,#IDATALEN - 1 C:0x0003 787F MOV R0,#0x7F 134: CLR A C:0x0005 E4 CLR A 135: IDATALOOP: MOV @R0,A C:0x0006 F6 MOV @R0,A 136: DJNZ R0,IDATALOOP C:0x0007 D8FD DJNZ R0,IDATALOOP(C:0006) 185: MOV SP,#?STACK-1 186: 187: ; This code is required if you use L51_BANK.A51 with Banking Mode 4 188: ;<h> Code Banking 189: ; <q> Select Bank 0 for L51_BANK.A51 Mode 4 190: #if 0 191: ; <i> Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4. 192: EXTRN CODE (?B_SWITCH0) 193: CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 194: #endif 195: ;</h> C:0x0009 758107 MOV SP(0x81),#0x07 196: LJMP ?C_START C:0x000C 02000F LJMP main(C:000F) 4: void main() 5: { 6: while(1) 7: { 8: i = 0; C:0x000F C2B0 CLR i(0xB0.0) 9: } C:0x0011 80FC SJMP main(C:000F) C:0x0013 00 NOP C:0x0014 00 NOP C:0x0015 00 NOP C:0x0016 00 NOP C:0x0017 00 NOP C:0x0018 00 NOP C:0x0019 00 NOP C:0x001A 00 NOP C:0x001B 00 NOP
126: ?C_STARTUP: LJMP STARTUP1
127:
128: RSEG ?C_C51STARTUP
129:
130: STARTUP1:
131:
132: IF IDATALEN <> 0
C:0x0000 020800 LJMP STARTUP1(C:0800)
C:0x0003 00 NOP
C:0x0004 00 NOP
..
.
.
.
.
C:0x07F9 00 NOP
C:0x07FA 00 NOP
C:0x07FB 00 NOP
C:0x07FC 00 NOP
C:0x07FD 00 NOP
C:0x07FE 00 NOP
C:0x07FF 00 NOP
133: MOV R0,#IDATALEN - 1
C:0x0800 787F MOV R0,#0x7F
134: CLR A
C:0x0802 E4 CLR A
135: IDATALOOP: MOV @R0,A
C:0x0803 F6 MOV @R0,A
136: DJNZ R0,IDATALOOP
C:0x0804 D8FD DJNZ R0,IDATALOOP(C:0803)
185: MOV SP,#?STACK-1
186:
187: ; This code is required if you use L51_BANK.A51 with Banking Mode 4
188: ;<h> Code Banking
189: ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
190: #if 0
191: ; <i> Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4.
192: EXTRN CODE (?B_SWITCH0)
193: CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
194: #endif
195: ;</h>
C:0x0806 758107 MOV SP(0x81),#0x07
196: LJMP ?C_START
C:0x0809 02080C LJMP main(C:080C)
3: void main()
4: {
5: i=0;
C:0x080C C2B0 CLR i(0xB0.0)
6: }
C:0x080E 22 RET
C:0x080F 00 NOP
C:0x0810 00 NOP
C:0x0811 00 NOP
C:0x0812 00 NOP
C:0x0813 00 NOP
C:0x0814 00 NOP
.
.
.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?