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

📄 robbot.lst

📁 寻迹机器人设计开发环境为ICC,可以编译成汇编,直接下栽到嵌入式avr单片机进行控制
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0602 F7D0      BCC	0x05FD
    0603 23BB      TST	R27
    0604 F031      BEQ	0x060B
    0605 9536      LSR	R19
    0606 9527      ROR	R18
    0607 9517      ROR	R17
    0608 9507      ROR	R16
    0609 95BA      DEC	R27
    060A F7D1      BNE	0x0605
    060B 9508      RET
int2fp:
    060C 2722      CLR	R18
    060D FD17      SBRC	R17,7
    060E 9520      COM	R18
    060F 2733      CLR	R19
    0610 FD27      SBRC	R18,7
    0611 9530      COM	R19
long2fp:
    0612 D158      RCALL	savfacc1
    0613 D001      RCALL	ITOF
    0614 C159      RJMP	restorefacc1
ITOF:
    0615 2788      CLR	R24
    0616 2333      TST	R19
    0617 F412      BPL	0x061A
    0618 DF6A      RCALL	neg32
    0619 9580      COM	R24
    061A 2FB0      MOV	R27,R16
    061B 2BB1      OR	R27,R17
    061C 2BB2      OR	R27,R18
    061D 2BB3      OR	R27,R19
    061E F409      BNE	0x0620
    061F C167      RJMP	minres
    0620 E1B6      LDI	R27,0x16
    0621 C005      RJMP	0x0627
    0622 95B3      INC	R27
    0623 9536      LSR	R19
    0624 9527      ROR	R18
    0625 9517      ROR	R17
    0626 9507      ROR	R16
    0627 2333      TST	R19
    0628 F7C9      BNE	0x0622
    0629 2322      TST	R18
    062A F449      BNE	0x0634
    062B 50B8      SUBI	R27,0x8
    062C 2F21      MOV	R18,R17
    062D 2F10      MOV	R17,R16
    062E E000      LDI	R16,0
    062F CFF9      RJMP	0x0629
    0630 95BA      DEC	R27
    0631 0F00      LSL	R16
    0632 1F11      ROL	R17
    0633 1F22      ROL	R18
    0634 F7DA      BPL	0x0630
    0635 2F3B      MOV	R19,R27
    0636 C17A      RJMP	repack
save_floatregs:
    0637 92DA      ST	R13,-Y
    0638 92EA      ST	R14,-Y
    0639 92FA      ST	R15,-Y
    063A 938A      ST	R24,-Y
    063B 922A      ST	R2,-Y
    063C 923A      ST	R3,-Y
    063D 924A      ST	R4,-Y
    063E 939A      ST	R25,-Y
    063F 93AA      ST	R26,-Y
    0640 93BA      ST	R27,-Y
    0641 9508      RET
restore_floatregs:
    0642 91B9      LD	R27,Y+
    0643 91A9      LD	R26,Y+
    0644 9199      LD	R25,Y+
    0645 9049      LD	R4,Y+
    0646 9039      LD	R3,Y+
    0647 9029      LD	R2,Y+
    0648 9189      LD	R24,Y+
    0649 90F9      LD	R15,Y+
    064A 90E9      LD	R14,Y+
    064B 90D9      LD	R13,Y+
    064C 9508      RET
stk2arg1:
    064D 842A      LDD	R2,Y+10
    064E 843B      LDD	R3,Y+11
    064F 844C      LDD	R4,Y+12
    0650 859D      LDD	R25,Y+13
    0651 9508      RET
stk2arg0:
    0652 850E      LDD	R16,Y+14
    0653 851F      LDD	R17,Y+15
    0654 8928      LDD	R18,Y+16
    0655 8939      LDD	R19,Y+17
    0656 9508      RET
float_epilog:
    0657 DFEA      RCALL	restore_floatregs
    0658 920F      PUSH	R0
    0659 B60F      IN	R0,0x3F
    065A 9628      ADIW	R28,0x8
    065B BE0F      OUT	0x3F,R0
    065C 900F      POP	R0
    065D 9508      RET
float_prolog:
    065E DFD8      RCALL	save_floatregs
    065F DFF2      RCALL	stk2arg0
    0660 CFEC      RJMP	stk2arg1
add32fs:
    0661 D001      RCALL	add32f
    0662 CEF0      RJMP	push_arg4
add32f:
    0663 DFFA      RCALL	float_prolog
    0664 D00D      RCALL	FADD
    0665 CFF1      RJMP	float_epilog
sub32fs:
    0666 D001      RCALL	sub32f
    0667 CEEB      RJMP	push_arg4
sub32f:
    0668 DFF5      RCALL	float_prolog
    0669 D007      RCALL	FSUB
    066A CFEC      RJMP	float_epilog
fret2:
    066B 2F8A      MOV	R24,R26
    066C 2F39      MOV	R19,R25
    066D 2D24      MOV	R18,R4
    066E 2D13      MOV	R17,R3
    066F 2D02      MOV	R16,R2
    0670 C140      RJMP	repack
FSUB:
    0671 5890      SUBI	R25,0x80
FADD:
    0672 D12C      RCALL	unpack
    0673 3890      CPI	R25,0x80
    0674 F3D9      BEQ	0x0670
    0675 3830      CPI	R19,0x80
    0676 F3A1      BEQ	0x066B
    0677 2FB3      MOV	R27,R19
    0678 1BB9      SUB	R27,R25
    0679 F3B3      BVS	0x0670
    067A F02A      BMI	0x0680
    067B F431      BNE	0x0682
    067C 1502      CP	R16,R2
    067D 0513      CPC	R17,R3
    067E 0524      CPC	R18,R4
    067F F410      BCC	0x0682
    0680 D112      RCALL	swapacc
    0681 CFF5      RJMP	0x0677
    0682 31B8      CPI	R27,0x18
    0683 F018      BCS	0x0687
    0684 2422      CLR	R2
    0685 2433      CLR	R3
    0686 2444      CLR	R4
    0687 30B8      CPI	R27,0x8
    0688 F028      BCS	0x068E
    0689 2C23      MOV	R2,R3
    068A 2C34      MOV	R3,R4
    068B 2444      CLR	R4
    068C 50B8      SUBI	R27,0x8
    068D CFF9      RJMP	0x0687
    068E 23BB      TST	R27
    068F F029      BEQ	0x0695
    0690 9446      LSR	R4
    0691 9437      ROR	R3
    0692 9427      ROR	R2
    0693 95BA      DEC	R27
    0694 F7D9      BNE	0x0690
    0695 2FB8      MOV	R27,R24
    0696 27BA      EOR	R27,R26
    0697 F042      BMI	0x06A0
    0698 D014      RCALL	0x06AD
    0699 F6B0      BCC	0x0670
    069A 9527      ROR	R18
    069B 9517      ROR	R17
    069C 9507      ROR	R16
    069D 5F3F      SUBI	R19,0xFF
    069E F68B      BVC	0x0670
    069F C0E0      RJMP	maxres
    06A0 D010      RCALL	usub24
    06A1 F409      BNE	0x06A3
    06A2 C0E4      RJMP	minres
    06A3 F408      BCC	0x06A5
    06A4 D0D5      RCALL	negmant
    06A5 2322      TST	R18
    06A6 F24A      BMI	0x0670
    06A7 0F00      LSL	R16
    06A8 1F11      ROL	R17
    06A9 1F22      ROL	R18
    06AA 5031      SUBI	R19,1
    06AB F7CB      BVC	0x06A5
    06AC C0D3      RJMP	maxres
    06AD 0D02      ADD	R16,R2
    06AE 1D13      ADC	R17,R3
    06AF 1D24      ADC	R18,R4
    06B0 9508      RET
usub24:
    06B1 1902      SUB	R16,R2
    06B2 0913      SBC	R17,R3
    06B3 0924      SBC	R18,R4
    06B4 9508      RET
div32fs:
    06B5 D001      RCALL	div32f
    06B6 CE9C      RJMP	push_arg4
div32f:
    06B7 DFA6      RCALL	float_prolog
    06B8 D022      RCALL	FDIV
    06B9 CF9D      RJMP	float_epilog
    06BA 93BA      ST	R27,-Y
    06BB 24DD      CLR	R13
    06BC 24EE      CLR	R14
    06BD 24FF      CLR	R15
    06BE E1B8      LDI	R27,0x18
    06BF 1502      CP	R16,R2
    06C0 0513      CPC	R17,R3
    06C1 0524      CPC	R18,R4
    06C2 F028      BCS	0x06C8
    06C3 1902      SUB	R16,R2
    06C4 0913      SBC	R17,R3
    06C5 0924      SBC	R18,R4
    06C6 9408      BSET	0
    06C7 C001      RJMP	0x06C9
    06C8 9488      BCLR	0
    06C9 1CDD      ROL	R13
    06CA 1CEE      ROL	R14
    06CB 1CFF      ROL	R15
    06CC 0F00      LSL	R16
    06CD 1F11      ROL	R17
    06CE 1F22      ROL	R18
    06CF 95BA      DEC	R27
    06D0 F771      BNE	0x06BF
    06D1 2D0D      MOV	R16,R13
    06D2 2D1E      MOV	R17,R14
    06D3 2D2F      MOV	R18,R15
    06D4 91B9      LD	R27,Y+
    06D5 9508      RET
fdiv10:
    06D6 2422      CLR	R2
    06D7 2433      CLR	R3
    06D8 E2B0      LDI	R27,0x20
    06D9 2E4B      MOV	R4,R27
    06DA E491      LDI	R25,0x41
FDIV:
    06DB 2399      TST	R25
    06DC F119      BEQ	0x0700
    06DD 2333      TST	R19
    06DE F141      BEQ	0x0707
    06DF D0BF      RCALL	unpack
    06E0 F131      BEQ	0x0707
    06E1 278A      EOR	R24,R26
    06E2 9408      BSET	0
    06E3 0B39      SBC	R19,R25
    06E4 F0E3      BVS	0x0701
    06E5 9446      LSR	R4
    06E6 9437      ROR	R3
    06E7 9427      ROR	R2
    06E8 9526      LSR	R18
    06E9 9517      ROR	R17
    06EA 9507      ROR	R16
    06EB DFCE      RCALL	0x06BA
    06EC 2322      TST	R18
    06ED F02A      BMI	0x06F3
    06EE 0F00      LSL	R16
    06EF 1F11      ROL	R17
    06F0 1F22      ROL	R18
    06F1 5031      SUBI	R19,1
    06F2 F073      BVS	0x0701
    06F3 2FB0      MOV	R27,R16
    06F4 95B6      LSR	R27
    06F5 F048      BCS	0x06FF
    06F6 2300      TST	R16
    06F7 F43A      BPL	0x06FF
    06F8 2311      TST	R17
    06F9 F42A      BPL	0x06FF
    06FA E0B1      LDI	R27,1
    06FB 0F0B      ADD	R16,R27
    06FC 27BB      CLR	R27
    06FD 1F1B      ADC	R17,R27
    06FE 1F2B      ADC	R18,R27
    06FF C0B1      RJMP	repack
    0700 C006      RJMP	0x0707
    0701 E7BF      LDI	R27,0x7F
    0702 2F3B      MOV	R19,R27
    0703 2B2B      OR	R18,R27
    0704 EF0F      LDI	R16,0xFF
    0705 EF1F      LDI	R17,0xFF
    0706 9508      RET
    0707 2700      CLR	R16
    0708 2711      CLR	R17
    0709 2722      CLR	R18
    070A 2733      CLR	R19
    070B 2788      CLR	R24
    070C 9508      RET
cmp32f:
    070D DF50      RCALL	float_prolog
    070E D001      RCALL	FLTCP
    070F CF47      RJMP	float_epilog
FLTCP:
    0710 D002      RCALL	0x0713
    0711 23BB      TST	R27
    0712 9508      RET
    0713 2333      TST	R19
    0714 F082      BMI	0x0725
    0715 2399      TST	R25
    0716 F042      BMI	0x071F
    0717 1739      CP	R19,R25
    0718 F040      BCS	0x0721
    0719 F429      BNE	0x071F
    071A 1502      CP	R16,R2
    071B 0513      CPC	R17,R3
    071C 0524      CPC	R18,R4
    071D F018      BCS	0x0721
    071E F021      BEQ	0x0723
    071F E0B1      LDI	R27,1
    0720 9508      RET
    0721 EFBF      LDI	R27,0xFF
    0722 9508      RET
    0723 27BB      CLR	R27
    0724 9508      RET
    0725 2399      TST	R25
    0726 F7D2      BPL	0x0721
    0727 1739      CP	R19,R25
    0728 F3B0      BCS	0x071F
    0729 F7B9      BNE	0x0721
    072A 1502      CP	R16,R2
    072B 0513      CPC	R17,R3
    072C 0524      CPC	R18,R4
    072D F388      BCS	0x071F
    072E F3A1      BEQ	0x0723
    072F CFF1      RJMP	0x0721
    0730 E7BF      LDI	R27,0x7F
    0731 2F3B      MOV	R19,R27
    0732 2B2B      OR	R18,R27
    0733 EF0F      LDI	R16,0xFF
    0734 EF1F      LDI	R17,0xFF
    0735 9508      RET
    0736 2700      CLR	R16
    0737 2711      CLR	R17
    0738 2722      CLR	R18
    0739 2733      CLR	R19
    073A 2788      CLR	R24
    073B 9508      RET
mpy32fs:
    073C D001      RCALL	mpy32f
    073D CE15      RJMP	push_arg4
mpy32f:
    073E DF1F      RCALL	float_prolog
    073F D001      RCALL	FMUL
    0740 CF16      RJMP	float_epilog
FMUL:
    0741 D05D      RCALL	unpack
    0742 F399      BEQ	0x0736
    0743 3890      CPI	R25,0x80
    0744 F389      BEQ	0x0736
    0745 278A      EOR	R24,R26
    0746 9408      BSET	0
    0747 1F39      ADC	R19,R25
    0748 F33B      BVS	0x0730
    0749 D00A      RCALL	umul24
    074A 2322      TST	R18
    074B F02A      BMI	0x0751
    074C 953A      DEC	R19
    074D 0CFF      LSL	R15
    074E 1F00      ROL	R16
    074F 1F11      ROL	R17
    0750 1F22      ROL	R18
    0751 5F3F      SUBI	R19,0xFF
    0752 F2EB      BVS	0x0730
    0753 C05D      RJMP	repack
umul24:
    0754 939A      ST	R25,-Y
    0755 24DD      CLR	R13
    0756 24EE      CLR	R14
    0757 24FF      CLR	R15
    0758 27BB      CLR	R27
    0759 E198      LDI	R25,0x18
    075A 0CDD      LSL	R13
    075B 1CEE      ROL	R14
    075C 1CFF      ROL	R15
    075D 1F00      ROL	R16
    075E 1F11      ROL	R17
    075F 1F22      ROL	R18
    0760 F430      BCC	0x0767
    0761 0CD2      ADD	R13,R2
    0762 1CE3      ADC	R14,R3
    0763 1CF4      ADC	R15,R4
    0764 1F0B      ADC	R16,R27
    0765 1F1B      ADC	R17,R27
    0766 1F2B      ADC	R18,R27
    0767 959A      DEC	R25
    0768 F789      BNE	0x075A
    0769 9199      LD	R25,Y+
    076A 9508      RET
savfacc1:
    076B 938A      ST	R24,-Y
    076C 93BA      ST	R27,-Y
    076D 9508      RET
restorefacc1:
    076E 91B9      LD	R27,Y+
    076F 9189      LD	R24,Y+
    0770 9508      RET
unpackfacc1:
    0771 2F83      MOV	R24,R19
    0772 7880      ANDI	R24,0x80
    0773 0F22      LSL	R18
    0774 1F33      ROL	R19
    0775 5830      SUBI	R19,0x80
    0776 9408      BSET	0
    0777 9527      ROR	R18
    0778 3830      CPI	R19,0x80
    0779 9508      RET
negmant:
    077A 9510      COM	R17
    077B 9520      COM	R18
    077C 9501      NEG	R16
    077D 4F1F      SBCI	R17,0xFF
    077E 4F2F      SBCI	R18,0xFF
    077F 9508      RET
maxres:
    0780 E7BF      LDI	R27,0x7F
    0781 2F3B      MOV	R19,R27
    0782 2B2B      OR	R18,R27
    0783 EFBF      LDI	R27,0xFF
    0784 2F0B      MOV	R16,R27
    0785 2F1B      MOV	R17,R27
    0786 9508      RET
minres:
    0787 2700      CLR	R16
    0788 2711      CLR	R17
    0789 2722      CLR	R18
    078A 2733      CLR	R19
    078B 2788      CLR	R24
    078C 9508      RET
ac1toac2:
    078D 2F93      MOV	R25,R19
    078E 2E20      MOV	R2,R16
    078F 2E31      MOV	R3,R17
    0790 2E42      MOV	R4,R18
    0791 2FA8      MOV	R26,R24
    0792 9508      RET
swapacc:
    0793 922A      ST	R2,-Y
    0794 923A      ST	R3,-Y
    0795 924A      ST	R4,-Y
    0796 939A      ST	R25,-Y
    0797 93AA      ST	R26,-Y
    0798 DFF4      RCALL	ac1toac2
    0799 9189      LD	R24,Y+
    079A 9139      LD	R19,Y+
    079B 9129      LD	R18,Y+
    079C 9119      LD	R17,Y+
    079D 9109      LD	R16,Y+
    079E 9508      RET
unpack:
    079F 2F83      MOV	R24,R19
    07A0 E8B0      LDI	R27,0x80
    07A1 0F22      LSL	R18
    07A2 1F33      ROL	R19
    07A3 273B      EOR	R19,R27
    07A4 0FBB      LSL	R27
    07A5 9527      ROR	R18
    07A6 7880      ANDI	R24,0x80
    07A7 2FA9      MOV	R26,R25
    07A8 E8B0      LDI	R27,0x80
    07A9 0C44      LSL	R4
    07AA 1F99      ROL	R25
    07AB 279B      EOR	R25,R27
    07AC 0FBB      LSL	R27
    07AD 9447      ROR	R4
    07AE 78A0      ANDI	R26,0x80
    07AF 3830      CPI	R19,0x80
    07B0 9508      RET
repack:
    07B1 0F22      LSL	R18
    07B2 E8B0      LDI	R27,0x80
    07B3 27B3      EOR	R27,R19
    07B4 0F88      LSL	R24
    07B5 95B7      ROR	R27
    07B6 9527      ROR	R18
    07B7 2F3B      MOV	R19,R27
    07B8 9508      RET

⌨️ 快捷键说明

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