624 lines
25 KiB
Plaintext
624 lines
25 KiB
Plaintext
ARM GAS /tmp/ccGt6Pje.s page 1
|
||
|
||
|
||
1 .cpu cortex-m4
|
||
2 .arch armv7e-m
|
||
3 .fpu fpv4-sp-d16
|
||
4 .eabi_attribute 27, 1
|
||
5 .eabi_attribute 28, 1
|
||
6 .eabi_attribute 20, 1
|
||
7 .eabi_attribute 21, 1
|
||
8 .eabi_attribute 23, 3
|
||
9 .eabi_attribute 24, 1
|
||
10 .eabi_attribute 25, 1
|
||
11 .eabi_attribute 26, 1
|
||
12 .eabi_attribute 30, 1
|
||
13 .eabi_attribute 34, 1
|
||
14 .eabi_attribute 18, 4
|
||
15 .file "squeow.c"
|
||
16 .text
|
||
17 .Ltext0:
|
||
18 .cfi_sections .debug_frame
|
||
19 .file 1 "Src/squeow.c"
|
||
20 .section .text.audio_play,"ax",%progbits
|
||
21 .align 1
|
||
22 .global audio_play
|
||
23 .syntax unified
|
||
24 .thumb
|
||
25 .thumb_func
|
||
27 audio_play:
|
||
28 .LVL0:
|
||
29 .LFB332:
|
||
1:Src/squeow.c **** #include <main.h>
|
||
2:Src/squeow.c **** #include <stdio.h>
|
||
3:Src/squeow.c **** #include <stm32g4xx_hal_conf.h>
|
||
4:Src/squeow.c **** #include <math.h>
|
||
5:Src/squeow.c ****
|
||
6:Src/squeow.c **** #include "squeow.h"
|
||
7:Src/squeow.c ****
|
||
8:Src/squeow.c **** /* SQUEOW
|
||
9:Src/squeow.c ****
|
||
10:Src/squeow.c **** TIM3 eventi 98304000/(49152×200) 10hz
|
||
11:Src/squeow.c **** TIM2 PWM 98304000/2048 48khz
|
||
12:Src/squeow.c ****
|
||
13:Src/squeow.c **** risoluzione PWM 4*2048 -> 8192 (13bit)
|
||
14:Src/squeow.c ****
|
||
15:Src/squeow.c **** */
|
||
16:Src/squeow.c ****
|
||
17:Src/squeow.c **** uint8_t stato_audio;
|
||
18:Src/squeow.c **** uint16_t pwm_value, sample_value;
|
||
19:Src/squeow.c **** char display_buffer[16];
|
||
20:Src/squeow.c **** uint8_t rails_number;
|
||
21:Src/squeow.c **** uint16_t samples_ringbuf[SAMPLES_BUFFER_SIZE]; ///< buffer ad anello dei dati RX
|
||
22:Src/squeow.c **** uint16_t samples_ringbuf_input_index, samples_ringbuf_output_index;
|
||
23:Src/squeow.c ****
|
||
24:Src/squeow.c ****
|
||
25:Src/squeow.c **** void audio_play(uint16_t pbuf, uint8_t size){
|
||
30 .loc 1 25 45 view -0
|
||
31 .cfi_startproc
|
||
32 @ args = 0, pretend = 0, frame = 0
|
||
33 @ frame_needed = 0, uses_anonymous_args = 0
|
||
ARM GAS /tmp/ccGt6Pje.s page 2
|
||
|
||
|
||
34 @ link register save eliminated.
|
||
26:Src/squeow.c **** /*
|
||
27:Src/squeow.c **** char display_buffer[16];
|
||
28:Src/squeow.c **** uint16_t static indice;
|
||
29:Src/squeow.c **** indice++;
|
||
30:Src/squeow.c **** snprintf(display_buffer, 10, "n %d", indice);
|
||
31:Src/squeow.c **** ssd1306_SetCursor(0, 1);
|
||
32:Src/squeow.c **** ssd1306_WriteString(display_buffer, Font_11x18, White);
|
||
33:Src/squeow.c **** // ssd1306_UpdateScreen(&hi2c1);
|
||
34:Src/squeow.c **** */
|
||
35:Src/squeow.c **** for (uint8_t i=0; i<size; i++) {
|
||
35 .loc 1 35 2 view .LVU1
|
||
36 .LBB2:
|
||
37 .loc 1 35 7 view .LVU2
|
||
38 .loc 1 35 15 is_stmt 0 view .LVU3
|
||
39 0000 0023 movs r3, #0
|
||
40 .loc 1 35 2 view .LVU4
|
||
41 0002 01E0 b .L2
|
||
42 .LVL1:
|
||
43 .L3:
|
||
36:Src/squeow.c ****
|
||
37:Src/squeow.c **** }
|
||
44 .loc 1 37 2 is_stmt 1 discriminator 3 view .LVU5
|
||
35:Src/squeow.c ****
|
||
45 .loc 1 35 29 discriminator 3 view .LVU6
|
||
46 0004 0133 adds r3, r3, #1
|
||
47 .LVL2:
|
||
35:Src/squeow.c ****
|
||
48 .loc 1 35 29 is_stmt 0 discriminator 3 view .LVU7
|
||
49 0006 DBB2 uxtb r3, r3
|
||
50 .LVL3:
|
||
51 .L2:
|
||
35:Src/squeow.c ****
|
||
52 .loc 1 35 21 is_stmt 1 discriminator 1 view .LVU8
|
||
53 0008 8B42 cmp r3, r1
|
||
54 000a FBD3 bcc .L3
|
||
55 .LBE2:
|
||
38:Src/squeow.c ****
|
||
39:Src/squeow.c **** }
|
||
56 .loc 1 39 1 is_stmt 0 view .LVU9
|
||
57 000c 7047 bx lr
|
||
58 .cfi_endproc
|
||
59 .LFE332:
|
||
61 .section .text.sat_sub,"ax",%progbits
|
||
62 .align 1
|
||
63 .global sat_sub
|
||
64 .syntax unified
|
||
65 .thumb
|
||
66 .thumb_func
|
||
68 sat_sub:
|
||
69 .LVL4:
|
||
70 .LFB333:
|
||
40:Src/squeow.c ****
|
||
41:Src/squeow.c **** uint32_t sat_sub(uint16_t x, uint16_t y){
|
||
71 .loc 1 41 41 is_stmt 1 view -0
|
||
72 .cfi_startproc
|
||
73 @ args = 0, pretend = 0, frame = 0
|
||
ARM GAS /tmp/ccGt6Pje.s page 3
|
||
|
||
|
||
74 @ frame_needed = 0, uses_anonymous_args = 0
|
||
75 @ link register save eliminated.
|
||
42:Src/squeow.c **** uint16_t res = x - y;
|
||
76 .loc 1 42 5 view .LVU11
|
||
77 .loc 1 42 14 is_stmt 0 view .LVU12
|
||
78 0000 411A subs r1, r0, r1
|
||
79 .LVL5:
|
||
80 .loc 1 42 14 view .LVU13
|
||
81 0002 89B2 uxth r1, r1
|
||
82 .LVL6:
|
||
43:Src/squeow.c **** res &= -(res <= x);
|
||
83 .loc 1 43 5 is_stmt 1 view .LVU14
|
||
84 .loc 1 43 9 is_stmt 0 view .LVU15
|
||
85 0004 8842 cmp r0, r1
|
||
86 0006 4FF0FF30 mov r0, #-1
|
||
87 .LVL7:
|
||
88 .loc 1 43 9 view .LVU16
|
||
89 000a 38BF it cc
|
||
90 000c 0020 movcc r0, #0
|
||
91 .LVL8:
|
||
44:Src/squeow.c **** return res;
|
||
92 .loc 1 44 5 is_stmt 1 view .LVU17
|
||
45:Src/squeow.c **** }
|
||
93 .loc 1 45 1 is_stmt 0 view .LVU18
|
||
94 000e 0840 ands r0, r0, r1
|
||
95 .LVL9:
|
||
96 .loc 1 45 1 view .LVU19
|
||
97 0010 7047 bx lr
|
||
98 .cfi_endproc
|
||
99 .LFE333:
|
||
101 .global __aeabi_dadd
|
||
102 .global __aeabi_dcmpge
|
||
103 .global __aeabi_dmul
|
||
104 .global __aeabi_d2uiz
|
||
105 .section .text.u16_sine,"ax",%progbits
|
||
106 .align 1
|
||
107 .global u16_sine
|
||
108 .syntax unified
|
||
109 .thumb
|
||
110 .thumb_func
|
||
112 u16_sine:
|
||
113 .LFB334:
|
||
46:Src/squeow.c ****
|
||
47:Src/squeow.c **** uint16_t u16_sine(void){
|
||
114 .loc 1 47 24 is_stmt 1 view -0
|
||
115 .cfi_startproc
|
||
116 @ args = 0, pretend = 0, frame = 0
|
||
117 @ frame_needed = 0, uses_anonymous_args = 0
|
||
118 0000 10B5 push {r4, lr}
|
||
119 .LCFI0:
|
||
120 .cfi_def_cfa_offset 8
|
||
121 .cfi_offset 4, -8
|
||
122 .cfi_offset 14, -4
|
||
48:Src/squeow.c **** static double angle;
|
||
123 .loc 1 48 9 view .LVU21
|
||
49:Src/squeow.c **** angle += SINE_INCREMENT;
|
||
124 .loc 1 49 9 view .LVU22
|
||
ARM GAS /tmp/ccGt6Pje.s page 4
|
||
|
||
|
||
125 .loc 1 49 15 is_stmt 0 view .LVU23
|
||
126 0002 1B4C ldr r4, .L10+24
|
||
127 0004 14A3 adr r3, .L10
|
||
128 0006 D3E90023 ldrd r2, [r3]
|
||
129 000a D4E90001 ldrd r0, [r4]
|
||
130 000e FFF7FEFF bl __aeabi_dadd
|
||
131 .LVL10:
|
||
132 0012 0246 mov r2, r0
|
||
133 0014 0B46 mov r3, r1
|
||
134 0016 C4E90023 strd r2, [r4]
|
||
50:Src/squeow.c **** if(angle >= 6.28) angle = 0;
|
||
135 .loc 1 50 10 is_stmt 1 view .LVU24
|
||
136 .loc 1 50 12 is_stmt 0 view .LVU25
|
||
137 001a 11A3 adr r3, .L10+8
|
||
138 001c D3E90023 ldrd r2, [r3]
|
||
139 0020 FFF7FEFF bl __aeabi_dcmpge
|
||
140 .LVL11:
|
||
141 0024 18B1 cbz r0, .L6
|
||
142 .loc 1 50 28 is_stmt 1 discriminator 1 view .LVU26
|
||
143 .loc 1 50 34 is_stmt 0 discriminator 1 view .LVU27
|
||
144 0026 0020 movs r0, #0
|
||
145 0028 0021 movs r1, #0
|
||
146 002a C4E90001 strd r0, [r4]
|
||
147 .L6:
|
||
51:Src/squeow.c **** return (uint16_t)((sin(angle)*0x7fff)+0x7fff);
|
||
148 .loc 1 51 9 is_stmt 1 view .LVU28
|
||
149 .loc 1 51 28 is_stmt 0 view .LVU29
|
||
150 002e 104B ldr r3, .L10+24
|
||
151 0030 93ED000B vldr.64 d0, [r3]
|
||
152 0034 FFF7FEFF bl sin
|
||
153 .LVL12:
|
||
154 0038 51EC100B vmov r0, r1, d0
|
||
155 .loc 1 51 38 view .LVU30
|
||
156 003c 0AA3 adr r3, .L10+16
|
||
157 003e D3E90023 ldrd r2, [r3]
|
||
158 0042 FFF7FEFF bl __aeabi_dmul
|
||
159 .LVL13:
|
||
160 .loc 1 51 46 view .LVU31
|
||
161 0046 08A3 adr r3, .L10+16
|
||
162 0048 D3E90023 ldrd r2, [r3]
|
||
163 004c FFF7FEFF bl __aeabi_dadd
|
||
164 .LVL14:
|
||
165 .loc 1 51 16 view .LVU32
|
||
166 0050 FFF7FEFF bl __aeabi_d2uiz
|
||
167 .LVL15:
|
||
52:Src/squeow.c **** }
|
||
168 .loc 1 52 1 view .LVU33
|
||
169 0054 80B2 uxth r0, r0
|
||
170 0056 10BD pop {r4, pc}
|
||
171 .L11:
|
||
172 .align 3
|
||
173 .L10:
|
||
174 0058 7F6ABC74 .word 1958505087
|
||
175 005c 9318D43F .word 1070864531
|
||
176 0060 1F85EB51 .word 1374389535
|
||
177 0064 B81E1940 .word 1075388088
|
||
178 0068 00000000 .word 0
|
||
ARM GAS /tmp/ccGt6Pje.s page 5
|
||
|
||
|
||
179 006c C0FFDF40 .word 1088421824
|
||
180 0070 00000000 .word angle.1
|
||
181 .cfi_endproc
|
||
182 .LFE334:
|
||
184 .section .text.u12_sine,"ax",%progbits
|
||
185 .align 1
|
||
186 .global u12_sine
|
||
187 .syntax unified
|
||
188 .thumb
|
||
189 .thumb_func
|
||
191 u12_sine:
|
||
192 .LFB335:
|
||
53:Src/squeow.c ****
|
||
54:Src/squeow.c **** uint16_t u12_sine(void){
|
||
193 .loc 1 54 24 is_stmt 1 view -0
|
||
194 .cfi_startproc
|
||
195 @ args = 0, pretend = 0, frame = 0
|
||
196 @ frame_needed = 0, uses_anonymous_args = 0
|
||
197 0000 10B5 push {r4, lr}
|
||
198 .LCFI1:
|
||
199 .cfi_def_cfa_offset 8
|
||
200 .cfi_offset 4, -8
|
||
201 .cfi_offset 14, -4
|
||
55:Src/squeow.c **** static double angle;
|
||
202 .loc 1 55 9 view .LVU35
|
||
56:Src/squeow.c **** angle += SINE_INCREMENT;
|
||
203 .loc 1 56 9 view .LVU36
|
||
204 .loc 1 56 15 is_stmt 0 view .LVU37
|
||
205 0002 1B4C ldr r4, .L17+24
|
||
206 0004 14A3 adr r3, .L17
|
||
207 0006 D3E90023 ldrd r2, [r3]
|
||
208 000a D4E90001 ldrd r0, [r4]
|
||
209 000e FFF7FEFF bl __aeabi_dadd
|
||
210 .LVL16:
|
||
211 0012 0246 mov r2, r0
|
||
212 0014 0B46 mov r3, r1
|
||
213 0016 C4E90023 strd r2, [r4]
|
||
57:Src/squeow.c **** if(angle >= 6.28) angle = 0;
|
||
214 .loc 1 57 10 is_stmt 1 view .LVU38
|
||
215 .loc 1 57 12 is_stmt 0 view .LVU39
|
||
216 001a 11A3 adr r3, .L17+8
|
||
217 001c D3E90023 ldrd r2, [r3]
|
||
218 0020 FFF7FEFF bl __aeabi_dcmpge
|
||
219 .LVL17:
|
||
220 0024 18B1 cbz r0, .L13
|
||
221 .loc 1 57 28 is_stmt 1 discriminator 1 view .LVU40
|
||
222 .loc 1 57 34 is_stmt 0 discriminator 1 view .LVU41
|
||
223 0026 0020 movs r0, #0
|
||
224 0028 0021 movs r1, #0
|
||
225 002a C4E90001 strd r0, [r4]
|
||
226 .L13:
|
||
58:Src/squeow.c **** return (uint16_t)((sin(angle)*0x7ff)+0x7ff);
|
||
227 .loc 1 58 9 is_stmt 1 view .LVU42
|
||
228 .loc 1 58 28 is_stmt 0 view .LVU43
|
||
229 002e 104B ldr r3, .L17+24
|
||
230 0030 93ED000B vldr.64 d0, [r3]
|
||
231 0034 FFF7FEFF bl sin
|
||
ARM GAS /tmp/ccGt6Pje.s page 6
|
||
|
||
|
||
232 .LVL18:
|
||
233 0038 51EC100B vmov r0, r1, d0
|
||
234 .loc 1 58 38 view .LVU44
|
||
235 003c 0AA3 adr r3, .L17+16
|
||
236 003e D3E90023 ldrd r2, [r3]
|
||
237 0042 FFF7FEFF bl __aeabi_dmul
|
||
238 .LVL19:
|
||
239 .loc 1 58 45 view .LVU45
|
||
240 0046 08A3 adr r3, .L17+16
|
||
241 0048 D3E90023 ldrd r2, [r3]
|
||
242 004c FFF7FEFF bl __aeabi_dadd
|
||
243 .LVL20:
|
||
244 .loc 1 58 16 view .LVU46
|
||
245 0050 FFF7FEFF bl __aeabi_d2uiz
|
||
246 .LVL21:
|
||
59:Src/squeow.c **** }
|
||
247 .loc 1 59 1 view .LVU47
|
||
248 0054 80B2 uxth r0, r0
|
||
249 0056 10BD pop {r4, pc}
|
||
250 .L18:
|
||
251 .align 3
|
||
252 .L17:
|
||
253 0058 7F6ABC74 .word 1958505087
|
||
254 005c 9318D43F .word 1070864531
|
||
255 0060 1F85EB51 .word 1374389535
|
||
256 0064 B81E1940 .word 1075388088
|
||
257 0068 00000000 .word 0
|
||
258 006c 00FC9F40 .word 1084226560
|
||
259 0070 00000000 .word angle.0
|
||
260 .cfi_endproc
|
||
261 .LFE335:
|
||
263 .section .text.sample,"ax",%progbits
|
||
264 .align 1
|
||
265 .global sample
|
||
266 .syntax unified
|
||
267 .thumb
|
||
268 .thumb_func
|
||
270 sample:
|
||
271 .LFB336:
|
||
60:Src/squeow.c ****
|
||
61:Src/squeow.c **** uint16_t sample(void){
|
||
272 .loc 1 61 22 is_stmt 1 view -0
|
||
273 .cfi_startproc
|
||
274 @ args = 0, pretend = 0, frame = 0
|
||
275 @ frame_needed = 0, uses_anonymous_args = 0
|
||
276 @ link register save eliminated.
|
||
62:Src/squeow.c **** /*
|
||
63:Src/squeow.c **** stato_audio == STATO_AUDIO_ADC;
|
||
64:Src/squeow.c **** HAL_ADC_Start(&hadc1);
|
||
65:Src/squeow.c **** if (HAL_ADC_PollForConversion(&hadc1, 10) == HAL_OK){
|
||
66:Src/squeow.c **** // store_sample(HAL_ADC_GetValue(&hadc1) << 4);
|
||
67:Src/squeow.c **** sample_value = HAL_ADC_GetValue(&hadc1);
|
||
68:Src/squeow.c **** }
|
||
69:Src/squeow.c **** HAL_ADC_Stop(&hadc1);
|
||
70:Src/squeow.c **** */
|
||
71:Src/squeow.c **** }
|
||
277 .loc 1 71 1 view .LVU49
|
||
ARM GAS /tmp/ccGt6Pje.s page 7
|
||
|
||
|
||
278 0000 7047 bx lr
|
||
279 .cfi_endproc
|
||
280 .LFE336:
|
||
282 .section .text.store_sample,"ax",%progbits
|
||
283 .align 1
|
||
284 .global store_sample
|
||
285 .syntax unified
|
||
286 .thumb
|
||
287 .thumb_func
|
||
289 store_sample:
|
||
290 .LVL22:
|
||
291 .LFB338:
|
||
72:Src/squeow.c ****
|
||
73:Src/squeow.c **** void store_samples(uint16_t *data, uint16_t size){
|
||
74:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
|
||
75:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
76:Src/squeow.c **** store_sample(data[i]);
|
||
77:Src/squeow.c **** }
|
||
78:Src/squeow.c **** }
|
||
79:Src/squeow.c ****
|
||
80:Src/squeow.c **** void store_sample(uint16_t sample){
|
||
292 .loc 1 80 35 view -0
|
||
293 .cfi_startproc
|
||
294 @ args = 0, pretend = 0, frame = 0
|
||
295 @ frame_needed = 0, uses_anonymous_args = 0
|
||
296 .loc 1 80 35 is_stmt 0 view .LVU51
|
||
297 0000 08B5 push {r3, lr}
|
||
298 .LCFI2:
|
||
299 .cfi_def_cfa_offset 8
|
||
300 .cfi_offset 3, -8
|
||
301 .cfi_offset 14, -4
|
||
81:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = sample;
|
||
302 .loc 1 81 17 is_stmt 1 view .LVU52
|
||
303 .loc 1 81 32 is_stmt 0 view .LVU53
|
||
304 0002 054B ldr r3, .L22
|
||
305 0004 1988 ldrh r1, [r3]
|
||
306 .loc 1 81 62 view .LVU54
|
||
307 0006 054A ldr r2, .L22+4
|
||
308 0008 22F81100 strh r0, [r2, r1, lsl #1] @ movhi
|
||
82:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
|
||
309 .loc 1 82 17 is_stmt 1 view .LVU55
|
||
310 000c 40F2FF31 movw r1, #1023
|
||
311 0010 1846 mov r0, r3
|
||
312 .LVL23:
|
||
313 .loc 1 82 17 is_stmt 0 view .LVU56
|
||
314 0012 FFF7FEFF bl ringbuf_increment
|
||
315 .LVL24:
|
||
83:Src/squeow.c **** }
|
||
316 .loc 1 83 1 view .LVU57
|
||
317 0016 08BD pop {r3, pc}
|
||
318 .L23:
|
||
319 .align 2
|
||
320 .L22:
|
||
321 0018 00000000 .word samples_ringbuf_input_index
|
||
322 001c 00000000 .word samples_ringbuf
|
||
323 .cfi_endproc
|
||
324 .LFE338:
|
||
ARM GAS /tmp/ccGt6Pje.s page 8
|
||
|
||
|
||
326 .section .text.store_samples,"ax",%progbits
|
||
327 .align 1
|
||
328 .global store_samples
|
||
329 .syntax unified
|
||
330 .thumb
|
||
331 .thumb_func
|
||
333 store_samples:
|
||
334 .LVL25:
|
||
335 .LFB337:
|
||
73:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
|
||
336 .loc 1 73 50 is_stmt 1 view -0
|
||
337 .cfi_startproc
|
||
338 @ args = 0, pretend = 0, frame = 0
|
||
339 @ frame_needed = 0, uses_anonymous_args = 0
|
||
73:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
|
||
340 .loc 1 73 50 is_stmt 0 view .LVU59
|
||
341 0000 70B5 push {r4, r5, r6, lr}
|
||
342 .LCFI3:
|
||
343 .cfi_def_cfa_offset 16
|
||
344 .cfi_offset 4, -16
|
||
345 .cfi_offset 5, -12
|
||
346 .cfi_offset 6, -8
|
||
347 .cfi_offset 14, -4
|
||
348 0002 0646 mov r6, r0
|
||
349 0004 0D46 mov r5, r1
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
350 .loc 1 74 9 is_stmt 1 view .LVU60
|
||
351 .LBB3:
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
352 .loc 1 74 13 view .LVU61
|
||
353 .LVL26:
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
354 .loc 1 74 22 is_stmt 0 view .LVU62
|
||
355 0006 0024 movs r4, #0
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
356 .loc 1 74 9 view .LVU63
|
||
357 0008 0AE0 b .L25
|
||
358 .LVL27:
|
||
359 .L26:
|
||
75:Src/squeow.c **** store_sample(data[i]);
|
||
360 .loc 1 75 15 is_stmt 1 discriminator 3 view .LVU64
|
||
75:Src/squeow.c **** store_sample(data[i]);
|
||
361 .loc 1 75 30 is_stmt 0 discriminator 3 view .LVU65
|
||
362 000a 074B ldr r3, .L28
|
||
363 000c 1A88 ldrh r2, [r3]
|
||
75:Src/squeow.c **** store_sample(data[i]);
|
||
364 .loc 1 75 66 discriminator 3 view .LVU66
|
||
365 000e 36F81400 ldrh r0, [r6, r4, lsl #1]
|
||
75:Src/squeow.c **** store_sample(data[i]);
|
||
366 .loc 1 75 60 discriminator 3 view .LVU67
|
||
367 0012 064B ldr r3, .L28+4
|
||
368 0014 23F81200 strh r0, [r3, r2, lsl #1] @ movhi
|
||
76:Src/squeow.c **** }
|
||
369 .loc 1 76 17 is_stmt 1 discriminator 3 view .LVU68
|
||
370 0018 FFF7FEFF bl store_sample
|
||
371 .LVL28:
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
ARM GAS /tmp/ccGt6Pje.s page 9
|
||
|
||
|
||
372 .loc 1 74 39 discriminator 3 view .LVU69
|
||
373 001c 0134 adds r4, r4, #1
|
||
374 .LVL29:
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
375 .loc 1 74 39 is_stmt 0 discriminator 3 view .LVU70
|
||
376 001e A4B2 uxth r4, r4
|
||
377 .LVL30:
|
||
378 .L25:
|
||
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
|
||
379 .loc 1 74 31 is_stmt 1 discriminator 1 view .LVU71
|
||
380 0020 AC42 cmp r4, r5
|
||
381 0022 F2D3 bcc .L26
|
||
382 .LBE3:
|
||
78:Src/squeow.c ****
|
||
383 .loc 1 78 1 is_stmt 0 view .LVU72
|
||
384 0024 70BD pop {r4, r5, r6, pc}
|
||
385 .LVL31:
|
||
386 .L29:
|
||
78:Src/squeow.c ****
|
||
387 .loc 1 78 1 view .LVU73
|
||
388 0026 00BF .align 2
|
||
389 .L28:
|
||
390 0028 00000000 .word samples_ringbuf_input_index
|
||
391 002c 00000000 .word samples_ringbuf
|
||
392 .cfi_endproc
|
||
393 .LFE337:
|
||
395 .section .bss.angle.0,"aw",%nobits
|
||
396 .align 3
|
||
399 angle.0:
|
||
400 0000 00000000 .space 8
|
||
400 00000000
|
||
401 .section .bss.angle.1,"aw",%nobits
|
||
402 .align 3
|
||
405 angle.1:
|
||
406 0000 00000000 .space 8
|
||
406 00000000
|
||
407 .global samples_ringbuf_output_index
|
||
408 .section .bss.samples_ringbuf_output_index,"aw",%nobits
|
||
409 .align 1
|
||
412 samples_ringbuf_output_index:
|
||
413 0000 0000 .space 2
|
||
414 .global samples_ringbuf_input_index
|
||
415 .section .bss.samples_ringbuf_input_index,"aw",%nobits
|
||
416 .align 1
|
||
419 samples_ringbuf_input_index:
|
||
420 0000 0000 .space 2
|
||
421 .global samples_ringbuf
|
||
422 .section .bss.samples_ringbuf,"aw",%nobits
|
||
423 .align 2
|
||
426 samples_ringbuf:
|
||
427 0000 00000000 .space 2048
|
||
427 00000000
|
||
427 00000000
|
||
427 00000000
|
||
427 00000000
|
||
428 .global rails_number
|
||
429 .section .bss.rails_number,"aw",%nobits
|
||
ARM GAS /tmp/ccGt6Pje.s page 10
|
||
|
||
|
||
432 rails_number:
|
||
433 0000 00 .space 1
|
||
434 .global display_buffer
|
||
435 .section .bss.display_buffer,"aw",%nobits
|
||
436 .align 2
|
||
439 display_buffer:
|
||
440 0000 00000000 .space 16
|
||
440 00000000
|
||
440 00000000
|
||
440 00000000
|
||
441 .global sample_value
|
||
442 .section .bss.sample_value,"aw",%nobits
|
||
443 .align 1
|
||
446 sample_value:
|
||
447 0000 0000 .space 2
|
||
448 .global pwm_value
|
||
449 .section .bss.pwm_value,"aw",%nobits
|
||
450 .align 1
|
||
453 pwm_value:
|
||
454 0000 0000 .space 2
|
||
455 .global stato_audio
|
||
456 .section .bss.stato_audio,"aw",%nobits
|
||
459 stato_audio:
|
||
460 0000 00 .space 1
|
||
461 .text
|
||
462 .Letext0:
|
||
463 .file 2 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h"
|
||
464 .file 3 "Inc/squeow.h"
|
||
465 .file 4 "/usr/include/newlib/math.h"
|
||
ARM GAS /tmp/ccGt6Pje.s page 11
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 squeow.c
|
||
/tmp/ccGt6Pje.s:21 .text.audio_play:00000000 $t
|
||
/tmp/ccGt6Pje.s:27 .text.audio_play:00000000 audio_play
|
||
/tmp/ccGt6Pje.s:62 .text.sat_sub:00000000 $t
|
||
/tmp/ccGt6Pje.s:68 .text.sat_sub:00000000 sat_sub
|
||
/tmp/ccGt6Pje.s:106 .text.u16_sine:00000000 $t
|
||
/tmp/ccGt6Pje.s:112 .text.u16_sine:00000000 u16_sine
|
||
/tmp/ccGt6Pje.s:174 .text.u16_sine:00000058 $d
|
||
/tmp/ccGt6Pje.s:405 .bss.angle.1:00000000 angle.1
|
||
/tmp/ccGt6Pje.s:185 .text.u12_sine:00000000 $t
|
||
/tmp/ccGt6Pje.s:191 .text.u12_sine:00000000 u12_sine
|
||
/tmp/ccGt6Pje.s:253 .text.u12_sine:00000058 $d
|
||
/tmp/ccGt6Pje.s:399 .bss.angle.0:00000000 angle.0
|
||
/tmp/ccGt6Pje.s:264 .text.sample:00000000 $t
|
||
/tmp/ccGt6Pje.s:270 .text.sample:00000000 sample
|
||
/tmp/ccGt6Pje.s:283 .text.store_sample:00000000 $t
|
||
/tmp/ccGt6Pje.s:289 .text.store_sample:00000000 store_sample
|
||
/tmp/ccGt6Pje.s:321 .text.store_sample:00000018 $d
|
||
/tmp/ccGt6Pje.s:419 .bss.samples_ringbuf_input_index:00000000 samples_ringbuf_input_index
|
||
/tmp/ccGt6Pje.s:426 .bss.samples_ringbuf:00000000 samples_ringbuf
|
||
/tmp/ccGt6Pje.s:327 .text.store_samples:00000000 $t
|
||
/tmp/ccGt6Pje.s:333 .text.store_samples:00000000 store_samples
|
||
/tmp/ccGt6Pje.s:390 .text.store_samples:00000028 $d
|
||
/tmp/ccGt6Pje.s:396 .bss.angle.0:00000000 $d
|
||
/tmp/ccGt6Pje.s:402 .bss.angle.1:00000000 $d
|
||
/tmp/ccGt6Pje.s:412 .bss.samples_ringbuf_output_index:00000000 samples_ringbuf_output_index
|
||
/tmp/ccGt6Pje.s:409 .bss.samples_ringbuf_output_index:00000000 $d
|
||
/tmp/ccGt6Pje.s:416 .bss.samples_ringbuf_input_index:00000000 $d
|
||
/tmp/ccGt6Pje.s:423 .bss.samples_ringbuf:00000000 $d
|
||
/tmp/ccGt6Pje.s:432 .bss.rails_number:00000000 rails_number
|
||
/tmp/ccGt6Pje.s:433 .bss.rails_number:00000000 $d
|
||
/tmp/ccGt6Pje.s:439 .bss.display_buffer:00000000 display_buffer
|
||
/tmp/ccGt6Pje.s:436 .bss.display_buffer:00000000 $d
|
||
/tmp/ccGt6Pje.s:446 .bss.sample_value:00000000 sample_value
|
||
/tmp/ccGt6Pje.s:443 .bss.sample_value:00000000 $d
|
||
/tmp/ccGt6Pje.s:453 .bss.pwm_value:00000000 pwm_value
|
||
/tmp/ccGt6Pje.s:450 .bss.pwm_value:00000000 $d
|
||
/tmp/ccGt6Pje.s:459 .bss.stato_audio:00000000 stato_audio
|
||
/tmp/ccGt6Pje.s:460 .bss.stato_audio:00000000 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
__aeabi_dadd
|
||
__aeabi_dcmpge
|
||
__aeabi_dmul
|
||
__aeabi_d2uiz
|
||
sin
|
||
ringbuf_increment
|