📄 main.s
字号:
.module main.c
.area lit(rom, con, rel)
_Tab::
.byte 33,249
.byte 19,'Q
.byte 201,'E
.byte 5,241
.byte 1,'A
.byte 129,13
.byte 39,25
.byte 7,135
.dbfile C:\ATMega8515\看门狗/ForATmega8515.h
.dbsym e Tab _Tab A[16:16]kc
.area data(ram, con, rel)
.dbfile C:\ATMega8515\看门狗/ForATmega8515.h
_shuma::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile C:\ATMega8515\看门狗/ForATmega8515.h
.dbfile C:\ATMega8515\看门狗\main.c
.dbsym e shuma _shuma c
.area text(rom, con, rel)
.dbfile C:\ATMega8515\看门狗\main.c
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 8
; #include <iom8515v.h>
; #include"ForATmega8515.h"
;
; void display();
; void delay(uint ticks);
; uchar shuma=0;
; void main()
; {
.dbline 9
; init_devices();
rcall _init_devices
rjmp L3
L2:
.dbline 11
.dbline 12
rcall _display
.dbline 13
ldi R24,24
out 0x21,R24
.dbline 14
clr R2
out 0x21,R2
.dbline 15
L3:
.dbline 10
rjmp L2
X0:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.dbfunc e display _display fV
.even
_display::
.dbline -1
.dbline 21
; while(1)
; {
; display();
; WDTCR=(1<<WDCE)|(1<<WDE);//
; WDTCR=0; //清看门狗
; }
;
;
; }
;
; void display()
; {
.dbline 22
; PORTA=Tab[shuma>>4];
ldi R24,<_Tab
ldi R25,>_Tab
lds R30,_shuma
clr R31
asr R31
ror R30
asr R31
ror R30
asr R31
ror R30
asr R31
ror R30
add R30,R24
adc R31,R25
lpm R30,Z
out 0x1b,R30
.dbline 23
; PORTC&=~SEG0;
cbi 0x15,7
.dbline 24
; delay(1);
ldi R16,1
ldi R17,0
rcall _delay
.dbline 25
; PORTC|=SEG0;
sbi 0x15,7
.dbline 27
; /////////////////
; PORTA=Tab[shuma&0x0f];
ldi R24,<_Tab
ldi R25,>_Tab
lds R30,_shuma
clr R31
andi R30,15
andi R31,0
add R30,R24
adc R31,R25
lpm R30,Z
out 0x1b,R30
.dbline 28
; PORTC&=~SEG1;
cbi 0x15,6
.dbline 29
; delay(1);
ldi R16,1
ldi R17,0
rcall _delay
.dbline 30
; PORTC|=SEG1;
sbi 0x15,6
.dbline -2
L5:
.dbline 0 ; func end
ret
.dbend
.dbfunc e delay _delay fV
; x -> R20
; ticks -> R16,R17
.even
_delay::
rcall push_gset1
.dbline -1
.dbline 37
;
;
; }
;
;
; void delay(uint ticks)
; {
.dbline 39
rjmp L10
L7:
.dbline 39
ldi R20,100
rjmp L14
L11:
.dbline 39
L12:
.dbline 39
dec R20
L14:
.dbline 39
tst R20
brne L11
L8:
.dbline 39
subi R16,1
sbci R17,0
L10:
.dbline 39
; uchar x;
; for(;ticks!=0;ticks--)for(x=100;x!=0;x--);
cpi R16,0
cpc R16,R17
brne L7
X1:
.dbline -2
L6:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r x 20 c
.dbsym r ticks 16 i
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -