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

📄 ac19-1.lst

📁 AVR单片机ATmega16(L)应用实例—红外线转速仪
💻 LST
📖 第 1 页 / 共 4 页
字号:
    04BE 920F      PUSH	R0
    04BF B60F      IN	R0,0x3F
    04C0 9628      ADIW	R28,0x8
    04C1 BE0F      OUT	0x3F,R0
    04C2 900F      POP	R0
    04C3 9508      RET
float_prolog:
    04C4 DFD8      RCALL	save_floatregs
    04C5 DFF2      RCALL	stk2arg0
    04C6 CFEC      RJMP	stk2arg1
add32fs:
    04C7 D002      RCALL	add32f
    04C8 940C03BF  JMP	push_arg4
add32f:
    04CA 940E04C4  CALL	float_prolog
    04CC D012      RCALL	FADD
    04CD 940C04BD  JMP	float_epilog
sub32fs:
    04CF D002      RCALL	sub32f
    04D0 940C03BF  JMP	push_arg4
sub32f:
    04D2 940E04C4  CALL	float_prolog
    04D4 D009      RCALL	FSUB
    04D5 940C04BD  JMP	float_epilog
fret2:
    04D7 2F8A      MOV	R24,R26
    04D8 2F39      MOV	R19,R25
    04D9 2D24      MOV	R18,R4
    04DA 2D13      MOV	R17,R3
    04DB 2D02      MOV	R16,R2
    04DC 940C0649  JMP	repack
FSUB:
    04DE 5890      SUBI	R25,0x80
FADD:
    04DF 940E0637  CALL	unpack
    04E1 3890      CPI	R25,0x80
    04E2 F3C9      BEQ	0x04DC
    04E3 3830      CPI	R19,0x80
    04E4 F391      BEQ	0x04D7
    04E5 2FB3      MOV	R27,R19
    04E6 1BB9      SUB	R27,R25
    04E7 F3A3      BVS	0x04DC
    04E8 F02A      BMI	0x04EE
    04E9 F439      BNE	0x04F1
    04EA 1502      CP	R16,R2
    04EB 0513      CPC	R17,R3
    04EC 0524      CPC	R18,R4
    04ED F418      BCC	0x04F1
    04EE 940E062B  CALL	swapacc
    04F0 CFF4      RJMP	0x04E5
    04F1 31B8      CPI	R27,0x18
    04F2 F018      BCS	0x04F6
    04F3 2422      CLR	R2
    04F4 2433      CLR	R3
    04F5 2444      CLR	R4
    04F6 30B8      CPI	R27,0x8
    04F7 F028      BCS	0x04FD
    04F8 2C23      MOV	R2,R3
    04F9 2C34      MOV	R3,R4
    04FA 2444      CLR	R4
    04FB 50B8      SUBI	R27,0x8
    04FC CFF9      RJMP	0x04F6
    04FD 23BB      TST	R27
    04FE F029      BEQ	0x0504
    04FF 9446      LSR	R4
    0500 9437      ROR	R3
    0501 9427      ROR	R2
    0502 95BA      DEC	R27
    0503 F7D9      BNE	0x04FF
    0504 2FB8      MOV	R27,R24
    0505 27BA      EOR	R27,R26
    0506 F04A      BMI	0x0510
    0507 D018      RCALL	0x0520
    0508 F698      BCC	0x04DC
    0509 9527      ROR	R18
    050A 9517      ROR	R17
    050B 9507      ROR	R16
    050C 5F3F      SUBI	R19,0xFF
    050D F673      BVC	0x04DC
    050E 940C0618  JMP	maxres
    0510 D013      RCALL	usub24
    0511 F411      BNE	0x0514
    0512 940C061F  JMP	minres
    0514 F410      BCC	0x0517
    0515 940E0612  CALL	negmant
    0517 2322      TST	R18
    0518 F21A      BMI	0x04DC
    0519 0F00      LSL	R16
    051A 1F11      ROL	R17
    051B 1F22      ROL	R18
    051C 5031      SUBI	R19,1
    051D F7CB      BVC	0x0517
    051E 940C0618  JMP	maxres
    0520 0D02      ADD	R16,R2
    0521 1D13      ADC	R17,R3
    0522 1D24      ADC	R18,R4
    0523 9508      RET
usub24:
    0524 1902      SUB	R16,R2
    0525 0913      SBC	R17,R3
    0526 0924      SBC	R18,R4
    0527 9508      RET
div32fs:
    0528 D002      RCALL	div32f
    0529 940C03BF  JMP	push_arg4
div32f:
    052B 940E04C4  CALL	float_prolog
    052D D023      RCALL	FDIV
    052E 940C04BD  JMP	float_epilog
    0530 93BA      ST	R27,-Y
    0531 24DD      CLR	R13
    0532 24EE      CLR	R14
    0533 24FF      CLR	R15
    0534 E1B8      LDI	R27,0x18
    0535 1502      CP	R16,R2
    0536 0513      CPC	R17,R3
    0537 0524      CPC	R18,R4
    0538 F028      BCS	0x053E
    0539 1902      SUB	R16,R2
    053A 0913      SBC	R17,R3
    053B 0924      SBC	R18,R4
    053C 9408      BSET	0
    053D C001      RJMP	0x053F
    053E 9488      BCLR	0
    053F 1CDD      ROL	R13
    0540 1CEE      ROL	R14
    0541 1CFF      ROL	R15
    0542 0F00      LSL	R16
    0543 1F11      ROL	R17
    0544 1F22      ROL	R18
    0545 95BA      DEC	R27
    0546 F771      BNE	0x0535
    0547 2D0D      MOV	R16,R13
    0548 2D1E      MOV	R17,R14
    0549 2D2F      MOV	R18,R15
    054A 91B9      LD	R27,Y+
    054B 9508      RET
fdiv10:
    054C 2422      CLR	R2
    054D 2433      CLR	R3
    054E E2B0      LDI	R27,0x20
    054F 2E4B      MOV	R4,R27
    0550 E491      LDI	R25,0x41
FDIV:
    0551 2399      TST	R25
    0552 F129      BEQ	0x0578
    0553 2333      TST	R19
    0554 F151      BEQ	0x057F
    0555 940E0637  CALL	unpack
    0557 F139      BEQ	0x057F
    0558 278A      EOR	R24,R26
    0559 9408      BSET	0
    055A 0B39      SBC	R19,R25
    055B F0EB      BVS	0x0579
    055C 9446      LSR	R4
    055D 9437      ROR	R3
    055E 9427      ROR	R2
    055F 9526      LSR	R18
    0560 9517      ROR	R17
    0561 9507      ROR	R16
    0562 DFCD      RCALL	0x0530
    0563 2322      TST	R18
    0564 F02A      BMI	0x056A
    0565 0F00      LSL	R16
    0566 1F11      ROL	R17
    0567 1F22      ROL	R18
    0568 5031      SUBI	R19,1
    0569 F07B      BVS	0x0579
    056A 2FB0      MOV	R27,R16
    056B 95B6      LSR	R27
    056C F048      BCS	0x0576
    056D 2300      TST	R16
    056E F43A      BPL	0x0576
    056F 2311      TST	R17
    0570 F42A      BPL	0x0576
    0571 E0B1      LDI	R27,1
    0572 0F0B      ADD	R16,R27
    0573 27BB      CLR	R27
    0574 1F1B      ADC	R17,R27
    0575 1F2B      ADC	R18,R27
    0576 940C0649  JMP	repack
    0578 C006      RJMP	0x057F
    0579 E7BF      LDI	R27,0x7F
    057A 2F3B      MOV	R19,R27
    057B 2B2B      OR	R18,R27
    057C EF0F      LDI	R16,0xFF
    057D EF1F      LDI	R17,0xFF
    057E 9508      RET
    057F 2700      CLR	R16
    0580 2711      CLR	R17
    0581 2722      CLR	R18
    0582 2733      CLR	R19
    0583 2788      CLR	R24
    0584 9508      RET
cmp32f:
    0585 940E04C4  CALL	float_prolog
    0587 D002      RCALL	FLTCP
    0588 940C04BD  JMP	float_epilog
FLTCP:
    058A D002      RCALL	0x058D
    058B 23BB      TST	R27
    058C 9508      RET
    058D 2333      TST	R19
    058E F082      BMI	0x059F
    058F 2399      TST	R25
    0590 F042      BMI	0x0599
    0591 1739      CP	R19,R25
    0592 F040      BCS	0x059B
    0593 F429      BNE	0x0599
    0594 1502      CP	R16,R2
    0595 0513      CPC	R17,R3
    0596 0524      CPC	R18,R4
    0597 F018      BCS	0x059B
    0598 F021      BEQ	0x059D
    0599 E0B1      LDI	R27,1
    059A 9508      RET
    059B EFBF      LDI	R27,0xFF
    059C 9508      RET
    059D 27BB      CLR	R27
    059E 9508      RET
    059F 2399      TST	R25
    05A0 F7D2      BPL	0x059B
    05A1 1739      CP	R19,R25
    05A2 F3B0      BCS	0x0599
    05A3 F7B9      BNE	0x059B
    05A4 1502      CP	R16,R2
    05A5 0513      CPC	R17,R3
    05A6 0524      CPC	R18,R4
    05A7 F388      BCS	0x0599
    05A8 F3A1      BEQ	0x059D
    05A9 CFF1      RJMP	0x059B
    05AA E7BF      LDI	R27,0x7F
    05AB 2F3B      MOV	R19,R27
    05AC 2B2B      OR	R18,R27
    05AD EF0F      LDI	R16,0xFF
    05AE EF1F      LDI	R17,0xFF
    05AF 9508      RET
    05B0 2700      CLR	R16
    05B1 2711      CLR	R17
    05B2 2722      CLR	R18
    05B3 2733      CLR	R19
    05B4 2788      CLR	R24
    05B5 9508      RET
empy32fs:
    05B6 D002      RCALL	empy32f
    05B7 940C03BF  JMP	push_arg4
empy32f:
    05B9 940E04C4  CALL	float_prolog
    05BB 920F      PUSH	R0
    05BC 92CF      PUSH	R12
    05BD D004      RCALL	eFMUL
    05BE 90CF      POP	R12
    05BF 900F      POP	R0
    05C0 940C04BD  JMP	float_epilog
eFMUL:
    05C2 940E0637  CALL	unpack
    05C4 F359      BEQ	0x05B0
    05C5 3890      CPI	R25,0x80
    05C6 F349      BEQ	0x05B0
    05C7 278A      EOR	R24,R26
    05C8 9408      BSET	0
    05C9 1F39      ADC	R19,R25
    05CA F2FB      BVS	0x05AA
    05CB D00E      RCALL	eumul24
    05CC 2D2F      MOV	R18,R15
    05CD 2D1E      MOV	R17,R14
    05CE 2D0D      MOV	R16,R13
    05CF 2322      TST	R18
    05D0 F02A      BMI	0x05D6
    05D1 953A      DEC	R19
    05D2 0CCC      LSL	R12
    05D3 1F00      ROL	R16
    05D4 1F11      ROL	R17
    05D5 1F22      ROL	R18
    05D6 5F3F      SUBI	R19,0xFF
    05D7 F293      BVS	0x05AA
    05D8 940C0649  JMP	repack
eumul24:
    05DA 9D22      MUL	R18,R2
    05DB 2CC0      MOV	R12,R0
    05DC 2CD1      MOV	R13,R1
    05DD 9D24      MUL	R18,R4
    05DE 2CE0      MOV	R14,R0
    05DF 2CF1      MOV	R15,R1
    05E0 9D12      MUL	R17,R2
    05E1 0CC1      ADD	R12,R1
    05E2 1EDB      ADC	R13,R27
    05E3 1EEB      ADC	R14,R27
    05E4 1EFB      ADC	R15,R27
    05E5 9D03      MUL	R16,R3
    05E6 0CC1      ADD	R12,R1
    05E7 1EDB      ADC	R13,R27
    05E8 1EEB      ADC	R14,R27
    05E9 1EFB      ADC	R15,R27
    05EA 9D13      MUL	R17,R3
    05EB 0CC0      ADD	R12,R0
    05EC 1CD1      ADC	R13,R1
    05ED 1EEB      ADC	R14,R27
    05EE 1EFB      ADC	R15,R27
    05EF 9D04      MUL	R16,R4
    05F0 0CC0      ADD	R12,R0
    05F1 1CD1      ADC	R13,R1
    05F2 1EEB      ADC	R14,R27
    05F3 1EFB      ADC	R15,R27
    05F4 9D23      MUL	R18,R3
    05F5 0CD0      ADD	R13,R0
    05F6 1CE1      ADC	R14,R1
    05F7 1EFB      ADC	R15,R27
    05F8 9D14      MUL	R17,R4
    05F9 0CD0      ADD	R13,R0
    05FA 1CE1      ADC	R14,R1
    05FB 1EFB      ADC	R15,R27
    05FC 20CC      TST	R12
    05FD F422      BPL	0x0602
    05FE 9488      BCLR	0
    05FF 1EDB      ADC	R13,R27
    0600 1EEB      ADC	R14,R27
    0601 1EFB      ADC	R15,R27
    0602 9508      RET
savfacc1:
    0603 938A      ST	R24,-Y
    0604 93BA      ST	R27,-Y
    0605 9508      RET
restorefacc1:
    0606 91B9      LD	R27,Y+
    0607 9189      LD	R24,Y+
    0608 9508      RET
unpackfacc1:
    0609 2F83      MOV	R24,R19
    060A 7880      ANDI	R24,0x80
    060B 0F22      LSL	R18
    060C 1F33      ROL	R19
    060D 5830      SUBI	R19,0x80
    060E 9408      BSET	0
    060F 9527      ROR	R18
    0610 3830      CPI	R19,0x80
    0611 9508      RET
negmant:
    0612 9510      COM	R17
    0613 9520      COM	R18
    0614 9501      NEG	R16
    0615 4F1F      SBCI	R17,0xFF
    0616 4F2F      SBCI	R18,0xFF
    0617 9508      RET
maxres:
    0618 E7BF      LDI	R27,0x7F
    0619 2F3B      MOV	R19,R27
    061A 2B2B      OR	R18,R27
    061B EFBF      LDI	R27,0xFF
    061C 2F0B      MOV	R16,R27
    061D 2F1B      MOV	R17,R27
    061E 9508      RET
minres:
    061F 2700      CLR	R16
    0620 2711      CLR	R17
    0621 2722      CLR	R18
    0622 2733      CLR	R19
    0623 2788      CLR	R24
    0624 9508      RET
ac1toac2:
    0625 2F93      MOV	R25,R19
    0626 2E20      MOV	R2,R16
    0627 2E31      MOV	R3,R17
    0628 2E42      MOV	R4,R18
    0629 2FA8      MOV	R26,R24
    062A 9508      RET
swapacc:
    062B 922A      ST	R2,-Y
    062C 923A      ST	R3,-Y
    062D 924A      ST	R4,-Y
    062E 939A      ST	R25,-Y
    062F 93AA      ST	R26,-Y
    0630 DFF4      RCALL	ac1toac2
    0631 9189      LD	R24,Y+
    0632 9139      LD	R19,Y+
    0633 9129      LD	R18,Y+
    0634 9119      LD	R17,Y+
    0635 9109      LD	R16,Y+
    0636 9508      RET
unpack:
    0637 2F83      MOV	R24,R19
    0638 E8B0      LDI	R27,0x80
    0639 0F22      LSL	R18
    063A 1F33      ROL	R19
    063B 273B      EOR	R19,R27
    063C 0FBB      LSL	R27
    063D 9527      ROR	R18
    063E 7880      ANDI	R24,0x80
    063F 2FA9      MOV	R26,R25
    0640 E8B0      LDI	R27,0x80
    0641 0C44      LSL	R4
    0642 1F99      ROL	R25
    0643 279B      EOR	R25,R27
    0644 0FBB      LSL	R27
    0645 9447      ROR	R4
    0646 78A0      ANDI	R26,0x80
    0647 3830      CPI	R19,0x80
    0648 9508      RET
repack:
    0649 0F22      LSL	R18
    064A E8B0      LDI	R27,0x80
    064B 27B3      EOR	R27,R19
    064C 0F88      LSL	R24
    064D 95B7      ROR	R27
    064E 9527      ROR	R18
    064F 2F3B      MOV	R19,R27
    0650 9508      RET

⌨️ 快捷键说明

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