📄 delay.s
字号:
.module Delay.c
.area text(rom, con, rel)
.dbfile C:\AVR\M\1\Delay.c
.dbfunc e delay_ms _delay_ms fV
; i -> R10,R11
; t -> y+10
.even
_delay_ms::
xcall push_arg4
xcall push_gset3
sbiw R28,4
.dbline -1
.dbline 6
;
;
; #include "Delay.h"
;
; void delay_ms(unsigned long int t)
; {
xjmp L3
L2:
.dbline 9
; unsigned short int i;
; while(t--)
; {
.dbline 10
; i=2000;
ldi R24,2000
ldi R25,7
movw R10,R24
L5:
.dbline 11
L6:
.dbline 11
movw R2,R10
movw R24,R2
sbiw R24,1
movw R10,R24
tst R2
brne L5
tst R3
brne L5
X0:
.dbline 12
L3:
.dbline 8
movw R30,R28
ldd R2,z+10
ldd R3,z+11
ldd R4,z+12
ldd R5,z+13
movw R30,R28
std z+0,R2
std z+1,R3
std z+2,R4
std z+3,R5
ldi R20,1
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
sub R2,R20
sbc R3,R21
sbc R4,R22
sbc R5,R23
movw R30,R28
std z+10,R2
std z+11,R3
std z+12,R4
std z+13,R5
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
cp R2,R20
cpc R3,R21
cpc R4,R22
cpc R5,R23
breq X1
xjmp L2
X1:
.dbline -2
L1:
adiw R28,4
xcall pop_gset3
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r i 10 s
.dbsym l t 10 l
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -