|
- stmt level source
- 1 #include<reg52.h>
- 2
- 3
- 4 void delay500ms(void)
- 5 {
- 6 1
- 7 1 unsigned char i,j,k;
- 8 1
- 9 1 for(i=15;i>0;i--)
- 10 1 for(j=202;j>0;j--)
- 11 1 for(k=81;k>0;k--);
- 12 1
- 13 1 }
- 14
- 15
- 16 void main (void)
- 17 {
- 18 1 delay500ms();
- 19 1
- 20 1 }
- 21
- ASSEMBLY LISTING OF GENERATED OBJECT CODE
- ;這幾條匯編語言是系統(tǒng)構(gòu)建
- ; FUNCTION delay500ms (BEGIN) 延時(shí)子程序
- ; SOURCE LINE # 4
- ; SOURCE LINE # 5
- ; SOURCE LINE # 9
- ;---- Variable 'i' assigned to Register 'R7' ----
- 0000 7F0F MOV R7,#0FH ; i=15
- 0002 ?C0001:
- ; SOURCE LINE # 10
- ;---- Variable 'j' assigned to Register 'R6' ----
- 0002 7ECA MOV R6,#0CAH ; j=202
- 0004 ?C0004:
- ; SOURCE LINE # 11
- ;---- Variable 'k' assigned to Register 'R5' ----
- 0004 7D51 MOV R5,#051H ; k=81
- 0006 ?C0007:
- 0006 DDFE DJNZ R5,?C0007
- 0008 ?C0006:
- 0008 DEFA DJNZ R6,?C0004
- 000A ?C0003:
- 000A DFF6 DJNZ R7,?C0001
- ; SOURCE LINE # 13
- 000C ?C0010:
- 000C 22 RET
- ; FUNCTION delay500ms (END)
復(fù)制代碼
R0~R7,是8個(gè)工作寄存器。
每個(gè)寄存器,可存儲(chǔ) 8 位數(shù),即:0~255。
R0~R7就和普通寄存器一樣用就行,只不過代碼的速度要比普通寄存器快一些。
|
|