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

📄 ds18b20.lst

📁 AVR ds18b20 源代码 对学习温度控制的人很有帮助
💻 LST
📖 第 1 页 / 共 3 页
字号:
    0254 9533      INC	R19
    0255 F3DA      BMI	0x0251
    0256 E030      LDI	R19,0
    0257 50B8      SUBI	R27,0x8
    0258 F452      BPL	0x0263
    0259 5FB8      SUBI	R27,0xF8
    025A 2F32      MOV	R19,R18
    025B 2F21      MOV	R18,R17
    025C 2F10      MOV	R17,R16
    025D E800      LDI	R16,0x80
    025E C006      RJMP	0x0265
    025F 2F01      MOV	R16,R17
    0260 2F12      MOV	R17,R18
    0261 E020      LDI	R18,0
    0262 50B8      SUBI	R27,0x8
    0263 30B8      CPI	R27,0x8
    0264 F7D0      BCC	0x025F
    0265 23BB      TST	R27
    0266 F031      BEQ	0x026D
    0267 9536      LSR	R19
    0268 9527      ROR	R18
    0269 9517      ROR	R17
    026A 9507      ROR	R16
    026B 95BA      DEC	R27
    026C F7D1      BNE	0x0267
    026D 9508      RET
int2fp:
    026E 2722      CLR	R18
    026F FD17      SBRC	R17,7
    0270 9520      COM	R18
    0271 2733      CLR	R19
    0272 FD27      SBRC	R18,7
    0273 9530      COM	R19
long2fp:
    0274 D119      RCALL	savfacc1
    0275 D001      RCALL	ITOF
    0276 C11A      RJMP	restorefacc1
ITOF:
    0277 2788      CLR	R24
    0278 2333      TST	R19
    0279 F412      BPL	0x027C
    027A DF98      RCALL	neg32
    027B 9580      COM	R24
    027C 2FB0      MOV	R27,R16
    027D 2BB1      OR	R27,R17
    027E 2BB2      OR	R27,R18
    027F 2BB3      OR	R27,R19
    0280 F409      BNE	0x0282
    0281 C128      RJMP	minres
    0282 E1B6      LDI	R27,0x16
    0283 C005      RJMP	itof2
    0284 95B3      INC	R27
    0285 9536      LSR	R19
    0286 9527      ROR	R18
    0287 9517      ROR	R17
    0288 9507      ROR	R16
itof2:
    0289 2333      TST	R19
    028A F7C9      BNE	0x0284
itof3:
    028B 2322      TST	R18
    028C F449      BNE	0x0296
    028D 50B8      SUBI	R27,0x8
    028E 2F21      MOV	R18,R17
    028F 2F10      MOV	R17,R16
    0290 E000      LDI	R16,0
    0291 CFF9      RJMP	itof3
    0292 95BA      DEC	R27
    0293 0F00      LSL	R16
    0294 1F11      ROL	R17
    0295 1F22      ROL	R18
    0296 F7DA      BPL	0x0292
    0297 2F3B      MOV	R19,R27
    0298 C13B      RJMP	repack
save_floatregs:
    0299 92DA      ST	R13,-Y
    029A 92EA      ST	R14,-Y
    029B 92FA      ST	R15,-Y
    029C 938A      ST	R24,-Y
    029D 922A      ST	R2,-Y
    029E 923A      ST	R3,-Y
    029F 924A      ST	R4,-Y
    02A0 939A      ST	R25,-Y
    02A1 93AA      ST	R26,-Y
    02A2 93BA      ST	R27,-Y
    02A3 9508      RET
restore_floatregs:
    02A4 91B9      LD	R27,Y+
    02A5 91A9      LD	R26,Y+
    02A6 9199      LD	R25,Y+
    02A7 9049      LD	R4,Y+
    02A8 9039      LD	R3,Y+
    02A9 9029      LD	R2,Y+
    02AA 9189      LD	R24,Y+
    02AB 90F9      LD	R15,Y+
    02AC 90E9      LD	R14,Y+
    02AD 90D9      LD	R13,Y+
    02AE 9508      RET
stk2arg1:
    02AF 842A      LDD	R2,Y+10
    02B0 843B      LDD	R3,Y+11
    02B1 844C      LDD	R4,Y+12
    02B2 859D      LDD	R25,Y+13
    02B3 9508      RET
stk2arg0:
    02B4 850E      LDD	R16,Y+14
    02B5 851F      LDD	R17,Y+15
    02B6 8928      LDD	R18,Y+16
    02B7 8939      LDD	R19,Y+17
    02B8 9508      RET
float_epilog:
    02B9 DFEA      RCALL	restore_floatregs
    02BA 920F      PUSH	R0
    02BB B60F      IN	R0,0x3F
    02BC 9628      ADIW	R28,0x8
    02BD BE0F      OUT	0x3F,R0
    02BE 900F      POP	R0
    02BF 9508      RET
float_prolog:
    02C0 DFD8      RCALL	save_floatregs
    02C1 DFF2      RCALL	stk2arg0
    02C2 CFEC      RJMP	stk2arg1
add32fs:
    02C3 D001      RCALL	add32f
    02C4 CF0A      RJMP	push_arg4
add32f:
    02C5 DFFA      RCALL	float_prolog
    02C6 D00D      RCALL	FADD
    02C7 CFF1      RJMP	float_epilog
sub32fs:
    02C8 D001      RCALL	sub32f
    02C9 CF05      RJMP	push_arg4
sub32f:
    02CA DFF5      RCALL	float_prolog
    02CB D007      RCALL	FSUB
    02CC CFEC      RJMP	float_epilog
fret2:
    02CD 2F8A      MOV	R24,R26
    02CE 2F39      MOV	R19,R25
    02CF 2D24      MOV	R18,R4
    02D0 2D13      MOV	R17,R3
    02D1 2D02      MOV	R16,R2
    02D2 C101      RJMP	repack
FSUB:
    02D3 5890      SUBI	R25,0x80
FADD:
    02D4 D0ED      RCALL	unpack
    02D5 3890      CPI	R25,0x80
    02D6 F3D9      BEQ	0x02D2
    02D7 3830      CPI	R19,0x80
    02D8 F3A1      BEQ	0x02CD
    02D9 2FB3      MOV	R27,R19
    02DA 1BB9      SUB	R27,R25
    02DB F3B3      BVS	0x02D2
    02DC F02A      BMI	0x02E2
    02DD F431      BNE	0x02E4
    02DE 1502      CP	R16,R2
    02DF 0513      CPC	R17,R3
    02E0 0524      CPC	R18,R4
    02E1 F410      BCC	0x02E4
    02E2 D0D3      RCALL	swapacc
    02E3 CFF5      RJMP	0x02D9
    02E4 31B8      CPI	R27,0x18
    02E5 F018      BCS	0x02E9
    02E6 2422      CLR	R2
    02E7 2433      CLR	R3
    02E8 2444      CLR	R4
    02E9 30B8      CPI	R27,0x8
    02EA F028      BCS	0x02F0
    02EB 2C23      MOV	R2,R3
    02EC 2C34      MOV	R3,R4
    02ED 2444      CLR	R4
    02EE 50B8      SUBI	R27,0x8
    02EF CFF9      RJMP	0x02E9
    02F0 23BB      TST	R27
    02F1 F029      BEQ	0x02F7
    02F2 9446      LSR	R4
    02F3 9437      ROR	R3
    02F4 9427      ROR	R2
    02F5 95BA      DEC	R27
    02F6 F7D9      BNE	0x02F2
    02F7 2FB8      MOV	R27,R24
    02F8 27BA      EOR	R27,R26
    02F9 F042      BMI	0x0302
    02FA D014      RCALL	0x030F
    02FB F6B0      BCC	0x02D2
    02FC 9527      ROR	R18
    02FD 9517      ROR	R17
    02FE 9507      ROR	R16
    02FF 5F3F      SUBI	R19,0xFF
    0300 F68B      BVC	0x02D2
    0301 C0A1      RJMP	maxres
    0302 D010      RCALL	usub24
    0303 F409      BNE	0x0305
    0304 C0A5      RJMP	minres
    0305 F408      BCC	0x0307
    0306 D096      RCALL	negmant
    0307 2322      TST	R18
    0308 F24A      BMI	0x02D2
    0309 0F00      LSL	R16
    030A 1F11      ROL	R17
    030B 1F22      ROL	R18
    030C 5031      SUBI	R19,1
    030D F7CB      BVC	0x0307
    030E C094      RJMP	maxres
    030F 0D02      ADD	R16,R2
    0310 1D13      ADC	R17,R3
    0311 1D24      ADC	R18,R4
    0312 9508      RET
usub24:
    0313 1902      SUB	R16,R2
    0314 0913      SBC	R17,R3
    0315 0924      SBC	R18,R4
    0316 9508      RET
cmp32f:
    0317 DFA8      RCALL	float_prolog
    0318 D001      RCALL	FLTCP
    0319 CF9F      RJMP	float_epilog
FLTCP:
    031A D002      RCALL	0x031D
    031B 23BB      TST	R27
    031C 9508      RET
    031D 2333      TST	R19
    031E F082      BMI	0x032F
    031F 2399      TST	R25
    0320 F042      BMI	0x0329
    0321 1739      CP	R19,R25
    0322 F040      BCS	0x032B
    0323 F429      BNE	0x0329
    0324 1502      CP	R16,R2
    0325 0513      CPC	R17,R3
    0326 0524      CPC	R18,R4
    0327 F018      BCS	0x032B
    0328 F021      BEQ	0x032D
    0329 E0B1      LDI	R27,1
    032A 9508      RET
    032B EFBF      LDI	R27,0xFF
    032C 9508      RET
    032D 27BB      CLR	R27
    032E 9508      RET
    032F 2399      TST	R25
    0330 F7D2      BPL	0x032B
    0331 1739      CP	R19,R25
    0332 F3B0      BCS	0x0329
    0333 F7B9      BNE	0x032B
    0334 1502      CP	R16,R2
    0335 0513      CPC	R17,R3
    0336 0524      CPC	R18,R4
    0337 F388      BCS	0x0329
    0338 F3A1      BEQ	0x032D
    0339 CFF1      RJMP	0x032B
    033A E7BF      LDI	R27,0x7F
    033B 2F3B      MOV	R19,R27
    033C 2B2B      OR	R18,R27
    033D EF0F      LDI	R16,0xFF
    033E EF1F      LDI	R17,0xFF
    033F 9508      RET
    0340 2700      CLR	R16
    0341 2711      CLR	R17
    0342 2722      CLR	R18
    0343 2733      CLR	R19
    0344 2788      CLR	R24
    0345 9508      RET
empy32fs:
    0346 D001      RCALL	empy32f
    0347 CE87      RJMP	push_arg4
empy32f:
    0348 DF77      RCALL	float_prolog
    0349 920F      PUSH	R0
    034A 92CF      PUSH	R12
    034B D003      RCALL	eFMUL
    034C 90CF      POP	R12
    034D 900F      POP	R0
    034E CF6A      RJMP	float_epilog
eFMUL:
    034F D072      RCALL	unpack
    0350 F379      BEQ	0x0340
    0351 3890      CPI	R25,0x80
    0352 F369      BEQ	0x0340
    0353 278A      EOR	R24,R26
    0354 9408      BSET	0
    0355 1F39      ADC	R19,R25
    0356 F31B      BVS	0x033A
    0357 D00D      RCALL	eumul24
    0358 2D2F      MOV	R18,R15
    0359 2D1E      MOV	R17,R14
    035A 2D0D      MOV	R16,R13
    035B 2322      TST	R18
    035C F02A      BMI	0x0362
    035D 953A      DEC	R19
    035E 0CCC      LSL	R12
    035F 1F00      ROL	R16
    0360 1F11      ROL	R17
    0361 1F22      ROL	R18
    0362 5F3F      SUBI	R19,0xFF
    0363 F2B3      BVS	0x033A
    0364 C06F      RJMP	repack
eumul24:
    0365 9D22      MUL	R18,R2
    0366 2CC0      MOV	R12,R0
    0367 2CD1      MOV	R13,R1
    0368 9D24      MUL	R18,R4
    0369 2CE0      MOV	R14,R0
    036A 2CF1      MOV	R15,R1
    036B 9D12      MUL	R17,R2
    036C 0CC1      ADD	R12,R1
    036D 1EDB      ADC	R13,R27
    036E 1EEB      ADC	R14,R27
    036F 1EFB      ADC	R15,R27
    0370 9D03      MUL	R16,R3
    0371 0CC1      ADD	R12,R1
    0372 1EDB      ADC	R13,R27
    0373 1EEB      ADC	R14,R27
    0374 1EFB      ADC	R15,R27
    0375 9D13      MUL	R17,R3
    0376 0CC0      ADD	R12,R0
    0377 1CD1      ADC	R13,R1
    0378 1EEB      ADC	R14,R27
    0379 1EFB      ADC	R15,R27
    037A 9D04      MUL	R16,R4
    037B 0CC0      ADD	R12,R0
    037C 1CD1      ADC	R13,R1
    037D 1EEB      ADC	R14,R27
    037E 1EFB      ADC	R15,R27
    037F 9D23      MUL	R18,R3
    0380 0CD0      ADD	R13,R0
    0381 1CE1      ADC	R14,R1
    0382 1EFB      ADC	R15,R27
    0383 9D14      MUL	R17,R4
    0384 0CD0      ADD	R13,R0
    0385 1CE1      ADC	R14,R1
    0386 1EFB      ADC	R15,R27
    0387 20CC      TST	R12
    0388 F422      BPL	0x038D
    0389 9488      BCLR	0
    038A 1EDB      ADC	R13,R27
    038B 1EEB      ADC	R14,R27
    038C 1EFB      ADC	R15,R27
    038D 9508      RET
savfacc1:
    038E 938A      ST	R24,-Y
    038F 93BA      ST	R27,-Y
    0390 9508      RET
restorefacc1:
    0391 91B9      LD	R27,Y+
    0392 9189      LD	R24,Y+
    0393 9508      RET
unpackfacc1:
    0394 2F83      MOV	R24,R19
    0395 7880      ANDI	R24,0x80
    0396 0F22      LSL	R18
    0397 1F33      ROL	R19
    0398 5830      SUBI	R19,0x80
    0399 9408      BSET	0
    039A 9527      ROR	R18
    039B 3830      CPI	R19,0x80
    039C 9508      RET
negmant:
    039D 9510      COM	R17
    039E 9520      COM	R18
    039F 9501      NEG	R16
    03A0 4F1F      SBCI	R17,0xFF
    03A1 4F2F      SBCI	R18,0xFF
    03A2 9508      RET
maxres:
    03A3 E7BF      LDI	R27,0x7F
    03A4 2F3B      MOV	R19,R27
    03A5 2B2B      OR	R18,R27
    03A6 EFBF      LDI	R27,0xFF
    03A7 2F0B      MOV	R16,R27
    03A8 2F1B      MOV	R17,R27
    03A9 9508      RET
minres:
    03AA 2700      CLR	R16
    03AB 2711      CLR	R17
    03AC 2722      CLR	R18
    03AD 2733      CLR	R19
    03AE 2788      CLR	R24
    03AF 9508      RET
ac1toac2:
    03B0 2F93      MOV	R25,R19
    03B1 2E20      MOV	R2,R16
    03B2 2E31      MOV	R3,R17
    03B3 2E42      MOV	R4,R18
    03B4 2FA8      MOV	R26,R24
    03B5 9508      RET
swapacc:
    03B6 922A      ST	R2,-Y
    03B7 923A      ST	R3,-Y
    03B8 924A      ST	R4,-Y
    03B9 939A      ST	R25,-Y
    03BA 93AA      ST	R26,-Y
    03BB DFF4      RCALL	ac1toac2
    03BC 9189      LD	R24,Y+
    03BD 9139      LD	R19,Y+
    03BE 9129      LD	R18,Y+
    03BF 9119      LD	R17,Y+
    03C0 9109      LD	R16,Y+
    03C1 9508      RET
unpack:
    03C2 2F83      MOV	R24,R19
    03C3 E8B0      LDI	R27,0x80
    03C4 0F22      LSL	R18
    03C5 1F33      ROL	R19
    03C6 273B      EOR	R19,R27
    03C7 0FBB      LSL	R27
    03C8 9527      ROR	R18
    03C9 7880      ANDI	R24,0x80
    03CA 2FA9      MOV	R26,R25
    03CB E8B0      LDI	R27,0x80
    03CC 0C44      LSL	R4
    03CD 1F99      ROL	R25
    03CE 279B      EOR	R25,R27
    03CF 0FBB      LSL	R27
    03D0 9447      ROR	R4
    03D1 78A0      ANDI	R26,0x80
    03D2 3830      CPI	R19,0x80
    03D3 9508      RET
repack:
    03D4 0F22      LSL	R18
    03D5 E8B0      LDI	R27,0x80
    03D6 27B3      EOR	R27,R19
    03D7 0F88      LSL	R24
    03D8 95B7      ROR	R27
    03D9 9527      ROR	R18
    03DA 2F3B      MOV	R19,R27
    03DB 9508      RET

⌨️ 快捷键说明

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