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

📄 adc_port.lst

📁 AVR单片机做的数字电压表
💻 LST
📖 第 1 页 / 共 4 页
字号:
itof3:
    0683 2322      TST	R18
    0684 F449      BNE	0x068E
    0685 50B8      SUBI	R27,0x8
    0686 2F21      MOV	R18,R17
    0687 2F10      MOV	R17,R16
    0688 E000      LDI	R16,0
    0689 CFF9      RJMP	itof3
    068A 95BA      DEC	R27
    068B 0F00      LSL	R16
    068C 1F11      ROL	R17
    068D 1F22      ROL	R18
    068E F7DA      BPL	0x068A
    068F 2F3B      MOV	R19,R27
    0690 940C083E  JMP	repack
save_floatregs:
    0692 92DA      ST	R13,-Y
    0693 92EA      ST	R14,-Y
    0694 92FA      ST	R15,-Y
    0695 938A      ST	R24,-Y
    0696 922A      ST	R2,-Y
    0697 923A      ST	R3,-Y
    0698 924A      ST	R4,-Y
    0699 939A      ST	R25,-Y
    069A 93AA      ST	R26,-Y
    069B 93BA      ST	R27,-Y
    069C 9508      RET
restore_floatregs:
    069D 91B9      LD	R27,Y+
    069E 91A9      LD	R26,Y+
    069F 9199      LD	R25,Y+
    06A0 9049      LD	R4,Y+
    06A1 9039      LD	R3,Y+
    06A2 9029      LD	R2,Y+
    06A3 9189      LD	R24,Y+
    06A4 90F9      LD	R15,Y+
    06A5 90E9      LD	R14,Y+
    06A6 90D9      LD	R13,Y+
    06A7 9508      RET
stk2arg1:
    06A8 842A      LDD	R2,Y+10
    06A9 843B      LDD	R3,Y+11
    06AA 844C      LDD	R4,Y+12
    06AB 859D      LDD	R25,Y+13
    06AC 9508      RET
stk2arg0:
    06AD 850E      LDD	R16,Y+14
    06AE 851F      LDD	R17,Y+15
    06AF 8928      LDD	R18,Y+16
    06B0 8939      LDD	R19,Y+17
    06B1 9508      RET
float_epilog:
    06B2 DFEA      RCALL	restore_floatregs
    06B3 920F      PUSH	R0
    06B4 B60F      IN	R0,0x3F
    06B5 9628      ADIW	R28,0x8
    06B6 BE0F      OUT	0x3F,R0
    06B7 900F      POP	R0
    06B8 9508      RET
float_prolog:
    06B9 DFD8      RCALL	save_floatregs
    06BA DFF2      RCALL	stk2arg0
    06BB CFEC      RJMP	stk2arg1
add32fs:
    06BC D002      RCALL	add32f
    06BD 940C0593  JMP	push_arg4
add32f:
    06BF 940E06B9  CALL	float_prolog
    06C1 D012      RCALL	FADD
    06C2 940C06B2  JMP	float_epilog
sub32fs:
    06C4 D002      RCALL	sub32f
    06C5 940C0593  JMP	push_arg4
sub32f:
    06C7 940E06B9  CALL	float_prolog
    06C9 D009      RCALL	FSUB
    06CA 940C06B2  JMP	float_epilog
fret2:
    06CC 2F8A      MOV	R24,R26
    06CD 2F39      MOV	R19,R25
    06CE 2D24      MOV	R18,R4
    06CF 2D13      MOV	R17,R3
    06D0 2D02      MOV	R16,R2
    06D1 940C083E  JMP	repack
FSUB:
    06D3 5890      SUBI	R25,0x80
FADD:
    06D4 940E082C  CALL	unpack
    06D6 3890      CPI	R25,0x80
    06D7 F3C9      BEQ	0x06D1
    06D8 3830      CPI	R19,0x80
    06D9 F391      BEQ	0x06CC
    06DA 2FB3      MOV	R27,R19
    06DB 1BB9      SUB	R27,R25
    06DC F3A3      BVS	0x06D1
    06DD F02A      BMI	0x06E3
    06DE F439      BNE	0x06E6
    06DF 1502      CP	R16,R2
    06E0 0513      CPC	R17,R3
    06E1 0524      CPC	R18,R4
    06E2 F418      BCC	0x06E6
    06E3 940E0820  CALL	swapacc
    06E5 CFF4      RJMP	0x06DA
    06E6 31B8      CPI	R27,0x18
    06E7 F018      BCS	0x06EB
    06E8 2422      CLR	R2
    06E9 2433      CLR	R3
    06EA 2444      CLR	R4
    06EB 30B8      CPI	R27,0x8
    06EC F028      BCS	0x06F2
    06ED 2C23      MOV	R2,R3
    06EE 2C34      MOV	R3,R4
    06EF 2444      CLR	R4
    06F0 50B8      SUBI	R27,0x8
    06F1 CFF9      RJMP	0x06EB
    06F2 23BB      TST	R27
    06F3 F029      BEQ	0x06F9
    06F4 9446      LSR	R4
    06F5 9437      ROR	R3
    06F6 9427      ROR	R2
    06F7 95BA      DEC	R27
    06F8 F7D9      BNE	0x06F4
    06F9 2FB8      MOV	R27,R24
    06FA 27BA      EOR	R27,R26
    06FB F04A      BMI	0x0705
    06FC D018      RCALL	0x0715
    06FD F698      BCC	0x06D1
    06FE 9527      ROR	R18
    06FF 9517      ROR	R17
    0700 9507      ROR	R16
    0701 5F3F      SUBI	R19,0xFF
    0702 F673      BVC	0x06D1
    0703 940C080D  JMP	maxres
    0705 D013      RCALL	usub24
    0706 F411      BNE	0x0709
    0707 940C0814  JMP	minres
    0709 F410      BCC	0x070C
    070A 940E0807  CALL	negmant
    070C 2322      TST	R18
    070D F21A      BMI	0x06D1
    070E 0F00      LSL	R16
    070F 1F11      ROL	R17
    0710 1F22      ROL	R18
    0711 5031      SUBI	R19,1
    0712 F7CB      BVC	0x070C
    0713 940C080D  JMP	maxres
    0715 0D02      ADD	R16,R2
    0716 1D13      ADC	R17,R3
    0717 1D24      ADC	R18,R4
    0718 9508      RET
usub24:
    0719 1902      SUB	R16,R2
    071A 0913      SBC	R17,R3
    071B 0924      SBC	R18,R4
    071C 9508      RET
div32fs:
    071D D002      RCALL	div32f
    071E 940C0593  JMP	push_arg4
div32f:
    0720 940E06B9  CALL	float_prolog
    0722 D023      RCALL	FDIV
    0723 940C06B2  JMP	float_epilog
    0725 93BA      ST	R27,-Y
    0726 24DD      CLR	R13
    0727 24EE      CLR	R14
    0728 24FF      CLR	R15
    0729 E1B8      LDI	R27,0x18
    072A 1502      CP	R16,R2
    072B 0513      CPC	R17,R3
    072C 0524      CPC	R18,R4
    072D F028      BCS	0x0733
    072E 1902      SUB	R16,R2
    072F 0913      SBC	R17,R3
    0730 0924      SBC	R18,R4
    0731 9408      BSET	0
    0732 C001      RJMP	0x0734
    0733 9488      BCLR	0
    0734 1CDD      ROL	R13
    0735 1CEE      ROL	R14
    0736 1CFF      ROL	R15
    0737 0F00      LSL	R16
    0738 1F11      ROL	R17
    0739 1F22      ROL	R18
    073A 95BA      DEC	R27
    073B F771      BNE	0x072A
    073C 2D0D      MOV	R16,R13
    073D 2D1E      MOV	R17,R14
    073E 2D2F      MOV	R18,R15
    073F 91B9      LD	R27,Y+
    0740 9508      RET
fdiv10:
    0741 2422      CLR	R2
    0742 2433      CLR	R3
    0743 E2B0      LDI	R27,0x20
    0744 2E4B      MOV	R4,R27
    0745 E491      LDI	R25,0x41
FDIV:
    0746 2399      TST	R25
    0747 F129      BEQ	0x076D
    0748 2333      TST	R19
    0749 F151      BEQ	0x0774
    074A 940E082C  CALL	unpack
    074C F139      BEQ	0x0774
    074D 278A      EOR	R24,R26
    074E 9408      BSET	0
    074F 0B39      SBC	R19,R25
    0750 F0EB      BVS	0x076E
    0751 9446      LSR	R4
    0752 9437      ROR	R3
    0753 9427      ROR	R2
    0754 9526      LSR	R18
    0755 9517      ROR	R17
    0756 9507      ROR	R16
    0757 DFCD      RCALL	0x0725
    0758 2322      TST	R18
    0759 F02A      BMI	0x075F
    075A 0F00      LSL	R16
    075B 1F11      ROL	R17
    075C 1F22      ROL	R18
    075D 5031      SUBI	R19,1
    075E F07B      BVS	0x076E
    075F 2FB0      MOV	R27,R16
    0760 95B6      LSR	R27
    0761 F048      BCS	0x076B
    0762 2300      TST	R16
    0763 F43A      BPL	0x076B
    0764 2311      TST	R17
    0765 F42A      BPL	0x076B
    0766 E0B1      LDI	R27,1
    0767 0F0B      ADD	R16,R27
    0768 27BB      CLR	R27
    0769 1F1B      ADC	R17,R27
    076A 1F2B      ADC	R18,R27
    076B 940C083E  JMP	repack
    076D C006      RJMP	0x0774
    076E E7BF      LDI	R27,0x7F
    076F 2F3B      MOV	R19,R27
    0770 2B2B      OR	R18,R27
    0771 EF0F      LDI	R16,0xFF
    0772 EF1F      LDI	R17,0xFF
    0773 9508      RET
    0774 2700      CLR	R16
    0775 2711      CLR	R17
    0776 2722      CLR	R18
    0777 2733      CLR	R19
    0778 2788      CLR	R24
    0779 9508      RET
cmp32f:
    077A 940E06B9  CALL	float_prolog
    077C D002      RCALL	FLTCP
    077D 940C06B2  JMP	float_epilog
FLTCP:
    077F D002      RCALL	0x0782
    0780 23BB      TST	R27
    0781 9508      RET
    0782 2333      TST	R19
    0783 F082      BMI	0x0794
    0784 2399      TST	R25
    0785 F042      BMI	0x078E
    0786 1739      CP	R19,R25
    0787 F040      BCS	0x0790
    0788 F429      BNE	0x078E
    0789 1502      CP	R16,R2
    078A 0513      CPC	R17,R3
    078B 0524      CPC	R18,R4
    078C F018      BCS	0x0790
    078D F021      BEQ	0x0792
    078E E0B1      LDI	R27,1
    078F 9508      RET
    0790 EFBF      LDI	R27,0xFF
    0791 9508      RET
    0792 27BB      CLR	R27
    0793 9508      RET
    0794 2399      TST	R25
    0795 F7D2      BPL	0x0790
    0796 1739      CP	R19,R25
    0797 F3B0      BCS	0x078E
    0798 F7B9      BNE	0x0790
    0799 1502      CP	R16,R2
    079A 0513      CPC	R17,R3
    079B 0524      CPC	R18,R4
    079C F388      BCS	0x078E
    079D F3A1      BEQ	0x0792
    079E CFF1      RJMP	0x0790
    079F E7BF      LDI	R27,0x7F
    07A0 2F3B      MOV	R19,R27
    07A1 2B2B      OR	R18,R27
    07A2 EF0F      LDI	R16,0xFF
    07A3 EF1F      LDI	R17,0xFF
    07A4 9508      RET
    07A5 2700      CLR	R16
    07A6 2711      CLR	R17
    07A7 2722      CLR	R18
    07A8 2733      CLR	R19
    07A9 2788      CLR	R24
    07AA 9508      RET
empy32fs:
    07AB D002      RCALL	empy32f
    07AC 940C0593  JMP	push_arg4
empy32f:
    07AE 940E06B9  CALL	float_prolog
    07B0 920F      PUSH	R0
    07B1 92CF      PUSH	R12
    07B2 D004      RCALL	eFMUL
    07B3 90CF      POP	R12
    07B4 900F      POP	R0
    07B5 940C06B2  JMP	float_epilog
eFMUL:
    07B7 940E082C  CALL	unpack
    07B9 F359      BEQ	0x07A5
    07BA 3890      CPI	R25,0x80
    07BB F349      BEQ	0x07A5
    07BC 278A      EOR	R24,R26
    07BD 9408      BSET	0
    07BE 1F39      ADC	R19,R25
    07BF F2FB      BVS	0x079F
    07C0 D00E      RCALL	eumul24
    07C1 2D2F      MOV	R18,R15
    07C2 2D1E      MOV	R17,R14
    07C3 2D0D      MOV	R16,R13
    07C4 2322      TST	R18
    07C5 F02A      BMI	0x07CB
    07C6 953A      DEC	R19
    07C7 0CCC      LSL	R12
    07C8 1F00      ROL	R16
    07C9 1F11      ROL	R17
    07CA 1F22      ROL	R18
    07CB 5F3F      SUBI	R19,0xFF
    07CC F293      BVS	0x079F
    07CD 940C083E  JMP	repack
eumul24:
    07CF 9D22      MUL	R18,R2
    07D0 2CC0      MOV	R12,R0
    07D1 2CD1      MOV	R13,R1
    07D2 9D24      MUL	R18,R4
    07D3 2CE0      MOV	R14,R0
    07D4 2CF1      MOV	R15,R1
    07D5 9D12      MUL	R17,R2
    07D6 0CC1      ADD	R12,R1
    07D7 1EDB      ADC	R13,R27
    07D8 1EEB      ADC	R14,R27
    07D9 1EFB      ADC	R15,R27
    07DA 9D03      MUL	R16,R3
    07DB 0CC1      ADD	R12,R1
    07DC 1EDB      ADC	R13,R27
    07DD 1EEB      ADC	R14,R27
    07DE 1EFB      ADC	R15,R27
    07DF 9D13      MUL	R17,R3
    07E0 0CC0      ADD	R12,R0
    07E1 1CD1      ADC	R13,R1
    07E2 1EEB      ADC	R14,R27
    07E3 1EFB      ADC	R15,R27
    07E4 9D04      MUL	R16,R4
    07E5 0CC0      ADD	R12,R0
    07E6 1CD1      ADC	R13,R1
    07E7 1EEB      ADC	R14,R27
    07E8 1EFB      ADC	R15,R27
    07E9 9D23      MUL	R18,R3
    07EA 0CD0      ADD	R13,R0
    07EB 1CE1      ADC	R14,R1
    07EC 1EFB      ADC	R15,R27
    07ED 9D14      MUL	R17,R4
    07EE 0CD0      ADD	R13,R0
    07EF 1CE1      ADC	R14,R1
    07F0 1EFB      ADC	R15,R27
    07F1 20CC      TST	R12
    07F2 F422      BPL	0x07F7
    07F3 9488      BCLR	0
    07F4 1EDB      ADC	R13,R27
    07F5 1EEB      ADC	R14,R27
    07F6 1EFB      ADC	R15,R27
    07F7 9508      RET
savfacc1:
    07F8 938A      ST	R24,-Y
    07F9 93BA      ST	R27,-Y
    07FA 9508      RET
restorefacc1:
    07FB 91B9      LD	R27,Y+
    07FC 9189      LD	R24,Y+
    07FD 9508      RET
unpackfacc1:
    07FE 2F83      MOV	R24,R19
    07FF 7880      ANDI	R24,0x80
    0800 0F22      LSL	R18
    0801 1F33      ROL	R19
    0802 5830      SUBI	R19,0x80
    0803 9408      BSET	0
    0804 9527      ROR	R18
    0805 3830      CPI	R19,0x80
    0806 9508      RET
negmant:
    0807 9510      COM	R17
    0808 9520      COM	R18
    0809 9501      NEG	R16
    080A 4F1F      SBCI	R17,0xFF
    080B 4F2F      SBCI	R18,0xFF
    080C 9508      RET
maxres:
    080D E7BF      LDI	R27,0x7F
    080E 2F3B      MOV	R19,R27
    080F 2B2B      OR	R18,R27
    0810 EFBF      LDI	R27,0xFF
    0811 2F0B      MOV	R16,R27
    0812 2F1B      MOV	R17,R27
    0813 9508      RET
minres:
    0814 2700      CLR	R16
    0815 2711      CLR	R17
    0816 2722      CLR	R18
    0817 2733      CLR	R19
    0818 2788      CLR	R24
    0819 9508      RET
ac1toac2:
    081A 2F93      MOV	R25,R19
    081B 2E20      MOV	R2,R16
    081C 2E31      MOV	R3,R17
    081D 2E42      MOV	R4,R18
    081E 2FA8      MOV	R26,R24
    081F 9508      RET
swapacc:
    0820 922A      ST	R2,-Y
    0821 923A      ST	R3,-Y
    0822 924A      ST	R4,-Y
    0823 939A      ST	R25,-Y
    0824 93AA      ST	R26,-Y
    0825 DFF4      RCALL	ac1toac2
    0826 9189      LD	R24,Y+
    0827 9139      LD	R19,Y+
    0828 9129      LD	R18,Y+
    0829 9119      LD	R17,Y+
    082A 9109      LD	R16,Y+
    082B 9508      RET
unpack:
    082C 2F83      MOV	R24,R19
    082D E8B0      LDI	R27,0x80
    082E 0F22      LSL	R18
    082F 1F33      ROL	R19
    0830 273B      EOR	R19,R27
    0831 0FBB      LSL	R27
    0832 9527      ROR	R18
    0833 7880      ANDI	R24,0x80
    0834 2FA9      MOV	R26,R25
    0835 E8B0      LDI	R27,0x80
    0836 0C44      LSL	R4
    0837 1F99      ROL	R25
    0838 279B      EOR	R25,R27
    0839 0FBB      LSL	R27
    083A 9447      ROR	R4
    083B 78A0      ANDI	R26,0x80
    083C 3830      CPI	R19,0x80
    083D 9508      RET
repack:
    083E 0F22      LSL	R18
    083F E8B0      LDI	R27,0x80
    0840 27B3      EOR	R27,R19
    0841 0F88      LSL	R24
    0842 95B7      ROR	R27
    0843 9527      ROR	R18
    0844 2F3B      MOV	R19,R27
    0845 9508      RET

⌨️ 快捷键说明

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