📄 seg.lis
字号:
.module seg.c
.area lit(rom, con, rel)
0000 L2:
0000 3F06 .byte 63,6
0002 5B4F .byte 91,'O
0004 666D .byte 'f,'m
0006 7D07 .byte 125,7
0008 7F6F .byte 127,'o
000A 777C .byte 'w,124
000C 395E .byte 57,94
000E 7971 .byte 'y,'q
0010 3F06 .byte 63,6
0012 5B4F .byte 91,'O
0014 666D .byte 'f,'m
0016 7D07 .byte 125,7
0018 7F6F .byte 127,'o
001A 777C .byte 'w,124
001C 395E .byte 57,94
001E 7971 .byte 'y,'q
.area text(rom, con, rel)
0000 .dbfile C:\DOCUME~1\charon\MYDOCU~1\AVR\NRF905\seg.c
0000 .dbfunc e seg _seg fV
0000 ; seg_7 -> y+0
0000 ; num -> R20
.even
0000 _seg::
0000 0E940000 xcall push_gset1
0004 402F mov R20,R16
0006 A097 sbiw R28,32
0008 .dbline -1
0008 .dbline 4
0008 ; #include <iom16v.h>
0008 ;
0008 ; void seg(unsigned char num)
0008 ; {
0008 .dbline 7
0008 ;
0008 ; unsigned char seg_7[]= //0~9
0008 ; {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71,
0008 80E0 ldi R24,<L2
000A 90E0 ldi R25,>L2
000C FE01 movw R30,R28
000E 00E2 ldi R16,32
0010 10E0 ldi R17,0
0012 FA93 st -y,R31
0014 EA93 st -y,R30
0016 9A93 st -y,R25
0018 8A93 st -y,R24
001A 0E940000 xcall asgncblk
001E .dbline 9
001E ; 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X77,0X7C,0X39,0X5E,0X79,0X71};
001E ; PORTA=seg_7[num];
001E CE01 movw R24,R28
0020 E42F mov R30,R20
0022 FF27 clr R31
0024 E80F add R30,R24
0026 F91F adc R31,R25
0028 2080 ldd R2,z+0
002A 2BBA out 0x1b,R2
002C .dbline -2
002C L1:
002C A096 adiw R28,32
002E 0E940000 xcall pop_gset1
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbsym l seg_7 0 A[32:32]c
0034 .dbsym r num 20 c
0034 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -