📄 others.lst
字号:
ARM COMPILER V2.53, others 22/09/07 23:08:05 PAGE 1
ARM COMPILER V2.53, COMPILATION OF MODULE others
OBJECT MODULE PLACED IN others.OBJ
COMPILER INVOKED BY: D:\Keil\ARM\BIN\CA.exe others.c ARM BROWSE DEBUG TABS(4)
stmt level source
1 #include "my_type.h"
2 #include <ADuC7020.H>
3 #include "UART.H"
4 #include "LED.H"
5 #include "ADC.H"
6 #include "math.H"
7 ///////////////////////////////////////
8 extern uint16 AD_value[3];
9 //固定坐标系下位移
10 extern float Z_w_result;
11 extern int ZERO_V;
12 /////////////////////////////////////////
13
14 /**************************简单的延时函数*****************************/
15 void Delay_X_ms(uint32 x)
16 {
17 1 uint32 i;
18 1 while(x--)
19 1 {
20 2 i=1000;
21 2 while(i--);
22 2 }
23 1 }
24 /**********************************************************************/
25
26 //////////////////////////////将w角度显示出来/////////////
27 void print_Z_w(void)
28 {
29 1
30 1 // uint16 value;
31 1 int zero;
32 1 uint32 result;
33 1 uint8 s_result[14];
34 1
35 1 if(Z_w_result>=0)
36 1 {prints("+",0);}
37 1 else{prints("-",0);}
38 1 zero = ZERO_V;
39 1 result=(int)((fabs)(Z_w_result*10));
40 1 s_result[14]=0; //将结果转换成字符串
41 1
42 1 s_result[13]='0'+zero%10;
43 1 zero/=10;
44 1 s_result[12]='0'+zero%10;
45 1 zero/=10;
46 1 s_result[11]='0'+zero%10;
47 1 zero/=10;
48 1 s_result[10]='0'+zero%10;
49 1 s_result[9]='z';
50 1 s_result[8]=' ';
51 1 s_result[7]='u';
52 1 s_result[6]='d';
53 1 s_result[5]='0'+result%10;
54 1 result/=10;
55 1 s_result[4]='.';
56 1 s_result[3]='0'+result%10;
57 1 result/=10;
58 1 s_result[2]='0'+result%10;
59 1 result/=10;
ARM COMPILER V2.53, others 22/09/07 23:08:05 PAGE 2
60 1 s_result[1]='0'+result%10;
61 1 result/=10;
62 1 s_result[0]='0'+result%10;
63 1
64 1 prints(s_result,1);
65 1 }
66 //////////////////////////////////////////////////////////////////////////////
67
ARM COMPILER V2.53, others 22/09/07 23:08:05 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
*** EXTERNALS:
EXTERN CODE32 (prints?A)
EXTERN CODE32 (fabs?A)
EXTERN DATA (Z_w_result)
EXTERN DATA (ZERO_V)
EXTERN CODE32 (?C?FPCMP?A)
EXTERN CODE32 (?C?FPMUL?A)
EXTERN CODE32 (?C?CASTF?A)
EXTERN CODE32 (?C?SDIV?A)
EXTERN CODE32 (?C?UDIV?A)
*** PUBLICS:
PUBLIC Delay_X_ms?A
PUBLIC print_Z_w?A
*** DATA SEGMENT '?CON?others':
00000000 ??S_2:
00000000 DB '-',0x00
00000002 ??S_1:
00000002 DB '+',0x00
*** CODE SEGMENT '?PR?Delay_X_ms?A?others':
15: void Delay_X_ms(uint32 x)
00000000 ---- Variable 'x' assigned to Register 'R0' ----
16: {
00000000 ; SCOPE-START
18: while(x--)
00000000 EA000004 B L_1 ; Targ=0x18
00000004 L_3:
20: i=1000;
00000004 E3A01FFA MOV R1,#0x3E8
00000008 ---- Variable 'i' assigned to Register 'R1' ----
21: while(i--);
00000008 L_5:
00000008 E1A02001 MOV R2,R1 ; i
0000000C E2421001 SUB R1,R2,#0x0001 ; i
00000010 E3520000 CMP R2,#0x0000 ; i
00000014 1AFFFFFB BNE L_5 ; Targ=0x8
22: }
00000018 L_1:
00000018 E1A01000 MOV R1,R0 ; x
0000001C E2410001 SUB R0,R1,#0x0001 ; x
00000020 E3510000 CMP R1,#0x0000 ; x
00000024 1AFFFFF6 BNE L_3 ; Targ=0x4
00000028 ; SCOPE-END
23: }
00000028 E12FFF1E BX R14
0000002C ENDP ; 'Delay_X_ms?A'
*** CODE SEGMENT '?PR?print_Z_w?A?others':
27: void print_Z_w(void)
00000000 E92D4010 STMDB R13!,{R4,LR}
00000004 E24DD010 SUB R13,R13,#0x0010
28: {
00000008 ; SCOPE-START
35: if(Z_w_result>=0)
00000008 E3A04000 MOV R4,#0x0
0000000C E5100000 LDR R0,=Z_w_result ; Z_w_result
00000010 E5900000 LDR R0,[R0,#0x0] ; Z_w_result
00000014 E1A01004 MOV R1,R4
00000018 EBFFFFF8 BL ?C?FPCMP?A ; Targ=0x0 ; ?C?FPCMP?A
0000001C 3A000003 BCC L_9 ; Targ=0x30
36: {prints("+",0);}
00000020 E3E00102 MVN R0,#0x102 ; ??S_1
00000024 E3A01000 MOV R1,#0x0
ARM COMPILER V2.53, others 22/09/07 23:08:05 PAGE 4
00000028 EBFFFFF4 BL prints?A ; Targ=0x0
0000002C EA000002 B L_10 ; Targ=0x3C
00000030 L_9:
37: else{prints("-",0);}
00000030 E3E00102 MVN R0,#0x102 ; ??S_2
00000034 E3A01000 MOV R1,#0x0
00000038 EBFFFFF0 BL prints?A ; Targ=0x0
0000003C L_10:
38: zero = ZERO_V;
0000003C E5100000 LDR R0,=ZERO_V ; ZERO_V
00000040 E5904000 LDR R4,[R0,#0x0] ; ZERO_V
00000044 ---- Variable 'zero' assigned to Register 'R4' ----
39: result=(int)((fabs)(Z_w_result*10));
00000044 E5101000 LDR R1,=0x41200000
00000048 E5100000 LDR R0,=Z_w_result ; Z_w_result
0000004C E5900000 LDR R0,[R0,#0x0] ; Z_w_result
00000050 EBFFFFEA BL ?C?FPMUL?A ; Targ=0x0 ; ?C?FPMUL?A
00000054 EBFFFFE9 BL fabs?A ; Targ=0x0
00000058 EBFFFFE8 BL ?C?CASTF?A ; Targ=0x0 ; ?C?CASTF?A
0000005C E1A03000 MOV R3,R0
00000060 ---- Variable 'result' assigned to Register 'R3' ----
40: s_result[14]=0; //将结果转换成字符串
00000060 E3A01000 MOV R1,#0x0
00000064 E3A0000E MOV R0,#0xE
00000068 E080000D ADD R0,R0,R13
0000006C E5C01000 STRB R1,[R0,#0x0] ; s_result+14
42: s_result[13]='0'+zero%10;
00000070 E1A00004 MOV R0,R4 ; zero
00000074 E3A0100A MOV R1,#0xA
00000078 EBFFFFE0 BL ?C?SDIV?A ; Targ=0x0 ; ?C?SDIV?A
0000007C E1A01000 MOV R1,R0
00000080 E2811030 ADD R1,R1,#0x0030
00000084 E1A01C01 MOV R1,R1,LSL #24
00000088 E1A01C21 MOV R1,R1,LSR #24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -