📄 avr_gy-27.lst
字号:
3FF 81FB LDD R31,Y+3
400 940E 038C CALL fpadd
402 91E9 LD R30,Y+
403 91F9 LD R31,Y+
404 8339 STD Y+1,R19
405 8328 STD Y+0,R18
406 931A ST R17,-Y
407 930A ST R16,-Y
408 9508 RET
fpadd2:
409 93FA ST R31,-Y
40A 93EA ST R30,-Y
40B 2FEC MOV R30,R28
40C 2FFD MOV R31,R29
40D 9632 ADIW R30,2
40E 940E 038C CALL fpadd
410 91E9 LD R30,Y+
411 91F9 LD R31,Y+
412 9624 ADIW R28,4
413 9508 RET
fpadd2x:
414 93FA ST R31,-Y
415 93EA ST R30,-Y
416 2FEC MOV R30,R28
417 2FFD MOV R31,R29
418 9632 ADIW R30,2
419 940E 038C CALL fpadd
41B 91E9 LD R30,Y+
41C 91F9 LD R31,Y+
41D 833B STD Y+3,R19
41E 832A STD Y+2,R18
41F 8319 STD Y+1,R17
420 8308 STD Y+0,R16
421 9508 RET
fpsub2:
422 93FA ST R31,-Y
423 93EA ST R30,-Y
424 2FEC MOV R30,R28
425 2FFD MOV R31,R29
426 9632 ADIW R30,2
427 940E 038A CALL fpsub
429 91E9 LD R30,Y+
42A 91F9 LD R31,Y+
42B 9624 ADIW R28,4
42C 9508 RET
fpint:
42D 934A ST R20,-Y
42E 935A ST R21,-Y
42F 936A ST R22,-Y
430 940E 0539 CALL unpacku
432 F0F1 BEQ 0x0451
433 2355 TST R21
434 F0C2 BMI 0x044D
435 314F CPI R20,0x1F
436 F4A8 BCC 0x044C
437 3147 CPI R20,0x17
438 F0C1 BEQ 0x0451
439 F450 BCC 0x0444
43A 9541 NEG R20
43B 5E49 SUBI R20,0xE9
43C C005 RJMP 0x0442
43D 9535 ASR R19
43E 9527 ROR R18
43F 9517 ROR R17
440 9507 ROR R16
441 954A DEC R20
442 F7D1 BNE 0x043D
443 C00D RJMP 0x0451
444 5147 SUBI R20,0x17
445 0F00 LSL R16
446 1F11 ROL R17
447 1F22 ROL R18
448 1F33 ROL R19
449 954A DEC R20
44A F7D1 BNE 0x0445
44B C005 RJMP 0x0451
44C E73F LDI R19,0x7F
44D 2F23 MOV R18,R19
44E 2F13 MOV R17,R19
44F 2F03 MOV R16,R19
450 C004 RJMP 0x0455
451 2366 TST R22
452 F011 BEQ 0x0455
453 940E 0375 CALL neg32
455 9169 LD R22,Y+
456 9159 LD R21,Y+
457 9149 LD R20,Y+
458 9508 RET
uint2fp:
459 9468 BSET 6
45A C001 RJMP 0x045C
int2fp:
45B 94E8 BCLR 6
45C 2722 CLR R18
45D 2733 CLR R19
45E F046 BRTS 0x0467
45F FD17 SBRC R17,7
460 9520 COM R18
461 FD17 SBRC R17,7
462 9530 COM R19
463 C003 RJMP 0x0467
ulong2fp:
464 9468 BSET 6
465 C001 RJMP 0x0467
long2fp:
466 94E8 BCLR 6
467 934A ST R20,-Y
468 935A ST R21,-Y
469 936A ST R22,-Y
46A E147 LDI R20,0x17
46B 2766 CLR R22
46C 2755 CLR R21
46D F02E BRTS 0x0473
46E 2333 TST R19
46F F41A BPL 0x0473
470 940E 0375 CALL neg32
472 E860 LDI R22,0x80
473 940E 054E CALL normalize_and_pack
475 9169 LD R22,Y+
476 9159 LD R21,Y+
477 9149 LD R20,Y+
478 9508 RET
fpdiv1:
479 93FA ST R31,-Y
47A 93EA ST R30,-Y
47B 81EA LDD R30,Y+2
47C 81FB LDD R31,Y+3
47D D027 RCALL 0x04A5
47E 91E9 LD R30,Y+
47F 91F9 LD R31,Y+
480 9622 ADIW R28,2
481 9508 RET
fpdiv2:
482 93FA ST R31,-Y
483 93EA ST R30,-Y
484 2FEC MOV R30,R28
485 2FFD MOV R31,R29
486 9632 ADIW R30,2
487 D01D RCALL 0x04A5
488 91E9 LD R30,Y+
489 91F9 LD R31,Y+
48A 9624 ADIW R28,4
48B 9508 RET
fpdiv1x:
48C 93FA ST R31,-Y
48D 93EA ST R30,-Y
48E 81EA LDD R30,Y+2
48F 81FB LDD R31,Y+3
490 D014 RCALL 0x04A5
491 91E9 LD R30,Y+
492 91F9 LD R31,Y+
493 8339 STD Y+1,R19
494 8328 STD Y+0,R18
495 931A ST R17,-Y
496 930A ST R16,-Y
497 9508 RET
fpdiv2x:
498 93FA ST R31,-Y
499 93EA ST R30,-Y
49A 2FEC MOV R30,R28
49B 2FFD MOV R31,R29
49C 9632 ADIW R30,2
49D D007 RCALL 0x04A5
49E 91E9 LD R30,Y+
49F 91F9 LD R31,Y+
4A0 833B STD Y+3,R19
4A1 832A STD Y+2,R18
4A2 8319 STD Y+1,R17
4A3 8308 STD Y+0,R16
4A4 9508 RET
4A5 924A ST R4,-Y
4A6 925A ST R5,-Y
4A7 926A ST R6,-Y
4A8 927A ST R7,-Y
4A9 928A ST R8,-Y
4AA 929A ST R9,-Y
4AB 92AA ST R10,-Y
4AC 92BA ST R11,-Y
4AD 92CA ST R12,-Y
4AE 92DA ST R13,-Y
4AF 92EA ST R14,-Y
4B0 92FA ST R15,-Y
4B1 934A ST R20,-Y
4B2 935A ST R21,-Y
4B3 936A ST R22,-Y
4B4 937A ST R23,-Y
4B5 938A ST R24,-Y
4B6 939A ST R25,-Y
4B7 933A ST R19,-Y
4B8 932A ST R18,-Y
4B9 931A ST R17,-Y
4BA 930A ST R16,-Y
4BB 8100 LDD R16,Z+0
4BC 8111 LDD R17,Z+1
4BD 8122 LDD R18,Z+2
4BE 8133 LDD R19,Z+3
4BF 940E 0539 CALL unpacku
4C1 F409 BNE 0x04C3
4C2 C061 RJMP 0x0524
4C3 2EE6 MOV R14,R22
4C4 2ED5 MOV R13,R21
4C5 2EC4 MOV R12,R20
4C6 2EB3 MOV R11,R19
4C7 2EA2 MOV R10,R18
4C8 2E91 MOV R9,R17
4C9 2E80 MOV R8,R16
4CA 9109 LD R16,Y+
4CB 9119 LD R17,Y+
4CC 9129 LD R18,Y+
4CD 9139 LD R19,Y+
4CE 940E 0539 CALL unpacku
4D0 F191 BEQ 0x0503
4D1 256E EOR R22,R14
4D2 194C SUB R20,R12
4D3 095D SBC R21,R13
4D4 3840 CPI R20,0x80
4D5 0753 CPC R21,R19
4D6 F00C BLT 0x04D8
4D7 C03E RJMP 0x0516
4D8 3841 CPI R20,0x81
4D9 EF7F LDI R23,0xFF
4DA 0757 CPC R21,R23
4DB F40C BGE 0x04DD
4DC C042 RJMP 0x051F
4DD E280 LDI R24,0x20
4DE 2477 CLR R7
4DF 2E63 MOV R6,R19
4E0 2E52 MOV R5,R18
4E1 2E41 MOV R4,R17
4E2 2F30 MOV R19,R16
4E3 2722 CLR R18
4E4 2711 CLR R17
4E5 2700 CLR R16
4E6 9466 LSR R6
4E7 9457 ROR R5
4E8 9447 ROR R4
4E9 9537 ROR R19
4EA 9527 ROR R18
4EB 0F00 LSL R16
4EC 1F11 ROL R17
4ED 1F22 ROL R18
4EE 1F33 ROL R19
4EF 1C44 ROL R4
4F0 1C55 ROL R5
4F1 1C66 ROL R6
4F2 1C77 ROL R7
4F3 F028 BCS 0x04F9
4F4 1848 SUB R4,R8
4F5 0859 SBC R5,R9
4F6 086A SBC R6,R10
4F7 087B SBC R7,R11
4F8 C004 RJMP 0x04FD
4F9 0C48 ADD R4,R8
4FA 1C59 ADC R5,R9
4FB 1C6A ADC R6,R10
4FC 1C7B ADC R7,R11
4FD F00A BMI 0x04FF
4FE 6001 ORI R16,1
4FF 958A DEC R24
500 F751 BNE 0x04EB
501 940E 054E CALL normalize_and_pack
503 9199 LD R25,Y+
504 9189 LD R24,Y+
505 9179 LD R23,Y+
506 9169 LD R22,Y+
507 9159 LD R21,Y+
508 9149 LD R20,Y+
509 90F9 LD R15,Y+
50A 90E9 LD R14,Y+
50B 90D9 LD R13,Y+
50C 90C9 LD R12,Y+
50D 90B9 LD R11,Y+
50E 90A9 LD R10,Y+
50F 9099 LD R9,Y+
510 9089 LD R8,Y+
511 9079 LD R7,Y+
512 9069 LD R6,Y+
513 9059 LD R5,Y+
514 9049 LD R4,Y+
515 9508 RET
516 EF0F LDI R16,0xFF
517 2F10 MOV R17,R16
518 E72F LDI R18,0x7F
519 E73F LDI R19,0x7F
51A 2366 TST R22
51B F339 BEQ 0x0503
51C 940E 0375 CALL neg32
51E CFE4 RJMP 0x0503
51F 2700 CLR R16
520 2F10 MOV R17,R16
521 2F20 MOV R18,R16
522 2F30 MOV R19,R16
523 CFDF RJMP 0x0503
524 9109 LD R16,Y+
525 9119 LD R17,Y+
526 9129 LD R18,Y+
527 9139 LD R19,Y+
528 CFED RJMP 0x0516
unpacks:
529 D00F RCALL unpacku
52A F029 BEQ 0x0530
52B 2366 TST R22
52C F011 BEQ 0x052F
52D 940E 0375 CALL neg32
52F 9498 BCLR 1
530 9508 RET
tstR16_R19:
531 2300 TST R16
532 F429 BNE 0x0538
533 2311 TST R17
534 F419 BNE 0x0538
535 2322 TST R18
536 F409 BNE 0x0538
537 2333 TST R19
538 9508 RET
unpacku:
539 DFF7 RCALL tstR16_R19
53A F079 BEQ 0x054A
53B 2F63 MOV R22,R19
53C 7860 ANDI R22,0x80
53D 0F22 LSL R18
53E 1F33 ROL R19
53F 2F43 MOV R20,R19
540 E75F LDI R21,0x7F
541 1B45 SUB R20,R21
542 2755 CLR R21
543 4050 SBCI R21,0
544 9526 LSR R18
545 E830 LDI R19,0x80
546 2B23 OR R18,R19
547 2733 CLR R19
548 9498 BCLR 1
549 9508 RET
54A 2744 CLR R20
54B 2755 CLR R21
54C 2766 CLR R22
54D 9508 RET
normalize_and_pack:
54E DFE2 RCALL tstR16_R19
54F F121 BEQ 0x0574
550 939A ST R25,-Y
551 938A ST R24,-Y
552 E78E LDI R24,0x7E
553 E090 LDI R25,0
554 2333 TST R19
555 F051 BEQ 0x0560
556 9536 LSR R19
557 9527 ROR R18
558 9517 ROR R17
559 9507 ROR R16
55A 1748 CP R20,R24
55B 0759 CPC R21,R25
55C F4C4 BGE 0x0575
55D 5F4F SUBI R20,0xFF
55E 4F5F SBCI R21,0xFF
55F CFF4 RJMP 0x0554
560 9580 COM R24
561 9590 COM R25
562 9601 ADIW R24,1
563 2322 TST R18
564 F0AA BMI 0x057A
565 0F00 LSL R16
566 1F11 ROL R17
567 1F22 ROL R18
568 1748 CP R20,R24
569 0759 CPC R21,R25
56A F01C BLT 0x056E
56B 5041 SUBI R20,1
56C 4050 SBCI R21,0
56D CFF5 RJMP 0x0563
56E 2700 CLR R16
56F 2711 CLR R17
570 2722 CLR R18
571 2733 CLR R19
572 9189 LD R24,Y+
573 9199 LD R25,Y+
574 9508 RET
575 2733 CLR R19
576 EF0F LDI R16,0xFF
577 2F10 MOV R17,R16
578 E72F LDI R18,0x7F
579 2F32 MOV R19,R18
57A 9189 LD R24,Y+
57B 9199 LD R25,Y+
pack:
57C DFB4 RCALL tstR16_R19
57D F039 BEQ 0x0585
57E 5841 SUBI R20,0x81
57F 4F5F SBCI R21,0xFF
580 2F34 MOV R19,R20
581 0F22 LSL R18
582 9536 LSR R19
583 9527 ROR R18
584 2B36 OR R19,R22
585 9508 RET
fpneg:
586 DFAA RCALL tstR16_R19
587 F021 BEQ 0x058C
588 930F PUSH R16
589 E800 LDI R16,0x80
58A 2730 EOR R19,R16
58B 910F POP R16
58C 9508 RET
fpneg2:
58D DFF8 RCALL fpneg
58E 933A ST R19,-Y
58F 932A ST R18,-Y
590 931A ST R17,-Y
591 930A ST R16,-Y
592 9508 RET
saveR8toR25:
593 928A ST R8,-Y
594 929A ST R9,-Y
595 92AA ST R10,-Y
596 92BA ST R11,-Y
597 92CA ST R12,-Y
598 92DA ST R13,-Y
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -