ARM GAS /tmp/ccj72Lmv.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 "bassofono.c" 14 .text 15 .global __aeabi_ldivmod 16 .section .text.set_nco1_freq,"ax",%progbits 17 .align 1 18 .p2align 2,,3 19 .global set_nco1_freq 20 .arch armv7e-m 21 .syntax unified 22 .thumb 23 .thumb_func 24 .fpu fpv4-sp-d16 26 set_nco1_freq: 27 @ args = 0, pretend = 0, frame = 0 28 @ frame_needed = 0, uses_anonymous_args = 0 29 0000 08B5 push {r3, lr} 30 0002 0B4B ldr r3, .L10 31 0004 1B68 ldr r3, [r3] 32 0006 022B cmp r3, #2 33 0008 0146 mov r1, r0 34 000a 08D0 beq .L2 35 000c 042B cmp r3, #4 36 000e 06D0 beq .L2 37 0010 23F00203 bic r3, r3, #2 38 0014 012B cmp r3, #1 39 0016 08BF it eq 40 0018 A0F21E71 subweq r1, r0, #1822 41 001c 01E0 b .L4 42 .L2: 43 001e 01F21E71 addw r1, r1, #1822 44 .L4: 45 0022 044A ldr r2, .L10+4 46 0024 0023 movs r3, #0 47 0026 0020 movs r0, #0 48 0028 FFF7FEFF bl __aeabi_ldivmod 49 002c 08BD pop {r3, pc} 50 .L11: 51 002e 00BF .align 2 52 .L10: 53 0030 00000000 .word .LANCHOR0 54 0034 30570500 .word 350000 56 .section .text.ringbuf_increment,"ax",%progbits 57 .align 1 58 .p2align 2,,3 59 .global ringbuf_increment ARM GAS /tmp/ccj72Lmv.s page 2 60 .syntax unified 61 .thumb 62 .thumb_func 63 .fpu fpv4-sp-d16 65 ringbuf_increment: 66 @ args = 0, pretend = 0, frame = 0 67 @ frame_needed = 0, uses_anonymous_args = 0 68 @ link register save eliminated. 69 0000 0378 ldrb r3, [r0] @ zero_extendqisi2 70 0002 0133 adds r3, r3, #1 71 0004 1940 ands r1, r1, r3 72 0006 0170 strb r1, [r0] 73 0008 0846 mov r0, r1 74 000a 7047 bx lr 76 .section .text.sat_mult_q31,"ax",%progbits 77 .align 1 78 .p2align 2,,3 79 .global sat_mult_q31 80 .syntax unified 81 .thumb 82 .thumb_func 83 .fpu fpv4-sp-d16 85 sat_mult_q31: 86 @ args = 0, pretend = 0, frame = 0 87 @ frame_needed = 0, uses_anonymous_args = 0 88 @ link register save eliminated. 89 0000 80FB0110 smull r1, r0, r0, r1 90 .syntax unified 91 @ 97 "Core/Src/bassofono.c" 1 92 0004 00F31E00 ssat r0, #31, r0 93 @ 0 "" 2 94 .thumb 95 .syntax unified 96 0008 4000 lsls r0, r0, #1 97 000a 7047 bx lr 99 .section .text.enqueue_cmd,"ax",%progbits 100 .align 1 101 .p2align 2,,3 102 .global enqueue_cmd 103 .syntax unified 104 .thumb 105 .thumb_func 106 .fpu fpv4-sp-d16 108 enqueue_cmd: 109 @ args = 0, pretend = 0, frame = 0 110 @ frame_needed = 0, uses_anonymous_args = 0 111 @ link register save eliminated. 112 0000 10B4 push {r4} 113 0002 054A ldr r2, .L16 114 0004 054C ldr r4, .L16+4 115 0006 1178 ldrb r1, [r2] @ zero_extendqisi2 116 0008 4B1C adds r3, r1, #1 117 000a 03F01F03 and r3, r3, #31 118 000e 1370 strb r3, [r2] 119 0010 6054 strb r0, [r4, r1] 120 0012 5DF8044B ldr r4, [sp], #4 121 0016 7047 bx lr ARM GAS /tmp/ccj72Lmv.s page 3 122 .L17: 123 .align 2 124 .L16: 125 0018 00000000 .word .LANCHOR1 126 001c 00000000 .word .LANCHOR2 128 .section .text.dequeue_cmd,"ax",%progbits 129 .align 1 130 .p2align 2,,3 131 .global dequeue_cmd 132 .syntax unified 133 .thumb 134 .thumb_func 135 .fpu fpv4-sp-d16 137 dequeue_cmd: 138 @ args = 0, pretend = 0, frame = 0 139 @ frame_needed = 0, uses_anonymous_args = 0 140 0000 10B5 push {r4, lr} 141 0002 064C ldr r4, .L20 142 0004 064A ldr r2, .L20+4 143 0006 2378 ldrb r3, [r4] @ zero_extendqisi2 144 0008 D05C ldrb r0, [r2, r3] @ zero_extendqisi2 145 000a FFF7FEFF bl decode_cmd 146 000e 2378 ldrb r3, [r4] @ zero_extendqisi2 147 0010 0133 adds r3, r3, #1 148 0012 03F01F03 and r3, r3, #31 149 0016 2370 strb r3, [r4] 150 0018 10BD pop {r4, pc} 151 .L21: 152 001a 00BF .align 2 153 .L20: 154 001c 00000000 .word .LANCHOR3 155 0020 00000000 .word .LANCHOR2 157 .section .text.set_frequency,"ax",%progbits 158 .align 1 159 .p2align 2,,3 160 .global set_frequency 161 .syntax unified 162 .thumb 163 .thumb_func 164 .fpu fpv4-sp-d16 166 set_frequency: 167 @ args = 0, pretend = 0, frame = 0 168 @ frame_needed = 0, uses_anonymous_args = 0 169 0000 38B5 push {r3, r4, r5, lr} 170 0002 114B ldr r3, .L31 171 0004 1149 ldr r1, .L31+4 172 0006 124A ldr r2, .L31+8 173 0008 1B68 ldr r3, [r3] 174 000a 0C68 ldr r4, [r1] 175 000c 1168 ldr r1, [r2] 176 000e 022B cmp r3, #2 177 0010 2144 add r1, r1, r4 178 0012 08D0 beq .L23 179 0014 042B cmp r3, #4 180 0016 06D0 beq .L23 181 0018 23F00203 bic r3, r3, #2 182 001c 012B cmp r3, #1 ARM GAS /tmp/ccj72Lmv.s page 4 183 001e 08BF it eq 184 0020 A1F21E71 subweq r1, r1, #1822 185 0024 01E0 b .L25 186 .L23: 187 0026 01F21E71 addw r1, r1, #1822 188 .L25: 189 002a 0023 movs r3, #0 190 002c 094A ldr r2, .L31+12 191 002e 0A4D ldr r5, .L31+16 192 0030 0020 movs r0, #0 193 0032 FFF7FEFF bl __aeabi_ldivmod 194 0036 0346 mov r3, r0 195 0038 2B60 str r3, [r5] 196 003a 2046 mov r0, r4 197 003c 0021 movs r1, #0 198 003e BDE83840 pop {r3, r4, r5, lr} 199 0042 FFF7FEBF b si53531_set_frequency 200 .L32: 201 0046 00BF .align 2 202 .L31: 203 0048 00000000 .word .LANCHOR0 204 004c 00000000 .word .LANCHOR4 205 0050 00000000 .word .LANCHOR5 206 0054 30570500 .word 350000 207 0058 00000000 .word rx_nco1_increment 209 .section .text.set_modulation,"ax",%progbits 210 .align 1 211 .p2align 2,,3 212 .global set_modulation 213 .syntax unified 214 .thumb 215 .thumb_func 216 .fpu fpv4-sp-d16 218 set_modulation: 219 @ args = 0, pretend = 0, frame = 0 220 @ frame_needed = 0, uses_anonymous_args = 0 221 0000 38B5 push {r3, r4, r5, lr} 222 0002 FFF7FEFF bl st2_filter_init 223 0006 114B ldr r3, .L42 224 0008 1149 ldr r1, .L42+4 225 000a 124A ldr r2, .L42+8 226 000c 1B68 ldr r3, [r3] 227 000e 0C68 ldr r4, [r1] 228 0010 1168 ldr r1, [r2] 229 0012 022B cmp r3, #2 230 0014 2144 add r1, r1, r4 231 0016 08D0 beq .L34 232 0018 042B cmp r3, #4 233 001a 06D0 beq .L34 234 001c 23F00203 bic r3, r3, #2 235 0020 012B cmp r3, #1 236 0022 08BF it eq 237 0024 A1F21E71 subweq r1, r1, #1822 238 0028 01E0 b .L36 239 .L34: 240 002a 01F21E71 addw r1, r1, #1822 241 .L36: ARM GAS /tmp/ccj72Lmv.s page 5 242 002e 0023 movs r3, #0 243 0030 094A ldr r2, .L42+12 244 0032 0A4D ldr r5, .L42+16 245 0034 0020 movs r0, #0 246 0036 FFF7FEFF bl __aeabi_ldivmod 247 003a 0346 mov r3, r0 248 003c 2B60 str r3, [r5] 249 003e 2046 mov r0, r4 250 0040 0021 movs r1, #0 251 0042 BDE83840 pop {r3, r4, r5, lr} 252 0046 FFF7FEBF b si53531_set_frequency 253 .L43: 254 004a 00BF .align 2 255 .L42: 256 004c 00000000 .word .LANCHOR0 257 0050 00000000 .word .LANCHOR4 258 0054 00000000 .word .LANCHOR5 259 0058 30570500 .word 350000 260 005c 00000000 .word rx_nco1_increment 262 .section .text.set_dummy,"ax",%progbits 263 .align 1 264 .p2align 2,,3 265 .global set_dummy 266 .syntax unified 267 .thumb 268 .thumb_func 269 .fpu fpv4-sp-d16 271 set_dummy: 272 @ args = 0, pretend = 0, frame = 0 273 @ frame_needed = 0, uses_anonymous_args = 0 274 @ link register save eliminated. 275 0000 7047 bx lr 277 0002 00BF .section .text.set_changed,"ax",%progbits 278 .align 1 279 .p2align 2,,3 280 .global set_changed 281 .syntax unified 282 .thumb 283 .thumb_func 284 .fpu fpv4-sp-d16 286 set_changed: 287 @ args = 0, pretend = 0, frame = 0 288 @ frame_needed = 0, uses_anonymous_args = 0 289 @ link register save eliminated. 290 0000 034A ldr r2, .L46 291 0002 0123 movs r3, #1 292 0004 1188 ldrh r1, [r2] 293 0006 03FA00F0 lsl r0, r3, r0 294 000a 0843 orrs r0, r0, r1 295 000c 1080 strh r0, [r2] @ movhi 296 000e 7047 bx lr 297 .L47: 298 .align 2 299 .L46: 300 0010 00000000 .word .LANCHOR6 302 .section .text.reset_changed,"ax",%progbits 303 .align 1 ARM GAS /tmp/ccj72Lmv.s page 6 304 .p2align 2,,3 305 .global reset_changed 306 .syntax unified 307 .thumb 308 .thumb_func 309 .fpu fpv4-sp-d16 311 reset_changed: 312 @ args = 0, pretend = 0, frame = 0 313 @ frame_needed = 0, uses_anonymous_args = 0 314 @ link register save eliminated. 315 0000 0449 ldr r1, .L49 316 0002 0122 movs r2, #1 317 0004 0B88 ldrh r3, [r1] 318 0006 02FA00F0 lsl r0, r2, r0 319 000a 23EA0003 bic r3, r3, r0 320 000e 0B80 strh r3, [r1] @ movhi 321 0010 7047 bx lr 322 .L50: 323 0012 00BF .align 2 324 .L49: 325 0014 00000000 .word .LANCHOR6 327 .section .text.get_changed,"ax",%progbits 328 .align 1 329 .p2align 2,,3 330 .global get_changed 331 .syntax unified 332 .thumb 333 .thumb_func 334 .fpu fpv4-sp-d16 336 get_changed: 337 @ args = 0, pretend = 0, frame = 0 338 @ frame_needed = 0, uses_anonymous_args = 0 339 @ link register save eliminated. 340 0000 034B ldr r3, .L52 341 0002 1B88 ldrh r3, [r3] 342 0004 43FA00F0 asr r0, r3, r0 343 0008 00F00100 and r0, r0, #1 344 000c 7047 bx lr 345 .L53: 346 000e 00BF .align 2 347 .L52: 348 0010 00000000 .word .LANCHOR6 350 .section .text.state_set_default,"ax",%progbits 351 .align 1 352 .p2align 2,,3 353 .global state_set_default 354 .syntax unified 355 .thumb 356 .thumb_func 357 .fpu fpv4-sp-d16 359 state_set_default: 360 @ args = 0, pretend = 0, frame = 0 361 @ frame_needed = 0, uses_anonymous_args = 0 362 0000 38B5 push {r3, r4, r5, lr} 363 0002 144B ldr r3, .L56 364 0004 144A ldr r2, .L56+4 365 0006 154C ldr r4, .L56+8 ARM GAS /tmp/ccj72Lmv.s page 7 366 0008 0425 movs r5, #4 367 000a 0021 movs r1, #0 368 000c 1D60 str r5, [r3] 369 000e 144B ldr r3, .L56+12 370 0010 1160 str r1, [r2] 371 0012 4FF4FA30 mov r0, #128000 372 0016 134A ldr r2, .L56+16 373 0018 2060 str r0, [r4] 374 001a 1A60 str r2, [r3] 375 001c FFF7FEFF bl si53531_set_frequency 376 0020 1148 ldr r0, .L56+20 377 0022 0224 movs r4, #2 378 0024 0460 str r4, [r0] 379 0026 1148 ldr r0, .L56+24 380 0028 0824 movs r4, #8 381 002a 0460 str r4, [r0] 382 002c 1048 ldr r0, .L56+28 383 002e 114C ldr r4, .L56+32 384 0030 4FF4FA62 mov r2, #2000 385 0034 0260 str r2, [r0] 386 0036 1048 ldr r0, .L56+36 387 0038 1023 movs r3, #16 388 003a 0360 str r3, [r0] 389 003c 40F2E241 movw r1, #1250 390 0040 0E48 ldr r0, .L56+40 391 0042 2160 str r1, [r4] 392 0044 FFF7FEFF bl audio_filter_generate_coeffs 393 0048 0D4B ldr r3, .L56+44 394 004a 4FF6FF72 movw r2, #65535 395 004e 1A80 strh r2, [r3] @ movhi 396 0050 38BD pop {r3, r4, r5, pc} 397 .L57: 398 0052 00BF .align 2 399 .L56: 400 0054 00000000 .word .LANCHOR0 401 0058 00000000 .word .LANCHOR5 402 005c 00000000 .word .LANCHOR4 403 0060 00000000 .word rx_nco1_increment 404 0064 F59CF45E .word 1593089269 405 0068 00000000 .word .LANCHOR7 406 006c 00000000 .word .LANCHOR8 407 0070 00000000 .word .LANCHOR10 408 0074 00000000 .word .LANCHOR9 409 0078 00000000 .word .LANCHOR11 410 007c 00000000 .word audio_filter_coeffs 411 0080 00000000 .word .LANCHOR6 413 .section .rodata.diag.str1.4,"aMS",%progbits,1 414 .align 2 415 .LC0: 416 0000 41444320 .ascii "ADC sample rate: %d\012ADC oversampling: %d\012\000" 416 73616D70 416 6C652072 416 6174653A 416 2025640A 417 002a 0000 .align 2 418 .LC1: 419 002c 41444320 .ascii "ADC buffer size: %d\0121st decimation factor: %d\012" ARM GAS /tmp/ccj72Lmv.s page 8 419 62756666 419 65722073 419 697A653A 419 2025640A 420 005a 00 .ascii "\000" 421 005b 00 .align 2 422 .LC2: 423 005c 31737420 .ascii "1st out sample rate: %d\012\000" 423 6F757420 423 73616D70 423 6C652072 423 6174653A 424 0075 000000 .align 2 425 .LC3: 426 0078 32737420 .ascii "2st buffer size: %d\0122st decimation factor: %d\012" 426 62756666 426 65722073 426 697A653A 426 2025640A 427 00a6 00 .ascii "\000" 428 00a7 00 .align 2 429 .LC4: 430 00a8 32737420 .ascii "2st out sample rate: %d\012\000" 430 6F757420 430 73616D70 430 6C652072 430 6174653A 431 00c1 000000 .align 2 432 .LC5: 433 00c4 696E2072 .ascii "in rx_gain %d\012\000" 433 785F6761 433 696E2025 433 640A00 434 00d3 00 .align 2 435 .LC6: 436 00d4 61662067 .ascii "af gain %d\012\000" 436 61696E20 436 25640A00 437 .align 2 438 .LC7: 439 00e0 7278206E .ascii "rx nco1 inc %d\012\000" 439 636F3120 439 696E6320 439 25640A00 440 .align 2 441 .LC8: 442 00f0 6E636F32 .ascii "nco2 inc %d\012\000" 442 20696E63 442 2025640A 442 00 443 00fd 000000 .align 2 444 .LC9: 445 0100 61756469 .ascii "audio filter f %d bw %d\012\000" 445 6F206669 445 6C746572 445 20662025 445 64206277 ARM GAS /tmp/ccj72Lmv.s page 9 446 .section .text.diag,"ax",%progbits 447 .align 1 448 .p2align 2,,3 449 .global diag 450 .syntax unified 451 .thumb 452 .thumb_func 453 .fpu fpv4-sp-d16 455 diag: 456 @ args = 0, pretend = 0, frame = 0 457 @ frame_needed = 0, uses_anonymous_args = 0 458 0000 38B5 push {r3, r4, r5, lr} 459 0002 2F4D ldr r5, .L60 460 0004 2F4C ldr r4, .L60+4 461 0006 304A ldr r2, .L60+8 462 0008 3049 ldr r1, .L60+12 463 000a 0223 movs r3, #2 464 000c 2846 mov r0, r5 465 000e FFF7FEFF bl sprintf 466 0012 2188 ldrh r1, [r4] 467 0014 2C31 adds r1, r1, #44 468 0016 0423 movs r3, #4 469 0018 4FF48062 mov r2, #1024 470 001c 2180 strh r1, [r4] @ movhi 471 001e 2846 mov r0, r5 472 0020 2B49 ldr r1, .L60+16 473 0022 FFF7FEFF bl sprintf 474 0026 2388 ldrh r3, [r4] 475 0028 2A4A ldr r2, .L60+20 476 002a 2B49 ldr r1, .L60+24 477 002c 2F33 adds r3, r3, #47 478 002e 2846 mov r0, r5 479 0030 2380 strh r3, [r4] @ movhi 480 0032 FFF7FEFF bl sprintf 481 0036 2188 ldrh r1, [r4] 482 0038 1B31 adds r1, r1, #27 483 003a 0823 movs r3, #8 484 003c 4FF48072 mov r2, #256 485 0040 2180 strh r1, [r4] @ movhi 486 0042 2846 mov r0, r5 487 0044 2549 ldr r1, .L60+28 488 0046 FFF7FEFF bl sprintf 489 004a 2388 ldrh r3, [r4] 490 004c 2449 ldr r1, .L60+32 491 004e 2E33 adds r3, r3, #46 492 0050 45F27352 movw r2, #21875 493 0054 2846 mov r0, r5 494 0056 2380 strh r3, [r4] @ movhi 495 0058 FFF7FEFF bl sprintf 496 005c 2388 ldrh r3, [r4] 497 005e 214A ldr r2, .L60+36 498 0060 2149 ldr r1, .L60+40 499 0062 1268 ldr r2, [r2] 500 0064 1B33 adds r3, r3, #27 501 0066 2846 mov r0, r5 502 0068 2380 strh r3, [r4] @ movhi 503 006a FFF7FEFF bl sprintf ARM GAS /tmp/ccj72Lmv.s page 10 504 006e 2288 ldrh r2, [r4] 505 0070 1E4B ldr r3, .L60+44 506 0072 1F49 ldr r1, .L60+48 507 0074 1044 add r0, r0, r2 508 0076 2080 strh r0, [r4] @ movhi 509 0078 1A68 ldr r2, [r3] 510 007a 2846 mov r0, r5 511 007c FFF7FEFF bl sprintf 512 0080 2288 ldrh r2, [r4] 513 0082 1C4B ldr r3, .L60+52 514 0084 1C49 ldr r1, .L60+56 515 0086 1044 add r0, r0, r2 516 0088 2080 strh r0, [r4] @ movhi 517 008a 1A68 ldr r2, [r3] 518 008c 2846 mov r0, r5 519 008e FFF7FEFF bl sprintf 520 0092 2388 ldrh r3, [r4] 521 0094 194A ldr r2, .L60+60 522 0096 1A49 ldr r1, .L60+64 523 0098 1844 add r0, r0, r3 524 009a 2080 strh r0, [r4] @ movhi 525 009c 2846 mov r0, r5 526 009e FFF7FEFF bl sprintf 527 00a2 2188 ldrh r1, [r4] 528 00a4 174B ldr r3, .L60+68 529 00a6 184A ldr r2, .L60+72 530 00a8 1B68 ldr r3, [r3] 531 00aa 1268 ldr r2, [r2] 532 00ac 1331 adds r1, r1, #19 533 00ae 2180 strh r1, [r4] @ movhi 534 00b0 2846 mov r0, r5 535 00b2 1649 ldr r1, .L60+76 536 00b4 FFF7FEFF bl sprintf 537 00b8 2388 ldrh r3, [r4] 538 00ba 1844 add r0, r0, r3 539 00bc 2080 strh r0, [r4] @ movhi 540 00be 38BD pop {r3, r4, r5, pc} 541 .L61: 542 .align 2 543 .L60: 544 00c0 00000000 .word .LANCHOR12 545 00c4 00000000 .word .LANCHOR13 546 00c8 30570500 .word 350000 547 00cc 00000000 .word .LC0 548 00d0 2C000000 .word .LC1 549 00d4 CC550100 .word 87500 550 00d8 5C000000 .word .LC2 551 00dc 78000000 .word .LC3 552 00e0 A8000000 .word .LC4 553 00e4 00000000 .word .LANCHOR7 554 00e8 C4000000 .word .LC5 555 00ec 00000000 .word .LANCHOR8 556 00f0 D4000000 .word .LC6 557 00f4 00000000 .word rx_nco1_increment 558 00f8 E0000000 .word .LC7 559 00fc 47E17A14 .word 343597383 560 0100 F0000000 .word .LC8 ARM GAS /tmp/ccj72Lmv.s page 11 561 0104 00000000 .word .LANCHOR10 562 0108 00000000 .word .LANCHOR9 563 010c 00010000 .word .LC9 565 .section .text.get_pwm_freq,"ax",%progbits 566 .align 1 567 .p2align 2,,3 568 .global get_pwm_freq 569 .syntax unified 570 .thumb 571 .thumb_func 572 .fpu fpv4-sp-d16 574 get_pwm_freq: 575 @ args = 0, pretend = 0, frame = 0 576 @ frame_needed = 0, uses_anonymous_args = 0 577 @ link register save eliminated. 578 0000 014B ldr r3, .L63 579 0002 B3FBF0F0 udiv r0, r3, r0 580 0006 7047 bx lr 581 .L64: 582 .align 2 583 .L63: 584 0008 007A030A .word 168000000 586 .section .text.get_pwm_period,"ax",%progbits 587 .align 1 588 .p2align 2,,3 589 .global get_pwm_period 590 .syntax unified 591 .thumb 592 .thumb_func 593 .fpu fpv4-sp-d16 595 get_pwm_period: 596 @ args = 0, pretend = 0, frame = 0 597 @ frame_needed = 0, uses_anonymous_args = 0 598 @ link register save eliminated. 599 0000 024B ldr r3, .L66 600 0002 B3FBF0F0 udiv r0, r3, r0 601 0006 80B2 uxth r0, r0 602 0008 7047 bx lr 603 .L67: 604 000a 00BF .align 2 605 .L66: 606 000c 007A030A .word 168000000 608 .section .text.measure_log_abs_mean,"ax",%progbits 609 .align 1 610 .p2align 2,,3 611 .global measure_log_abs_mean 612 .syntax unified 613 .thumb 614 .thumb_func 615 .fpu fpv4-sp-d16 617 measure_log_abs_mean: 618 @ args = 0, pretend = 0, frame = 0 619 @ frame_needed = 0, uses_anonymous_args = 0 620 @ link register save eliminated. 621 0000 71B1 cbz r1, .L69 622 0002 0139 subs r1, r1, #1 623 0004 8BB2 uxth r3, r1 ARM GAS /tmp/ccj72Lmv.s page 12 624 0006 0021 movs r1, #0 625 0008 021F subs r2, r0, #4 626 000a 8C46 mov ip, r1 627 000c 00EB8300 add r0, r0, r3, lsl #2 628 .L73: 629 0010 52F8043F ldr r3, [r2, #4]! 630 0014 002B cmp r3, #0 631 0016 0DDD ble .L78 632 0018 9042 cmp r0, r2 633 001a 01EBA311 add r1, r1, r3, asr #6 634 001e F7D1 bne .L73 635 .L69: 636 0020 1F23 movs r3, #31 637 0022 01E0 b .L75 638 .L80: 639 0024 013B subs r3, r3, #1 640 0026 0CD0 beq .L79 641 .L75: 642 0028 41FA03F2 asr r2, r1, r3 643 002c D207 lsls r2, r2, #31 644 002e D8B2 uxtb r0, r3 645 0030 F8D5 bpl .L80 646 0032 7047 bx lr 647 .L78: 648 .syntax unified 649 @ 2125 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 650 0034 83FAACF3 qsub r3, ip, r3 651 @ 0 "" 2 652 .thumb 653 .syntax unified 654 0038 9042 cmp r0, r2 655 003a 01EBA311 add r1, r1, r3, asr #6 656 003e E7D1 bne .L73 657 0040 EEE7 b .L69 658 .L79: 659 0042 1846 mov r0, r3 660 0044 7047 bx lr 662 0046 00BF .section .text.set_LO_freq,"ax",%progbits 663 .align 1 664 .p2align 2,,3 665 .global set_LO_freq 666 .syntax unified 667 .thumb 668 .thumb_func 669 .fpu fpv4-sp-d16 671 set_LO_freq: 672 @ args = 0, pretend = 0, frame = 0 673 @ frame_needed = 0, uses_anonymous_args = 0 674 @ link register save eliminated. 675 0000 7047 bx lr 677 .global tx_dac_buffer 678 .global lf_buffer 679 .global prefilter_lf_buffer 680 .global lf_buffer_toggle 681 .global if_Q 682 .global if_I 683 .global adc_buffer ARM GAS /tmp/ccj72Lmv.s page 13 684 .global uart_tx_buf_in_idx 685 .global uart_tx_buf 686 .global rx_cmd_rb_out_idx 687 .global rx_cmd_rb_in_idx 688 .global rx_cmd_rb 689 .global uart_rx_buf 690 .global state_changed 691 .global s_meter 692 .global tabstring 693 .global audio_filter_beta 694 .global audio_filter_bw 695 .global audio_filter_freq 696 .global nco1_increment 697 .global scan 698 .global mic_gain 699 .global squelch 700 .global volume 701 .global peakset 702 .global oldpeak 703 .global peak 704 .global rx_gain 705 .global modulation 706 .global pwm_tx_period 707 .global rit 708 .global frequency 709 .global transmit 710 .global receive 711 0002 00BF .section .bss.adc_buffer,"aw",%nobits 712 .align 2 715 adc_buffer: 716 0000 00000000 .space 2048 716 00000000 716 00000000 716 00000000 716 00000000 717 .section .bss.audio_filter_beta,"aw",%nobits 718 .align 2 719 .set .LANCHOR11,. + 0 722 audio_filter_beta: 723 0000 00000000 .space 4 724 .section .bss.audio_filter_bw,"aw",%nobits 725 .align 2 726 .set .LANCHOR10,. + 0 729 audio_filter_bw: 730 0000 00000000 .space 4 731 .section .bss.audio_filter_freq,"aw",%nobits 732 .align 2 733 .set .LANCHOR9,. + 0 736 audio_filter_freq: 737 0000 00000000 .space 4 738 .section .bss.frequency,"aw",%nobits 739 .align 2 740 .set .LANCHOR4,. + 0 743 frequency: 744 0000 00000000 .space 4 745 .section .bss.if_I,"aw",%nobits 746 .align 2 ARM GAS /tmp/ccj72Lmv.s page 14 749 if_I: 750 0000 00000000 .space 256 750 00000000 750 00000000 750 00000000 750 00000000 751 .section .bss.if_Q,"aw",%nobits 752 .align 2 755 if_Q: 756 0000 00000000 .space 256 756 00000000 756 00000000 756 00000000 756 00000000 757 .section .bss.lf_buffer,"aw",%nobits 758 .align 2 761 lf_buffer: 762 0000 00000000 .space 512 762 00000000 762 00000000 762 00000000 762 00000000 763 .section .bss.lf_buffer_toggle,"aw",%nobits 766 lf_buffer_toggle: 767 0000 00 .space 1 768 .section .bss.mic_gain,"aw",%nobits 769 .align 2 772 mic_gain: 773 0000 00000000 .space 4 774 .section .bss.modulation,"aw",%nobits 775 .align 2 776 .set .LANCHOR0,. + 0 779 modulation: 780 0000 00000000 .space 4 781 .section .bss.nco1_increment,"aw",%nobits 782 .align 2 785 nco1_increment: 786 0000 00000000 .space 4 787 .section .bss.oldpeak,"aw",%nobits 788 .align 2 791 oldpeak: 792 0000 00000000 .space 4 793 .section .bss.peak,"aw",%nobits 794 .align 2 797 peak: 798 0000 00000000 .space 4 799 .section .bss.peakset,"aw",%nobits 800 .align 2 803 peakset: 804 0000 00000000 .space 4 805 .section .bss.prefilter_lf_buffer,"aw",%nobits 806 .align 2 809 prefilter_lf_buffer: 810 0000 00000000 .space 256 810 00000000 810 00000000 810 00000000 ARM GAS /tmp/ccj72Lmv.s page 15 810 00000000 811 .section .bss.pwm_tx_period,"aw",%nobits 812 .align 1 815 pwm_tx_period: 816 0000 0000 .space 2 817 .section .bss.receive,"aw",%nobits 820 receive: 821 0000 00 .space 1 822 .section .bss.rit,"aw",%nobits 823 .align 2 824 .set .LANCHOR5,. + 0 827 rit: 828 0000 00000000 .space 4 829 .section .bss.rx_cmd_rb,"aw",%nobits 830 .align 2 831 .set .LANCHOR2,. + 0 834 rx_cmd_rb: 835 0000 00000000 .space 32 835 00000000 835 00000000 835 00000000 835 00000000 836 .section .bss.rx_cmd_rb_in_idx,"aw",%nobits 837 .set .LANCHOR1,. + 0 840 rx_cmd_rb_in_idx: 841 0000 00 .space 1 842 .section .bss.rx_cmd_rb_out_idx,"aw",%nobits 843 .set .LANCHOR3,. + 0 846 rx_cmd_rb_out_idx: 847 0000 00 .space 1 848 .section .bss.rx_gain,"aw",%nobits 849 .align 2 850 .set .LANCHOR7,. + 0 853 rx_gain: 854 0000 00000000 .space 4 855 .section .bss.s_meter,"aw",%nobits 858 s_meter: 859 0000 00 .space 1 860 .section .bss.scan,"aw",%nobits 861 .align 2 864 scan: 865 0000 00000000 .space 4 866 .section .bss.squelch,"aw",%nobits 867 .align 2 870 squelch: 871 0000 00000000 .space 4 872 .section .bss.state_changed,"aw",%nobits 873 .align 1 874 .set .LANCHOR6,. + 0 877 state_changed: 878 0000 0000 .space 2 879 .section .bss.tabstring,"aw",%nobits 880 .align 2 883 tabstring: 884 0000 00000000 .space 15 884 00000000 884 00000000 ARM GAS /tmp/ccj72Lmv.s page 16 884 000000 885 .section .bss.transmit,"aw",%nobits 888 transmit: 889 0000 00 .space 1 890 .section .bss.tx_dac_buffer,"aw",%nobits 891 .align 2 894 tx_dac_buffer: 895 0000 00000000 .space 8192 895 00000000 895 00000000 895 00000000 895 00000000 896 .section .bss.uart_rx_buf,"aw",%nobits 897 .align 2 900 uart_rx_buf: 901 0000 0000 .space 2 902 .section .bss.uart_tx_buf,"aw",%nobits 903 .align 2 904 .set .LANCHOR12,. + 0 907 uart_tx_buf: 908 0000 00000000 .space 512 908 00000000 908 00000000 908 00000000 908 00000000 909 .section .bss.uart_tx_buf_in_idx,"aw",%nobits 910 .align 1 911 .set .LANCHOR13,. + 0 914 uart_tx_buf_in_idx: 915 0000 0000 .space 2 916 .section .bss.volume,"aw",%nobits 917 .align 2 918 .set .LANCHOR8,. + 0 921 volume: 922 0000 00000000 .space 4 923 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccj72Lmv.s page 17 DEFINED SYMBOLS *ABS*:0000000000000000 bassofono.c /tmp/ccj72Lmv.s:17 .text.set_nco1_freq:0000000000000000 $t /tmp/ccj72Lmv.s:26 .text.set_nco1_freq:0000000000000000 set_nco1_freq /tmp/ccj72Lmv.s:53 .text.set_nco1_freq:0000000000000030 $d /tmp/ccj72Lmv.s:57 .text.ringbuf_increment:0000000000000000 $t /tmp/ccj72Lmv.s:65 .text.ringbuf_increment:0000000000000000 ringbuf_increment /tmp/ccj72Lmv.s:77 .text.sat_mult_q31:0000000000000000 $t /tmp/ccj72Lmv.s:85 .text.sat_mult_q31:0000000000000000 sat_mult_q31 /tmp/ccj72Lmv.s:100 .text.enqueue_cmd:0000000000000000 $t /tmp/ccj72Lmv.s:108 .text.enqueue_cmd:0000000000000000 enqueue_cmd /tmp/ccj72Lmv.s:125 .text.enqueue_cmd:0000000000000018 $d /tmp/ccj72Lmv.s:129 .text.dequeue_cmd:0000000000000000 $t /tmp/ccj72Lmv.s:137 .text.dequeue_cmd:0000000000000000 dequeue_cmd /tmp/ccj72Lmv.s:154 .text.dequeue_cmd:000000000000001c $d /tmp/ccj72Lmv.s:158 .text.set_frequency:0000000000000000 $t /tmp/ccj72Lmv.s:166 .text.set_frequency:0000000000000000 set_frequency /tmp/ccj72Lmv.s:203 .text.set_frequency:0000000000000048 $d /tmp/ccj72Lmv.s:210 .text.set_modulation:0000000000000000 $t /tmp/ccj72Lmv.s:218 .text.set_modulation:0000000000000000 set_modulation /tmp/ccj72Lmv.s:256 .text.set_modulation:000000000000004c $d /tmp/ccj72Lmv.s:263 .text.set_dummy:0000000000000000 $t /tmp/ccj72Lmv.s:271 .text.set_dummy:0000000000000000 set_dummy /tmp/ccj72Lmv.s:278 .text.set_changed:0000000000000000 $t /tmp/ccj72Lmv.s:286 .text.set_changed:0000000000000000 set_changed /tmp/ccj72Lmv.s:300 .text.set_changed:0000000000000010 $d /tmp/ccj72Lmv.s:303 .text.reset_changed:0000000000000000 $t /tmp/ccj72Lmv.s:311 .text.reset_changed:0000000000000000 reset_changed /tmp/ccj72Lmv.s:325 .text.reset_changed:0000000000000014 $d /tmp/ccj72Lmv.s:328 .text.get_changed:0000000000000000 $t /tmp/ccj72Lmv.s:336 .text.get_changed:0000000000000000 get_changed /tmp/ccj72Lmv.s:348 .text.get_changed:0000000000000010 $d /tmp/ccj72Lmv.s:351 .text.state_set_default:0000000000000000 $t /tmp/ccj72Lmv.s:359 .text.state_set_default:0000000000000000 state_set_default /tmp/ccj72Lmv.s:400 .text.state_set_default:0000000000000054 $d /tmp/ccj72Lmv.s:414 .rodata.diag.str1.4:0000000000000000 $d /tmp/ccj72Lmv.s:447 .text.diag:0000000000000000 $t /tmp/ccj72Lmv.s:455 .text.diag:0000000000000000 diag /tmp/ccj72Lmv.s:544 .text.diag:00000000000000c0 $d /tmp/ccj72Lmv.s:566 .text.get_pwm_freq:0000000000000000 $t /tmp/ccj72Lmv.s:574 .text.get_pwm_freq:0000000000000000 get_pwm_freq /tmp/ccj72Lmv.s:584 .text.get_pwm_freq:0000000000000008 $d /tmp/ccj72Lmv.s:587 .text.get_pwm_period:0000000000000000 $t /tmp/ccj72Lmv.s:595 .text.get_pwm_period:0000000000000000 get_pwm_period /tmp/ccj72Lmv.s:606 .text.get_pwm_period:000000000000000c $d /tmp/ccj72Lmv.s:609 .text.measure_log_abs_mean:0000000000000000 $t /tmp/ccj72Lmv.s:617 .text.measure_log_abs_mean:0000000000000000 measure_log_abs_mean /tmp/ccj72Lmv.s:663 .text.set_LO_freq:0000000000000000 $t /tmp/ccj72Lmv.s:671 .text.set_LO_freq:0000000000000000 set_LO_freq /tmp/ccj72Lmv.s:894 .bss.tx_dac_buffer:0000000000000000 tx_dac_buffer /tmp/ccj72Lmv.s:761 .bss.lf_buffer:0000000000000000 lf_buffer /tmp/ccj72Lmv.s:809 .bss.prefilter_lf_buffer:0000000000000000 prefilter_lf_buffer /tmp/ccj72Lmv.s:766 .bss.lf_buffer_toggle:0000000000000000 lf_buffer_toggle /tmp/ccj72Lmv.s:755 .bss.if_Q:0000000000000000 if_Q /tmp/ccj72Lmv.s:749 .bss.if_I:0000000000000000 if_I /tmp/ccj72Lmv.s:715 .bss.adc_buffer:0000000000000000 adc_buffer /tmp/ccj72Lmv.s:914 .bss.uart_tx_buf_in_idx:0000000000000000 uart_tx_buf_in_idx ARM GAS /tmp/ccj72Lmv.s page 18 /tmp/ccj72Lmv.s:907 .bss.uart_tx_buf:0000000000000000 uart_tx_buf /tmp/ccj72Lmv.s:846 .bss.rx_cmd_rb_out_idx:0000000000000000 rx_cmd_rb_out_idx /tmp/ccj72Lmv.s:840 .bss.rx_cmd_rb_in_idx:0000000000000000 rx_cmd_rb_in_idx /tmp/ccj72Lmv.s:834 .bss.rx_cmd_rb:0000000000000000 rx_cmd_rb /tmp/ccj72Lmv.s:900 .bss.uart_rx_buf:0000000000000000 uart_rx_buf /tmp/ccj72Lmv.s:877 .bss.state_changed:0000000000000000 state_changed /tmp/ccj72Lmv.s:858 .bss.s_meter:0000000000000000 s_meter /tmp/ccj72Lmv.s:883 .bss.tabstring:0000000000000000 tabstring /tmp/ccj72Lmv.s:722 .bss.audio_filter_beta:0000000000000000 audio_filter_beta /tmp/ccj72Lmv.s:729 .bss.audio_filter_bw:0000000000000000 audio_filter_bw /tmp/ccj72Lmv.s:736 .bss.audio_filter_freq:0000000000000000 audio_filter_freq /tmp/ccj72Lmv.s:785 .bss.nco1_increment:0000000000000000 nco1_increment /tmp/ccj72Lmv.s:864 .bss.scan:0000000000000000 scan /tmp/ccj72Lmv.s:772 .bss.mic_gain:0000000000000000 mic_gain /tmp/ccj72Lmv.s:870 .bss.squelch:0000000000000000 squelch /tmp/ccj72Lmv.s:921 .bss.volume:0000000000000000 volume /tmp/ccj72Lmv.s:803 .bss.peakset:0000000000000000 peakset /tmp/ccj72Lmv.s:791 .bss.oldpeak:0000000000000000 oldpeak /tmp/ccj72Lmv.s:797 .bss.peak:0000000000000000 peak /tmp/ccj72Lmv.s:853 .bss.rx_gain:0000000000000000 rx_gain /tmp/ccj72Lmv.s:779 .bss.modulation:0000000000000000 modulation /tmp/ccj72Lmv.s:815 .bss.pwm_tx_period:0000000000000000 pwm_tx_period /tmp/ccj72Lmv.s:827 .bss.rit:0000000000000000 rit /tmp/ccj72Lmv.s:743 .bss.frequency:0000000000000000 frequency /tmp/ccj72Lmv.s:888 .bss.transmit:0000000000000000 transmit /tmp/ccj72Lmv.s:820 .bss.receive:0000000000000000 receive /tmp/ccj72Lmv.s:712 .bss.adc_buffer:0000000000000000 $d /tmp/ccj72Lmv.s:718 .bss.audio_filter_beta:0000000000000000 $d /tmp/ccj72Lmv.s:725 .bss.audio_filter_bw:0000000000000000 $d /tmp/ccj72Lmv.s:732 .bss.audio_filter_freq:0000000000000000 $d /tmp/ccj72Lmv.s:739 .bss.frequency:0000000000000000 $d /tmp/ccj72Lmv.s:746 .bss.if_I:0000000000000000 $d /tmp/ccj72Lmv.s:752 .bss.if_Q:0000000000000000 $d /tmp/ccj72Lmv.s:758 .bss.lf_buffer:0000000000000000 $d /tmp/ccj72Lmv.s:767 .bss.lf_buffer_toggle:0000000000000000 $d /tmp/ccj72Lmv.s:769 .bss.mic_gain:0000000000000000 $d /tmp/ccj72Lmv.s:775 .bss.modulation:0000000000000000 $d /tmp/ccj72Lmv.s:782 .bss.nco1_increment:0000000000000000 $d /tmp/ccj72Lmv.s:788 .bss.oldpeak:0000000000000000 $d /tmp/ccj72Lmv.s:794 .bss.peak:0000000000000000 $d /tmp/ccj72Lmv.s:800 .bss.peakset:0000000000000000 $d /tmp/ccj72Lmv.s:806 .bss.prefilter_lf_buffer:0000000000000000 $d /tmp/ccj72Lmv.s:812 .bss.pwm_tx_period:0000000000000000 $d /tmp/ccj72Lmv.s:821 .bss.receive:0000000000000000 $d /tmp/ccj72Lmv.s:823 .bss.rit:0000000000000000 $d /tmp/ccj72Lmv.s:830 .bss.rx_cmd_rb:0000000000000000 $d /tmp/ccj72Lmv.s:841 .bss.rx_cmd_rb_in_idx:0000000000000000 $d /tmp/ccj72Lmv.s:847 .bss.rx_cmd_rb_out_idx:0000000000000000 $d /tmp/ccj72Lmv.s:849 .bss.rx_gain:0000000000000000 $d /tmp/ccj72Lmv.s:859 .bss.s_meter:0000000000000000 $d /tmp/ccj72Lmv.s:861 .bss.scan:0000000000000000 $d /tmp/ccj72Lmv.s:867 .bss.squelch:0000000000000000 $d /tmp/ccj72Lmv.s:873 .bss.state_changed:0000000000000000 $d /tmp/ccj72Lmv.s:880 .bss.tabstring:0000000000000000 $d /tmp/ccj72Lmv.s:889 .bss.transmit:0000000000000000 $d /tmp/ccj72Lmv.s:891 .bss.tx_dac_buffer:0000000000000000 $d /tmp/ccj72Lmv.s:897 .bss.uart_rx_buf:0000000000000000 $d ARM GAS /tmp/ccj72Lmv.s page 19 /tmp/ccj72Lmv.s:903 .bss.uart_tx_buf:0000000000000000 $d /tmp/ccj72Lmv.s:910 .bss.uart_tx_buf_in_idx:0000000000000000 $d /tmp/ccj72Lmv.s:917 .bss.volume:0000000000000000 $d UNDEFINED SYMBOLS __aeabi_ldivmod decode_cmd si53531_set_frequency rx_nco1_increment st2_filter_init audio_filter_generate_coeffs audio_filter_coeffs sprintf