📄 seg.s
字号:
.module seg.c
.area lit(rom, con, rel)
L2:
.byte 63,6
.byte 91,'O
.byte 'f,'m
.byte 125,7
.byte 127,'o
.byte 'w,124
.byte 57,94
.byte 'y,'q
.byte 63,6
.byte 91,'O
.byte 'f,'m
.byte 125,7
.byte 127,'o
.byte 'w,124
.byte 57,94
.byte 'y,'q
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\charon\MYDOCU~1\AVR\NRF905\seg.c
.dbfunc e seg _seg fV
; seg_7 -> y+0
; num -> R20
.even
_seg::
xcall push_gset1
mov R20,R16
sbiw R28,32
.dbline -1
.dbline 4
; #include <iom16v.h>
;
; void seg(unsigned char num)
; {
.dbline 7
;
; unsigned char seg_7[]= //0~9
; {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71,
ldi R24,<L2
ldi R25,>L2
movw R30,R28
ldi R16,32
ldi R17,0
st -y,R31
st -y,R30
st -y,R25
st -y,R24
xcall asgncblk
.dbline 9
; 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71};
; PORTA=seg_7[num];
movw R24,R28
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
out 0x1b,R2
.dbline -2
L1:
adiw R28,32
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym l seg_7 0 A[32:32]c
.dbsym r num 20 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -