📄 12864.lst
字号:
0017E 940E 0204 CALL lpm32
00180 0118 MOVW R2,R16
00181 0129 MOVW R4,R18
00182 0183 MOVW R16,R6
00183 940E 024A CALL uint2fp
00185 933A ST -Y,R19
00186 932A ST -Y,R18
00187 931A ST -Y,R17
00188 930A ST -Y,R16
00189 0181 MOVW R16,R2
0018A 0192 MOVW R18,R4
0018B 940E 034D CALL fpmule2
0018D 940E 0218 CALL fpint
0018F 0158 MOVW R10,R16
(0153) locate(4,5);
00190 E025 LDI R18,5
00191 E004 LDI R16,4
00192 DF73 RCALL _locate
(0154) write_hz(":");
00193 E602 LDI R16,0x62
00194 E010 LDI R17,0
00195 DF5F RCALL _write_hz
(0155) write_shuju(1,(adc/1000)+0x30);
00196 EE28 LDI R18,0xE8
00197 E033 LDI R19,3
00198 0185 MOVW R16,R10
00199 940E 01C3 CALL div16u
0019B 0198 MOVW R18,R16
0019C 5D20 SUBI R18,0xD0
0019D 4F3F SBCI R19,0xFF
0019E E001 LDI R16,1
0019F DF05 RCALL _write_shuju
(0156) write_hz(".");
001A0 E600 LDI R16,0x60
001A1 E010 LDI R17,0
001A2 DF52 RCALL _write_hz
(0157) write_shuju(1,((adc/100)%10)+0x30);
001A3 E624 LDI R18,0x64
001A4 E030 LDI R19,0
001A5 0185 MOVW R16,R10
001A6 940E 01C3 CALL div16u
001A8 E02A LDI R18,0xA
001A9 E030 LDI R19,0
001AA 940E 01C1 CALL mod16u
001AC 0198 MOVW R18,R16
001AD 5D20 SUBI R18,0xD0
001AE 4F3F SBCI R19,0xFF
001AF E001 LDI R16,1
001B0 DEF4 RCALL _write_shuju
(0158) write_shuju(1,((adc/10)%10)+0x30);
FILE: <library>
001B1 E02A LDI R18,0xA
001B2 E030 LDI R19,0
001B3 0185 MOVW R16,R10
001B4 940E 01C3 CALL div16u
001B6 E02A LDI R18,0xA
001B7 E030 LDI R19,0
001B8 940E 01C1 CALL mod16u
001BA 0198 MOVW R18,R16
001BB 5D20 SUBI R18,0xD0
001BC 4F3F SBCI R19,0xFF
001BD E001 LDI R16,1
001BE DEE6 RCALL _write_shuju
001BF CFBA RJMP 0x017A
001C0 9508 RET
mod16u:
001C1 9468 BSET 6
001C2 C001 RJMP xdiv16u
div16u:
001C3 94E8 BCLR 6
xdiv16u:
001C4 92EA ST -Y,R14
001C5 92FA ST -Y,R15
001C6 938A ST -Y,R24
001C7 24EE CLR R14
001C8 24FF CLR R15
001C9 E180 LDI R24,0x10
001CA 0F00 LSL R16
001CB 1F11 ROL R17
001CC 1CEE ROL R14
001CD 1CFF ROL R15
001CE 16E2 CP R14,R18
001CF 06F3 CPC R15,R19
001D0 F018 BCS 0x01D4
001D1 1AE2 SUB R14,R18
001D2 0AF3 SBC R15,R19
001D3 9503 INC R16
001D4 958A DEC R24
001D5 F7A1 BNE 0x01CA
001D6 F416 BRTC 0x01D9
001D7 2D0E MOV R16,R14
001D8 2D1F MOV R17,R15
001D9 9189 LD R24,Y+
001DA 90F9 LD R15,Y+
001DB 90E9 LD R14,Y+
001DC 9508 RET
empy16s:
001DD 920A ST -Y,R0
001DE 921A ST -Y,R1
001DF 938A ST -Y,R24
001E0 939A ST -Y,R25
001E1 9F02 MUL R16,R18
001E2 01C0 MOVW R24,R0
001E3 9F12 MUL R17,R18
001E4 0D90 ADD R25,R0
001E5 9F03 MUL R16,R19
001E6 0D90 ADD R25,R0
001E7 018C MOVW R16,R24
001E8 9199 LD R25,Y+
001E9 9189 LD R24,Y+
001EA 9019 LD R1,Y+
001EB 9009 LD R0,Y+
001EC 9508 RET
push_xgsetF00C:
001ED 937A ST -Y,R23
001EE 936A ST -Y,R22
001EF 935A ST -Y,R21
001F0 934A ST -Y,R20
001F1 92BA ST -Y,R11
001F2 92AA ST -Y,R10
001F3 9508 RET
pop_xgsetF00C:
001F4 90A9 LD R10,Y+
001F5 90B9 LD R11,Y+
001F6 9149 LD R20,Y+
001F7 9159 LD R21,Y+
001F8 9169 LD R22,Y+
001F9 9179 LD R23,Y+
001FA 9508 RET
neg32:
001FB 9500 COM R16
001FC 9510 COM R17
001FD 9520 COM R18
001FE 9530 COM R19
001FF 5F0F SUBI R16,0xFF
00200 4F1F SBCI R17,0xFF
00201 4F2F SBCI R18,0xFF
00202 4F3F SBCI R19,0xFF
00203 9508 RET
lpm32:
00204 93EA ST -Y,R30
00205 93FA ST -Y,R31
00206 920A ST -Y,R0
00207 2FE0 MOV R30,R16
00208 2FF1 MOV R31,R17
00209 95C8 LPM
0020A 2D00 MOV R16,R0
0020B 9631 ADIW R30,1
0020C 95C8 LPM
0020D 2D10 MOV R17,R0
0020E 9631 ADIW R30,1
0020F 95C8 LPM
00210 2D20 MOV R18,R0
00211 9631 ADIW R30,1
00212 95C8 LPM
00213 2D30 MOV R19,R0
00214 9009 LD R0,Y+
00215 91F9 LD R31,Y+
00216 91E9 LD R30,Y+
00217 9508 RET
fpint:
00218 924A ST -Y,R4
00219 925A ST -Y,R5
0021A 926A ST -Y,R6
0021B 938A ST -Y,R24
0021C 940E 027E CALL unpacku
0021E F111 BEQ 0x0241
0021F 2055 TST R5
00220 F0E2 BMI 0x023D
00221 E18F LDI R24,0x1F
00222 1648 CP R4,R24
00223 F4C0 BCC 0x023C
00224 E187 LDI R24,0x17
00225 1648 CP R4,R24
00226 F0D1 BEQ 0x0241
00227 F458 BCC 0x0233
00228 9441 NEG R4
00229 EE89 LDI R24,0xE9
0022A 1A48 SUB R4,R24
0022B C005 RJMP 0x0231
0022C 9535 ASR R19
0022D 9527 ROR R18
0022E 9517 ROR R17
0022F 9507 ROR R16
00230 944A DEC R4
00231 F7D1 BNE 0x022C
00232 C00E RJMP 0x0241
00233 E187 LDI R24,0x17
00234 1A48 SUB R4,R24
00235 0F00 LSL R16
00236 1F11 ROL R17
00237 1F22 ROL R18
00238 1F33 ROL R19
00239 944A DEC R4
0023A F7D1 BNE 0x0235
0023B C005 RJMP 0x0241
0023C E73F LDI R19,0x7F
0023D 2F23 MOV R18,R19
0023E 2F13 MOV R17,R19
0023F 2F03 MOV R16,R19
00240 C004 RJMP 0x0245
00241 2066 TST R6
00242 F011 BEQ 0x0245
00243 940E 01FB CALL neg32
00245 9189 LD R24,Y+
00246 9069 LD R6,Y+
00247 9059 LD R5,Y+
00248 9049 LD R4,Y+
00249 9508 RET
uint2fp:
0024A 9468 BSET 6
0024B C001 RJMP 0x024D
int2fp:
0024C 94E8 BCLR 6
0024D 2722 CLR R18
0024E 2733 CLR R19
0024F F046 BRTS 0x0258
00250 FD17 SBRC R17,7
00251 9520 COM R18
00252 FD17 SBRC R17,7
00253 9530 COM R19
00254 C003 RJMP 0x0258
ulong2fp:
00255 9468 BSET 6
00256 C001 RJMP 0x0258
long2fp:
00257 94E8 BCLR 6
00258 924A ST -Y,R4
00259 925A ST -Y,R5
0025A 926A ST -Y,R6
0025B 938A ST -Y,R24
0025C E187 LDI R24,0x17
0025D 2E48 MOV R4,R24
0025E 2455 CLR R5
0025F 2466 CLR R6
00260 F036 BRTS 0x0267
00261 2333 TST R19
00262 F422 BPL 0x0267
00263 940E 01FB CALL neg32
00265 E880 LDI R24,0x80
00266 2E68 MOV R6,R24
00267 940E 0297 CALL normalize_and_pack
00269 9189 LD R24,Y+
0026A 9069 LD R6,Y+
0026B 9059 LD R5,Y+
0026C 9049 LD R4,Y+
0026D 9508 RET
unpacks:
0026E D00F RCALL unpacku
0026F F029 BEQ 0x0275
00270 2066 TST R6
00271 F011 BEQ 0x0274
00272 940E 01FB CALL neg32
00274 9498 BCLR 1
00275 9508 RET
tstR16_R19:
00276 2300 TST R16
00277 F429 BNE 0x027D
00278 2311 TST R17
00279 F419 BNE 0x027D
0027A 2322 TST R18
0027B F409 BNE 0x027D
0027C 2333 TST R19
0027D 9508 RET
unpacku:
0027E DFF7 RCALL tstR16_R19
0027F F099 BEQ 0x0293
00280 938A ST -Y,R24
00281 2E63 MOV R6,R19
00282 E880 LDI R24,0x80
00283 2268 AND R6,R24
00284 0F22 LSL R18
00285 1F33 ROL R19
00286 2E43 MOV R4,R19
00287 E78F LDI R24,0x7F
00288 1A48 SUB R4,R24
00289 2455 CLR R5
0028A 2788 CLR R24
0028B 0A58 SBC R5,R24
0028C 9526 LSR R18
0028D E830 LDI R19,0x80
0028E 2B23 OR R18,R19
0028F 2733 CLR R19
00290 9189 LD R24,Y+
00291 9498 BCLR 1
00292 9508 RET
00293 2444 CLR R4
00294 2455 CLR R5
00295 2466 CLR R6
00296 9508 RET
normalize_and_pack:
00297 DFDE RCALL tstR16_R19
00298 F409 BNE 0x029A
00299 9508 RET
0029A 93AA ST -Y,R26
0029B 93BA ST -Y,R27
0029C 01D2 MOVW R26,R4
0029D 939A ST -Y,R25
0029E 938A ST -Y,R24
0029F E78E LDI R24,0x7E
002A0 E090 LDI R25,0
002A1 2333 TST R19
002A2 F049 BEQ 0x02AC
002A3 9536 LSR R19
002A4 9527 ROR R18
002A5 9517 ROR R17
002A6 9507 ROR R16
002A7 17A8 CP R26,R24
002A8 07B9 CPC R27,R25
002A9 F4CC BGE 0x02C3
002AA 9611 ADIW R26,1
002AB CFF5 RJMP 0x02A1
002AC 9580 COM R24
002AD 9590 COM R25
002AE 9601 ADIW R24,1
002AF 2322 TST R18
002B0 F0BA BMI 0x02C8
002B1 0F00 LSL R16
002B2 1F11 ROL R17
002B3 1F22 ROL R18
002B4 17A8 CP R26,R24
002B5 07B9 CPC R27,R25
002B6 F014 BLT 0x02B9
002B7 9711 SBIW R26,1
002B8 CFF6 RJMP 0x02AF
002B9 2700 CLR R16
002BA 2711 CLR R17
002BB 2722 CLR R18
002BC 2733 CLR R19
002BD 9189 LD R24,Y+
002BE 9199 LD R25,Y+
002BF 012D MOVW R4,R26
002C0 91B9 LD R27,Y+
002C1 91A9 LD R26,Y+
002C2 9508 RET
002C3 2733 CLR R19
002C4 EF0F LDI R16,0xFF
002C5 2F10 MOV R17,R16
002C6 E72F LDI R18,0x7F
002C7 2F32 MOV R19,R18
002C8 9189 LD R24,Y+
002C9 9199 LD R25,Y+
002CA 012D MOVW R4,R26
002CB C002 RJMP 0x02CE
pack:
002CC 93AA ST -Y,R26
002CD 93BA ST -Y,R27
002CE DFA7 RCALL tstR16_R19
002CF F049 BEQ 0x02D9
002D0 01D2 MOVW R26,R4
002D1 58A1 SUBI R26,0x81
002D2 4FBF SBCI R27,0xFF
002D3 012D MOVW R4,R26
002D4 2D34 MOV R19,R4
002D5 0F22 LSL R18
002D6 9536 LSR R19
002D7 9527 ROR R18
002D8 2936 OR R19,R6
002D9 91B9 LD R27,Y+
002DA 91A9 LD R26,Y+
002DB 9508 RET
saveFPRegs:
002DC 924A ST -Y,R4
002DD 925A ST -Y,R5
002DE 926A ST -Y,R6
002DF 927A ST -Y,R7
002E0 928A ST -Y,R8
002E1 929A ST -Y,R9
002E2 92AA ST -Y,R10
002E3 92BA ST -Y,R11
002E4 92CA ST -Y,R12
002E5 92DA ST -Y,R13
002E6 92EA ST -Y,R14
002E7 92FA ST -Y,R15
002E8 938A ST -Y,R24
002E9 939A ST -Y,R25
002EA 9508 RET
restoreFPRegs:
002EB 9199 LD R25,Y+
002EC 9189 LD R24,Y+
002ED 90F9 LD R15,Y+
002EE 90E9 LD R14,Y+
002EF 90D9 LD R13,Y+
002F0 90C9 LD R12,Y+
002F1 90B9 LD R11,Y+
002F2 90A9 LD R10,Y+
002F3 9099 LD R9,Y+
002F4 9089 LD R8,Y+
002F5 9079 LD R7,Y+
002F6 9069 LD R6,Y+
002F7 9059 LD R5,Y+
002F8 9049 LD R4,Y+
002F9 9508 RET
fpmule:
002FA 940E 02DC CALL saveFPRegs
002FC 93AA ST -Y,R26
002FD 93BA ST -Y,R27
002FE 940E 027E CALL unpacku
00300 F1E1 BEQ 0x033D
00301 2CE6 MOV R14,R6
00302 2CD5 MOV R13,R5
00303 2CC4 MOV R12,R4
00304 2EB3 MOV R11,R19
00305 2EA2 MOV R10,R18
00306 2E91 MOV R9,R17
00307 2E80 MOV R8,R16
00308 8100 LD R16,Z
00309 8111 LDD R17,Z+1
0030A 8122 LDD R18,Z+2
0030B 8133 LDD R19,Z+3
0030C 940E 027E CALL unpacku
0030E F171 BEQ 0x033D
0030F 246E EOR R6,R14
00310 0C4C ADD R4,R12
00311 1C5D ADC R5,R13
00312 E880 LDI R24,0x80
00313 1648 CP R4,R24
00314 0653 CPC R5,R19
00315 F564 BGE 0x0342
00316 E881 LDI R24,0x81
00317 1648 CP R4,R24
00318 EF8F LDI R24,0xFF
00319 0658 CPC R5,R24
0031A F16C BLT 0x0348
0031B 9EA2 MUL R10,R18
0031C 2DB1 MOV R27,R1
0031D 2DA0 MOV R26,R0
0031E 9E91 MUL R9,R17
0031F 2D91 MOV R25,R1
00320 2D80 MOV R24,R0
00321 9EA0 MUL R10,R16
00322 0D80 ADD R24,R0
00323 1D91 ADC R25,R1
00324 1FA3 ADC R26,R19
00325 1FB3 ADC R27,R19
00326 9E82 MUL R8,R18
00327 0D80 ADD R24,R0
00328 1D91 ADC R25,R1
00329 1FA3 ADC R26,R19
0032A 1FB3 ADC R27,R19
0032B 9E92 MUL R9,R18
0032C 0D90 ADD R25,R0
0032D 1DA1 ADC R26,R1
0032E 1FB3 ADC R27,R19
0032F 9EA1 MUL R10,R17
00330 0D90 ADD R25,R0
00331 1DA1 ADC R26,R1
00332 1FB3 ADC R27,R19
00333 2F2B MOV R18,R27
00334 2F1A MOV R17,R26
00335 2F09 MOV R16,R25
00336 0F88 LSL R24
00337 1F00 ROL R16
00338 1F11 ROL R17
00339 1F22 ROL R18
0033A 1F33 ROL R19
0033B 940E 0297 CALL normalize_and_pack
0033D 91B9 LD R27,Y+
0033E 91A9 LD R26,Y+
0033F 940E 02EB CALL restoreFPRegs
00341 9508 RET
00342 EF0F LDI R16,0xFF
00343 2F10 MOV R17,R16
00344 E72F LDI R18,0x7F
00345 E78F LDI R24,0x7F
00346 2E48 MOV R4,R24
00347 CFF5 RJMP 0x033D
00348 2700 CLR R16
00349 2F10 MOV R17,R16
0034A 2F20 MOV R18,R16
0034B 2F30 MOV R19,R16
0034C CFF0 RJMP 0x033D
fpmule2:
0034D 93FA ST -Y,R31
0034E 93EA ST -Y,R30
0034F 2FEC MOV R30,R28
00350 2FFD MOV R31,R29
00351 9632 ADIW R30,2
00352 940E 02FA CALL fpmule
00354 91E9 LD R30,Y+
00355 91F9 LD R31,Y+
00356 9624 ADIW R28,4
00357 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -