📄 main.lis
字号:
.module main.c
.area lit(rom, con, rel)
0000 _Tab::
0000 21F9 .byte 33,249
0002 1351 .byte 19,'Q
0004 C945 .byte 201,'E
0006 05F1 .byte 5,241
0008 0141 .byte 1,'A
000A 810D .byte 129,13
000C 2719 .byte 39,25
000E 0787 .byte 7,135
0010 .dbfile C:\ATMega8515\看门狗/ForATmega8515.h
0010 .dbsym e Tab _Tab A[16:16]kc
.area data(ram, con, rel)
0000 .dbfile C:\ATMega8515\看门狗/ForATmega8515.h
0000 _shuma::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile C:\ATMega8515\看门狗/ForATmega8515.h
0001 .dbfile C:\ATMega8515\看门狗\main.c
0001 .dbsym e shuma _shuma c
.area text(rom, con, rel)
0000 .dbfile C:\ATMega8515\看门狗\main.c
0000 .dbfunc e main _main fV
.even
0000 _main::
0000 .dbline -1
0000 .dbline 8
0000 ; #include <iom8515v.h>
0000 ; #include"ForATmega8515.h"
0000 ;
0000 ; void display();
0000 ; void delay(uint ticks);
0000 ; uchar shuma=0;
0000 ; void main()
0000 ; {
0000 .dbline 9
0000 ; init_devices();
0000 00D0 rcall _init_devices
0002 05C0 rjmp L3
0004 L2:
0004 .dbline 11
0004 .dbline 12
0004 06D0 rcall _display
0006 .dbline 13
0006 88E1 ldi R24,24
0008 81BD out 0x21,R24
000A .dbline 14
000A 2224 clr R2
000C 21BC out 0x21,R2
000E .dbline 15
000E L3:
000E .dbline 10
000E FACF rjmp L2
0010 X0:
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbend
0012 .dbfunc e display _display fV
.even
0012 _display::
0012 .dbline -1
0012 .dbline 21
0012 ; while(1)
0012 ; {
0012 ; display();
0012 ; WDTCR=(1<<WDCE)|(1<<WDE);//
0012 ; WDTCR=0; //清看门狗
0012 ; }
0012 ;
0012 ;
0012 ; }
0012 ;
0012 ; void display()
0012 ; {
0012 .dbline 22
0012 ; PORTA=Tab[shuma>>4];
0012 80E0 ldi R24,<_Tab
0014 90E0 ldi R25,>_Tab
0016 E0910000 lds R30,_shuma
001A FF27 clr R31
001C F595 asr R31
001E E795 ror R30
0020 F595 asr R31
0022 E795 ror R30
0024 F595 asr R31
0026 E795 ror R30
0028 F595 asr R31
002A E795 ror R30
002C E80F add R30,R24
002E F91F adc R31,R25
0030 E491 lpm R30,Z
0032 EBBB out 0x1b,R30
0034 .dbline 23
0034 ; PORTC&=~SEG0;
0034 AF98 cbi 0x15,7
0036 .dbline 24
0036 ; delay(1);
0036 01E0 ldi R16,1
0038 10E0 ldi R17,0
003A 12D0 rcall _delay
003C .dbline 25
003C ; PORTC|=SEG0;
003C AF9A sbi 0x15,7
003E .dbline 27
003E ; /////////////////
003E ; PORTA=Tab[shuma&0x0f];
003E 80E0 ldi R24,<_Tab
0040 90E0 ldi R25,>_Tab
0042 E0910000 lds R30,_shuma
0046 FF27 clr R31
0048 EF70 andi R30,15
004A F070 andi R31,0
004C E80F add R30,R24
004E F91F adc R31,R25
0050 E491 lpm R30,Z
0052 EBBB out 0x1b,R30
0054 .dbline 28
0054 ; PORTC&=~SEG1;
0054 AE98 cbi 0x15,6
0056 .dbline 29
0056 ; delay(1);
0056 01E0 ldi R16,1
0058 10E0 ldi R17,0
005A 02D0 rcall _delay
005C .dbline 30
005C ; PORTC|=SEG1;
005C AE9A sbi 0x15,6
005E .dbline -2
005E L5:
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbend
0060 .dbfunc e delay _delay fV
0060 ; x -> R20
0060 ; ticks -> R16,R17
.even
0060 _delay::
0060 00D0 rcall push_gset1
0062 .dbline -1
0062 .dbline 37
0062 ;
0062 ;
0062 ; }
0062 ;
0062 ;
0062 ; void delay(uint ticks)
0062 ; {
0062 .dbline 39
0062 07C0 rjmp L10
0064 L7:
0064 .dbline 39
0064 44E6 ldi R20,100
0066 01C0 rjmp L14
0068 L11:
0068 .dbline 39
0068 L12:
0068 .dbline 39
0068 4A95 dec R20
006A L14:
006A .dbline 39
006A 4423 tst R20
006C E9F7 brne L11
006E L8:
006E .dbline 39
006E 0150 subi R16,1
0070 1040 sbci R17,0
0072 L10:
0072 .dbline 39
0072 ; uchar x;
0072 ; for(;ticks!=0;ticks--)for(x=100;x!=0;x--);
0072 0030 cpi R16,0
0074 0107 cpc R16,R17
0076 B1F7 brne L7
0078 X1:
0078 .dbline -2
0078 L6:
0078 00D0 rcall pop_gset1
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r x 20 c
007C .dbsym r ticks 16 i
007C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -