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

📄 adc.lst

📁 基于MEGA128的双通道AD转换例程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    04F9 1AE1      SUB	R14,R17
    04FA 9503      INC	R16
    04FB 952A      DEC	R18
    04FC F7B9      BNE	0x04F4
    04FD F40E      BRTC	0x04FF
    04FE 2D0E      MOV	R16,R14
    04FF 90E9      LD	R14,Y+
    0500 90F9      LD	R15,Y+
    0501 9129      LD	R18,Y+
    0502 9508      RET
pop_gset2:
    0503 E0E2      LDI	R30,2
    0504 940C0518  JMP	pop
pop_gset3:
    0506 E0E4      LDI	R30,4
    0507 940C0518  JMP	pop
pop_gset4:
    0509 E0E8      LDI	R30,0x8
    050A 940C0518  JMP	pop
push_gset5:
    050C 92FA      ST	R15,-Y
    050D 92EA      ST	R14,-Y
push_gset4:
    050E 92DA      ST	R13,-Y
    050F 92CA      ST	R12,-Y
push_gset3:
    0510 92BA      ST	R11,-Y
    0511 92AA      ST	R10,-Y
push_gset2:
    0512 937A      ST	R23,-Y
    0513 936A      ST	R22,-Y
push_gset1:
    0514 935A      ST	R21,-Y
    0515 934A      ST	R20,-Y
    0516 9508      RET
pop_gset1:
    0517 E0E1      LDI	R30,1
pop:
    0518 9149      LD	R20,Y+
    0519 9159      LD	R21,Y+
    051A FDE0      SBRC	R30,0
    051B 9508      RET
    051C 9169      LD	R22,Y+
    051D 9179      LD	R23,Y+
    051E FDE1      SBRC	R30,1
    051F 9508      RET
    0520 90A9      LD	R10,Y+
    0521 90B9      LD	R11,Y+
    0522 FDE2      SBRC	R30,2
    0523 9508      RET
    0524 90C9      LD	R12,Y+
    0525 90D9      LD	R13,Y+
    0526 FDE3      SBRC	R30,3
    0527 9508      RET
    0528 90E9      LD	R14,Y+
    0529 90F9      LD	R15,Y+
    052A 9508      RET
neg32:
    052B 9500      COM	R16
    052C 9510      COM	R17
    052D 9520      COM	R18
    052E 9530      COM	R19
    052F 5F0F      SUBI	R16,0xFF
    0530 4F1F      SBCI	R17,0xFF
    0531 4F2F      SBCI	R18,0xFF
    0532 4F3F      SBCI	R19,0xFF
    0533 9508      RET
lpm32:
    0534 93EA      ST	R30,-Y
    0535 93FA      ST	R31,-Y
    0536 920A      ST	R0,-Y
    0537 2FE0      MOV	R30,R16
    0538 2FF1      MOV	R31,R17
    0539 95C8      LPM
    053A 2D00      MOV	R16,R0
    053B 9631      ADIW	R30,1
    053C 95C8      LPM
    053D 2D10      MOV	R17,R0
    053E 9631      ADIW	R30,1
    053F 95C8      LPM
    0540 2D20      MOV	R18,R0
    0541 9631      ADIW	R30,1
    0542 95C8      LPM
    0543 2D30      MOV	R19,R0
    0544 9009      LD	R0,Y+
    0545 91F9      LD	R31,Y+
    0546 91E9      LD	R30,Y+
    0547 9508      RET
fp2int:
    0548 940E0726  CALL	savfacc1
    054A D014      RCALL	FTOI
    054B 2F02      MOV	R16,R18
    054C 2F13      MOV	R17,R19
    054D FD87      SBRC	R24,7
    054E C002      RJMP	nojump1
    054F 940C0729  JMP	restorefacc1
nojump1:
    0551 9510      COM	R17
    0552 9501      NEG	R16
    0553 4F1F      SBCI	R17,0xFF
    0554 940C0729  JMP	restorefacc1
fp2long:
    0556 940E0726  CALL	savfacc1
    0558 D008      RCALL	FTOL
    0559 FF87      SBRS	R24,7
    055A C002      RJMP	nojump2
    055B 940E052B  CALL	neg32
nojump2:
    055D 940C0729  JMP	restorefacc1
FTOI:
    055F E0BE      LDI	R27,0xE
    0560 C001      RJMP	0x0562
FTOL:
    0561 E1BE      LDI	R27,0x1E
    0562 940E072C  CALL	unpackfacc1
    0564 F069      BEQ	0x0572
    0565 1BB3      SUB	R27,R19
    0566 F009      BEQ	0x0568
    0567 F472      BPL	0x0576
    0568 2388      TST	R24
    0569 F022      BMI	0x056E
    056A E010      LDI	R17,0
    056B EA00      LDI	R16,0xA0
    056C 940C0534  JMP	lpm32
    056E E010      LDI	R17,0
    056F EA06      LDI	R16,0xA6
    0570 940C0534  JMP	lpm32
    0572 E010      LDI	R17,0
    0573 EA04      LDI	R16,0xA4
    0574 940C0534  JMP	lpm32
    0576 9533      INC	R19
    0577 F3D2      BMI	0x0572
    0578 E030      LDI	R19,0
    0579 50B8      SUBI	R27,0x8
    057A F452      BPL	0x0585
    057B 5FB8      SUBI	R27,0xF8
    057C 2F32      MOV	R19,R18
    057D 2F21      MOV	R18,R17
    057E 2F10      MOV	R17,R16
    057F E800      LDI	R16,0x80
    0580 C006      RJMP	0x0587
    0581 2F01      MOV	R16,R17
    0582 2F12      MOV	R17,R18
    0583 E020      LDI	R18,0
    0584 50B8      SUBI	R27,0x8
    0585 30B8      CPI	R27,0x8
    0586 F7D0      BCC	0x0581
    0587 23BB      TST	R27
    0588 F031      BEQ	0x058F
    0589 9536      LSR	R19
    058A 9527      ROR	R18
    058B 9517      ROR	R17
    058C 9507      ROR	R16
    058D 95BA      DEC	R27
    058E F7D1      BNE	0x0589
    058F 9508      RET
int2fp:
    0590 2722      CLR	R18
    0591 FD17      SBRC	R17,7
    0592 9520      COM	R18
    0593 2733      CLR	R19
    0594 FD27      SBRC	R18,7
    0595 9530      COM	R19
long2fp:
    0596 940E0726  CALL	savfacc1
    0598 D002      RCALL	ITOF
    0599 940C0729  JMP	restorefacc1
ITOF:
    059B 2788      CLR	R24
    059C 2333      TST	R19
    059D F41A      BPL	0x05A1
    059E 940E052B  CALL	neg32
    05A0 9580      COM	R24
    05A1 2FB0      MOV	R27,R16
    05A2 2BB1      OR	R27,R17
    05A3 2BB2      OR	R27,R18
    05A4 2BB3      OR	R27,R19
    05A5 F411      BNE	0x05A8
    05A6 940C0742  JMP	minres
    05A8 E1B6      LDI	R27,0x16
    05A9 C005      RJMP	itof2
    05AA 95B3      INC	R27
    05AB 9536      LSR	R19
    05AC 9527      ROR	R18
    05AD 9517      ROR	R17
    05AE 9507      ROR	R16
itof2:
    05AF 2333      TST	R19
    05B0 F7C9      BNE	0x05AA
itof3:
    05B1 2322      TST	R18
    05B2 F449      BNE	0x05BC
    05B3 50B8      SUBI	R27,0x8
    05B4 2F21      MOV	R18,R17
    05B5 2F10      MOV	R17,R16
    05B6 E000      LDI	R16,0
    05B7 CFF9      RJMP	itof3
    05B8 95BA      DEC	R27
    05B9 0F00      LSL	R16
    05BA 1F11      ROL	R17
    05BB 1F22      ROL	R18
    05BC F7DA      BPL	0x05B8
    05BD 2F3B      MOV	R19,R27
    05BE 940C076C  JMP	repack
save_floatregs:
    05C0 92DA      ST	R13,-Y
    05C1 92EA      ST	R14,-Y
    05C2 92FA      ST	R15,-Y
    05C3 938A      ST	R24,-Y
    05C4 922A      ST	R2,-Y
    05C5 923A      ST	R3,-Y
    05C6 924A      ST	R4,-Y
    05C7 939A      ST	R25,-Y
    05C8 93AA      ST	R26,-Y
    05C9 93BA      ST	R27,-Y
    05CA 9508      RET
restore_floatregs:
    05CB 91B9      LD	R27,Y+
    05CC 91A9      LD	R26,Y+
    05CD 9199      LD	R25,Y+
    05CE 9049      LD	R4,Y+
    05CF 9039      LD	R3,Y+
    05D0 9029      LD	R2,Y+
    05D1 9189      LD	R24,Y+
    05D2 90F9      LD	R15,Y+
    05D3 90E9      LD	R14,Y+
    05D4 90D9      LD	R13,Y+
    05D5 9508      RET
stk2arg1:
    05D6 842A      LDD	R2,Y+10
    05D7 843B      LDD	R3,Y+11
    05D8 844C      LDD	R4,Y+12
    05D9 859D      LDD	R25,Y+13
    05DA 9508      RET
stk2arg0:
    05DB 850E      LDD	R16,Y+14
    05DC 851F      LDD	R17,Y+15
    05DD 8928      LDD	R18,Y+16
    05DE 8939      LDD	R19,Y+17
    05DF 9508      RET
float_epilog:
    05E0 DFEA      RCALL	restore_floatregs
    05E1 920F      PUSH	R0
    05E2 B60F      IN	R0,0x3F
    05E3 9628      ADIW	R28,0x8
    05E4 BE0F      OUT	0x3F,R0
    05E5 900F      POP	R0
    05E6 9508      RET
float_prolog:
    05E7 DFD8      RCALL	save_floatregs
    05E8 DFF2      RCALL	stk2arg0
    05E9 CFEC      RJMP	stk2arg1
add32fs:
    05EA D002      RCALL	add32f
    05EB 940C0459  JMP	push_arg4
add32f:
    05ED 940E05E7  CALL	float_prolog
    05EF D012      RCALL	FADD
    05F0 940C05E0  JMP	float_epilog
sub32fs:
    05F2 D002      RCALL	sub32f
    05F3 940C0459  JMP	push_arg4
sub32f:
    05F5 940E05E7  CALL	float_prolog
    05F7 D009      RCALL	FSUB
    05F8 940C05E0  JMP	float_epilog
fret2:
    05FA 2F8A      MOV	R24,R26
    05FB 2F39      MOV	R19,R25
    05FC 2D24      MOV	R18,R4
    05FD 2D13      MOV	R17,R3
    05FE 2D02      MOV	R16,R2
    05FF 940C076C  JMP	repack
FSUB:
    0601 5890      SUBI	R25,0x80
FADD:
    0602 940E075A  CALL	unpack
    0604 3890      CPI	R25,0x80
    0605 F3C9      BEQ	0x05FF
    0606 3830      CPI	R19,0x80
    0607 F391      BEQ	0x05FA
    0608 2FB3      MOV	R27,R19
    0609 1BB9      SUB	R27,R25
    060A F3A3      BVS	0x05FF
    060B F02A      BMI	0x0611
    060C F439      BNE	0x0614
    060D 1502      CP	R16,R2
    060E 0513      CPC	R17,R3
    060F 0524      CPC	R18,R4
    0610 F418      BCC	0x0614
    0611 940E074E  CALL	swapacc
    0613 CFF4      RJMP	0x0608
    0614 31B8      CPI	R27,0x18
    0615 F018      BCS	0x0619
    0616 2422      CLR	R2
    0617 2433      CLR	R3
    0618 2444      CLR	R4
    0619 30B8      CPI	R27,0x8
    061A F028      BCS	0x0620
    061B 2C23      MOV	R2,R3
    061C 2C34      MOV	R3,R4
    061D 2444      CLR	R4
    061E 50B8      SUBI	R27,0x8
    061F CFF9      RJMP	0x0619
    0620 23BB      TST	R27
    0621 F029      BEQ	0x0627
    0622 9446      LSR	R4
    0623 9437      ROR	R3
    0624 9427      ROR	R2
    0625 95BA      DEC	R27
    0626 F7D9      BNE	0x0622
    0627 2FB8      MOV	R27,R24
    0628 27BA      EOR	R27,R26
    0629 F04A      BMI	0x0633
    062A D018      RCALL	0x0643
    062B F698      BCC	0x05FF
    062C 9527      ROR	R18
    062D 9517      ROR	R17
    062E 9507      ROR	R16
    062F 5F3F      SUBI	R19,0xFF
    0630 F673      BVC	0x05FF
    0631 940C073B  JMP	maxres
    0633 D013      RCALL	usub24
    0634 F411      BNE	0x0637
    0635 940C0742  JMP	minres
    0637 F410      BCC	0x063A
    0638 940E0735  CALL	negmant
    063A 2322      TST	R18
    063B F21A      BMI	0x05FF
    063C 0F00      LSL	R16
    063D 1F11      ROL	R17
    063E 1F22      ROL	R18
    063F 5031      SUBI	R19,1
    0640 F7CB      BVC	0x063A
    0641 940C073B  JMP	maxres
    0643 0D02      ADD	R16,R2
    0644 1D13      ADC	R17,R3
    0645 1D24      ADC	R18,R4
    0646 9508      RET
usub24:
    0647 1902      SUB	R16,R2
    0648 0913      SBC	R17,R3
    0649 0924      SBC	R18,R4
    064A 9508      RET
div32fs:
    064B D002      RCALL	div32f
    064C 940C0459  JMP	push_arg4
div32f:
    064E 940E05E7  CALL	float_prolog
    0650 D023      RCALL	FDIV
    0651 940C05E0  JMP	float_epilog
    0653 93BA      ST	R27,-Y
    0654 24DD      CLR	R13
    0655 24EE      CLR	R14
    0656 24FF      CLR	R15
    0657 E1B8      LDI	R27,0x18
    0658 1502      CP	R16,R2
    0659 0513      CPC	R17,R3
    065A 0524      CPC	R18,R4
    065B F028      BCS	0x0661
    065C 1902      SUB	R16,R2
    065D 0913      SBC	R17,R3
    065E 0924      SBC	R18,R4
    065F 9408      BSET	0
    0660 C001      RJMP	0x0662
    0661 9488      BCLR	0
    0662 1CDD      ROL	R13
    0663 1CEE      ROL	R14
    0664 1CFF      ROL	R15
    0665 0F00      LSL	R16
    0666 1F11      ROL	R17
    0667 1F22      ROL	R18
    0668 95BA      DEC	R27
    0669 F771      BNE	0x0658
    066A 2D0D      MOV	R16,R13
    066B 2D1E      MOV	R17,R14
    066C 2D2F      MOV	R18,R15
    066D 91B9      LD	R27,Y+
    066E 9508      RET
fdiv10:
    066F 2422      CLR	R2
    0670 2433      CLR	R3
    0671 E2B0      LDI	R27,0x20
    0672 2E4B      MOV	R4,R27
    0673 E491      LDI	R25,0x41
FDIV:
    0674 2399      TST	R25
    0675 F129      BEQ	0x069B
    0676 2333      TST	R19
    0677 F151      BEQ	0x06A2
    0678 940E075A  CALL	unpack
    067A F139      BEQ	0x06A2
    067B 278A      EOR	R24,R26
    067C 9408      BSET	0
    067D 0B39      SBC	R19,R25
    067E F0EB      BVS	0x069C
    067F 9446      LSR	R4
    0680 9437      ROR	R3
    0681 9427      ROR	R2
    0682 9526      LSR	R18
    0683 9517      ROR	R17
    0684 9507      ROR	R16
    0685 DFCD      RCALL	0x0653
    0686 2322      TST	R18
    0687 F02A      BMI	0x068D
    0688 0F00      LSL	R16
    0689 1F11      ROL	R17
    068A 1F22      ROL	R18
    068B 5031      SUBI	R19,1
    068C F07B      BVS	0x069C
    068D 2F

⌨️ 快捷键说明

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