📄 main.lst
字号:
219: z_temp= Z_w_value;
000000C4 E5100000 LDR R0,=Z_w_value ; Z_w_value
000000C8 E5901000 LDR R1,[R0,#0x0] ; Z_w_value
000000CC E5100000 LDR R0,=z_temp ; z_temp
000000D0 E5801000 STR R1,[R0,#0x0] ; z_temp
221: A_value[0]=A_value[1]= 2096;
000000D4 E3A01E83 MOV R1,#0x830
000000D8 E5100000 LDR R0,=A_value + 0x2 ; A_value+2
000000DC E1C010B0 STRH R1,[R0,#0x0] ; A_value+2
000000E0 E5100000 LDR R0,=A_value ; A_value
000000E4 E1C010B0 STRH R1,[R0,#0x0] ; A_value
222: for(i=0;i<2;i++)
000000E8 E1A00004 MOV R0,R4 ; i
000000EC EA000016 B L_36 ; Targ=0x14C
223: for(j=0;j<30;j++)
000000F0 L_43:
000000F0 E3A01000 MOV R1,#0x0
000000F4 ---- Variable 'j' assigned to Register 'R1' ----
000000F4 EA00000D B L_41 ; Targ=0x130
000000F8 L_42:
224: {A_S_value[i][j]= 2096;}
000000F8 E3A02E83 MOV R2,#0x830
000000FC E1A03001 MOV R3,R1 ; j
00000100 E1A03C03 MOV R3,R3,LSL #24 ; j
00000104 E1A03C23 MOV R3,R3,LSR #24
00000108 E1A03083 MOV R3,R3,LSL #1
0000010C E1A05000 MOV R5,R0 ; i
00000110 E1A05C05 MOV R5,R5,LSL #24 ; i
00000114 E1A05C25 MOV R5,R5,LSR #24
00000118 E1A05305 MOV R5,R5,LSL #6
0000011C E0855003 ADD R5,R5,R3
00000120 E5103000 LDR R3,=A_S_value ; A_S_value
00000124 E18320B5 STRH R2,[R3,R5]
00000128 E2811001 ADD R1,R1,#0x0001 ; j
0000012C E20110FF AND R1,R1,#0x00FF
00000130 L_41:
00000130 E1A02001 MOV R2,R1 ; j
00000134 E1A02C02 MOV R2,R2,LSL #24 ; j
00000138 E1A02C22 MOV R2,R2,LSR #24
0000013C E352001E CMP R2,#0x001E
00000140 BAFFFFEC BLT L_42 ; Targ=0xF8
00000144 E2800001 ADD R0,R0,#0x0001 ; i
00000148 E20000FF AND R0,R0,#0x00FF
0000014C L_36:
0000014C E1A01000 MOV R1,R0 ; i
00000150 E1A01C01 MOV R1,R1,LSL #24 ; i
00000154 E1A01C21 MOV R1,R1,LSR #24
00000158 E3510002 CMP R1,#0x0002
0000015C BAFFFFE3 BLT L_43 ; Targ=0xF0
227: SysClkInit();
00000160 EBFFFFA6 BL SysClkInit?A ; Targ=0x0
228: EN_TXD();
00000164 E5100000 LDR R0,=0xFFFFF400
00000168 E5901000 LDR R1,[R0,#0x0]
0000016C E3C11A0F BIC R1,R1,#0xF000
00000170 E5801000 STR R1,[R0,#0x0]
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 16
00000174 E5100000 LDR R0,=0xFFFFF420
00000178 E5901000 LDR R1,[R0,#0x0]
0000017C E3811302 ORR R1,R1,#0x8000000
00000180 E5801000 STR R1,[R0,#0x0]
229: EN_LED42();
00000184 E5100000 LDR R0,=0xFFFFF410
00000188 E5901000 LDR R1,[R0,#0x0]
0000018C E3C11C0F BIC R1,R1,#0x0F00
00000190 E5801000 STR R1,[R0,#0x0]
00000194 E5100000 LDR R0,=0xFFFFF460
00000198 E5901000 LDR R1,[R0,#0x0]
0000019C E3811301 ORR R1,R1,#0x4000000
000001A0 E5801000 STR R1,[R0,#0x0]
230: OFF_TXD();
000001A4 E3A01702 MOV R1,#0x80000
000001A8 E5100000 LDR R0,=0xFFFFF428
000001AC E5801000 STR R1,[R0,#0x0]
231: OFF_LED42();
000001B0 E3A05701 MOV R5,#0x40000
000001B4 E5100000 LDR R0,=0xFFFFF464
000001B8 E5805000 STR R5,[R0,#0x0]
232: cls();
000001BC EBFFFF8F BL cls?A ; Targ=0x0
233: ADC_init();
000001C0 EBFFFF8E BL ADC_init?A ; Targ=0x0
235: WatchDog();
000001C4 E3A07A01 MOV R7,#0x1000
000001C8 E5100000 LDR R0,=0xFFFF0360
000001CC E5807000 STR R7,[R0,#0x0]
000001D0 E3A060FF MOV R6,#0xFF
000001D4 E5100000 LDR R0,=0xFFFF036C
000001D8 E5806000 STR R6,[R0,#0x0]
237: Timer0Init();
000001DC EBFFFF87 BL Timer0Init?A ; Targ=0x0
238: Timer3Init();
000001E0 EBFFFF86 BL Timer3Init?A ; Targ=0x0
239: UART_init();
000001E4 EBFFFF85 BL UART_init?A ; Targ=0x0
242: WatchDog();
000001E8 E5100000 LDR R0,=0xFFFF0360
000001EC E5807000 STR R7,[R0,#0x0]
000001F0 E5100000 LDR R0,=0xFFFF036C
000001F4 E5806000 STR R6,[R0,#0x0]
243: print_Z_w();
000001F8 EBFFFF80 BL print_Z_w?A ; Targ=0x0
247: ON_LED42();
000001FC E5100000 LDR R0,=0xFFFFF468
00000200 E5805000 STR R5,[R0,#0x0]
248: zus=0;
00000204 E5100000 LDR R0,=zus ; zus
00000208 E5C04000 STRB R4,[R0,#0x0] ; zus
256: demarcate(0);
0000020C E3A00000 MOV R0,#0x0
00000210 EBFFFF7A BL demarcate?A ; Targ=0x0
260: z_time = 0;
00000214 E3A01000 MOV R1,#0x0
00000218 E5100000 LDR R0,=z_time ; z_time
0000021C E5801000 STR R1,[R0,#0x0] ; z_time
264: Z_w_value=-90/0.00152;
00000220 E5101000 LDR R1,=0xFFFF18B6
00000224 E5100000 LDR R0,=Z_w_value ; Z_w_value
00000228 E5801000 STR R1,[R0,#0x0] ; Z_w_value
265: ON_LED42();
0000022C E3A01701 MOV R1,#0x40000
00000230 E5100000 LDR R0,=0xFFFFF468
00000234 E5801000 STR R1,[R0,#0x0]
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 17
267: zus=0;
00000238 E3A01000 MOV R1,#0x0
0000023C E5100000 LDR R0,=zus ; zus
00000240 E5C01000 STRB R1,[R0,#0x0] ; zus
268: do{
00000244 L_44:
269: ON_LED42();
00000244 E3A03701 MOV R3,#0x40000
00000248 E5100000 LDR R0,=0xFFFFF468
0000024C E5803000 STR R3,[R0,#0x0]
270: for(z_time=0;z_time<65000;z_time++)
00000250 E3A02000 MOV R2,#0x0
00000254 E5100000 LDR R0,=z_time ; z_time
00000258 E5802000 STR R2,[R0,#0x0] ; z_time
273: }
0000025C E5100000 LDR R0,=z_time ; z_time
00000260 E5101000 LDR R1,=0xFDE8
00000264 E5801000 STR R1,[R0,#0x0] ; z_time
274: OFF_LED42();
00000268 E5100000 LDR R0,=0xFFFFF464
0000026C E5803000 STR R3,[R0,#0x0]
275: for(z_time=0;z_time<65000;z_time++)
00000270 E5100000 LDR R0,=z_time ; z_time
00000274 E5802000 STR R2,[R0,#0x0] ; z_time
278: }
00000278 E5100000 LDR R0,=z_time ; z_time
0000027C E5801000 STR R1,[R0,#0x0] ; z_time
279: zus++;
00000280 E5100000 LDR R0,=zus ; zus
00000284 E5D01000 LDRB R1,[R0,#0x0] ; zus
00000288 E2811001 ADD R1,R1,#0x0001
0000028C E5C01000 STRB R1,[R0,#0x0] ; zus
280: }while(zus<30);
00000290 E5100000 LDR R0,=zus ; zus
00000294 E5D00000 LDRB R0,[R0,#0x0] ; zus
00000298 E350001E CMP R0,#0x001E
0000029C BAFFFFE8 BLT L_44 ; Targ=0x244
286: while(1)
000002A0 L_60:
302: z_flag_newins = Z_GETYOU();
000002A0 EBFFFF56 BL Z_GETYOU?A ; Targ=0x0
000002A4 E5101000 LDR R1,=z_flag_newins ; z_flag_newins
000002A8 E5C10000 STRB R0,[R1,#0x0] ; z_flag_newins
303: if(z_flag_newins) // //接收中断,处理
000002AC E5100000 LDR R0,=z_flag_newins ; z_flag_newins
000002B0 E5D00000 LDRB R0,[R0,#0x0] ; z_flag_newins
000002B4 E3500000 CMP R0,#0x0000
000002B8 0A00002B BEQ L_62 ; Targ=0x36C
304: {
000002BC ; SCOPE-START
305: int z_tempangle=0;
000002BC E3A04000 MOV R4,#0x0
000002C0 ---- Variable 'z_tempangle' assigned to Register 'R4' ----
308: switch(bigp[flag_pri_tim].instruction)
000002C0 E5100000 LDR R0,=flag_pri_tim ; flag_pri_tim
000002C4 E5D00000 LDRB R0,[R0,#0x0] ; flag_pri_tim
000002C8 E1A01000 MOV R1,R0
000002CC E3A00015 MOV R0,#0x15
000002D0 E0010190 MUL R1,R0,R1
000002D4 E5100000 LDR R0,=bigp ; bigp
000002D8 E7D00001 LDRB R0,[R0,+R1]
000002DC E3500003 CMP R0,#0x0003
000002E0 0A000015 BEQ L_65 ; Targ=0x33C
000002E4 E3500004 CMP R0,#0x0004
000002E8 0A000018 BEQ L_66 ; Targ=0x350
000002EC E3500005 CMP R0,#0x0005
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 18
000002F0 0A00001B BEQ L_67 ; Targ=0x364
000002F4 E3500002 CMP R0,#0x0002
000002F8 1A00001B BNE L_62 ; Targ=0x36C
310: case 2:
000002FC L_64:
313: z_tempangle=bigp[flag_pri_tim].x[1]<<8;
000002FC E5100000 LDR R0,=bigp + 0x2 ; bigp+2
00000300 E7D00001 LDRB R0,[R0,+R1]
00000304 E1A04000 MOV R4,R0
00000308 E1A04404 MOV R4,R4,LSL #8
314: z_tempangle=z_tempangle+bigp[flag_pri_tim].x[2];
0000030C E5100000 LDR R0,=bigp + 0x3 ; bigp+3
00000310 E7D00001 LDRB R0,[R0,+R1]
00000314 E0844000 ADD R4,R4,R0 ; z_tempangle
316: Z_w_value=-z_tempangle/0.00152;
00000318 E1A00004 MOV R0,R4 ; z_tempangle
0000031C EBFFFF37 BL ?C?FCAST?A ; Targ=0x0 ; ?C?FCAST?A
00000320 EBFFFF36 BL ?C?FPNEG?A ; Targ=0x0 ; ?C?FPNEG?A
00000324 E5101000 LDR R1,=0x3AC73ABD
00000328 EBFFFF34 BL ?C?FPDIV?A ; Targ=0x0 ; ?C?FPDIV?A
0000032C EBFFFF33 BL ?C?CASTF?A ; Targ=0x0 ; ?C?CASTF?A
00000330 E5101000 LDR R1,=Z_w_value ; Z_w_value
00000334 E5810000 STR R0,[R1,#0x0] ; Z_w_value
318: break;
00000338 EA00000B B L_62 ; Targ=0x36C
319: case 3:
0000033C L_65:
322: ZERO_V++;
0000033C E5100000 LDR R0,=ZERO_V ; ZERO_V
00000340 E5901000 LDR R1,[R0,#0x0] ; ZERO_V
00000344 E2811001 ADD R1,R1,#0x0001
00000348 E5801000 STR R1,[R0,#0x0] ; ZERO_V
325: break;
0000034C EA000006 B L_62 ; Targ=0x36C
326: case 4:
00000350 L_66:
328: ZERO_V--;
00000350 E5100000 LDR R0,=ZERO_V ; ZERO_V
00000354 E5901000 LDR R1,[R0,#0x0] ; ZERO_V
00000358 E2411001 SUB R1,R1,#0x0001
0000035C E5801000 STR R1,[R0,#0x0] ; ZERO_V
331: break;
00000360 EA000001 B L_62 ; Targ=0x36C
332: case 5:
00000364 L_67:
334: demarcate(1);
00000364 E3A00001 MOV R0,#0x1
00000368 EBFFFF24 BL demarcate?A ; Targ=0x0
337: }
0000036C ; SCOPE-END
338: }
0000036C L_62:
357: temp=((int)(Z_w_result));
0000036C E5100000 LDR R0,=Z_w_result ; Z_w_result
00000370 E5900000 LDR R0,[R0,#0x0] ; Z_w_result
00000374 EBFFFF21 BL ?C?CASTF?A ; Targ=0x0 ; ?C?CASTF?A
00000378 E1A04800 MOV R4,R0,LSL #16
0000037C E1A04824 MOV R4,R4,LSR #16
00000380 ---- Variable 'temp' assigned to Register 'R4' ----
358: Z_Hbit=temp>>8;
00000380 E1A00004 MOV R0,R4 ; temp
00000384 E1A01800 MOV R1,R0,LSL #16 ; temp
00000388 E1A01821 MOV R1,R1,LSR #16
0000038C E1A01421 MOV R1,R1,LSR #8
00000390 E1A01C01 MOV R1,R1,LSL #24
00000394 E1A01C21 MOV R1,R1,LSR #24
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 19
00000398 E5100000 LDR R0,=Z_Hbit ; Z_Hbit
0000039C E5C01000 STRB R1,[R0,#0x0] ; Z_Hbit
359: Z_Lbit=temp & 0x00ff;
000003A0 E1A00004 MOV R0,R4 ; temp
000003A4 E1A01800 MOV R1,R0,LSL #16 ; temp
000003A8 E1A01821 MOV R1,R1,LSR #16
000003AC E20110FF AND R1,R1,#0x00FF
000003B0 E1A01C01 MOV R1,R1,LSL #24
000003B4 E1A01C21 MOV R1,R1,LSR #24
000003B8 E5100000 LDR R0,=Z_Lbit ; Z_Lbit
000003BC E5C01000 STRB R1,[R0,#0x0] ; Z_Lbit
361: z_global_send_bufn[1].head=0x02;
000003C0 E3A01002 MOV R1,#0x2
000003C4 E5100000 LDR R0,=z_global_send_bufn + 0x15 ; z_global_send_bufn+21
000003C8 E5C01000 STRB R1,[R0,#0x0] ; z_global_send_bufn+21
362: z_global_send_bufn[1].dat[0]= Z_Lbit;
000003CC E5100000 LDR R0,=Z_Lbit ; Z_Lbit
000003D0 E5D01000 LDRB R1,[R0,#0x0] ; Z_Lbit
000003D4 E5100000 LDR R0,=z_global_send_bufn + 0x16 ; z_global_send_bufn+22
000003D8 E5C01000 STRB R1,[R0,#0x0] ; z_global_send_bufn+22
363: z_global_send_bufn[1].dat[1]= Z_Hbit;
000003DC E5100000 LDR R0,=Z_Hbit ; Z_Hbit
000003E0 E5D01000 LDRB R1,[R0,#0x0] ; Z_Hbit
000003E4 E5100000 LDR R0,=z_global_send_bufn + 0x17 ; z_global_send_bufn+23
000003E8 E5C01000 STRB R1,[R0,#0x0] ; z_global_send_bufn+23
366: WatchDog();
000003EC E3A01A01 MOV R1,#0x1000
000003F0 E5100000 LDR R0,=0xFFFF0360
000003F4 E5801000 STR R1,[R0,#0x0]
000003F8 E3A010FF MOV R1,#0xFF
000003FC E5100000 LDR R0,=0xFFFF036C
00000400 E5801000 STR R1,[R0,#0x0]
367: print_Z_w(); //调试W值
00000404 EBFFFEFD BL print_Z_w?A ; Targ=0x0
371: Delay_X_ms(1000);//0.25S // 调试W时要调整倒1000
00000408 E3A00FFA MOV R0,#0x3E8
0000040C EBFFFEFB BL Delay_X_ms?A ; Targ=0x0
372: }
00000410 EAFFFFA2 B L_60 ; Targ=0x2A0
00000414 ; SCOPE-END
373: }
00000414 E8BD0008 LDMIA R13!,{R3}
00000418 E12FFF13 BX R3
0000041C ENDP ; 'main'
Module Information Static
----------------------------------
code size = ------
data size = 177
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -