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

📄 18b20.lst

📁 一个关于AVR单片机的例程
💻 LST
📖 第 1 页 / 共 4 页
字号:
    03AC 940C036E  JMP	lpm32
    03AE E010      LDI	R17,0
    03AF E802      LDI	R16,0x82
    03B0 940C036E  JMP	lpm32
    03B2 E010      LDI	R17,0
    03B3 E800      LDI	R16,0x80
    03B4 940C036E  JMP	lpm32
    03B6 9533      INC	R19
    03B7 F3D2      BMI	0x03B2
    03B8 E030      LDI	R19,0
    03B9 50B8      SUBI	R27,0x8
    03BA F452      BPL	0x03C5
    03BB 5FB8      SUBI	R27,0xF8
    03BC 2F32      MOV	R19,R18
    03BD 2F21      MOV	R18,R17
    03BE 2F10      MOV	R17,R16
    03BF E800      LDI	R16,0x80
    03C0 C006      RJMP	0x03C7
    03C1 2F01      MOV	R16,R17
    03C2 2F12      MOV	R17,R18
    03C3 E020      LDI	R18,0
    03C4 50B8      SUBI	R27,0x8
    03C5 30B8      CPI	R27,0x8
    03C6 F7D0      BCC	0x03C1
    03C7 23BB      TST	R27
    03C8 F031      BEQ	0x03CF
    03C9 9536      LSR	R19
    03CA 9527      ROR	R18
    03CB 9517      ROR	R17
    03CC 9507      ROR	R16
    03CD 95BA      DEC	R27
    03CE F7D1      BNE	0x03C9
    03CF 9508      RET
int2fp:
    03D0 2722      CLR	R18
    03D1 FD17      SBRC	R17,7
    03D2 9520      COM	R18
    03D3 2733      CLR	R19
    03D4 FD27      SBRC	R18,7
    03D5 9530      COM	R19
long2fp:
    03D6 940E0509  CALL	savfacc1
    03D8 D002      RCALL	ITOF
    03D9 940C050C  JMP	restorefacc1
ITOF:
    03DB 2788      CLR	R24
    03DC 2333      TST	R19
    03DD F41A      BPL	0x03E1
    03DE 940E0365  CALL	neg32
    03E0 9580      COM	R24
    03E1 2FB0      MOV	R27,R16
    03E2 2BB1      OR	R27,R17
    03E3 2BB2      OR	R27,R18
    03E4 2BB3      OR	R27,R19
    03E5 F411      BNE	0x03E8
    03E6 940C0525  JMP	minres
    03E8 E1B6      LDI	R27,0x16
    03E9 C005      RJMP	itof2
    03EA 95B3      INC	R27
    03EB 9536      LSR	R19
    03EC 9527      ROR	R18
    03ED 9517      ROR	R17
    03EE 9507      ROR	R16
itof2:
    03EF 2333      TST	R19
    03F0 F7C9      BNE	0x03EA
itof3:
    03F1 2322      TST	R18
    03F2 F449      BNE	0x03FC
    03F3 50B8      SUBI	R27,0x8
    03F4 2F21      MOV	R18,R17
    03F5 2F10      MOV	R17,R16
    03F6 E000      LDI	R16,0
    03F7 CFF9      RJMP	itof3
    03F8 95BA      DEC	R27
    03F9 0F00      LSL	R16
    03FA 1F11      ROL	R17
    03FB 1F22      ROL	R18
    03FC F7DA      BPL	0x03F8
    03FD 2F3B      MOV	R19,R27
    03FE 940C054F  JMP	repack
save_floatregs:
    0400 92DA      ST	R13,-Y
    0401 92EA      ST	R14,-Y
    0402 92FA      ST	R15,-Y
    0403 938A      ST	R24,-Y
    0404 922A      ST	R2,-Y
    0405 923A      ST	R3,-Y
    0406 924A      ST	R4,-Y
    0407 939A      ST	R25,-Y
    0408 93AA      ST	R26,-Y
    0409 93BA      ST	R27,-Y
    040A 9508      RET
restore_floatregs:
    040B 91B9      LD	R27,Y+
    040C 91A9      LD	R26,Y+
    040D 9199      LD	R25,Y+
    040E 9049      LD	R4,Y+
    040F 9039      LD	R3,Y+
    0410 9029      LD	R2,Y+
    0411 9189      LD	R24,Y+
    0412 90F9      LD	R15,Y+
    0413 90E9      LD	R14,Y+
    0414 90D9      LD	R13,Y+
    0415 9508      RET
stk2arg1:
    0416 842A      LDD	R2,Y+10
    0417 843B      LDD	R3,Y+11
    0418 844C      LDD	R4,Y+12
    0419 859D      LDD	R25,Y+13
    041A 9508      RET
stk2arg0:
    041B 850E      LDD	R16,Y+14
    041C 851F      LDD	R17,Y+15
    041D 8928      LDD	R18,Y+16
    041E 8939      LDD	R19,Y+17
    041F 9508      RET
float_epilog:
    0420 DFEA      RCALL	restore_floatregs
    0421 920F      PUSH	R0
    0422 B60F      IN	R0,0x3F
    0423 9628      ADIW	R28,0x8
    0424 BE0F      OUT	0x3F,R0
    0425 900F      POP	R0
    0426 9508      RET
float_prolog:
    0427 DFD8      RCALL	save_floatregs
    0428 DFF2      RCALL	stk2arg0
    0429 CFEC      RJMP	stk2arg1
add32fs:
    042A D002      RCALL	add32f
    042B 940C02F4  JMP	push_arg4
add32f:
    042D 940E0427  CALL	float_prolog
    042F D012      RCALL	FADD
    0430 940C0420  JMP	float_epilog
sub32fs:
    0432 D002      RCALL	sub32f
    0433 940C02F4  JMP	push_arg4
sub32f:
    0435 940E0427  CALL	float_prolog
    0437 D009      RCALL	FSUB
    0438 940C0420  JMP	float_epilog
fret2:
    043A 2F8A      MOV	R24,R26
    043B 2F39      MOV	R19,R25
    043C 2D24      MOV	R18,R4
    043D 2D13      MOV	R17,R3
    043E 2D02      MOV	R16,R2
    043F 940C054F  JMP	repack
FSUB:
    0441 5890      SUBI	R25,0x80
FADD:
    0442 940E053D  CALL	unpack
    0444 3890      CPI	R25,0x80
    0445 F3C9      BEQ	0x043F
    0446 3830      CPI	R19,0x80
    0447 F391      BEQ	0x043A
    0448 2FB3      MOV	R27,R19
    0449 1BB9      SUB	R27,R25
    044A F3A3      BVS	0x043F
    044B F02A      BMI	0x0451
    044C F439      BNE	0x0454
    044D 1502      CP	R16,R2
    044E 0513      CPC	R17,R3
    044F 0524      CPC	R18,R4
    0450 F418      BCC	0x0454
    0451 940E0531  CALL	swapacc
    0453 CFF4      RJMP	0x0448
    0454 31B8      CPI	R27,0x18
    0455 F018      BCS	0x0459
    0456 2422      CLR	R2
    0457 2433      CLR	R3
    0458 2444      CLR	R4
    0459 30B8      CPI	R27,0x8
    045A F028      BCS	0x0460
    045B 2C23      MOV	R2,R3
    045C 2C34      MOV	R3,R4
    045D 2444      CLR	R4
    045E 50B8      SUBI	R27,0x8
    045F CFF9      RJMP	0x0459
    0460 23BB      TST	R27
    0461 F029      BEQ	0x0467
    0462 9446      LSR	R4
    0463 9437      ROR	R3
    0464 9427      ROR	R2
    0465 95BA      DEC	R27
    0466 F7D9      BNE	0x0462
    0467 2FB8      MOV	R27,R24
    0468 27BA      EOR	R27,R26
    0469 F04A      BMI	0x0473
    046A D018      RCALL	0x0483
    046B F698      BCC	0x043F
    046C 9527      ROR	R18
    046D 9517      ROR	R17
    046E 9507      ROR	R16
    046F 5F3F      SUBI	R19,0xFF
    0470 F673      BVC	0x043F
    0471 940C051E  JMP	maxres
    0473 D013      RCALL	usub24
    0474 F411      BNE	0x0477
    0475 940C0525  JMP	minres
    0477 F410      BCC	0x047A
    0478 940E0518  CALL	negmant
    047A 2322      TST	R18
    047B F21A      BMI	0x043F
    047C 0F00      LSL	R16
    047D 1F11      ROL	R17
    047E 1F22      ROL	R18
    047F 5031      SUBI	R19,1
    0480 F7CB      BVC	0x047A
    0481 940C051E  JMP	maxres
    0483 0D02      ADD	R16,R2
    0484 1D13      ADC	R17,R3
    0485 1D24      ADC	R18,R4
    0486 9508      RET
usub24:
    0487 1902      SUB	R16,R2
    0488 0913      SBC	R17,R3
    0489 0924      SBC	R18,R4
    048A 9508      RET
cmp32f:
    048B 940E0427  CALL	float_prolog
    048D D002      RCALL	FLTCP
    048E 940C0420  JMP	float_epilog
FLTCP:
    0490 D002      RCALL	0x0493
    0491 23BB      TST	R27
    0492 9508      RET
    0493 2333      TST	R19
    0494 F082      BMI	0x04A5
    0495 2399      TST	R25
    0496 F042      BMI	0x049F
    0497 1739      CP	R19,R25
    0498 F040      BCS	0x04A1
    0499 F429      BNE	0x049F
    049A 1502      CP	R16,R2
    049B 0513      CPC	R17,R3
    049C 0524      CPC	R18,R4
    049D F018      BCS	0x04A1
    049E F021      BEQ	0x04A3
    049F E0B1      LDI	R27,1
    04A0 9508      RET
    04A1 EFBF      LDI	R27,0xFF
    04A2 9508      RET
    04A3 27BB      CLR	R27
    04A4 9508      RET
    04A5 2399      TST	R25
    04A6 F7D2      BPL	0x04A1
    04A7 1739      CP	R19,R25
    04A8 F3B0      BCS	0x049F
    04A9 F7B9      BNE	0x04A1
    04AA 1502      CP	R16,R2
    04AB 0513      CPC	R17,R3
    04AC 0524      CPC	R18,R4
    04AD F388      BCS	0x049F
    04AE F3A1      BEQ	0x04A3
    04AF CFF1      RJMP	0x04A1
    04B0 E7BF      LDI	R27,0x7F
    04B1 2F3B      MOV	R19,R27
    04B2 2B2B      OR	R18,R27
    04B3 EF0F      LDI	R16,0xFF
    04B4 EF1F      LDI	R17,0xFF
    04B5 9508      RET
    04B6 2700      CLR	R16
    04B7 2711      CLR	R17
    04B8 2722      CLR	R18
    04B9 2733      CLR	R19
    04BA 2788      CLR	R24
    04BB 9508      RET
empy32fs:
    04BC D002      RCALL	empy32f
    04BD 940C02F4  JMP	push_arg4
empy32f:
    04BF 940E0427  CALL	float_prolog
    04C1 920F      PUSH	R0
    04C2 92CF      PUSH	R12
    04C3 D004      RCALL	eFMUL
    04C4 90CF      POP	R12
    04C5 900F      POP	R0
    04C6 940C0420  JMP	float_epilog
eFMUL:
    04C8 940E053D  CALL	unpack
    04CA F359      BEQ	0x04B6
    04CB 3890      CPI	R25,0x80
    04CC F349      BEQ	0x04B6
    04CD 278A      EOR	R24,R26
    04CE 9408      BSET	0
    04CF 1F39      ADC	R19,R25
    04D0 F2FB      BVS	0x04B0
    04D1 D00E      RCALL	eumul24
    04D2 2D2F      MOV	R18,R15
    04D3 2D1E      MOV	R17,R14
    04D4 2D0D      MOV	R16,R13
    04D5 2322      TST	R18
    04D6 F02A      BMI	0x04DC
    04D7 953A      DEC	R19
    04D8 0CCC      LSL	R12
    04D9 1F00      ROL	R16
    04DA 1F11      ROL	R17
    04DB 1F22      ROL	R18
    04DC 5F3F      SUBI	R19,0xFF
    04DD F293      BVS	0x04B0
    04DE 940C054F  JMP	repack
eumul24:
    04E0 9D22      MUL	R18,R2
    04E1 2CC0      MOV	R12,R0
    04E2 2CD1      MOV	R13,R1
    04E3 9D24      MUL	R18,R4
    04E4 2CE0      MOV	R14,R0
    04E5 2CF1      MOV	R15,R1
    04E6 9D12      MUL	R17,R2
    04E7 0CC1      ADD	R12,R1
    04E8 1EDB      ADC	R13,R27
    04E9 1EEB      ADC	R14,R27
    04EA 1EFB      ADC	R15,R27
    04EB 9D03      MUL	R16,R3
    04EC 0CC1      ADD	R12,R1
    04ED 1EDB      ADC	R13,R27
    04EE 1EEB      ADC	R14,R27
    04EF 1EFB      ADC	R15,R27
    04F0 9D13      MUL	R17,R3
    04F1 0CC0      ADD	R12,R0
    04F2 1CD1      ADC	R13,R1
    04F3 1EEB      ADC	R14,R27
    04F4 1EFB      ADC	R15,R27
    04F5 9D04      MUL	R16,R4
    04F6 0CC0      ADD	R12,R0
    04F7 1CD1      ADC	R13,R1
    04F8 1EEB      ADC	R14,R27
    04F9 1EFB      ADC	R15,R27
    04FA 9D23      MUL	R18,R3
    04FB 0CD0      ADD	R13,R0
    04FC 1CE1      ADC	R14,R1
    04FD 1EFB      ADC	R15,R27
    04FE 9D14      MUL	R17,R4
    04FF 0CD0      ADD	R13,R0
    0500 1CE1      ADC	R14,R1
    0501 1EFB      ADC	R15,R27
    0502 20CC      TST	R12
    0503 F422      BPL	0x0508
    0504 9488      BCLR	0
    0505 1EDB      ADC	R13,R27
    0506 1EEB      ADC	R14,R27
    0507 1EFB      ADC	R15,R27
    0508 9508      RET
savfacc1:
    0509 938A      ST	R24,-Y
    050A 93BA      ST	R27,-Y
    050B 9508      RET
restorefacc1:
    050C 91B9      LD	R27,Y+
    050D 9189      LD	R24,Y+
    050E 9508      RET
unpackfacc1:
    050F 2F83      MOV	R24,R19
    0510 7880      ANDI	R24,0x80
    0511 0F22      LSL	R18
    0512 1F33      ROL	R19
    0513 5830      SUBI	R19,0x80
    0514 9408      BSET	0
    0515 9527      ROR	R18
    0516 3830      CPI	R19,0x80
    0517 9508      RET
negmant:
    0518 9510      COM	R17
    0519 9520      COM	R18
    051A 9501      NEG	R16
    051B 4F1F      SBCI	R17,0xFF
    051C 4F2F      SBCI	R18,0xFF
    051D 9508      RET
maxres:
    051E E7BF      LDI	R27,0x7F
    051F 2F3B      MOV	R19,R27
    0520 2B2B      OR	R18,R27
    0521 EFBF      LDI	R27,0xFF
    0522 2F0B      MOV	R16,R27
    0523 2F1B      MOV	R17,R27
    0524 9508      RET
minres:
    0525 2700      CLR	R16
    0526 2711      CLR	R17
    0527 2722      CLR	R18
    0528 2733      CLR	R19
    0529 2788      CLR	R24
    052A 9508      RET
ac1toac2:
    052B 2F93      MOV	R25,R19
    052C 2E20      MOV	R2,R16
    052D 2E31      MOV	R3,R17
    052E 2E42      MOV	R4,R18
    052F 2FA8      MOV	R26,R24
    0530 9508      RET
swapacc:
    0531 922A      ST	R2,-Y
    0532 923A      ST	R3,-Y
    0533 924A      ST	R4,-Y
    0534 939A      ST	R25,-Y
    0535 93AA      ST	R26,-Y
    0536 DFF4      RCALL	ac1toac2
    0537 9189      LD	R24,Y+
    0538 9139      LD	R19,Y+
    0539 9129      LD	R18,Y+
    053A 9119      LD	R17,Y+
    053B 9109      LD	R16,Y+
    053C 9508      RET
unpack:
    053D 2F83      MOV	R24,R19
    053E E8B0      LDI	R27,0x80
    053F 0F22      LSL	R18
    0540 1F33      ROL	R19
    0541 273B      EOR	R19,R27
    0542 0FBB      LSL	R27
    0543 9527      ROR	R18
    0544 7880      ANDI	R24,0x80
    0545 2FA9      MOV	R26,R25
    0546 E8B0      LDI	R27,0x80
    0547 0C44      LSL	R4
    0548 1F99      ROL	R25
    0549 279B      EOR	R25,R27
    054A 0FBB      LSL	R27
    054B 9447      ROR	R4
    054C 78A0      ANDI	R26,0x80
    054D 3830      CPI	R19,0x80
    054E 9508      RET
repack:
    054F 0F22      LSL	R18
    0550 E8B0      LDI	R27,0x80
    0551 27B3      EOR	R27,R19
    0552 0F88      LSL	R24
    0553 95B7      ROR	R27
    0554 9527      ROR	R18
    0555 2F3B      MOV	R19,R27
    0556 9508      RET

⌨️ 快捷键说明

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