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

📄 18b20.lst

📁 一个不错的DS1820的程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
     268 EF8F      LDI	R24,0xFF
     269 BB8B      OUT	0x1B,R24
(0228)   led_contrl_port |= (1<<led_a)|(1<<led_b)|(1<<led_c)|(1<<led_d);
FILE: <library>
     26A B388      IN	R24,0x18
     26B 608F      ORI	R24,0xF
     26C BB88      OUT	0x18,R24
     26D 9508      RET
mod16u:
     26E 9468      BSET	6
     26F C001      RJMP	xdiv16u
div16u:
     270 94E8      BCLR	6
xdiv16u:
     271 92EA      ST	R14,-Y
     272 92FA      ST	R15,-Y
     273 938A      ST	R24,-Y
     274 24EE      CLR	R14
     275 24FF      CLR	R15
     276 E180      LDI	R24,0x10
     277 0F00      LSL	R16
     278 1F11      ROL	R17
     279 1CEE      ROL	R14
     27A 1CFF      ROL	R15
     27B 16E2      CP	R14,R18
     27C 06F3      CPC	R15,R19
     27D F018      BCS	0x0281
     27E 1AE2      SUB	R14,R18
     27F 0AF3      SBC	R15,R19
     280 9503      INC	R16
     281 958A      DEC	R24
     282 F7A1      BNE	0x0277
     283 F416      BRTC	0x0286
     284 2D0E      MOV	R16,R14
     285 2D1F      MOV	R17,R15
     286 9189      LD	R24,Y+
     287 90F9      LD	R15,Y+
     288 90E9      LD	R14,Y+
     289 9508      RET
mod8u:
     28A 9468      BSET	6
     28B C001      RJMP	xdiv8u
div8u:
     28C 94E8      BCLR	6
xdiv8u:
     28D 932A      ST	R18,-Y
     28E 92FA      ST	R15,-Y
     28F 92EA      ST	R14,-Y
     290 24FF      CLR	R15
     291 24EE      CLR	R14
     292 E120      LDI	R18,0x10
     293 0F00      LSL	R16
     294 1CFF      ROL	R15
     295 1CEE      ROL	R14
     296 16E1      CP	R14,R17
     297 F010      BCS	0x029A
     298 1AE1      SUB	R14,R17
     299 9503      INC	R16
     29A 952A      DEC	R18
     29B F7B9      BNE	0x0293
     29C F40E      BRTC	0x029E
     29D 2D0E      MOV	R16,R14
     29E 90E9      LD	R14,Y+
     29F 90F9      LD	R15,Y+
     2A0 9129      LD	R18,Y+
     2A1 9508      RET
empy16s:
     2A2 920A      ST	R0,-Y
     2A3 921A      ST	R1,-Y
     2A4 938A      ST	R24,-Y
     2A5 939A      ST	R25,-Y
     2A6 9F02      MUL	R16,R18
     2A7 01C0      MOVW	R24,R0
     2A8 9F12      MUL	R17,R18
     2A9 0D90      ADD	R25,R0
     2AA 9F03      MUL	R16,R19
     2AB 0D90      ADD	R25,R0
     2AC 018C      MOVW	R16,R24
     2AD 9199      LD	R25,Y+
     2AE 9189      LD	R24,Y+
     2AF 9019      LD	R1,Y+
     2B0 9009      LD	R0,Y+
     2B1 9508      RET
push_xgset300C:
     2B2 935A      ST	R21,-Y
     2B3 934A      ST	R20,-Y
     2B4 92BA      ST	R11,-Y
     2B5 92AA      ST	R10,-Y
     2B6 9508      RET
pop_xgset300C:
     2B7 90A9      LD	R10,Y+
     2B8 90B9      LD	R11,Y+
     2B9 9149      LD	R20,Y+
     2BA 9159      LD	R21,Y+
     2BB 9508      RET
push_xgsetF00C:
     2BC 937A      ST	R23,-Y
     2BD 936A      ST	R22,-Y
     2BE 935A      ST	R21,-Y
     2BF 934A      ST	R20,-Y
     2C0 92BA      ST	R11,-Y
     2C1 92AA      ST	R10,-Y
     2C2 9508      RET
pop_xgsetF00C:
     2C3 90A9      LD	R10,Y+
     2C4 90B9      LD	R11,Y+
     2C5 9149      LD	R20,Y+
     2C6 9159      LD	R21,Y+
     2C7 9169      LD	R22,Y+
     2C8 9179      LD	R23,Y+
     2C9 9508      RET
push_xgset303C:
     2CA 935A      ST	R21,-Y
     2CB 934A      ST	R20,-Y
     2CC 92DA      ST	R13,-Y
     2CD 92CA      ST	R12,-Y
     2CE 92BA      ST	R11,-Y
     2CF 92AA      ST	R10,-Y
     2D0 9508      RET
pop_xgset303C:
     2D1 90A9      LD	R10,Y+
     2D2 90B9      LD	R11,Y+
     2D3 90C9      LD	R12,Y+
     2D4 90D9      LD	R13,Y+
     2D5 9149      LD	R20,Y+
     2D6 9159      LD	R21,Y+
     2D7 9508      RET
push_xgsetF03C:
     2D8 937A      ST	R23,-Y
     2D9 936A      ST	R22,-Y
     2DA 935A      ST	R21,-Y
     2DB 934A      ST	R20,-Y
     2DC 92DA      ST	R13,-Y
     2DD 92CA      ST	R12,-Y
     2DE 92BA      ST	R11,-Y
     2DF 92AA      ST	R10,-Y
     2E0 9508      RET
pop_xgsetF03C:
     2E1 90A9      LD	R10,Y+
     2E2 90B9      LD	R11,Y+
     2E3 90C9      LD	R12,Y+
     2E4 90D9      LD	R13,Y+
     2E5 9149      LD	R20,Y+
     2E6 9159      LD	R21,Y+
     2E7 9169      LD	R22,Y+
     2E8 9179      LD	R23,Y+
     2E9 9508      RET
neg32:
     2EA 9500      COM	R16
     2EB 9510      COM	R17
     2EC 9520      COM	R18
     2ED 9530      COM	R19
     2EE 5F0F      SUBI	R16,0xFF
     2EF 4F1F      SBCI	R17,0xFF
     2F0 4F2F      SBCI	R18,0xFF
     2F1 4F3F      SBCI	R19,0xFF
     2F2 9508      RET
lpm32:
     2F3 93EA      ST	R30,-Y
     2F4 93FA      ST	R31,-Y
     2F5 920A      ST	R0,-Y
     2F6 2FE0      MOV	R30,R16
     2F7 2FF1      MOV	R31,R17
     2F8 95C8      LPM
     2F9 2D00      MOV	R16,R0
     2FA 9631      ADIW	R30,1
     2FB 95C8      LPM
     2FC 2D10      MOV	R17,R0
     2FD 9631      ADIW	R30,1
     2FE 95C8      LPM
     2FF 2D20      MOV	R18,R0
     300 9631      ADIW	R30,1
     301 95C8      LPM
     302 2D30      MOV	R19,R0
     303 9009      LD	R0,Y+
     304 91F9      LD	R31,Y+
     305 91E9      LD	R30,Y+
     306 9508      RET
lsl8:
     307 2311      TST	R17
     308 F019      BEQ	0x030C
     309 0F00      LSL	R16
     30A 951A      DEC	R17
     30B CFFB      RJMP	lsl8
     30C 9508      RET
fpint:
     30D 934A      ST	R20,-Y
     30E 935A      ST	R21,-Y
     30F 936A      ST	R22,-Y
     310 940E 0369 CALL	unpacku
     312 F0F1      BEQ	0x0331
     313 2355      TST	R21
     314 F0C2      BMI	0x032D
     315 314F      CPI	R20,0x1F
     316 F4A8      BCC	0x032C
     317 3147      CPI	R20,0x17
     318 F0C1      BEQ	0x0331
     319 F450      BCC	0x0324
     31A 9541      NEG	R20
     31B 5E49      SUBI	R20,0xE9
     31C C005      RJMP	0x0322
     31D 9535      ASR	R19
     31E 9527      ROR	R18
     31F 9517      ROR	R17
     320 9507      ROR	R16
     321 954A      DEC	R20
     322 F7D1      BNE	0x031D
     323 C00D      RJMP	0x0331
     324 5147      SUBI	R20,0x17
     325 0F00      LSL	R16
     326 1F11      ROL	R17
     327 1F22      ROL	R18
     328 1F33      ROL	R19
     329 954A      DEC	R20
     32A F7D1      BNE	0x0325
     32B C005      RJMP	0x0331
     32C E73F      LDI	R19,0x7F
     32D 2F23      MOV	R18,R19
     32E 2F13      MOV	R17,R19
     32F 2F03      MOV	R16,R19
     330 C004      RJMP	0x0335
     331 2366      TST	R22
     332 F011      BEQ	0x0335
     333 940E 02EA CALL	neg32
     335 9169      LD	R22,Y+
     336 9159      LD	R21,Y+
     337 9149      LD	R20,Y+
     338 9508      RET
uint2fp:
     339 9468      BSET	6
     33A C001      RJMP	0x033C
int2fp:
     33B 94E8      BCLR	6
     33C 2722      CLR	R18
     33D 2733      CLR	R19
     33E F046      BRTS	0x0347
     33F FD17      SBRC	R17,7
     340 9520      COM	R18
     341 FD17      SBRC	R17,7
     342 9530      COM	R19
     343 C003      RJMP	0x0347
ulong2fp:
     344 9468      BSET	6
     345 C001      RJMP	0x0347
long2fp:
     346 94E8      BCLR	6
     347 934A      ST	R20,-Y
     348 935A      ST	R21,-Y
     349 936A      ST	R22,-Y
     34A E147      LDI	R20,0x17
     34B 2766      CLR	R22
     34C 2755      CLR	R21
     34D F02E      BRTS	0x0353
     34E 2333      TST	R19
     34F F41A      BPL	0x0353
     350 940E 02EA CALL	neg32
     352 E860      LDI	R22,0x80
     353 940E 037E CALL	normalize_and_pack
     355 9169      LD	R22,Y+
     356 9159      LD	R21,Y+
     357 9149      LD	R20,Y+
     358 9508      RET
unpacks:
     359 D00F      RCALL	unpacku
     35A F029      BEQ	0x0360
     35B 2366      TST	R22
     35C F011      BEQ	0x035F
     35D 940E 02EA CALL	neg32
     35F 9498      BCLR	1
     360 9508      RET
tstR16_R19:
     361 2300      TST	R16
     362 F429      BNE	0x0368
     363 2311      TST	R17
     364 F419      BNE	0x0368
     365 2322      TST	R18
     366 F409      BNE	0x0368
     367 2333      TST	R19
     368 9508      RET
unpacku:
     369 DFF7      RCALL	tstR16_R19
     36A F079      BEQ	0x037A
     36B 2F63      MOV	R22,R19
     36C 7860      ANDI	R22,0x80
     36D 0F22      LSL	R18
     36E 1F33      ROL	R19
     36F 2F43      MOV	R20,R19
     370 E75F      LDI	R21,0x7F
     371 1B45      SUB	R20,R21
     372 2755      CLR	R21
     373 4050      SBCI	R21,0
     374 9526      LSR	R18
     375 E830      LDI	R19,0x80
     376 2B23      OR	R18,R19
     377 2733      CLR	R19
     378 9498      BCLR	1
     379 9508      RET
     37A 2744      CLR	R20
     37B 2755      CLR	R21
     37C 2766      CLR	R22
     37D 9508      RET
normalize_and_pack:
     37E DFE2      RCALL	tstR16_R19
     37F F121      BEQ	0x03A4
     380 939A      ST	R25,-Y
     381 938A      ST	R24,-Y
     382 E78E      LDI	R24,0x7E
     383 E090      LDI	R25,0
     384 2333      TST	R19
     385 F051      BEQ	0x0390
     386 9536      LSR	R19
     387 9527      ROR	R18
     388 9517      ROR	R17
     389 9507      ROR	R16
     38A 1748      CP	R20,R24
     38B 0759      CPC	R21,R25
     38C F4C4      BGE	0x03A5
     38D 5F4F      SUBI	R20,0xFF
     38E 4F5F      SBCI	R21,0xFF
     38F CFF4      RJMP	0x0384
     390 9580      COM	R24
     391 9590      COM	R25
     392 9601      ADIW	R24,1
     393 2322      TST	R18
     394 F0AA      BMI	0x03AA
     395 0F00      LSL	R16
     396 1F11      ROL	R17
     397 1F22      ROL	R18
     398 1748      CP	R20,R24
     399 0759      CPC	R21,R25
     39A F01C      BLT	0x039E
     39B 5041      SUBI	R20,1
     39C 4050      SBCI	R21,0
     39D CFF5      RJMP	0x0393
     39E 2700      CLR	R16
     39F 2711      CLR	R17
     3A0 2722      CLR	R18
     3A1 2733      CLR	R19
     3A2 9189      LD	R24,Y+
     3A3 9199      LD	R25,Y+
     3A4 9508      RET
     3A5 2733      CLR	R19
     3A6 EF0F      LDI	R16,0xFF
     3A7 2F10      MOV	R17,R16
     3A8 E72F      LDI	R18,0x7F
     3A9 2F32      MOV	R19,R18
     3AA 9189      LD	R24,Y+
     3AB 9199      LD	R25,Y+
pack:
     3AC DFB4      RCALL	tstR16_R19
     3AD F039      BEQ	0x03B5
     3AE 5841      SUBI	R20,0x81
     3AF 4F5F      SBCI	R21,0xFF
     3B0 2F34      MOV	R19,R20
     3B1 0F22      LSL	R18
     3B2 9536      LSR	R19
     3B3 9527      ROR	R18
     3B4 2B36      OR	R19,R22
     3B5 9508      RET
fpneg:
     3B6 DFAA      RCALL	tstR16_R19
     3B7 F021      BEQ	0x03BC
     3B8 930F      PUSH	R16
     3B9 E800      LDI	R16,0x80
     3BA 2730      EOR	R19,R16
     3BB 910F      POP	R16
     3BC 9508      RET
fpneg2:
     3BD DFF8      RCALL	fpneg
     3BE 933A      ST	R19,-Y
     3BF 932A      ST	R18,-Y
     3C0 931A      ST	R17,-Y
     3C1 930A      ST	R16,-Y
     3C2 9508      RET
saveR8toR25:
     3C3 928A      ST	R8,-Y
     3C4 929A      ST	R9,-Y
     3C5 92AA      ST	R10,-Y
     3C6 92BA      ST	R11,-Y
     3C7 92CA      ST	R12,-Y
     3C8 92DA      ST	R13,-Y
     3C9 92EA      ST	R14,-Y
     3CA 92FA      ST	R15,-Y
     3CB 934A      ST	R20,-Y
     3CC 935A      ST	R21,-Y
     3CD 936A      ST	R22,-Y
     3CE 937A      ST	R23,-Y
     3CF 938A      ST	R24,-Y
     3D0 939A      ST	R25,-Y
     3D1 9508      RET
restoreR8toR25:
     3D2 9199      LD	R25,Y+
     3D3 9189      LD	R24,Y+
     3D4 9179      LD	R23,Y+
     3D5 9169      LD	R22,Y+
     3D6 9159      LD	R21,Y+
     3D7 9149      LD	R20,Y+
     3D8 90F9      LD	R15,Y+
     3D9 90E9      LD	R14,Y+
     3DA 90D9      LD	R13,Y+
     3DB 90C9      LD	R12,Y+
     3DC 90B9      LD	R11,Y+
     3DD 90A9      LD	R10,Y+
     3DE 9099      LD	R9,Y+
     3DF 9089      LD	R8,Y+
     3E0 9508      RET
fpmule:
     3E1 940E 03C3 CALL	saveR8toR25
     3E3 93AA      ST	R26,-Y
     3E4 93BA      ST	R27,-Y
     3E5 940E 0369 CALL	unpacku
     3E7 F1D1      BEQ	0x0422
     3E8 2EE6      MOV	R14,R22
     3E9 2ED5      MOV	R13,R21
     3EA 2EC4      MOV	R12,R20
     3EB 2EB3      MOV	R11,R19
     3EC 2EA2      MOV	R10,R18
     3ED 2E91      MOV	R9,R17
     3EE 2E80      MOV	R8,R16
     3EF 8100      LDD	R16,Z+0
     3F0 8111      LDD	R17,Z+1
     3F1 8122      LDD	R18,Z+2
     3F2 8133      LDD	R19,Z+3
     3F3 940E 0369 CALL	unpacku
     3F5 F161      BEQ	0x0422
     3F6 256E      EOR	R22,R14
     3F7 0D4C      ADD	R20,R12
     3F8 1D5D      ADC	R21,R13
     3F9 3840      CPI	R20,0x80
     3FA 0753      CPC	R21,R19
     3FB F55C      BGE	0x0427
     3FC 3841      CPI	R20,0x81
     3FD EF7F      LDI	R23,0xFF
     3FE 0757      CPC	R21,R23
     3FF F164      BLT	0x042C
     400 9EA2      MUL	R10,R18
     401 2DB1      MOV	R27,R1
     402 2DA0      MOV	R26,R0
     403 9E91      MUL	R9,R17
     404 2D91      MOV	R25,R1
     405 2D80      MOV	R24,R0
     406 9EA0      MUL	R10,R16
     407 0D80      ADD	R24,R0
     408 1D91      ADC	R25,R1
     409 1FA3      ADC	R26,R19
     40A 1FB3      ADC	R27,R19
     40B 9E82      MUL	R8,R18
     40C 0D80      ADD	R24,R0
     40D 1D91      ADC	R25,R1
     40E 1FA3      ADC	R26,R19
     40F 1FB3      ADC	R27,R19
     410 9E92      MUL	R9,R18
     411 0D90      ADD	R25,R0
     412 1DA1      ADC	R26,R1
     413 1FB3      ADC	R27,R19
     414 9EA1      MUL	R10,R17
     415 0D90      ADD	R25,R0
     416 1DA1      ADC	R26,R1
     417 1FB3      ADC	R27,R19
     418 2F2B      MOV	R18,R27
     419 2F1A      MOV	R17,R26
     41A 2F09      MOV	R16,R25
     41B 0F88      LSL	R24
     41C 1F00      ROL	R16
     41D 1F11      ROL	R17
     41E 1F22      ROL	R18
     41F 1F33      ROL	R19
     420 940E 037E CALL	normalize_and_pack
     422 91B9      LD	R27,Y+
     423 91A9      LD	R26,Y+
     424 940E 03D2 CALL	restoreR8toR25
     426 9508      RET
     427 EF0F      LDI	R16,0xFF
     428 2F10      MOV	R17,R16
     429 E72F      LDI	R18,0x7F
     42A E74F      LDI	R20,0x7F
     42B CFF6      RJMP	0x0422
     42C 2700      CLR	R16
     42D 2F10      MOV	R17,R16
     42E 2F20      MOV	R18,R16
     42F 2F30      MOV	R19,R16
     430 CFF1      RJMP	0x0422
fpmule2:
     431 93FA      ST	R31,-Y
     432 93EA      ST	R30,-Y
     433 2FEC      MOV	R30,R28
     434 2FFD      MOV	R31,R29
     435 9632      ADIW	R30,2
     436 940E 03E1 CALL	fpmule
     438 91E9      LD	R30,Y+
     439 91F9      LD	R31,Y+
     43A 9624      ADIW	R28,4
     43B 9508      RET

⌨️ 快捷键说明

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