📄 addc_icc.lst
字号:
fpint:
449 934A ST R20,-Y
44A 935A ST R21,-Y
44B 936A ST R22,-Y
44C 940E 0555 CALL unpacku
44E F0F1 BEQ 0x046D
44F 2355 TST R21
450 F0C2 BMI 0x0469
451 314F CPI R20,0x1F
452 F4A8 BCC 0x0468
453 3147 CPI R20,0x17
454 F0C1 BEQ 0x046D
455 F450 BCC 0x0460
456 9541 NEG R20
457 5E49 SUBI R20,0xE9
458 C005 RJMP 0x045E
459 9535 ASR R19
45A 9527 ROR R18
45B 9517 ROR R17
45C 9507 ROR R16
45D 954A DEC R20
45E F7D1 BNE 0x0459
45F C00D RJMP 0x046D
460 5147 SUBI R20,0x17
461 0F00 LSL R16
462 1F11 ROL R17
463 1F22 ROL R18
464 1F33 ROL R19
465 954A DEC R20
466 F7D1 BNE 0x0461
467 C005 RJMP 0x046D
468 E73F LDI R19,0x7F
469 2F23 MOV R18,R19
46A 2F13 MOV R17,R19
46B 2F03 MOV R16,R19
46C C004 RJMP 0x0471
46D 2366 TST R22
46E F011 BEQ 0x0471
46F 940E 042C CALL neg32
471 9169 LD R22,Y+
472 9159 LD R21,Y+
473 9149 LD R20,Y+
474 9508 RET
uint2fp:
475 9468 BSET 6
476 C001 RJMP 0x0478
int2fp:
477 94E8 BCLR 6
478 2722 CLR R18
479 2733 CLR R19
47A F046 BRTS 0x0483
47B FD17 SBRC R17,7
47C 9520 COM R18
47D FD17 SBRC R17,7
47E 9530 COM R19
47F C003 RJMP 0x0483
ulong2fp:
480 9468 BSET 6
481 C001 RJMP 0x0483
long2fp:
482 94E8 BCLR 6
483 934A ST R20,-Y
484 935A ST R21,-Y
485 936A ST R22,-Y
486 E147 LDI R20,0x17
487 2766 CLR R22
488 2755 CLR R21
489 F02E BRTS 0x048F
48A 2333 TST R19
48B F41A BPL 0x048F
48C 940E 042C CALL neg32
48E E860 LDI R22,0x80
48F 940E 056A CALL normalize_and_pack
491 9169 LD R22,Y+
492 9159 LD R21,Y+
493 9149 LD R20,Y+
494 9508 RET
fpdiv1:
495 93FA ST R31,-Y
496 93EA ST R30,-Y
497 81EA LDD R30,Y+2
498 81FB LDD R31,Y+3
499 D027 RCALL 0x04C1
49A 91E9 LD R30,Y+
49B 91F9 LD R31,Y+
49C 9622 ADIW R28,2
49D 9508 RET
fpdiv2:
49E 93FA ST R31,-Y
49F 93EA ST R30,-Y
4A0 2FEC MOV R30,R28
4A1 2FFD MOV R31,R29
4A2 9632 ADIW R30,2
4A3 D01D RCALL 0x04C1
4A4 91E9 LD R30,Y+
4A5 91F9 LD R31,Y+
4A6 9624 ADIW R28,4
4A7 9508 RET
fpdiv1x:
4A8 93FA ST R31,-Y
4A9 93EA ST R30,-Y
4AA 81EA LDD R30,Y+2
4AB 81FB LDD R31,Y+3
4AC D014 RCALL 0x04C1
4AD 91E9 LD R30,Y+
4AE 91F9 LD R31,Y+
4AF 8339 STD Y+1,R19
4B0 8328 STD Y+0,R18
4B1 931A ST R17,-Y
4B2 930A ST R16,-Y
4B3 9508 RET
fpdiv2x:
4B4 93FA ST R31,-Y
4B5 93EA ST R30,-Y
4B6 2FEC MOV R30,R28
4B7 2FFD MOV R31,R29
4B8 9632 ADIW R30,2
4B9 D007 RCALL 0x04C1
4BA 91E9 LD R30,Y+
4BB 91F9 LD R31,Y+
4BC 833B STD Y+3,R19
4BD 832A STD Y+2,R18
4BE 8319 STD Y+1,R17
4BF 8308 STD Y+0,R16
4C0 9508 RET
4C1 924A ST R4,-Y
4C2 925A ST R5,-Y
4C3 926A ST R6,-Y
4C4 927A ST R7,-Y
4C5 928A ST R8,-Y
4C6 929A ST R9,-Y
4C7 92AA ST R10,-Y
4C8 92BA ST R11,-Y
4C9 92CA ST R12,-Y
4CA 92DA ST R13,-Y
4CB 92EA ST R14,-Y
4CC 92FA ST R15,-Y
4CD 934A ST R20,-Y
4CE 935A ST R21,-Y
4CF 936A ST R22,-Y
4D0 937A ST R23,-Y
4D1 938A ST R24,-Y
4D2 939A ST R25,-Y
4D3 933A ST R19,-Y
4D4 932A ST R18,-Y
4D5 931A ST R17,-Y
4D6 930A ST R16,-Y
4D7 8100 LDD R16,Z+0
4D8 8111 LDD R17,Z+1
4D9 8122 LDD R18,Z+2
4DA 8133 LDD R19,Z+3
4DB 940E 0555 CALL unpacku
4DD F409 BNE 0x04DF
4DE C061 RJMP 0x0540
4DF 2EE6 MOV R14,R22
4E0 2ED5 MOV R13,R21
4E1 2EC4 MOV R12,R20
4E2 2EB3 MOV R11,R19
4E3 2EA2 MOV R10,R18
4E4 2E91 MOV R9,R17
4E5 2E80 MOV R8,R16
4E6 9109 LD R16,Y+
4E7 9119 LD R17,Y+
4E8 9129 LD R18,Y+
4E9 9139 LD R19,Y+
4EA 940E 0555 CALL unpacku
4EC F191 BEQ 0x051F
4ED 256E EOR R22,R14
4EE 194C SUB R20,R12
4EF 095D SBC R21,R13
4F0 3840 CPI R20,0x80
4F1 0753 CPC R21,R19
4F2 F00C BLT 0x04F4
4F3 C03E RJMP 0x0532
4F4 3841 CPI R20,0x81
4F5 EF7F LDI R23,0xFF
4F6 0757 CPC R21,R23
4F7 F40C BGE 0x04F9
4F8 C042 RJMP 0x053B
4F9 E280 LDI R24,0x20
4FA 2477 CLR R7
4FB 2E63 MOV R6,R19
4FC 2E52 MOV R5,R18
4FD 2E41 MOV R4,R17
4FE 2F30 MOV R19,R16
4FF 2722 CLR R18
500 2711 CLR R17
501 2700 CLR R16
502 9466 LSR R6
503 9457 ROR R5
504 9447 ROR R4
505 9537 ROR R19
506 9527 ROR R18
507 0F00 LSL R16
508 1F11 ROL R17
509 1F22 ROL R18
50A 1F33 ROL R19
50B 1C44 ROL R4
50C 1C55 ROL R5
50D 1C66 ROL R6
50E 1C77 ROL R7
50F F028 BCS 0x0515
510 1848 SUB R4,R8
511 0859 SBC R5,R9
512 086A SBC R6,R10
513 087B SBC R7,R11
514 C004 RJMP 0x0519
515 0C48 ADD R4,R8
516 1C59 ADC R5,R9
517 1C6A ADC R6,R10
518 1C7B ADC R7,R11
519 F00A BMI 0x051B
51A 6001 ORI R16,1
51B 958A DEC R24
51C F751 BNE 0x0507
51D 940E 056A CALL normalize_and_pack
51F 9199 LD R25,Y+
520 9189 LD R24,Y+
521 9179 LD R23,Y+
522 9169 LD R22,Y+
523 9159 LD R21,Y+
524 9149 LD R20,Y+
525 90F9 LD R15,Y+
526 90E9 LD R14,Y+
527 90D9 LD R13,Y+
528 90C9 LD R12,Y+
529 90B9 LD R11,Y+
52A 90A9 LD R10,Y+
52B 9099 LD R9,Y+
52C 9089 LD R8,Y+
52D 9079 LD R7,Y+
52E 9069 LD R6,Y+
52F 9059 LD R5,Y+
530 9049 LD R4,Y+
531 9508 RET
532 EF0F LDI R16,0xFF
533 2F10 MOV R17,R16
534 E72F LDI R18,0x7F
535 E73F LDI R19,0x7F
536 2366 TST R22
537 F339 BEQ 0x051F
538 940E 042C CALL neg32
53A CFE4 RJMP 0x051F
53B 2700 CLR R16
53C 2F10 MOV R17,R16
53D 2F20 MOV R18,R16
53E 2F30 MOV R19,R16
53F CFDF RJMP 0x051F
540 9109 LD R16,Y+
541 9119 LD R17,Y+
542 9129 LD R18,Y+
543 9139 LD R19,Y+
544 CFED RJMP 0x0532
unpacks:
545 D00F RCALL unpacku
546 F029 BEQ 0x054C
547 2366 TST R22
548 F011 BEQ 0x054B
549 940E 042C CALL neg32
54B 9498 BCLR 1
54C 9508 RET
tstR16_R19:
54D 2300 TST R16
54E F429 BNE 0x0554
54F 2311 TST R17
550 F419 BNE 0x0554
551 2322 TST R18
552 F409 BNE 0x0554
553 2333 TST R19
554 9508 RET
unpacku:
555 DFF7 RCALL tstR16_R19
556 F079 BEQ 0x0566
557 2F63 MOV R22,R19
558 7860 ANDI R22,0x80
559 0F22 LSL R18
55A 1F33 ROL R19
55B 2F43 MOV R20,R19
55C E75F LDI R21,0x7F
55D 1B45 SUB R20,R21
55E 2755 CLR R21
55F 4050 SBCI R21,0
560 9526 LSR R18
561 E830 LDI R19,0x80
562 2B23 OR R18,R19
563 2733 CLR R19
564 9498 BCLR 1
565 9508 RET
566 2744 CLR R20
567 2755 CLR R21
568 2766 CLR R22
569 9508 RET
normalize_and_pack:
56A DFE2 RCALL tstR16_R19
56B F121 BEQ 0x0590
56C 939A ST R25,-Y
56D 938A ST R24,-Y
56E E78E LDI R24,0x7E
56F E090 LDI R25,0
570 2333 TST R19
571 F051 BEQ 0x057C
572 9536 LSR R19
573 9527 ROR R18
574 9517 ROR R17
575 9507 ROR R16
576 1748 CP R20,R24
577 0759 CPC R21,R25
578 F4C4 BGE 0x0591
579 5F4F SUBI R20,0xFF
57A 4F5F SBCI R21,0xFF
57B CFF4 RJMP 0x0570
57C 9580 COM R24
57D 9590 COM R25
57E 9601 ADIW R24,1
57F 2322 TST R18
580 F0AA BMI 0x0596
581 0F00 LSL R16
582 1F11 ROL R17
583 1F22 ROL R18
584 1748 CP R20,R24
585 0759 CPC R21,R25
586 F01C BLT 0x058A
587 5041 SUBI R20,1
588 4050 SBCI R21,0
589 CFF5 RJMP 0x057F
58A 2700 CLR R16
58B 2711 CLR R17
58C 2722 CLR R18
58D 2733 CLR R19
58E 9189 LD R24,Y+
58F 9199 LD R25,Y+
590 9508 RET
591 2733 CLR R19
592 EF0F LDI R16,0xFF
593 2F10 MOV R17,R16
594 E72F LDI R18,0x7F
595 2F32 MOV R19,R18
596 9189 LD R24,Y+
597 9199 LD R25,Y+
pack:
598 DFB4 RCALL tstR16_R19
599 F039 BEQ 0x05A1
59A 5841 SUBI R20,0x81
59B 4F5F SBCI R21,0xFF
59C 2F34 MOV R19,R20
59D 0F22 LSL R18
59E 9536 LSR R19
59F 9527 ROR R18
5A0 2B36 OR R19,R22
5A1 9508 RET
fpneg:
5A2 DFAA RCALL tstR16_R19
5A3 F021 BEQ 0x05A8
5A4 930F PUSH R16
5A5 E800 LDI R16,0x80
5A6 2730 EOR R19,R16
5A7 910F POP R16
5A8 9508 RET
fpneg2:
5A9 DFF8 RCALL fpneg
5AA 933A ST R19,-Y
5AB 932A ST R18,-Y
5AC 931A ST R17,-Y
5AD 930A ST R16,-Y
5AE 9508 RET
saveR8toR25:
5AF 928A ST R8,-Y
5B0 929A ST R9,-Y
5B1 92AA ST R10,-Y
5B2 92BA ST R11,-Y
5B3 92CA ST R12,-Y
5B4 92DA ST R13,-Y
5B5 92EA ST R14,-Y
5B6 92FA ST R15,-Y
5B7 934A ST R20,-Y
5B8 935A ST R21,-Y
5B9 936A ST R22,-Y
5BA 937A ST R23,-Y
5BB 938A ST R24,-Y
5BC 939A ST R25,-Y
5BD 9508 RET
restoreR8toR25:
5BE 9199 LD R25,Y+
5BF 9189 LD R24,Y+
5C0 9179 LD R23,Y+
5C1 9169 LD R22,Y+
5C2 9159 LD R21,Y+
5C3 9149 LD R20,Y+
5C4 90F9 LD R15,Y+
5C5 90E9 LD R14,Y+
5C6 90D9 LD R13,Y+
5C7 90C9 LD R12,Y+
5C8 90B9 LD R11,Y+
5C9 90A9 LD R10,Y+
5CA 9099 LD R9,Y+
5CB 9089 LD R8,Y+
5CC 9508 RET
fpmule:
5CD 940E 05AF CALL saveR8toR25
5CF 93AA ST R26,-Y
5D0 93BA ST R27,-Y
5D1 940E 0555 CALL unpacku
5D3 F1D1 BEQ 0x060E
5D4 2EE6 MOV R14,R22
5D5 2ED5 MOV R13,R21
5D6 2EC4 MOV R12,R20
5D7 2EB3 MOV R11,R19
5D8 2EA2 MOV R10,R18
5D9 2E91 MOV R9,R17
5DA 2E80 MOV R8,R16
5DB 8100 LDD R16,Z+0
5DC 8111 LDD R17,Z+1
5DD 8122 LDD R18,Z+2
5DE 8133 LDD R19,Z+3
5DF 940E 0555 CALL unpacku
5E1 F161 BEQ 0x060E
5E2 256E EOR R22,R14
5E3 0D4C ADD R20,R12
5E4 1D5D ADC R21,R13
5E5 3840 CPI R20,0x80
5E6 0753 CPC R21,R19
5E7 F55C BGE 0x0613
5E8 3841 CPI R20,0x81
5E9 EF7F LDI R23,0xFF
5EA 0757 CPC R21,R23
5EB F164 BLT 0x0618
5EC 9EA2 MUL R10,R18
5ED 2DB1 MOV R27,R1
5EE 2DA0 MOV R26,R0
5EF 9E91 MUL R9,R17
5F0 2D91 MOV R25,R1
5F1 2D80 MOV R24,R0
5F2 9EA0 MUL R10,R16
5F3 0D80 ADD R24,R0
5F4 1D91 ADC R25,R1
5F5 1FA3 ADC R26,R19
5F6 1FB3 ADC R27,R19
5F7 9E82 MUL R8,R18
5F8 0D80 ADD R24,R0
5F9 1D91 ADC R25,R1
5FA 1FA3 ADC R26,R19
5FB 1FB3 ADC R27,R19
5FC 9E92 MUL R9,R18
5FD 0D90 ADD R25,R0
5FE 1DA1 ADC R26,R1
5FF 1FB3 ADC R27,R19
600 9EA1 MUL R10,R17
601 0D90 ADD R25,R0
602 1DA1 ADC R26,R1
603 1FB3 ADC R27,R19
604 2F2B MOV R18,R27
605 2F1A MOV R17,R26
606 2F09 MOV R16,R25
607 0F88 LSL R24
608 1F00 ROL R16
609 1F11 ROL R17
60A 1F22 ROL R18
60B 1F33 ROL R19
60C 940E 056A CALL normalize_and_pack
60E 91B9 LD R27,Y+
60F 91A9 LD R26,Y+
610 940E 05BE CALL restoreR8toR25
612 9508 RET
613 EF0F LDI R16,0xFF
614 2F10 MOV R17,R16
615 E72F LDI R18,0x7F
616 E74F LDI R20,0x7F
617 CFF6 RJMP 0x060E
618 2700 CLR R16
619 2F10 MOV R17,R16
61A 2F20 MOV R18,R16
61B 2F30 MOV R19,R16
61C CFF1 RJMP 0x060E
fpmule1:
61D 93FA ST R31,-Y
61E 93EA ST R30,-Y
61F 81EA LDD R30,Y+2
620 81FB LDD R31,Y+3
621 940E 05CD CALL fpmule
623 91E9 LD R30,Y+
624 91F9 LD R31,Y+
625 9622 ADIW R28,2
626 9508 RET
fpmule2:
627 93FA ST R31,-Y
628 93EA ST R30,-Y
629 2FEC MOV R30,R28
62A 2FFD MOV R31,R29
62B 9632 ADIW R30,2
62C 940E 05CD CALL fpmule
62E 91E9 LD R30,Y+
62F 91F9 LD R31,Y+
630 9624 ADIW R28,4
631 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -