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

📄 增量式模糊控制.lst

📁 增量式模糊PID控制方法AVR单片机mega16
💻 LST
📖 第 1 页 / 共 5 页
字号:
    04DE 9049      LD	R4,Y+
    04DF 9039      LD	R3,Y+
    04E0 9029      LD	R2,Y+
    04E1 9189      LD	R24,Y+
    04E2 90F9      LD	R15,Y+
    04E3 90E9      LD	R14,Y+
    04E4 90D9      LD	R13,Y+
    04E5 9508      RET
stk2arg1:
    04E6 842A      LDD	R2,Y+10
    04E7 843B      LDD	R3,Y+11
    04E8 844C      LDD	R4,Y+12
    04E9 859D      LDD	R25,Y+13
    04EA 9508      RET
stk2arg0:
    04EB 850E      LDD	R16,Y+14
    04EC 851F      LDD	R17,Y+15
    04ED 8928      LDD	R18,Y+16
    04EE 8939      LDD	R19,Y+17
    04EF 9508      RET
float_epilog:
    04F0 DFEA      RCALL	restore_floatregs
    04F1 920F      PUSH	R0
    04F2 B60F      IN	R0,0x3F
    04F3 9628      ADIW	R28,0x8
    04F4 BE0F      OUT	0x3F,R0
    04F5 900F      POP	R0
    04F6 9508      RET
float_prolog:
    04F7 DFD8      RCALL	save_floatregs
    04F8 DFF2      RCALL	stk2arg0
    04F9 CFEC      RJMP	stk2arg1
add32fs:
    04FA D002      RCALL	add32f
    04FB 940C0399  JMP	push_arg4
add32f:
    04FD 940E04F7  CALL	float_prolog
    04FF D012      RCALL	FADD
    0500 940C04F0  JMP	float_epilog
sub32fs:
    0502 D002      RCALL	sub32f
    0503 940C0399  JMP	push_arg4
sub32f:
    0505 940E04F7  CALL	float_prolog
    0507 D009      RCALL	FSUB
    0508 940C04F0  JMP	float_epilog
fret2:
    050A 2F8A      MOV	R24,R26
    050B 2F39      MOV	R19,R25
    050C 2D24      MOV	R18,R4
    050D 2D13      MOV	R17,R3
    050E 2D02      MOV	R16,R2
    050F 940C0657  JMP	repack
FSUB:
    0511 5890      SUBI	R25,0x80
FADD:
    0512 940E0645  CALL	unpack
    0514 3890      CPI	R25,0x80
    0515 F3C9      BEQ	0x050F
    0516 3830      CPI	R19,0x80
    0517 F391      BEQ	0x050A
    0518 2FB3      MOV	R27,R19
    0519 1BB9      SUB	R27,R25
    051A F3A3      BVS	0x050F
    051B F02A      BMI	0x0521
    051C F439      BNE	0x0524
    051D 1502      CP	R16,R2
    051E 0513      CPC	R17,R3
    051F 0524      CPC	R18,R4
    0520 F418      BCC	0x0524
    0521 940E0639  CALL	swapacc
    0523 CFF4      RJMP	0x0518
    0524 31B8      CPI	R27,0x18
    0525 F018      BCS	0x0529
    0526 2422      CLR	R2
    0527 2433      CLR	R3
    0528 2444      CLR	R4
    0529 30B8      CPI	R27,0x8
    052A F028      BCS	0x0530
    052B 2C23      MOV	R2,R3
    052C 2C34      MOV	R3,R4
    052D 2444      CLR	R4
    052E 50B8      SUBI	R27,0x8
    052F CFF9      RJMP	0x0529
    0530 23BB      TST	R27
    0531 F029      BEQ	0x0537
    0532 9446      LSR	R4
    0533 9437      ROR	R3
    0534 9427      ROR	R2
    0535 95BA      DEC	R27
    0536 F7D9      BNE	0x0532
    0537 2FB8      MOV	R27,R24
    0538 27BA      EOR	R27,R26
    0539 F04A      BMI	0x0543
    053A D018      RCALL	0x0553
    053B F698      BCC	0x050F
    053C 9527      ROR	R18
    053D 9517      ROR	R17
    053E 9507      ROR	R16
    053F 5F3F      SUBI	R19,0xFF
    0540 F673      BVC	0x050F
    0541 940C0626  JMP	maxres
    0543 D013      RCALL	usub24
    0544 F411      BNE	0x0547
    0545 940C062D  JMP	minres
    0547 F410      BCC	0x054A
    0548 940E0620  CALL	negmant
    054A 2322      TST	R18
    054B F21A      BMI	0x050F
    054C 0F00      LSL	R16
    054D 1F11      ROL	R17
    054E 1F22      ROL	R18
    054F 5031      SUBI	R19,1
    0550 F7CB      BVC	0x054A
    0551 940C0626  JMP	maxres
    0553 0D02      ADD	R16,R2
    0554 1D13      ADC	R17,R3
    0555 1D24      ADC	R18,R4
    0556 9508      RET
usub24:
    0557 1902      SUB	R16,R2
    0558 0913      SBC	R17,R3
    0559 0924      SBC	R18,R4
    055A 9508      RET
div32fs:
    055B D002      RCALL	div32f
    055C 940C0399  JMP	push_arg4
div32f:
    055E 940E04F7  CALL	float_prolog
    0560 D023      RCALL	FDIV
    0561 940C04F0  JMP	float_epilog
    0563 93BA      ST	R27,-Y
    0564 24DD      CLR	R13
    0565 24EE      CLR	R14
    0566 24FF      CLR	R15
    0567 E1B8      LDI	R27,0x18
    0568 1502      CP	R16,R2
    0569 0513      CPC	R17,R3
    056A 0524      CPC	R18,R4
    056B F028      BCS	0x0571
    056C 1902      SUB	R16,R2
    056D 0913      SBC	R17,R3
    056E 0924      SBC	R18,R4
    056F 9408      BSET	0
    0570 C001      RJMP	0x0572
    0571 9488      BCLR	0
    0572 1CDD      ROL	R13
    0573 1CEE      ROL	R14
    0574 1CFF      ROL	R15
    0575 0F00      LSL	R16
    0576 1F11      ROL	R17
    0577 1F22      ROL	R18
    0578 95BA      DEC	R27
    0579 F771      BNE	0x0568
    057A 2D0D      MOV	R16,R13
    057B 2D1E      MOV	R17,R14
    057C 2D2F      MOV	R18,R15
    057D 91B9      LD	R27,Y+
    057E 9508      RET
fdiv10:
    057F 2422      CLR	R2
    0580 2433      CLR	R3
    0581 E2B0      LDI	R27,0x20
    0582 2E4B      MOV	R4,R27
    0583 E491      LDI	R25,0x41
FDIV:
    0584 2399      TST	R25
    0585 F129      BEQ	0x05AB
    0586 2333      TST	R19
    0587 F151      BEQ	0x05B2
    0588 940E0645  CALL	unpack
    058A F139      BEQ	0x05B2
    058B 278A      EOR	R24,R26
    058C 9408      BSET	0
    058D 0B39      SBC	R19,R25
    058E F0EB      BVS	0x05AC
    058F 9446      LSR	R4
    0590 9437      ROR	R3
    0591 9427      ROR	R2
    0592 9526      LSR	R18
    0593 9517      ROR	R17
    0594 9507      ROR	R16
    0595 DFCD      RCALL	0x0563
    0596 2322      TST	R18
    0597 F02A      BMI	0x059D
    0598 0F00      LSL	R16
    0599 1F11      ROL	R17
    059A 1F22      ROL	R18
    059B 5031      SUBI	R19,1
    059C F07B      BVS	0x05AC
    059D 2FB0      MOV	R27,R16
    059E 95B6      LSR	R27
    059F F048      BCS	0x05A9
    05A0 2300      TST	R16
    05A1 F43A      BPL	0x05A9
    05A2 2311      TST	R17
    05A3 F42A      BPL	0x05A9
    05A4 E0B1      LDI	R27,1
    05A5 0F0B      ADD	R16,R27
    05A6 27BB      CLR	R27
    05A7 1F1B      ADC	R17,R27
    05A8 1F2B      ADC	R18,R27
    05A9 940C0657  JMP	repack
    05AB C006      RJMP	0x05B2
    05AC E7BF      LDI	R27,0x7F
    05AD 2F3B      MOV	R19,R27
    05AE 2B2B      OR	R18,R27
    05AF EF0F      LDI	R16,0xFF
    05B0 EF1F      LDI	R17,0xFF
    05B1 9508      RET
    05B2 2700      CLR	R16
    05B3 2711      CLR	R17
    05B4 2722      CLR	R18
    05B5 2733      CLR	R19
    05B6 2788      CLR	R24
    05B7 9508      RET
    05B8 E7BF      LDI	R27,0x7F
    05B9 2F3B      MOV	R19,R27
    05BA 2B2B      OR	R18,R27
    05BB EF0F      LDI	R16,0xFF
    05BC EF1F      LDI	R17,0xFF
    05BD 9508      RET
    05BE 2700      CLR	R16
    05BF 2711      CLR	R17
    05C0 2722      CLR	R18
    05C1 2733      CLR	R19
    05C2 2788      CLR	R24
    05C3 9508      RET
empy32fs:
    05C4 D002      RCALL	empy32f
    05C5 940C0399  JMP	push_arg4
empy32f:
    05C7 940E04F7  CALL	float_prolog
    05C9 920F      PUSH	R0
    05CA 92CF      PUSH	R12
    05CB D004      RCALL	eFMUL
    05CC 90CF      POP	R12
    05CD 900F      POP	R0
    05CE 940C04F0  JMP	float_epilog
eFMUL:
    05D0 940E0645  CALL	unpack
    05D2 F359      BEQ	0x05BE
    05D3 3890      CPI	R25,0x80
    05D4 F349      BEQ	0x05BE
    05D5 278A      EOR	R24,R26
    05D6 9408      BSET	0
    05D7 1F39      ADC	R19,R25
    05D8 F2FB      BVS	0x05B8
    05D9 D00E      RCALL	eumul24
    05DA 2D2F      MOV	R18,R15
    05DB 2D1E      MOV	R17,R14
    05DC 2D0D      MOV	R16,R13
    05DD 2322      TST	R18
    05DE F02A      BMI	0x05E4
    05DF 953A      DEC	R19
    05E0 0CCC      LSL	R12
    05E1 1F00      ROL	R16
    05E2 1F11      ROL	R17
    05E3 1F22      ROL	R18
    05E4 5F3F      SUBI	R19,0xFF
    05E5 F293      BVS	0x05B8
    05E6 940C0657  JMP	repack
eumul24:
    05E8 9D22      MUL	R18,R2
    05E9 2CC0      MOV	R12,R0
    05EA 2CD1      MOV	R13,R1
    05EB 9D24      MUL	R18,R4
    05EC 2CE0      MOV	R14,R0
    05ED 2CF1      MOV	R15,R1
    05EE 9D12      MUL	R17,R2
    05EF 0CC1      ADD	R12,R1
    05F0 1EDB      ADC	R13,R27
    05F1 1EEB      ADC	R14,R27
    05F2 1EFB      ADC	R15,R27
    05F3 9D03      MUL	R16,R3
    05F4 0CC1      ADD	R12,R1
    05F5 1EDB      ADC	R13,R27
    05F6 1EEB      ADC	R14,R27
    05F7 1EFB      ADC	R15,R27
    05F8 9D13      MUL	R17,R3
    05F9 0CC0      ADD	R12,R0
    05FA 1CD1      ADC	R13,R1
    05FB 1EEB      ADC	R14,R27
    05FC 1EFB      ADC	R15,R27
    05FD 9D04      MUL	R16,R4
    05FE 0CC0      ADD	R12,R0
    05FF 1CD1      ADC	R13,R1
    0600 1EEB      ADC	R14,R27
    0601 1EFB      ADC	R15,R27
    0602 9D23      MUL	R18,R3
    0603 0CD0      ADD	R13,R0
    0604 1CE1      ADC	R14,R1
    0605 1EFB      ADC	R15,R27
    0606 9D14      MUL	R17,R4
    0607 0CD0      ADD	R13,R0
    0608 1CE1      ADC	R14,R1
    0609 1EFB      ADC	R15,R27
    060A 20CC      TST	R12
    060B F422      BPL	0x0610
    060C 9488      BCLR	0
    060D 1EDB      ADC	R13,R27
    060E 1EEB      ADC	R14,R27
    060F 1EFB      ADC	R15,R27
    0610 9508      RET
savfacc1:
    0611 938A      ST	R24,-Y
    0612 93BA      ST	R27,-Y
    0613 9508      RET
restorefacc1:
    0614 91B9      LD	R27,Y+
    0615 9189      LD	R24,Y+
    0616 9508      RET
unpackfacc1:
    0617 2F83      MOV	R24,R19
    0618 7880      ANDI	R24,0x80
    0619 0F22      LSL	R18
    061A 1F33      ROL	R19
    061B 5830      SUBI	R19,0x80
    061C 9408      BSET	0
    061D 9527      ROR	R18
    061E 3830      CPI	R19,0x80
    061F 9508      RET
negmant:
    0620 9510      COM	R17
    0621 9520      COM	R18
    0622 9501      NEG	R16
    0623 4F1F      SBCI	R17,0xFF
    0624 4F2F      SBCI	R18,0xFF
    0625 9508      RET
maxres:
    0626 E7BF      LDI	R27,0x7F
    0627 2F3B      MOV	R19,R27
    0628 2B2B      OR	R18,R27
    0629 EFBF      LDI	R27,0xFF
    062A 2F0B      MOV	R16,R27
    062B 2F1B      MOV	R17,R27
    062C 9508      RET
minres:
    062D 2700      CLR	R16
    062E 2711      CLR	R17
    062F 2722      CLR	R18
    0630 2733      CLR	R19
    0631 2788      CLR	R24
    0632 9508      RET
ac1toac2:
    0633 2F93      MOV	R25,R19
    0634 2E20      MOV	R2,R16
    0635 2E31      MOV	R3,R17
    0636 2E42      MOV	R4,R18
    0637 2FA8      MOV	R26,R24
    0638 9508      RET
swapacc:
    0639 922A      ST	R2,-Y
    063A 923A      ST	R3,-Y
    063B 924A      ST	R4,-Y
    063C 939A      ST	R25,-Y
    063D 93AA      ST	R26,-Y
    063E DFF4      RCALL	ac1toac2
    063F 9189      LD	R24,Y+
    0640 9139      LD	R19,Y+
    0641 9129      LD	R18,Y+
    0642 9119      LD	R17,Y+
    0643 9109      LD	R16,Y+
    0644 9508      RET
unpack:
    0645 2F83      MOV	R24,R19
    0646 E8B0      LDI	R27,0x80
    0647 0F22      LSL	R18
    0648 1F33      ROL	R19
    0649 273B      EOR	R19,R27
    064A 0FBB      LSL	R27
    064B 9527      ROR	R18
    064C 7880      ANDI	R24,0x80
    064D 2FA9      MOV	R26,R25
    064E E8B0      LDI	R27,0x80
    064F 0C44      LSL	R4
    0650 1F99      ROL	R25
    0651 279B      EOR	R25,R27
    0652 0FBB      LSL	R27
    0653 9447      ROR	R4
    0654 78A0      ANDI	R26,0x80
    0655 3830      CPI	R19,0x80
    0656 9508      RET
repack:
    0657 0F22      LSL	R18
    0658 E8B0      LDI	R27,0x80
    0659 27B3      EOR	R27,R19
    065A 0F88      LSL	R24
    065B 95B7      ROR	R27
    065C 9527      ROR	R18
    065D 2F3B      MOV	R19,R27
    065E 9508      RET

⌨️ 快捷键说明

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