📄 ds18b20.lst
字号:
034E F7D0 BCC 0x0349
034F 23BB TST R27
0350 F031 BEQ 0x0357
0351 9536 LSR R19
0352 9527 ROR R18
0353 9517 ROR R17
0354 9507 ROR R16
0355 95BA DEC R27
0356 F7D1 BNE 0x0351
0357 9508 RET
int2fp:
0358 2722 CLR R18
0359 FD17 SBRC R17,7
035A 9520 COM R18
035B 2733 CLR R19
035C FD27 SBRC R18,7
035D 9530 COM R19
long2fp:
035E 940E0491 CALL savfacc1
0360 D002 RCALL ITOF
0361 940C0494 JMP restorefacc1
ITOF:
0363 2788 CLR R24
0364 2333 TST R19
0365 F41A BPL 0x0369
0366 940E02ED CALL neg32
0368 9580 COM R24
0369 2FB0 MOV R27,R16
036A 2BB1 OR R27,R17
036B 2BB2 OR R27,R18
036C 2BB3 OR R27,R19
036D F411 BNE 0x0370
036E 940C04AD JMP minres
0370 E1B6 LDI R27,0x16
0371 C005 RJMP itof2
0372 95B3 INC R27
0373 9536 LSR R19
0374 9527 ROR R18
0375 9517 ROR R17
0376 9507 ROR R16
itof2:
0377 2333 TST R19
0378 F7C9 BNE 0x0372
itof3:
0379 2322 TST R18
037A F449 BNE 0x0384
037B 50B8 SUBI R27,0x8
037C 2F21 MOV R18,R17
037D 2F10 MOV R17,R16
037E E000 LDI R16,0
037F CFF9 RJMP itof3
0380 95BA DEC R27
0381 0F00 LSL R16
0382 1F11 ROL R17
0383 1F22 ROL R18
0384 F7DA BPL 0x0380
0385 2F3B MOV R19,R27
0386 940C04D7 JMP repack
save_floatregs:
0388 92DA ST R13,-Y
0389 92EA ST R14,-Y
038A 92FA ST R15,-Y
038B 938A ST R24,-Y
038C 922A ST R2,-Y
038D 923A ST R3,-Y
038E 924A ST R4,-Y
038F 939A ST R25,-Y
0390 93AA ST R26,-Y
0391 93BA ST R27,-Y
0392 9508 RET
restore_floatregs:
0393 91B9 LD R27,Y+
0394 91A9 LD R26,Y+
0395 9199 LD R25,Y+
0396 9049 LD R4,Y+
0397 9039 LD R3,Y+
0398 9029 LD R2,Y+
0399 9189 LD R24,Y+
039A 90F9 LD R15,Y+
039B 90E9 LD R14,Y+
039C 90D9 LD R13,Y+
039D 9508 RET
stk2arg1:
039E 842A LDD R2,Y+10
039F 843B LDD R3,Y+11
03A0 844C LDD R4,Y+12
03A1 859D LDD R25,Y+13
03A2 9508 RET
stk2arg0:
03A3 850E LDD R16,Y+14
03A4 851F LDD R17,Y+15
03A5 8928 LDD R18,Y+16
03A6 8939 LDD R19,Y+17
03A7 9508 RET
float_epilog:
03A8 DFEA RCALL restore_floatregs
03A9 920F PUSH R0
03AA B60F IN R0,0x3F
03AB 9628 ADIW R28,0x8
03AC BE0F OUT 0x3F,R0
03AD 900F POP R0
03AE 9508 RET
float_prolog:
03AF DFD8 RCALL save_floatregs
03B0 DFF2 RCALL stk2arg0
03B1 CFEC RJMP stk2arg1
add32fs:
03B2 D002 RCALL add32f
03B3 940C02A4 JMP push_arg4
add32f:
03B5 940E03AF CALL float_prolog
03B7 D012 RCALL FADD
03B8 940C03A8 JMP float_epilog
sub32fs:
03BA D002 RCALL sub32f
03BB 940C02A4 JMP push_arg4
sub32f:
03BD 940E03AF CALL float_prolog
03BF D009 RCALL FSUB
03C0 940C03A8 JMP float_epilog
fret2:
03C2 2F8A MOV R24,R26
03C3 2F39 MOV R19,R25
03C4 2D24 MOV R18,R4
03C5 2D13 MOV R17,R3
03C6 2D02 MOV R16,R2
03C7 940C04D7 JMP repack
FSUB:
03C9 5890 SUBI R25,0x80
FADD:
03CA 940E04C5 CALL unpack
03CC 3890 CPI R25,0x80
03CD F3C9 BEQ 0x03C7
03CE 3830 CPI R19,0x80
03CF F391 BEQ 0x03C2
03D0 2FB3 MOV R27,R19
03D1 1BB9 SUB R27,R25
03D2 F3A3 BVS 0x03C7
03D3 F02A BMI 0x03D9
03D4 F439 BNE 0x03DC
03D5 1502 CP R16,R2
03D6 0513 CPC R17,R3
03D7 0524 CPC R18,R4
03D8 F418 BCC 0x03DC
03D9 940E04B9 CALL swapacc
03DB CFF4 RJMP 0x03D0
03DC 31B8 CPI R27,0x18
03DD F018 BCS 0x03E1
03DE 2422 CLR R2
03DF 2433 CLR R3
03E0 2444 CLR R4
03E1 30B8 CPI R27,0x8
03E2 F028 BCS 0x03E8
03E3 2C23 MOV R2,R3
03E4 2C34 MOV R3,R4
03E5 2444 CLR R4
03E6 50B8 SUBI R27,0x8
03E7 CFF9 RJMP 0x03E1
03E8 23BB TST R27
03E9 F029 BEQ 0x03EF
03EA 9446 LSR R4
03EB 9437 ROR R3
03EC 9427 ROR R2
03ED 95BA DEC R27
03EE F7D9 BNE 0x03EA
03EF 2FB8 MOV R27,R24
03F0 27BA EOR R27,R26
03F1 F04A BMI 0x03FB
03F2 D018 RCALL 0x040B
03F3 F698 BCC 0x03C7
03F4 9527 ROR R18
03F5 9517 ROR R17
03F6 9507 ROR R16
03F7 5F3F SUBI R19,0xFF
03F8 F673 BVC 0x03C7
03F9 940C04A6 JMP maxres
03FB D013 RCALL usub24
03FC F411 BNE 0x03FF
03FD 940C04AD JMP minres
03FF F410 BCC 0x0402
0400 940E04A0 CALL negmant
0402 2322 TST R18
0403 F21A BMI 0x03C7
0404 0F00 LSL R16
0405 1F11 ROL R17
0406 1F22 ROL R18
0407 5031 SUBI R19,1
0408 F7CB BVC 0x0402
0409 940C04A6 JMP maxres
040B 0D02 ADD R16,R2
040C 1D13 ADC R17,R3
040D 1D24 ADC R18,R4
040E 9508 RET
usub24:
040F 1902 SUB R16,R2
0410 0913 SBC R17,R3
0411 0924 SBC R18,R4
0412 9508 RET
cmp32f:
0413 940E03AF CALL float_prolog
0415 D002 RCALL FLTCP
0416 940C03A8 JMP float_epilog
FLTCP:
0418 D002 RCALL 0x041B
0419 23BB TST R27
041A 9508 RET
041B 2333 TST R19
041C F082 BMI 0x042D
041D 2399 TST R25
041E F042 BMI 0x0427
041F 1739 CP R19,R25
0420 F040 BCS 0x0429
0421 F429 BNE 0x0427
0422 1502 CP R16,R2
0423 0513 CPC R17,R3
0424 0524 CPC R18,R4
0425 F018 BCS 0x0429
0426 F021 BEQ 0x042B
0427 E0B1 LDI R27,1
0428 9508 RET
0429 EFBF LDI R27,0xFF
042A 9508 RET
042B 27BB CLR R27
042C 9508 RET
042D 2399 TST R25
042E F7D2 BPL 0x0429
042F 1739 CP R19,R25
0430 F3B0 BCS 0x0427
0431 F7B9 BNE 0x0429
0432 1502 CP R16,R2
0433 0513 CPC R17,R3
0434 0524 CPC R18,R4
0435 F388 BCS 0x0427
0436 F3A1 BEQ 0x042B
0437 CFF1 RJMP 0x0429
0438 E7BF LDI R27,0x7F
0439 2F3B MOV R19,R27
043A 2B2B OR R18,R27
043B EF0F LDI R16,0xFF
043C EF1F LDI R17,0xFF
043D 9508 RET
043E 2700 CLR R16
043F 2711 CLR R17
0440 2722 CLR R18
0441 2733 CLR R19
0442 2788 CLR R24
0443 9508 RET
empy32fs:
0444 D002 RCALL empy32f
0445 940C02A4 JMP push_arg4
empy32f:
0447 940E03AF CALL float_prolog
0449 920F PUSH R0
044A 92CF PUSH R12
044B D004 RCALL eFMUL
044C 90CF POP R12
044D 900F POP R0
044E 940C03A8 JMP float_epilog
eFMUL:
0450 940E04C5 CALL unpack
0452 F359 BEQ 0x043E
0453 3890 CPI R25,0x80
0454 F349 BEQ 0x043E
0455 278A EOR R24,R26
0456 9408 BSET 0
0457 1F39 ADC R19,R25
0458 F2FB BVS 0x0438
0459 D00E RCALL eumul24
045A 2D2F MOV R18,R15
045B 2D1E MOV R17,R14
045C 2D0D MOV R16,R13
045D 2322 TST R18
045E F02A BMI 0x0464
045F 953A DEC R19
0460 0CCC LSL R12
0461 1F00 ROL R16
0462 1F11 ROL R17
0463 1F22 ROL R18
0464 5F3F SUBI R19,0xFF
0465 F293 BVS 0x0438
0466 940C04D7 JMP repack
eumul24:
0468 9D22 MUL R18,R2
0469 2CC0 MOV R12,R0
046A 2CD1 MOV R13,R1
046B 9D24 MUL R18,R4
046C 2CE0 MOV R14,R0
046D 2CF1 MOV R15,R1
046E 9D12 MUL R17,R2
046F 0CC1 ADD R12,R1
0470 1EDB ADC R13,R27
0471 1EEB ADC R14,R27
0472 1EFB ADC R15,R27
0473 9D03 MUL R16,R3
0474 0CC1 ADD R12,R1
0475 1EDB ADC R13,R27
0476 1EEB ADC R14,R27
0477 1EFB ADC R15,R27
0478 9D13 MUL R17,R3
0479 0CC0 ADD R12,R0
047A 1CD1 ADC R13,R1
047B 1EEB ADC R14,R27
047C 1EFB ADC R15,R27
047D 9D04 MUL R16,R4
047E 0CC0 ADD R12,R0
047F 1CD1 ADC R13,R1
0480 1EEB ADC R14,R27
0481 1EFB ADC R15,R27
0482 9D23 MUL R18,R3
0483 0CD0 ADD R13,R0
0484 1CE1 ADC R14,R1
0485 1EFB ADC R15,R27
0486 9D14 MUL R17,R4
0487 0CD0 ADD R13,R0
0488 1CE1 ADC R14,R1
0489 1EFB ADC R15,R27
048A 20CC TST R12
048B F422 BPL 0x0490
048C 9488 BCLR 0
048D 1EDB ADC R13,R27
048E 1EEB ADC R14,R27
048F 1EFB ADC R15,R27
0490 9508 RET
savfacc1:
0491 938A ST R24,-Y
0492 93BA ST R27,-Y
0493 9508 RET
restorefacc1:
0494 91B9 LD R27,Y+
0495 9189 LD R24,Y+
0496 9508 RET
unpackfacc1:
0497 2F83 MOV R24,R19
0498 7880 ANDI R24,0x80
0499 0F22 LSL R18
049A 1F33 ROL R19
049B 5830 SUBI R19,0x80
049C 9408 BSET 0
049D 9527 ROR R18
049E 3830 CPI R19,0x80
049F 9508 RET
negmant:
04A0 9510 COM R17
04A1 9520 COM R18
04A2 9501 NEG R16
04A3 4F1F SBCI R17,0xFF
04A4 4F2F SBCI R18,0xFF
04A5 9508 RET
maxres:
04A6 E7BF LDI R27,0x7F
04A7 2F3B MOV R19,R27
04A8 2B2B OR R18,R27
04A9 EFBF LDI R27,0xFF
04AA 2F0B MOV R16,R27
04AB 2F1B MOV R17,R27
04AC 9508 RET
minres:
04AD 2700 CLR R16
04AE 2711 CLR R17
04AF 2722 CLR R18
04B0 2733 CLR R19
04B1 2788 CLR R24
04B2 9508 RET
ac1toac2:
04B3 2F93 MOV R25,R19
04B4 2E20 MOV R2,R16
04B5 2E31 MOV R3,R17
04B6 2E42 MOV R4,R18
04B7 2FA8 MOV R26,R24
04B8 9508 RET
swapacc:
04B9 922A ST R2,-Y
04BA 923A ST R3,-Y
04BB 924A ST R4,-Y
04BC 939A ST R25,-Y
04BD 93AA ST R26,-Y
04BE DFF4 RCALL ac1toac2
04BF 9189 LD R24,Y+
04C0 9139 LD R19,Y+
04C1 9129 LD R18,Y+
04C2 9119 LD R17,Y+
04C3 9109 LD R16,Y+
04C4 9508 RET
unpack:
04C5 2F83 MOV R24,R19
04C6 E8B0 LDI R27,0x80
04C7 0F22 LSL R18
04C8 1F33 ROL R19
04C9 273B EOR R19,R27
04CA 0FBB LSL R27
04CB 9527 ROR R18
04CC 7880 ANDI R24,0x80
04CD 2FA9 MOV R26,R25
04CE E8B0 LDI R27,0x80
04CF 0C44 LSL R4
04D0 1F99 ROL R25
04D1 279B EOR R25,R27
04D2 0FBB LSL R27
04D3 9447 ROR R4
04D4 78A0 ANDI R26,0x80
04D5 3830 CPI R19,0x80
04D6 9508 RET
repack:
04D7 0F22 LSL R18
04D8 E8B0 LDI R27,0x80
04D9 27B3 EOR R27,R19
04DA 0F88 LSL R24
04DB 95B7 ROR R27
04DC 9527 ROR R18
04DD 2F3B MOV R19,R27
04DE 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -