📄 smg_ds18b20.lst
字号:
28C 940E 030B CALL div16s
28E E02A LDI R18,0xA
28F E030 LDI R19,0
290 940E 0307 CALL mod16s
292 9300 0124 STS 0x0124,R16
(0064) led_buf[6] = (int)temperture/10%10;
294 E08A LDI R24,0xA
295 E090 LDI R25,0
296 9120 011C LDS R18,temperture+2
298 9130 011D LDS R19,temperture+3
29A 9100 011A LDS R16,temperture
29C 9110 011B LDS R17,temperture+1
29E 940E 0464 CALL fpint
2A0 019C MOVW R18,R24
2A1 940E 030B CALL div16s
2A3 E02A LDI R18,0xA
2A4 E030 LDI R19,0
2A5 940E 0307 CALL mod16s
2A7 9300 0125 STS 0x0125,R16
(0065) led_buf[7] = (int)temperture%10;
2A9 E08A LDI R24,0xA
2AA E090 LDI R25,0
2AB 9120 011C LDS R18,temperture+2
2AD 9130 011D LDS R19,temperture+3
2AF 9100 011A LDS R16,temperture
2B1 9110 011B LDS R17,temperture+1
2B3 940E 0464 CALL fpint
2B5 019C MOVW R18,R24
2B6 940E 0307 CALL mod16s
2B8 9300 0126 STS 0x0126,R16
(0066) }
(0067)
(0068) if(led_buf[0] == 0)
2BA 9020 011F LDS R2,led_buf
2BC 2022 TST R2
2BD F539 BNE 0x02E5
(0069) {
(0070) led_buf[0] = 25;
2BE E189 LDI R24,0x19
2BF 9380 011F STS led_buf,R24
(0071) if(led_buf[1] == 0)
2C1 9020 0120 LDS R2,led_buf+1
2C3 2022 TST R2
2C4 F501 BNE 0x02E5
(0072) {
(0073) led_buf[1] = 25;
2C5 9380 0120 STS led_buf+1,R24
(0074) if(led_buf[2] == 0)
2C7 9020 0121 LDS R2,led_buf+2
2C9 2022 TST R2
2CA F4D1 BNE 0x02E5
(0075) {
(0076) led_buf[2] = 25;
2CB 9380 0121 STS led_buf+2,R24
(0077) if(led_buf[3] == 0)
2CD 9020 0122 LDS R2,led_buf+3
2CF 2022 TST R2
2D0 F4A1 BNE 0x02E5
(0078) {
(0079) led_buf[3] = 25;
2D1 9380 0122 STS led_buf+3,R24
(0080) if(led_buf[4] == 0)
2D3 9020 0123 LDS R2,0x0123
2D5 2022 TST R2
2D6 F471 BNE 0x02E5
(0081) {
(0082) led_buf[4] = 25;
2D7 9380 0123 STS 0x0123,R24
(0083) if(led_buf[5] == 0)
2D9 9020 0124 LDS R2,0x0124
2DB 2022 TST R2
2DC F441 BNE 0x02E5
(0084) {
(0085) led_buf[5] = 25;
2DD 9380 0124 STS 0x0124,R24
(0086) if(led_buf[6] == 0)
2DF 9020 0125 LDS R2,0x0125
2E1 2022 TST R2
2E2 F411 BNE 0x02E5
(0087) {
(0088) led_buf[6] = 25;
2E3 9380 0125 STS 0x0125,R24
(0089) }
(0090) }
(0091) }
(0092) }
(0093) }
(0094) }
(0095) }
(0096) Coding_led();
2E5 D007 RCALL _Coding_led
(0097) led_disbuf[6] &=~ BIT(7);
2E6 9180 012D LDS R24,0x012D
2E8 778F ANDI R24,0x7F
2E9 9380 012D STS 0x012D,R24
2EB CEC0 RJMP 0x01AC
2EC 9508 RET
(0098) }
(0099)
(0100) }
(0101)
(0102)
(0103) void Coding_led(void)//8位数码管译码程序
(0104) {
(0105) unsigned char i;
(0106) for(i=0;i<8;i++)
_Coding_led:
i --> R16
2ED 2700 CLR R16
2EE C015 RJMP 0x0304
(0107) {
(0108) led_disbuf[i] = led_table[led_buf[i]];
FILE: <library>
2EF E18F LDI R24,0x1F
2F0 E091 LDI R25,1
2F1 2FE0 MOV R30,R16
2F2 27FF CLR R31
2F3 0FE8 ADD R30,R24
2F4 1FF9 ADC R31,R25
2F5 81E0 LDD R30,Z+0
2F6 27FF CLR R31
2F7 E080 LDI R24,0
2F8 E091 LDI R25,1
2F9 0FE8 ADD R30,R24
2FA 1FF9 ADC R31,R25
2FB 8020 LDD R2,Z+0
2FC E287 LDI R24,0x27
2FD E091 LDI R25,1
2FE 2FE0 MOV R30,R16
2FF 27FF CLR R31
300 0FE8 ADD R30,R24
301 1FF9 ADC R31,R25
302 8220 STD Z+0,R2
303 9503 INC R16
304 3008 CPI R16,0x8
305 F348 BCS 0x02EF
306 9508 RET
mod16s:
307 9468 BSET 6
308 92DA ST R13,-Y
309 2ED1 MOV R13,R17
30A C004 RJMP 0x030F
div16s:
30B 94E8 BCLR 6
30C 92DA ST R13,-Y
30D 2ED1 MOV R13,R17
30E 26D3 EOR R13,R19
30F FF17 SBRS R17,7
310 C004 RJMP 0x0315
311 9510 COM R17
312 9500 COM R16
313 5F0F SUBI R16,0xFF
314 4F1F SBCI R17,0xFF
315 FF37 SBRS R19,7
316 C004 RJMP 0x031B
317 9530 COM R19
318 9520 COM R18
319 5F2F SUBI R18,0xFF
31A 4F3F SBCI R19,0xFF
31B 940E 0328 CALL xdiv16u
31D FED7 SBRS R13,7
31E C004 RJMP 0x0323
31F 9510 COM R17
320 9500 COM R16
321 5F0F SUBI R16,0xFF
322 4F1F SBCI R17,0xFF
323 90D9 LD R13,Y+
324 9508 RET
mod16u:
325 9468 BSET 6
326 C001 RJMP xdiv16u
div16u:
327 94E8 BCLR 6
xdiv16u:
328 92EA ST R14,-Y
329 92FA ST R15,-Y
32A 938A ST R24,-Y
32B 24EE CLR R14
32C 24FF CLR R15
32D E180 LDI R24,0x10
32E 0F00 LSL R16
32F 1F11 ROL R17
330 1CEE ROL R14
331 1CFF ROL R15
332 16E2 CP R14,R18
333 06F3 CPC R15,R19
334 F018 BCS 0x0338
335 1AE2 SUB R14,R18
336 0AF3 SBC R15,R19
337 9503 INC R16
338 958A DEC R24
339 F7A1 BNE 0x032E
33A F416 BRTC 0x033D
33B 2D0E MOV R16,R14
33C 2D1F MOV R17,R15
33D 9189 LD R24,Y+
33E 90F9 LD R15,Y+
33F 90E9 LD R14,Y+
340 9508 RET
div32u:
341 94E8 BCLR 6
342 C001 RJMP 0x0344
mod32u:
343 9468 BSET 6
344 D030 RCALL long_div_prolog
345 24CC CLR R12
346 C009 RJMP 0x0350
div32s:
347 94E8 BCLR 6
348 C001 RJMP 0x034A
mod32s:
349 9468 BSET 6
34A D02A RCALL long_div_prolog
34B FD37 SBRC R19,7
34C 940E 03E7 CALL neg32
34E FDB7 SBRC R27,7
34F D052 RCALL neg_R24_R27
350 2477 CLR R7
351 2488 CLR R8
352 2499 CLR R9
353 24AA CLR R10
354 24BB CLR R11
355 D042 RCALL tst_R16_R19
356 F0C1 BEQ 0x036F
357 D045 RCALL tst_R24_R27
358 F0B1 BEQ 0x036F
359 E2E8 LDI R30,0x28
35A 0F00 LSL R16
35B 1F11 ROL R17
35C 1F22 ROL R18
35D 1F33 ROL R19
35E 1C77 ROL R7
35F 1C88 ROL R8
360 1C99 ROL R9
361 1CAA ROL R10
362 1CBB ROL R11
363 1688 CP R8,R24
364 0699 CPC R9,R25
365 06AA CPC R10,R26
366 06BB CPC R11,R27
367 F028 BCS 0x036D
368 1A88 SUB R8,R24
369 0A99 SBC R9,R25
36A 0AAA SBC R10,R26
36B 0ABB SBC R11,R27
36C 9503 INC R16
36D 95EA DEC R30
36E F759 BNE 0x035A
36F F426 BRTC 0x0374
370 2D08 MOV R16,R8
371 2D19 MOV R17,R9
372 2D2A MOV R18,R10
373 2D3B MOV R19,R11
374 C013 RJMP long_div_epilog
long_div_prolog:
375 927A ST R7,-Y
376 928A ST R8,-Y
377 929A ST R9,-Y
378 92AA ST R10,-Y
379 92BA ST R11,-Y
37A 92CA ST R12,-Y
37B 93EA ST R30,-Y
37C 938A ST R24,-Y
37D 939A ST R25,-Y
37E 93AA ST R26,-Y
37F 93BA ST R27,-Y
380 858B LDD R24,Y+11
381 859C LDD R25,Y+12
382 85AD LDD R26,Y+13
383 85BE LDD R27,Y+14
384 2EC3 MOV R12,R19
385 F00E BRTS 0x0387
386 26CB EOR R12,R27
387 9508 RET
long_div_epilog:
388 FCC7 SBRC R12,7
389 940E 03E7 CALL neg32
38B 91B9 LD R27,Y+
38C 91A9 LD R26,Y+
38D 9199 LD R25,Y+
38E 9189 LD R24,Y+
38F 91E9 LD R30,Y+
390 90C9 LD R12,Y+
391 90B9 LD R11,Y+
392 90A9 LD R10,Y+
393 9099 LD R9,Y+
394 9089 LD R8,Y+
395 9079 LD R7,Y+
396 9624 ADIW R28,4
397 9508 RET
tst_R16_R19:
398 2FE0 MOV R30,R16
399 2BE1 OR R30,R17
39A 2BE2 OR R30,R18
39B 2BE3 OR R30,R19
39C 9508 RET
tst_R24_R27:
39D 2FE8 MOV R30,R24
39E 2BE9 OR R30,R25
39F 2BEA OR R30,R26
3A0 2BEB OR R30,R27
3A1 9508 RET
neg_R24_R27:
3A2 9580 COM R24
3A3 9590 COM R25
3A4 95A0 COM R26
3A5 95B0 COM R27
3A6 5F8F SUBI R24,0xFF
3A7 4F9F SBCI R25,0xFF
3A8 4FAF SBCI R26,0xFF
3A9 4FBF SBCI R27,0xFF
3AA 9508 RET
elpm32:
3AB 93EA ST R30,-Y
3AC 93FA ST R31,-Y
3AD 920A ST R0,-Y
3AE 2FE0 MOV R30,R16
3AF 2FF1 MOV R31,R17
3B0 95D8 ELPM
3B1 2D00 MOV R16,R0
3B2 9631 ADIW R30,1
3B3 95D8 ELPM
3B4 2D10 MOV R17,R0
3B5 9631 ADIW R30,1
3B6 95D8 ELPM
3B7 2D20 MOV R18,R0
3B8 9631 ADIW R30,1
3B9 95D8 ELPM
3BA 2D30 MOV R19,R0
3BB 9009 LD R0,Y+
3BC 91F9 LD R31,Y+
3BD 91E9 LD R30,Y+
3BE 9508 RET
pop_xgset003C:
3BF 90A9 LD R10,Y+
3C0 90B9 LD R11,Y+
3C1 90C9 LD R12,Y+
3C2 90D9 LD R13,Y+
3C3 9508 RET
push_xgsetF0FC:
3C4 937A ST R23,-Y
3C5 936A ST R22,-Y
push_xgset30FC:
3C6 935A ST R21,-Y
3C7 934A ST R20,-Y
push_xgset00FC:
3C8 92FA ST R15,-Y
3C9 92EA ST R14,-Y
push_xgset003C:
3CA 92DA ST R13,-Y
3CB 92CA ST R12,-Y
3CC 92BA ST R11,-Y
3CD 92AA ST R10,-Y
3CE 9508 RET
push_xgsetF000:
3CF 937A ST R23,-Y
3D0 936A ST R22,-Y
3D1 935A ST R21,-Y
3D2 934A ST R20,-Y
3D3 9508 RET
pop_xgsetF000:
3D4 9149 LD R20,Y+
3D5 9159 LD R21,Y+
3D6 9169 LD R22,Y+
3D7 9179 LD R23,Y+
3D8 9508 RET
push_xgsetF00C:
3D9 937A ST R23,-Y
3DA 936A ST R22,-Y
3DB 935A ST R21,-Y
3DC 934A ST R20,-Y
3DD 92BA ST R11,-Y
3DE 92AA ST R10,-Y
3DF 9508 RET
pop_xgsetF00C:
3E0 90A9 LD R10,Y+
3E1 90B9 LD R11,Y+
3E2 9149 LD R20,Y+
3E3 9159 LD R21,Y+
3E4 9169 LD R22,Y+
3E5 9179 LD R23,Y+
3E6 9508 RET
neg32:
3E7 9500 COM R16
3E8 9510 COM R17
3E9 9520 COM R18
3EA 9530 COM R19
3EB 5F0F SUBI R16,0xFF
3EC 4F1F SBCI R17,0xFF
3ED 4F2F SBCI R18,0xFF
3EE 4F3F SBCI R19,0xFF
3EF 9508 RET
lsl8:
3F0 2311 TST R17
3F1 F019 BEQ 0x03F5
3F2 0F00 LSL R16
3F3 951A DEC R17
3F4 CFFB RJMP lsl8
3F5 9508 RET
lsr8:
3F6 2311 TST R17
3F7 F019 BEQ 0x03FB
3F8 9506 LSR R16
3F9 951A DEC R17
3FA CFFB RJMP lsr8
3FB 9508 RET
fpsub:
3FC 9468 BSET 6
3FD C001 RJMP fpadd_alt
fpadd:
3FE 94E8 BCLR 6
fpadd_alt:
3FF 940E 051A CALL saveR8toR25
401 940E 04B0 CALL unpacks
403 F409 BNE 0x0405
404 C047 RJMP 0x044C
405 2EE6 MOV R14,R22
406 2ED5 MOV R13,R21
407 2EC4 MOV R12,R20
408 2EB3 MOV R11,R19
409 2EA2 MOV R10,R18
40A 2E91 MOV R9,R17
40B 2E80 MOV R8,R16
40C 8100 LDD R16,Z+0
40D 8111 LDD R17,Z+1
40E 8122 LDD R18,Z+2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -