📄 main.lst
字号:
704 .LM39:
705 01f0 9BE3 ldi r25,lo8(59)
706 01f2 A0E0 ldi r26,lo8(Temperature_buffer+59)
707 01f4 B0E0 ldi r27,hi8(Temperature_buffer+59)
708 .L23:
112:main.c **** {
113:main.c **** Temperature_buffer[60]=Temperature_buffer[i-1];
710 .LM40:
711 01f6 FD01 movw r30,r26
712 01f8 3197 sbiw r30,1
713 01fa 8081 ld r24,Z
714 01fc 8093 0000 sts Temperature_buffer+60,r24
114:main.c **** Temperature_buffer[i]=Temperature_buffer[60];
716 .LM41:
717 0200 8C93 st X,r24
719 .LM42:
720 0202 9150 subi r25,lo8(-(-1))
721 0204 DF01 movw r26,r30
722 0206 B9F7 brne .L23
115:main.c **** }
116:main.c ****
117:main.c **** OSWait(K_TMO | K_SIG,50);
724 .LM43:
725 0208 62E3 ldi r22,lo8(50)
726 020a 83E0 ldi r24,lo8(3)
727 020c 0E94 0000 call OSWait
728 0210 9ACF rjmp .L16
729 /* epilogue: frame size=0 */
730 /* epilogue: noreturn */
731 /* epilogue end (size=0) */
732 /* function task1 size 105 (105) */
740 .Lscope1:
742 .global task2
744 task2:
118:main.c **** }
119:main.c **** }
120:main.c ****
121:main.c **** void task2(void)
122:main.c **** {
746 .LM44:
747 /* prologue: frame size=0 */
748 /* prologue end (size=0) */
749 .L27:
123:main.c **** while(1)
124:main.c **** {
125:main.c **** GUI_MMenuNSelect(current_MMENU, old_MMENU_NO);
751 .LM45:
752 0212 6091 0000 lds r22,old_MMENU_NO
753 0216 8091 0000 lds r24,current_MMENU
754 021a 9091 0000 lds r25,(current_MMENU)+1
755 021e 0E94 0000 call GUI_MMenuNSelect
126:main.c **** GUI_MMenuSelect(current_MMENU, current_MMENU_NO);
757 .LM46:
758 0222 6091 0000 lds r22,current_MMENU_NO
759 0226 8091 0000 lds r24,current_MMENU
760 022a 9091 0000 lds r25,(current_MMENU)+1
761 022e 0E94 0000 call GUI_MMenuSelect
127:main.c **** if(buttom&0x80) /* 如果OK按钮有按下*/
763 .LM47:
764 0232 8091 0000 lds r24,buttom
765 0236 87FF sbrs r24,7
766 0238 53C0 rjmp .L29
128:main.c **** {
129:main.c **** buttom &=0x7f;
768 .LM48:
769 023a 8F77 andi r24,lo8(127)
770 023c 8093 0000 sts buttom,r24
130:main.c **** if(buttom==1)
772 .LM49:
773 0240 8130 cpi r24,lo8(1)
774 0242 C9F5 brne .L30
131:main.c **** {
132:main.c **** if(current_SMENU->mmenu_no != current_MMENU_NO)
776 .LM50:
777 0244 E091 0000 lds r30,current_SMENU
778 0248 F091 0000 lds r31,(current_SMENU)+1
779 024c 9281 ldd r25,Z+2
780 024e 8091 0000 lds r24,current_MMENU_NO
781 0252 9817 cp r25,r24
782 0254 91F0 breq .L31
133:main.c **** {
134:main.c **** cli();
784 .LM51:
785 /* #APP */
786 0256 F894 cli
135:main.c **** current_SMENU=&Smenu[old_MMENU_NO];
788 .LM52:
789 /* #NOAPP */
790 0258 9091 0000 lds r25,old_MMENU_NO
791 025c 81E1 ldi r24,lo8(17)
792 025e 989F mul r25,r24
793 0260 F001 movw r30,r0
794 0262 1124 clr r1
795 0264 E050 subi r30,lo8(-(Smenu))
796 0266 F040 sbci r31,hi8(-(Smenu))
797 0268 F093 0000 sts (current_SMENU)+1,r31
798 026c E093 0000 sts current_SMENU,r30
136:main.c **** current_SMENU->mmenu_no=old_MMENU_NO;
800 .LM53:
801 0270 9283 std Z+2,r25
137:main.c **** GUI_SMenuHide( current_SMENU ); /* 消除下拉菜单*/
803 .LM54:
804 0272 CF01 movw r24,r30
805 0274 0E94 0000 call GUI_SMenuHide
138:main.c **** sei();
807 .LM55:
808 /* #APP */
809 0278 7894 sei
810 /* #NOAPP */
811 .L31:
139:main.c **** }
140:main.c **** current_SMENU=&Smenu[current_MMENU_NO];
813 .LM56:
814 027a 9091 0000 lds r25,current_MMENU_NO
815 027e 81E1 ldi r24,lo8(17)
816 0280 989F mul r25,r24
817 0282 F001 movw r30,r0
818 0284 1124 clr r1
819 0286 E050 subi r30,lo8(-(Smenu))
820 0288 F040 sbci r31,hi8(-(Smenu))
821 028a F093 0000 sts (current_SMENU)+1,r31
822 028e E093 0000 sts current_SMENU,r30
141:main.c **** current_SMENU->state=current_SMENU_NO;
824 .LM57:
825 0292 8091 0000 lds r24,current_SMENU_NO
826 0296 8287 std Z+10,r24
142:main.c **** cli();
828 .LM58:
829 /* #APP */
830 0298 F894 cli
143:main.c **** current_SMENU->mmenu_no=current_MMENU_NO; /* 画下拉菜单 */
832 .LM59:
833 /* #NOAPP */
834 029a E091 0000 lds r30,current_SMENU
835 029e F091 0000 lds r31,(current_SMENU)+1
836 02a2 8091 0000 lds r24,current_MMENU_NO
837 02a6 8283 std Z+2,r24
144:main.c **** GUI_SMenuDraw(current_SMENU);
839 .LM60:
840 02a8 8091 0000 lds r24,current_SMENU
841 02ac 9091 0000 lds r25,(current_SMENU)+1
842 02b0 0E94 0000 call GUI_SMenuDraw
145:main.c **** sei();
844 .LM61:
845 /* #APP */
846 02b4 7894 sei
847 /* #NOAPP */
848 .L30:
146:main.c **** }
147:main.c **** if(buttom==0)
850 .LM62:
851 02b6 8091 0000 lds r24,buttom
852 02ba 8823 tst r24
853 02bc 89F4 brne .L29
148:main.c **** {
149:main.c **** if(current_SMENU->mmenu_no==current_MMENU_NO)
855 .LM63:
856 02be E091 0000 lds r30,current_SMENU
857 02c2 F091 0000 lds r31,(current_SMENU)+1
858 02c6 9281 ldd r25,Z+2
859 02c8 8091 0000 lds r24,current_MMENU_NO
860 02cc 9817 cp r25,r24
861 02ce 41F4 brne .L29
150:main.c **** {
151:main.c **** cli();
863 .LM64:
864 /* #APP */
865 02d0 F894 cli
152:main.c **** GUI_SMenuHide( current_SMENU ); /* 消除下拉菜单*/
867 .LM65:
868 /* #NOAPP */
869 02d2 8091 0000 lds r24,current_SMENU
870 02d6 9091 0000 lds r25,(current_SMENU)+1
871 02da 0E94 0000 call GUI_SMenuHide
153:main.c **** sei();
873 .LM66:
874 /* #APP */
875 02de 7894 sei
876 /* #NOAPP */
877 .L29:
154:main.c **** }
155:main.c **** }
156:main.c **** }
157:main.c **** if(buttom==1)
879 .LM67:
880 02e0 8091 0000 lds r24,buttom
881 02e4 8130 cpi r24,lo8(1)
882 02e6 71F4 brne .L34
158:main.c **** {
159:main.c **** if(current_SMENU->state!=current_SMENU_NO)
884 .LM68:
885 02e8 E091 0000 lds r30,current_SMENU
886 02ec F091 0000 lds r31,(current_SMENU)+1
887 02f0 8285 ldd r24,Z+10
888 02f2 4091 0000 lds r20,current_SMENU_NO
889 02f6 8417 cp r24,r20
890 02f8 29F0 breq .L34
160:main.c **** {
161:main.c **** GUI_SMenuSelect(current_SMENU, old_SMENU_NO,current_SMENU_NO);
892 .LM69:
893 02fa 6091 0000 lds r22,old_SMENU_NO
894 02fe CF01 movw r24,r30
895 0300 0E94 0000 call GUI_SMenuSelect
896 .L34:
162:main.c **** }
163:main.c **** }
164:main.c **** if(OK&0x01)
898 .LM70:
899 0304 8091 0000 lds r24,OK
900 0308 80FF sbrs r24,0
901 030a 18C0 rjmp .L36
165:main.c **** {
166:main.c **** (*Smenu[Function_MMENU_NO].Function[Function_SMENU_NO])(); /* 调用子功能函数 */
903 .LM71:
904 030c 8091 0000 lds r24,Function_SMENU_NO
905 0310 9927 clr r25
906 0312 2091 0000 lds r18,Function_MMENU_NO
907 0316 3327 clr r19
908 0318 F901 movw r30,r18
909 031a 74E0 ldi r23,4
910 031c EE0F 1: lsl r30
911 031e FF1F rol r31
912 0320 7A95 dec r23
913 0322 E1F7 brne 1b
914 0324 E20F add r30,r18
915 0326 F31F adc r31,r19
916 0328 880F add r24,r24
917 032a 991F adc r25,r25
918 032c E80F add r30,r24
919 032e F91F adc r31,r25
920 0330 E050 subi r30,lo8(-(Smenu))
921 0332 F040 sbci r31,hi8(-(Smenu))
922 0334 0384 ldd __tmp_reg__,Z+11
923 0336 F485 ldd r31,Z+12
924 0338 E02D mov r30,__tmp_reg__
925 033a 0995 icall
926 .L36:
167:main.c **** }
168:main.c **** OSWait(K_TMO | K_SIG,50);
928 .LM72:
929 033c 62E3 ldi r22,lo8(50)
930 033e 83E0 ldi r24,lo8(3)
931 0340 0E94 0000 call OSWait
932 0344 66CF rjmp .L27
933 /* epilogue: frame size=0 */
934 /* epilogue: noreturn */
935 /* epilogue end (size=0) */
936 /* function task2 size 160 (160) */
938 .Lscope2:
940 .global task3
942 task3:
169:main.c **** }
170:main.c **** }
171:main.c ****
172:main.c **** void task3(void)
173:main.c **** {
944 .LM73:
945 /* prologue: frame size=0 */
946 0346 1F93 push r17
947 0348 CF93 push r28
948 /* prologue end (size=2) */
174:main.c **** uint8 key_temp=0,old_key=0;
950 .LM74:
951 034a 10E0 ldi r17,lo8(0)
952 .L63:
175:main.c **** while(1)
176:main.c **** {
177:main.c **** OSWait(K_TMO, 3); /* 等待50MS*/
954 .LM75:
955 034c 63E0 ldi r22,lo8(3)
956 034e 82E0 ldi r24,lo8(2)
957 0350 0E94 0000 call OSWait
178:main.c **** key_temp=(PIND&0xf0);
959 .LM76:
960 0354 C0B3 in r28,48-0x20
961 0356 C07F andi r28,lo8(-16)
179:main.c **** OSWait(K_TMO, 1); /* 等待50MS*/
963 .LM77:
964 0358 61E0 ldi r22,lo8(1)
965 035a 82E0 ldi r24,lo8(2)
966 035c 0E94 0000 call OSWait
180:main.c **** if((PIND&0xf0) ==key_temp)
968 .LM78:
969 0360 80B3 in r24,48-0x20
970 0362 282F mov r18,r24
971 0364 3327 clr r19
972 0366 207F andi r18,lo8(240)
973 0368 3070 andi r19,hi8(240)
974 036a 8C2F mov r24,r28
975 036c 9927 clr r25
976 036e 2817 cp r18,r24
977 0370 3907 cpc r19,r25
978 0372 61F7 brne .L63
181:main.c **** {
182:main.c **** if(key_temp != old_key) /* 识别长按
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -