📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\avr\+++精华+++\数码管/delay.h
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 15
0000 ; /*****************************************
0000 ; * 数码管演示程序 *
0000 ; * 功 能:数码管 *
0000 ; * 时钟频率:内部1M *
0000 ; * 设 计:莫锦攀 *
0000 ; * 修改日期:2007年05月30日 *
0000 ; * 编译环境:ICC-AVR6.31 *
0000 ; * 实验环境:M16学习板 *
0000 ; * 使用端口:PA0~PA3 ,PB0~PB7 *
0000 ; *****************************************/
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include "delay.h"
0000 ; #include "led.h"
0000 ;
0000 .dbline 16
0000 ; #define uchar unsigned char
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e delay_nus _delay_nus fV
0004 ; i -> R20,R21
0004 ; n -> R22,R23
.even
0004 _delay_nus::
0004 0E940000 xcall push_gset2
0008 B801 movw R22,R16
000A .dbline -1
000A .dbline 20
000A ; #define uint unsigned int
000A ;
000A ;
000A ;
000A .dbline 21
000A ;
000A 4427 clr R20
000C 5527 clr R21
000E .dbline 22
000E ;
000E 03C0 xjmp L6
0010 L3:
0010 .dbline 23
0010 F7DF xcall _delay_1us
0012 L4:
0012 .dbline 22
0012 4F5F subi R20,255 ; offset = 1
0014 5F4F sbci R21,255
0016 L6:
0016 .dbline 22
0016 4617 cp R20,R22
0018 5707 cpc R21,R23
001A D0F3 brlo L3
001C .dbline -2
001C L2:
001C 0E940000 xcall pop_gset2
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r i 20 i
0022 .dbsym r n 22 i
0022 .dbend
0022 .dbfunc e delay_1ms _delay_1ms fV
0022 ; i -> R16,R17
.even
0022 _delay_1ms::
0022 .dbline -1
0022 .dbline 27
0022 ;
0022 ;
0022 ;
0022 ;
0022 ; void main(void)
0022 .dbline 29
0022 0027 clr R16
0024 1127 clr R17
0026 02C0 xjmp L11
0028 L8:
0028 .dbline 29
0028 L9:
0028 .dbline 29
0028 0F5F subi R16,255 ; offset = 1
002A 1F4F sbci R17,255
002C L11:
002C .dbline 29
002C ; {
002C ; while(1)
002C 0437 cpi R16,116
002E E4E0 ldi R30,4
0030 1E07 cpc R17,R30
0032 D0F3 brlo L8
0034 .dbline -2
0034 L7:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r i 16 i
0036 .dbend
0036 .dbfunc e delay_nms _delay_nms fV
0036 ; i -> R20,R21
0036 ; n -> R22,R23
.even
0036 _delay_nms::
0036 0E940000 xcall push_gset2
003A B801 movw R22,R16
003C .dbline -1
003C .dbline 33
003C ; {
003C ; LED(1234);
003C ; }
003C ;
003C .dbline 34
003C ;
003C 4427 clr R20
003E 5527 clr R21
0040 .dbline 35
0040 ;
0040 03C0 xjmp L16
0042 L13:
0042 .dbline 36
0042 EFDF xcall _delay_1ms
0044 L14:
0044 .dbline 35
0044 4F5F subi R20,255 ; offset = 1
0046 5F4F sbci R21,255
0048 L16:
0048 .dbline 35
0048 4617 cp R20,R22
004A 5707 cpc R21,R23
004C D0F3 brlo L13
004E .dbline -2
004E L12:
004E 0E940000 xcall pop_gset2
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbsym r i 20 i
0054 .dbsym r n 22 i
0054 .dbend
.area data(ram, con, rel)
0000 .dbfile D:\avr\+++精华+++\数码管/delay.h
0000 _LED_table::
0000 .blkb 2
.area idata
0000 3F06 .byte 63,6
.area data(ram, con, rel)
0002 .dbfile D:\avr\+++精华+++\数码管/delay.h
0002 .blkb 2
.area idata
0002 5B4F .byte 91,'O
.area data(ram, con, rel)
0004 .dbfile D:\avr\+++精华+++\数码管/delay.h
0004 .blkb 2
.area idata
0004 666F .byte 'f,'o
.area data(ram, con, rel)
0006 .dbfile D:\avr\+++精华+++\数码管/delay.h
0006 .blkb 2
.area idata
0006 7D07 .byte 125,7
.area data(ram, con, rel)
0008 .dbfile D:\avr\+++精华+++\数码管/delay.h
0008 .blkb 2
.area idata
0008 7F6F .byte 127,'o
.area data(ram, con, rel)
000A .dbfile D:\avr\+++精华+++\数码管/delay.h
000A .dbfile D:\avr\+++精华+++\数码管/led.h
000A .dbsym e LED_table _LED_table A[10:10]c
000A _LED_dp::
000A .blkb 2
.area idata
000A 0000 .byte 0,0
.area data(ram, con, rel)
000C .dbfile D:\avr\+++精华+++\数码管/led.h
000C .blkb 2
.area idata
000C 0000 .byte 0,0
.area data(ram, con, rel)
000E .dbfile D:\avr\+++精华+++\数码管/led.h
000E .dbsym e LED_dp _LED_dp A[4:4]c
.area text(rom, con, rel)
0054 .dbfile D:\avr\+++精华+++\数码管/led.h
0054 .dbfunc e LED_process _LED_process fV
0054 ; p -> R20,R21
0054 ; i -> R22,R23
.even
0054 _LED_process::
0054 0E940000 xcall push_gset2
0058 A901 movw R20,R18
005A B801 movw R22,R16
005C .dbline -1
005C .dbline 15
005C .dbline 15
005C 28EE ldi R18,1000
005E 33E0 ldi R19,3
0060 8B01 movw R16,R22
0062 0E940000 xcall div16u
0066 FA01 movw R30,R20
0068 0083 std z+0,R16
006A .dbline 16
006A 24E6 ldi R18,100
006C 30E0 ldi R19,0
006E 8B01 movw R16,R22
0070 0E940000 xcall div16u
0074 2AE0 ldi R18,10
0076 30E0 ldi R19,0
0078 0E940000 xcall mod16u
007C FA01 movw R30,R20
007E 0183 std z+1,R16
0080 .dbline 17
0080 2AE0 ldi R18,10
0082 30E0 ldi R19,0
0084 8B01 movw R16,R22
0086 0E940000 xcall div16u
008A 2AE0 ldi R18,10
008C 30E0 ldi R19,0
008E 0E940000 xcall mod16u
0092 FA01 movw R30,R20
0094 0283 std z+2,R16
0096 .dbline 18
0096 2AE0 ldi R18,10
0098 30E0 ldi R19,0
009A 8B01 movw R16,R22
009C 0E940000 xcall mod16u
00A0 FA01 movw R30,R20
00A2 0383 std z+3,R16
00A4 .dbline -2
00A4 L17:
00A4 0E940000 xcall pop_gset2
00A8 .dbline 0 ; func end
00A8 0895 ret
00AA .dbsym r p 20 pc
00AA .dbsym r i 22 i
00AA .dbend
00AA .dbfunc e LED_display _LED_display fV
00AA ; sel -> R20
00AA ; i -> R22
00AA ; p -> R10,R11
.even
00AA _LED_display::
00AA 0E940000 xcall push_gset3
00AE 5801 movw R10,R16
00B0 .dbline -1
00B0 .dbline 25
00B0 .dbline 25
00B0 41E0 ldi R20,1
00B2 .dbline 26
00B2 8FE0 ldi R24,15
00B4 8ABB out 0x1a,R24
00B6 .dbline 27
00B6 8FEF ldi R24,255
00B8 87BB out 0x17,R24
00BA .dbline 28
00BA 6627 clr R22
00BC 13C0 xjmp L22
00BE L19:
00BE .dbline 29
00BE .dbline 29
00BE 4BBB out 0x1b,R20
00C0 .dbline 30
00C0 E62F mov R30,R22
00C2 FF27 clr R31
00C4 EA0D add R30,R10
00C6 FB1D adc R31,R11
00C8 E081 ldd R30,z+0
00CA FF27 clr R31
00CC 80E0 ldi R24,<_LED_table
00CE 90E0 ldi R25,>_LED_table
00D0 E80F add R30,R24
00D2 F91F adc R31,R25
00D4 2080 ldd R2,z+0
00D6 2094 com R2
00D8 28BA out 0x18,R2
00DA .dbline 32
00DA 02E0 ldi R16,2
00DC 10E0 ldi R17,0
00DE ABDF xcall _delay_nms
00E0 .dbline 33
00E0 440F lsl R20
00E2 .dbline 34
00E2 L20:
00E2 .dbline 28
00E2 6395 inc R22
00E4 L22:
00E4 .dbline 28
00E4 6430 cpi R22,4
00E6 58F3 brlo L19
00E8 .dbline -2
00E8 L18:
00E8 0E940000 xcall pop_gset3
00EC .dbline 0 ; func end
00EC 0895 ret
00EE .dbsym r sel 20 c
00EE .dbsym r i 22 c
00EE .dbsym r p 10 pc
00EE .dbend
00EE .dbfunc e LED _LED fV
00EE ; i -> R20,R21
.even
00EE _LED::
00EE 0E940000 xcall push_gset1
00F2 A801 movw R20,R16
00F4 .dbline -1
00F4 .dbline 47
00F4 ;
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 ; }
00F4 .dbline 48
00F4 ; }
00F4 20E0 ldi R18,<_LED_dp
00F6 30E0 ldi R19,>_LED_dp
00F8 8A01 movw R16,R20
00FA ACDF xcall _LED_process
00FC .dbline 49
00FC ; }
00FC 00E0 ldi R16,<_LED_dp
00FE 10E0 ldi R17,>_LED_dp
0100 D4DF xcall _LED_display
0102 .dbline -2
0102 L23:
0102 0E940000 xcall pop_gset1
0106 .dbline 0 ; func end
0106 0895 ret
0108 .dbsym r i 20 i
0108 .dbend
0108 .dbfile D:\avr\+++精华+++\数码管\main.c
0108 .dbfunc e main _main fV
.even
0108 _main::
0108 .dbline -1
0108 .dbline 28
0108 03C0 xjmp L26
010A L25:
010A .dbline 30
010A .dbline 31
010A 02ED ldi R16,1234
010C 14E0 ldi R17,4
010E EFDF xcall _LED
0110 .dbline 32
0110 L26:
0110 .dbline 29
0110 FCCF xjmp L25
0112 X0:
0112 .dbline -2
0112 L24:
0112 .dbline 0 ; func end
0112 0895 ret
0114 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -