⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dac_sin.lst

📁 这是atmega128单片机的数模转换程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
     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 + -