📄 main.lst
字号:
421 /* epilogue: frame size=0 */
422 01ca 0895 ret
423 /* epilogue end (size=1) */
424 /* function Stop size 10 (9) */
425 .LFE22:
427 .global SetChan
429 SetChan:
430 .LFB16:
431 .LM79:
432 /* prologue: frame size=0 */
433 /* prologue end (size=0) */
434 .LVL18:
435 .LM80:
436 01cc E82F mov r30,r24
437 01ce FF27 clr r31
438 01d0 EE0F lsl r30
439 01d2 FF1F rol r31
440 01d4 EE0F lsl r30
441 01d6 FF1F rol r31
442 01d8 E050 subi r30,lo8(-(freq))
443 01da F040 sbci r31,hi8(-(freq))
444 01dc 8081 ld r24,Z
445 01de 9181 ldd r25,Z+1
446 01e0 A281 ldd r26,Z+2
447 01e2 B381 ldd r27,Z+3
448 .LVL19:
449 01e4 8034 cpi r24,lo8(168000)
450 01e6 20E9 ldi r18,hi8(168000)
451 01e8 9207 cpc r25,r18
452 01ea 22E0 ldi r18,hlo8(168000)
453 01ec A207 cpc r26,r18
454 01ee 20E0 ldi r18,hhi8(168000)
455 01f0 B207 cpc r27,r18
456 01f2 00F0 brlo .L47
457 .LM81:
458 01f4 805D subi r24,lo8(450000)
459 01f6 9D4D sbci r25,hi8(450000)
460 01f8 A640 sbci r26,hlo8(450000)
461 01fa B040 sbci r27,hhi8(450000)
462 01fc 00F4 brsh .L44
463 01fe 82E0 ldi r24,lo8(2)
464 0200 00C0 rjmp .L43
465 .L44:
466 0202 88E0 ldi r24,lo8(8)
467 0204 00C0 rjmp .L43
468 .L47:
469 0206 81E0 ldi r24,lo8(1)
470 .L43:
471 0208 8093 0000 sts Con2,r24
472 .LM82:
473 020c 0E94 0000 call Start
474 .LVL20:
475 .LM83:
476 0210 80EC ldi r24,lo8(-64)
477 0212 0E94 0000 call SendByte
478 .LM84:
479 0216 8091 0000 lds r24,Div1
480 021a 0E94 0000 call SendByte
481 .LM85:
482 021e 8091 0000 lds r24,Div2
483 0222 0E94 0000 call SendByte
484 .LM86:
485 0226 8EE8 ldi r24,lo8(-114)
486 0228 0E94 0000 call SendByte
487 .LM87:
488 022c 8091 0000 lds r24,Con2
489 0230 0E94 0000 call SendByte
490 .LM88:
491 0234 0E94 0000 call Stop
492 .LM89:
493 0238 8FEF ldi r24,lo8(-1)
494 023a 8093 0000 sts channel_busy_byte_flag,r24
495 /* epilogue: frame size=0 */
496 023e 0895 ret
497 /* epilogue end (size=1) */
498 /* function SetChan size 61 (60) */
499 .LFE16:
501 .global ReadChan
503 ReadChan:
504 .LFB15:
505 .LM90:
506 /* prologue: frame size=0 */
507 0240 1F93 push r17
508 /* prologue end (size=1) */
509 .LM91:
510 0242 0E94 0000 call Start
511 .LM92:
512 0246 81EC ldi r24,lo8(-63)
513 0248 0E94 0000 call SendByte
514 .LM93:
515 024c 0E94 0000 call ReadByte
516 0250 182F mov r17,r24
517 .LVL21:
518 .LM94:
519 0252 0E94 0000 call Stop
520 .LM95:
521 0256 812F mov r24,r17
522 0258 9927 clr r25
523 /* epilogue: frame size=0 */
524 025a 1F91 pop r17
525 025c 0895 ret
526 /* epilogue end (size=2) */
527 /* function ReadChan size 15 (12) */
528 .LFE15:
530 .global __vector_16
532 __vector_16:
533 .LFB24:
534 .LM96:
535 /* prologue: frame size=0 */
536 025e 1F92 push __zero_reg__
537 0260 0F92 push __tmp_reg__
538 0262 0FB6 in __tmp_reg__,__SREG__
539 0264 0F92 push __tmp_reg__
540 0266 1124 clr __zero_reg__
541 0268 8F93 push r24
542 026a 9F93 push r25
543 /* prologue end (size=7) */
544 .LM97:
545 026c 86E1 ldi r24,lo8(22)
546 026e 82BF out 82-0x20,r24
547 .LM98:
548 0270 8091 0000 lds r24,timer0_counter
549 0274 9091 0000 lds r25,(timer0_counter)+1
550 0278 0196 adiw r24,1
551 027a 9093 0000 sts (timer0_counter)+1,r25
552 027e 8093 0000 sts timer0_counter,r24
553 /* epilogue: frame size=0 */
554 0282 9F91 pop r25
555 0284 8F91 pop r24
556 0286 0F90 pop __tmp_reg__
557 0288 0FBE out __SREG__,__tmp_reg__
558 028a 0F90 pop __tmp_reg__
559 028c 1F90 pop __zero_reg__
560 028e 1895 reti
561 /* epilogue end (size=7) */
562 /* function __vector_16 size 25 (11) */
563 .LFE24:
565 .global port_init
567 port_init:
568 .LFB25:
569 .LM99:
570 /* prologue: frame size=0 */
571 /* prologue end (size=0) */
572 .LM100:
573 0290 8FEF ldi r24,lo8(-1)
574 0292 87BB out 55-0x20,r24
575 .LM101:
576 0294 88BB out 56-0x20,r24
577 .LM102:
578 0296 85BB out 53-0x20,r24
579 .LM103:
580 0298 84BB out 52-0x20,r24
581 .LM104:
582 029a 81BB out 49-0x20,r24
583 .LM105:
584 029c 8FE7 ldi r24,lo8(127)
585 029e 82BB out 50-0x20,r24
586 /* epilogue: frame size=0 */
587 02a0 0895 ret
588 /* epilogue end (size=1) */
589 /* function port_init size 9 (8) */
590 .LFE25:
592 .global Timer0Init
594 Timer0Init:
595 .LFB26:
596 .LM106:
597 /* prologue: frame size=0 */
598 /* prologue end (size=0) */
599 .LM107:
600 02a2 13BE out 83-0x20,__zero_reg__
601 .LM108:
602 02a4 86E1 ldi r24,lo8(22)
603 02a6 82BF out 82-0x20,r24
604 .LM109:
605 02a8 83E0 ldi r24,lo8(3)
606 02aa 83BF out 83-0x20,r24
607 /* epilogue: frame size=0 */
608 02ac 0895 ret
609 /* epilogue end (size=1) */
610 /* function Timer0Init size 6 (5) */
611 .LFE26:
613 .global UartInit
615 UartInit:
616 .LFB27:
617 .LM110:
618 /* prologue: frame size=0 */
619 /* prologue end (size=0) */
620 .LM111:
621 02ae 1092 9B00 sts 155,__zero_reg__
622 .LM112:
623 02b2 86E0 ldi r24,lo8(6)
624 02b4 8093 9D00 sts 157,r24
625 .LM113:
626 02b8 83E0 ldi r24,lo8(3)
627 02ba 8093 9900 sts 153,r24
628 .LM114:
629 02be 1092 9800 sts 152,__zero_reg__
630 .LM115:
631 02c2 88E9 ldi r24,lo8(-104)
632 02c4 8093 9A00 sts 154,r24
633 /* epilogue: frame size=0 */
634 02c8 0895 ret
635 /* epilogue end (size=1) */
636 /* function UartInit size 14 (13) */
637 .LFE27:
639 .global PutChar
641 PutChar:
642 .LFB28:
643 .LM116:
644 /* prologue: frame size=0 */
645 /* prologue end (size=0) */
646 .LVL22:
647 02ca 982F mov r25,r24
648 .LM117:
649 /* #APP */
650 02cc F894 cli
651 .LVL23:
652 /* #NOAPP */
653 .L59:
654 .LM118:
655 02ce 8091 9B00 lds r24,155
656 02d2 85FF sbrs r24,5
657 02d4 00C0 rjmp .L59
658 .LM119:
659 02d6 9093 9C00 sts 156,r25
660 .LM120:
661 /* #APP */
662 02da 7894 sei
663 /* #NOAPP */
664 /* epilogue: frame size=0 */
665 02dc 0895 ret
666 /* epilogue end (size=1) */
667 /* function PutChar size 12 (11) */
668 .LFE28:
670 .global __vector_30
672 __vector_30:
673 .LFB30:
674 .LM121:
675 /* prologue: frame size=1 */
676 02de 1F92 push __zero_reg__
677 02e0 0F92 push __tmp_reg__
678 02e2 0FB6 in __tmp_reg__,__SREG__
679 02e4 0F92 push __tmp_reg__
680 02e6 1124 clr __zero_reg__
681 02e8 2F93 push r18
682 02ea 3F93 push r19
683 02ec 4F93 push r20
684 02ee 5F93 push r21
685 02f0 6F93 push r22
686 02f2 7F93 push r23
687 02f4 8F93 push r24
688 02f6 9F93 push r25
689 02f8 AF93 push r26
690 02fa BF93 push r27
691 02fc EF93 push r30
692 02fe FF93 push r31
693 0300 CF93 push r28
694 0302 DF93 push r29
695 0304 CDB7 in r28,__SP_L__
696 0306 DEB7 in r29,__SP_H__
697 0308 2197 sbiw r28,1
698 030a DEBF out __SP_H__,r29
699 030c CDBF out __SP_L__,r28
700 /* prologue end (size=24) */
701 .LM122:
702 030e 8091 9C00 lds r24,156
703 0312 8983 std Y+1,r24
704 .LVL24:
705 .LM123:
706 0314 8981 ldd r24,Y+1
707 0316 8C32 cpi r24,lo8(44)
708 0318 01F0 breq .L82
709 .LM124:
710 031a 8981 ldd r24,Y+1
711 031c 8E32 cpi r24,lo8(46)
712 031e 01F0 breq .L83
713 .LM125:
714 0320 8981 ldd r24,Y+1
715 0322 8336 cpi r24,lo8(99)
716 0324 01F0 breq .L84
717 .LM126:
718 0326 8981 ldd r24,Y+1
719 0328 8837 cpi r24,lo8(120)
720 032a 01F0 breq .+2
721 032c 00C0 rjmp .L69
722 032e 00C0 rjmp .L89
723 .L82:
724 .LM127:
725 0330 8091 0000 lds r24,Div2
726 0334 8F3F cpi r24,lo8(-1)
727 0336 01F0 breq .L86
728 .LM128:
729 0338 8091 0000 lds r24,Div2
730 033c 8F5F subi r24,lo8(-(1))
731 033e 8093 0000 sts Div2,r24
732 0342 00C0 rjmp .L69
733 .L83:
734 .LM129:
735 0344 8091 0000 lds r24,Div2
736 0348 8823 tst r24
737 034a 01F0 breq .L87
738 .LM130:
739 034c 8091 0000 lds r24,Div2
740 0350 8150 subi r24,lo8(-(-1))
741 0352 8093 0000 sts Div2,r24
742 0356 00C0 rjmp .L69
743 .L89:
744 .LM131:
745 0358 8091 0000 lds r24,channel
746 035c 8150 subi r24,lo8(-(-1))
747 035e 8093 0000 sts channel,r24
748 0362 8091 0000 lds r24,channel
749 0366 8F3F cpi r24,lo8(-1)
750 0368 01F0 breq .L88
751 .L79:
752 .LM132:
753 036a 8091 0000 lds r24,channel
754 036e 0E94 0000 call calc_divider
755 0372 00C0 rjmp .L69
756 .L84:
757 .LM133:
758 0374 8091 0000 lds r24,channel
759 0378 8F5F subi r24,lo8(-(1))
760 037a 8093 0000 sts channel,r24
761 037e 8091 0000 lds r24,channel
762 0382 8836 cpi r24,lo8(104)
763 0384 01F4 brne .L79
764 0386 1092 0000 sts channel,__zero_reg__
765 038a 00C0 rjmp .L79
766 .L87:
767 .LM134:
768 038c 8091 0000 lds r24,Div1
769 0390 8150 subi r24,lo8(-(-1))
770 0392 8093 0000 sts Div1,r24
771 0396 8FEF ldi r24,lo8(-1)
772 0398 8093 0000 sts Div2,r24
773 039c 00C0 rjmp .L69
774 .L86:
775 .LM135:
776 039e 1092 0000 sts Div2,__zero_reg__
777 03a2 8091 0000 lds r24,Div1
778 03a6 8F5F subi r24,lo8(-(1))
779 03a8 8093 0000 sts Div1,r24
780 03ac 00C0 rjmp .L69
781 .L88:
782 .LM136:
783 03ae 87E6 ldi r24,lo8(103)
784 03b0 8093 0000 sts channel,r24
785 03b4 00C0 rjmp .L79
786 .L69:
787 .LM137:
788 03b6 8FEF ldi r24,lo8(-1)
789 03b8 8093 0000 sts channel_change_byte_flag,r24
790 /* epilogue: frame size=1 */
791 03bc 2196 adiw r28,1
792 03be F894 cli
793 03c0 DEBF out __SP_H__,r29
794 03c2 CDBF out __SP_L__,r28
795 03c4 DF91 pop r29
796 03c6 CF91 pop r28
797 03c8 FF91 pop r31
798 03ca EF91 pop r30
799 03cc BF91 pop r27
800 03ce AF91 pop r26
801 03d0 9F91 pop r25
802 03d2 8F91 pop r24
803 03d4 7F91 pop r23
804 03d6 6F91 pop r22
805 03d8 5F91 pop r21
806 03da 4F91 pop r20
807 03dc 3F91 pop r19
808 03de 2F91 pop r18
809 03e0 0F90 pop __tmp_reg__
810 03e2 0FBE out __SREG__,__tmp_reg__
811 03e4 0F90 pop __tmp_reg__
812 03e6 1F90 pop __zero_reg__
813 03e8 1895 reti
814 /* epilogue end (size=23) */
815 /* function __vector_30 size 134 (87) */
816 .LFE30:
818 .global PutEnter
820 PutEnter:
821 .LFB31:
822 .LM138:
823 /* prologue: frame size=0 */
824 /* prologue end (size=0) */
825 .LM139:
826 03ea 8DE0 ldi r24,lo8(13)
827 03ec 0E94 0000 call PutChar
828 .LM140:
829 03f0 8AE0 ldi r24,lo8(10)
830 03f2 0E94 0000 call PutChar
831 /* epilogue: frame size=0 */
832 03f6 0895 ret
833 /* epilogue end (size=1) */
834 /* function PutEnter size 7 (6) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -