📄 dac_sin.lst
字号:
3A9 2ED5 MOV R13,R21
3AA 2EC4 MOV R12,R20
3AB 2EB3 MOV R11,R19
3AC 2EA2 MOV R10,R18
3AD 2E91 MOV R9,R17
3AE 2E80 MOV R8,R16
3AF 8100 LDD R16,Z+0
3B0 8111 LDD R17,Z+1
3B1 8122 LDD R18,Z+2
3B2 8133 LDD R19,Z+3
3B3 940E 0329 CALL unpacku
3B5 F161 BEQ 0x03E2
3B6 256E EOR R22,R14
3B7 0D4C ADD R20,R12
3B8 1D5D ADC R21,R13
3B9 3840 CPI R20,0x80
3BA 0753 CPC R21,R19
3BB F55C BGE 0x03E7
3BC 3841 CPI R20,0x81
3BD EF7F LDI R23,0xFF
3BE 0757 CPC R21,R23
3BF F164 BLT 0x03EC
3C0 9EA2 MUL R10,R18
3C1 2DB1 MOV R27,R1
3C2 2DA0 MOV R26,R0
3C3 9E91 MUL R9,R17
3C4 2D91 MOV R25,R1
3C5 2D80 MOV R24,R0
3C6 9EA0 MUL R10,R16
3C7 0D80 ADD R24,R0
3C8 1D91 ADC R25,R1
3C9 1FA3 ADC R26,R19
3CA 1FB3 ADC R27,R19
3CB 9E82 MUL R8,R18
3CC 0D80 ADD R24,R0
3CD 1D91 ADC R25,R1
3CE 1FA3 ADC R26,R19
3CF 1FB3 ADC R27,R19
3D0 9E92 MUL R9,R18
3D1 0D90 ADD R25,R0
3D2 1DA1 ADC R26,R1
3D3 1FB3 ADC R27,R19
3D4 9EA1 MUL R10,R17
3D5 0D90 ADD R25,R0
3D6 1DA1 ADC R26,R1
3D7 1FB3 ADC R27,R19
3D8 2F2B MOV R18,R27
3D9 2F1A MOV R17,R26
3DA 2F09 MOV R16,R25
3DB 0F88 LSL R24
3DC 1F00 ROL R16
3DD 1F11 ROL R17
3DE 1F22 ROL R18
3DF 1F33 ROL R19
3E0 940E 033E CALL normalize_and_pack
3E2 91B9 LD R27,Y+
3E3 91A9 LD R26,Y+
3E4 940E 0392 CALL restoreR8toR25
3E6 9508 RET
3E7 EF0F LDI R16,0xFF
3E8 2F10 MOV R17,R16
3E9 E72F LDI R18,0x7F
3EA E74F LDI R20,0x7F
3EB CFF6 RJMP 0x03E2
3EC 2700 CLR R16
3ED 2F10 MOV R17,R16
3EE 2F20 MOV R18,R16
3EF 2F30 MOV R19,R16
3F0 CFF1 RJMP 0x03E2
fpmule1:
3F1 93FA ST R31,-Y
3F2 93EA ST R30,-Y
3F3 81EA LDD R30,Y+2
3F4 81FB LDD R31,Y+3
3F5 940E 03A1 CALL fpmule
3F7 91E9 LD R30,Y+
3F8 91F9 LD R31,Y+
3F9 9622 ADIW R28,2
3FA 9508 RET
fpmule2:
3FB 93FA ST R31,-Y
3FC 93EA ST R30,-Y
3FD 2FEC MOV R30,R28
3FE 2FFD MOV R31,R29
3FF 9632 ADIW R30,2
400 940E 03A1 CALL fpmule
402 91E9 LD R30,Y+
403 91F9 LD R31,Y+
404 9624 ADIW R28,4
405 9508 RET
fpcmp:
406 940E 0179 CALL fpsub
408 2333 TST R19
409 F03A BMI 0x0411
40A 940E 0321 CALL tstR16_R19
40C F011 BEQ 0x040F
40D E001 LDI R16,1
40E 9508 RET
40F 2700 CLR R16
410 9508 RET
411 EF0F LDI R16,0xFF
412 9508 RET
fpcmp1:
413 93FA ST R31,-Y
414 93EA ST R30,-Y
415 81EA LDD R30,Y+2
416 81FB LDD R31,Y+3
417 940E 0406 CALL fpcmp
419 91E9 LD R30,Y+
41A 91F9 LD R31,Y+
41B 9622 ADIW R28,2
41C 2300 TST R16
41D 9508 RET
fpcmp2:
41E 93FA ST R31,-Y
41F 93EA ST R30,-Y
420 2FEC MOV R30,R28
421 2FFD MOV R31,R29
422 9632 ADIW R30,2
423 940E 0406 CALL fpcmp
425 91E9 LD R30,Y+
426 91F9 LD R31,Y+
427 9624 ADIW R28,4
428 2300 TST R16
429 9508 RET
_floorf:
42A 940E 00FF CALL push_arg4
42C 972C SBIW R28,0xC
42D 842C LDD R2,Y+12
42E 843D LDD R3,Y+13
42F 844E LDD R4,Y+14
430 845F LDD R5,Y+15
431 822C STD Y+4,R2
432 823D STD Y+5,R3
433 824E STD Y+6,R4
434 825F STD Y+7,R5
435 850C LDD R16,Y+12
436 851D LDD R17,Y+13
437 852E LDD R18,Y+14
438 853F LDD R19,Y+15
439 940E 021D CALL fpint
43B 8308 STD Y+0,R16
43C 8319 STD Y+1,R17
43D 832A STD Y+2,R18
43E 833B STD Y+3,R19
43F 8108 LDD R16,Y+0
440 8119 LDD R17,Y+1
441 812A LDD R18,Y+2
442 813B LDD R19,Y+3
443 940E 0256 CALL long2fp
445 01CE MOVW R24,R28
446 960C ADIW R24,0xC
447 939A ST R25,-Y
448 938A ST R24,-Y
449 940E 0413 CALL fpcmp1
44B F041 BEQ 0x0454
44C 818E LDD R24,Y+6
44D 819F LDD R25,Y+7
44E 7880 ANDI R24,0x80
44F 779F ANDI R25,0x7F
450 3880 CPI R24,0x80
451 E4EB LDI R30,0x4B
452 079E CPC R25,R30
453 F028 BCS 0x0459
454 850C LDD R16,Y+12
455 851D LDD R17,Y+13
456 852E LDD R18,Y+14
457 853F LDD R19,Y+15
458 C030 RJMP 0x0489
459 01CE MOVW R24,R28
45A 960C ADIW R24,0xC
45B E90C LDI R16,0x9C
45C E010 LDI R17,0
45D 940E 013E CALL elpm32
45F 939A ST R25,-Y
460 938A ST R24,-Y
461 940E 0413 CALL fpcmp1
463 F43C BGE 0x046B
464 8108 LDD R16,Y+0
465 8119 LDD R17,Y+1
466 812A LDD R18,Y+2
467 813B LDD R19,Y+3
468 940E 0256 CALL long2fp
46A C01E RJMP 0x0489
46B E081 LDI R24,1
46C E090 LDI R25,0
46D E0A0 LDI R26,0
46E E0B0 LDI R27,0
46F 8028 LDD R2,Y+0
470 8039 LDD R3,Y+1
471 804A LDD R4,Y+2
472 805B LDD R5,Y+3
473 1A28 SUB R2,R24
474 0A39 SBC R3,R25
475 0A4A SBC R4,R26
476 0A5B SBC R5,R27
477 8628 STD Y+8,R2
478 8639 STD Y+9,R3
479 864A STD Y+10,R4
47A 865B STD Y+11,R5
47B 8428 LDD R2,Y+8
47C 8439 LDD R3,Y+9
47D 844A LDD R4,Y+10
47E 845B LDD R5,Y+11
47F 8228 STD Y+0,R2
480 8239 STD Y+1,R3
481 824A STD Y+2,R4
482 825B STD Y+3,R5
483 8508 LDD R16,Y+8
484 8519 LDD R17,Y+9
485 852A LDD R18,Y+10
486 853B LDD R19,Y+11
487 940E 0256 CALL long2fp
489 9660 ADIW R28,0x10
48A 9508 RET
_sinus:
48B 940E 00FF CALL push_arg4
48D 940E 0162 CALL push_xgsetF00C
48F 9724 SBIW R28,4
490 EB0C LDI R16,0xBC
491 E010 LDI R17,0
492 940E 013E CALL elpm32
494 01CE MOVW R24,R28
495 960A ADIW R24,0xA
496 939A ST R25,-Y
497 938A ST R24,-Y
498 940E 03F1 CALL fpmule1
49A 870A STD Y+10,R16
49B 871B STD Y+11,R17
49C 872C STD Y+12,R18
49D 873D STD Y+13,R19
49E 850A LDD R16,Y+10
49F 851B LDD R17,Y+11
4A0 852C LDD R18,Y+12
4A1 853D LDD R19,Y+13
4A2 940E 042A CALL _floorf
4A4 8308 STD Y+0,R16
4A5 8319 STD Y+1,R17
4A6 832A STD Y+2,R18
4A7 833B STD Y+3,R19
4A8 850A LDD R16,Y+10
4A9 851B LDD R17,Y+11
4AA 852C LDD R18,Y+12
4AB 853D LDD R19,Y+13
4AC 01CE MOVW R24,R28
4AD 939A ST R25,-Y
4AE 938A ST R24,-Y
4AF 940E 01FA CALL fpsub1
4B1 870A STD Y+10,R16
4B2 871B STD Y+11,R17
4B3 872C STD Y+12,R18
4B4 873D STD Y+13,R19
4B5 842E LDD R2,Y+14
4B6 2433 CLR R3
4B7 8108 LDD R16,Y+0
4B8 8119 LDD R17,Y+1
4B9 812A LDD R18,Y+2
4BA 813B LDD R19,Y+3
4BB 940E 021D CALL fpint
4BD 2711 CLR R17
4BE 0D02 ADD R16,R2
4BF 1D13 ADC R17,R3
4C0 E024 LDI R18,4
4C1 E030 LDI R19,0
4C2 940E 0104 CALL mod16s
4C4 0158 MOVW R10,R16
4C5 01C5 MOVW R24,R10
4C6 3001 CPI R16,1
4C7 E0E0 LDI R30,0
4C8 071E CPC R17,R30
4C9 F049 BEQ 0x04D3
4CA 3002 CPI R16,2
4CB E0E0 LDI R30,0
4CC 071E CPC R17,R30
4CD F0A1 BEQ 0x04E2
4CE 3003 CPI R16,3
4CF E0E0 LDI R30,0
4D0 071E CPC R17,R30
4D1 F0D9 BEQ 0x04ED
4D2 C02E RJMP 0x0501
4D3 EB08 LDI R16,0xB8
4D4 E010 LDI R17,0
4D5 940E 013E CALL elpm32
4D7 01CE MOVW R24,R28
4D8 960A ADIW R24,0xA
4D9 939A ST R25,-Y
4DA 938A ST R24,-Y
4DB 940E 01FA CALL fpsub1
4DD 870A STD Y+10,R16
4DE 871B STD Y+11,R17
4DF 872C STD Y+12,R18
4E0 873D STD Y+13,R19
4E1 C01F RJMP 0x0501
4E2 850A LDD R16,Y+10
4E3 851B LDD R17,Y+11
4E4 852C LDD R18,Y+12
4E5 853D LDD R19,Y+13
4E6 940E 0376 CALL fpneg
4E8 870A STD Y+10,R16
4E9 871B STD Y+11,R17
4EA 872C STD Y+12,R18
4EB 873D STD Y+13,R19
4EC C014 RJMP 0x0501
4ED 842A LDD R2,Y+10
4EE 843B LDD R3,Y+11
4EF 844C LDD R4,Y+12
4F0 845D LDD R5,Y+13
4F1 EB08 LDI R16,0xB8
4F2 E010 LDI R17,0
4F3 940E 013E CALL elpm32
4F5 933A ST R19,-Y
4F6 932A ST R18,-Y
4F7 931A ST R17,-Y
4F8 930A ST R16,-Y
4F9 0181 MOVW R16,R2
4FA 0192 MOVW R18,R4
4FB 940E 0204 CALL fpsub2
4FD 870A STD Y+10,R16
4FE 871B STD Y+11,R17
4FF 872C STD Y+12,R18
500 873D STD Y+13,R19
501 850A LDD R16,Y+10
502 851B LDD R17,Y+11
503 852C LDD R18,Y+12
504 853D LDD R19,Y+13
505 01CE MOVW R24,R28
506 960A ADIW R24,0xA
507 939A ST R25,-Y
508 938A ST R24,-Y
509 940E 03F1 CALL fpmule1
50B 8308 STD Y+0,R16
50C 8319 STD Y+1,R17
50D 832A STD Y+2,R18
50E 833B STD Y+3,R19
50F 842A LDD R2,Y+10
510 843B LDD R3,Y+11
511 844C LDD R4,Y+12
512 845D LDD R5,Y+13
513 8068 LDD R6,Y+0
514 8079 LDD R7,Y+1
515 808A LDD R8,Y+2
516 809B LDD R9,Y+3
517 EB04 LDI R16,0xB4
518 E010 LDI R17,0
519 940E 013E CALL elpm32
51B 01CE MOVW R24,R28
51C 939A ST R25,-Y
51D 938A ST R24,-Y
51E 940E 03F1 CALL fpmule1
520 01A8 MOVW R20,R16
521 01B9 MOVW R22,R18
522 EB00 LDI R16,0xB0
523 E010 LDI R17,0
524 940E 013E CALL elpm32
526 933A ST R19,-Y
527 932A ST R18,-Y
528 931A ST R17,-Y
529 930A ST R16,-Y
52A 018A MOVW R16,R20
52B 019B MOVW R18,R22
52C 940E 020F CALL fpsub2x
52E 0183 MOVW R16,R6
52F 0194 MOVW R18,R8
530 940E 03FB CALL fpmule2
532 0138 MOVW R6,R16
533 0149 MOVW R8,R18
534 EA0C LDI R16,0xAC
535 E010 LDI R17,0
536 940E 013E CALL elpm32
538 933A ST R19,-Y
539 932A ST R18,-Y
53A 931A ST R17,-Y
53B 930A ST R16,-Y
53C 0183 MOVW R16,R6
53D 0194 MOVW R18,R8
53E 940E 01EC CALL fpadd2x
540 0181 MOVW R16,R2
541 0192 MOVW R18,R4
542 940E 03FB CALL fpmule2
544 0118 MOVW R2,R16
545 0129 MOVW R4,R18
546 8068 LDD R6,Y+0
547 8079 LDD R7,Y+1
548 808A LDD R8,Y+2
549 809B LDD R9,Y+3
54A 01A3 MOVW R20,R6
54B 01B4 MOVW R22,R8
54C EA08 LDI R16,0xA8
54D E010 LDI R17,0
54E 940E 013E CALL elpm32
550 933A ST R19,-Y
551 932A ST R18,-Y
552 931A ST R17,-Y
553 930A ST R16,-Y
554 018A MOVW R16,R20
555 019B MOVW R18,R22
556 940E 01EC CALL fpadd2x
558 0183 MOVW R16,R6
559 0194 MOVW R18,R8
55A 940E 03FB CALL fpmule2
55C 0138 MOVW R6,R16
55D 0149 MOVW R8,R18
55E EA04 LDI R16,0xA4
55F E010 LDI R17,0
560 940E 013E CALL elpm32
562 933A ST R19,-Y
563 932A ST R18,-Y
564 931A ST R17,-Y
565 930A ST R16,-Y
566 0183 MOVW R16,R6
567 0194 MOVW R18,R8
568 940E 01EC CALL fpadd2x
56A 0181 MOVW R16,R2
56B 0192 MOVW R18,R4
56C 940E 0272 CALL fpdiv2
56E 9624 ADIW R28,4
56F 940E 0169 CALL pop_xgsetF00C
571 9624 ADIW R28,4
572 9508 RET
_sinf:
573 940E 00FF CALL push_arg4
575 9721 SBIW R28,1
576 8029 LDD R2,Y+1
577 803A LDD R3,Y+2
578 804B LDD R4,Y+3
579 805C LDD R5,Y+4
57A EA00 LDI R16,0xA0
57B E010 LDI R17,0
57C 940E 013E CALL elpm32
57E 933A ST R19,-Y
57F 932A ST R18,-Y
580 931A ST R17,-Y
581 930A ST R16,-Y
582 0181 MOVW R16,R2
583 0192 MOVW R18,R4
584 940E 041E CALL fpcmp2
586 F044 BLT 0x058F
587 2422 CLR R2
588 8228 STD Y+0,R2
589 8109 LDD R16,Y+1
58A 811A LDD R17,Y+2
58B 812B LDD R18,Y+3
58C 813C LDD R19,Y+4
58D DEFD RCALL _sinus
58E C00B RJMP 0x059A
58F 2422 CLR R2
590 8228 STD Y+0,R2
591 8109 LDD R16,Y+1
592 811A LDD R17,Y+2
593 812B LDD R18,Y+3
594 813C LDD R19,Y+4
595 940E 0376 CALL fpneg
597 DEF3 RCALL _sinus
598 940E 0376 CALL fpneg
59A 9625 ADIW R28,5
59B 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -