📄 main.s
字号:
; }
ldi R18,100
ldi R19,0
movw R16,R20
xcall div16u
ldi R18,10
ldi R19,0
xcall mod16u
std y+4,R16
.dbline 141
; }
ldi R18,10
ldi R19,0
movw R16,R20
xcall div16u
ldi R18,10
ldi R19,0
xcall mod16u
std y+5,R16
.dbline 142
; }
ldi R18,10
ldi R19,0
movw R16,R20
xcall mod16u
std y+6,R16
.dbline 144
; }
; }
clr R20
xjmp L74
L71:
.dbline 145
movw R24,R28
adiw R24,2
mov R2,R20
clr R3
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,208 ; addi 48
std z+0,R24
L72:
.dbline 144
inc R20
L74:
.dbline 144
cpi R20,5
brlo L71
.dbline 146
clr R20
xjmp L78
L75:
.dbline 146
L76:
.dbline 146
inc R20
L78:
.dbline 146
; }
; }
movw R24,R28
adiw R24,2
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,48
brne L79
ldi R24,3
cp R24,R20
brsh L75
L79:
.dbline 147
; }
ldi R22,5
sub R22,R20
.dbline 148
; }
ldi R24,5
sub R24,R22
mov R22,R24
xjmp L83
L80:
.dbline 149
.dbline 149
ldi R24,32
movw R30,R10
std z+0,R24
.dbline 149
movw R24,R30
adiw R24,1
movw R10,R24
.dbline 149
L81:
.dbline 148
inc R22
L83:
.dbline 148
cp R22,R20
brlo L80
.dbline 150
; }
; }
xjmp L87
L84:
.dbline 151
.dbline 151
movw R24,R28
adiw R24,2
mov R30,R20
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
movw R30,R10
std z+0,R2
.dbline 151
movw R24,R30
adiw R24,1
movw R10,R24
.dbline 151
L85:
.dbline 150
inc R20
L87:
.dbline 150
cpi R20,5
brlo L84
.dbline 152
; }
; }
clr R2
movw R30,R10
std z+0,R2
.dbline 153
; }
ldi R24,<_ch1
ldi R25,>_ch1
std y+1,R25
std y+0,R24
mov R18,R14
mov R16,R12
xcall _LCD_DisplayString
.dbline -2
L66:
adiw R28,7
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym r n 22 c
.dbsym r j 22 c
.dbsym r str 10 pc
.dbsym l a 2 A[5:5]c
.dbsym r i 20 c
.dbsym r t 20 i
.dbsym r y 14 c
.dbsym r x 12 c
.dbend
.dbfunc e LCD_Displayasc _LCD_Displayasc fV
; temp -> R10
; ascii -> y+2
; asc -> y+10
; y -> R22
; x -> R20
.even
_LCD_Displayasc::
xcall push_gset3
mov R22,R18
mov R20,R16
sbiw R28,4
.dbline -1
.dbline 163
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 164
; }
ldd R10,y+10
.dbline 165
; }
mov R24,R10
subi R24,208 ; addi 48
std y+2,R24
.dbline 166
; }
clr R2
std y+3,R2
.dbline 167
; }
movw R24,R28
adiw R24,2
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
xcall _LCD_DisplayString
.dbline -2
L88:
adiw R28,4
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r temp 10 c
.dbsym l ascii 2 A[2:2]c
.dbsym l asc 10 c
.dbsym r y 22 c
.dbsym r x 20 c
.dbend
.dbfunc e LCD_DisplayLong _LCD_DisplayLong fV
; n -> R10
; j -> R10
; str -> R12,R13
; a -> y+2
; i -> R14
; t -> y+24
; y -> y+22
; x -> y+20
.even
_LCD_DisplayLong::
xcall push_arg4
xcall push_gset5
sbiw R28,10
.dbline -1
.dbline 178
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 182
; }
; }
; }
; }
ldi R24,<_ch2
ldi R25,>_ch2
movw R12,R24
.dbline 183
; }
ldi R20,128
ldi R21,150
ldi R22,152
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+2,R16
.dbline 184
; }
ldi R20,64
ldi R21,66
ldi R22,15
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+3,R16
.dbline 185
; }
ldi R20,160
ldi R21,134
ldi R22,1
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+4,R16
.dbline 186
; }
ldi R20,16
ldi R21,39
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+5,R16
.dbline 187
; }
ldi R20,232
ldi R21,3
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+6,R16
.dbline 188
; }
ldi R20,100
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+7,R16
.dbline 189
; }
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall div32u
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
st -y,R23
st -y,R22
st -y,R21
st -y,R20
xcall mod32u
std y+8,R16
.dbline 190
; }
ldi R20,10
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+24
ldd R3,z+25
ldd R4,z+26
ldd R5,z+27
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
xcall mod32u
std y+9,R16
.dbline 192
; }
; }
clr R14
xjmp L101
L98:
.dbline 193
movw R24,R28
adiw R24,2
mov R2,R14
clr R3
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,208 ; addi 48
std z+0,R24
L99:
.dbline 192
inc R14
L101:
.dbline 192
mov R24,R14
cpi R24,8
brlo L98
.dbline 194
clr R14
xjmp L105
L102:
.dbline 194
L103:
.dbline 194
inc R14
L105:
.dbline 194
; }
; }
movw R24,R28
adiw R24,2
mov R30,R14
clr R31
add R30,R24
adc R31,R25
ldd R24,z+0
cpi R24,48
brne L106
ldi R24,7
cp R24,R14
brsh L102
L106:
.dbline 195
; }
ldi R24,8
mov R10,R24
sub R10,R14
.dbline 196
; }
sub R24,R10
mov R10,R24
xjmp L110
L107:
.dbline 197
.dbline 197
ldi R24,32
movw R30,R12
std z+0,R24
.dbline 197
movw R24,R30
adiw R24,1
movw R12,R24
.dbline 197
L108:
.dbline 196
inc R10
L110:
.dbline 196
cp R10,R14
brlo L107
.dbline 198
; }
; }
xjmp L114
L111:
.dbline 199
.dbline 199
movw R24,R28
adiw R24,2
mov R30,R14
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
movw R30,R12
std z+0,R2
.dbline 199
movw R24,R30
adiw R24,1
movw R12,R24
.dbline 199
L112:
.dbline 198
inc R14
L114:
.dbline 198
mov R24,R14
cpi R24,8
brlo L111
.dbline 200
; }
; }
clr R2
movw R30,R12
std z+0,R2
.dbline 201
; }
ldi R24,<_ch2
ldi R25,>_ch2
std y+1,R25
std y+0,R24
ldd R18,y+22
ldd R16,y+20
xcall _LCD_DisplayString
.dbline -2
L90:
adiw R28,10
xcall pop_gset5
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r n 10 c
.dbsym r j 10 c
.dbsym r str 12 pc
.dbsym l a 2 A[8:8]c
.dbsym r i 14 c
.dbsym l t 24 l
.dbsym l y 22 c
.dbsym l x 20 c
.dbend
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
_vol16bit::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
.dbsym e vol16bit _vol16bit i
_test1::
.blkb 13
.area idata
.byte 32,'A,'D,50,53,52,51,'T,'E,'S,'T,32,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
.dbsym e test1 _test1 A[13:13]c
_vint::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
.dbsym e vint _vint i
_voltemp::
.blkb 4
.area idata
.word 0x0,0x0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
.dbsym e voltemp _voltemp D
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
.dbfunc e ad2543 _ad2543 fi
; adc16 -> R20,R21
.even
_ad2543::
xcall push_gset1
.dbline -1
.dbline 28
.dbline 30
xcall _init_ad2543
.dbline 31
xcall _read_ad2543
movw R20,R16
.dbline 32
.dbline -2
L115:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r adc16 20 i
.dbend
.dbfunc e main _main fV
.even
_main::
sbiw R28,2
.dbline -1
.dbline 42
.dbline 43
ldi R24,63
out 0x11,R24
.dbline 44
ldi R24,255
out 0x12,R24
.dbline 45
xcall _LCD_init
.dbline 46
ldi R24,<_test1
ldi R25,>_test1
std y+1,R25
std y+0,R24
ldi R18,1
ldi R16,1
xcall _LCD_DisplayString
xjmp L118
L117:
.dbline 48
.dbline 49
xcall _ad2543
sts _vol16bit+1,R17
sts _vol16bit,R16
.dbline 50
ldi R16,<L120
ldi R17,>L120
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
ldi R16,<L121
ldi R17,>L121
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
lds R16,_vol16bit
lds R17,_vol16bit+1
lsr R17
ror R16
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall empy32fs
lds R16,_vol16bit
lds R17,_vol16bit+1
andi R16,1
andi R17,0
xcall int2fp
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall add32fs
ldi R16,<L122
ldi R17,>L122
xcall lpm32
st -y,R19
st -y,R18
st -y,R17
st -y,R16
xcall div32fs
xcall empy32f
sts _voltemp+1,R17
sts _voltemp,R16
sts _voltemp+2+1,R19
sts _voltemp+2,R18
.dbline 51
xcall fp2int
sts _vint+1,R17
sts _vint,R16
.dbline 52
movw R2,R16
std y+1,R3
std y+0,R2
ldi R18,5
ldi R16,2
xcall _LCD_DisplayInt
.dbline 53
ldi R16,1
ldi R17,0
xcall _delay_nms
.dbline 55
L118:
.dbline 47
xjmp L117
X1:
.dbline -2
L116:
adiw R28,2
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543\main.c
_ch2::
.blkb 8
.dbfile C:\DOCUME~1\Administrator\桌面\ad2543/lcd.h
.dbsym e ch2 _ch2 A[8:8]c
_ch1::
.blkb 6
.dbsym e ch1 _ch1 A[6:6]c
.area lit(rom, con, rel)
L122:
.word 0x0,0x4580
L121:
.word 0x0,0x4000
L120:
.word 0x4000,0x459c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -