📄 ¿-
字号:
002CA 1CEE ROL R14
002CB 1CFF ROL R15
002CC 16E2 CP R14,R18
002CD 06F3 CPC R15,R19
002CE F018 BCS 0x02D2
002CF 1AE2 SUB R14,R18
002D0 0AF3 SBC R15,R19
002D1 9503 INC R16
002D2 958A DEC R24
002D3 F7A1 BNE 0x02C8
002D4 F416 BRTC 0x02D7
002D5 2D0E MOV R16,R14
002D6 2D1F MOV R17,R15
002D7 9189 LD R24,Y+
002D8 90F9 LD R15,Y+
002D9 90E9 LD R14,Y+
002DA 9508 RET
elpm32:
002DB 93EA ST -Y,R30
002DC 93FA ST -Y,R31
002DD 920A ST -Y,R0
002DE 2FE0 MOV R30,R16
002DF 2FF1 MOV R31,R17
002E0 95D8 ELPM
002E1 2D00 MOV R16,R0
002E2 9631 ADIW R30,1
002E3 95D8 ELPM
002E4 2D10 MOV R17,R0
002E5 9631 ADIW R30,1
002E6 95D8 ELPM
002E7 2D20 MOV R18,R0
002E8 9631 ADIW R30,1
002E9 95D8 ELPM
002EA 2D30 MOV R19,R0
002EB 9009 LD R0,Y+
002EC 91F9 LD R31,Y+
002ED 91E9 LD R30,Y+
002EE 9508 RET
empy16s:
002EF 920A ST -Y,R0
002F0 921A ST -Y,R1
002F1 938A ST -Y,R24
002F2 939A ST -Y,R25
002F3 9F02 MUL R16,R18
002F4 01C0 MOVW R24,R0
002F5 9F12 MUL R17,R18
002F6 0D90 ADD R25,R0
002F7 9F03 MUL R16,R19
002F8 0D90 ADD R25,R0
002F9 018C MOVW R16,R24
002FA 9199 LD R25,Y+
002FB 9189 LD R24,Y+
002FC 9019 LD R1,Y+
002FD 9009 LD R0,Y+
002FE 9508 RET
pop_xgsetF0FC:
002FF 90A9 LD R10,Y+
00300 90B9 LD R11,Y+
00301 90C9 LD R12,Y+
00302 90D9 LD R13,Y+
00303 90E9 LD R14,Y+
00304 90F9 LD R15,Y+
00305 9149 LD R20,Y+
00306 9159 LD R21,Y+
00307 9169 LD R22,Y+
00308 9179 LD R23,Y+
00309 9508 RET
push_xgsetF0FC:
0030A 937A ST -Y,R23
0030B 936A ST -Y,R22
push_xgset30FC:
0030C 935A ST -Y,R21
0030D 934A ST -Y,R20
push_xgset00FC:
0030E 92FA ST -Y,R15
0030F 92EA ST -Y,R14
push_xgset003C:
00310 92DA ST -Y,R13
00311 92CA ST -Y,R12
00312 92BA ST -Y,R11
00313 92AA ST -Y,R10
00314 9508 RET
push_xgsetF000:
00315 937A ST -Y,R23
00316 936A ST -Y,R22
00317 935A ST -Y,R21
00318 934A ST -Y,R20
00319 9508 RET
pop_xgsetF000:
0031A 9149 LD R20,Y+
0031B 9159 LD R21,Y+
0031C 9169 LD R22,Y+
0031D 9179 LD R23,Y+
0031E 9508 RET
push_xgsetF00C:
0031F 937A ST -Y,R23
00320 936A ST -Y,R22
00321 935A ST -Y,R21
00322 934A ST -Y,R20
00323 92BA ST -Y,R11
00324 92AA ST -Y,R10
00325 9508 RET
pop_xgsetF00C:
00326 90A9 LD R10,Y+
00327 90B9 LD R11,Y+
00328 9149 LD R20,Y+
00329 9159 LD R21,Y+
0032A 9169 LD R22,Y+
0032B 9179 LD R23,Y+
0032C 9508 RET
push_xgsetF03C:
0032D 937A ST -Y,R23
0032E 936A ST -Y,R22
0032F 935A ST -Y,R21
00330 934A ST -Y,R20
00331 92DA ST -Y,R13
00332 92CA ST -Y,R12
00333 92BA ST -Y,R11
00334 92AA ST -Y,R10
00335 9508 RET
pop_xgsetF03C:
00336 90A9 LD R10,Y+
00337 90B9 LD R11,Y+
00338 90C9 LD R12,Y+
00339 90D9 LD R13,Y+
0033A 9149 LD R20,Y+
0033B 9159 LD R21,Y+
0033C 9169 LD R22,Y+
0033D 9179 LD R23,Y+
0033E 9508 RET
neg32:
0033F 9500 COM R16
00340 9510 COM R17
00341 9520 COM R18
00342 9530 COM R19
00343 5F0F SUBI R16,0xFF
00344 4F1F SBCI R17,0xFF
00345 4F2F SBCI R18,0xFF
00346 4F3F SBCI R19,0xFF
00347 9508 RET
fpint:
00348 924A ST -Y,R4
00349 925A ST -Y,R5
0034A 926A ST -Y,R6
0034B 938A ST -Y,R24
0034C 940E 03AE CALL unpacku
0034E F111 BEQ 0x0371
0034F 2055 TST R5
00350 F0E2 BMI 0x036D
00351 E18F LDI R24,0x1F
00352 1648 CP R4,R24
00353 F4C0 BCC 0x036C
00354 E187 LDI R24,0x17
00355 1648 CP R4,R24
00356 F0D1 BEQ 0x0371
00357 F458 BCC 0x0363
00358 9441 NEG R4
00359 EE89 LDI R24,0xE9
0035A 1A48 SUB R4,R24
0035B C005 RJMP 0x0361
0035C 9535 ASR R19
0035D 9527 ROR R18
0035E 9517 ROR R17
0035F 9507 ROR R16
00360 944A DEC R4
00361 F7D1 BNE 0x035C
00362 C00E RJMP 0x0371
00363 E187 LDI R24,0x17
00364 1A48 SUB R4,R24
00365 0F00 LSL R16
00366 1F11 ROL R17
00367 1F22 ROL R18
00368 1F33 ROL R19
00369 944A DEC R4
0036A F7D1 BNE 0x0365
0036B C005 RJMP 0x0371
0036C E73F LDI R19,0x7F
0036D 2F23 MOV R18,R19
0036E 2F13 MOV R17,R19
0036F 2F03 MOV R16,R19
00370 C004 RJMP 0x0375
00371 2066 TST R6
00372 F011 BEQ 0x0375
00373 940E 033F CALL neg32
00375 9189 LD R24,Y+
00376 9069 LD R6,Y+
00377 9059 LD R5,Y+
00378 9049 LD R4,Y+
00379 9508 RET
uint2fp:
0037A 9468 BSET 6
0037B C001 RJMP 0x037D
int2fp:
0037C 94E8 BCLR 6
0037D 2722 CLR R18
0037E 2733 CLR R19
0037F F046 BRTS 0x0388
00380 FD17 SBRC R17,7
00381 9520 COM R18
00382 FD17 SBRC R17,7
00383 9530 COM R19
00384 C003 RJMP 0x0388
ulong2fp:
00385 9468 BSET 6
00386 C001 RJMP 0x0388
long2fp:
00387 94E8 BCLR 6
00388 924A ST -Y,R4
00389 925A ST -Y,R5
0038A 926A ST -Y,R6
0038B 938A ST -Y,R24
0038C E187 LDI R24,0x17
0038D 2E48 MOV R4,R24
0038E 2455 CLR R5
0038F 2466 CLR R6
00390 F036 BRTS 0x0397
00391 2333 TST R19
00392 F422 BPL 0x0397
00393 940E 033F CALL neg32
00395 E880 LDI R24,0x80
00396 2E68 MOV R6,R24
00397 940E 03C7 CALL normalize_and_pack
00399 9189 LD R24,Y+
0039A 9069 LD R6,Y+
0039B 9059 LD R5,Y+
0039C 9049 LD R4,Y+
0039D 9508 RET
unpacks:
0039E D00F RCALL unpacku
0039F F029 BEQ 0x03A5
003A0 2066 TST R6
003A1 F011 BEQ 0x03A4
003A2 940E 033F CALL neg32
003A4 9498 BCLR 1
003A5 9508 RET
tstR16_R19:
003A6 2300 TST R16
003A7 F429 BNE 0x03AD
003A8 2311 TST R17
003A9 F419 BNE 0x03AD
003AA 2322 TST R18
003AB F409 BNE 0x03AD
003AC 2333 TST R19
003AD 9508 RET
unpacku:
003AE DFF7 RCALL tstR16_R19
003AF F099 BEQ 0x03C3
003B0 938A ST -Y,R24
003B1 2E63 MOV R6,R19
003B2 E880 LDI R24,0x80
003B3 2268 AND R6,R24
003B4 0F22 LSL R18
003B5 1F33 ROL R19
003B6 2E43 MOV R4,R19
003B7 E78F LDI R24,0x7F
003B8 1A48 SUB R4,R24
003B9 2455 CLR R5
003BA 2788 CLR R24
003BB 0A58 SBC R5,R24
003BC 9526 LSR R18
003BD E830 LDI R19,0x80
003BE 2B23 OR R18,R19
003BF 2733 CLR R19
003C0 9189 LD R24,Y+
003C1 9498 BCLR 1
003C2 9508 RET
003C3 2444 CLR R4
003C4 2455 CLR R5
003C5 2466 CLR R6
003C6 9508 RET
normalize_and_pack:
003C7 DFDE RCALL tstR16_R19
003C8 F409 BNE 0x03CA
003C9 9508 RET
003CA 93AA ST -Y,R26
003CB 93BA ST -Y,R27
003CC 01D2 MOVW R26,R4
003CD 939A ST -Y,R25
003CE 938A ST -Y,R24
003CF E78E LDI R24,0x7E
003D0 E090 LDI R25,0
003D1 2333 TST R19
003D2 F049 BEQ 0x03DC
003D3 9536 LSR R19
003D4 9527 ROR R18
003D5 9517 ROR R17
003D6 9507 ROR R16
003D7 17A8 CP R26,R24
003D8 07B9 CPC R27,R25
003D9 F4CC BGE 0x03F3
003DA 9611 ADIW R26,1
003DB CFF5 RJMP 0x03D1
003DC 9580 COM R24
003DD 9590 COM R25
003DE 9601 ADIW R24,1
003DF 2322 TST R18
003E0 F0BA BMI 0x03F8
003E1 0F00 LSL R16
003E2 1F11 ROL R17
003E3 1F22 ROL R18
003E4 17A8 CP R26,R24
003E5 07B9 CPC R27,R25
003E6 F014 BLT 0x03E9
003E7 9711 SBIW R26,1
003E8 CFF6 RJMP 0x03DF
003E9 2700 CLR R16
003EA 2711 CLR R17
003EB 2722 CLR R18
003EC 2733 CLR R19
003ED 9189 LD R24,Y+
003EE 9199 LD R25,Y+
003EF 012D MOVW R4,R26
003F0 91B9 LD R27,Y+
003F1 91A9 LD R26,Y+
003F2 9508 RET
003F3 2733 CLR R19
003F4 EF0F LDI R16,0xFF
003F5 2F10 MOV R17,R16
003F6 E72F LDI R18,0x7F
003F7 2F32 MOV R19,R18
003F8 9189 LD R24,Y+
003F9 9199 LD R25,Y+
003FA 012D MOVW R4,R26
003FB C002 RJMP 0x03FE
pack:
003FC 93AA ST -Y,R26
003FD 93BA ST -Y,R27
003FE DFA7 RCALL tstR16_R19
003FF F049 BEQ 0x0409
00400 01D2 MOVW R26,R4
00401 58A1 SUBI R26,0x81
00402 4FBF SBCI R27,0xFF
00403 012D MOVW R4,R26
00404 2D34 MOV R19,R4
00405 0F22 LSL R18
00406 9536 LSR R19
00407 9527 ROR R18
00408 2936 OR R19,R6
00409 91B9 LD R27,Y+
0040A 91A9 LD R26,Y+
0040B 9508 RET
saveFPRegs:
0040C 924A ST -Y,R4
0040D 925A ST -Y,R5
0040E 926A ST -Y,R6
0040F 927A ST -Y,R7
00410 928A ST -Y,R8
00411 929A ST -Y,R9
00412 92AA ST -Y,R10
00413 92BA ST -Y,R11
00414 92CA ST -Y,R12
00415 92DA ST -Y,R13
00416 92EA ST -Y,R14
00417 92FA ST -Y,R15
00418 938A ST -Y,R24
00419 939A ST -Y,R25
0041A 9508 RET
restoreFPRegs:
0041B 9199 LD R25,Y+
0041C 9189 LD R24,Y+
0041D 90F9 LD R15,Y+
0041E 90E9 LD R14,Y+
0041F 90D9 LD R13,Y+
00420 90C9 LD R12,Y+
00421 90B9 LD R11,Y+
00422 90A9 LD R10,Y+
00423 9099 LD R9,Y+
00424 9089 LD R8,Y+
00425 9079 LD R7,Y+
00426 9069 LD R6,Y+
00427 9059 LD R5,Y+
00428 9049 LD R4,Y+
00429 9508 RET
fpmule:
0042A 940E 040C CALL saveFPRegs
0042C 93AA ST -Y,R26
0042D 93BA ST -Y,R27
0042E 940E 03AE CALL unpacku
00430 F1E1 BEQ 0x046D
00431 2CE6 MOV R14,R6
00432 2CD5 MOV R13,R5
00433 2CC4 MOV R12,R4
00434 2EB3 MOV R11,R19
00435 2EA2 MOV R10,R18
00436 2E91 MOV R9,R17
00437 2E80 MOV R8,R16
00438 8100 LD R16,Z
00439 8111 LDD R17,Z+1
0043A 8122 LDD R18,Z+2
0043B 8133 LDD R19,Z+3
0043C 940E 03AE CALL unpacku
0043E F171 BEQ 0x046D
0043F 246E EOR R6,R14
00440 0C4C ADD R4,R12
00441 1C5D ADC R5,R13
00442 E880 LDI R24,0x80
00443 1648 CP R4,R24
00444 0653 CPC R5,R19
00445 F564 BGE 0x0472
00446 E881 LDI R24,0x81
00447 1648 CP R4,R24
00448 EF8F LDI R24,0xFF
00449 0658 CPC R5,R24
0044A F16C BLT 0x0478
0044B 9EA2 MUL R10,R18
0044C 2DB1 MOV R27,R1
0044D 2DA0 MOV R26,R0
0044E 9E91 MUL R9,R17
0044F 2D91 MOV R25,R1
00450 2D80 MOV R24,R0
00451 9EA0 MUL R10,R16
00452 0D80 ADD R24,R0
00453 1D91 ADC R25,R1
00454 1FA3 ADC R26,R19
00455 1FB3 ADC R27,R19
00456 9E82 MUL R8,R18
00457 0D80 ADD R24,R0
00458 1D91 ADC R25,R1
00459 1FA3 ADC R26,R19
0045A 1FB3 ADC R27,R19
0045B 9E92 MUL R9,R18
0045C 0D90 ADD R25,R0
0045D 1DA1 ADC R26,R1
0045E 1FB3 ADC R27,R19
0045F 9EA1 MUL R10,R17
00460 0D90 ADD R25,R0
00461 1DA1 ADC R26,R1
00462 1FB3 ADC R27,R19
00463 2F2B MOV R18,R27
00464 2F1A MOV R17,R26
00465 2F09 MOV R16,R25
00466 0F88 LSL R24
00467 1F00 ROL R16
00468 1F11 ROL R17
00469 1F22 ROL R18
0046A 1F33 ROL R19
0046B 940E 03C7 CALL normalize_and_pack
0046D 91B9 LD R27,Y+
0046E 91A9 LD R26,Y+
0046F 940E 041B CALL restoreFPRegs
00471 9508 RET
00472 EF0F LDI R16,0xFF
00473 2F10 MOV R17,R16
00474 E72F LDI R18,0x7F
00475 E78F LDI R24,0x7F
00476 2E48 MOV R4,R24
00477 CFF5 RJMP 0x046D
00478 2700 CLR R16
00479 2F10 MOV R17,R16
0047A 2F20 MOV R18,R16
0047B 2F30 MOV R19,R16
0047C CFF0 RJMP 0x046D
fpmule2:
0047D 93FA ST -Y,R31
0047E 93EA ST -Y,R30
0047F 2FEC MOV R30,R28
00480 2FFD MOV R31,R29
00481 9632 ADIW R30,2
00482 940E 042A CALL fpmule
00484 91E9 LD R30,Y+
00485 91F9 LD R31,Y+
00486 9624 ADIW R28,4
00487 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -