Raphael_lacroix-Aurelia_lej.../PjtKEIL_DFT_Signal_Reel/dft.lst

542 lines
25 KiB
Text

ARM Macro Assembler Page 1
1 00000000 PRESERVE8
2 00000000 THUMB
3 00000000
4 00000000
5 00000000 ; ====================== zone de réservation de données,
======================================
6 00000000 ;Section RAM (read only) :
7 00000000 area mesdata,data,readonly
8 00000000 extern LeSignal
9 00000000
10 00000000
11 00000000 ;Section RAM (read write):
12 00000000 area maram,data,readwrite
13 00000000
14 00000000 ; ======================================================
=========================================
15 00000000
16 00000000
17 00000000
18 00000000
19 00000000 ;Section ROM code (read only) :
20 00000000 area moncode,code,readonly
21 00000000 ; écrire le code ici
22 00000000
23 00000000 export DFT_ModuleAuCarre
24 00000000
25 00000000 DFT_ModuleAuCarre
proc
26 00000000 E92D 4FF0 push {lr, r4-r11}
27 00000004 ;r0 := &LeSignal
28 00000004 ;r1 := k
29 00000004 ; stock 64
30 00000004 F04F 0240 mov r2, #64
31 00000008 ; sert d'index (n)
32 00000008 F04F 0300 mov r3, #0
33 0000000C
34 0000000C ; r6,r9,r10,r11 : stockage temporaire
35 0000000C
36 0000000C ; r4 : valeur retournée des Cos
37 0000000C F04F 0400 mov r4, #0
38 00000010 ; r5 : valeur retournée des Sin
39 00000010 F04F 0500 mov r5, #0
40 00000014
41 00000014 ; r7 : tableau des Cos
42 00000014 4F0F ldr r7, =TabCos
43 00000016 ; r8 : tableau des Sin
44 00000016 F8DF 8040 ldr r8, =TabSin
45 0000001A
46 0000001A
47 0000001A start
48 0000001A 4293 cmp r3, r2
49 0000001C D012 beq Out
50 0000001E
51 0000001E ; r9=LeSignal[index]=x(n)
52 0000001E F930 9013 ldrsh r9, [r0, r3,lsl #1] ; car forma
t 4.12 ==> 16 bits
53 00000022
54 00000022 ; r6 = p = k * n
55 00000022 FB03 F601 mul r6, r3, r1
ARM Macro Assembler Page 2
56 00000026 ; r6 = p % 64
57 00000026 F006 063F and r6, r6, #63
58 0000002A
59 0000002A ;======== partie reelle
60 0000002A ; r10=TabCos[p]
61 0000002A F937 A016 ldrsh r10, [r7, r6,lsl#1] ; 1.15 ==>
toujours 16 bits
62 0000002E
63 0000002E ; r11=X(n)* cos(2pi*p/M) puis on accumule dans r4
64 0000002E FB09 FB0A mul r11, r9, r10
65 00000032 445C add r4, r11
66 00000034
67 00000034 ;==== partie imaginaire
68 00000034
69 00000034 ; r10=TabSin[p]
70 00000034 F938 A016 ldrsh r10, [r8, r6,lsl#1]
71 00000038
72 00000038 ; r11=X(n)* cos(2pi*p/M) puis on accumule dans r4
73 00000038 FB09 FB0A mul r11, r9, r10
74 0000003C 445D add r5, r11
75 0000003E
76 0000003E
77 0000003E F103 0301 add r3, #1
78 00000042 E7EA b start
79 00000044
80 00000044 Out
81 00000044
82 00000044 ; on récupère r0 sur les bits de poids forts
83 00000044
84 00000044 FB84 1004 smull r1,r0,r4,r4 ;; r0 = Xreel^2
85 00000048 FBC5 1005 smlal r1,r0,r5,r5 ;; r0 += Ximag^2
86 0000004C
87 0000004C E8BD 0FF0 pop {r4-r11}
88 00000050 BD00 pop{pc}
89 00000052
90 00000052 endp
91 00000052
92 00000052
93 00000052
94 00000052
95 00000052
96 00000052
97 00000052
98 00000052
99 00000052
100 00000052
101 00000052
102 00000052
103 00000052
104 00000052
105 00000052 ;Section ROM code (read only) :
106 00000052 00 00 00000000
00000000 AREA Trigo, DATA, READONLY
107 00000000 ; codage fractionnaire 1.15
108 00000000
109 00000000 TabCos
110 00000000 FF 7F DCW 32767 ; 0 0x7fff 0.9999
7
111 00000002 62 7F DCW 32610 ; 1 0x7f62 0.9951
ARM Macro Assembler Page 3
8
112 00000004 8A 7D DCW 32138 ; 2 0x7d8a 0.9807
7
113 00000006 7D 7A DCW 31357 ; 3 0x7a7d 0.9569
4
114 00000008 42 76 DCW 30274 ; 4 0x7642 0.9238
9
115 0000000A E3 70 DCW 28899 ; 5 0x70e3 0.8819
3
116 0000000C 6E 6A DCW 27246 ; 6 0x6a6e 0.8314
8
117 0000000E F2 62 DCW 25330 ; 7 0x62f2 0.7730
1
118 00000010 82 5A DCW 23170 ; 8 0x5a82 0.7070
9
119 00000012 34 51 DCW 20788 ; 9 0x5134 0.6344
0
120 00000014 1D 47 DCW 18205 ; 10 0x471d 0.5555
7
121 00000016 57 3C DCW 15447 ; 11 0x3c57 0.4714
1
122 00000018 FC 30 DCW 12540 ; 12 0x30fc 0.3826
9
123 0000001A 28 25 DCW 9512 ; 13 0x2528 0.2902
8
124 0000001C F9 18 DCW 6393 ; 14 0x18f9 0.1951
0
125 0000001E 8C 0C DCW 3212 ; 15 0x0c8c 0.0980
2
126 00000020 00 00 DCW 0 ; 16 0x0000 0.0000
0
127 00000022 74 F3 DCW -3212 ; 17 0xf374 -0.0980
2
128 00000024 07 E7 DCW -6393 ; 18 0xe707 -0.1951
0
129 00000026 D8 DA DCW -9512 ; 19 0xdad8 -0.2902
8
130 00000028 04 CF DCW -12540 ; 20 0xcf04 -0.3826
9
131 0000002A A9 C3 DCW -15447 ; 21 0xc3a9 -0.4714
1
132 0000002C E3 B8 DCW -18205 ; 22 0xb8e3 -0.5555
7
133 0000002E CC AE DCW -20788 ; 23 0xaecc -0.6344
0
134 00000030 7E A5 DCW -23170 ; 24 0xa57e -0.7070
9
135 00000032 0E 9D DCW -25330 ; 25 0x9d0e -0.7730
1
136 00000034 92 95 DCW -27246 ; 26 0x9592 -0.8314
8
137 00000036 1D 8F DCW -28899 ; 27 0x8f1d -0.8819
3
138 00000038 BE 89 DCW -30274 ; 28 0x89be -0.9238
9
139 0000003A 83 85 DCW -31357 ; 29 0x8583 -0.9569
4
140 0000003C 76 82 DCW -32138 ; 30 0x8276 -0.9807
7
ARM Macro Assembler Page 4
141 0000003E 9E 80 DCW -32610 ; 31 0x809e -0.9951
8
142 00000040 00 80 DCW -32768 ; 32 0x8000 -1.0000
0
143 00000042 9E 80 DCW -32610 ; 33 0x809e -0.9951
8
144 00000044 76 82 DCW -32138 ; 34 0x8276 -0.9807
7
145 00000046 83 85 DCW -31357 ; 35 0x8583 -0.9569
4
146 00000048 BE 89 DCW -30274 ; 36 0x89be -0.9238
9
147 0000004A 1D 8F DCW -28899 ; 37 0x8f1d -0.8819
3
148 0000004C 92 95 DCW -27246 ; 38 0x9592 -0.8314
8
149 0000004E 0E 9D DCW -25330 ; 39 0x9d0e -0.7730
1
150 00000050 7E A5 DCW -23170 ; 40 0xa57e -0.7070
9
151 00000052 CC AE DCW -20788 ; 41 0xaecc -0.6344
0
152 00000054 E3 B8 DCW -18205 ; 42 0xb8e3 -0.5555
7
153 00000056 A9 C3 DCW -15447 ; 43 0xc3a9 -0.4714
1
154 00000058 04 CF DCW -12540 ; 44 0xcf04 -0.3826
9
155 0000005A D8 DA DCW -9512 ; 45 0xdad8 -0.2902
8
156 0000005C 07 E7 DCW -6393 ; 46 0xe707 -0.1951
0
157 0000005E 74 F3 DCW -3212 ; 47 0xf374 -0.0980
2
158 00000060 00 00 DCW 0 ; 48 0x0000 0.0000
0
159 00000062 8C 0C DCW 3212 ; 49 0x0c8c 0.0980
2
160 00000064 F9 18 DCW 6393 ; 50 0x18f9 0.1951
0
161 00000066 28 25 DCW 9512 ; 51 0x2528 0.2902
8
162 00000068 FC 30 DCW 12540 ; 52 0x30fc 0.3826
9
163 0000006A 57 3C DCW 15447 ; 53 0x3c57 0.4714
1
164 0000006C 1D 47 DCW 18205 ; 54 0x471d 0.5555
7
165 0000006E 34 51 DCW 20788 ; 55 0x5134 0.6344
0
166 00000070 82 5A DCW 23170 ; 56 0x5a82 0.7070
9
167 00000072 F2 62 DCW 25330 ; 57 0x62f2 0.7730
1
168 00000074 6E 6A DCW 27246 ; 58 0x6a6e 0.8314
8
169 00000076 E3 70 DCW 28899 ; 59 0x70e3 0.8819
3
170 00000078 42 76 DCW 30274 ; 60 0x7642 0.9238
ARM Macro Assembler Page 5
9
171 0000007A 7D 7A DCW 31357 ; 61 0x7a7d 0.9569
4
172 0000007C 8A 7D DCW 32138 ; 62 0x7d8a 0.9807
7
173 0000007E 62 7F DCW 32610 ; 63 0x7f62 0.9951
8
174 00000080 TabSin
175 00000080 00 00 DCW 0 ; 0 0x0000 0.0000
0
176 00000082 8C 0C DCW 3212 ; 1 0x0c8c 0.0980
2
177 00000084 F9 18 DCW 6393 ; 2 0x18f9 0.1951
0
178 00000086 28 25 DCW 9512 ; 3 0x2528 0.2902
8
179 00000088 FC 30 DCW 12540 ; 4 0x30fc 0.3826
9
180 0000008A 57 3C DCW 15447 ; 5 0x3c57 0.4714
1
181 0000008C 1D 47 DCW 18205 ; 6 0x471d 0.5555
7
182 0000008E 34 51 DCW 20788 ; 7 0x5134 0.6344
0
183 00000090 82 5A DCW 23170 ; 8 0x5a82 0.7070
9
184 00000092 F2 62 DCW 25330 ; 9 0x62f2 0.7730
1
185 00000094 6E 6A DCW 27246 ; 10 0x6a6e 0.8314
8
186 00000096 E3 70 DCW 28899 ; 11 0x70e3 0.8819
3
187 00000098 42 76 DCW 30274 ; 12 0x7642 0.9238
9
188 0000009A 7D 7A DCW 31357 ; 13 0x7a7d 0.9569
4
189 0000009C 8A 7D DCW 32138 ; 14 0x7d8a 0.9807
7
190 0000009E 62 7F DCW 32610 ; 15 0x7f62 0.9951
8
191 000000A0 FF 7F DCW 32767 ; 16 0x7fff 0.9999
7
192 000000A2 62 7F DCW 32610 ; 17 0x7f62 0.9951
8
193 000000A4 8A 7D DCW 32138 ; 18 0x7d8a 0.9807
7
194 000000A6 7D 7A DCW 31357 ; 19 0x7a7d 0.9569
4
195 000000A8 42 76 DCW 30274 ; 20 0x7642 0.9238
9
196 000000AA E3 70 DCW 28899 ; 21 0x70e3 0.8819
3
197 000000AC 6E 6A DCW 27246 ; 22 0x6a6e 0.8314
8
198 000000AE F2 62 DCW 25330 ; 23 0x62f2 0.7730
1
199 000000B0 82 5A DCW 23170 ; 24 0x5a82 0.7070
9
200 000000B2 34 51 DCW 20788 ; 25 0x5134 0.6344
ARM Macro Assembler Page 6
0
201 000000B4 1D 47 DCW 18205 ; 26 0x471d 0.5555
7
202 000000B6 57 3C DCW 15447 ; 27 0x3c57 0.4714
1
203 000000B8 FC 30 DCW 12540 ; 28 0x30fc 0.3826
9
204 000000BA 28 25 DCW 9512 ; 29 0x2528 0.2902
8
205 000000BC F9 18 DCW 6393 ; 30 0x18f9 0.1951
0
206 000000BE 8C 0C DCW 3212 ; 31 0x0c8c 0.0980
2
207 000000C0 00 00 DCW 0 ; 32 0x0000 0.0000
0
208 000000C2 74 F3 DCW -3212 ; 33 0xf374 -0.0980
2
209 000000C4 07 E7 DCW -6393 ; 34 0xe707 -0.1951
0
210 000000C6 D8 DA DCW -9512 ; 35 0xdad8 -0.2902
8
211 000000C8 04 CF DCW -12540 ; 36 0xcf04 -0.3826
9
212 000000CA A9 C3 DCW -15447 ; 37 0xc3a9 -0.4714
1
213 000000CC E3 B8 DCW -18205 ; 38 0xb8e3 -0.5555
7
214 000000CE CC AE DCW -20788 ; 39 0xaecc -0.6344
0
215 000000D0 7E A5 DCW -23170 ; 40 0xa57e -0.7070
9
216 000000D2 0E 9D DCW -25330 ; 41 0x9d0e -0.7730
1
217 000000D4 92 95 DCW -27246 ; 42 0x9592 -0.8314
8
218 000000D6 1D 8F DCW -28899 ; 43 0x8f1d -0.8819
3
219 000000D8 BE 89 DCW -30274 ; 44 0x89be -0.9238
9
220 000000DA 83 85 DCW -31357 ; 45 0x8583 -0.9569
4
221 000000DC 76 82 DCW -32138 ; 46 0x8276 -0.9807
7
222 000000DE 9E 80 DCW -32610 ; 47 0x809e -0.9951
8
223 000000E0 00 80 DCW -32768 ; 48 0x8000 -1.0000
0
224 000000E2 9E 80 DCW -32610 ; 49 0x809e -0.9951
8
225 000000E4 76 82 DCW -32138 ; 50 0x8276 -0.9807
7
226 000000E6 83 85 DCW -31357 ; 51 0x8583 -0.9569
4
227 000000E8 BE 89 DCW -30274 ; 52 0x89be -0.9238
9
228 000000EA 1D 8F DCW -28899 ; 53 0x8f1d -0.8819
3
229 000000EC 92 95 DCW -27246 ; 54 0x9592 -0.8314
8
ARM Macro Assembler Page 7
230 000000EE 0E 9D DCW -25330 ; 55 0x9d0e -0.7730
1
231 000000F0 7E A5 DCW -23170 ; 56 0xa57e -0.7070
9
232 000000F2 CC AE DCW -20788 ; 57 0xaecc -0.6344
0
233 000000F4 E3 B8 DCW -18205 ; 58 0xb8e3 -0.5555
7
234 000000F6 A9 C3 DCW -15447 ; 59 0xc3a9 -0.4714
1
235 000000F8 04 CF DCW -12540 ; 60 0xcf04 -0.3826
9
236 000000FA D8 DA DCW -9512 ; 61 0xdad8 -0.2902
8
237 000000FC 07 E7 DCW -6393 ; 62 0xe707 -0.1951
0
238 000000FE 74 F3 DCW -3212 ; 63 0xf374 -0.0980
2
239 00000100
240 00000100
241 00000100
242 00000100
243 00000100 END
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=.\obj\dft.d -o.\obj\dft.o -I.\RTE\_CibleSondeKEIL -IC:\Programdata
\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Programdata\Keil\Arm\Pa
cks\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVAL SETA 1" --prede
fine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 534" --predefine="
_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_RTE_ SETA 1" --li
st=dft.lst Src\DFT.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
mesdata 00000000
Symbol: mesdata
Definitions
At line 7 in file Src\DFT.s
Uses
None
Comment: mesdata unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
maram 00000000
Symbol: maram
Definitions
At line 12 in file Src\DFT.s
Uses
None
Comment: maram unused
1 symbol
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
DFT_ModuleAuCarre 00000000
Symbol: DFT_ModuleAuCarre
Definitions
At line 25 in file Src\DFT.s
Uses
At line 23 in file Src\DFT.s
Comment: DFT_ModuleAuCarre used once
Out 00000044
Symbol: Out
Definitions
At line 80 in file Src\DFT.s
Uses
At line 49 in file Src\DFT.s
Comment: Out used once
moncode 00000000
Symbol: moncode
Definitions
At line 20 in file Src\DFT.s
Uses
None
Comment: moncode unused
start 0000001A
Symbol: start
Definitions
At line 47 in file Src\DFT.s
Uses
At line 78 in file Src\DFT.s
Comment: start used once
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
TabCos 00000000
Symbol: TabCos
Definitions
At line 109 in file Src\DFT.s
Uses
At line 42 in file Src\DFT.s
Comment: TabCos used once
TabSin 00000080
Symbol: TabSin
Definitions
At line 174 in file Src\DFT.s
Uses
At line 44 in file Src\DFT.s
Comment: TabSin used once
Trigo 00000000
Symbol: Trigo
Definitions
At line 106 in file Src\DFT.s
Uses
None
Comment: Trigo unused
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
LeSignal 00000000
Symbol: LeSignal
Definitions
At line 8 in file Src\DFT.s
Uses
None
Comment: LeSignal unused
1 symbol
347 symbols in table