📄 ds18x20.lst
字号:
442 .LM41:
443 022a 3095 com r19
444 022c 2195 neg r18
445 022e 3F4F sbci r19,lo8(-1)
446 0230 01C0 rjmp .L42
447 .L41:
448 .LM42:
449 0232 1C92 st X,__zero_reg__
450 .L42:
451 .LM43:
452 0234 C832 cpi r28,lo8(40)
453 0236 91F4 brne .L43
454 .LM44:
455 0238 8481 ldd r24,Z+4
456 .LM45:
457 023a 682F mov r22,r24
458 023c 7727 clr r23
459 023e CB01 movw r24,r22
460 0240 8076 andi r24,lo8(96)
461 0242 9070 andi r25,hi8(96)
462 0244 8036 cpi r24,96
463 0246 9105 cpc r25,__zero_reg__
464 0248 49F0 breq .L43
465 .LM46:
466 024a 66FF sbrs r22,6
467 024c 02C0 rjmp .L46
468 .LM47:
469 024e 2E7F andi r18,lo8(-2)
470 0250 05C0 rjmp .L43
471 .L46:
472 .LM48:
473 0252 65FF sbrs r22,5
474 0254 02C0 rjmp .L48
475 .LM49:
476 0256 2C7F andi r18,lo8(-4)
477 0258 01C0 rjmp .L43
478 .L48:
479 .LM50:
480 025a 287F andi r18,lo8(-8)
481 .L43:
482 .LM51:
483 025c C901 movw r24,r18
484 025e 34E0 ldi r19,4
485 0260 9695 1: lsr r25
486 0262 8795 ror r24
487 0264 3A95 dec r19
488 0266 E1F7 brne 1b
489 0268 FA01 movw r30,r20
490 026a 8083 st Z,r24
491 .LM52:
492 026c 822F mov r24,r18
493 026e 8F70 andi r24,lo8(15)
494 0270 F801 movw r30,r16
495 0272 8083 st Z,r24
496 .LM53:
497 0274 80E0 ldi r24,lo8(0)
498 0276 90E0 ldi r25,hi8(0)
499 /* epilogue: frame size=0 */
500 0278 CF91 pop r28
501 027a 1F91 pop r17
502 027c 0F91 pop r16
503 027e 0895 ret
504 /* epilogue end (size=4) */
505 /* function DS18X20_meas_to_cel size 80 (73) */
506 .LFE9:
508 .section .progmem.data
511 c.5:
512 004a 4E6F 2053 .string "No Sensor found\r"
512 656E 736F
512 7220 666F
512 756E 640D
512 00
515 c.6:
516 005b 4275 7320 .string "Bus Error\r"
516 4572 726F
516 720D 00
519 c.7:
520 0066 2043 5243 .string " CRC FAIL "
520 2046 4149
520 4C20 00
523 c.8:
524 0071 2043 5243 .string " CRC O.K. "
524 204F 2E4B
524 2E20 00
527 c.9:
528 007c 2054 5F72 .string " T_raw="
528 6177 3D00
531 c.10:
532 0084 2000 .string " "
535 c.11:
536 0086 5332 302F .string "S20/09"
536 3039 00
539 c.12:
540 008d 4232 302F .string "B20/12"
540 3132 00
543 c.13:
544 0094 4232 302F .string "B20/11"
544 3131 00
547 c.14:
548 009b 2042 3230 .string " B20/10 "
548 2F31 3020
548 00
551 c.15:
552 00a4 4232 302F .string "B20/09"
552 3039 00
555 c.16:
556 00ab 2000 .string " "
559 c.17:
560 00ad 0D00 .string "\r"
561 .data
562 .LC0:
563 0000 0D00 .string "\r"
564 .text
565 .global DS18X20_read_meas_all_verbose
567 DS18X20_read_meas_all_verbose:
568 .LFB8:
569 .LM54:
570 /* prologue: frame size=21 */
571 0280 DF92 push r13
572 0282 EF92 push r14
573 0284 FF92 push r15
574 0286 0F93 push r16
575 0288 1F93 push r17
576 028a CF93 push r28
577 028c DF93 push r29
578 028e CDB7 in r28,__SP_L__
579 0290 DEB7 in r29,__SP_H__
580 0292 6597 sbiw r28,21
581 0294 0FB6 in __tmp_reg__,__SREG__
582 0296 F894 cli
583 0298 DEBF out __SP_H__,r29
584 029a 0FBE out __SREG__,__tmp_reg__
585 029c CDBF out __SP_L__,r28
586 /* prologue end (size=15) */
587 .LM55:
588 029e BFEF ldi r27,lo8(-1)
589 02a0 DB2E mov r13,r27
590 .L72:
591 .LM56:
592 02a2 BE01 movw r22,r28
593 02a4 6F5F subi r22,lo8(-(1))
594 02a6 7F4F sbci r23,hi8(-(1))
595 02a8 8D2D mov r24,r13
596 02aa 0E94 0000 call ow_rom_search
597 02ae D82E mov r13,r24
598 .LM57:
599 02b0 8FEF ldi r24,lo8(-1)
600 02b2 D816 cp r13,r24
601 02b4 39F4 brne .L53
602 .LM58:
603 02b6 80E0 ldi r24,lo8(c.5)
604 02b8 90E0 ldi r25,hi8(c.5)
605 02ba 0E94 0000 call uart_puts_p
606 .LM59:
607 02be 8FEF ldi r24,lo8(255)
608 02c0 90E0 ldi r25,hi8(255)
609 02c2 A8C0 rjmp .L50
610 .L53:
611 .LM60:
612 02c4 EEEF ldi r30,lo8(-2)
613 02c6 DE16 cp r13,r30
614 02c8 39F4 brne .L54
615 .LM61:
616 02ca 80E0 ldi r24,lo8(c.6)
617 02cc 90E0 ldi r25,hi8(c.6)
618 02ce 0E94 0000 call uart_puts_p
619 .LM62:
620 02d2 8EEF ldi r24,lo8(254)
621 02d4 90E0 ldi r25,hi8(254)
622 02d6 9EC0 rjmp .L50
623 .L54:
624 .LM63:
625 02d8 68E0 ldi r22,lo8(8)
626 02da 70E0 ldi r23,hi8(8)
627 02dc CE01 movw r24,r28
628 02de 0196 adiw r24,1
629 02e0 0E94 0000 call DS18X20_show_id_uart
630 .LM64:
631 02e4 8981 ldd r24,Y+1
632 02e6 8832 cpi r24,lo8(40)
633 02e8 19F0 breq .L56
634 02ea 8031 cpi r24,lo8(16)
635 02ec 09F0 breq .+2
636 02ee 89C0 rjmp .L51
637 .L56:
638 .LM65:
639 02f0 8DE0 ldi r24,lo8(13)
640 02f2 0E94 0000 call uart_putc
641 .LM66:
642 02f6 8EEB ldi r24,lo8(-66)
643 02f8 0E94 0000 call ow_byte_wr
644 02fc EE24 clr r14
645 02fe FF24 clr r15
646 0300 98E0 ldi r25,lo8(8)
647 .L60:
648 .LM67:
649 0302 8E01 movw r16,r28
650 0304 0F5F subi r16,lo8(-(1))
651 0306 1F4F sbci r17,hi8(-(1))
652 0308 0E0D add r16,r14
653 030a 1F1D adc r17,r15
654 030c 9D8B std Y+21,r25
655 030e 0E94 0000 call ow_byte_rd
656 0312 F801 movw r30,r16
657 0314 8087 std Z+8,r24
658 .LM68:
659 0316 9D89 ldd r25,Y+21
660 0318 9150 subi r25,lo8(-(-1))
661 031a 0894 sec
662 031c E11C adc r14,__zero_reg__
663 031e F11C adc r15,__zero_reg__
664 0320 97FF sbrs r25,7
665 0322 EFCF rjmp .L60
666 .LM69:
667 0324 A9E0 ldi r26,lo8(9)
668 0326 EA2E mov r14,r26
669 0328 F12C mov r15,__zero_reg__
670 032a EC0E add r14,r28
671 032c FD1E adc r15,r29
672 032e 69E0 ldi r22,lo8(9)
673 0330 70E0 ldi r23,hi8(9)
674 0332 C701 movw r24,r14
675 0334 0E94 0000 call show_sp_uart
676 .LM70:
677 0338 69E0 ldi r22,lo8(9)
678 033a 70E0 ldi r23,hi8(9)
679 033c C701 movw r24,r14
680 033e 0E94 0000 call crc8
681 0342 8823 tst r24
682 0344 19F0 breq .L61
683 .LM71:
684 0346 80E0 ldi r24,lo8(c.7)
685 0348 90E0 ldi r25,hi8(c.7)
686 034a 02C0 rjmp .L77
687 .L61:
688 .LM72:
689 034c 80E0 ldi r24,lo8(c.8)
690 034e 90E0 ldi r25,hi8(c.8)
691 .L77:
692 0350 0E94 0000 call uart_puts_p
693 .LM73:
694 0354 8DE0 ldi r24,lo8(13)
695 0356 0E94 0000 call uart_putc
696 .LM74:
697 035a 8985 ldd r24,Y+9
698 035c 082F mov r16,r24
699 035e 1127 clr r17
700 .LM75:
701 0360 8A85 ldd r24,Y+10
702 0362 9927 clr r25
703 0364 982F mov r25,r24
704 0366 8827 clr r24
705 0368 082B or r16,r24
706 036a 192B or r17,r25
707 .LM76:
708 036c 80E0 ldi r24,lo8(c.9)
709 036e 90E0 ldi r25,hi8(c.9)
710 0370 0E94 0000 call uart_puts_p
711 .LM77:
712 0374 812F mov r24,r17
713 0376 9927 clr r25
714 0378 0E94 0000 call uart_puthex_byte
715 .LM78:
716 037c 802F mov r24,r16
717 037e 0E94 0000 call uart_puthex_byte
718 .LM79:
719 0382 80E0 ldi r24,lo8(c.10)
720 0384 90E0 ldi r25,hi8(c.10)
721 0386 0E94 0000 call uart_puts_p
722 .LM80:
723 038a 8981 ldd r24,Y+1
724 038c 8031 cpi r24,lo8(16)
725 038e 19F4 brne .L63
726 .LM81:
727 0390 80E0 ldi r24,lo8(c.11)
728 0392 90E0 ldi r25,hi8(c.11)
729 0394 1AC0 rjmp .L78
730 .L63:
731 .LM82:
732 0396 8832 cpi r24,lo8(40)
733 0398 D1F4 brne .L64
734 .LM83:
735 039a 9D85 ldd r25,Y+13
736 .LM84:
737 039c 292F mov r18,r25
738 039e 3327 clr r19
739 03a0 C901 movw r24,r18
740 03a2 8076 andi r24,lo8(96)
741 03a4 9070 andi r25,hi8(96)
742 03a6 8036 cpi r24,96
743 03a8 9105 cpc r25,__zero_reg__
744 03aa 19F4 brne .L66
745 .LM85:
746 03ac 80E0 ldi r24,lo8(c.12)
747 03ae 90E0 ldi r25,hi8(c.12)
748 03b0 0CC0 rjmp .L78
749 .L66:
750 .LM86:
751 03b2 26FF sbrs r18,6
752 03b4 03C0 rjmp .L68
753 .LM87:
754 03b6 80E0 ldi r24,lo8(c.13)
755 03b8 90E0 ldi r25,hi8(c.13)
756 03ba 07C0 rjmp .L78
757 .L68:
758 .LM88:
759 03bc 25FF sbrs r18,5
760 03be 03C0 rjmp .L70
761 .LM89:
762 03c0 80E0 ldi r24,lo8(c.14)
763 03c2 90E0 ldi r25,hi8(c.14)
764 03c4 02C0 rjmp .L78
765 .L70:
766 .LM90:
767 03c6 80E0 ldi r24,lo8(c.15)
768 03c8 90E0 ldi r25,hi8(c.15)
769 .L78:
770 03ca 0E94 0000 call uart_puts_p
771 .L64:
772 .LM91:
773 03ce 80E0 ldi r24,lo8(c.16)
774 03d0 90E0 ldi r25,hi8(c.16)
775 03d2 0E94 0000 call uart_puts_p
776 .LM92:
777 03d6 8E01 movw r16,r28
778 03d8 0E5E subi r16,lo8(-(18))
779 03da 1F4F sbci r17,hi8(-(18))
780 03dc 9E01 movw r18,r28
781 03de 2D5E subi r18,lo8(-(19))
782 03e0 3F4F sbci r19,hi8(-(19))
783 03e2 AE01 movw r20,r28
784 03e4 4C5E subi r20,lo8(-(20))
785 03e6 5F4F sbci r21,hi8(-(20))
786 03e8 B701 movw r22,r14
787 03ea 8981 ldd r24,Y+1
788 03ec 0E94 0000 call DS18X20_meas_to_cel
789 .LM93:
790 03f0 4A89 ldd r20,Y+18
791 03f2 6B89 ldd r22,Y+19
792 03f4 8C89 ldd r24,Y+20
793 03f6 0E94 0000 call DS18X20_uart_put_temp
794 .LM94:
795 03fa 80E0 ldi r24,lo8(.LC0)
796 03fc 90E0 ldi r25,hi8(.LC0)
797 03fe 0E94 0000 call uart_puts
798 .L51:
799 .LM95:
800 0402 DD20 tst r13
801 0404 09F0 breq .+2
802 0406 4DCF rjmp .L72
803 .LM96:
804 0408 80E0 ldi r24,lo8(c.17)
805 040a 90E0 ldi r25,hi8(c.17)
806 040c 0E94 0000 call uart_puts_p
807 .LM97:
808 0410 80E0 ldi r24,lo8(0)
809 0412 90E0 ldi r25,hi8(0)
810 .L50:
811 /* epilogue: frame size=21 */
812 0414 6596 adiw r28,21
813 0416 0FB6 in __tmp_reg__,__SREG__
814 0418 F894 cli
815 041a DEBF out __SP_H__,r29
816 041c 0FBE out __SREG__,__tmp_reg__
817 041e CDBF out __SP_L__,r28
818 0420 DF91 pop r29
819 0422 CF91 pop r28
820 0424 1F91 pop r17
821 0426 0F91 pop r16
822 0428 FF90 pop r15
823 042a EF90 pop r14
824 042c DF90 pop r13
825 042e 0895 ret
826 /* epilogue end (size=14) */
827 /* function DS18X20_read_meas_all_verbose size 216 (187) */
828 .LFE8:
830 .data
831 .LC1:
832 0002 01 .byte 1
833 0003 03 .byte 3
834 0004 04 .byte 4
835 0005 06 .byte 6
836 0006 09 .byte 9
837 0007 0B .byte 11
838 0008 0C .byte 12
839 0009 0E .byte 14
840 .text
841 .global DS18X20_temp_to_decicel
843 DS18X20_temp_to_decicel:
844 .LFB10:
845 .LM98:
846 /* prologue: frame size=8 */
847 0430 EF92 push r14
848 0432 FF92 push r15
849 0434 0F93 push r16
850 0436 1F93 push r17
851 0438 CF93 push r28
852 043a DF93 push r29
853 043c CDB7 in r28,__SP_L__
854 043e DEB7 in r29,__SP_H__
855 0440 2897 sbiw r28,8
856 0442 0FB6 in __tmp_reg__,__SREG__
857 0444 F894 cli
858 0446 DEBF out __SP_H__,r29
859 0448 0FBE out __SREG__,__tmp_reg__
860 044a CDBF out __SP_L__,r28
861 /* prologue end (size=14) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -