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

📄 hc595.lst

📁 ATMEGA128的EEPROM驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0448 940C0587  JMP	restorefacc1
FTOI:
    044A E0BE      LDI	R27,0xE
    044B C001      RJMP	0x044D
FTOL:
    044C E1BE      LDI	R27,0x1E
    044D 940E058A  CALL	unpackfacc1
    044F F069      BEQ	0x045D
    0450 1BB3      SUB	R27,R19
    0451 F009      BEQ	0x0453
    0452 F472      BPL	0x0461
    0453 2388      TST	R24
    0454 F022      BMI	0x0459
    0455 E010      LDI	R17,0
    0456 EB0D      LDI	R16,0xBD
    0457 940C041F  JMP	lpm32
    0459 E010      LDI	R17,0
    045A EC03      LDI	R16,0xC3
    045B 940C041F  JMP	lpm32
    045D E010      LDI	R17,0
    045E EC01      LDI	R16,0xC1
    045F 940C041F  JMP	lpm32
    0461 9533      INC	R19
    0462 F3D2      BMI	0x045D
    0463 E030      LDI	R19,0
    0464 50B8      SUBI	R27,0x8
    0465 F452      BPL	0x0470
    0466 5FB8      SUBI	R27,0xF8
    0467 2F32      MOV	R19,R18
    0468 2F21      MOV	R18,R17
    0469 2F10      MOV	R17,R16
    046A E800      LDI	R16,0x80
    046B C006      RJMP	0x0472
    046C 2F01      MOV	R16,R17
    046D 2F12      MOV	R17,R18
    046E E020      LDI	R18,0
    046F 50B8      SUBI	R27,0x8
    0470 30B8      CPI	R27,0x8
    0471 F7D0      BCC	0x046C
    0472 23BB      TST	R27
    0473 F031      BEQ	0x047A
    0474 9536      LSR	R19
    0475 9527      ROR	R18
    0476 9517      ROR	R17
    0477 9507      ROR	R16
    0478 95BA      DEC	R27
    0479 F7D1      BNE	0x0474
    047A 9508      RET
save_floatregs:
    047B 92DA      ST	R13,-Y
    047C 92EA      ST	R14,-Y
    047D 92FA      ST	R15,-Y
    047E 938A      ST	R24,-Y
    047F 922A      ST	R2,-Y
    0480 923A      ST	R3,-Y
    0481 924A      ST	R4,-Y
    0482 939A      ST	R25,-Y
    0483 93AA      ST	R26,-Y
    0484 93BA      ST	R27,-Y
    0485 9508      RET
restore_floatregs:
    0486 91B9      LD	R27,Y+
    0487 91A9      LD	R26,Y+
    0488 9199      LD	R25,Y+
    0489 9049      LD	R4,Y+
    048A 9039      LD	R3,Y+
    048B 9029      LD	R2,Y+
    048C 9189      LD	R24,Y+
    048D 90F9      LD	R15,Y+
    048E 90E9      LD	R14,Y+
    048F 90D9      LD	R13,Y+
    0490 9508      RET
stk2arg1:
    0491 842A      LDD	R2,Y+10
    0492 843B      LDD	R3,Y+11
    0493 844C      LDD	R4,Y+12
    0494 859D      LDD	R25,Y+13
    0495 9508      RET
stk2arg0:
    0496 850E      LDD	R16,Y+14
    0497 851F      LDD	R17,Y+15
    0498 8928      LDD	R18,Y+16
    0499 8939      LDD	R19,Y+17
    049A 9508      RET
float_epilog:
    049B DFEA      RCALL	restore_floatregs
    049C 920F      PUSH	R0
    049D B60F      IN	R0,0x3F
    049E 9628      ADIW	R28,0x8
    049F BE0F      OUT	0x3F,R0
    04A0 900F      POP	R0
    04A1 9508      RET
float_prolog:
    04A2 DFD8      RCALL	save_floatregs
    04A3 DFF2      RCALL	stk2arg0
    04A4 CFEC      RJMP	stk2arg1
add32fs:
    04A5 D002      RCALL	add32f
    04A6 940C03D3  JMP	push_arg4
add32f:
    04A8 940E04A2  CALL	float_prolog
    04AA D012      RCALL	FADD
    04AB 940C049B  JMP	float_epilog
sub32fs:
    04AD D002      RCALL	sub32f
    04AE 940C03D3  JMP	push_arg4
sub32f:
    04B0 940E04A2  CALL	float_prolog
    04B2 D009      RCALL	FSUB
    04B3 940C049B  JMP	float_epilog
fret2:
    04B5 2F8A      MOV	R24,R26
    04B6 2F39      MOV	R19,R25
    04B7 2D24      MOV	R18,R4
    04B8 2D13      MOV	R17,R3
    04B9 2D02      MOV	R16,R2
    04BA 940C05CA  JMP	repack
FSUB:
    04BC 5890      SUBI	R25,0x80
FADD:
    04BD 940E05B8  CALL	unpack
    04BF 3890      CPI	R25,0x80
    04C0 F3C9      BEQ	0x04BA
    04C1 3830      CPI	R19,0x80
    04C2 F391      BEQ	0x04B5
    04C3 2FB3      MOV	R27,R19
    04C4 1BB9      SUB	R27,R25
    04C5 F3A3      BVS	0x04BA
    04C6 F02A      BMI	0x04CC
    04C7 F439      BNE	0x04CF
    04C8 1502      CP	R16,R2
    04C9 0513      CPC	R17,R3
    04CA 0524      CPC	R18,R4
    04CB F418      BCC	0x04CF
    04CC 940E05AC  CALL	swapacc
    04CE CFF4      RJMP	0x04C3
    04CF 31B8      CPI	R27,0x18
    04D0 F018      BCS	0x04D4
    04D1 2422      CLR	R2
    04D2 2433      CLR	R3
    04D3 2444      CLR	R4
    04D4 30B8      CPI	R27,0x8
    04D5 F028      BCS	0x04DB
    04D6 2C23      MOV	R2,R3
    04D7 2C34      MOV	R3,R4
    04D8 2444      CLR	R4
    04D9 50B8      SUBI	R27,0x8
    04DA CFF9      RJMP	0x04D4
    04DB 23BB      TST	R27
    04DC F029      BEQ	0x04E2
    04DD 9446      LSR	R4
    04DE 9437      ROR	R3
    04DF 9427      ROR	R2
    04E0 95BA      DEC	R27
    04E1 F7D9      BNE	0x04DD
    04E2 2FB8      MOV	R27,R24
    04E3 27BA      EOR	R27,R26
    04E4 F04A      BMI	0x04EE
    04E5 D018      RCALL	0x04FE
    04E6 F698      BCC	0x04BA
    04E7 9527      ROR	R18
    04E8 9517      ROR	R17
    04E9 9507      ROR	R16
    04EA 5F3F      SUBI	R19,0xFF
    04EB F673      BVC	0x04BA
    04EC 940C0599  JMP	maxres
    04EE D013      RCALL	usub24
    04EF F411      BNE	0x04F2
    04F0 940C05A0  JMP	minres
    04F2 F410      BCC	0x04F5
    04F3 940E0593  CALL	negmant
    04F5 2322      TST	R18
    04F6 F21A      BMI	0x04BA
    04F7 0F00      LSL	R16
    04F8 1F11      ROL	R17
    04F9 1F22      ROL	R18
    04FA 5031      SUBI	R19,1
    04FB F7CB      BVC	0x04F5
    04FC 940C0599  JMP	maxres
    04FE 0D02      ADD	R16,R2
    04FF 1D13      ADC	R17,R3
    0500 1D24      ADC	R18,R4
    0501 9508      RET
usub24:
    0502 1902      SUB	R16,R2
    0503 0913      SBC	R17,R3
    0504 0924      SBC	R18,R4
    0505 9508      RET
cmp32f:
    0506 940E04A2  CALL	float_prolog
    0508 D002      RCALL	FLTCP
    0509 940C049B  JMP	float_epilog
FLTCP:
    050B D002      RCALL	0x050E
    050C 23BB      TST	R27
    050D 9508      RET
    050E 2333      TST	R19
    050F F082      BMI	0x0520
    0510 2399      TST	R25
    0511 F042      BMI	0x051A
    0512 1739      CP	R19,R25
    0513 F040      BCS	0x051C
    0514 F429      BNE	0x051A
    0515 1502      CP	R16,R2
    0516 0513      CPC	R17,R3
    0517 0524      CPC	R18,R4
    0518 F018      BCS	0x051C
    0519 F021      BEQ	0x051E
    051A E0B1      LDI	R27,1
    051B 9508      RET
    051C EFBF      LDI	R27,0xFF
    051D 9508      RET
    051E 27BB      CLR	R27
    051F 9508      RET
    0520 2399      TST	R25
    0521 F7D2      BPL	0x051C
    0522 1739      CP	R19,R25
    0523 F3B0      BCS	0x051A
    0524 F7B9      BNE	0x051C
    0525 1502      CP	R16,R2
    0526 0513      CPC	R17,R3
    0527 0524      CPC	R18,R4
    0528 F388      BCS	0x051A
    0529 F3A1      BEQ	0x051E
    052A CFF1      RJMP	0x051C
    052B E7BF      LDI	R27,0x7F
    052C 2F3B      MOV	R19,R27
    052D 2B2B      OR	R18,R27
    052E EF0F      LDI	R16,0xFF
    052F EF1F      LDI	R17,0xFF
    0530 9508      RET
    0531 2700      CLR	R16
    0532 2711      CLR	R17
    0533 2722      CLR	R18
    0534 2733      CLR	R19
    0535 2788      CLR	R24
    0536 9508      RET
empy32fs:
    0537 D002      RCALL	empy32f
    0538 940C03D3  JMP	push_arg4
empy32f:
    053A 940E04A2  CALL	float_prolog
    053C 920F      PUSH	R0
    053D 92CF      PUSH	R12
    053E D004      RCALL	eFMUL
    053F 90CF      POP	R12
    0540 900F      POP	R0
    0541 940C049B  JMP	float_epilog
eFMUL:
    0543 940E05B8  CALL	unpack
    0545 F359      BEQ	0x0531
    0546 3890      CPI	R25,0x80
    0547 F349      BEQ	0x0531
    0548 278A      EOR	R24,R26
    0549 9408      BSET	0
    054A 1F39      ADC	R19,R25
    054B F2FB      BVS	0x052B
    054C D00E      RCALL	eumul24
    054D 2D2F      MOV	R18,R15
    054E 2D1E      MOV	R17,R14
    054F 2D0D      MOV	R16,R13
    0550 2322      TST	R18
    0551 F02A      BMI	0x0557
    0552 953A      DEC	R19
    0553 0CCC      LSL	R12
    0554 1F00      ROL	R16
    0555 1F11      ROL	R17
    0556 1F22      ROL	R18
    0557 5F3F      SUBI	R19,0xFF
    0558 F293      BVS	0x052B
    0559 940C05CA  JMP	repack
eumul24:
    055B 9D22      MUL	R18,R2
    055C 2CC0      MOV	R12,R0
    055D 2CD1      MOV	R13,R1
    055E 9D24      MUL	R18,R4
    055F 2CE0      MOV	R14,R0
    0560 2CF1      MOV	R15,R1
    0561 9D12      MUL	R17,R2
    0562 0CC1      ADD	R12,R1
    0563 1EDB      ADC	R13,R27
    0564 1EEB      ADC	R14,R27
    0565 1EFB      ADC	R15,R27
    0566 9D03      MUL	R16,R3
    0567 0CC1      ADD	R12,R1
    0568 1EDB      ADC	R13,R27
    0569 1EEB      ADC	R14,R27
    056A 1EFB      ADC	R15,R27
    056B 9D13      MUL	R17,R3
    056C 0CC0      ADD	R12,R0
    056D 1CD1      ADC	R13,R1
    056E 1EEB      ADC	R14,R27
    056F 1EFB      ADC	R15,R27
    0570 9D04      MUL	R16,R4
    0571 0CC0      ADD	R12,R0
    0572 1CD1      ADC	R13,R1
    0573 1EEB      ADC	R14,R27
    0574 1EFB      ADC	R15,R27
    0575 9D23      MUL	R18,R3
    0576 0CD0      ADD	R13,R0
    0577 1CE1      ADC	R14,R1
    0578 1EFB      ADC	R15,R27
    0579 9D14      MUL	R17,R4
    057A 0CD0      ADD	R13,R0
    057B 1CE1      ADC	R14,R1
    057C 1EFB      ADC	R15,R27
    057D 20CC      TST	R12
    057E F422      BPL	0x0583
    057F 9488      BCLR	0
    0580 1EDB      ADC	R13,R27
    0581 1EEB      ADC	R14,R27
    0582 1EFB      ADC	R15,R27
    0583 9508      RET
savfacc1:
    0584 938A      ST	R24,-Y
    0585 93BA      ST	R27,-Y
    0586 9508      RET
restorefacc1:
    0587 91B9      LD	R27,Y+
    0588 9189      LD	R24,Y+
    0589 9508      RET
unpackfacc1:
    058A 2F83      MOV	R24,R19
    058B 7880      ANDI	R24,0x80
    058C 0F22      LSL	R18
    058D 1F33      ROL	R19
    058E 5830      SUBI	R19,0x80
    058F 9408      BSET	0
    0590 9527      ROR	R18
    0591 3830      CPI	R19,0x80
    0592 9508      RET
negmant:
    0593 9510      COM	R17
    0594 9520      COM	R18
    0595 9501      NEG	R16
    0596 4F1F      SBCI	R17,0xFF
    0597 4F2F      SBCI	R18,0xFF
    0598 9508      RET
maxres:
    0599 E7BF      LDI	R27,0x7F
    059A 2F3B      MOV	R19,R27
    059B 2B2B      OR	R18,R27
    059C EFBF      LDI	R27,0xFF
    059D 2F0B      MOV	R16,R27
    059E 2F1B      MOV	R17,R27
    059F 9508      RET
minres:
    05A0 2700      CLR	R16
    05A1 2711      CLR	R17
    05A2 2722      CLR	R18
    05A3 2733      CLR	R19
    05A4 2788      CLR	R24
    05A5 9508      RET
ac1toac2:
    05A6 2F93      MOV	R25,R19
    05A7 2E20      MOV	R2,R16
    05A8 2E31      MOV	R3,R17
    05A9 2E42      MOV	R4,R18
    05AA 2FA8      MOV	R26,R24
    05AB 9508      RET
swapacc:
    05AC 922A      ST	R2,-Y
    05AD 923A      ST	R3,-Y
    05AE 924A      ST	R4,-Y
    05AF 939A      ST	R25,-Y
    05B0 93AA      ST	R26,-Y
    05B1 DFF4      RCALL	ac1toac2
    05B2 9189      LD	R24,Y+
    05B3 9139      LD	R19,Y+
    05B4 9129      LD	R18,Y+
    05B5 9119      LD	R17,Y+
    05B6 9109      LD	R16,Y+
    05B7 9508      RET
unpack:
    05B8 2F83      MOV	R24,R19
    05B9 E8B0      LDI	R27,0x80
    05BA 0F22      LSL	R18
    05BB 1F33      ROL	R19
    05BC 273B      EOR	R19,R27
    05BD 0FBB      LSL	R27
    05BE 9527      ROR	R18
    05BF 7880      ANDI	R24,0x80
    05C0 2FA9      MOV	R26,R25
    05C1 E8B0      LDI	R27,0x80
    05C2 0C44      LSL	R4
    05C3 1F99      ROL	R25
    05C4 279B      EOR	R25,R27
    05C5 0FBB      LSL	R27
    05C6 9447      ROR	R4
    05C7 78A0      ANDI	R26,0x80
    05C8 3830      CPI	R19,0x80
    05C9 9508      RET
repack:
    05CA 0F22      LSL	R18
    05CB E8B0      LDI	R27,0x80
    05CC 27B3      EOR	R27,R19
    05CD 0F88      LSL	R24
    05CE 95B7      ROR	R27
    05CF 9527      ROR	R18
    05D0 2F3B      MOV	R19,R27
    05D1 9508      RET

⌨️ 快捷键说明

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