📄 pran.lst
字号:
685 0252 BF91 pop r27
686 0254 AF91 pop r26
687 0256 9F91 pop r25
688 0258 8F91 pop r24
689 025a 7F91 pop r23
690 025c 6F91 pop r22
691 025e 5F91 pop r21
692 0260 4F91 pop r20
693 0262 3F91 pop r19
694 0264 2F91 pop r18
695 0266 0F90 pop __tmp_reg__
696 0268 0FBE out __SREG__,__tmp_reg__
697 026a 0F90 pop __tmp_reg__
698 026c 1F90 pop __zero_reg__
699 026e 1895 reti
700 /* epilogue end (size=17) */
701 /* function __vector_6 size 112 (78) */
709 .Lscope5:
712 .global __vector_8
714 __vector_8:
182:pran.c ****
183:pran.c **** ISR(SIG_OVERFLOW1)
184:pran.c **** {
716 .LM95:
717 /* prologue: frame size=0 */
718 0270 1F92 push __zero_reg__
719 0272 0F92 push __tmp_reg__
720 0274 0FB6 in __tmp_reg__,__SREG__
721 0276 0F92 push __tmp_reg__
722 0278 1124 clr __zero_reg__
723 027a 2F93 push r18
724 027c 3F93 push r19
725 027e 5F93 push r21
726 0280 6F93 push r22
727 0282 7F93 push r23
728 0284 8F93 push r24
729 0286 9F93 push r25
730 0288 AF93 push r26
731 028a BF93 push r27
732 /* prologue end (size=14) */
185:pran.c **** if(offtime % offtimetemp == 0) {
734 .LM96:
735 028c 8091 0000 lds r24,offtime
736 0290 9091 0000 lds r25,(offtime)+1
737 0294 2091 0000 lds r18,offtimetemp
738 0298 3091 0000 lds r19,(offtimetemp)+1
739 029c B901 movw r22,r18
740 029e 00D0 rcall __divmodhi4
741 02a0 892B or r24,r25
742 02a2 01F4 brne .L36
186:pran.c **** PORTD = 0x10; //switch on the buzzer
744 .LM97:
745 02a4 80E1 ldi r24,lo8(16)
746 02a6 82BB out 50-0x20,r24
187:pran.c **** ontime++;
748 .LM98:
749 02a8 8091 0000 lds r24,ontime
750 02ac 9091 0000 lds r25,(ontime)+1
751 02b0 0196 adiw r24,1
752 02b2 9093 0000 sts (ontime)+1,r25
753 02b6 8093 0000 sts ontime,r24
188:pran.c **** }
189:pran.c **** }
755 .LM99:
756 .L36:
757 /* epilogue: frame size=0 */
758 02ba BF91 pop r27
759 02bc AF91 pop r26
760 02be 9F91 pop r25
761 02c0 8F91 pop r24
762 02c2 7F91 pop r23
763 02c4 6F91 pop r22
764 02c6 5F91 pop r21
765 02c8 3F91 pop r19
766 02ca 2F91 pop r18
767 02cc 0F90 pop __tmp_reg__
768 02ce 0FBE out __SREG__,__tmp_reg__
769 02d0 0F90 pop __tmp_reg__
770 02d2 1F90 pop __zero_reg__
771 02d4 1895 reti
772 /* epilogue end (size=14) */
773 /* function __vector_8 size 51 (23) */
775 .Lscope6:
779 .global send_data_to_decoder_high
781 send_data_to_decoder_high:
190:pran.c ****
191:pran.c **** uint8_t send_data_to_decoder_high(int digit)
192:pran.c **** {
783 .LM100:
784 /* prologue: frame size=0 */
785 /* prologue end (size=0) */
193:pran.c **** uint8_t pass = 0x00;
787 .LM101:
788 .LBB5:
789 02d6 20E0 ldi r18,lo8(0)
194:pran.c ****
195:pran.c **** switch(digit)
791 .LM102:
792 02d8 AA27 clr r26
793 02da 97FD sbrc r25,7
794 02dc A095 com r26
795 02de BA2F mov r27,r26
796 02e0 FC01 movw r30,r24
797 02e2 0A97 sbiw r24,10
798 02e4 00F4 brsh .L39
799 02e6 E050 subi r30,lo8(-(pm(.L50)))
800 02e8 F040 sbci r31,hi8(-(pm(.L50)))
801 02ea 0994 ijmp
802 .data
803 .section .progmem.gcc_sw_table, "ax", @progbits
804 .p2align 1
805 .L50:
806 0000 00C0 rjmp .L40
807 0002 00C0 rjmp .L41
808 0004 00C0 rjmp .L42
809 0006 00C0 rjmp .L43
810 0008 00C0 rjmp .L44
811 000a 00C0 rjmp .L45
812 000c 00C0 rjmp .L46
813 000e 00C0 rjmp .L47
814 0010 00C0 rjmp .L48
815 0012 00C0 rjmp .L49
816 .text
817 .L40:
196:pran.c **** {
197:pran.c **** case 0: pass = 0x00;
819 .LM103:
820 02ec 20E0 ldi r18,lo8(0)
198:pran.c **** break;
822 .LM104:
823 02ee 00C0 rjmp .L39
824 .L41:
199:pran.c ****
200:pran.c **** case 1: pass = 0x10;
826 .LM105:
827 02f0 20E1 ldi r18,lo8(16)
201:pran.c **** break;
829 .LM106:
830 02f2 00C0 rjmp .L39
831 .L42:
202:pran.c ****
203:pran.c **** case 2: pass = 0x20;
833 .LM107:
834 02f4 20E2 ldi r18,lo8(32)
204:pran.c **** break;
836 .LM108:
837 02f6 00C0 rjmp .L39
838 .L43:
205:pran.c ****
206:pran.c **** case 3: pass = 0x30;
840 .LM109:
841 02f8 20E3 ldi r18,lo8(48)
207:pran.c **** break;
843 .LM110:
844 02fa 00C0 rjmp .L39
845 .L44:
208:pran.c ****
209:pran.c **** case 4: pass = 0x40;
847 .LM111:
848 02fc 20E4 ldi r18,lo8(64)
210:pran.c **** break;
850 .LM112:
851 02fe 00C0 rjmp .L39
852 .L45:
211:pran.c ****
212:pran.c **** case 5: pass = 0x50;
854 .LM113:
855 0300 20E5 ldi r18,lo8(80)
213:pran.c **** break;
857 .LM114:
858 0302 00C0 rjmp .L39
859 .L46:
214:pran.c ****
215:pran.c **** case 6: pass = 0x60;
861 .LM115:
862 0304 20E6 ldi r18,lo8(96)
216:pran.c **** break;
864 .LM116:
865 0306 00C0 rjmp .L39
866 .L47:
217:pran.c ****
218:pran.c **** case 7: pass = 0x70;
868 .LM117:
869 0308 20E7 ldi r18,lo8(112)
219:pran.c **** break;
871 .LM118:
872 030a 00C0 rjmp .L39
873 .L48:
220:pran.c ****
221:pran.c **** case 8: pass = 0x80;
875 .LM119:
876 030c 20E8 ldi r18,lo8(-128)
222:pran.c **** break;
878 .LM120:
879 030e 00C0 rjmp .L39
880 .L49:
223:pran.c ****
224:pran.c **** case 9: pass = 0x90;
882 .LM121:
883 0310 20E9 ldi r18,lo8(-112)
884 .L39:
225:pran.c **** break;
226:pran.c **** }
227:pran.c **** return pass;
886 .LM122:
887 0312 822F mov r24,r18
888 0314 9927 clr r25
228:pran.c **** }
890 .LM123:
891 .LBE5:
892 /* epilogue: frame size=0 */
893 0316 0895 ret
894 /* epilogue end (size=1) */
895 /* function send_data_to_decoder_high size 44 (43) */
900 .Lscope7:
904 .global send_data_to_decoder_low
906 send_data_to_decoder_low:
229:pran.c ****
230:pran.c **** uint8_t send_data_to_decoder_low(int digit)
231:pran.c **** {
908 .LM124:
909 /* prologue: frame size=0 */
910 /* prologue end (size=0) */
232:pran.c **** uint8_t pass = 0x00;
912 .LM125:
913 .LBB6:
914 0318 20E0 ldi r18,lo8(0)
233:pran.c ****
234:pran.c **** switch(digit)
916 .LM126:
917 031a AA27 clr r26
918 031c 97FD sbrc r25,7
919 031e A095 com r26
920 0320 BA2F mov r27,r26
921 0322 FC01 movw r30,r24
922 0324 0A97 sbiw r24,10
923 0326 00F4 brsh .L53
924 0328 E050 subi r30,lo8(-(pm(.L64)))
925 032a F040 sbci r31,hi8(-(pm(.L64)))
926 032c 0994 ijmp
927 .data
928 .section .progmem.gcc_sw_table, "ax", @progbits
929 .p2align 1
930 .L64:
931 0014 00C0 rjmp .L54
932 0016 00C0 rjmp .L55
933 0018 00C0 rjmp .L56
934 001a 00C0 rjmp .L57
935 001c 00C0 rjmp .L58
936 001e 00C0 rjmp .L59
937 0020 00C0 rjmp .L60
938 0022 00C0 rjmp .L61
939 0024 00C0 rjmp .L62
940 0026 00C0 rjmp .L63
941 .text
942 .L54:
235:pran.c **** {
236:pran.c **** case 0: pass = 0x00;
944 .LM127:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -