📄 sd2300.lst
字号:
381 0158 DF93 push r29
382 /* prologue end (size=6) */
383 015a 082F mov r16,r24
384 015c 162F mov r17,r22
385 015e E42E mov r14,r20
386 0160 E901 movw r28,r18
387 .LM56:
388 0162 0E94 0000 call twiStart
389 .LM57:
390 0166 81B1 in r24,33-0x20
391 0168 8830 cpi r24,lo8(8)
392 016a 19F0 breq .L36
393 .LM58:
394 016c 88E0 ldi r24,lo8(8)
395 016e 90E0 ldi r25,hi8(8)
396 0170 38C0 rjmp .L35
397 .L36:
398 .LM59:
399 0172 802F mov r24,r16
400 0174 0E94 0000 call twiWriteByte
401 .LM60:
402 0178 81B1 in r24,33-0x20
403 017a 8831 cpi r24,lo8(24)
404 017c 19F0 breq .L37
405 .LM61:
406 017e 88E1 ldi r24,lo8(24)
407 0180 90E0 ldi r25,hi8(24)
408 0182 2FC0 rjmp .L35
409 .L37:
410 .LM62:
411 0184 812F mov r24,r17
412 0186 0E94 0000 call twiWriteByte
413 .LM63:
414 018a 81B1 in r24,33-0x20
415 018c 8832 cpi r24,lo8(40)
416 018e 19F0 breq .L38
417 .LM64:
418 0190 88E2 ldi r24,lo8(40)
419 0192 90E0 ldi r25,hi8(40)
420 0194 26C0 rjmp .L35
421 .L38:
422 .LM65:
423 0196 0E94 0000 call twiStart
424 .LM66:
425 019a 802F mov r24,r16
426 019c 8160 ori r24,lo8(1)
427 019e 0E94 0000 call twiWriteByte
428 .LM67:
429 01a2 FF24 clr r15
430 01a4 0E2D mov r16,r14
431 01a6 1127 clr r17
432 01a8 C801 movw r24,r16
433 01aa 0197 sbiw r24,1
434 01ac 1816 cp __zero_reg__,r24
435 01ae 1906 cpc __zero_reg__,r25
436 01b0 74F4 brge .L44
437 .L42:
438 .LM68:
439 01b2 0E94 0000 call twiReadByteACK
440 01b6 FE01 movw r30,r28
441 01b8 EF0D add r30,r15
442 01ba F11D adc r31,__zero_reg__
443 01bc 8083 st Z,r24
444 .LM69:
445 01be F394 inc r15
446 01c0 2F2D mov r18,r15
447 01c2 3327 clr r19
448 01c4 C801 movw r24,r16
449 01c6 0197 sbiw r24,1
450 01c8 2817 cp r18,r24
451 01ca 3907 cpc r19,r25
452 01cc 94F3 brlt .L42
453 .L44:
454 .LM70:
455 01ce 0E94 0000 call twiReadByteNACK
456 01d2 CE0D add r28,r14
457 01d4 D11D adc r29,__zero_reg__
458 01d6 2197 sbiw r28,1
459 01d8 8883 st Y,r24
460 .LM71:
461 01da 0E94 0000 call twiStop
462 .LM72:
463 01de 80E0 ldi r24,lo8(0)
464 01e0 90E0 ldi r25,hi8(0)
465 .L35:
466 /* epilogue: frame size=0 */
467 01e2 DF91 pop r29
468 01e4 CF91 pop r28
469 01e6 1F91 pop r17
470 01e8 0F91 pop r16
471 01ea FF90 pop r15
472 01ec EF90 pop r14
473 01ee 0895 ret
474 /* epilogue end (size=7) */
475 /* function _rtcReadNByte size 81 (68) */
476 .LFE26:
478 .global rtcWriteNByte
480 rtcWriteNByte:
481 .LFB27:
482 .LM73:
483 /* prologue: frame size=0 */
484 /* prologue end (size=0) */
485 01f0 782F mov r23,r24
486 .LM74:
487 01f2 9A01 movw r18,r20
488 01f4 462F mov r20,r22
489 01f6 672F mov r22,r23
490 01f8 84E6 ldi r24,lo8(100)
491 01fa 0E94 0000 call _rtcWriteNByte
492 .LM75:
493 01fe 9927 clr r25
494 /* epilogue: frame size=0 */
495 0200 0895 ret
496 /* epilogue end (size=1) */
497 /* function rtcWriteNByte size 9 (8) */
498 .LFE27:
500 .global rtcReadNByte
502 rtcReadNByte:
503 .LFB28:
504 .LM76:
505 /* prologue: frame size=0 */
506 /* prologue end (size=0) */
507 0202 782F mov r23,r24
508 .LM77:
509 0204 9A01 movw r18,r20
510 0206 462F mov r20,r22
511 0208 672F mov r22,r23
512 020a 84E6 ldi r24,lo8(100)
513 020c 0E94 0000 call _rtcReadNByte
514 .LM78:
515 0210 9927 clr r25
516 /* epilogue: frame size=0 */
517 0212 0895 ret
518 /* epilogue end (size=1) */
519 /* function rtcReadNByte size 9 (8) */
520 .LFE28:
522 .global getDateTime
524 getDateTime:
525 .LFB29:
526 .LM79:
527 /* prologue: frame size=7 */
528 0214 0F93 push r16
529 0216 1F93 push r17
530 0218 CF93 push r28
531 021a DF93 push r29
532 021c CDB7 in r28,__SP_L__
533 021e DEB7 in r29,__SP_H__
534 0220 2797 sbiw r28,7
535 0222 0FB6 in __tmp_reg__,__SREG__
536 0224 F894 cli
537 0226 DEBF out __SP_H__,r29
538 0228 0FBE out __SREG__,__tmp_reg__
539 022a CDBF out __SP_L__,r28
540 /* prologue end (size=12) */
541 022c 8C01 movw r16,r24
542 .LM80:
543 022e 82E3 ldi r24,lo8(50)
544 0230 F801 movw r30,r16
545 0232 8083 st Z,r24
546 .LM81:
547 0234 80E3 ldi r24,lo8(48)
548 0236 8183 std Z+1,r24
549 .LM82:
550 0238 AE01 movw r20,r28
551 023a 4F5F subi r20,lo8(-(1))
552 023c 5F4F sbci r21,hi8(-(1))
553 023e 67E0 ldi r22,lo8(7)
554 0240 80E0 ldi r24,lo8(0)
555 0242 0E94 0000 call rtcReadNByte
556 .LM83:
557 0246 0E5F subi r16,lo8(-(2))
558 0248 1F4F sbci r17,hi8(-(2))
559 024a B801 movw r22,r16
560 024c 8F81 ldd r24,Y+7
561 024e 0E94 0000 call hextoa2
562 .LM84:
563 0252 0E5F subi r16,lo8(-(2))
564 0254 1F4F sbci r17,hi8(-(2))
565 0256 B801 movw r22,r16
566 0258 8E81 ldd r24,Y+6
567 025a 0E94 0000 call hextoa2
568 .LM85:
569 025e 0E5F subi r16,lo8(-(2))
570 0260 1F4F sbci r17,hi8(-(2))
571 0262 B801 movw r22,r16
572 0264 8D81 ldd r24,Y+5
573 0266 0E94 0000 call hextoa2
574 .LM86:
575 026a 0E5F subi r16,lo8(-(2))
576 026c 1F4F sbci r17,hi8(-(2))
577 026e B801 movw r22,r16
578 0270 8B81 ldd r24,Y+3
579 0272 0E94 0000 call hextoa2
580 .LM87:
581 0276 0E5F subi r16,lo8(-(2))
582 0278 1F4F sbci r17,hi8(-(2))
583 027a B801 movw r22,r16
584 027c 8A81 ldd r24,Y+2
585 027e 0E94 0000 call hextoa2
586 .LM88:
587 0282 0E5F subi r16,lo8(-(2))
588 0284 1F4F sbci r17,hi8(-(2))
589 0286 B801 movw r22,r16
590 0288 8981 ldd r24,Y+1
591 028a 0E94 0000 call hextoa2
592 /* epilogue: frame size=7 */
593 028e 2796 adiw r28,7
594 0290 0FB6 in __tmp_reg__,__SREG__
595 0292 F894 cli
596 0294 DEBF out __SP_H__,r29
597 0296 0FBE out __SREG__,__tmp_reg__
598 0298 CDBF out __SP_L__,r28
599 029a DF91 pop r29
600 029c CF91 pop r28
601 029e 1F91 pop r17
602 02a0 0F91 pop r16
603 02a2 0895 ret
604 /* epilogue end (size=11) */
605 /* function getDateTime size 72 (49) */
606 .LFE29:
608 .global setDateTime
610 setDateTime:
611 .LFB30:
612 .LM89:
613 /* prologue: frame size=7 */
614 02a4 0F93 push r16
615 02a6 1F93 push r17
616 02a8 CF93 push r28
617 02aa DF93 push r29
618 02ac CDB7 in r28,__SP_L__
619 02ae DEB7 in r29,__SP_H__
620 02b0 2797 sbiw r28,7
621 02b2 0FB6 in __tmp_reg__,__SREG__
622 02b4 F894 cli
623 02b6 DEBF out __SP_H__,r29
624 02b8 0FBE out __SREG__,__tmp_reg__
625 02ba CDBF out __SP_L__,r28
626 /* prologue end (size=12) */
627 02bc 8C01 movw r16,r24
628 .LM90:
629 02be 0C96 adiw r24,12
630 02c0 0E94 0000 call a2tobcd2
631 02c4 8983 std Y+1,r24
632 .LM91:
633 02c6 C801 movw r24,r16
634 02c8 0A96 adiw r24,10
635 02ca 0E94 0000 call a2tobcd2
636 02ce 8A83 std Y+2,r24
637 .LM92:
638 02d0 C801 movw r24,r16
639 02d2 0896 adiw r24,8
640 02d4 0E94 0000 call a2tobcd2
641 02d8 8B83 std Y+3,r24
642 .LM93:
643 02da 81E0 ldi r24,lo8(1)
644 02dc 8C83 std Y+4,r24
645 .LM94:
646 02de C801 movw r24,r16
647 02e0 0696 adiw r24,6
648 02e2 0E94 0000 call a2tobcd2
649 02e6 8D83 std Y+5,r24
650 .LM95:
651 02e8 C801 movw r24,r16
652 02ea 0496 adiw r24,4
653 02ec 0E94 0000 call a2tobcd2
654 02f0 8E83 std Y+6,r24
655 .LM96:
656 02f2 C801 movw r24,r16
657 02f4 0296 adiw r24,2
658 02f6 0E94 0000 call a2tobcd2
659 02fa 8F83 std Y+7,r24
660 .LM97:
661 02fc AE01 movw r20,r28
662 02fe 4F5F subi r20,lo8(-(1))
663 0300 5F4F sbci r21,hi8(-(1))
664 0302 67E0 ldi r22,lo8(7)
665 0304 80E0 ldi r24,lo8(0)
666 0306 0E94 0000 call rtcWriteNByte
667 /* epilogue: frame size=7 */
668 030a 2796 adiw r28,7
669 030c 0FB6 in __tmp_reg__,__SREG__
670 030e F894 cli
671 0310 DEBF out __SP_H__,r29
672 0312 0FBE out __SREG__,__tmp_reg__
673 0314 CDBF out __SP_L__,r28
674 0316 DF91 pop r29
675 0318 CF91 pop r28
676 031a 1F91 pop r17
677 031c 0F91 pop r16
678 031e 0895 ret
679 /* epilogue end (size=11) */
680 /* function setDateTime size 62 (39) */
681 .LFE30:
683 .comm xRdorData,9,1
684 .comm xRDCACData,8,1
685 .comm xRAlrData,399,1
686 .comm xRwenshiData,12,1
687 .comm SECOND_BUFFER,1,1
688 .comm MINUTE_BUFFER,1,1
689 .comm HOUR_BUFFER,1,1
690 .comm WEEK_BUFFER,1,1
691 .comm DAY_BUFFER,1,1
692 .comm MONTH_BUFFER,1,1
693 .comm YEAR_BUFFER,1,1
694 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 sd2300.c
f:\temp/ccm4aaaa.s:3 *ABS*:0000003f __SREG__
f:\temp/ccm4aaaa.s:4 *ABS*:0000003e __SP_H__
f:\temp/ccm4aaaa.s:5 *ABS*:0000003d __SP_L__
f:\temp/ccm4aaaa.s:6 *ABS*:00000000 __tmp_reg__
f:\temp/ccm4aaaa.s:7 *ABS*:00000001 __zero_reg__
f:\temp/ccm4aaaa.s:20 .text:00000000 hexToBcd
f:\temp/ccm4aaaa.s:51 .text:00000026 a2toi
f:\temp/ccm4aaaa.s:99 .text:00000068 hextoa2
f:\temp/ccm4aaaa.s:123 .text:0000007c a2tobcd2
f:\temp/ccm4aaaa.s:141 .text:00000088 twiInit
f:\temp/ccm4aaaa.s:165 .text:0000009a twiStart
f:\temp/ccm4aaaa.s:186 .text:000000a6 twiStop
f:\temp/ccm4aaaa.s:202 .text:000000ac twiWriteByte
f:\temp/ccm4aaaa.s:225 .text:000000ba twiReadByteACK
f:\temp/ccm4aaaa.s:250 .text:000000ca twiReadByteNACK
f:\temp/ccm4aaaa.s:275 .text:000000da sd2300Init
f:\temp/ccm4aaaa.s:290 .text:000000e0 _rtcWriteNByte
f:\temp/ccm4aaaa.s:372 .text:0000014e _rtcReadNByte
f:\temp/ccm4aaaa.s:480 .text:000001f0 rtcWriteNByte
f:\temp/ccm4aaaa.s:502 .text:00000202 rtcReadNByte
f:\temp/ccm4aaaa.s:524 .text:00000214 getDateTime
f:\temp/ccm4aaaa.s:610 .text:000002a4 setDateTime
*COM*:00000009 xRdorData
*COM*:00000008 xRDCACData
*COM*:0000018f xRAlrData
*COM*:0000000c xRwenshiData
*COM*:00000001 SECOND_BUFFER
*COM*:00000001 MINUTE_BUFFER
*COM*:00000001 HOUR_BUFFER
*COM*:00000001 WEEK_BUFFER
*COM*:00000001 DAY_BUFFER
*COM*:00000001 MONTH_BUFFER
*COM*:00000001 YEAR_BUFFER
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodqi4
atoi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -