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