📄 main.lst
字号:
304 2 {
305 3 int z_tempangle=0;
306 3 // Z_TXD(flag_pri_tim);
307 3 // Z_TXD(bigp[flag_pri_tim].instruction);
308 3 switch(bigp[flag_pri_tim].instruction)
309 3 {
310 4 case 2:
311 4 {
312 5 // ON_TXD();
313 5 z_tempangle=bigp[flag_pri_tim].x[1]<<8;
314 5 z_tempangle=z_tempangle+bigp[flag_pri_tim].x[2];
315 5
316 5 Z_w_value=-z_tempangle/0.00152;
317 5 }
318 4 break;
319 4 case 3:
320 4 {
321 5 // print_Z_w();
322 5 ZERO_V++;
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 6
323 5 // OFF_TXD();
324 5 }
325 4 break;
326 4 case 4:
327 4 {
328 5 ZERO_V--;
329 5 // OFF_TXD();
330 5 }
331 4 break;
332 4 case 5:
333 4 {
334 5 demarcate(1);
335 5 }
336 4 break;
337 4 }
338 3 }
339 2 /*
340 2 if(z_flag_newins==1)
341 2 {
342 2 int z_tempangle=0;
343 2 switch(z_instruction)
344 2 {
345 2 case 2:
346 2 {
347 2 z_tempangle=z_global_receive_data.dat[0]<<8;
348 2 z_tempangle=z_tempangle+z_global_receive_data.dat[1];
349 2 Z_w_value=z_tempangle/0.00152;
350 2 OFF_TXD();
351 2 }
352 2
353 2 }
354 2
355 2 }
356 2 */
357 2 temp=((int)(Z_w_result));
358 2 Z_Hbit=temp>>8;
359 2 Z_Lbit=temp & 0x00ff;
360 2
361 2 z_global_send_bufn[1].head=0x02;
362 2 z_global_send_bufn[1].dat[0]= Z_Lbit;
363 2 z_global_send_bufn[1].dat[1]= Z_Hbit;
364 2 // z_global_send_buf[1].dat[2]= Z_Sbit;
365 2 // z_global_send_buf[1].dat[3]= 0;
366 2 WatchDog();
367 2 print_Z_w(); //调试W值
368 2 // A_value[0]=read_ADC(0);
369 2 // A_value[1]=read_ADC(1);
370 2 // OFF_LED42();
371 2 Delay_X_ms(1000);//0.25S // 调试W时要调整倒1000
372 2 }
373 1 }
374 ///////////////////////////////////////////////////////////////////////////////////////////////
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE32 (Timer0Init?A)
EXTERN CODE32 (Timer3Init?A)
EXTERN CODE32 (UART_init?A)
EXTERN CODE32 (cls?A)
EXTERN CODE32 (ADC_init?A)
EXTERN CODE32 (read_ADC?A)
EXTERN CODE32 (Delay_X_ms?A)
EXTERN CODE32 (print_Z_w?A)
EXTERN CODE32 (szlb?A)
EXTERN CODE32 (UART_R_ISR?A)
EXTERN CODE32 (Z_COMMUNI_INIT?A)
EXTERN CODE32 (Z_GETYOU?A)
EXTERN DATA (bigp)
EXTERN DATA (z_global_send_bufn)
EXTERN DATA (z_flag_newins)
EXTERN DATA (flag_pri_tim)
EXTERN DATA (pdata)
EXTERN DATA (pmax)
EXTERN DATA (pmin)
EXTERN DATA (datas)
EXTERN CODE32 (?C?SDIV?A)
EXTERN CODE32 (?C?FCAST?A)
EXTERN CODE32 (?C?FPNEG?A)
EXTERN CODE32 (?C?FPMUL?A)
EXTERN NUMBER (__startup)
EXTERN CODE32 (?C?FPDIV?A)
EXTERN CODE32 (?C?CASTF?A)
*** PUBLICS:
PUBLIC demarcate?A
PUBLIC SysClkInit?A
PUBLIC FIQ_Handler?A
PUBLIC main
PUBLIC AD_value
PUBLIC A_value
PUBLIC A_S_value
PUBLIC Z_w_value
PUBLIC Z_w_result
PUBLIC temp1
PUBLIC count1
PUBLIC Z_Hbit
PUBLIC Z_Lbit
PUBLIC Z_Sbit
PUBLIC ZERO_V
PUBLIC zus
PUBLIC x
PUBLIC z_time
PUBLIC z_temp
PUBLIC z_temp1
PUBLIC RealTime
*** DATA SEGMENT '?DT0?main':
00000000 Z_w_value:
00000000 DS 4
00000004 Z_w_result:
00000004 DS 4
00000008 ZERO_V:
00000008 BEGIN_INIT
00000008 000011AB DD 0x11AB
0000000C END_INIT
0000000C x:
0000000C DS 4
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 8
00000010 z_time:
00000010 BEGIN_INIT
00000010 00000000 DD 0x0
00000014 END_INIT
00000014 z_temp:
00000014 DS 4
00000018 z_temp1:
00000018 DS 4
0000001C RealTime:
0000001C DS 4
00000020 AD_value:
00000020 DS 6
00000026 A_value:
00000026 DS 4
0000002A A_S_value:
0000002A DS 128
000000AA count1:
000000AA BEGIN_INIT
000000AA 0000 DW 0x0
000000AC END_INIT
000000AC temp1:
000000AC DS 1
000000AD Z_Hbit:
000000AD DS 1
000000AE Z_Lbit:
000000AE DS 1
000000AF Z_Sbit:
000000AF DS 1
000000B0 zus:
000000B0 BEGIN_INIT
000000B0 00 DB 0x0
000000B1 END_INIT
*** CODE SEGMENT '?PR?demarcate?A?main':
46: void demarcate(unsigned char flag_demarcate)
00000000 E92D40F0 STMDB R13!,{R4-R7,LR}
00000004 E1A04000 MOV R4,R0 ; flag_demarcate
00000008 ---- Variable 'flag_demarcate' assigned to Register 'R4' ----
47: {
00000008 ; SCOPE-START
48: unsigned char z_i = 4,z_j = 5;
00000008 E3A03004 MOV R3,#0x4
0000000C ---- Variable 'z_i' assigned to Register 'R3' ----
0000000C E3A02005 MOV R2,#0x5
00000010 ---- Variable 'z_j' assigned to Register 'R2' ----
51: if(!flag_demarcate)
00000010 E1A00004 MOV R0,R4 ; flag_demarcate
00000014 E1A00C00 MOV R0,R0,LSL #24 ; flag_demarcate
00000018 E1A00C20 MOV R0,R0,LSR #24
0000001C E3500000 CMP R0,#0x0000
00000020 1A000003 BNE L_1 ; Targ=0x34
53: x = 0;
00000024 E3A01000 MOV R1,#0x0
00000028 E5100000 LDR R0,=x ; x
0000002C E5801000 STR R1,[R0,#0x0] ; x
54: }
00000030 EA000002 B L_2 ; Targ=0x40
00000034 L_1:
57: x = 51;
00000034 E3A01033 MOV R1,#0x33
00000038 E5100000 LDR R0,=x ; x
0000003C E5801000 STR R1,[R0,#0x0] ; x
58: }
00000040 L_2:
59: z_temp = 0;
00000040 E3A01000 MOV R1,#0x0
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 9
00000044 E5100000 LDR R0,=z_temp ; z_temp
00000048 E5801000 STR R1,[R0,#0x0] ; z_temp
60: zus=0;
0000004C E3A01000 MOV R1,#0x0
00000050 E5100000 LDR R0,=zus ; zus
00000054 E5C01000 STRB R1,[R0,#0x0] ; zus
61: z_time=0;
00000058 E3A05000 MOV R5,#0x0
0000005C E5100000 LDR R0,=z_time ; z_time
00000060 E5805000 STR R5,[R0,#0x0] ; z_time
62: count1=0;
00000064 E3A05000 MOV R5,#0x0
00000068 E5100000 LDR R0,=count1 ; count1
0000006C E1C050B0 STRH R5,[R0,#0x0] ; count1
63: temp1=0;
00000070 E5100000 LDR R0,=temp1 ; temp1
00000074 E5C01000 STRB R1,[R0,#0x0] ; temp1
66: do
00000078 L_8:
00000078 L_7:
68: if(zus)
00000078 E5100000 LDR R0,=zus ; zus
0000007C E5D00000 LDRB R0,[R0,#0x0] ; zus
00000080 E3500000 CMP R0,#0x0000
00000084 0A00000D BEQ L_9 ; Targ=0xC0
70: z_temp=z_temp+Z_w_value ;
00000088 E5100000 LDR R0,=Z_w_value ; Z_w_value
0000008C E5900000 LDR R0,[R0,#0x0] ; Z_w_value
00000090 E5101000 LDR R1,=z_temp ; z_temp
00000094 E5911000 LDR R1,[R1,#0x0] ; z_temp
00000098 E0811000 ADD R1,R1,R0
0000009C E5100000 LDR R0,=z_temp ; z_temp
000000A0 E5801000 STR R1,[R0,#0x0] ; z_temp
71: z_time++;
000000A4 E5100000 LDR R0,=z_time ; z_time
000000A8 E5901000 LDR R1,[R0,#0x0] ; z_time
000000AC E2811001 ADD R1,R1,#0x0001
000000B0 E5801000 STR R1,[R0,#0x0] ; z_time
72: zus = 0;
000000B4 E3A01000 MOV R1,#0x0
000000B8 E5100000 LDR R0,=zus ; zus
000000BC E5C01000 STRB R1,[R0,#0x0] ; zus
77: }while(z_time<z_i);
000000C0 L_9:
000000C0 E1A00003 MOV R0,R3 ; z_i
000000C4 E1A01C00 MOV R1,R0,LSL #24 ; z_i
000000C8 E1A01C21 MOV R1,R1,LSR #24
000000CC E5100000 LDR R0,=z_time ; z_time
000000D0 E5900000 LDR R0,[R0,#0x0] ; z_time
000000D4 E1500001 CMP R0,R1
000000D8 3AFFFFE6 BCC L_7 ; Targ=0x78
79: z_temp=z_temp/z_i;
000000DC E1A00003 MOV R0,R3 ; z_i
000000E0 E1A01C00 MOV R1,R0,LSL #24 ; z_i
000000E4 E1A01C21 MOV R1,R1,LSR #24
000000E8 E5100000 LDR R0,=z_temp ; z_temp
000000EC E5900000 LDR R0,[R0,#0x0] ; z_temp
000000F0 EBFFFFC2 BL ?C?SDIV?A ; Targ=0x0 ; ?C?SDIV?A
000000F4 E1A00001 MOV R0,R1
000000F8 E5101000 LDR R1,=z_temp ; z_temp
000000FC E5810000 STR R0,[R1,#0x0] ; z_temp
80: if(x<50)
00000100 E5100000 LDR R0,=x ; x
00000104 E5905000 LDR R5,[R0,#0x0] ; x
00000108 E3550032 CMP R5,#0x0032
0000010C 2A00000F BCS L_12 ; Targ=0x150
ARM COMPILER V2.53, main 22/09/07 23:08:04 PAGE 10
82: ZERO_V=ZERO_V-(int)((z_temp1-z_temp)/z_j);
00000110 E5100000 LDR R0,=z_temp ; z_temp
00000114 E5901000 LDR R1,[R0,#0x0] ; z_temp
00000118 E5100000 LDR R0,=z_temp1 ; z_temp1
0000011C E5900000 LDR R0,[R0,#0x0] ; z_temp1
00000120 E0400001 SUB R0,R0,R1
00000124 E1A01002 MOV R1,R2 ; z_j
00000128 E1A01C01 MOV R1,R1,LSL #24 ; z_j
0000012C E1A01C21 MOV R1,R1,LSR #24
00000130 EBFFFFB2 BL ?C?SDIV?A ; Targ=0x0 ; ?C?SDIV?A
00000134 E1A00001 MOV R0,R1
00000138 E5101000 LDR R1,=ZERO_V ; ZERO_V
0000013C E5911000 LDR R1,[R1,#0x0] ; ZERO_V
00000140 E0411000 SUB R1,R1,R0
00000144 E5100000 LDR R0,=ZERO_V ; ZERO_V
00000148 E5801000 STR R1,[R0,#0x0] ; ZERO_V
83: }
0000014C EA000011 B L_13 ; Targ=0x198
00000150 L_12:
86: if((z_temp-30)>z_temp1)
00000150 E5100000 LDR R0,=z_temp ; z_temp
00000154 E5900000 LDR R0,[R0,#0x0] ; z_temp
00000158 E240601E SUB R6,R0,#0x001E
0000015C E5101000 LDR R1,=z_temp1 ; z_temp1
00000160 E5911000 LDR R1,[R1,#0x0] ; z_temp1
00000164 E1560001 CMP R6,R1
00000168 DA000003 BLE L_14 ; Targ=0x17C
88: ZERO_V++;
0000016C E5106000 LDR R6,=ZERO_V ; ZERO_V
00000170 E5967000 LDR R7,[R6,#0x0] ; ZERO_V
00000174 E2877001 ADD R7,R7,#0x0001
00000178 E5867000 STR R7,[R6,#0x0] ; ZERO_V
89: }
0000017C L_14:
90: if((z_temp+30)<z_temp1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -