📄 delay1ms.lst
字号:
A51 MACRO ASSEMBLER DELAY1MS 11/06/2008 01:10:39 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN delay1ms.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE a51\delay1ms.a51 SET(SMALL) DEBUG PRINT(.\delay1ms.lst) OBJECT(delay1ms.ob
j) EP
LOC OBJ LINE SOURCE
1
2
3 NAME DELAY1MS
4 PUBLIC ES51_DELAY1MS
5
6 ES51 segment code
---- 7 RSEG ES51
8
0000 9 ES51_DELAY1MS:
10 ; 延时1毫秒;1000微妙 [假设时钟为12MHZ];
11 ; 此延时程序算上调用指令[LCALL]和返回指令[RET];
12 ; 2+1+[(3*32)+1+2]*10+1+2*2+2 = 1000us
13 ; LCALL DELAY1MS ; 2
0000 790A 14 MOV R1,#10 ; 1
0002 15 LOOP_NEXT:
0002 7820 16 MOV R0,#32 ; 1
0004 17 LOOP:
0004 00 18 NOP ;
0005 D8FD 19 DJNZ R0,LOOP ; (2+1)*32 = 96
0007 D9F9 20 DJNZ R1,LOOP_NEXT ; (96+1+2)*10 = 990
21
0009 7802 22 MOV R0,#2 ; 1
000B D8FE 23 DJNZ R0,$ ; 2*2
000D 22 24 RET ; 2 ;1+4+2=7
25
26 END
A51 MACRO ASSEMBLER DELAY1MS 11/06/2008 01:10:39 PAGE 2
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY1MS . . . . . N NUMB -----
ES51 . . . . . . . C SEG 000EH REL=UNIT
ES51_DELAY1MS. . . C ADDR 0000H R SEG=ES51
LOOP . . . . . . . C ADDR 0004H R SEG=ES51
LOOP_NEXT. . . . . C ADDR 0002H R SEG=ES51
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -