📄 ds3231.lst
字号:
396 0172 01F0 breq .L56
397 .LBB50:
398 .LBB51:
399 .LM64:
400 0174 81E0 ldi r24,lo8(1)
401 0176 8093 0000 sts systemerror,r24
402 .LM65:
403 017a 84E9 ldi r24,lo8(-108)
404 017c 86BF out 86-0x20,r24
405 .L56:
406 .LBE51:
407 .LBE50:
408 .LM66:
409 017e 23B9 out 35-0x20,r18
410 .LM67:
411 0180 84E8 ldi r24,lo8(-124)
412 0182 86BF out 86-0x20,r24
413 .L58:
414 .LM68:
415 0184 06B6 in __tmp_reg__,86-0x20
416 0186 07FE sbrs __tmp_reg__,7
417 0188 00C0 rjmp .L58
418 .LM69:
419 018a 81B1 in r24,33-0x20
420 018c 887F andi r24,lo8(-8)
421 018e 8832 cpi r24,lo8(40)
422 0190 01F0 breq .L60
423 .LBB52:
424 .LBB53:
425 .LM70:
426 0192 81E0 ldi r24,lo8(1)
427 0194 8093 0000 sts systemerror,r24
428 .LM71:
429 0198 84E9 ldi r24,lo8(-108)
430 019a 86BF out 86-0x20,r24
431 .L60:
432 .LBE53:
433 .LBE52:
434 .LM72:
435 019c 63B9 out 35-0x20,r22
436 .LM73:
437 019e 84E8 ldi r24,lo8(-124)
438 01a0 86BF out 86-0x20,r24
439 .L62:
440 .LM74:
441 01a2 06B6 in __tmp_reg__,86-0x20
442 01a4 07FE sbrs __tmp_reg__,7
443 01a6 00C0 rjmp .L62
444 .LM75:
445 01a8 81B1 in r24,33-0x20
446 01aa 887F andi r24,lo8(-8)
447 01ac 8832 cpi r24,lo8(40)
448 01ae 01F0 breq .L64
449 .LBB54:
450 .LBB55:
451 .LM76:
452 01b0 81E0 ldi r24,lo8(1)
453 01b2 8093 0000 sts systemerror,r24
454 .LM77:
455 01b6 84E9 ldi r24,lo8(-108)
456 01b8 86BF out 86-0x20,r24
457 .L64:
458 .LBE55:
459 .LBE54:
460 .LM78:
461 01ba 84E9 ldi r24,lo8(-108)
462 01bc 86BF out 86-0x20,r24
463 .LBB56:
464 .LBB57:
465 .LBB58:
466 .LBB59:
467 .LM79:
468 01be 80E0 ldi r24,lo8(13824)
469 01c0 96E3 ldi r25,hi8(13824)
470 .LVL15:
471 /* #APP */
472 01c2 0197 1: sbiw r24,1
473 01c4 01F4 brne 1b
474 /* #NOAPP */
475 .LBE59:
476 .LBE58:
477 .LBE57:
478 .LBE56:
479 /* epilogue: frame size=0 */
480 01c6 0895 ret
481 /* epilogue end (size=1) */
482 /* function DS3231TWIWrite size 70 (69) */
483 .LFE13:
485 .global DS3231Init
487 DS3231Init:
488 .LFB10:
489 .LM80:
490 /* prologue: frame size=0 */
491 /* prologue end (size=0) */
492 .LM81:
493 01c8 8BE0 ldi r24,lo8(11)
494 01ca 80B9 out 32-0x20,r24
495 .LM82:
496 01cc 11B8 out 33-0x20,__zero_reg__
497 .LM83:
498 01ce 6CE1 ldi r22,lo8(28)
499 01d0 8EE0 ldi r24,lo8(14)
500 01d2 90E0 ldi r25,hi8(14)
501 01d4 0E94 0000 call DS3231TWIWrite
502 .LM84:
503 01d8 60E0 ldi r22,lo8(0)
504 01da 8FE0 ldi r24,lo8(15)
505 01dc 90E0 ldi r25,hi8(15)
506 01de 0E94 0000 call DS3231TWIWrite
507 /* epilogue: frame size=0 */
508 01e2 0895 ret
509 /* epilogue end (size=1) */
510 /* function DS3231Init size 14 (13) */
511 .LFE10:
513 .global DS3231ReadTime
515 DS3231ReadTime:
516 .LFB14:
517 .LM85:
518 /* prologue: frame size=0 */
519 01e4 1F93 push r17
520 01e6 CF93 push r28
521 01e8 DF93 push r29
522 /* prologue end (size=3) */
523 01ea 16E0 ldi r17,lo8(6)
524 .LVL16:
525 01ec C0E0 ldi r28,lo8(CURDATE)
526 01ee D0E0 ldi r29,hi8(CURDATE)
527 .L78:
528 .LM86:
529 01f0 812F mov r24,r17
530 01f2 9927 clr r25
531 01f4 1150 subi r17,lo8(-(-1))
532 01f6 0E94 0000 call DS3231TWIRead
533 01fa 8993 st Y+,r24
534 01fc 1F3F cpi r17,lo8(-1)
535 01fe 01F4 brne .L78
536 /* epilogue: frame size=0 */
537 0200 DF91 pop r29
538 0202 CF91 pop r28
539 0204 1F91 pop r17
540 0206 0895 ret
541 /* epilogue end (size=4) */
542 /* function DS3231ReadTime size 18 (11) */
543 .LFE14:
545 .global DS3231WriteTime
547 DS3231WriteTime:
548 .LFB15:
549 .LM87:
550 /* prologue: frame size=0 */
551 0208 1F93 push r17
552 020a CF93 push r28
553 020c DF93 push r29
554 /* prologue end (size=3) */
555 020e 16E0 ldi r17,lo8(6)
556 .LVL17:
557 0210 C0E0 ldi r28,lo8(RealTimeDate)
558 0212 D0E0 ldi r29,hi8(RealTimeDate)
559 .L84:
560 .LM88:
561 0214 812F mov r24,r17
562 0216 9927 clr r25
563 0218 1150 subi r17,lo8(-(-1))
564 021a 6991 ld r22,Y+
565 021c 0E94 0000 call DS3231TWIWrite
566 0220 1F3F cpi r17,lo8(-1)
567 0222 01F4 brne .L84
568 /* epilogue: frame size=0 */
569 0224 DF91 pop r29
570 0226 CF91 pop r28
571 0228 1F91 pop r17
572 022a 0895 ret
573 /* epilogue end (size=4) */
574 /* function DS3231WriteTime size 18 (11) */
575 .LFE15:
577 .global ReadDate
579 ReadDate:
580 .LFB16:
581 .LM89:
582 /* prologue: frame size=0 */
583 022c 0F93 push r16
584 022e 1F93 push r17
585 /* prologue end (size=2) */
586 .LM90:
587 0230 0E94 0000 call DS3231ReadTime
588 .LM91:
589 0234 00E0 ldi r16,lo8(NowDATE+2)
590 0236 10E0 ldi r17,hi8(NowDATE+2)
591 0238 B801 movw r22,r16
592 023a 8091 0000 lds r24,CURDATE
593 023e 0E94 0000 call BCDtoASCII
594 .LM92:
595 0242 0C5F subi r16,lo8(-(4))
596 0244 1F4F sbci r17,hi8(-(4))
597 0246 B801 movw r22,r16
598 0248 8091 0000 lds r24,CURDATE+1
599 024c 0E94 0000 call BCDtoASCII
600 .LM93:
601 0250 0C5F subi r16,lo8(-(4))
602 0252 1F4F sbci r17,hi8(-(4))
603 0254 B801 movw r22,r16
604 0256 8091 0000 lds r24,CURDATE+2
605 025a 0E94 0000 call BCDtoASCII
606 .LM94:
607 025e 0C5F subi r16,lo8(-(4))
608 0260 1F4F sbci r17,hi8(-(4))
609 0262 B801 movw r22,r16
610 0264 8091 0000 lds r24,CURDATE+4
611 0268 0E94 0000 call BCDtoASCII
612 .LM95:
613 026c 0C5F subi r16,lo8(-(4))
614 026e 1F4F sbci r17,hi8(-(4))
615 0270 B801 movw r22,r16
616 0272 8091 0000 lds r24,CURDATE+5
617 0276 0E94 0000 call BCDtoASCII
618 .LM96:
619 027a 0C5F subi r16,lo8(-(4))
620 027c 1F4F sbci r17,hi8(-(4))
621 027e B801 movw r22,r16
622 0280 8091 0000 lds r24,CURDATE+6
623 0284 0E94 0000 call BCDtoASCII
624 .LM97:
625 0288 075F subi r16,lo8(-(9))
626 028a 1F4F sbci r17,hi8(-(9))
627 028c B801 movw r22,r16
628 028e 8091 0000 lds r24,CURDATE+3
629 0292 0E94 0000 call decodeWEEK
630 /* epilogue: frame size=0 */
631 0296 1F91 pop r17
632 0298 0F91 pop r16
633 029a 0895 ret
634 /* epilogue end (size=3) */
635 /* function ReadDate size 56 (51) */
636 .LFE16:
638 .global DS3231TWIReadTemperature
640 DS3231TWIReadTemperature:
641 .LFB17:
642 .LM98:
643 /* prologue: frame size=0 */
644 /* prologue end (size=0) */
645 .LM99:
646 029c 8FE0 ldi r24,lo8(15)
647 029e 90E0 ldi r25,hi8(15)
648 02a0 0E94 0000 call DS3231TWIRead
649 .LM100:
650 02a4 8B7F andi r24,lo8(-5)
651 02a6 01F0 breq .L92
652 .LM101:
653 02a8 80E0 ldi r24,lo8(0)
654 .LVL18:
655 02aa 00C0 rjmp .L94
656 .LVL19:
657 .L92:
658 .LM102:
659 02ac 81E1 ldi r24,lo8(17)
660 02ae 90E0 ldi r25,hi8(17)
661 02b0 0E94 0000 call DS3231TWIRead
662 .LVL20:
663 .L94:
664 .LM103:
665 02b4 9927 clr r25
666 .LVL21:
667 /* epilogue: frame size=0 */
668 02b6 0895 ret
669 /* epilogue end (size=1) */
670 /* function DS3231TWIReadTemperature size 15 (14) */
671 .LFE17:
673 .global ReadTemperature
675 ReadTemperature:
676 .LFB18:
677 .LM104:
678 /* prologue: frame size=0 */
679 /* prologue end (size=0) */
680 .LM105:
681 02b8 8091 0000 lds r24,ReadTemperatureflag
682 02bc 8823 tst r24
683 02be 01F0 breq .L100
684 .LM106:
685 02c0 0E94 0000 call DS3231TWIReadTemperature
686 02c4 8093 0000 sts temperature,r24
687 .LM107:
688 02c8 8823 tst r24
689 02ca 01F0 breq .L100
690 .LM108:
691 02cc 1092 0000 sts ReadTemperatureflag,__zero_reg__
692 .LM109:
693 02d0 60E0 ldi r22,lo8(NowTemperature+10)
694 02d2 70E0 ldi r23,hi8(NowTemperature+10)
695 02d4 0E94 0000 call BCDtoASCII
696 .LM110:
697 02d8 80E0 ldi r24,lo8(NowTemperature)
698 02da 90E0 ldi r25,hi8(NowTemperature)
699 02dc 0E94 0000 call UARTSendString
700 .L100:
701 02e0 0895 ret
702 /* epilogue: frame size=0 */
703 /* epilogue: noreturn */
704 /* epilogue end (size=0) */
705 /* function ReadTemperature size 21 (21) */
706 .LFE18:
708 .global RealTimeDate
709 .data
712 RealTimeDate:
713 0000 08 .byte 8
714 0001 12 .byte 18
715 0002 28 .byte 40
716 0003 07 .byte 7
717 0004 23 .byte 35
718 0005 54 .byte 84
719 0006 50 .byte 80
720 .global ReadTemperatureflag
721 .global ReadTemperatureflag
722 .section .bss
725 ReadTemperatureflag:
726 0000 00 .skip 1,0
727 .global temperature
728 .global temperature
731 temperature:
732 0001 00 .skip 1,0
733 .global NowTemperature
734 .data
737 NowTemperature:
738 0007 CFD6 D4DA .string "\317\326\324\332\316\302\266\310\312\307xx\241\346"
738 CEC2 B6C8
738 CAC7 7878
738 A1E6 00
739 .global NowDATE
742 NowDATE:
743 0016 3230 7878 .string "20xx\304\352xx\324\302xx\310\325xx\312\261xx\267\326xx\303\353 \320\307\306\332xx"
743 C4EA 7878
743 D4C2 7878
743 C8D5 7878
743 CAB1 7878
744 .global WEEK
747 WEEK:
748 0038 B4ED D2BB .string "\264\355\322\273\266\376\310\375\313\304\316\345\301\371\310\325"
748 B6FE C8FD
748 CBC4 CEE5
748 C1F9 C8D5
748 00
869 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 ds3231.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:20 .text:00000000 BCDtoASCII
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:45 .text:00000014 decodeWEEK
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:747 .data:00000038 WEEK
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:80 .text:00000034 BcdToBin
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:106 .text:0000004a BinToBcd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:137 .text:0000006e ERROR
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:156 .text:0000007a DS3231TWIRead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:349 .text:00000140 DS3231TWIWrite
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:487 .text:000001c8 DS3231Init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:515 .text:000001e4 DS3231ReadTime
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:547 .text:00000208 DS3231WriteTime
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:712 .data:00000000 RealTimeDate
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:579 .text:0000022c ReadDate
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:742 .data:00000016 NowDATE
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:640 .text:0000029c DS3231TWIReadTemperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:675 .text:000002b8 ReadTemperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:725 .bss:00000000 ReadTemperatureflag
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:731 .bss:00000001 temperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:737 .data:00000007 NowTemperature
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodqi4
systemerror
CURDATE
UARTSendString
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -