📄 delay.ls1
字号:
A51 MACRO ASSEMBLER DELAY 05/02/2009 18:09:26 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN delay.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\keil\C51\BIN\A51.EXE delay.src PR(.\delay.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\delay.SRC generated from: delay.c
2 ; COMPILER INVOKED BY:
3 ; D:\Program Files\keil\C51\BIN\C51.EXE delay.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
SRC(.\delay.SRC)
4
5
6 NAME DELAY
7
8 ?PR?long_delay?DELAY SEGMENT CODE INBLOCK
9 ?PR?short_delay?DELAY SEGMENT CODE INBLOCK
10 ?PR?_delay1ms?DELAY SEGMENT CODE INBLOCK
11 PUBLIC _delay1ms
12 PUBLIC short_delay
13 PUBLIC long_delay
14 ; #include<intrins.h>
15 ; void long_delay(void)
16
---- 17 RSEG ?PR?long_delay?DELAY
0000 18 long_delay:
19 ; SOURCE LINE # 2
20 ; {
21 ; SOURCE LINE # 3
22 ; #pragma asm
23 ; LONGDELAY: MOV R5,#125//延时约250us
0000 7D7D 24 LONGDELAY: MOV R5,#125
25 ; DJNZ R5,$
0002 DDFE 26 DJNZ R5,$
27 ; #pragma endasm
28 ; }
29 ; SOURCE LINE # 8
0004 22 30 RET
31 ; END OF long_delay
32
33 ; void short_delay(void)
34
---- 35 RSEG ?PR?short_delay?DELAY
0000 36 short_delay:
37 ; SOURCE LINE # 9
38 ; {
39 ; SOURCE LINE # 10
40 ; #pragma asm
41 ; SHORTDELAY: MOV R6,#50 //延时约100us
0000 7E32 42 SHORTDELAY: MOV R6,#50
43 ; DJNZ R6,$
0002 DEFE 44 DJNZ R6,$
45 ; #pragma endasm
46 ; }
47 ; SOURCE LINE # 15
0004 22 48 RET
49 ; END OF short_delay
50
51 ; void delay1ms(unsigned int ms)
52
---- 53 RSEG ?PR?_delay1ms?DELAY
0000 54 _delay1ms:
55 USING 0
56 ; SOURCE LINE # 16
57 ;---- Variable 'ms?240' assigned to Register 'R6/R7' ----
A51 MACRO ASSEMBLER DELAY 05/02/2009 18:09:26 PAGE 2
58 ; {
59 ; SOURCE LINE # 17
60 ; unsigned char i,j;
61 ; for(i=0;i<ms;i++)
62 ; SOURCE LINE # 19
63 ;---- Variable 'i?241' assigned to Register 'R5' ----
0000 E4 64 CLR A
0001 FD 65 MOV R5,A
0002 66 ?C0003:
0002 ED 67 MOV A,R5
0003 C3 68 CLR C
0004 9F 69 SUBB A,R7
0005 E4 70 CLR A
0006 9E 71 SUBB A,R6
0007 500B 72 JNC ?C0009
73 ; for(j=0;j<200;j++) //执行时间约1ms
74 ; SOURCE LINE # 20
75 ;---- Variable 'j?242' assigned to Register 'R4' ----
0009 E4 76 CLR A
000A FC 77 MOV R4,A
000B 78 ?C0006:
79 ; {
80 ; SOURCE LINE # 21
81 ; _nop_();
82 ; SOURCE LINE # 22
000B 00 83 NOP
84 ; _nop_();
85 ; SOURCE LINE # 23
000C 00 86 NOP
87 ; }
88 ; SOURCE LINE # 24
000D 0C 89 INC R4
000E BCC8FA 90 CJNE R4,#0C8H,?C0006
0011 91 ?C0005:
0011 0D 92 INC R5
0012 80EE 93 SJMP ?C0003
94 ; } ; SOURCE LINE # 25
0014 95 ?C0009:
0014 22 96 RET
97 ; END OF _delay1ms
98
99 END
A51 MACRO ASSEMBLER DELAY 05/02/2009 18:09:26 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0003. . . . . . . . C ADDR 0002H R SEG=?PR?_DELAY1MS?DELAY
?C0005. . . . . . . . C ADDR 0011H R SEG=?PR?_DELAY1MS?DELAY
?C0006. . . . . . . . C ADDR 000BH R SEG=?PR?_DELAY1MS?DELAY
?C0009. . . . . . . . C ADDR 0014H R SEG=?PR?_DELAY1MS?DELAY
?PR?LONG_DELAY?DELAY. C SEG 0005H REL=INBLOCK
?PR?SHORT_DELAY?DELAY C SEG 0005H REL=INBLOCK
?PR?_DELAY1MS?DELAY . C SEG 0015H REL=INBLOCK
DELAY . . . . . . . . N NUMB -----
LONGDELAY . . . . . . C ADDR 0000H R SEG=?PR?LONG_DELAY?DELAY
LONG_DELAY. . . . . . C ADDR 0000H R SEG=?PR?LONG_DELAY?DELAY
SHORTDELAY. . . . . . C ADDR 0000H R SEG=?PR?SHORT_DELAY?DELAY
SHORT_DELAY . . . . . C ADDR 0000H R SEG=?PR?SHORT_DELAY?DELAY
_DELAY1MS . . . . . . C ADDR 0000H R SEG=?PR?_DELAY1MS?DELAY
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -