📄 main.lst
字号:
512 01cc 9091 0000 lds r25,(adadd)+1
513 01d0 62E3 ldi r22,lo8(50)
514 01d2 70E0 ldi r23,hi8(50)
515 01d4 00D0 rcall __udivmodhi4
516 01d6 6531 cpi r22,21
517 01d8 7105 cpc r23,__zero_reg__
518 01da 20F0 brlo .L35
149:main.c **** hu[2]=1;
520 .LM55:
521 01dc 81E0 ldi r24,lo8(1)
522 01de 8093 0000 sts hu+2,r24
523 01e2 0EC0 rjmp .L10
524 .L35:
150:main.c **** else
151:main.c **** hu[2]=0;
526 .LM56:
527 01e4 1092 0000 sts hu+2,__zero_reg__
528 01e8 0BC0 rjmp .L10
529 .L34:
152:main.c **** }
153:main.c **** else if(adcou==50) //开始记录ADC0
531 .LM57:
532 01ea 8091 0000 lds r24,adcou
533 01ee 8233 cpi r24,lo8(50)
534 01f0 39F4 brne .L10
535 .L40:
154:main.c **** {
155:main.c **** adadd=0;
537 .LM58:
538 01f2 1092 0000 sts (adadd)+1,__zero_reg__
539 01f6 1092 0000 sts adadd,__zero_reg__
540 01fa 02C0 rjmp .L10
541 .L11:
156:main.c **** }
157:main.c **** }
158:main.c **** else
159:main.c **** tmp=ADC;
543 .LM59:
544 01fc 84B1 in r24,36-0x20
545 01fe 95B1 in r25,(36)+1-0x20
546 .L10:
547 /* epilogue: frame size=0 */
548 0200 BF91 pop r27
549 0202 AF91 pop r26
550 0204 9F91 pop r25
551 0206 8F91 pop r24
552 0208 7F91 pop r23
553 020a 6F91 pop r22
554 020c 5F91 pop r21
555 020e 3F91 pop r19
556 0210 2F91 pop r18
557 0212 0F90 pop __tmp_reg__
558 0214 0FBE out __SREG__,__tmp_reg__
559 0216 0F90 pop __tmp_reg__
560 0218 1F90 pop __zero_reg__
561 021a 1895 reti
562 /* epilogue end (size=14) */
563 /* function __vector_14 size 224 (196) */
568 .Lscope2:
570 .global __vector_3
572 __vector_3:
160:main.c **** }
161:main.c ****
162:main.c **** SIGNAL(SIG_OUTPUT_COMPARE2) //time 2 compare interrupt for display 10mS
163:main.c **** {
574 .LM60:
575 /* prologue: frame size=0 */
576 021c 1F92 push __zero_reg__
577 021e 0F92 push __tmp_reg__
578 0220 0FB6 in __tmp_reg__,__SREG__
579 0222 0F92 push __tmp_reg__
580 0224 1124 clr __zero_reg__
581 0226 2F93 push r18
582 0228 5F93 push r21
583 022a 6F93 push r22
584 022c 7F93 push r23
585 022e 8F93 push r24
586 0230 9F93 push r25
587 0232 AF93 push r26
588 0234 BF93 push r27
589 /* prologue end (size=13) */
164:main.c **** if(ringcoutime) //外线振铃计时器
591 .LM61:
592 0236 8091 0000 lds r24,ringcoutime
593 023a 9091 0000 lds r25,(ringcoutime)+1
594 023e 892B or r24,r25
595 0240 99F0 breq .L42
165:main.c **** {
166:main.c **** ringcoutime--;
597 .LM62:
598 0242 8091 0000 lds r24,ringcoutime
599 0246 9091 0000 lds r25,(ringcoutime)+1
600 024a 0197 sbiw r24,1
601 024c 9093 0000 sts (ringcoutime)+1,r25
602 0250 8093 0000 sts ringcoutime,r24
167:main.c **** if(ringcoutime==0) //时间到
604 .LM63:
605 0254 8091 0000 lds r24,ringcoutime
606 0258 9091 0000 lds r25,(ringcoutime)+1
607 025c 892B or r24,r25
608 025e 21F4 brne .L42
168:main.c **** {
169:main.c **** ringcou=0;
610 .LM64:
611 0260 1092 0000 sts ringcou,__zero_reg__
170:main.c **** out_ringflag=0;
613 .LM65:
614 0264 1092 0000 sts out_ringflag,__zero_reg__
615 .L42:
171:main.c **** }
172:main.c **** }
173:main.c ****
174:main.c **** ringtime--;
617 .LM66:
618 0268 8091 0000 lds r24,ringtime
619 026c 9091 0000 lds r25,(ringtime)+1
620 0270 0197 sbiw r24,1
621 0272 9093 0000 sts (ringtime)+1,r25
622 0276 8093 0000 sts ringtime,r24
175:main.c **** if(ringtime==0)
624 .LM67:
625 027a 8091 0000 lds r24,ringtime
626 027e 9091 0000 lds r25,(ringtime)+1
627 0282 892B or r24,r25
628 0284 31F4 brne .L44
176:main.c **** {
177:main.c **** ringtime=500;
630 .LM68:
631 0286 84EF ldi r24,lo8(500)
632 0288 91E0 ldi r25,hi8(500)
633 028a 9093 0000 sts (ringtime)+1,r25
634 028e 8093 0000 sts ringtime,r24
635 .L44:
178:main.c **** }
179:main.c **** if((ringtime==500)||(ringtime==440)) //内线振铃,响0.4S,停0.2S, 响0.4S 停4S
637 .LM69:
638 0292 8091 0000 lds r24,ringtime
639 0296 9091 0000 lds r25,(ringtime)+1
640 029a 845F subi r24,lo8(500)
641 029c 9140 sbci r25,hi8(500)
642 029e 39F0 breq .L46
643 02a0 8091 0000 lds r24,ringtime
644 02a4 9091 0000 lds r25,(ringtime)+1
645 02a8 885B subi r24,lo8(440)
646 02aa 9140 sbci r25,hi8(440)
647 02ac C9F4 brne .L45
648 .L46:
180:main.c **** {
181:main.c **** if(ringflag[0]) //查标志位,看是否需要响铃
650 .LM70:
651 02ae 8091 0000 lds r24,ringflag
652 02b2 8823 tst r24
653 02b4 11F0 breq .L47
182:main.c **** RG1_s;
655 .LM71:
656 02b6 AD98 cbi 53-0x20,5
657 02b8 AC9A sbi 53-0x20,4
658 .L47:
183:main.c **** if(ringflag[1])
660 .LM72:
661 02ba 8091 0000 lds r24,ringflag+1
662 02be 8823 tst r24
663 02c0 11F0 breq .L48
184:main.c **** RG2_s;
665 .LM73:
666 02c2 C598 cbi 56-0x20,5
667 02c4 C49A sbi 56-0x20,4
668 .L48:
185:main.c **** if(ringflag[2])
670 .LM74:
671 02c6 8091 0000 lds r24,ringflag+2
672 02ca 8823 tst r24
673 02cc 11F0 breq .L49
186:main.c **** RG3_s;
675 .LM75:
676 02ce C398 cbi 56-0x20,3
677 02d0 C29A sbi 56-0x20,2
678 .L49:
187:main.c **** if(ringflag[3])
680 .LM76:
681 02d2 8091 0000 lds r24,ringflag+3
682 02d6 8823 tst r24
683 02d8 49F1 breq .L51
188:main.c **** RG4_s;
685 .LM77:
686 02da C198 cbi 56-0x20,1
687 02dc C09A sbi 56-0x20,0
688 02de 26C0 rjmp .L51
689 .L45:
189:main.c **** }
190:main.c **** else if((ringtime==460)||(ringtime==400)) //关闭所有振铃
691 .LM78:
692 02e0 8091 0000 lds r24,ringtime
693 02e4 9091 0000 lds r25,(ringtime)+1
694 02e8 8C5C subi r24,lo8(460)
695 02ea 9140 sbci r25,hi8(460)
696 02ec 39F0 breq .L53
697 02ee 8091 0000 lds r24,ringtime
698 02f2 9091 0000 lds r25,(ringtime)+1
699 02f6 8059 subi r24,lo8(400)
700 02f8 9140 sbci r25,hi8(400)
701 02fa C1F4 brne .L51
702 .L53:
191:main.c **** {
192:main.c **** if(ringflag[0]) //只有启动了的振铃才关,
704 .LM79:
705 02fc 8091 0000 lds r24,ringflag
706 0300 8823 tst r24
707 0302 11F0 breq .L54
193:main.c **** RG1_c;
709 .LM80:
710 0304 AC98 cbi 53-0x20,4
711 0306 AD9A sbi 53-0x20,5
712 .L54:
194:main.c **** if(ringflag[1])
714 .LM81:
715 0308 8091 0000 lds r24,ringflag+1
716 030c 8823 tst r24
717 030e 11F0 breq .L55
195:main.c **** RG2_c;
719 .LM82:
720 0310 C498 cbi 56-0x20,4
721 0312 C59A sbi 56-0x20,5
722 .L55:
196:main.c **** if(ringflag[2])
724 .LM83:
725 0314 8091 0000 lds r24,ringflag+2
726 0318 8823 tst r24
727 031a 11F0 breq .L56
197:main.c **** RG3_c;
729 .LM84:
730 031c C298 cbi 56-0x20,2
731 031e C39A sbi 56-0x20,3
732 .L56:
198:main.c **** if(ringflag[3])
734 .LM85:
735 0320 8091 0000 lds r24,ringflag+3
736 0324 8823 tst r24
737 0326 11F0 breq .L51
199:main.c **** RG4_c;
739 .LM86:
740 0328 C098 cbi 56-0x20,0
741 032a C19A sbi 56-0x20,1
742 .L51:
200:main.c **** }
201:main.c **** if(out_ringflag) //外线振铃标志
744 .LM87:
745 032c 8091 0000 lds r24,out_ringflag
746 0330 8823 tst r24
747 0332 09F4 brne .+2
748 0334 4EC0 rjmp .L58
202:main.c **** {
203:main.c **** if(ringtime==500) //#1响铃
750 .LM88:
751 0336 8091 0000 lds r24,ringtime
752 033a 9091 0000 lds r25,(ringtime)+1
753 033e 845F subi r24,lo8(500)
754 0340 9140 sbci r25,hi8(500)
755 0342 19F4 brne .L59
204:main.c **** {
205:main.c **** RG1_s;
757 .LM89:
758 0344 AD98 cbi 53-0x20,5
759 0346 AC9A sbi 53-0x20,4
760 0348 44C0 rjmp .L58
761 .L59:
206:main.c **** }
207:main.c **** else if(ringtime==400) //#1关闭响铃
763 .LM90:
764 034a 8091 0000 lds r24,ringtime
765 034e 9091 0000 lds r25,(ringtime)+1
766 0352 8059 subi r24,lo8(400)
767 0354 9140 sbci r25,hi8(400)
768 0356 19F4 brne .L61
208:main.c **** {
209:main.c **** RG1_c;
770 .LM91:
771 0358 AC98 cbi 53-0x20,4
772 035a AD9A sbi 53-0x20,5
773 035c 3AC0 rjmp .L58
774 .L61:
210:main.c **** }
211:main.c **** else if(ringtime==375) //#2响铃
776 .LM92:
777 035e 8091 0000 lds r24,ringtime
778 0362 9091 0000 lds r25,(ringtime)+1
779 0366 8757 subi r24,lo8(375)
780 0368 9140 sbci r25,hi8(375)
781 036a 19F4 brne .L63
212:main.c **** {
213:main.c **** RG2_s;
783 .LM93:
784 036c C598 cbi 56-0x20,5
785 036e C49A sbi 56-0x20,4
786 0370 30C0 rjmp .L58
787 .L63:
214:main.c **** }
215:main.c **** else if(ringtime==275) //#2关闭响铃
789 .LM94:
790 0372 8091 0000 lds r24,ringtime
791 0376 9091 0000 lds r25,(ringtime)+1
792 037a 8351 subi r24,lo8(275)
793 037c 9140 sbci r25,hi8(275)
794 037e 19F4 brne .L65
216:main.c **** {
217:main.c **** RG2_c;
796 .LM95:
797 0380 C498 cbi 56-0x20,4
798 0382 C59A sbi 56-0x20,5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -