📄 解读.s
字号:
adiw R28,2
xcall pop_gset5
adiw R28,2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r x 22 i
.dbsym r y 14 i
.dbsym r j 10 i
.dbsym l l 0 i
.dbsym r k 12 i
.dbsym l tab 12 pkc
.dbend
.dbfunc e Display_Picture32 _Display_Picture32 fV
; i -> <dead>
; x -> R22,R23
; y -> R10,R11
; j -> R20,R21
; l -> y+0
; k -> R14,R15
; tab -> R12,R13
.even
_Display_Picture32::
xcall push_gset5
movw R12,R16
sbiw R28,2
.dbline -1
.dbline 178
;
;
;
;
;
;
;
;
;
.dbline 179
;
clr R0
clr R1
std y+1,R1
std y+0,R0
.dbline 179
ldi R22,128
ldi R23,0
.dbline 181
;
;
clr R20
clr R21
ldi R24,128
ldi R25,0
movw R10,R24
xjmp L83
L80:
.dbline 182
;
.dbline 183
;
ldi R16,54
xcall _WriteCommand
.dbline 184
;
mov R16,R10
xcall _WriteCommand
.dbline 185
;
mov R16,R22
xcall _WriteCommand
.dbline 186
;
ldi R16,48
xcall _WriteCommand
.dbline 187
;
ldi R24,4
ldi R25,0
movw R14,R24
xjmp L85
L84:
.dbline 189
ldd R2,y+0
ldd R3,y+1
movw R24,R2
adiw R24,1
std y+1,R25
std y+0,R24
movw R30,R2
add R30,R12
adc R31,R13
ldd R16,z+0
xcall _WriteData
L85:
.dbline 188
;
movw R2,R14
movw R24,R2
sbiw R24,1
movw R14,R24
tst R2
brne L84
tst R3
brne L84
X6:
.dbline 190
;
;
ldi R24,12
ldi R25,0
movw R14,R24
xjmp L88
L87:
.dbline 192
clr R16
xcall _WriteData
L88:
.dbline 191
movw R2,R14
movw R24,R2
sbiw R24,1
movw R14,R24
tst R2
brne L87
tst R3
brne L87
X7:
.dbline 193
L81:
.dbline 181
subi R20,255 ; offset = 1
sbci R21,255
movw R24,R10
adiw R24,1
movw R10,R24
L83:
.dbline 181
cpi R20,32
ldi R30,0
cpc R21,R30
brsh X8
xjmp L80
X8:
.dbline -2
L79:
adiw R28,2
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym l i 1 i
.dbsym r x 22 i
.dbsym r y 10 i
.dbsym r j 20 i
.dbsym l l 0 i
.dbsym r k 14 i
.dbsym r tab 12 pc
.dbend
.dbfunc e shownum _shownum fV
; k -> <dead>
; T -> y+2
; temp -> R10,R11
; num -> y+19
; j -> R22
; i -> R20
.even
_shownum::
xcall push_gset4
mov R22,R18
mov R20,R16
sbiw R28,11
.dbline -1
.dbline 209
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
.dbline 210
;
ldi R16,<L93
ldi R17,>L93
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 4
ldd R2,z+23
ldd R3,z+24
ldd R4,z+25
ldd R5,z+26
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall empy32f
movw R30,R28
std z+7,R16
std z+8,R17
std z+9,R18
std z+10,R19
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L94
ldi R17,>L94
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brlt L91
movw R30,R28
ldd R2,z+7
ldd R3,z+8
ldd R4,z+9
ldd R5,z+10
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L94
ldi R17,>L94
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall sub32f
xcall fp2int
movw R24,R16
subi R24,0 ; offset = 32768
sbci R25,128
movw R12,R24
xjmp L92
L91:
movw R30,R28
ldd R16,z+7
ldd R17,z+8
ldd R18,z+9
ldd R19,z+10
xcall fp2int
movw R12,R16
L92:
movw R10,R12
.dbline 211
;
ldi R18,1000
ldi R19,3
movw R16,R10
xcall div16u
movw R24,R16
adiw R24,48
std y+2,R24
.dbline 212
;
ldi R18,1000
ldi R19,3
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 213
;
ldi R18,100
ldi R19,0
xcall div16u
movw R24,R16
adiw R24,48
std y+3,R24
.dbline 214
;
ldi R18,100
ldi R19,0
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 215
;
ldi R24,46
std y+4,R24
.dbline 216
;
ldi R18,10
ldi R19,0
xcall div16u
movw R24,R16
adiw R24,48
std y+5,R24
.dbline 217
;
ldi R18,10
ldi R19,0
movw R16,R10
xcall mod16u
movw R10,R16
.dbline 218
;
movw R24,R10
adiw R24,48
std y+6,R24
.dbline 219
;
movw R24,R28
adiw R24,2
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
xcall _display_String
.dbline -2
L90:
adiw R28,11
xcall pop_gset4
.dbline 0 ; func end
ret
.dbsym l k 3 c
.dbsym l T 2 A[5:5]c
.dbsym r temp 10 i
.dbsym l num 19 D
.dbsym r j 22 c
.dbsym r i 20 c
.dbend
.dbfunc e lcd12864_init _lcd12864_init fV
.even
_lcd12864_init::
.dbline -1
.dbline 224
;
;
;
;
;
.dbline 225
;
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 226
;
ldi R16,48
xcall _WriteCommand
.dbline 227
;
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 228
;
clr R16
xcall _guangbiao
.dbline 229
;
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 230
;
ldi R16,1
xcall _WriteCommand
ldi R16,5
ldi R17,0
xcall _delay_nms
.dbline 231
;
ldi R16,6
xcall _WriteCommand
.dbline 232
;
ldi R16,100
ldi R17,0
xcall _delay_nus
.dbline -2
L99:
.dbline 0 ; func end
ret
.dbend
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读/12864.h
_jieshou::
.blkb 11
.area idata
.byte 49,49,49,49,49,49,49,49,49,49,0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读/12864.h
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbsym e jieshou _jieshou A[11:11]c
_bitcnt::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbsym e bitcnt _bitcnt c
_data0::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbsym e data0 _data0 c
_data1::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbsym e data1 _data1 c
.area text(rom, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbfunc e port_init _port_init fV
.even
_port_init::
.dbline -1
.dbline 24
.dbline 25
ldi R24,14
out 0x1b,R24
.dbline 26
out 0x1a,R24
.dbline 27
clr R2
out 0x18,R2
.dbline 28
out 0x17,R2
.dbline 29
out 0x15,R2
.dbline 30
out 0x14,R2
.dbline 31
out 0x12,R2
.dbline 32
out 0x11,R2
.dbline -2
L100:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer1_init _timer1_init fV
.even
_timer1_init::
.dbline -1
.dbline 38
.dbline 39
clr R2
out 0x2e,R2
.dbline 40
in R24,0x39
ori R24,32
out 0x39,R24
.dbline 41
ldi R24,255
out 0x2d,R24
.dbline 42
out 0x2c,R24
.dbline 43
ldi R24,254
out 0x2b,R24
.dbline 44
ldi R24,255
out 0x2a,R24
.dbline 45
ldi R24,254
out 0x29,R24
.dbline 46
ldi R24,255
out 0x28,R24
.dbline 47
out 0x27,R24
.dbline 48
out 0x26,R24
.dbline 49
out 0x2f,R2
.dbline 50
ldi R24,66
out 0x2e,R24
.dbline -2
L101:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 20
jmp _timer1_capt_isr
.area text(rom, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
.dbfunc e timer1_capt_isr _timer1_capt_isr fV
; newFall -> R18,R19
; temp -> R16,R17
.even
_timer1_capt_isr::
st -y,R2
st -y,R3
st -y,R16
st -y,R17
st -y,R18
st -y,R19
st -y,R24
st -y,R25
st -y,R30
in R2,0x3f
st -y,R2
.dbline -1
.dbline 58
.dbline 60
in R18,0x26
in R19,0x27
.dbline 61
lds R2,_oldFall
lds R3,_oldFall+1
movw R16,R18
sub R16,R2
sbc R17,R3
.dbline 62
sts _oldFall+1,R19
sts _oldFall,R18
.dbline 63
ldi R24,724
ldi R25,2
cp R24,R16
cpc R25,R17
brsh L103
cpi R16,245
ldi R30,5
cpc R17,R30
brsh L103
.dbline 64
.dbline 65
clr R16
clr R17
.dbline 66
xjmp L104
L103:
.dbline 67
ldi R24,1845
ldi R25,7
cp R24,R16
cpc R25,R17
brsh L105
cpi R16,85
ldi R30,10
cpc R17,R30
brsh L105
.dbline 68
.dbline 69
ldi R16,1
ldi R17,0
.dbline 70
xjmp L106
L105:
.dbline 71
ldi R24,13100
ldi R25,51
cp R24,R16
cpc R25,R17
brlo X10
xjmp L102
X10:
cpi R16,76
ldi R30,54
cpc R17,R30
brlo X11
xjmp L102
X11:
.dbline 72
.dbline 73
clr R2
sts _bitcnt,R2
.dbline 74
sts _data0,R2
.dbline 75
sts _data1,R2
.dbline 76
xjmp L102
X9:
.dbline 79
.dbline 81
L106:
L104:
.dbline 83
lds R24,_bitcnt
subi R24,255 ; addi 1
sts _bitcnt,R24
.dbline 84
cpi R24,16
brsh L109
.dbline 85
.dbline 86
lds R2,_data0
clr R3
or R2,R16
or R3,R17
sts _data0,R2
.dbline 87
lsl R2
sts _data0,R2
.dbline 88
xjmp L110
L109:
.dbline 89
lds R24,_bitcnt
cpi R24,16
brne L111
.dbline 90
.dbline 91
lds R2,_data0
clr R3
or R2,R16
or R3,R17
sts _data0,R2
.dbline 92
xjmp L112
L111:
.dbline 93
lds R24,_bitcnt
cpi R24,32
brsh L113
.dbline 94
.dbline 95
lds R2,_data1
clr R3
or R2,R16
or R3,R17
sts _data1,R2
.dbline 96
lsl R2
sts _data1,R2
.dbline 97
xjmp L114
L113:
.dbline 98
lds R24,_bitcnt
cpi R24,32
brne L115
.dbline 99
.dbline 100
lds R2,_data1
clr R3
or R2,R16
or R3,R17
sts _data1,R2
.dbline 101
L115:
L114:
L112:
L110:
.dbline -2
L102:
ld R2,y+
out 0x3f,R2
ld R30,y+
ld R25,y+
ld R24,y+
ld R19,y+
ld R18,y+
ld R17,y+
ld R16,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbsym r newFall 18 i
.dbsym r temp 16 i
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 106
.dbline 107
cli
.dbline 108
clr R2
out 0x3b,R2
.dbline 109
xcall _port_init
.dbline 110
xcall _lcd12864_init
.dbline 111
xcall _timer1_init
.dbline 112
sei
.dbline -2
L117:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 116
.dbline 117
xcall _init_devices
xjmp L120
L119:
.dbline 120
.dbline 122
lds R24,_bitcnt
cpi R24,32
breq X14
xjmp L122
X14:
lds R24,_data0
cpi R24,127
breq X15
xjmp L122
X15:
.dbline 123
.dbline 124
cli
.dbline 125
lds R20,_data1
clr R21
cpi R20,79
ldi R30,0
cpc R21,R30
brne X16
xjmp L132
X16:
ldi R24,79
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L136
L135:
cpi R20,23
ldi R30,0
cpc R21,R30
breq L129
ldi R24,23
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L138
L137:
cpi R20,7
ldi R30,0
cpc R21,R30
breq L133
xjmp L124
L138:
cpi R20,39
ldi R30,0
cpc R21,R30
breq L128
xjmp L124
L136:
cpi R20,167
ldi R30,0
cpc R21,R30
breq L130
ldi R24,167
ldi R25,0
cp R24,R20
cpc R25,R21
brlt L140
L139:
cpi R20,87
ldi R30,0
cpc R21,R30
breq L127
xjmp L124
L140:
cpi R20,207
ldi R30,0
cpc R21,R30
breq L134
cpi R20,207
ldi R30,0
cpc R21,R30
brlt L124
L141:
cpi R20,215
ldi R30,0
cpc R21,R30
breq L131
xjmp L124
X12:
.dbline 126
L127:
.dbline 127
ldi R24,1
out 0x12,R24
.dbline 128
xjmp L125
L128:
.dbline 129
ldi R24,2
out 0x12,R24
.dbline 130
xjmp L125
L129:
.dbline 131
ldi R24,4
out 0x12,R24
.dbline 132
xjmp L125
L130:
.dbline 133
ldi R24,8
out 0x12,R24
.dbline 134
xjmp L125
L131:
.dbline 135
ldi R24,16
out 0x12,R24
.dbline 136
xjmp L125
L132:
.dbline 137
ldi R24,32
out 0x12,R24
.dbline 138
xjmp L125
L133:
.dbline 139
ldi R24,64
out 0x12,R24
.dbline 140
xjmp L125
L134:
.dbline 141
ldi R24,128
out 0x12,R24
.dbline 142
xjmp L125
L124:
.dbline 143
clr R2
out 0x12,R2
.dbline 143
L125:
.dbline 145
L122:
.dbline 146
L120:
.dbline 119
xjmp L119
X13:
.dbline -2
L118:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile E:\单片机\AVR程序\红外解读\解读.c
_oldFall::
.blkb 2
.dbsym e oldFall _oldFall i
.area lit(rom, con, rel)
L94:
.word 0x0,0x4700
L93:
.word 0x0,0x42c8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -