📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile D:\AVR\我的程序\流水灯和跑马灯实验/cfg.h
.dbfunc e delay_ms _delay_ms fV
; i -> R20,R21
; time -> R16,R17
.even
_delay_ms::
xcall push_gset1
.dbline -1
.dbline 10
; /***********************************
; *实验目的:熟悉I/O操作及流水等编程
; *设 计:萧联珠
; *日 期:2007-11-17
; ************************************/
; #include <iom16v.h>
; #include "cfg.h"
;
; void main()
; {
.dbline 12
; port_init();
; while(1)
xjmp L5
L2:
.dbline 13
clr R20
clr R21
L6:
.dbline 13
L7:
.dbline 13
subi R20,255 ; offset = 1
sbci R21,255
.dbline 13
cpi R20,232
ldi R30,3
cpc R21,R30
brlt L6
L3:
.dbline 12
subi R16,1
sbci R17,0
L5:
.dbline 12
clr R2
clr R3
cp R2,R16
cpc R3,R17
brlt L2
.dbline -2
L1:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 I
.dbsym r time 16 I
.dbend
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 18
; {
; display();
; }
; }
;
;
.dbline 19
;
ldi R24,255
out 0x17,R24
.dbline 20
;
out 0x18,R24
.dbline -2
L10:
.dbline 0 ; func end
ret
.dbend
.dbfunc e display _display fV
; index -> R20,R21
.even
_display::
xcall push_gset1
.dbline -1
.dbline 25
;
;
;
;
;
.dbline 27
;
;
clr R20
clr R21
L12:
.dbline 28
.dbline 29
ldi R16,1
ldi R17,0
movw R18,R20
xcall lsl16
movw R2,R16
com R2
com R3
out 0x18,R2
.dbline 30
ldi R16,100
ldi R17,0
xcall _delay_ms
.dbline 31
L13:
.dbline 27
subi R20,255 ; offset = 1
sbci R21,255
.dbline 27
cpi R20,8
ldi R30,0
cpc R21,R30
brlt L12
.dbline 32
;
;
;
;
;
ldi R20,8
ldi R21,0
L16:
.dbline 33
.dbline 34
movw R18,R20
subi R18,2
sbci R19,0
ldi R16,1
ldi R17,0
xcall lsl16
movw R2,R16
com R2
com R3
out 0x18,R2
.dbline 35
ldi R16,100
ldi R17,0
xcall _delay_ms
.dbline 36
L17:
.dbline 32
subi R20,1
sbci R21,0
.dbline 32
ldi R24,2
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L16
.dbline -2
L11:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r index 20 I
.dbend
.dbfile D:\AVR\我的程序\流水灯和跑马灯实验\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 10
.dbline 11
xcall _port_init
xjmp L22
L21:
.dbline 13
.dbline 14
xcall _display
.dbline 15
L22:
.dbline 12
xjmp L21
X0:
.dbline -2
L20:
.dbline 0 ; func end
ret
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -