sht.lst
来自「AVRMEG32编写的一个项目代码,里面包含一般应用的模块.」· LST 代码 · 共 787 行 · 第 1/2 页
LST
787 行
427 01c4 869B sbis 48-0x20,6
428 01c6 09C0 rjmp .L36
429 .LM88:
430 01c8 68EB ldi r22,lo8(116664)
431 01ca 77EC ldi r23,hi8(116664)
432 01cc 81E0 ldi r24,hlo8(116664)
433 01ce 90E0 ldi r25,hhi8(116664)
434 01d0 0E94 0000 call Delay
435 .LM89:
436 01d4 1F5F subi r17,lo8(-(1))
437 01d6 1431 cpi r17,lo8(20)
438 01d8 A8F3 brlo .L39
439 .L36:
440 .LM90:
441 01da 8699 sbic 48-0x20,6
442 01dc 11C0 rjmp .L40
443 .LM91:
444 01de 0E94 0000 call read_byte
445 01e2 C82F mov r28,r24
446 01e4 DD27 clr r29
447 01e6 C7FD sbrc r28,7
448 01e8 D095 com r29
449 .LM92:
450 01ea DC2F mov r29,r28
451 01ec CC27 clr r28
452 .LM93:
453 01ee 0E94 0000 call read_byte
454 01f2 9927 clr r25
455 01f4 87FD sbrc r24,7
456 01f6 9095 com r25
457 01f8 C80F add r28,r24
458 01fa D91F adc r29,r25
459 .LM94:
460 01fc 0E94 0000 call read_byte
461 .L40:
462 .LM95:
463 0200 CE01 movw r24,r28
464 /* epilogue: frame size=0 */
465 0202 DF91 pop r29
466 0204 CF91 pop r28
467 0206 1F91 pop r17
468 0208 0895 ret
469 /* epilogue end (size=4) */
470 /* function ShtMeasure size 41 (34) */
471 .LFE26:
473 .global ShtCalculate
475 ShtCalculate:
476 .LFB27:
477 .LM96:
478 /* prologue: frame size=4 */
479 020a 2F92 push r2
480 020c 3F92 push r3
481 020e 4F92 push r4
482 0210 5F92 push r5
483 0212 6F92 push r6
484 0214 7F92 push r7
485 0216 8F92 push r8
486 0218 9F92 push r9
487 021a AF92 push r10
488 021c BF92 push r11
489 021e CF92 push r12
490 0220 DF92 push r13
491 0222 EF92 push r14
492 0224 FF92 push r15
493 0226 0F93 push r16
494 0228 1F93 push r17
495 022a CF93 push r28
496 022c DF93 push r29
497 022e CDB7 in r28,__SP_L__
498 0230 DEB7 in r29,__SP_H__
499 0232 2497 sbiw r28,4
500 0234 0FB6 in __tmp_reg__,__SREG__
501 0236 F894 cli
502 0238 DEBF out __SP_H__,r29
503 023a 0FBE out __SREG__,__tmp_reg__
504 023c CDBF out __SP_L__,r28
505 /* prologue end (size=26) */
506 023e 9C83 std Y+4,r25
507 0240 8B83 std Y+3,r24
508 0242 7A83 std Y+2,r23
509 0244 6983 std Y+1,r22
510 .LM97:
511 0246 DC01 movw r26,r24
512 0248 8D91 ld r24,X+
513 024a 9C91 ld r25,X
514 024c 3C01 movw r6,r24
515 024e 8824 clr r8
516 0250 77FC sbrc r7,7
517 0252 8094 com r8
518 0254 982C mov r9,r8
519 .LM98:
520 0256 FB01 movw r30,r22
521 0258 8081 ld r24,Z
522 025a 9181 ldd r25,Z+1
523 025c 7C01 movw r14,r24
524 025e 0027 clr r16
525 0260 F7FC sbrc r15,7
526 0262 0095 com r16
527 0264 102F mov r17,r16
528 .LM99:
529 0266 20E6 ldi r18,lo8(-4000)
530 0268 222E mov r2,r18
531 026a 20EF ldi r18,hi8(-4000)
532 026c 322E mov r3,r18
533 026e 2FEF ldi r18,hlo8(-4000)
534 0270 422E mov r4,r18
535 0272 2FEF ldi r18,hhi8(-4000)
536 0274 522E mov r5,r18
537 0276 260C add r2,r6
538 0278 371C adc r3,r7
539 027a 481C adc r4,r8
540 027c 591C adc r5,r9
541 .LM100:
542 027e C801 movw r24,r16
543 0280 B701 movw r22,r14
544 0282 A801 movw r20,r16
545 0284 9701 movw r18,r14
546 0286 0E94 0000 call __mulsi3
547 028a DC01 movw r26,r24
548 028c CB01 movw r24,r22
549 028e BC01 movw r22,r24
550 0290 CD01 movw r24,r26
551 0292 24EE ldi r18,lo8(-28)
552 0294 3FEF ldi r19,hi8(-28)
553 0296 4FEF ldi r20,hlo8(-28)
554 0298 5FEF ldi r21,hhi8(-28)
555 029a 0E94 0000 call __mulsi3
556 029e DC01 movw r26,r24
557 02a0 CB01 movw r24,r22
558 02a2 BC01 movw r22,r24
559 02a4 CD01 movw r24,r26
560 02a6 20EA ldi r18,lo8(100000)
561 02a8 36E8 ldi r19,hi8(100000)
562 02aa 41E0 ldi r20,hlo8(100000)
563 02ac 50E0 ldi r21,hhi8(100000)
564 02ae 0E94 0000 call __divmodsi4
565 02b2 5901 movw r10,r18
566 02b4 6A01 movw r12,r20
567 02b6 C801 movw r24,r16
568 02b8 B701 movw r22,r14
569 02ba 25E9 ldi r18,lo8(405)
570 02bc 31E0 ldi r19,hi8(405)
571 02be 40E0 ldi r20,hlo8(405)
572 02c0 50E0 ldi r21,hhi8(405)
573 02c2 0E94 0000 call __mulsi3
574 02c6 DC01 movw r26,r24
575 02c8 CB01 movw r24,r22
576 02ca BC01 movw r22,r24
577 02cc CD01 movw r24,r26
578 02ce 24E6 ldi r18,lo8(100)
579 02d0 30E0 ldi r19,hi8(100)
580 02d2 40E0 ldi r20,hlo8(100)
581 02d4 50E0 ldi r21,hhi8(100)
582 02d6 0E94 0000 call __divmodsi4
583 02da A20E add r10,r18
584 02dc B31E adc r11,r19
585 02de C41E adc r12,r20
586 02e0 D51E adc r13,r21
587 02e2 80E7 ldi r24,lo8(-400)
588 02e4 9EEF ldi r25,hi8(-400)
589 02e6 AFEF ldi r26,hlo8(-400)
590 02e8 BFEF ldi r27,hhi8(-400)
591 02ea A80E add r10,r24
592 02ec B91E adc r11,r25
593 02ee CA1E adc r12,r26
594 02f0 DB1E adc r13,r27
595 .LM101:
596 02f2 8CE9 ldi r24,lo8(-6500)
597 02f4 96EE ldi r25,hi8(-6500)
598 02f6 AFEF ldi r26,hlo8(-6500)
599 02f8 BFEF ldi r27,hhi8(-6500)
600 02fa 680E add r6,r24
601 02fc 791E adc r7,r25
602 02fe 8A1E adc r8,r26
603 0300 9B1E adc r9,r27
604 0302 93E0 ldi r25,3
605 0304 EE0C 1: lsl r14
606 0306 FF1C rol r15
607 0308 001F rol r16
608 030a 111F rol r17
609 030c 9A95 dec r25
610 030e D1F7 brne 1b
611 0310 88EE ldi r24,lo8(1000)
612 0312 93E0 ldi r25,hi8(1000)
613 0314 A0E0 ldi r26,hlo8(1000)
614 0316 B0E0 ldi r27,hhi8(1000)
615 0318 E80E add r14,r24
616 031a F91E adc r15,r25
617 031c 0A1F adc r16,r26
618 031e 1B1F adc r17,r27
619 0320 C401 movw r24,r8
620 0322 B301 movw r22,r6
621 0324 A801 movw r20,r16
622 0326 9701 movw r18,r14
623 0328 0E94 0000 call __mulsi3
624 032c DC01 movw r26,r24
625 032e CB01 movw r24,r22
626 0330 BC01 movw r22,r24
627 0332 CD01 movw r24,r26
628 0334 20EA ldi r18,lo8(100000)
629 0336 36E8 ldi r19,hi8(100000)
630 0338 41E0 ldi r20,hlo8(100000)
631 033a 50E0 ldi r21,hhi8(100000)
632 033c 0E94 0000 call __divmodsi4
633 0340 2A0D add r18,r10
634 0342 3B1D adc r19,r11
635 0344 4C1D adc r20,r12
636 0346 5D1D adc r21,r13
637 .LM102:
638 0348 2131 cpi r18,lo8(10001)
639 034a 97E2 ldi r25,hi8(10001)
640 034c 3907 cpc r19,r25
641 034e 90E0 ldi r25,hlo8(10001)
642 0350 4907 cpc r20,r25
643 0352 90E0 ldi r25,hhi8(10001)
644 0354 5907 cpc r21,r25
645 0356 24F0 brlt .L43
646 .LM103:
647 0358 20E1 ldi r18,lo8(10000)
648 035a 37E2 ldi r19,hi8(10000)
649 035c 40E0 ldi r20,hlo8(10000)
650 035e 50E0 ldi r21,hhi8(10000)
651 .L43:
652 .LM104:
653 0360 2A30 cpi r18,lo8(10)
654 0362 3105 cpc r19,__zero_reg__
655 0364 4105 cpc r20,__zero_reg__
656 0366 5105 cpc r21,__zero_reg__
657 0368 24F4 brge .L44
658 036a 2AE0 ldi r18,lo8(10)
659 036c 30E0 ldi r19,hi8(10)
660 036e 40E0 ldi r20,hlo8(10)
661 0370 50E0 ldi r21,hhi8(10)
662 .L44:
663 .LM105:
664 0372 AB81 ldd r26,Y+3
665 0374 BC81 ldd r27,Y+4
666 0376 2D92 st X+,r2
667 0378 3C92 st X,r3
668 .LM106:
669 037a E981 ldd r30,Y+1
670 037c FA81 ldd r31,Y+2
671 037e 3183 std Z+1,r19
672 0380 2083 st Z,r18
673 /* epilogue: frame size=4 */
674 0382 2496 adiw r28,4
675 0384 0FB6 in __tmp_reg__,__SREG__
676 0386 F894 cli
677 0388 DEBF out __SP_H__,r29
678 038a 0FBE out __SREG__,__tmp_reg__
679 038c CDBF out __SP_L__,r28
680 038e DF91 pop r29
681 0390 CF91 pop r28
682 0392 1F91 pop r17
683 0394 0F91 pop r16
684 0396 FF90 pop r15
685 0398 EF90 pop r14
686 039a DF90 pop r13
687 039c CF90 pop r12
688 039e BF90 pop r11
689 03a0 AF90 pop r10
690 03a2 9F90 pop r9
691 03a4 8F90 pop r8
692 03a6 7F90 pop r7
693 03a8 6F90 pop r6
694 03aa 5F90 pop r5
695 03ac 4F90 pop r4
696 03ae 3F90 pop r3
697 03b0 2F90 pop r2
698 03b2 0895 ret
699 /* epilogue end (size=25) */
700 /* function ShtCalculate size 213 (162) */
701 .LFE27:
703 .global ShtReadStatus
705 ShtReadStatus:
706 .LFB28:
707 .LM107:
708 /* prologue: frame size=0 */
709 03b4 FF92 push r15
710 03b6 0F93 push r16
711 03b8 1F93 push r17
712 /* prologue end (size=3) */
713 03ba 8C01 movw r16,r24
714 .LM108:
715 03bc 0E94 0000 call transstart
716 .LM109:
717 03c0 87E0 ldi r24,lo8(7)
718 03c2 0E94 0000 call write_byte
719 03c6 F82E mov r15,r24
720 .LM110:
721 03c8 0E94 0000 call read_byte
722 03cc F801 movw r30,r16
723 03ce 8083 st Z,r24
724 .LM111:
725 03d0 0E94 0000 call read_byte
726 .LM112:
727 03d4 8F2D mov r24,r15
728 03d6 9927 clr r25
729 03d8 87FD sbrc r24,7
730 03da 9095 com r25
731 /* epilogue: frame size=0 */
732 03dc 1F91 pop r17
733 03de 0F91 pop r16
734 03e0 FF90 pop r15
735 03e2 0895 ret
736 /* epilogue end (size=4) */
737 /* function ShtReadStatus size 24 (17) */
738 .LFE28:
740 .global ShtWriteStatus
742 ShtWriteStatus:
743 .LFB29:
744 .LM113:
745 /* prologue: frame size=0 */
746 03e4 0F93 push r16
747 03e6 1F93 push r17
748 /* prologue end (size=2) */
749 03e8 082F mov r16,r24
750 .LM114:
751 03ea 0E94 0000 call transstart
752 .LM115:
753 03ee 86E0 ldi r24,lo8(6)
754 03f0 0E94 0000 call write_byte
755 03f4 182F mov r17,r24
756 .LM116:
757 03f6 802F mov r24,r16
758 03f8 0E94 0000 call write_byte
759 03fc 180F add r17,r24
760 .LM117:
761 03fe 812F mov r24,r17
762 0400 9927 clr r25
763 0402 87FD sbrc r24,7
764 0404 9095 com r25
765 /* epilogue: frame size=0 */
766 0406 1F91 pop r17
767 0408 0F91 pop r16
768 040a 0895 ret
769 /* epilogue end (size=3) */
770 /* function ShtWriteStatus size 20 (15) */
771 .LFE29:
773 .comm xRdorData,9,1
774 .comm xRDCACData,8,1
775 .comm xRAlrData,399,1
776 .comm xRwenshiData,12,1
777 .comm SECOND_BUFFER,1,1
778 .comm MINUTE_BUFFER,1,1
779 .comm HOUR_BUFFER,1,1
780 .comm WEEK_BUFFER,1,1
781 .comm DAY_BUFFER,1,1
782 .comm MONTH_BUFFER,1,1
783 .comm YEAR_BUFFER,1,1
784 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 Sht.c
f:\temp/ccsjaaaa.s:3 *ABS*:0000003f __SREG__
f:\temp/ccsjaaaa.s:4 *ABS*:0000003e __SP_H__
f:\temp/ccsjaaaa.s:5 *ABS*:0000003d __SP_L__
f:\temp/ccsjaaaa.s:6 *ABS*:00000000 __tmp_reg__
f:\temp/ccsjaaaa.s:7 *ABS*:00000001 __zero_reg__
f:\temp/ccsjaaaa.s:20 .text:00000000 enable_data
f:\temp/ccsjaaaa.s:35 .text:00000004 disable_data
f:\temp/ccsjaaaa.s:52 .text:0000000a data_high
f:\temp/ccsjaaaa.s:67 .text:0000000e data_low
f:\temp/ccsjaaaa.s:82 .text:00000012 clock_high
f:\temp/ccsjaaaa.s:97 .text:00000016 clock_low
f:\temp/ccsjaaaa.s:112 .text:0000001a ShtInit
f:\temp/ccsjaaaa.s:131 .text:00000024 transstart
f:\temp/ccsjaaaa.s:210 .text:000000aa ShtReset
f:\temp/ccsjaaaa.s:255 .text:000000e8 read_byte
f:\temp/ccsjaaaa.s:318 .text:0000013e write_byte
f:\temp/ccsjaaaa.s:389 .text:000001a4 write_mode
f:\temp/ccsjaaaa.s:412 .text:000001b8 ShtMeasure
f:\temp/ccsjaaaa.s:475 .text:0000020a ShtCalculate
f:\temp/ccsjaaaa.s:705 .text:000003b4 ShtReadStatus
f:\temp/ccsjaaaa.s:742 .text:000003e4 ShtWriteStatus
*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
Delay
__mulsi3
__divmodsi4
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?