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

📄 adc.lst

📁 ATMEGA128的ADC驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    04DF 92EA      ST	R14,-Y
    04E0 92FA      ST	R15,-Y
    04E1 938A      ST	R24,-Y
    04E2 922A      ST	R2,-Y
    04E3 923A      ST	R3,-Y
    04E4 924A      ST	R4,-Y
    04E5 939A      ST	R25,-Y
    04E6 93AA      ST	R26,-Y
    04E7 93BA      ST	R27,-Y
    04E8 9508      RET
restore_floatregs:
    04E9 91B9      LD	R27,Y+
    04EA 91A9      LD	R26,Y+
    04EB 9199      LD	R25,Y+
    04EC 9049      LD	R4,Y+
    04ED 9039      LD	R3,Y+
    04EE 9029      LD	R2,Y+
    04EF 9189      LD	R24,Y+
    04F0 90F9      LD	R15,Y+
    04F1 90E9      LD	R14,Y+
    04F2 90D9      LD	R13,Y+
    04F3 9508      RET
stk2arg1:
    04F4 842A      LDD	R2,Y+10
    04F5 843B      LDD	R3,Y+11
    04F6 844C      LDD	R4,Y+12
    04F7 859D      LDD	R25,Y+13
    04F8 9508      RET
stk2arg0:
    04F9 850E      LDD	R16,Y+14
    04FA 851F      LDD	R17,Y+15
    04FB 8928      LDD	R18,Y+16
    04FC 8939      LDD	R19,Y+17
    04FD 9508      RET
float_epilog:
    04FE DFEA      RCALL	restore_floatregs
    04FF 920F      PUSH	R0
    0500 B60F      IN	R0,0x3F
    0501 9628      ADIW	R28,0x8
    0502 BE0F      OUT	0x3F,R0
    0503 900F      POP	R0
    0504 9508      RET
float_prolog:
    0505 DFD8      RCALL	save_floatregs
    0506 DFF2      RCALL	stk2arg0
    0507 CFEC      RJMP	stk2arg1
add32fs:
    0508 D002      RCALL	add32f
    0509 940C0406  JMP	push_arg4
add32f:
    050B 940E0505  CALL	float_prolog
    050D D012      RCALL	FADD
    050E 940C04FE  JMP	float_epilog
sub32fs:
    0510 D002      RCALL	sub32f
    0511 940C0406  JMP	push_arg4
sub32f:
    0513 940E0505  CALL	float_prolog
    0515 D009      RCALL	FSUB
    0516 940C04FE  JMP	float_epilog
fret2:
    0518 2F8A      MOV	R24,R26
    0519 2F39      MOV	R19,R25
    051A 2D24      MOV	R18,R4
    051B 2D13      MOV	R17,R3
    051C 2D02      MOV	R16,R2
    051D 940C068A  JMP	repack
FSUB:
    051F 5890      SUBI	R25,0x80
FADD:
    0520 940E0678  CALL	unpack
    0522 3890      CPI	R25,0x80
    0523 F3C9      BEQ	0x051D
    0524 3830      CPI	R19,0x80
    0525 F391      BEQ	0x0518
    0526 2FB3      MOV	R27,R19
    0527 1BB9      SUB	R27,R25
    0528 F3A3      BVS	0x051D
    0529 F02A      BMI	0x052F
    052A F439      BNE	0x0532
    052B 1502      CP	R16,R2
    052C 0513      CPC	R17,R3
    052D 0524      CPC	R18,R4
    052E F418      BCC	0x0532
    052F 940E066C  CALL	swapacc
    0531 CFF4      RJMP	0x0526
    0532 31B8      CPI	R27,0x18
    0533 F018      BCS	0x0537
    0534 2422      CLR	R2
    0535 2433      CLR	R3
    0536 2444      CLR	R4
    0537 30B8      CPI	R27,0x8
    0538 F028      BCS	0x053E
    0539 2C23      MOV	R2,R3
    053A 2C34      MOV	R3,R4
    053B 2444      CLR	R4
    053C 50B8      SUBI	R27,0x8
    053D CFF9      RJMP	0x0537
    053E 23BB      TST	R27
    053F F029      BEQ	0x0545
    0540 9446      LSR	R4
    0541 9437      ROR	R3
    0542 9427      ROR	R2
    0543 95BA      DEC	R27
    0544 F7D9      BNE	0x0540
    0545 2FB8      MOV	R27,R24
    0546 27BA      EOR	R27,R26
    0547 F04A      BMI	0x0551
    0548 D018      RCALL	0x0561
    0549 F698      BCC	0x051D
    054A 9527      ROR	R18
    054B 9517      ROR	R17
    054C 9507      ROR	R16
    054D 5F3F      SUBI	R19,0xFF
    054E F673      BVC	0x051D
    054F 940C0659  JMP	maxres
    0551 D013      RCALL	usub24
    0552 F411      BNE	0x0555
    0553 940C0660  JMP	minres
    0555 F410      BCC	0x0558
    0556 940E0653  CALL	negmant
    0558 2322      TST	R18
    0559 F21A      BMI	0x051D
    055A 0F00      LSL	R16
    055B 1F11      ROL	R17
    055C 1F22      ROL	R18
    055D 5031      SUBI	R19,1
    055E F7CB      BVC	0x0558
    055F 940C0659  JMP	maxres
    0561 0D02      ADD	R16,R2
    0562 1D13      ADC	R17,R3
    0563 1D24      ADC	R18,R4
    0564 9508      RET
usub24:
    0565 1902      SUB	R16,R2
    0566 0913      SBC	R17,R3
    0567 0924      SBC	R18,R4
    0568 9508      RET
div32fs:
    0569 D002      RCALL	div32f
    056A 940C0406  JMP	push_arg4
div32f:
    056C 940E0505  CALL	float_prolog
    056E D023      RCALL	FDIV
    056F 940C04FE  JMP	float_epilog
    0571 93BA      ST	R27,-Y
    0572 24DD      CLR	R13
    0573 24EE      CLR	R14
    0574 24FF      CLR	R15
    0575 E1B8      LDI	R27,0x18
    0576 1502      CP	R16,R2
    0577 0513      CPC	R17,R3
    0578 0524      CPC	R18,R4
    0579 F028      BCS	0x057F
    057A 1902      SUB	R16,R2
    057B 0913      SBC	R17,R3
    057C 0924      SBC	R18,R4
    057D 9408      BSET	0
    057E C001      RJMP	0x0580
    057F 9488      BCLR	0
    0580 1CDD      ROL	R13
    0581 1CEE      ROL	R14
    0582 1CFF      ROL	R15
    0583 0F00      LSL	R16
    0584 1F11      ROL	R17
    0585 1F22      ROL	R18
    0586 95BA      DEC	R27
    0587 F771      BNE	0x0576
    0588 2D0D      MOV	R16,R13
    0589 2D1E      MOV	R17,R14
    058A 2D2F      MOV	R18,R15
    058B 91B9      LD	R27,Y+
    058C 9508      RET
fdiv10:
    058D 2422      CLR	R2
    058E 2433      CLR	R3
    058F E2B0      LDI	R27,0x20
    0590 2E4B      MOV	R4,R27
    0591 E491      LDI	R25,0x41
FDIV:
    0592 2399      TST	R25
    0593 F129      BEQ	0x05B9
    0594 2333      TST	R19
    0595 F151      BEQ	0x05C0
    0596 940E0678  CALL	unpack
    0598 F139      BEQ	0x05C0
    0599 278A      EOR	R24,R26
    059A 9408      BSET	0
    059B 0B39      SBC	R19,R25
    059C F0EB      BVS	0x05BA
    059D 9446      LSR	R4
    059E 9437      ROR	R3
    059F 9427      ROR	R2
    05A0 9526      LSR	R18
    05A1 9517      ROR	R17
    05A2 9507      ROR	R16
    05A3 DFCD      RCALL	0x0571
    05A4 2322      TST	R18
    05A5 F02A      BMI	0x05AB
    05A6 0F00      LSL	R16
    05A7 1F11      ROL	R17
    05A8 1F22      ROL	R18
    05A9 5031      SUBI	R19,1
    05AA F07B      BVS	0x05BA
    05AB 2FB0      MOV	R27,R16
    05AC 95B6      LSR	R27
    05AD F048      BCS	0x05B7
    05AE 2300      TST	R16
    05AF F43A      BPL	0x05B7
    05B0 2311      TST	R17
    05B1 F42A      BPL	0x05B7
    05B2 E0B1      LDI	R27,1
    05B3 0F0B      ADD	R16,R27
    05B4 27BB      CLR	R27
    05B5 1F1B      ADC	R17,R27
    05B6 1F2B      ADC	R18,R27
    05B7 940C068A  JMP	repack
    05B9 C006      RJMP	0x05C0
    05BA E7BF      LDI	R27,0x7F
    05BB 2F3B      MOV	R19,R27
    05BC 2B2B      OR	R18,R27
    05BD EF0F      LDI	R16,0xFF
    05BE EF1F      LDI	R17,0xFF
    05BF 9508      RET
    05C0 2700      CLR	R16
    05C1 2711      CLR	R17
    05C2 2722      CLR	R18
    05C3 2733      CLR	R19
    05C4 2788      CLR	R24
    05C5 9508      RET
cmp32f:
    05C6 940E0505  CALL	float_prolog
    05C8 D002      RCALL	FLTCP
    05C9 940C04FE  JMP	float_epilog
FLTCP:
    05CB D002      RCALL	0x05CE
    05CC 23BB      TST	R27
    05CD 9508      RET
    05CE 2333      TST	R19
    05CF F082      BMI	0x05E0
    05D0 2399      TST	R25
    05D1 F042      BMI	0x05DA
    05D2 1739      CP	R19,R25
    05D3 F040      BCS	0x05DC
    05D4 F429      BNE	0x05DA
    05D5 1502      CP	R16,R2
    05D6 0513      CPC	R17,R3
    05D7 0524      CPC	R18,R4
    05D8 F018      BCS	0x05DC
    05D9 F021      BEQ	0x05DE
    05DA E0B1      LDI	R27,1
    05DB 9508      RET
    05DC EFBF      LDI	R27,0xFF
    05DD 9508      RET
    05DE 27BB      CLR	R27
    05DF 9508      RET
    05E0 2399      TST	R25
    05E1 F7D2      BPL	0x05DC
    05E2 1739      CP	R19,R25
    05E3 F3B0      BCS	0x05DA
    05E4 F7B9      BNE	0x05DC
    05E5 1502      CP	R16,R2
    05E6 0513      CPC	R17,R3
    05E7 0524      CPC	R18,R4
    05E8 F388      BCS	0x05DA
    05E9 F3A1      BEQ	0x05DE
    05EA CFF1      RJMP	0x05DC
    05EB E7BF      LDI	R27,0x7F
    05EC 2F3B      MOV	R19,R27
    05ED 2B2B      OR	R18,R27
    05EE EF0F      LDI	R16,0xFF
    05EF EF1F      LDI	R17,0xFF
    05F0 9508      RET
    05F1 2700      CLR	R16
    05F2 2711      CLR	R17
    05F3 2722      CLR	R18
    05F4 2733      CLR	R19
    05F5 2788      CLR	R24
    05F6 9508      RET
empy32fs:
    05F7 D002      RCALL	empy32f
    05F8 940C0406  JMP	push_arg4
empy32f:
    05FA 940E0505  CALL	float_prolog
    05FC 920F      PUSH	R0
    05FD 92CF      PUSH	R12
    05FE D004      RCALL	eFMUL
    05FF 90CF      POP	R12
    0600 900F      POP	R0
    0601 940C04FE  JMP	float_epilog
eFMUL:
    0603 940E0678  CALL	unpack
    0605 F359      BEQ	0x05F1
    0606 3890      CPI	R25,0x80
    0607 F349      BEQ	0x05F1
    0608 278A      EOR	R24,R26
    0609 9408      BSET	0
    060A 1F39      ADC	R19,R25
    060B F2FB      BVS	0x05EB
    060C D00E      RCALL	eumul24
    060D 2D2F      MOV	R18,R15
    060E 2D1E      MOV	R17,R14
    060F 2D0D      MOV	R16,R13
    0610 2322      TST	R18
    0611 F02A      BMI	0x0617
    0612 953A      DEC	R19
    0613 0CCC      LSL	R12
    0614 1F00      ROL	R16
    0615 1F11      ROL	R17
    0616 1F22      ROL	R18
    0617 5F3F      SUBI	R19,0xFF
    0618 F293      BVS	0x05EB
    0619 940C068A  JMP	repack
eumul24:
    061B 9D22      MUL	R18,R2
    061C 2CC0      MOV	R12,R0
    061D 2CD1      MOV	R13,R1
    061E 9D24      MUL	R18,R4
    061F 2CE0      MOV	R14,R0
    0620 2CF1      MOV	R15,R1
    0621 9D12      MUL	R17,R2
    0622 0CC1      ADD	R12,R1
    0623 1EDB      ADC	R13,R27
    0624 1EEB      ADC	R14,R27
    0625 1EFB      ADC	R15,R27
    0626 9D03      MUL	R16,R3
    0627 0CC1      ADD	R12,R1
    0628 1EDB      ADC	R13,R27
    0629 1EEB      ADC	R14,R27
    062A 1EFB      ADC	R15,R27
    062B 9D13      MUL	R17,R3
    062C 0CC0      ADD	R12,R0
    062D 1CD1      ADC	R13,R1
    062E 1EEB      ADC	R14,R27
    062F 1EFB      ADC	R15,R27
    0630 9D04      MUL	R16,R4
    0631 0CC0      ADD	R12,R0
    0632 1CD1      ADC	R13,R1
    0633 1EEB      ADC	R14,R27
    0634 1EFB      ADC	R15,R27
    0635 9D23      MUL	R18,R3
    0636 0CD0      ADD	R13,R0
    0637 1CE1      ADC	R14,R1
    0638 1EFB      ADC	R15,R27
    0639 9D14      MUL	R17,R4
    063A 0CD0      ADD	R13,R0
    063B 1CE1      ADC	R14,R1
    063C 1EFB      ADC	R15,R27
    063D 20CC      TST	R12
    063E F422      BPL	0x0643
    063F 9488      BCLR	0
    0640 1EDB      ADC	R13,R27
    0641 1EEB      ADC	R14,R27
    0642 1EFB      ADC	R15,R27
    0643 9508      RET
savfacc1:
    0644 938A      ST	R24,-Y
    0645 93BA      ST	R27,-Y
    0646 9508      RET
restorefacc1:
    0647 91B9      LD	R27,Y+
    0648 9189      LD	R24,Y+
    0649 9508      RET
unpackfacc1:
    064A 2F83      MOV	R24,R19
    064B 7880      ANDI	R24,0x80
    064C 0F22      LSL	R18
    064D 1F33      ROL	R19
    064E 5830      SUBI	R19,0x80
    064F 9408      BSET	0
    0650 9527      ROR	R18
    0651 3830      CPI	R19,0x80
    0652 9508      RET
negmant:
    0653 9510      COM	R17
    0654 9520      COM	R18
    0655 9501      NEG	R16
    0656 4F1F      SBCI	R17,0xFF
    0657 4F2F      SBCI	R18,0xFF
    0658 9508      RET
maxres:
    0659 E7BF      LDI	R27,0x7F
    065A 2F3B      MOV	R19,R27
    065B 2B2B      OR	R18,R27
    065C EFBF      LDI	R27,0xFF
    065D 2F0B      MOV	R16,R27
    065E 2F1B      MOV	R17,R27
    065F 9508      RET
minres:
    0660 2700      CLR	R16
    0661 2711      CLR	R17
    0662 2722      CLR	R18
    0663 2733      CLR	R19
    0664 2788      CLR	R24
    0665 9508      RET
ac1toac2:
    0666 2F93      MOV	R25,R19
    0667 2E20      MOV	R2,R16
    0668 2E31      MOV	R3,R17
    0669 2E42      MOV	R4,R18
    066A 2FA8      MOV	R26,R24
    066B 9508      RET
swapacc:
    066C 922A      ST	R2,-Y
    066D 923A      ST	R3,-Y
    066E 924A      ST	R4,-Y
    066F 939A      ST	R25,-Y
    0670 93AA      ST	R26,-Y
    0671 DFF4      RCALL	ac1toac2
    0672 9189      LD	R24,Y+
    0673 9139      LD	R19,Y+
    0674 9129      LD	R18,Y+
    0675 9119      LD	R17,Y+
    0676 9109      LD	R16,Y+
    0677 9508      RET
unpack:
    0678 2F83      MOV	R24,R19
    0679 E8B0      LDI	R27,0x80
    067A 0F22      LSL	R18
    067B 1F33      ROL	R19
    067C 273B      EOR	R19,R27
    067D 0FBB      LSL	R27
    067E 9527      ROR	R18
    067F 7880      ANDI	R24,0x80
    0680 2FA9      MOV	R26,R25
    0681 E8B0      LDI	R27,0x80
    0682 0C44      LSL	R4
    0683 1F99      ROL	R25
    0684 279B      EOR	R25,R27
    0685 0FBB      LSL	R27
    0686 9447      ROR	R4
    0687 78A0      ANDI	R26,0x80
    0688 3830      CPI	R19,0x80
    0689 9508      RET
repack:
    068A 0F22      LSL	R18
    068B E8B0      LDI	R27,0x80
    068C 27B3      EOR	R27,R19
    068D 0F88      LSL	R24
    068E 95B7      ROR	R27
    068F 9527      ROR	R18
    0690 2F3B      MOV	R19,R27
    0691 9508      RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -