📄 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\LED/ForATmega8515.h
0010 .dbsym e Tab _Tab A[16:16]kc
.area text(rom, con, rel)
0000 .dbfile C:\ATMega8515\LED/ForATmega8515.h
0000 .dbfile C:\ATMega8515\LED\main.c
0000 .dbfunc e main _main fV
0000 ; leddata -> R20
.even
0000 _main::
0000 .dbline -1
0000 .dbline 8
0000 ; #include <iom8515v.h>
0000 ; #include"ForATmega8515.h"
0000 ;
0000 ;
0000 ; void delay(uint ticks);
0000 ;
0000 ; void main()
0000 ; {
0000 .dbline 9
0000 ; uchar leddata=1;
0000 41E0 ldi R20,1
0002 .dbline 10
0002 ; init_devices();
0002 00D0 rcall _init_devices
0004 .dbline 11
0004 ; PORTC&=~LED; //开LED显示
0004 AD98 cbi 0x15,5
0006 0AC0 rjmp L3
0008 L2:
0008 .dbline 13
0008 ; while(1)
0008 ; {
0008 .dbline 14
0008 ; PORTA=~leddata;//输出数据
0008 242E mov R2,R20
000A 2094 com R2
000C 2BBA out 0x1b,R2
000E .dbline 15
000E ; leddata<<=1; //LED左移一位
000E 440F lsl R20
0010 .dbline 16
0010 ; delay(5000); //延时
0010 08E8 ldi R16,5000
0012 13E1 ldi R17,19
0014 05D0 rcall _delay
0016 .dbline 17
0016 ; if(leddata==0)leddata=1;
0016 4423 tst R20
0018 09F4 brne L5
001A .dbline 17
001A 41E0 ldi R20,1
001C L5:
001C .dbline 18
001C L3:
001C .dbline 12
001C F5CF rjmp L2
001E X0:
001E .dbline -2
001E L1:
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbsym r leddata 20 c
0020 .dbend
0020 .dbfunc e delay _delay fV
0020 ; i -> R20
0020 ; ticks -> R16,R17
.even
0020 _delay::
0020 00D0 rcall push_gset1
0022 .dbline -1
0022 .dbline 23
0022 ; }
0022 ; }
0022 ;
0022 ;
0022 ; void delay(uint ticks)
0022 ; {
0022 .dbline 25
0022 07C0 rjmp L11
0024 L8:
0024 .dbline 25
0024 48EC ldi R20,200
0026 01C0 rjmp L15
0028 L12:
0028 .dbline 25
0028 L13:
0028 .dbline 25
0028 4A95 dec R20
002A L15:
002A .dbline 25
002A 4423 tst R20
002C E9F7 brne L12
002E L9:
002E .dbline 25
002E 0150 subi R16,1
0030 1040 sbci R17,0
0032 L11:
0032 .dbline 25
0032 ; uchar i;
0032 ; for(;ticks!=0;ticks--)for(i=200;i!=0;i--);
0032 0030 cpi R16,0
0034 0107 cpc R16,R17
0036 B1F7 brne L8
0038 X1:
0038 .dbline -2
0038 L7:
0038 00D0 rcall pop_gset1
003A .dbline 0 ; func end
003A 0895 ret
003C .dbsym r i 20 c
003C .dbsym r ticks 16 i
003C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -