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

📄 motor.lst

📁 直流电动机驱动器设计开发环境为ICC,可以编译成汇编,直接下栽到嵌入式avr单片机进行控制
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0478 95BA      DEC	R27
    0479 F7D1      BNE	0x0474
    047A 9508      RET
int2fp:
    047B 2722      CLR	R18
    047C FD17      SBRC	R17,7
    047D 9520      COM	R18
    047E 2733      CLR	R19
    047F FD27      SBRC	R18,7
    0480 9530      COM	R19
long2fp:
    0481 D135      RCALL	savfacc1
    0482 D001      RCALL	ITOF
    0483 C136      RJMP	restorefacc1
ITOF:
    0484 2788      CLR	R24
    0485 2333      TST	R19
    0486 F412      BPL	0x0489
    0487 DF12      RCALL	neg32
    0488 9580      COM	R24
    0489 2FB0      MOV	R27,R16
    048A 2BB1      OR	R27,R17
    048B 2BB2      OR	R27,R18
    048C 2BB3      OR	R27,R19
    048D F409      BNE	0x048F
    048E C144      RJMP	minres
    048F E1B6      LDI	R27,0x16
    0490 C005      RJMP	0x0496
    0491 95B3      INC	R27
    0492 9536      LSR	R19
    0493 9527      ROR	R18
    0494 9517      ROR	R17
    0495 9507      ROR	R16
    0496 2333      TST	R19
    0497 F7C9      BNE	0x0491
    0498 2322      TST	R18
    0499 F449      BNE	0x04A3
    049A 50B8      SUBI	R27,0x8
    049B 2F21      MOV	R18,R17
    049C 2F10      MOV	R17,R16
    049D E000      LDI	R16,0
    049E CFF9      RJMP	0x0498
    049F 95BA      DEC	R27
    04A0 0F00      LSL	R16
    04A1 1F11      ROL	R17
    04A2 1F22      ROL	R18
    04A3 F7DA      BPL	0x049F
    04A4 2F3B      MOV	R19,R27
    04A5 C157      RJMP	repack
save_floatregs:
    04A6 92DA      ST	R13,-Y
    04A7 92EA      ST	R14,-Y
    04A8 92FA      ST	R15,-Y
    04A9 938A      ST	R24,-Y
    04AA 922A      ST	R2,-Y
    04AB 923A      ST	R3,-Y
    04AC 924A      ST	R4,-Y
    04AD 939A      ST	R25,-Y
    04AE 93AA      ST	R26,-Y
    04AF 93BA      ST	R27,-Y
    04B0 9508      RET
restore_floatregs:
    04B1 91B9      LD	R27,Y+
    04B2 91A9      LD	R26,Y+
    04B3 9199      LD	R25,Y+
    04B4 9049      LD	R4,Y+
    04B5 9039      LD	R3,Y+
    04B6 9029      LD	R2,Y+
    04B7 9189      LD	R24,Y+
    04B8 90F9      LD	R15,Y+
    04B9 90E9      LD	R14,Y+
    04BA 90D9      LD	R13,Y+
    04BB 9508      RET
stk2arg1:
    04BC 842A      LDD	R2,Y+10
    04BD 843B      LDD	R3,Y+11
    04BE 844C      LDD	R4,Y+12
    04BF 859D      LDD	R25,Y+13
    04C0 9508      RET
stk2arg0:
    04C1 850E      LDD	R16,Y+14
    04C2 851F      LDD	R17,Y+15
    04C3 8928      LDD	R18,Y+16
    04C4 8939      LDD	R19,Y+17
    04C5 9508      RET
float_epilog:
    04C6 DFEA      RCALL	restore_floatregs
    04C7 920F      PUSH	R0
    04C8 B60F      IN	R0,0x3F
    04C9 9628      ADIW	R28,0x8
    04CA BE0F      OUT	0x3F,R0
    04CB 900F      POP	R0
    04CC 9508      RET
float_prolog:
    04CD DFD8      RCALL	save_floatregs
    04CE DFF2      RCALL	stk2arg0
    04CF CFEC      RJMP	stk2arg1
add32fs:
    04D0 D001      RCALL	add32f
    04D1 CE9A      RJMP	push_arg4
add32f:
    04D2 DFFA      RCALL	float_prolog
    04D3 D00D      RCALL	FADD
    04D4 CFF1      RJMP	float_epilog
sub32fs:
    04D5 D001      RCALL	sub32f
    04D6 CE95      RJMP	push_arg4
sub32f:
    04D7 DFF5      RCALL	float_prolog
    04D8 D007      RCALL	FSUB
    04D9 CFEC      RJMP	float_epilog
fret2:
    04DA 2F8A      MOV	R24,R26
    04DB 2F39      MOV	R19,R25
    04DC 2D24      MOV	R18,R4
    04DD 2D13      MOV	R17,R3
    04DE 2D02      MOV	R16,R2
    04DF C11D      RJMP	repack
FSUB:
    04E0 5890      SUBI	R25,0x80
FADD:
    04E1 D109      RCALL	unpack
    04E2 3890      CPI	R25,0x80
    04E3 F3D9      BEQ	0x04DF
    04E4 3830      CPI	R19,0x80
    04E5 F3A1      BEQ	0x04DA
    04E6 2FB3      MOV	R27,R19
    04E7 1BB9      SUB	R27,R25
    04E8 F3B3      BVS	0x04DF
    04E9 F02A      BMI	0x04EF
    04EA F431      BNE	0x04F1
    04EB 1502      CP	R16,R2
    04EC 0513      CPC	R17,R3
    04ED 0524      CPC	R18,R4
    04EE F410      BCC	0x04F1
    04EF D0EF      RCALL	swapacc
    04F0 CFF5      RJMP	0x04E6
    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 F042      BMI	0x050F
    0507 D014      RCALL	0x051C
    0508 F6B0      BCC	0x04DF
    0509 9527      ROR	R18
    050A 9517      ROR	R17
    050B 9507      ROR	R16
    050C 5F3F      SUBI	R19,0xFF
    050D F68B      BVC	0x04DF
    050E C0BD      RJMP	maxres
    050F D010      RCALL	usub24
    0510 F409      BNE	0x0512
    0511 C0C1      RJMP	minres
    0512 F408      BCC	0x0514
    0513 D0B2      RCALL	negmant
    0514 2322      TST	R18
    0515 F24A      BMI	0x04DF
    0516 0F00      LSL	R16
    0517 1F11      ROL	R17
    0518 1F22      ROL	R18
    0519 5031      SUBI	R19,1
    051A F7CB      BVC	0x0514
    051B C0B0      RJMP	maxres
    051C 0D02      ADD	R16,R2
    051D 1D13      ADC	R17,R3
    051E 1D24      ADC	R18,R4
    051F 9508      RET
usub24:
    0520 1902      SUB	R16,R2
    0521 0913      SBC	R17,R3
    0522 0924      SBC	R18,R4
    0523 9508      RET
div32fs:
    0524 D001      RCALL	div32f
    0525 CE46      RJMP	push_arg4
div32f:
    0526 DFA6      RCALL	float_prolog
    0527 D022      RCALL	FDIV
    0528 CF9D      RJMP	float_epilog
    0529 93BA      ST	R27,-Y
    052A 24DD      CLR	R13
    052B 24EE      CLR	R14
    052C 24FF      CLR	R15
    052D E1B8      LDI	R27,0x18
    052E 1502      CP	R16,R2
    052F 0513      CPC	R17,R3
    0530 0524      CPC	R18,R4
    0531 F028      BCS	0x0537
    0532 1902      SUB	R16,R2
    0533 0913      SBC	R17,R3
    0534 0924      SBC	R18,R4
    0535 9408      BSET	0
    0536 C001      RJMP	0x0538
    0537 9488      BCLR	0
    0538 1CDD      ROL	R13
    0539 1CEE      ROL	R14
    053A 1CFF      ROL	R15
    053B 0F00      LSL	R16
    053C 1F11      ROL	R17
    053D 1F22      ROL	R18
    053E 95BA      DEC	R27
    053F F771      BNE	0x052E
    0540 2D0D      MOV	R16,R13
    0541 2D1E      MOV	R17,R14
    0542 2D2F      MOV	R18,R15
    0543 91B9      LD	R27,Y+
    0544 9508      RET
fdiv10:
    0545 2422      CLR	R2
    0546 2433      CLR	R3
    0547 E2B0      LDI	R27,0x20
    0548 2E4B      MOV	R4,R27
    0549 E491      LDI	R25,0x41
FDIV:
    054A 2399      TST	R25
    054B F119      BEQ	0x056F
    054C 2333      TST	R19
    054D F141      BEQ	0x0576
    054E D09C      RCALL	unpack
    054F F131      BEQ	0x0576
    0550 278A      EOR	R24,R26
    0551 9408      BSET	0
    0552 0B39      SBC	R19,R25
    0553 F0E3      BVS	0x0570
    0554 9446      LSR	R4
    0555 9437      ROR	R3
    0556 9427      ROR	R2
    0557 9526      LSR	R18
    0558 9517      ROR	R17
    0559 9507      ROR	R16
    055A DFCE      RCALL	0x0529
    055B 2322      TST	R18
    055C F02A      BMI	0x0562
    055D 0F00      LSL	R16
    055E 1F11      ROL	R17
    055F 1F22      ROL	R18
    0560 5031      SUBI	R19,1
    0561 F073      BVS	0x0570
    0562 2FB0      MOV	R27,R16
    0563 95B6      LSR	R27
    0564 F048      BCS	0x056E
    0565 2300      TST	R16
    0566 F43A      BPL	0x056E
    0567 2311      TST	R17
    0568 F42A      BPL	0x056E
    0569 E0B1      LDI	R27,1
    056A 0F0B      ADD	R16,R27
    056B 27BB      CLR	R27
    056C 1F1B      ADC	R17,R27
    056D 1F2B      ADC	R18,R27
    056E C08E      RJMP	repack
    056F C006      RJMP	0x0576
    0570 E7BF      LDI	R27,0x7F
    0571 2F3B      MOV	R19,R27
    0572 2B2B      OR	R18,R27
    0573 EF0F      LDI	R16,0xFF
    0574 EF1F      LDI	R17,0xFF
    0575 9508      RET
    0576 2700      CLR	R16
    0577 2711      CLR	R17
    0578 2722      CLR	R18
    0579 2733      CLR	R19
    057A 2788      CLR	R24
    057B 9508      RET
    057C E7BF      LDI	R27,0x7F
    057D 2F3B      MOV	R19,R27
    057E 2B2B      OR	R18,R27
    057F EF0F      LDI	R16,0xFF
    0580 EF1F      LDI	R17,0xFF
    0581 9508      RET
    0582 2700      CLR	R16
    0583 2711      CLR	R17
    0584 2722      CLR	R18
    0585 2733      CLR	R19
    0586 2788      CLR	R24
    0587 9508      RET
mpy32fs:
    0588 D001      RCALL	mpy32f
    0589 CDE2      RJMP	push_arg4
mpy32f:
    058A DF42      RCALL	float_prolog
    058B D001      RCALL	FMUL
    058C CF39      RJMP	float_epilog
FMUL:
    058D D05D      RCALL	unpack
    058E F399      BEQ	0x0582
    058F 3890      CPI	R25,0x80
    0590 F389      BEQ	0x0582
    0591 278A      EOR	R24,R26
    0592 9408      BSET	0
    0593 1F39      ADC	R19,R25
    0594 F33B      BVS	0x057C
    0595 D00A      RCALL	umul24
    0596 2322      TST	R18
    0597 F02A      BMI	0x059D
    0598 953A      DEC	R19
    0599 0CFF      LSL	R15
    059A 1F00      ROL	R16
    059B 1F11      ROL	R17
    059C 1F22      ROL	R18
    059D 5F3F      SUBI	R19,0xFF
    059E F2EB      BVS	0x057C
    059F C05D      RJMP	repack
umul24:
    05A0 939A      ST	R25,-Y
    05A1 24DD      CLR	R13
    05A2 24EE      CLR	R14
    05A3 24FF      CLR	R15
    05A4 27BB      CLR	R27
    05A5 E198      LDI	R25,0x18
    05A6 0CDD      LSL	R13
    05A7 1CEE      ROL	R14
    05A8 1CFF      ROL	R15
    05A9 1F00      ROL	R16
    05AA 1F11      ROL	R17
    05AB 1F22      ROL	R18
    05AC F430      BCC	0x05B3
    05AD 0CD2      ADD	R13,R2
    05AE 1CE3      ADC	R14,R3
    05AF 1CF4      ADC	R15,R4
    05B0 1F0B      ADC	R16,R27
    05B1 1F1B      ADC	R17,R27
    05B2 1F2B      ADC	R18,R27
    05B3 959A      DEC	R25
    05B4 F789      BNE	0x05A6
    05B5 9199      LD	R25,Y+
    05B6 9508      RET
savfacc1:
    05B7 938A      ST	R24,-Y
    05B8 93BA      ST	R27,-Y
    05B9 9508      RET
restorefacc1:
    05BA 91B9      LD	R27,Y+
    05BB 9189      LD	R24,Y+
    05BC 9508      RET
unpackfacc1:
    05BD 2F83      MOV	R24,R19
    05BE 7880      ANDI	R24,0x80
    05BF 0F22      LSL	R18
    05C0 1F33      ROL	R19
    05C1 5830      SUBI	R19,0x80
    05C2 9408      BSET	0
    05C3 9527      ROR	R18
    05C4 3830      CPI	R19,0x80
    05C5 9508      RET
negmant:
    05C6 9510      COM	R17
    05C7 9520      COM	R18
    05C8 9501      NEG	R16
    05C9 4F1F      SBCI	R17,0xFF
    05CA 4F2F      SBCI	R18,0xFF
    05CB 9508      RET
maxres:
    05CC E7BF      LDI	R27,0x7F
    05CD 2F3B      MOV	R19,R27
    05CE 2B2B      OR	R18,R27
    05CF EFBF      LDI	R27,0xFF
    05D0 2F0B      MOV	R16,R27
    05D1 2F1B      MOV	R17,R27
    05D2 9508      RET
minres:
    05D3 2700      CLR	R16
    05D4 2711      CLR	R17
    05D5 2722      CLR	R18
    05D6 2733      CLR	R19
    05D7 2788      CLR	R24
    05D8 9508      RET
ac1toac2:
    05D9 2F93      MOV	R25,R19
    05DA 2E20      MOV	R2,R16
    05DB 2E31      MOV	R3,R17
    05DC 2E42      MOV	R4,R18
    05DD 2FA8      MOV	R26,R24
    05DE 9508      RET
swapacc:
    05DF 922A      ST	R2,-Y
    05E0 923A      ST	R3,-Y
    05E1 924A      ST	R4,-Y
    05E2 939A      ST	R25,-Y
    05E3 93AA      ST	R26,-Y
    05E4 DFF4      RCALL	ac1toac2
    05E5 9189      LD	R24,Y+
    05E6 9139      LD	R19,Y+
    05E7 9129      LD	R18,Y+
    05E8 9119      LD	R17,Y+
    05E9 9109      LD	R16,Y+
    05EA 9508      RET
unpack:
    05EB 2F83      MOV	R24,R19
    05EC E8B0      LDI	R27,0x80
    05ED 0F22      LSL	R18
    05EE 1F33      ROL	R19
    05EF 273B      EOR	R19,R27
    05F0 0FBB      LSL	R27
    05F1 9527      ROR	R18
    05F2 7880      ANDI	R24,0x80
    05F3 2FA9      MOV	R26,R25
    05F4 E8B0      LDI	R27,0x80
    05F5 0C44      LSL	R4
    05F6 1F99      ROL	R25
    05F7 279B      EOR	R25,R27
    05F8 0FBB      LSL	R27
    05F9 9447      ROR	R4
    05FA 78A0      ANDI	R26,0x80
    05FB 3830      CPI	R19,0x80
    05FC 9508      RET
repack:
    05FD 0F22      LSL	R18
    05FE E8B0      LDI	R27,0x80
    05FF 27B3      EOR	R27,R19
    0600 0F88      LSL	R24
    0601 95B7      ROR	R27
    0602 9527      ROR	R18
    0603 2F3B      MOV	R19,R27
    0604 9508      RET

⌨️ 快捷键说明

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