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

📄 ds18b20.lst

📁 AVR16单片机DS18B20程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    036B F7D9      BNE	0x0367
    036C 2FB8      MOV	R27,R24
    036D 27BA      EOR	R27,R26
    036E F04A      BMI	0x0378
    036F D018      RCALL	0x0388
    0370 F698      BCC	0x0344
    0371 9527      ROR	R18
    0372 9517      ROR	R17
    0373 9507      ROR	R16
    0374 5F3F      SUBI	R19,0xFF
    0375 F673      BVC	0x0344
    0376 940C0396  JMP	maxres
    0378 D013      RCALL	usub24
    0379 F411      BNE	0x037C
    037A 940C039D  JMP	minres
    037C F410      BCC	0x037F
    037D 940E0390  CALL	negmant
    037F 2322      TST	R18
    0380 F21A      BMI	0x0344
    0381 0F00      LSL	R16
    0382 1F11      ROL	R17
    0383 1F22      ROL	R18
    0384 5031      SUBI	R19,1
    0385 F7CB      BVC	0x037F
    0386 940C0396  JMP	maxres
    0388 0D02      ADD	R16,R2
    0389 1D13      ADC	R17,R3
    038A 1D24      ADC	R18,R4
    038B 9508      RET
usub24:
    038C 1902      SUB	R16,R2
    038D 0913      SBC	R17,R3
    038E 0924      SBC	R18,R4
    038F 9508      RET
negmant:
    0390 9510      COM	R17
    0391 9520      COM	R18
    0392 9501      NEG	R16
    0393 4F1F      SBCI	R17,0xFF
    0394 4F2F      SBCI	R18,0xFF
    0395 9508      RET
maxres:
    0396 E7BF      LDI	R27,0x7F
    0397 2F3B      MOV	R19,R27
    0398 2B2B      OR	R18,R27
    0399 EFBF      LDI	R27,0xFF
    039A 2F0B      MOV	R16,R27
    039B 2F1B      MOV	R17,R27
    039C 9508      RET
minres:
    039D 2700      CLR	R16
    039E 2711      CLR	R17
    039F 2722      CLR	R18
    03A0 2733      CLR	R19
    03A1 2788      CLR	R24
    03A2 9508      RET
ac1toac2:
    03A3 2F93      MOV	R25,R19
    03A4 2E20      MOV	R2,R16
    03A5 2E31      MOV	R3,R17
    03A6 2E42      MOV	R4,R18
    03A7 2FA8      MOV	R26,R24
    03A8 9508      RET
swapacc:
    03A9 922A      ST	R2,-Y
    03AA 923A      ST	R3,-Y
    03AB 924A      ST	R4,-Y
    03AC 939A      ST	R25,-Y
    03AD 93AA      ST	R26,-Y
    03AE DFF4      RCALL	ac1toac2
    03AF 9189      LD	R24,Y+
    03B0 9139      LD	R19,Y+
    03B1 9129      LD	R18,Y+
    03B2 9119      LD	R17,Y+
    03B3 9109      LD	R16,Y+
    03B4 9508      RET
unpack:
    03B5 2F83      MOV	R24,R19
    03B6 E8B0      LDI	R27,0x80
    03B7 0F22      LSL	R18
    03B8 1F33      ROL	R19
    03B9 273B      EOR	R19,R27
    03BA 0FBB      LSL	R27
    03BB 9527      ROR	R18
    03BC 7880      ANDI	R24,0x80
    03BD 2FA9      MOV	R26,R25
    03BE E8B0      LDI	R27,0x80
    03BF 0C44      LSL	R4
    03C0 1F99      ROL	R25
    03C1 279B      EOR	R25,R27
    03C2 0FBB      LSL	R27
    03C3 9447      ROR	R4
    03C4 78A0      ANDI	R26,0x80
    03C5 3830      CPI	R19,0x80
    03C6 9508      RET
repack:
    03C7 0F22      LSL	R18
    03C8 E8B0      LDI	R27,0x80
    03C9 27B3      EOR	R27,R19
    03CA 0F88      LSL	R24
    03CB 95B7      ROR	R27
    03CC 9527      ROR	R18
    03CD 2F3B      MOV	R19,R27
    03CE 9508      RET
cmp32f:
    03CF 940E047C  CALL	float_prolog
    03D1 D002      RCALL	FLTCP
    03D2 940C0475  JMP	float_epilog
FLTCP:
    03D4 D002      RCALL	0x03D7
    03D5 23BB      TST	R27
    03D6 9508      RET
    03D7 2333      TST	R19
    03D8 F082      BMI	0x03E9
    03D9 2399      TST	R25
    03DA F042      BMI	0x03E3
    03DB 1739      CP	R19,R25
    03DC F040      BCS	0x03E5
    03DD F429      BNE	0x03E3
    03DE 1502      CP	R16,R2
    03DF 0513      CPC	R17,R3
    03E0 0524      CPC	R18,R4
    03E1 F018      BCS	0x03E5
    03E2 F021      BEQ	0x03E7
    03E3 E0B1      LDI	R27,1
    03E4 9508      RET
    03E5 EFBF      LDI	R27,0xFF
    03E6 9508      RET
    03E7 27BB      CLR	R27
    03E8 9508      RET
    03E9 2399      TST	R25
    03EA F7D2      BPL	0x03E5
    03EB 1739      CP	R19,R25
    03EC F3B0      BCS	0x03E3
    03ED F7B9      BNE	0x03E5
    03EE 1502      CP	R16,R2
    03EF 0513      CPC	R17,R3
    03F0 0524      CPC	R18,R4
    03F1 F388      BCS	0x03E3
    03F2 F3A1      BEQ	0x03E7
    03F3 CFF1      RJMP	0x03E5
    03F4 E7BF      LDI	R27,0x7F
    03F5 2F3B      MOV	R19,R27
    03F6 2B2B      OR	R18,R27
    03F7 EF0F      LDI	R16,0xFF
    03F8 EF1F      LDI	R17,0xFF
    03F9 9508      RET
    03FA 2700      CLR	R16
    03FB 2711      CLR	R17
    03FC 2722      CLR	R18
    03FD 2733      CLR	R19
    03FE 2788      CLR	R24
    03FF 9508      RET
empy32fs:
    0400 D002      RCALL	empy32f
    0401 940C044B  JMP	push_arg4
empy32f:
    0403 940E047C  CALL	float_prolog
    0405 920F      PUSH	R0
    0406 92CF      PUSH	R12
    0407 D004      RCALL	eFMUL
    0408 90CF      POP	R12
    0409 900F      POP	R0
    040A 940C0475  JMP	float_epilog
eFMUL:
    040C 940E03B5  CALL	unpack
    040E F359      BEQ	0x03FA
    040F 3890      CPI	R25,0x80
    0410 F349      BEQ	0x03FA
    0411 278A      EOR	R24,R26
    0412 9408      BSET	0
    0413 1F39      ADC	R19,R25
    0414 F2FB      BVS	0x03F4
    0415 D00E      RCALL	eumul24
    0416 2D2F      MOV	R18,R15
    0417 2D1E      MOV	R17,R14
    0418 2D0D      MOV	R16,R13
    0419 2322      TST	R18
    041A F02A      BMI	0x0420
    041B 953A      DEC	R19
    041C 0CCC      LSL	R12
    041D 1F00      ROL	R16
    041E 1F11      ROL	R17
    041F 1F22      ROL	R18
    0420 5F3F      SUBI	R19,0xFF
    0421 F293      BVS	0x03F4
    0422 940C03C7  JMP	repack
eumul24:
    0424 9D22      MUL	R18,R2
    0425 2CC0      MOV	R12,R0
    0426 2CD1      MOV	R13,R1
    0427 9D24      MUL	R18,R4
    0428 2CE0      MOV	R14,R0
    0429 2CF1      MOV	R15,R1
    042A 9D14      MUL	R17,R4
    042B 0CC1      ADD	R12,R1
    042C 1EDB      ADC	R13,R27
    042D 1EEB      ADC	R14,R27
    042E 1EFB      ADC	R15,R27
    042F 9D03      MUL	R16,R3
    0430 0CC1      ADD	R12,R1
    0431 1EDB      ADC	R13,R27
    0432 1EEB      ADC	R14,R27
    0433 1EFB      ADC	R15,R27
    0434 9D13      MUL	R17,R3
    0435 0CC0      ADD	R12,R0
    0436 1CD1      ADC	R13,R1
    0437 1EEB      ADC	R14,R27
    0438 1EFB      ADC	R15,R27
    0439 9D04      MUL	R16,R4
    043A 0CC0      ADD	R12,R0
    043B 1CD1      ADC	R13,R1
    043C 1EEB      ADC	R14,R27
    043D 1EFB      ADC	R15,R27
    043E 9D23      MUL	R18,R3
    043F 0CD0      ADD	R13,R0
    0440 1CE1      ADC	R14,R1
    0441 1EFB      ADC	R15,R27
    0442 9D14      MUL	R17,R4
    0443 0CD0      ADD	R13,R0
    0444 1CE1      ADC	R14,R1
    0445 1EFB      ADC	R15,R27
    0446 F41A      BPL	0x044A
    0447 94D3      INC	R13
    0448 1EEB      ADC	R14,R27
    0449 1EFB      ADC	R15,R27
    044A 9508      RET
push_arg4:
    044B 933A      ST	R19,-Y
    044C 932A      ST	R18,-Y
push_arg2:
    044D 931A      ST	R17,-Y
    044E 930A      ST	R16,-Y
    044F 9508      RET
save_floatregs:
    0450 92DA      ST	R13,-Y
    0451 92EA      ST	R14,-Y
    0452 92FA      ST	R15,-Y
    0453 938A      ST	R24,-Y
    0454 922A      ST	R2,-Y
    0455 923A      ST	R3,-Y
    0456 924A      ST	R4,-Y
    0457 939A      ST	R25,-Y
    0458 93AA      ST	R26,-Y
    0459 93BA      ST	R27,-Y
    045A 9508      RET
restore_floatregs:
    045B 91B9      LD	R27,Y+
    045C 91A9      LD	R26,Y+
    045D 9199      LD	R25,Y+
    045E 9049      LD	R4,Y+
    045F 9039      LD	R3,Y+
    0460 9029      LD	R2,Y+
    0461 9189      LD	R24,Y+
    0462 90F9      LD	R15,Y+
    0463 90E9      LD	R14,Y+
    0464 90D9      LD	R13,Y+
    0465 9508      RET
stk2arg1:
    0466 842A      LDD	R2,10+Y
    0467 843B      LDD	R3,11+Y
    0468 844C      LDD	R4,12+Y
    0469 859D      LDD	R25,13+Y
    046A 9508      RET
stk2arg0:
    046B 850E      LDD	R16,14+Y
    046C 851F      LDD	R17,15+Y
    046D 8928      LDD	R18,16+Y
    046E 8939      LDD	R19,17+Y
    046F 9508      RET
stk2arg0x:
    0470 850A      LDD	R16,10+Y
    0471 851B      LDD	R17,11+Y
    0472 852C      LDD	R18,12+Y
    0473 853D      LDD	R19,13+Y
    0474 9508      RET
float_epilog:
    0475 DFE5      RCALL	restore_floatregs
    0476 920F      PUSH	R0
    0477 B60F      IN	R0,P3F
    0478 9628      ADIW	R28,0x8
    0479 BE0F      OUT	P3F,R0
    047A 900F      POP	R0
    047B 9508      RET
float_prolog:
    047C DFD3      RCALL	save_floatregs
    047D DFED      RCALL	stk2arg0
    047E CFE7      RJMP	stk2arg1
push_gset1:
    047F 935A      ST	R21,-Y
    0480 934A      ST	R20,-Y
    0481 9508      RET
pop_gset1:
    0482 E0E1      LDI	R30,1
pop:
    0483 9149      LD	R20,Y+
    0484 9159      LD	R21,Y+
    0485 FDE0      SBRC	R30,0
    0486 9508      RET
    0487 9169      LD	R22,Y+
    0488 9179      LD	R23,Y+
    0489 FDE1      SBRC	R30,1
    048A 9508      RET
    048B 90A9      LD	R10,Y+
    048C 90B9      LD	R11,Y+
    048D FDE2      SBRC	R30,2
    048E 9508      RET
    048F 90C9      LD	R12,Y+
    0490 90D9      LD	R13,Y+
    0491 FDE3      SBRC	R30,3
    0492 9508      RET
    0493 90E9      LD	R14,Y+
    0494 90F9      LD	R15,Y+
    0495 9508      RET
push_gset2:
    0496 937A      ST	R23,-Y
    0497 936A      ST	R22,-Y
    0498 940C047F  JMP	push_gset1
push_gset3:
    049A 92BA      ST	R11,-Y
    049B 92AA      ST	R10,-Y
    049C 940C0496  JMP	push_gset2
pop_gset2:
    049E E0E2      LDI	R30,2
    049F 940C0483  JMP	pop
pop_gset3:
    04A1 E0E4      LDI	R30,4
    04A2 940C0483  JMP	pop
lpm32:
    04A4 93EA      ST	R30,-Y
    04A5 93FA      ST	R31,-Y
    04A6 920A      ST	R0,-Y
    04A7 2FE0      MOV	R30,R16
    04A8 2FF1      MOV	R31,R17
    04A9 95C8      LPM
    04AA 2D00      MOV	R16,R0
    04AB 9631      ADIW	R30,1
    04AC 95C8      LPM
    04AD 2D10      MOV	R17,R0
    04AE 9631      ADIW	R30,1
    04AF 95C8      LPM
    04B0 2D20      MOV	R18,R0
    04B1 9631      ADIW	R30,1
    04B2 95C8      LPM
    04B3 2D30      MOV	R19,R0
    04B4 9009      LD	R0,Y+
    04B5 91F9      LD	R31,Y+
    04B6 91E9      LD	R30,Y+
    04B7 9508      RET
neg32:
    04B8 9500      COM	R16
    04B9 9510      COM	R17
    04BA 9520      COM	R18
    04BB 9530      COM	R19
    04BC 5F0F      SUBI	R16,0xFF
    04BD 4F1F      SBCI	R17,0xFF
    04BE 4F2F      SBCI	R18,0xFF
    04BF 4F3F      SBCI	R19,0xFF
    04C0 9508      RET
lsl8:
    04C1 2311      TST	R17
    04C2 F019      BEQ	0x04C6
    04C3 0F00      LSL	R16
    04C4 951A      DEC	R17
    04C5 CFFB      RJMP	lsl8
    04C6 9508      RET

⌨️ 快捷键说明

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