📄 delay.lis
字号:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile F:\UART_TO_TWI\delay.c
0000 .dbfunc e delay _delay fV
0000 ; d -> R16,R17
.even
0000 _delay::
0000 .dbline -1
0000 .dbline 5
0000 ; #include <iom8v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void delay(unsigned int d) //延时
0000 ; {
0000 01C0 rjmp L3
0002 L2:
0002 .dbline 7
0002 A895 wdr
0004 L3:
0004 .dbline 6
0004 ; while (d--)
0004 1801 movw R2,R16
0006 0150 subi R16,1
0008 1040 sbci R17,0
000A 2220 tst R2
000C D1F7 brne L2
000E 3320 tst R3
0010 C1F7 brne L2
0012 X0:
0012 .dbline -2
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r d 16 i
0014 .dbend
0014 .dbfunc e delay_us _delay_us fV
0014 ; time -> R16,R17
.even
0014 _delay_us::
0014 .dbline -1
0014 .dbline 11
0014 ; WDR(); //喂狗
0014 ; }
0014 ; /* 微秒级延时程序 */
0014 ; void delay_us(int time)
0014 ; {
0014 L6:
0014 .dbline 13
0014 ; do
0014 ; {
0014 .dbline 14
0014 ; time--;
0014 0150 subi R16,1
0016 1040 sbci R17,0
0018 .dbline 15
0018 ; }
0018 L7:
0018 .dbline 16
0018 ; while (time>1)WDR();
0018 81E0 ldi R24,1
001A 90E0 ldi R25,0
001C 8017 cp R24,R16
001E 9107 cpc R25,R17
0020 CCF3 brlt L6
0022 A895 wdr
0024 .dbline -2
0024 L5:
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbsym r time 16 I
0026 .dbend
0026 .dbfunc e delay_ms _delay_ms fV
0026 ; time -> R20,R21
.even
0026 _delay_ms::
0026 00D0 rcall push_gset1
0028 A801 movw R20,R16
002A .dbline -1
002A .dbline 20
002A ; }
002A ; /* 毫秒级延时程序 */
002A ; void delay_ms(unsigned int time)
002A ; {
002A 05C0 rjmp L11
002C L10:
002C .dbline 22
002C .dbline 23
002C 08EE ldi R16,1000
002E 13E0 ldi R17,3
0030 F1DF rcall _delay_us
0032 .dbline 24
0032 4150 subi R20,1
0034 5040 sbci R21,0
0036 .dbline 25
0036 L11:
0036 .dbline 21
0036 ; while(time!=0)
0036 4030 cpi R20,0
0038 4507 cpc R20,R21
003A C1F7 brne L10
003C X1:
003C .dbline -2
003C L9:
003C 00D0 rcall pop_gset1
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbsym r time 20 i
0040 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -