📄 main.s
字号:
st -y,R2
xcall div32fs
ldi R16,<L63
ldi R17,>L63
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brge L61
.dbline 174
;
xjmp L59
L61:
.dbline 176
ldi R16,<L63
ldi R17,>L63
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 4
ldd R2,z+4
ldd R3,z+5
ldd R4,z+6
ldd R5,z+7
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall empy32f
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 177
L58:
.dbline 171
inc R12
L60:
.dbline 171
mov R24,R12
cpi R24,15
brsh X4
xjmp L57
X4:
L59:
.dbline 179
;
;
;
;
;
tst R10
breq L64
.dbline 180
;
ldi R16,45
xcall _rprintfChar
xjmp L65
L64:
.dbline 182
;
;
ldi R16,43
xcall _rprintfChar
L65:
.dbline 185
;
;
;
clr R12
xjmp L69
L66:
.dbline 186
;
.dbline 187
;
movw R30,R28
ldd R2,z+21
ldd R3,z+22
ldd R4,z+23
ldd R5,z+24
st -y,R5
st -y,R4
st -y,R3
st -y,R2
movw R30,R28
; stack offset 4
ldd R2,z+4
ldd R3,z+5
ldd R4,z+6
ldd R5,z+7
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall div32f
movw R30,R28
std z+8,R16
std z+9,R17
std z+10,R18
std z+11,R19
movw R30,R28
ldd R2,z+8
ldd R3,z+9
ldd R4,z+10
ldd R5,z+11
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L72
ldi R17,>L72
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brlt L70
movw R30,R28
ldd R2,z+8
ldd R3,z+9
ldd R4,z+10
ldd R5,z+11
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L72
ldi R17,>L72
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 R10,R24
xjmp L71
L70:
movw R30,R28
ldd R16,z+8
ldd R17,z+9
ldd R18,z+10
ldd R19,z+11
xcall fp2int
movw R10,R16
L71:
mov R14,R10
.dbline 189
;
;
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L51
ldi R17,>L51
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brne L75
ldi R24,1
ldi R25,0
movw R10,R24
xjmp L76
L75:
clr R10
clr R11
L76:
ldd R2,y+12
clr R3
mov R4,R14
clr R5
or R4,R2
or R5,R3
or R4,R10
or R5,R11
tst R4
brne X3
tst R5
breq L73
X3:
.dbline 190
;
.dbline 191
;
clr R0
inc R0
std y+12,R0
.dbline 192
;
mov R16,R14
subi R16,208 ; addi 48
xcall _rprintfChar
.dbline 193
;
xjmp L74
L73:
.dbline 195
;
;
ldi R16,32
xcall _rprintfChar
L74:
.dbline 197
;
;
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L51
ldi R17,>L51
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall cmp32f
brne L77
.dbline 198
;
.dbline 199
;
ldi R16,46
xcall _rprintfChar
.dbline 200
;
L77:
.dbline 202
movw R30,R28
ldd R2,z+21
ldd R3,z+22
ldd R4,z+23
ldd R5,z+24
st -y,R5
st -y,R4
st -y,R3
st -y,R2
mov R16,R14
clr R17
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
movw R30,R28
; stack offset 8
ldd R2,z+8
ldd R3,z+9
ldd R4,z+10
ldd R5,z+11
st -y,R5
st -y,R4
st -y,R3
st -y,R2
xcall empy32fs
xcall sub32f
movw R30,R28
std z+21,R16
std z+22,R17
std z+23,R18
std z+24,R19
.dbline 203
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
st -y,R5
st -y,R4
st -y,R3
st -y,R2
ldi R16,<L63
ldi R17,>L63
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall div32f
movw R30,R28
std z+0,R16
std z+1,R17
std z+2,R18
std z+3,R19
.dbline 204
L67:
.dbline 185
inc R12
L69:
.dbline 185
ldd R0,y+19
cp R12,R0
brsh X5
xjmp L66
X5:
.dbline -2
L50:
adiw R28,13
xcall pop_gset5x
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r negative 10 c
.dbsym l firstplace 12 c
.dbsym r digit 14 c
.dbsym r i 12 c
.dbsym l place 0 D
.dbsym l x 21 D
.dbsym l numDigits 19 c
.dbend
.area data(ram, con, rel)
.dbfile D:\liliang\can-232\CAN-232/rprint.c
_flag::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\liliang\can-232\CAN-232/rprint.c
.dbfile D:\liliang\can-232\CAN-232/can.h
.dbstruct 0 1 BIT_FILED
.dbfield 0 mess_wait F[0:1]
.dbfield 0 i_over F[1:1]
.dbfield 0 v_over F[2:1]
.dbfield 0 ad_mux F[3:1]
.dbfield 0 s_100ms F[4:1]
.dbfield 0 s_200ms F[5:1]
.dbfield 0 s_300ms F[6:1]
.dbfield 0 s_400ms F[7:1]
.dbend
.dbsym e flag _flag S[BIT_FILED]
.area text(rom, con, rel)
.dbfile D:\liliang\can-232\CAN-232/can.h
.dbfile D:\liliang\can-232\CAN-232/can.c
.dbfunc e sja_port_init _sja_port_init fV
.even
_sja_port_init::
.dbline -1
.dbline 30
.dbline 32
clr R2
out 0x15,R2
.dbline 33
ldi R24,255
out 0x14,R24
.dbline 34
ldi R24,192
out 0x12,R24
.dbline 35
ldi R24,248
out 0x11,R24
.dbline 37
in R24,0x1a
ori R24,240
out 0x1a,R24
.dbline 38
sbi 0x1b,5
.dbline 39
sbi 0x1b,6
.dbline 40
cbi 0x1b,4
.dbline 41
sbi 0x1b,7
.dbline -2
L79:
.dbline 0 ; func end
ret
.dbend
.dbfunc e sja_write_data _sja_write_data fV
; data -> R18
; addr -> R16
.even
_sja_write_data::
.dbline -1
.dbline 50
.dbline 51
sbi 0x1b,6
.dbline 52
ldi R24,255
out 0x14,R24
.dbline 54
out 0x15,R16
.dbline 55
sbi 0x1b,4
.dbline 56
nop
.dbline 57
cbi 0x1b,4
.dbline 58
nop
.dbline 60
out 0x15,R18
.dbline 61
cbi 0x1b,7
.dbline 62
cbi 0x1b,5
.dbline 63
nop
.dbline 64
sbi 0x1b,5
.dbline 65
nop
.dbline 67
sbi 0x1b,7
.dbline -2
L80:
.dbline 0 ; func end
ret
.dbsym r data 18 c
.dbsym r addr 16 c
.dbend
.dbfunc e sja_read_data _sja_read_data fc
; data -> R10
; addr -> R16
.even
_sja_read_data::
xcall push_gset3x
.dbline -1
.dbline 76
.dbline 78
sbi 0x1b,5
.dbline 79
ldi R24,255
out 0x14,R24
.dbline 81
cbi 0x1b,4
.dbline 82
out 0x15,R16
.dbline 83
sbi 0x1b,4
.dbline 84
nop
.dbline 85
cbi 0x1b,4
.dbline 86
nop
.dbline 88
out 0x15,R24
.dbline 89
clr R2
out 0x14,R2
.dbline 90
cbi 0x1b,7
.dbline 91
cbi 0x1b,6
.dbline 92
nop
.dbline 93
sbi 0x1b,6
.dbline 94
nop
.dbline 95
in R10,0x13
.dbline 96
sbi 0x1b,7
.dbline 97
mov R16,R10
.dbline -2
L81:
xcall pop_gset3x
.dbline 0 ; func end
ret
.dbsym r data 10 c
.dbsym r addr 16 c
.dbend
.dbfunc e sja_init _sja_init fV
; k -> <dead>
; temp -> <dead>
.even
_sja_init::
.dbline -1
.dbline 106
.dbline 110
cli
.dbline 111
ldi R18,9
clr R16
xcall _sja_write_data
.dbline 113
ldi R16,3
xcall _sja_read_data
xjmp L84
L83:
.dbline 116
.dbline 117
ldi R18,9
clr R16
xcall _sja_write_data
.dbline 118
L84:
.dbline 115
clr R16
xcall _sja_read_data
sbrs R16,0
rjmp L83
.dbline 119
ldi R16,5
ldi R17,0
xcall _delay_nus
.dbline 120
ldi R18,136
ldi R16,31
xcall _sja_write_data
.dbline 121
ldi R16,5
ldi R17,0
xcall _delay_nus
.dbline 123
ldi R18,1
ldi R16,6
xcall _sja_write_data
.dbline 124
ldi R18,28
ldi R16,7
xcall _sja_write_data
.dbline 126
ldi R18,26
ldi R16,8
xcall _sja_write_data
.dbline 128
clr R18
ldi R16,14
xcall _sja_write_data
.dbline 129
clr R18
ldi R16,15
xcall _sja_write_data
.dbline 130
clr R18
ldi R16,12
xcall _sja_write_data
.dbline 132
clr R18
ldi R16,30
xcall _sja_write_data
.dbline 134
clr R18
ldi R16,16
xcall _sja_write_data
.dbline 135
clr R18
ldi R16,17
xcall _sja_write_data
.dbline 136
clr R18
ldi R16,18
xcall _sja_write_data
.dbline 137
clr R18
ldi R16,19
xcall _sja_write_data
.dbline 139
ldi R18,255
ldi R16,20
xcall _sja_write_data
.dbline 140
ldi R18,255
ldi R16,21
xcall _sja_write_data
.dbline 141
ldi R18,255
ldi R16,22
xcall _sja_write_data
.dbline 142
ldi R18,255
ldi R16,23
xcall _sja_write_data
.dbline 144
ldi R18,129
ldi R16,4
xcall _sja_write_data
.dbline 146
ldi R18,8
ldi R16,1
xcall _sja_write_data
.dbline 147
ldi R16,10
ldi R17,0
xcall _delay_nus
.dbline 148
ldi R18,4
ldi R16,1
xcall _sja_write_data
L86:
.dbline 151
.dbline 153
ldi R18,8
clr R16
xcall _sja_write_data
.dbline 154
L87:
.dbline 155
clr R16
xcall _sja_read_data
sbrc R16,0
rjmp L86
.dbline 157
sei
.dbline -2
L82:
.dbline 0 ; func end
ret
.dbsym l k 1 i
.dbsym l temp 1 c
.dbend
.dbfunc e sja_tx_service _sja_tx_service fV
; FF -> R10
; Length -> R12
; i -> R14
.even
_sja_tx_service::
xcall push_gset5x
.dbline -1
.dbline 166
.dbline 169
lds R24,_flag
andi R24,1
cpi R24,1
breq X6
xjmp L90
X6:
.dbline 170
.dbline 171
cbi 0x12,7
.dbline 172
lds R24,_flag
andi R24,254
sts _flag,R24
.dbline 173
lds R24,_TransmitMessage
andi R24,128
mov R10,R24
.dbline 174
lds R24,_TransmitMessage
andi R24,15
.dbline 176
ldi R24,8
mov R12,R24
tst R12
breq L92
.dbline 177
.dbline 178
ldi R24,128
mov R12,R24
.dbline 179
L92:
.dbline 181
lds R18,_TransmitMessage
ldi R16,16
xcall _sja_write_data
.dbline 182
lds R18,_TransmitMessage+1
ldi R16,17
xcall _sja_write_data
.dbline 183
lds R18,_TransmitMessage+2
ldi R16,18
xcall _sja_write_data
.dbline 184
tst R10
breq L96
.dbline 185
.dbline 186
lds R18,_TransmitMessage+3
ldi R16,19
xcall _sja_write_data
.dbline 187
lds R18,_TransmitMessage+4
ldi R16,20
xcall _sja_write_data
.dbline 188
L96:
.dbline 189
clr R14
xjmp L103
L100:
.dbline 190
.dbline 191
tst R10
breq L104
.dbline 192
ldi R24,<_TransmitMessage+5
ldi R25,>_TransmitMessage+5
mov R30,R14
clr R31
add R30,R24
adc R31,R25
ldd R18,z+0
mov R16,R14
subi R16,235 ; addi 21
xcall _sja_write_data
xjmp L105
L104:
.dbline 194
ldi R24,<_TransmitMessage+3
ldi R25,>_TransmitMessage+3
mov R30,R14
clr R31
add R30,R24
adc R31,R25
ldd R18,z+0
mov R16,R14
subi R16,235 ; addi 21
xcall _sja_write_data
L105:
.dbline 195
L101:
.dbline 189
inc R14
L103:
.dbline 189
cp R14,R12
brlo L100
.dbline 196
sbi 0x12,7
.dbline 199
ldi R18,1
ldi R16,1
xcall _sja_write_data
.dbline 200
L90:
.dbline -2
L89:
xcall pop_gset5x
.dbline 0 ; func end
ret
.dbsym r FF 10 c
.dbsym r Length 12 c
.dbsym r i 14 c
.dbend
.dbfunc e sja_tx _sja_tx fV
; sreg -> y+0
; FF -> R12
; Length -> R10
; state -> R14
; i -> R14
; TransmitMessage -> y+7
.even
_sja_tx::
st -y,r17
st -y,r16
xcall push_gset5x
sbiw R28,1
.dbline -1
.dbline 209
; `j
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -