📄 yt_temep.lst
字号:
\ 00000022 4008 LSRS R0,R0,#+1
161 temp&=0x7f;
\ 00000024 4006 LSLS R0,R0,#+25 ;; ZeroExtS R0,R0,#+25,#+25
\ 00000026 400E LSRS R0,R0,#+25
162 }
\ 00000028 D2B2 UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
\ 0000002A 0223 MOVS R3,#+2
\ 0000002C 92FBF3F2 SDIV R2,R2,R3
\ 00000030 ECE7 B.N ??swapcrc_0
163 return temp;
\ ??swapcrc_1:
\ 00000032 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000034 01B0 ADD SP,SP,#+4
\ 00000036 00BD POP {PC} ;; return
164 }
165 ////////////////////////////////xb is 12bit or 8bit
\ In section .XML, align 4, keep-with-next
166 Int8U account_Temp(Int16U xa,Int8U xb)
167 {
168 if(xb==1) //14bit
\ account_Temp:
\ 00000000 C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 00000002 0129 CMP R1,#+1
\ 00000004 02D1 BNE.N ??account_Temp_0
169 xa&=0x3fff;
\ 00000006 8004 LSLS R0,R0,#+18 ;; ZeroExtS R0,R0,#+18,#+18
\ 00000008 800C LSRS R0,R0,#+18
\ 0000000A 01E0 B.N ??account_Temp_1
170 else
171 xa&=0x0fff;
\ ??account_Temp_0:
\ 0000000C 0005 LSLS R0,R0,#+20 ;; ZeroExtS R0,R0,#+20,#+20
\ 0000000E 000D LSRS R0,R0,#+20
172 if(xb==0)
\ ??account_Temp_1:
\ 00000010 C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 00000012 0029 CMP R1,#+0
\ 00000014 01D1 BNE.N ??account_Temp_2
173 xa<<=2;
\ 00000016 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 00000018 8000 LSLS R0,R0,#+2
174 xa=xa/100; //t=d1+d2*0.04 d1=-40
\ ??account_Temp_2:
\ 0000001A 80B2 UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
\ 0000001C 6422 MOVS R2,#+100
\ 0000001E 90FBF2F0 SDIV R0,R0,R2
175 xa&=0x00ff;
\ 00000022 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
176 return xa;
\ 00000024 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000026 7047 BX LR ;; return
177 }
178 ////////////////////////////////
\ In section .XML, align 4, keep-with-next
179 Int8U account_RH(Int16U xa,Int8U xb)
180 {
\ account_RH:
\ 00000000 0200 MOVS R2,R0
181 if(xb==1)
\ 00000002 C9B2 UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
\ 00000004 0129 CMP R1,#+1
\ 00000006 01D1 BNE.N ??account_RH_0
182 xa>>=4;
\ 00000008 92B2 UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
\ 0000000A 1209 LSRS R2,R2,#+4
183 xa&=0x00ff; //8bit
\ ??account_RH_0:
\ 0000000C D2B2 UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
184 if(xa<=107)
\ 0000000E 92B2 UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
\ 00000010 6C2A CMP R2,#+108
\ 00000012 0CD2 BCS.N ??account_RH_1
185 {
186 xa=xa*143;
\ 00000014 8F20 MOVS R0,#+143
\ 00000016 02FB00F2 MUL R2,R2,R0
187 if(xa<512)return 2;
\ 0000001A 5FF40070 MOVS R0,#+512
\ 0000001E 92B2 UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
\ 00000020 8242 CMP R2,R0
\ 00000022 01D2 BCS.N ??account_RH_2
\ 00000024 0220 MOVS R0,#+2
\ 00000026 0CE0 B.N ??account_RH_3
188 xa=xa-512;
\ ??account_RH_2:
\ 00000028 B2F50072 SUBS R2,R2,#+512
\ 0000002C 04E0 B.N ??account_RH_4
189 }
190 else
191 {
192 xa=xa*111;
\ ??account_RH_1:
\ 0000002E 6F20 MOVS R0,#+111
\ 00000030 02FB00F2 MUL R2,R2,R0
193 xa+=2893;
\ 00000034 02F64D32 ADDW R2,R2,#+2893
194 }
195 xa>>=8;
\ ??account_RH_4:
\ 00000038 92B2 UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
\ 0000003A 120A LSRS R2,R2,#+8
196 xa&=0x00ff;
\ 0000003C D2B2 UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
197 return xa;
\ 0000003E 1000 MOVS R0,R2
\ 00000040 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ ??account_RH_3:
\ 00000042 7047 BX LR ;; return
198 }
199 ///////////////////////////////////////////////
\ In section .XML, align 4, keep-with-next
200 void Test_error(const Int8U x,Tem *IO_Tem)
201 {
202 if(x==0)IO_Tem->counter_error=0,IO_Tem->Error=0;
\ Test_error:
\ 00000000 C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 00000002 0028 CMP R0,#+0
\ 00000004 04D1 BNE.N ??Test_error_0
\ 00000006 0022 MOVS R2,#+0
\ 00000008 CA73 STRB R2,[R1, #+15]
\ 0000000A 0022 MOVS R2,#+0
\ 0000000C 0A74 STRB R2,[R1, #+16]
\ 0000000E 07E0 B.N ??Test_error_1
203 else
204 {
205 if(++(IO_Tem->counter_error)>=10)
\ ??Test_error_0:
\ 00000010 CA7B LDRB R2,[R1, #+15]
\ 00000012 521C ADDS R2,R2,#+1
\ 00000014 CA73 STRB R2,[R1, #+15]
\ 00000016 D2B2 UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
\ 00000018 0A2A CMP R2,#+10
\ 0000001A 01D3 BCC.N ??Test_error_1
206 IO_Tem->Error=TRUE;
\ 0000001C 0122 MOVS R2,#+1
\ 0000001E 0A74 STRB R2,[R1, #+16]
207 }
208 }
\ ??Test_error_1:
\ 00000020 7047 BX LR ;; return
209 ///////////////////////////////////////////////
\ In section .XML, align 4, keep-with-next
210 void read_SHT_data()
211 {
\ read_SHT_data:
\ 00000000 01B5 PUSH {R0,LR}
212 volatile Int8U a_sht;
213 static Int8U Timecounter;
214 if(++Timecounter>=20)Timecounter=0;
\ 00000002 3748 LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
\ 00000004 0078 LDRB R0,[R0, #+0]
\ 00000006 401C ADDS R0,R0,#+1
\ 00000008 3549 LDR.N R1,??read_SHT_data_0 ;; ??Timecounter
\ 0000000A 0870 STRB R0,[R1, #+0]
\ 0000000C C0B2 UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
\ 0000000E 1428 CMP R0,#+20
\ 00000010 02D3 BCC.N ??read_SHT_data_1
\ 00000012 3348 LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
\ 00000014 0021 MOVS R1,#+0
\ 00000016 0170 STRB R1,[R0, #+0]
215 switch(Timecounter)
\ ??read_SHT_data_1:
\ 00000018 3148 LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
\ 0000001A 0078 LDRB R0,[R0, #+0]
\ 0000001C 0028 CMP R0,#+0
\ 0000001E 04D0 BEQ.N ??read_SHT_data_2
\ 00000020 401E SUBS R0,R0,#+1
\ 00000022 28D0 BEQ.N ??read_SHT_data_3
\ 00000024 1238 SUBS R0,R0,#+18
\ 00000026 32D0 BEQ.N ??read_SHT_data_4
\ 00000028 3FE0 B.N ??read_SHT_data_5
216 {
217 case 0:
218 a_sht=Read_SHT(&TemRHA,1);
\ ??read_SHT_data_2:
\ 0000002A 0121 MOVS R1,#+1
\ 0000002C 2D48 LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
\ 0000002E ........ BL Read_SHT
\ 00000032 8DF80000 STRB R0,[SP, #+0]
219 Test_error(a_sht,&TemRHA);
\ 00000036 2B49 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000038 9DF80000 LDRB R0,[SP, #+0]
\ 0000003C ........ BL Test_error
220 START_SHT(&TemRHA);
\ 00000040 2848 LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000042 ........ BL START_SHT
221 a_sht=Write_SHT(6,&TemRHA);
\ 00000046 2749 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000048 0620 MOVS R0,#+6
\ 0000004A ........ BL Write_SHT
\ 0000004E 8DF80000 STRB R0,[SP, #+0]
222 a_sht=Write_SHT(1,&TemRHA);
\ 00000052 2449 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000054 0120 MOVS R0,#+1
\ 00000056 ........ BL Write_SHT
\ 0000005A 8DF80000 STRB R0,[SP, #+0]
223 a_sht=Write_SHT(3,&TemRHA);
\ 0000005E 2149 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000060 0320 MOVS R0,#+3
\ 00000062 ........ BL Write_SHT
\ 00000066 8DF80000 STRB R0,[SP, #+0]
224 Test_error(a_sht,&TemRHA);
\ 0000006A 1E49 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 0000006C 9DF80000 LDRB R0,[SP, #+0]
\ 00000070 ........ BL Test_error
\ 00000074 19E0 B.N ??read_SHT_data_5
225 break;
226 case 1:
227 a_sht=Read_SHT(&TemRHA,0);
\ ??read_SHT_data_3:
\ 00000076 0021 MOVS R1,#+0
\ 00000078 1A48 LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
\ 0000007A ........ BL Read_SHT
\ 0000007E 8DF80000 STRB R0,[SP, #+0]
228 Test_error(a_sht,&TemRHA);
\ 00000082 1849 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000084 9DF80000 LDRB R0,[SP, #+0]
\ 00000088 ........ BL Test_error
\ 0000008C 0DE0 B.N ??read_SHT_data_5
229 break;
230 case 19:
231 START_SHT(&TemRHA);
\ ??read_SHT_data_4:
\ 0000008E 1548 LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000090 ........ BL START_SHT
232 a_sht=Write_SHT(5,&TemRHA);
\ 00000094 1349 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 00000096 0520 MOVS R0,#+5
\ 00000098 ........ BL Write_SHT
\ 0000009C 8DF80000 STRB R0,[SP, #+0]
233 Test_error(a_sht,&TemRHA);
\ 000000A0 1049 LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
\ 000000A2 9DF80000 LDRB R0,[SP, #+0]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -