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
