📄 delay.lis
字号:
.module delay.c
.area text(rom, con, rel)
0000 .dbfile D:\桌面\interrupt_wake_keyboard_4-4\delay.c
0000 .dbfunc e delay_us _delay_us fV
0000 ; time -> R16,R17
.even
0000 _delay_us::
0000 .dbline -1
0000 .dbline 5
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; extern void delay_us (int time);
0000 ; void delay_us (int time)//微秒级延时
0000 ; {do
0000 L2:
0000 .dbline 6
0000 ; time--;
0000 0150 subi R16,1
0002 1040 sbci R17,0
0004 L3:
0004 .dbline 7
0004 ; while(time>0);
0004 2224 clr R2
0006 3324 clr R3
0008 2016 cp R2,R16
000A 3106 cpc R3,R17
000C CCF3 brlt L2
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r time 16 I
0010 .dbend
0010 .dbfunc e delay_ms _delay_ms fV
0010 ; time -> R20,R21
.even
0010 _delay_ms::
0010 0E940000 xcall push_gset1
0014 A801 movw R20,R16
0016 .dbline -1
0016 .dbline 10
0016 ; }
0016 ; extern void delay_ms (int time)//毫秒级延时
0016 ; {for(;time>0;time--)
0016 .dbline 10
0016 05C0 xjmp L9
0018 L6:
0018 .dbline 11
0018 08EE ldi R16,1000
001A 13E0 ldi R17,3
001C F1DF xcall _delay_us
001E L7:
001E .dbline 10
001E 4150 subi R20,1
0020 5040 sbci R21,0
0022 L9:
0022 .dbline 10
0022 2224 clr R2
0024 3324 clr R3
0026 2416 cp R2,R20
0028 3506 cpc R3,R21
002A B4F3 brlt L6
002C .dbline -2
002C L5:
002C 0E940000 xcall pop_gset1
0030 .dbline 0 ; func end
0030 0895 ret
0032 .dbsym r time 20 I
0032 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -