📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
.area data(ram, con, rel)
0000 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
0000 _data::
0000 .blkb 2
.area idata
0000 0000 .byte 0,0
.area data(ram, con, rel)
0002 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
0002 .blkb 2
.area idata
0002 0000 .byte 0,0
.area data(ram, con, rel)
0004 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
0004 .dbfile E:\新建文件夹\conter_icc\includes\main.h
0004 .dbsym e data _data A[4:4]c
0004 _CNT::
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile E:\新建文件夹\conter_icc\includes\main.h
0005 .dbsym e CNT _CNT c
0005 _table::
0005 .blkb 2
.area idata
0005 3F06 .byte 63,6
.area data(ram, con, rel)
0007 .dbfile E:\新建文件夹\conter_icc\includes\main.h
0007 .blkb 2
.area idata
0007 5B4F .byte 91,'O
.area data(ram, con, rel)
0009 .dbfile E:\新建文件夹\conter_icc\includes\main.h
0009 .blkb 2
.area idata
0009 666D .byte 'f,'m
.area data(ram, con, rel)
000B .dbfile E:\新建文件夹\conter_icc\includes\main.h
000B .blkb 2
.area idata
000B 7D07 .byte 125,7
.area data(ram, con, rel)
000D .dbfile E:\新建文件夹\conter_icc\includes\main.h
000D .blkb 2
.area idata
000D 7F6F .byte 127,'o
.area data(ram, con, rel)
000F .dbfile E:\新建文件夹\conter_icc\includes\main.h
000F .dbfile E:\新建文件夹\conter_icc\cfile\main.c
000F .dbsym e table _table A[10:10]c
.area text(rom, con, rel)
0000 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
0000 .dbfunc e display _display fV
0000 ; sel -> R20,R21
0000 ; i -> R22
0000 ; p -> R10,R11
.even
0000 _display::
0000 0E940000 xcall push_xgsetF00C
0004 5801 movw R10,R16
0006 .dbline -1
0006 .dbline 24
0006 ; #define MAIN_C
0006 ; #include "includes.h"
0006 ; /***************************************************/
0006 ; /*T0工作于计数方式*/
0006 ; /*计数脉冲从PB0(T0)脚输入*/
0006 ; /***************************************************/
0006 ; //数码管字形表
0006 ; //数码管为公阴极
0006 ; unsigned char table[10] =
0006 ; {
0006 ; 0x3f, //0
0006 ; 0x06, //1
0006 ; 0x5b, //2
0006 ; 0x4f, //3
0006 ; 0x66, //4
0006 ; 0x6d, //5
0006 ; 0x7d, //6
0006 ; 0x07, //7
0006 ; 0x7f, //8
0006 ; 0x6f //9
0006 ; };
0006 ;
0006 ; void display(unsigned char *p)
0006 ; {
0006 .dbline 26
0006 ; unsigned char i;
0006 ; unsigned sel = 0x08;
0006 48E0 ldi R20,8
0008 50E0 ldi R21,0
000A .dbline 27
000A ; for(i=0;i<4;i++)
000A 6627 clr R22
000C 17C0 xjmp L5
000E L2:
000E .dbline 28
000E ; {
000E .dbline 29
000E ; ConPort = ~sel;
000E 1A01 movw R2,R20
0010 2094 com R2
0012 3094 com R3
0014 25BA out 0x15,R2
0016 .dbline 30
0016 ; OutPort = table[p[i]];
0016 E62F mov R30,R22
0018 FF27 clr R31
001A EA0D add R30,R10
001C FB1D adc R31,R11
001E E081 ldd R30,z+0
0020 FF27 clr R31
0022 80E0 ldi R24,<_table
0024 90E0 ldi R25,>_table
0026 E80F add R30,R24
0028 F91F adc R31,R25
002A 2080 ldd R2,z+0
002C 2BBA out 0x1b,R2
002E .dbline 31
002E ; delay_nms(1);
002E 01E0 ldi R16,1
0030 10E0 ldi R17,0
0032 0E940000 xcall _delay_nms
0036 .dbline 32
0036 ; sel = sel>>1;
0036 5695 lsr R21
0038 4795 ror R20
003A .dbline 33
003A ; }
003A L3:
003A .dbline 27
003A 6395 inc R22
003C L5:
003C .dbline 27
003C 6430 cpi R22,4
003E 38F3 brlo L2
0040 X0:
0040 .dbline -2
0040 L1:
0040 .dbline 0 ; func end
0040 0C940000 xjmp pop_xgsetF00C
0044 .dbsym r sel 20 i
0044 .dbsym r i 22 c
0044 .dbsym r p 10 pc
0044 .dbend
0044 .dbfunc e main _main fV
0044 ; load -> R10
.even
0044 _main::
0044 .dbline -1
0044 .dbline 41
0044 ; }
0044 ;
0044 ;
0044 ;
0044 ;
0044 ;
0044 ; void main(void)
0044 ; {
0044 .dbline 43
0044 ; unsigned char load;
0044 ; InitIo();
0044 0E940000 xcall _InitIo
0048 .dbline 44
0048 ; PORTA = 0xff; //点亮测试所有数码管
0048 8FEF ldi R24,255
004A 8BBB out 0x1b,R24
004C .dbline 45
004C ; PORTC = 0x00;
004C 2224 clr R2
004E 25BA out 0x15,R2
0050 .dbline 46
0050 ; delay_nms(10);
0050 0AE0 ldi R16,10
0052 10E0 ldi R17,0
0054 0E940000 xcall _delay_nms
0058 .dbline 47
0058 ; PORTC = 0xff; //熄灭所有数码管
0058 8FEF ldi R24,255
005A 85BB out 0x15,R24
005C .dbline 48
005C ; TCCR0 |= (1<<CS02)|(1<<CS01);//T/C0工作于计数方式,下降沿触发
005C 83B7 in R24,0x33
005E 8660 ori R24,6
0060 83BF out 0x33,R24
0062 .dbline 49
0062 ; TCNT0 = CNT; //计数初值
0062 20900400 lds R2,_CNT
0066 22BE out 0x32,R2
0068 0AC0 xjmp L8
006A L7:
006A .dbline 51
006A ; while(1)
006A ; {
006A .dbline 52
006A ; load = TCNT0;
006A A2B6 in R10,0x32
006C .dbline 53
006C ; process(load,data);
006C 20E0 ldi R18,<_data
006E 30E0 ldi R19,>_data
0070 0A2D mov R16,R10
0072 1127 clr R17
0074 0E940000 xcall _process
0078 .dbline 54
0078 ; display(data);
0078 00E0 ldi R16,<_data
007A 10E0 ldi R17,>_data
007C C1DF xcall _display
007E .dbline 55
007E ; }
007E L8:
007E .dbline 50
007E F5CF xjmp L7
0080 X1:
0080 .dbline -2
0080 L6:
0080 .dbline 0 ; func end
0080 0895 ret
0082 .dbsym r load 10 c
0082 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\新建文件夹\conter_icc\cfile\main.c
0000 _KeyDown::
0000 .blkb 1
0001 .dbfile E:\新建文件夹\conter_icc\includes\main.h
0001 .dbsym e KeyDown _KeyDown c
0001 _KeyUp::
0001 .blkb 1
0002 .dbsym e KeyUp _KeyUp c
0002 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -