📄 delay.lis
字号:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile C:\BJQD\delay.c
0000 .dbfunc e delay_ms _delay_ms fV
0000 ; j -> R20,R21
0000 ; time -> R16,R17
.even
0000 _delay_ms::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 6
0004 ;
0004 ; /****************************************************
0004 ; 毫秒延时函数,对应晶振频率为8MHZ
0004 ; *****************************************************/
0004 ; void delay_ms(unsigned int time)
0004 ; {
0004 L2:
0004 .dbline 9
0004 ; unsigned int j;
0004 ; do
0004 ; {
0004 .dbline 10
0004 ; time--;
0004 0150 subi R16,1
0006 1040 sbci R17,0
0008 .dbline 11
0008 41E0 ldi R20,1
000A 50E0 ldi R21,0
000C 02C0 xjmp L8
000E L5:
000E .dbline 11
000E L6:
000E .dbline 11
000E 4F5F subi R20,255 ; offset = 1
0010 5F4F sbci R21,255
0012 L8:
0012 .dbline 11
0012 ; for (j=1;j<=200;j++);
0012 88EC ldi R24,200
0014 90E0 ldi R25,0
0016 8417 cp R24,R20
0018 9507 cpc R25,R21
001A C8F7 brsh L5
001C .dbline 12
001C ; }
001C L3:
001C .dbline 13
001C ; while (time>1);
001C 81E0 ldi R24,1
001E 90E0 ldi R25,0
0020 8017 cp R24,R16
0022 9107 cpc R25,R17
0024 78F3 brlo L2
0026 .dbline -2
0026 L1:
0026 0E940000 xcall pop_gset1
002A .dbline 0 ; func end
002A 0895 ret
002C .dbsym r j 20 i
002C .dbsym r time 16 i
002C .dbend
002C .dbfunc e delay_us _delay_us fV
002C ; j -> <dead>
002C ; time -> R16,R17
.even
002C _delay_us::
002C .dbline -1
002C .dbline 20
002C ; }
002C ;
002C ; /***************************************
002C ; 微秒延时程序,对应晶振频率为8MHZ
002C ; ***************************************/
002C ; void delay_us(unsigned int time)
002C ; {
002C L10:
002C .dbline 23
002C ; unsigned int j;
002C ; do
002C ; {
002C .dbline 24
002C ; time--;
002C 0150 subi R16,1
002E 1040 sbci R17,0
0030 .dbline 25
0030 ; }
0030 L11:
0030 .dbline 26
0030 ; while (time>0);
0030 0030 cpi R16,0
0032 0107 cpc R16,R17
0034 D9F7 brne L10
0036 X0:
0036 .dbline -2
0036 L9:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbsym l j 1 i
0038 .dbsym r time 16 i
0038 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -