📄 adc.lst
字号:
0370 9119 LD R17,Y+
0371 9109 LD R16,Y+
0372 9508 RET
unpack:
0373 2F83 MOV R24,R19
0374 E8B0 LDI R27,0x80
0375 0F22 LSL R18
0376 1F33 ROL R19
0377 273B EOR R19,R27
0378 0FBB LSL R27
0379 9527 ROR R18
037A 7880 ANDI R24,0x80
037B 2FA9 MOV R26,R25
037C E8B0 LDI R27,0x80
037D 0C44 LSL R4
037E 1F99 ROL R25
037F 279B EOR R25,R27
0380 0FBB LSL R27
0381 9447 ROR R4
0382 78A0 ANDI R26,0x80
0383 3830 CPI R19,0x80
0384 9508 RET
repack:
0385 0F22 LSL R18
0386 E8B0 LDI R27,0x80
0387 27B3 EOR R27,R19
0388 0F88 LSL R24
0389 95B7 ROR R27
038A 9527 ROR R18
038B 2F3B MOV R19,R27
038C 9508 RET
div32fs:
038D D002 RCALL div32f
038E 940C0262 JMP push_arg4
div32f:
0390 940E02EA CALL float_prolog
0392 D023 RCALL FDIV
0393 940C02E3 JMP float_epilog
0395 93BA ST R27,-Y
0396 24DD CLR R13
0397 24EE CLR R14
0398 24FF CLR R15
0399 E1B8 LDI R27,0x18
039A 1502 CP R16,R2
039B 0513 CPC R17,R3
039C 0524 CPC R18,R4
039D F028 BCS 0x03A3
039E 1902 SUB R16,R2
039F 0913 SBC R17,R3
03A0 0924 SBC R18,R4
03A1 9408 BSET 0
03A2 C001 RJMP 0x03A4
03A3 9488 BCLR 0
03A4 1CDD ROL R13
03A5 1CEE ROL R14
03A6 1CFF ROL R15
03A7 0F00 LSL R16
03A8 1F11 ROL R17
03A9 1F22 ROL R18
03AA 95BA DEC R27
03AB F771 BNE 0x039A
03AC 2D0D MOV R16,R13
03AD 2D1E MOV R17,R14
03AE 2D2F MOV R18,R15
03AF 91B9 LD R27,Y+
03B0 9508 RET
fdiv10:
03B1 2422 CLR R2
03B2 2433 CLR R3
03B3 E2B0 LDI R27,0x20
03B4 2E4B MOV R4,R27
03B5 E491 LDI R25,0x41
FDIV:
03B6 2399 TST R25
03B7 F129 BEQ 0x03DD
03B8 2333 TST R19
03B9 F151 BEQ 0x03E4
03BA 940E0373 CALL unpack
03BC F139 BEQ 0x03E4
03BD 278A EOR R24,R26
03BE 9408 BSET 0
03BF 0B39 SBC R19,R25
03C0 F0EB BVS 0x03DE
03C1 9446 LSR R4
03C2 9437 ROR R3
03C3 9427 ROR R2
03C4 9526 LSR R18
03C5 9517 ROR R17
03C6 9507 ROR R16
03C7 DFCD RCALL 0x0395
03C8 2322 TST R18
03C9 F02A BMI 0x03CF
03CA 0F00 LSL R16
03CB 1F11 ROL R17
03CC 1F22 ROL R18
03CD 5031 SUBI R19,1
03CE F07B BVS 0x03DE
03CF 2FB0 MOV R27,R16
03D0 95B6 LSR R27
03D1 F048 BCS 0x03DB
03D2 2300 TST R16
03D3 F43A BPL 0x03DB
03D4 2311 TST R17
03D5 F42A BPL 0x03DB
03D6 E0B1 LDI R27,1
03D7 0F0B ADD R16,R27
03D8 27BB CLR R27
03D9 1F1B ADC R17,R27
03DA 1F2B ADC R18,R27
03DB 940C0385 JMP repack
03DD C006 RJMP 0x03E4
03DE E7BF LDI R27,0x7F
03DF 2F3B MOV R19,R27
03E0 2B2B OR R18,R27
03E1 EF0F LDI R16,0xFF
03E2 EF1F LDI R17,0xFF
03E3 9508 RET
03E4 2700 CLR R16
03E5 2711 CLR R17
03E6 2722 CLR R18
03E7 2733 CLR R19
03E8 2788 CLR R24
03E9 9508 RET
cmp32f:
03EA 940E02EA CALL float_prolog
03EC D002 RCALL FLTCP
03ED 940C02E3 JMP float_epilog
FLTCP:
03EF D002 RCALL 0x03F2
03F0 23BB TST R27
03F1 9508 RET
03F2 2333 TST R19
03F3 F082 BMI 0x0404
03F4 2399 TST R25
03F5 F042 BMI 0x03FE
03F6 1739 CP R19,R25
03F7 F040 BCS 0x0400
03F8 F429 BNE 0x03FE
03F9 1502 CP R16,R2
03FA 0513 CPC R17,R3
03FB 0524 CPC R18,R4
03FC F018 BCS 0x0400
03FD F021 BEQ 0x0402
03FE E0B1 LDI R27,1
03FF 9508 RET
0400 EFBF LDI R27,0xFF
0401 9508 RET
0402 27BB CLR R27
0403 9508 RET
0404 2399 TST R25
0405 F7D2 BPL 0x0400
0406 1739 CP R19,R25
0407 F3B0 BCS 0x03FE
0408 F7B9 BNE 0x0400
0409 1502 CP R16,R2
040A 0513 CPC R17,R3
040B 0524 CPC R18,R4
040C F388 BCS 0x03FE
040D F3A1 BEQ 0x0402
040E CFF1 RJMP 0x0400
040F E7BF LDI R27,0x7F
0410 2F3B MOV R19,R27
0411 2B2B OR R18,R27
0412 EF0F LDI R16,0xFF
0413 EF1F LDI R17,0xFF
0414 9508 RET
0415 2700 CLR R16
0416 2711 CLR R17
0417 2722 CLR R18
0418 2733 CLR R19
0419 2788 CLR R24
041A 9508 RET
empy32fs:
041B D002 RCALL empy32f
041C 940C0262 JMP push_arg4
empy32f:
041E 940E02EA CALL float_prolog
0420 920F PUSH R0
0421 92CF PUSH R12
0422 D004 RCALL eFMUL
0423 90CF POP R12
0424 900F POP R0
0425 940C02E3 JMP float_epilog
eFMUL:
0427 940E0373 CALL unpack
0429 F359 BEQ 0x0415
042A 3890 CPI R25,0x80
042B F349 BEQ 0x0415
042C 278A EOR R24,R26
042D 9408 BSET 0
042E 1F39 ADC R19,R25
042F F2FB BVS 0x040F
0430 D00E RCALL eumul24
0431 2D2F MOV R18,R15
0432 2D1E MOV R17,R14
0433 2D0D MOV R16,R13
0434 2322 TST R18
0435 F02A BMI 0x043B
0436 953A DEC R19
0437 0CCC LSL R12
0438 1F00 ROL R16
0439 1F11 ROL R17
043A 1F22 ROL R18
043B 5F3F SUBI R19,0xFF
043C F293 BVS 0x040F
043D 940C0385 JMP repack
eumul24:
043F 9D22 MUL R18,R2
0440 2CC0 MOV R12,R0
0441 2CD1 MOV R13,R1
0442 9D24 MUL R18,R4
0443 2CE0 MOV R14,R0
0444 2CF1 MOV R15,R1
0445 9D14 MUL R17,R4
0446 0CC1 ADD R12,R1
0447 1EDB ADC R13,R27
0448 1EEB ADC R14,R27
0449 1EFB ADC R15,R27
044A 9D03 MUL R16,R3
044B 0CC1 ADD R12,R1
044C 1EDB ADC R13,R27
044D 1EEB ADC R14,R27
044E 1EFB ADC R15,R27
044F 9D13 MUL R17,R3
0450 0CC0 ADD R12,R0
0451 1CD1 ADC R13,R1
0452 1EEB ADC R14,R27
0453 1EFB ADC R15,R27
0454 9D04 MUL R16,R4
0455 0CC0 ADD R12,R0
0456 1CD1 ADC R13,R1
0457 1EEB ADC R14,R27
0458 1EFB ADC R15,R27
0459 9D23 MUL R18,R3
045A 0CD0 ADD R13,R0
045B 1CE1 ADC R14,R1
045C 1EFB ADC R15,R27
045D 9D14 MUL R17,R4
045E 0CD0 ADD R13,R0
045F 1CE1 ADC R14,R1
0460 1EFB ADC R15,R27
0461 F41A BPL 0x0465
0462 94D3 INC R13
0463 1EEB ADC R14,R27
0464 1EFB ADC R15,R27
0465 9508 RET
int2fp:
0466 2722 CLR R18
0467 FD17 SBRC R17,7
0468 9520 COM R18
0469 2733 CLR R19
046A FD27 SBRC R18,7
046B 9530 COM R19
long2fp:
046C 940E04DE CALL savfacc1
046E D002 RCALL ITOF
046F 940C04E1 JMP restorefacc1
ITOF:
0471 2788 CLR R24
0472 2333 TST R19
0473 F41A BPL 0x0477
0474 940E02A1 CALL neg32
0476 9580 COM R24
0477 2FB0 MOV R27,R16
0478 2BB1 OR R27,R17
0479 2BB2 OR R27,R18
047A 2BB3 OR R27,R19
047B F411 BNE 0x047E
047C 940C035B JMP minres
047E E1B6 LDI R27,0x16
047F C005 RJMP 0x0485
0480 95B3 INC R27
0481 9536 LSR R19
0482 9527 ROR R18
0483 9517 ROR R17
0484 9507 ROR R16
0485 2333 TST R19
0486 F7C9 BNE 0x0480
0487 2322 TST R18
0488 F449 BNE 0x0492
0489 50B8 SUBI R27,0x8
048A 2F21 MOV R18,R17
048B 2F10 MOV R17,R16
048C E000 LDI R16,0
048D CFF9 RJMP 0x0487
048E 95BA DEC R27
048F 0F00 LSL R16
0490 1F11 ROL R17
0491 1F22 ROL R18
0492 F7DA BPL 0x048E
0493 2F3B MOV R19,R27
0494 940C0385 JMP repack
fp2int:
0496 940E04DE CALL savfacc1
0498 D014 RCALL 0x04AD
0499 2F02 MOV R16,R18
049A 2F13 MOV R17,R19
049B FD87 SBRC R24,7
049C C002 RJMP 0x049F
049D 940C04E1 JMP restorefacc1
049F 9510 COM R17
04A0 9501 NEG R16
04A1 4F1F SBCI R17,0xFF
04A2 940C04E1 JMP restorefacc1
fp2long:
04A4 940E04DE CALL savfacc1
04A6 D008 RCALL 0x04AF
04A7 FF87 SBRS R24,7
04A8 C002 RJMP 0x04AB
04A9 940E02A1 CALL neg32
04AB 940C04E1 JMP restorefacc1
04AD E0BE LDI R27,0xE
04AE C001 RJMP 0x04B0
04AF E1BE LDI R27,0x1E
04B0 940E04E4 CALL unpackfacc1
04B2 F069 BEQ 0x04C0
04B3 1BB3 SUB R27,R19
04B4 F009 BEQ 0x04B6
04B5 F472 BPL 0x04C4
04B6 2388 TST R24
04B7 F022 BMI 0x04BC
04B8 E010 LDI R17,0
04B9 E90C LDI R16,0x9C
04BA 940C02AA JMP lpm32
04BC E010 LDI R17,0
04BD EA02 LDI R16,0xA2
04BE 940C02AA JMP lpm32
04C0 E010 LDI R17,0
04C1 EA00 LDI R16,0xA0
04C2 940C02AA JMP lpm32
04C4 9533 INC R19
04C5 F3D2 BMI 0x04C0
04C6 E030 LDI R19,0
04C7 50B8 SUBI R27,0x8
04C8 F452 BPL 0x04D3
04C9 5FB8 SUBI R27,0xF8
04CA 2F32 MOV R19,R18
04CB 2F21 MOV R18,R17
04CC 2F10 MOV R17,R16
04CD E800 LDI R16,0x80
04CE C006 RJMP 0x04D5
04CF 2F01 MOV R16,R17
04D0 2F12 MOV R17,R18
04D1 E020 LDI R18,0
04D2 50B8 SUBI R27,0x8
04D3 30B8 CPI R27,0x8
04D4 F7D0 BCC 0x04CF
04D5 23BB TST R27
04D6 F031 BEQ 0x04DD
04D7 9536 LSR R19
04D8 9527 ROR R18
04D9 9517 ROR R17
04DA 9507 ROR R16
04DB 95BA DEC R27
04DC F7D1 BNE 0x04D7
04DD 9508 RET
savfacc1:
04DE 938A ST R24,-Y
04DF 93BA ST R27,-Y
04E0 9508 RET
restorefacc1:
04E1 91B9 LD R27,Y+
04E2 9189 LD R24,Y+
04E3 9508 RET
unpackfacc1:
04E4 2F83 MOV R24,R19
04E5 7880 ANDI R24,0x80
04E6 0F22 LSL R18
04E7 1F33 ROL R19
04E8 5830 SUBI R19,0x80
04E9 9408 BSET 0
04EA 9527 ROR R18
04EB 3830 CPI R19,0x80
04EC 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -