Files
bassofono/codice/build/tx.lst
2022-02-06 17:40:36 +01:00

1025 lines
37 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccl00Jnn.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 2
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "tx.c"
14 .text
15 .global __aeabi_dadd
16 .global __aeabi_dcmpge
17 .global __aeabi_d2uiz
18 .section .text.trasmetti,"ax",%progbits
19 .align 1
20 .p2align 2,,3
21 .global trasmetti
22 .arch armv7e-m
23 .syntax unified
24 .thumb
25 .thumb_func
26 .fpu fpv4-sp-d16
28 trasmetti:
29 @ args = 0, pretend = 0, frame = 8
30 @ frame_needed = 0, uses_anonymous_args = 0
31 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
32 0004 964C ldr r4, .L45+24
33 0006 2378 ldrb r3, [r4] @ zero_extendqisi2
34 0008 83B0 sub sp, sp, #12
35 000a 002B cmp r3, #0
36 000c 40F08580 bne .L38
37 .L2:
38 0010 DFF88CC2 ldr ip, .L45+88
39 0014 9CF80030 ldrb r3, [ip] @ zero_extendqisi2
40 0018 3BB3 cbz r3, .L15
41 001a 924B ldr r3, .L45+28
42 001c DFF884E2 ldr lr, .L45+92
43 0020 914A ldr r2, .L45+32
44 0022 1D68 ldr r5, [r3]
45 0024 DEF80030 ldr r3, [lr]
46 0028 1278 ldrb r2, [r2] @ zero_extendqisi2
47 002a 9049 ldr r1, .L45+36
48 002c 9048 ldr r0, .L45+40
49 002e 914E ldr r6, .L45+44
50 0030 4B60 str r3, [r1, #4]
51 0032 05EB0308 add r8, r5, r3
52 0036 00EB0230 add r0, r0, r2, lsl #12
53 003a 0023 movs r3, #0
54 003c 4246 mov r2, r8
55 .L16:
56 003e C3F30B14 ubfx r4, r3, #4, #12
57 0042 8F68 ldr r7, [r1, #8]
58 0044 4A60 str r2, [r1, #4]
ARM GAS /tmp/ccl00Jnn.s page 2
59 0046 0133 adds r3, r3, #1
60 0048 56F82440 ldr r4, [r6, r4, lsl #2]
61 004c 40F8044F str r4, [r0, #4]!
62 0050 B3F5806F cmp r3, #1024
63 0054 2A44 add r2, r2, r5
64 0056 F2D1 bne .L16
65 0058 C5EB8525 rsb r5, r5, r5, lsl #10
66 005c 4544 add r5, r5, r8
67 005e CEF80050 str r5, [lr]
68 0062 0023 movs r3, #0
69 0064 8A68 ldr r2, [r1, #8]
70 0066 8CF80030 strb r3, [ip]
71 .L15:
72 006a 834F ldr r7, .L45+48
73 006c 3B78 ldrb r3, [r7] @ zero_extendqisi2
74 006e 23B1 cbz r3, .L1
75 0070 824B ldr r3, .L45+52
76 0072 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2
77 0074 033B subs r3, r3, #3
78 0076 012B cmp r3, #1
79 0078 02D9 bls .L39
80 .L1:
81 007a 03B0 add sp, sp, #12
82 @ sp needed
83 007c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
84 .L39:
85 0080 7F4B ldr r3, .L45+56
86 0082 804A ldr r2, .L45+60
87 0084 1B78 ldrb r3, [r3] @ zero_extendqisi2
88 0086 804E ldr r6, .L45+64
89 0088 0192 str r2, [sp, #4]
90 008a 06EB0326 add r6, r6, r3, lsl #8
91 008e D2E90045 ldrd r4, [r2]
92 0092 0FF2B419 adr r9, .L45
93 0096 D9E90089 ldrd r8, [r9]
94 009a 0FF2B41B adr fp, .L45+8
95 009e DBE900AB ldrd r10, [fp]
96 00a2 06F58073 add r3, r6, #256
97 00a6 0093 str r3, [sp]
98 .L22:
99 00a8 4246 mov r2, r8
100 00aa 4B46 mov r3, r9
101 00ac 2046 mov r0, r4
102 00ae 2946 mov r1, r5
103 00b0 FFF7FEFF bl __aeabi_dadd
104 00b4 5246 mov r2, r10
105 00b6 5B46 mov r3, fp
106 00b8 0446 mov r4, r0
107 00ba 0D46 mov r5, r1
108 00bc FFF7FEFF bl __aeabi_dcmpge
109 00c0 F8B9 cbnz r0, .L19
110 00c2 45EC104B vmov d0, r4, r5
111 00c6 FFF7FEFF bl sin
112 00ca 53EC102B vmov r2, r3, d0
113 00ce 10EE100A vmov r0, s0 @ int
114 00d2 1946 mov r1, r3
115 00d4 FFF7FEFF bl __aeabi_dadd
ARM GAS /tmp/ccl00Jnn.s page 3
116 00d8 5FA3 adr r3, .L45+16
117 00da D3E90023 ldrd r2, [r3]
118 00de FFF7FEFF bl __aeabi_dadd
119 00e2 FFF7FEFF bl __aeabi_d2uiz
120 00e6 80B2 uxth r0, r0
121 00e8 46F8040B str r0, [r6], #4
122 00ec 009B ldr r3, [sp]
123 00ee B342 cmp r3, r6
124 00f0 DAD1 bne .L22
125 .L21:
126 00f2 019B ldr r3, [sp, #4]
127 00f4 C3E90045 strd r4, [r3]
128 00f8 0023 movs r3, #0
129 00fa 3B70 strb r3, [r7]
130 00fc 03B0 add sp, sp, #12
131 @ sp needed
132 00fe BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
133 .L19:
134 0102 40F2FF73 movw r3, #2047
135 0106 46F8043B str r3, [r6], #4
136 010a 009B ldr r3, [sp]
137 010c 9E42 cmp r6, r3
138 010e 4FF00004 mov r4, #0
139 0112 4FF00005 mov r5, #0
140 0116 C7D1 bne .L22
141 0118 EBE7 b .L21
142 .L38:
143 011a 5C48 ldr r0, .L45+68
144 011c 0122 movs r2, #1
145 011e 2021 movs r1, #32
146 0120 FFF7FEFF bl HAL_GPIO_WritePin
147 0124 554B ldr r3, .L45+52
148 0126 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2
149 0128 73B1 cbz r3, .L40
150 012a 5A1E subs r2, r3, #1
151 012c 012A cmp r2, #1
152 012e 5ED9 bls .L41
153 0130 052B cmp r3, #5
154 0132 7CD0 beq .L42
155 0134 033B subs r3, r3, #3
156 0136 012B cmp r3, #1
157 0138 10D9 bls .L43
158 .L5:
159 013a 0022 movs r2, #0
160 013c 5348 ldr r0, .L45+68
161 013e 2270 strb r2, [r4]
162 0140 2021 movs r1, #32
163 0142 FFF7FEFF bl HAL_GPIO_WritePin
164 0146 63E7 b .L2
165 .L40:
166 0148 514A ldr r2, .L45+72
167 014a 02F58071 add r1, r2, #256
168 .L4:
169 014e 42F8043F str r3, [r2, #4]!
170 0152 9142 cmp r1, r2
171 0154 03F12003 add r3, r3, #32
172 0158 F9D1 bne .L4
ARM GAS /tmp/ccl00Jnn.s page 4
173 015a EEE7 b .L5
174 .L43:
175 015c 484A ldr r2, .L45+56
176 015e 4D4B ldr r3, .L45+76
177 0160 1278 ldrb r2, [r2] @ zero_extendqisi2
178 0162 33F81250 ldrh r5, [r3, r2, lsl #1]
179 0166 474B ldr r3, .L45+60
180 0168 0193 str r3, [sp, #4]
181 016a 0FF2DC0B adr fp, .L45
182 016e DBE900AB ldrd r10, [fp]
183 0172 0FF2DC09 adr r9, .L45+8
184 0176 D9E90089 ldrd r8, [r9]
185 017a D3E90067 ldrd r6, [r3]
186 017e 05F58073 add r3, r5, #256
187 0182 0093 str r3, [sp]
188 .L14:
189 0184 3046 mov r0, r6
190 0186 3946 mov r1, r7
191 0188 5246 mov r2, r10
192 018a 5B46 mov r3, fp
193 018c FFF7FEFF bl __aeabi_dadd
194 0190 4246 mov r2, r8
195 0192 4B46 mov r3, r9
196 0194 0646 mov r6, r0
197 0196 0F46 mov r7, r1
198 0198 FFF7FEFF bl __aeabi_dcmpge
199 019c D8B9 cbnz r0, .L11
200 019e 47EC106B vmov d0, r6, r7
201 01a2 FFF7FEFF bl sin
202 01a6 53EC102B vmov r2, r3, d0
203 01aa 10EE100A vmov r0, s0 @ int
204 01ae 1946 mov r1, r3
205 01b0 FFF7FEFF bl __aeabi_dadd
206 01b4 28A3 adr r3, .L45+16
207 01b6 D3E90023 ldrd r2, [r3]
208 01ba FFF7FEFF bl __aeabi_dadd
209 01be FFF7FEFF bl __aeabi_d2uiz
210 01c2 80B2 uxth r0, r0
211 01c4 45F8040B str r0, [r5], #4
212 01c8 009B ldr r3, [sp]
213 01ca 9D42 cmp r5, r3
214 01cc DAD1 bne .L14
215 .L13:
216 01ce 019B ldr r3, [sp, #4]
217 01d0 C3E90067 strd r6, [r3]
218 01d4 B1E7 b .L5
219 .L11:
220 01d6 40F2FF73 movw r3, #2047
221 01da 45F8043B str r3, [r5], #4
222 01de 009B ldr r3, [sp]
223 01e0 AB42 cmp r3, r5
224 01e2 4FF00006 mov r6, #0
225 01e6 4FF00007 mov r7, #0
226 01ea CBD1 bne .L14
227 01ec EFE7 b .L13
228 .L41:
229 01ee DFF8B8A0 ldr r10, .L45+96
ARM GAS /tmp/ccl00Jnn.s page 5
230 01f2 1E4F ldr r7, .L45+36
231 01f4 284D ldr r5, .L45+80
232 01f6 DAF80030 ldr r3, [r10]
233 01fa DFF8B090 ldr r9, .L45+100
234 01fe 7B60 str r3, [r7, #4]
235 0200 05F58078 add r8, r5, #256
236 0204 01E0 b .L8
237 .L44:
238 0206 DAF80030 ldr r3, [r10]
239 .L8:
240 020a BE68 ldr r6, [r7, #8]
241 020c 4B44 add r3, r3, r9
242 020e CAF80030 str r3, [r10]
243 0212 7B60 str r3, [r7, #4]
244 0214 55F8041F ldr r1, [r5, #4]!
245 0218 30B2 sxth r0, r6
246 021a FFF7FEFF bl sat_mult_q31
247 021e 2968 ldr r1, [r5]
248 0220 3014 asrs r0, r6, #16
249 0222 FFF7FEFF bl sat_mult_q31
250 0226 A845 cmp r8, r5
251 0228 EDD1 bne .L44
252 022a BB68 ldr r3, [r7, #8]
253 022c 85E7 b .L5
254 .L42:
255 022e 1949 ldr r1, .L45+76
256 0230 1048 ldr r0, .L45+44
257 0232 4FF48072 mov r2, #256
258 0236 FFF7FEFF bl memcpy
259 023a 4FF48072 mov r2, #256
260 023e 0021 movs r1, #0
261 0240 1648 ldr r0, .L45+84
262 0242 FFF7FEFF bl memset
263 0246 78E7 b .L5
264 .L46:
265 .align 3
266 .L45:
267 0248 33333333 .word 858993459
268 024c 3333C33F .word 1069757235
269 0250 1F85EB51 .word 1374389535
270 0254 B81E1940 .word 1075388088
271 0258 00000000 .word 0
272 025c 00FC9F40 .word 1084226560
273 0260 00000000 .word .LANCHOR0
274 0264 00000000 .word .LANCHOR8
275 0268 00000000 .word .LANCHOR7
276 026c 000C0240 .word 1073875968
277 0270 FCFFFFFF .word tx_dac_buffer-4
278 0274 00000000 .word .LANCHOR1
279 0278 00000000 .word rx_dac_buffer_mezzo_vuoto
280 027c 00000000 .word canale
281 0280 00000000 .word rx_dac_buffer_toggle
282 0284 00000000 .word .LANCHOR5
283 0288 00000000 .word rx_dac_buffer
284 028c 00040048 .word 1207960576
285 0290 FCFFFFFF .word .LANCHOR1-4
286 0294 00000000 .word .LANCHOR3
ARM GAS /tmp/ccl00Jnn.s page 6
287 0298 FCFFFFFF .word .LANCHOR3-4
288 029c 00000000 .word .LANCHOR4
289 02a0 00000000 .word .LANCHOR6
290 02a4 00000000 .word .LANCHOR9
291 02a8 00000000 .word .LANCHOR2
292 02ac 47E17A14 .word 343597383
294 .section .text.tx_mixer,"ax",%progbits
295 .align 1
296 .p2align 2,,3
297 .global tx_mixer
298 .syntax unified
299 .thumb
300 .thumb_func
301 .fpu fpv4-sp-d16
303 tx_mixer:
304 @ args = 4, pretend = 0, frame = 0
305 @ frame_needed = 0, uses_anonymous_args = 0
306 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
307 0004 114F ldr r7, .L55
308 0006 124D ldr r5, .L55+4
309 0008 3B68 ldr r3, [r7]
310 000a DDF818E0 ldr lr, [sp, #24]
311 000e 6B60 str r3, [r5, #4]
312 0010 B9B1 cbz r1, .L48
313 0012 03EB0E08 add r8, r3, lr
314 0016 A0F1040C sub ip, r0, #4
315 001a 0020 movs r0, #0
316 001c 4446 mov r4, r8
317 001e 0346 mov r3, r0
318 .L49:
319 0020 1B09 lsrs r3, r3, #4
320 0022 AE68 ldr r6, [r5, #8]
321 0024 6C60 str r4, [r5, #4]
322 0026 0130 adds r0, r0, #1
323 0028 52F82360 ldr r6, [r2, r3, lsl #2]
324 002c 4CF8046F str r6, [ip, #4]!
325 0030 83B2 uxth r3, r0
326 0032 9942 cmp r1, r3
327 0034 7444 add r4, r4, lr
328 0036 F3D8 bhi .L49
329 0038 0139 subs r1, r1, #1
330 003a 89B2 uxth r1, r1
331 003c 0EFB0181 mla r1, lr, r1, r8
332 0040 3960 str r1, [r7]
333 .L48:
334 0042 034B ldr r3, .L55+4
335 0044 9B68 ldr r3, [r3, #8]
336 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
337 .L56:
338 004a 00BF .align 2
339 .L55:
340 004c 00000000 .word .LANCHOR9
341 0050 000C0240 .word 1073875968
343 .section .text.modulatore_dc,"ax",%progbits
344 .align 1
345 .p2align 2,,3
346 .global modulatore_dc
ARM GAS /tmp/ccl00Jnn.s page 7
347 .syntax unified
348 .thumb
349 .thumb_func
350 .fpu fpv4-sp-d16
352 modulatore_dc:
353 @ args = 0, pretend = 0, frame = 0
354 @ frame_needed = 0, uses_anonymous_args = 0
355 @ link register save eliminated.
356 0000 59B1 cbz r1, .L57
357 0002 0139 subs r1, r1, #1
358 0004 89B2 uxth r1, r1
359 0006 021D adds r2, r0, #4
360 0008 02EB8102 add r2, r2, r1, lsl #2
361 000c 0023 movs r3, #0
362 .L59:
363 000e 40F8043B str r3, [r0], #4
364 0012 9042 cmp r0, r2
365 0014 03F12003 add r3, r3, #32
366 0018 F9D1 bne .L59
367 .L57:
368 001a 7047 bx lr
370 .section .text.modulatore_ssb,"ax",%progbits
371 .align 1
372 .p2align 2,,3
373 .global modulatore_ssb
374 .syntax unified
375 .thumb
376 .thumb_func
377 .fpu fpv4-sp-d16
379 modulatore_ssb:
380 @ args = 4, pretend = 0, frame = 0
381 @ frame_needed = 0, uses_anonymous_args = 0
382 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
383 0004 124E ldr r6, .L72
384 0006 134D ldr r5, .L72+4
385 0008 3168 ldr r1, [r6]
386 000a 089F ldr r7, [sp, #32]
387 000c 6960 str r1, [r5, #4]
388 000e D2B1 cbz r2, .L65
389 0010 02F1FF38 add r8, r2, #-1
390 0014 1FFA88F8 uxth r8, r8
391 0018 03EB8808 add r8, r3, r8, lsl #2
392 001c 1C1F subs r4, r3, #4
393 001e 00E0 b .L66
394 .L71:
395 0020 3168 ldr r1, [r6]
396 .L66:
397 0022 D5F80890 ldr r9, [r5, #8]
398 0026 3944 add r1, r1, r7
399 0028 3160 str r1, [r6]
400 002a 6960 str r1, [r5, #4]
401 002c 54F8041F ldr r1, [r4, #4]!
402 0030 0FFA89F0 sxth r0, r9
403 0034 FFF7FEFF bl sat_mult_q31
404 0038 2168 ldr r1, [r4]
405 003a 4FEA2940 asr r0, r9, #16
406 003e FFF7FEFF bl sat_mult_q31
ARM GAS /tmp/ccl00Jnn.s page 8
407 0042 A045 cmp r8, r4
408 0044 ECD1 bne .L71
409 .L65:
410 0046 034B ldr r3, .L72+4
411 0048 9B68 ldr r3, [r3, #8]
412 004a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
413 .L73:
414 004e 00BF .align 2
415 .L72:
416 0050 00000000 .word .LANCHOR2
417 0054 000C0240 .word 1073875968
419 .section .text.modulatore_am,"ax",%progbits
420 .align 1
421 .p2align 2,,3
422 .global modulatore_am
423 .syntax unified
424 .thumb
425 .thumb_func
426 .fpu fpv4-sp-d16
428 modulatore_am:
429 @ args = 0, pretend = 0, frame = 0
430 @ frame_needed = 0, uses_anonymous_args = 0
431 0000 002A cmp r2, #0
432 0002 4ED0 beq .L93
433 0004 30B5 push {r4, r5, lr}
434 0006 1C1D adds r4, r3, #4
435 0008 A042 cmp r0, r4
436 000a 18BF it ne
437 000c A142 cmpne r1, r4
438 000e 14BF ite ne
439 0010 0124 movne r4, #1
440 0012 0024 moveq r4, #0
441 0014 551E subs r5, r2, #1
442 0016 00F1040C add ip, r0, #4
443 001a ADB2 uxth r5, r5
444 001c 6145 cmp r1, ip
445 001e 0CBF ite eq
446 0020 0024 moveq r4, #0
447 0022 04F00104 andne r4, r4, #1
448 0026 0A2D cmp r5, #10
449 0028 94BF ite ls
450 002a 0024 movls r4, #0
451 002c 04F00104 andhi r4, r4, #1
452 0030 44B3 cbz r4, .L76
453 0032 40EA0104 orr r4, r0, r1
454 0036 1C43 orrs r4, r4, r3
455 0038 6407 lsls r4, r4, #29
456 003a 23D1 bne .L76
457 003c 9FED1A6B vldr.64 d6, .L96 @ int
458 0040 5508 lsrs r5, r2, #1
459 0042 A3F10804 sub r4, r3, #8
460 0046 01EBC505 add r5, r1, r5, lsl #3
461 004a A0F1080E sub lr, r0, #8
462 004e 8C46 mov ip, r1
463 .L77:
464 0050 94ED027B vldr.64 d7, [r4, #8] @ int
465 0054 8EED027B vstr.64 d7, [lr, #8] @ int
ARM GAS /tmp/ccl00Jnn.s page 9
466 0058 ACEC026B vstmia.64 ip!, {d6} @ int
467 005c AC45 cmp ip, r5
468 005e 04F10804 add r4, r4, #8
469 0062 0EF1080E add lr, lr, #8
470 0066 F3D1 bne .L77
471 0068 22F00104 bic r4, r2, #1
472 006c A242 cmp r2, r4
473 006e 1FFA84FC uxth ip, r4
474 0072 06D0 beq .L74
475 0074 53F82C20 ldr r2, [r3, ip, lsl #2]
476 0078 40F82C20 str r2, [r0, ip, lsl #2]
477 007c 0023 movs r3, #0
478 007e 41F82C30 str r3, [r1, ip, lsl #2]
479 .L74:
480 0082 30BD pop {r4, r5, pc}
481 .L76:
482 0084 1A1F subs r2, r3, #4
483 0086 0438 subs r0, r0, #4
484 0088 03EB8503 add r3, r3, r5, lsl #2
485 008c 0439 subs r1, r1, #4
486 008e 0025 movs r5, #0
487 .L79:
488 0090 52F8044F ldr r4, [r2, #4]!
489 0094 40F8044F str r4, [r0, #4]!
490 0098 9A42 cmp r2, r3
491 009a 41F8045F str r5, [r1, #4]!
492 009e F7D1 bne .L79
493 00a0 30BD pop {r4, r5, pc}
494 .L93:
495 00a2 7047 bx lr
496 .L97:
497 00a4 AFF30080 .align 3
498 .L96:
499 00a8 00000000 .word 0
500 00ac 00000000 .word 0
502 .section .text.tx_audio_filter_init,"ax",%progbits
503 .align 1
504 .p2align 2,,3
505 .global tx_audio_filter_init
506 .syntax unified
507 .thumb
508 .thumb_func
509 .fpu fpv4-sp-d16
511 tx_audio_filter_init:
512 @ args = 0, pretend = 0, frame = 0
513 @ frame_needed = 0, uses_anonymous_args = 0
514 0000 10B5 push {r4, lr}
515 0002 0B49 ldr r1, .L100
516 0004 0B4B ldr r3, .L100+4
517 0006 0C48 ldr r0, .L100+8
518 0008 82B0 sub sp, sp, #8
519 000a 4FF48064 mov r4, #1024
520 000e CDE90014 strd r1, r4, [sp]
521 0012 8022 movs r2, #128
522 0014 1021 movs r1, #16
523 0016 FFF7FEFF bl arm_fir_interpolate_init_q15
524 001a 084A ldr r2, .L100+12
ARM GAS /tmp/ccl00Jnn.s page 10
525 001c 054B ldr r3, .L100+4
526 001e 0848 ldr r0, .L100+16
527 0020 CDE90024 strd r2, r4, [sp]
528 0024 1021 movs r1, #16
529 0026 8022 movs r2, #128
530 0028 FFF7FEFF bl arm_fir_interpolate_init_q15
531 002c 02B0 add sp, sp, #8
532 @ sp needed
533 002e 10BD pop {r4, pc}
534 .L101:
535 .align 2
536 .L100:
537 0030 00000000 .word tx_audio_filter_I_state
538 0034 00000000 .word .LANCHOR10
539 0038 00000000 .word .LANCHOR11
540 003c 00000000 .word tx_audio_filter_Q_state
541 0040 00000000 .word .LANCHOR12
543 .section .text.u12_sine,"ax",%progbits
544 .align 1
545 .p2align 2,,3
546 .global u12_sine
547 .syntax unified
548 .thumb
549 .thumb_func
550 .fpu fpv4-sp-d16
552 u12_sine:
553 @ args = 0, pretend = 0, frame = 0
554 @ frame_needed = 0, uses_anonymous_args = 0
555 0000 10B5 push {r4, lr}
556 0002 214C ldr r4, .L106+24
557 0004 2DED028B vpush.64 {d8}
558 0008 19A3 adr r3, .L106
559 000a D3E90023 ldrd r2, [r3]
560 000e D4E90001 ldrd r0, [r4]
561 0012 FFF7FEFF bl __aeabi_dadd
562 0016 0246 mov r2, r0
563 0018 0B46 mov r3, r1
564 001a 43EC182B vmov d8, r2, r3
565 001e 16A3 adr r3, .L106+8
566 0020 D3E90023 ldrd r2, [r3]
567 0024 FFF7FEFF bl __aeabi_dcmpge
568 0028 C8B9 cbnz r0, .L103
569 002a B0EE480A vmov.f32 s0, s16
570 002e F0EE680A vmov.f32 s1, s17
571 0032 84ED008B vstr.64 d8, [r4]
572 0036 FFF7FEFF bl sin
573 003a 53EC102B vmov r2, r3, d0
574 003e 10EE100A vmov r0, s0 @ int
575 0042 1946 mov r1, r3
576 0044 FFF7FEFF bl __aeabi_dadd
577 0048 0DA3 adr r3, .L106+16
578 004a D3E90023 ldrd r2, [r3]
579 004e FFF7FEFF bl __aeabi_dadd
580 0052 FFF7FEFF bl __aeabi_d2uiz
581 0056 BDEC028B vldm sp!, {d8}
582 005a 80B2 uxth r0, r0
583 005c 10BD pop {r4, pc}
ARM GAS /tmp/ccl00Jnn.s page 11
584 .L103:
585 005e BDEC028B vldm sp!, {d8}
586 0062 0022 movs r2, #0
587 0064 0023 movs r3, #0
588 0066 40F2FF70 movw r0, #2047
589 006a C4E90023 strd r2, [r4]
590 006e 10BD pop {r4, pc}
591 .L107:
592 .align 3
593 .L106:
594 0070 33333333 .word 858993459
595 0074 3333C33F .word 1069757235
596 0078 1F85EB51 .word 1374389535
597 007c B81E1940 .word 1075388088
598 0080 00000000 .word 0
599 0084 00FC9F40 .word 1084226560
600 0088 00000000 .word .LANCHOR5
602 .section .text.genera_tono,"ax",%progbits
603 .align 1
604 .p2align 2,,3
605 .global genera_tono
606 .syntax unified
607 .thumb
608 .thumb_func
609 .fpu fpv4-sp-d16
611 genera_tono:
612 @ args = 0, pretend = 0, frame = 0
613 @ frame_needed = 0, uses_anonymous_args = 0
614 0000 0029 cmp r1, #0
615 0002 4AD0 beq .L116
616 0004 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
617 0008 2B4B ldr r3, .L119+24
618 000a 0139 subs r1, r1, #1
619 000c D3E90045 ldrd r4, [r3]
620 0010 0FF28C09 adr r9, .L119
621 0014 D9E90089 ldrd r8, [r9]
622 0018 0FF28C0B adr fp, .L119+8
623 001c DBE900AB ldrd r10, [fp]
624 0020 89B2 uxth r1, r1
625 0022 071D adds r7, r0, #4
626 0024 0646 mov r6, r0
627 0026 07EB8107 add r7, r7, r1, lsl #2
628 .L113:
629 002a 4246 mov r2, r8
630 002c 4B46 mov r3, r9
631 002e 2046 mov r0, r4
632 0030 2946 mov r1, r5
633 0032 FFF7FEFF bl __aeabi_dadd
634 0036 5246 mov r2, r10
635 0038 5B46 mov r3, fp
636 003a 0446 mov r4, r0
637 003c 0D46 mov r5, r1
638 003e FFF7FEFF bl __aeabi_dcmpge
639 0042 45EC104B vmov d0, r4, r5
640 0046 C8B9 cbnz r0, .L110
641 0048 FFF7FEFF bl sin
642 004c 53EC102B vmov r2, r3, d0
ARM GAS /tmp/ccl00Jnn.s page 12
643 0050 10EE100A vmov r0, s0 @ int
644 0054 1946 mov r1, r3
645 0056 FFF7FEFF bl __aeabi_dadd
646 005a 15A3 adr r3, .L119+16
647 005c D3E90023 ldrd r2, [r3]
648 0060 FFF7FEFF bl __aeabi_dadd
649 0064 FFF7FEFF bl __aeabi_d2uiz
650 0068 80B2 uxth r0, r0
651 006a 46F8040B str r0, [r6], #4
652 006e BE42 cmp r6, r7
653 0070 DBD1 bne .L113
654 0072 114B ldr r3, .L119+24
655 0074 C3E90045 strd r4, [r3]
656 0078 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
657 .L110:
658 007c 40F2FF73 movw r3, #2047
659 0080 46F8043B str r3, [r6], #4
660 0084 BE42 cmp r6, r7
661 0086 4FF00004 mov r4, #0
662 008a 4FF00005 mov r5, #0
663 008e CCD1 bne .L113
664 0090 094B ldr r3, .L119+24
665 0092 C3E90045 strd r4, [r3]
666 0096 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
667 .L116:
668 009a 7047 bx lr
669 .L120:
670 009c AFF30080 .align 3
671 .L119:
672 00a0 33333333 .word 858993459
673 00a4 3333C33F .word 1069757235
674 00a8 1F85EB51 .word 1374389535
675 00ac B81E1940 .word 1075388088
676 00b0 00000000 .word 0
677 00b4 00FC9F40 .word 1084226560
678 00b8 00000000 .word .LANCHOR5
680 .section .text.measure_log_abs_mean_tx,"ax",%progbits
681 .align 1
682 .p2align 2,,3
683 .global measure_log_abs_mean_tx
684 .syntax unified
685 .thumb
686 .thumb_func
687 .fpu fpv4-sp-d16
689 measure_log_abs_mean_tx:
690 @ args = 0, pretend = 0, frame = 0
691 @ frame_needed = 0, uses_anonymous_args = 0
692 @ link register save eliminated.
693 0000 89B1 cbz r1, .L122
694 0002 0139 subs r1, r1, #1
695 0004 8BB2 uxth r3, r1
696 0006 0021 movs r1, #0
697 0008 021F subs r2, r0, #4
698 000a 8C46 mov ip, r1
699 000c 00EB8300 add r0, r0, r3, lsl #2
700 .L126:
701 0010 52F8043F ldr r3, [r2, #4]!
ARM GAS /tmp/ccl00Jnn.s page 13
702 0014 A3F58053 sub r3, r3, #4096
703 0018 002B cmp r3, #0
704 001a 1360 str r3, [r2]
705 001c 0DDD ble .L131
706 001e 9042 cmp r0, r2
707 0020 01EBA311 add r1, r1, r3, asr #6
708 0024 F4D1 bne .L126
709 .L122:
710 0026 1F23 movs r3, #31
711 0028 01E0 b .L128
712 .L133:
713 002a 013B subs r3, r3, #1
714 002c 0CD0 beq .L132
715 .L128:
716 002e 41FA03F2 asr r2, r1, r3
717 0032 D207 lsls r2, r2, #31
718 0034 D8B2 uxtb r0, r3
719 0036 F8D5 bpl .L133
720 0038 7047 bx lr
721 .L131:
722 .syntax unified
723 @ 2125 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
724 003a 83FAACF3 qsub r3, ip, r3
725 @ 0 "" 2
726 .thumb
727 .syntax unified
728 003e 9042 cmp r0, r2
729 0040 01EBA311 add r1, r1, r3, asr #6
730 0044 E4D1 bne .L126
731 0046 EEE7 b .L122
732 .L132:
733 0048 1846 mov r0, r3
734 004a 7047 bx lr
736 .global __aeabi_ldivmod
737 .section .text.set_tx_nco1_freq,"ax",%progbits
738 .align 1
739 .p2align 2,,3
740 .global set_tx_nco1_freq
741 .syntax unified
742 .thumb
743 .thumb_func
744 .fpu fpv4-sp-d16
746 set_tx_nco1_freq:
747 @ args = 0, pretend = 0, frame = 0
748 @ frame_needed = 0, uses_anonymous_args = 0
749 0000 08B5 push {r3, lr}
750 0002 0C4B ldr r3, .L142
751 0004 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2
752 0006 022B cmp r3, #2
753 0008 0146 mov r1, r0
754 000a 08D0 beq .L135
755 000c 042B cmp r3, #4
756 000e 06D0 beq .L135
757 0010 03F0FD03 and r3, r3, #253
758 0014 012B cmp r3, #1
759 0016 08BF it eq
760 0018 A0F21E71 subweq r1, r0, #1822
ARM GAS /tmp/ccl00Jnn.s page 14
761 001c 01E0 b .L137
762 .L135:
763 001e 01F21E71 addw r1, r1, #1822
764 .L137:
765 0022 0023 movs r3, #0
766 0024 044A ldr r2, .L142+4
767 0026 0020 movs r0, #0
768 0028 FFF7FEFF bl __aeabi_ldivmod
769 002c 034B ldr r3, .L142+8
770 002e 4010 asrs r0, r0, #1
771 0030 1860 str r0, [r3]
772 0032 08BD pop {r3, pc}
773 .L143:
774 .align 2
775 .L142:
776 0034 00000000 .word canale
777 0038 30570500 .word 350000
778 003c 00000000 .word .LANCHOR8
780 .global tx_audio_filter_coeffs
781 .global tx_audio_filter_Q_state
782 .global tx_audio_filter_I_state
783 .global tx_audio_filter_Q_struct
784 .global tx_audio_filter_I_struct
785 .global tx_dac_buffer
786 .global tx_dac_buffer_toggle
787 .global tx_dac_buffer_mezzo_vuoto
788 .global tx_Q_buffer
789 .global tx_I_buffer
790 .global tx_adc_buffer
791 .global tx_adc_buffer_pronto
792 .global tx_signal_last
793 .global tx_signal
794 .global tx_nco1_increment
795 .section .bss.accumulatore_fase.1,"aw",%nobits
796 .align 2
797 .set .LANCHOR2,. + 0
800 accumulatore_fase.1:
801 0000 00000000 .space 4
802 .section .bss.accumulatore_fase.2,"aw",%nobits
803 .align 2
804 .set .LANCHOR9,. + 0
807 accumulatore_fase.2:
808 0000 00000000 .space 4
809 .section .bss.angle.0,"aw",%nobits
810 .align 3
811 .set .LANCHOR5,. + 0
814 angle.0:
815 0000 00000000 .space 8
815 00000000
816 .section .bss.tx_I_buffer,"aw",%nobits
817 .align 2
818 .set .LANCHOR1,. + 0
821 tx_I_buffer:
822 0000 00000000 .space 256
822 00000000
822 00000000
822 00000000
ARM GAS /tmp/ccl00Jnn.s page 15
822 00000000
823 .section .bss.tx_Q_buffer,"aw",%nobits
824 .align 2
825 .set .LANCHOR4,. + 0
828 tx_Q_buffer:
829 0000 00000000 .space 256
829 00000000
829 00000000
829 00000000
829 00000000
830 .section .bss.tx_adc_buffer,"aw",%nobits
831 .align 2
832 .set .LANCHOR3,. + 0
835 tx_adc_buffer:
836 0000 00000000 .space 128
836 00000000
836 00000000
836 00000000
836 00000000
837 .section .bss.tx_adc_buffer_pronto,"aw",%nobits
838 .set .LANCHOR0,. + 0
841 tx_adc_buffer_pronto:
842 0000 00 .space 1
843 .section .bss.tx_audio_filter_I_state,"aw",%nobits
844 .align 2
847 tx_audio_filter_I_state:
848 0000 00000000 .space 4604
848 00000000
848 00000000
848 00000000
848 00000000
849 .section .bss.tx_audio_filter_I_struct,"aw",%nobits
850 .align 2
851 .set .LANCHOR11,. + 0
854 tx_audio_filter_I_struct:
855 0000 00000000 .space 12
855 00000000
855 00000000
856 .section .bss.tx_audio_filter_Q_state,"aw",%nobits
857 .align 2
860 tx_audio_filter_Q_state:
861 0000 00000000 .space 4604
861 00000000
861 00000000
861 00000000
861 00000000
862 .section .bss.tx_audio_filter_Q_struct,"aw",%nobits
863 .align 2
864 .set .LANCHOR12,. + 0
867 tx_audio_filter_Q_struct:
868 0000 00000000 .space 12
868 00000000
868 00000000
869 .section .bss.tx_audio_filter_coeffs,"aw",%nobits
870 .align 2
871 .set .LANCHOR10,. + 0
874 tx_audio_filter_coeffs:
ARM GAS /tmp/ccl00Jnn.s page 16
875 0000 00000000 .space 512
875 00000000
875 00000000
875 00000000
875 00000000
876 .section .bss.tx_dac_buffer,"aw",%nobits
877 .align 2
880 tx_dac_buffer:
881 0000 00000000 .space 8192
881 00000000
881 00000000
881 00000000
881 00000000
882 .section .bss.tx_dac_buffer_mezzo_vuoto,"aw",%nobits
883 .set .LANCHOR6,. + 0
886 tx_dac_buffer_mezzo_vuoto:
887 0000 00 .space 1
888 .section .bss.tx_dac_buffer_toggle,"aw",%nobits
889 .set .LANCHOR7,. + 0
892 tx_dac_buffer_toggle:
893 0000 00 .space 1
894 .section .bss.tx_nco1_increment,"aw",%nobits
895 .align 2
896 .set .LANCHOR8,. + 0
899 tx_nco1_increment:
900 0000 00000000 .space 4
901 .section .bss.tx_signal,"aw",%nobits
904 tx_signal:
905 0000 00 .space 1
906 .section .bss.tx_signal_last,"aw",%nobits
909 tx_signal_last:
910 0000 00 .space 1
911 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)"
ARM GAS /tmp/ccl00Jnn.s page 17
DEFINED SYMBOLS
*ABS*:0000000000000000 tx.c
/tmp/ccl00Jnn.s:19 .text.trasmetti:0000000000000000 $t
/tmp/ccl00Jnn.s:28 .text.trasmetti:0000000000000000 trasmetti
/tmp/ccl00Jnn.s:267 .text.trasmetti:0000000000000248 $d
/tmp/ccl00Jnn.s:880 .bss.tx_dac_buffer:0000000000000000 tx_dac_buffer
/tmp/ccl00Jnn.s:295 .text.tx_mixer:0000000000000000 $t
/tmp/ccl00Jnn.s:303 .text.tx_mixer:0000000000000000 tx_mixer
/tmp/ccl00Jnn.s:340 .text.tx_mixer:000000000000004c $d
/tmp/ccl00Jnn.s:344 .text.modulatore_dc:0000000000000000 $t
/tmp/ccl00Jnn.s:352 .text.modulatore_dc:0000000000000000 modulatore_dc
/tmp/ccl00Jnn.s:371 .text.modulatore_ssb:0000000000000000 $t
/tmp/ccl00Jnn.s:379 .text.modulatore_ssb:0000000000000000 modulatore_ssb
/tmp/ccl00Jnn.s:416 .text.modulatore_ssb:0000000000000050 $d
/tmp/ccl00Jnn.s:420 .text.modulatore_am:0000000000000000 $t
/tmp/ccl00Jnn.s:428 .text.modulatore_am:0000000000000000 modulatore_am
/tmp/ccl00Jnn.s:499 .text.modulatore_am:00000000000000a8 $d
/tmp/ccl00Jnn.s:503 .text.tx_audio_filter_init:0000000000000000 $t
/tmp/ccl00Jnn.s:511 .text.tx_audio_filter_init:0000000000000000 tx_audio_filter_init
/tmp/ccl00Jnn.s:537 .text.tx_audio_filter_init:0000000000000030 $d
/tmp/ccl00Jnn.s:847 .bss.tx_audio_filter_I_state:0000000000000000 tx_audio_filter_I_state
/tmp/ccl00Jnn.s:860 .bss.tx_audio_filter_Q_state:0000000000000000 tx_audio_filter_Q_state
/tmp/ccl00Jnn.s:544 .text.u12_sine:0000000000000000 $t
/tmp/ccl00Jnn.s:552 .text.u12_sine:0000000000000000 u12_sine
/tmp/ccl00Jnn.s:594 .text.u12_sine:0000000000000070 $d
/tmp/ccl00Jnn.s:603 .text.genera_tono:0000000000000000 $t
/tmp/ccl00Jnn.s:611 .text.genera_tono:0000000000000000 genera_tono
/tmp/ccl00Jnn.s:672 .text.genera_tono:00000000000000a0 $d
/tmp/ccl00Jnn.s:681 .text.measure_log_abs_mean_tx:0000000000000000 $t
/tmp/ccl00Jnn.s:689 .text.measure_log_abs_mean_tx:0000000000000000 measure_log_abs_mean_tx
/tmp/ccl00Jnn.s:738 .text.set_tx_nco1_freq:0000000000000000 $t
/tmp/ccl00Jnn.s:746 .text.set_tx_nco1_freq:0000000000000000 set_tx_nco1_freq
/tmp/ccl00Jnn.s:776 .text.set_tx_nco1_freq:0000000000000034 $d
/tmp/ccl00Jnn.s:874 .bss.tx_audio_filter_coeffs:0000000000000000 tx_audio_filter_coeffs
/tmp/ccl00Jnn.s:867 .bss.tx_audio_filter_Q_struct:0000000000000000 tx_audio_filter_Q_struct
/tmp/ccl00Jnn.s:854 .bss.tx_audio_filter_I_struct:0000000000000000 tx_audio_filter_I_struct
/tmp/ccl00Jnn.s:892 .bss.tx_dac_buffer_toggle:0000000000000000 tx_dac_buffer_toggle
/tmp/ccl00Jnn.s:886 .bss.tx_dac_buffer_mezzo_vuoto:0000000000000000 tx_dac_buffer_mezzo_vuoto
/tmp/ccl00Jnn.s:828 .bss.tx_Q_buffer:0000000000000000 tx_Q_buffer
/tmp/ccl00Jnn.s:821 .bss.tx_I_buffer:0000000000000000 tx_I_buffer
/tmp/ccl00Jnn.s:835 .bss.tx_adc_buffer:0000000000000000 tx_adc_buffer
/tmp/ccl00Jnn.s:841 .bss.tx_adc_buffer_pronto:0000000000000000 tx_adc_buffer_pronto
/tmp/ccl00Jnn.s:909 .bss.tx_signal_last:0000000000000000 tx_signal_last
/tmp/ccl00Jnn.s:904 .bss.tx_signal:0000000000000000 tx_signal
/tmp/ccl00Jnn.s:899 .bss.tx_nco1_increment:0000000000000000 tx_nco1_increment
/tmp/ccl00Jnn.s:796 .bss.accumulatore_fase.1:0000000000000000 $d
/tmp/ccl00Jnn.s:800 .bss.accumulatore_fase.1:0000000000000000 accumulatore_fase.1
/tmp/ccl00Jnn.s:803 .bss.accumulatore_fase.2:0000000000000000 $d
/tmp/ccl00Jnn.s:807 .bss.accumulatore_fase.2:0000000000000000 accumulatore_fase.2
/tmp/ccl00Jnn.s:810 .bss.angle.0:0000000000000000 $d
/tmp/ccl00Jnn.s:814 .bss.angle.0:0000000000000000 angle.0
/tmp/ccl00Jnn.s:817 .bss.tx_I_buffer:0000000000000000 $d
/tmp/ccl00Jnn.s:824 .bss.tx_Q_buffer:0000000000000000 $d
/tmp/ccl00Jnn.s:831 .bss.tx_adc_buffer:0000000000000000 $d
/tmp/ccl00Jnn.s:842 .bss.tx_adc_buffer_pronto:0000000000000000 $d
/tmp/ccl00Jnn.s:844 .bss.tx_audio_filter_I_state:0000000000000000 $d
/tmp/ccl00Jnn.s:850 .bss.tx_audio_filter_I_struct:0000000000000000 $d
ARM GAS /tmp/ccl00Jnn.s page 18
/tmp/ccl00Jnn.s:857 .bss.tx_audio_filter_Q_state:0000000000000000 $d
/tmp/ccl00Jnn.s:863 .bss.tx_audio_filter_Q_struct:0000000000000000 $d
/tmp/ccl00Jnn.s:870 .bss.tx_audio_filter_coeffs:0000000000000000 $d
/tmp/ccl00Jnn.s:877 .bss.tx_dac_buffer:0000000000000000 $d
/tmp/ccl00Jnn.s:887 .bss.tx_dac_buffer_mezzo_vuoto:0000000000000000 $d
/tmp/ccl00Jnn.s:893 .bss.tx_dac_buffer_toggle:0000000000000000 $d
/tmp/ccl00Jnn.s:895 .bss.tx_nco1_increment:0000000000000000 $d
/tmp/ccl00Jnn.s:905 .bss.tx_signal:0000000000000000 $d
/tmp/ccl00Jnn.s:910 .bss.tx_signal_last:0000000000000000 $d
UNDEFINED SYMBOLS
__aeabi_dadd
__aeabi_dcmpge
__aeabi_d2uiz
sin
HAL_GPIO_WritePin
sat_mult_q31
memcpy
memset
rx_dac_buffer_mezzo_vuoto
canale
rx_dac_buffer_toggle
rx_dac_buffer
arm_fir_interpolate_init_q15
__aeabi_ldivmod