ARM GAS /tmp/ccnnlJPt.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 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 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 03F0FD03 and r3, r3, #253 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/ccnnlJPt.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 @ 105 "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/ccnnlJPt.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 70B5 push {r4, r5, r6, lr} 170 0002 134B ldr r3, .L31 171 0004 134C ldr r4, .L31+4 172 0006 144A ldr r2, .L31+8 173 0008 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 174 000a 2568 ldr r5, [r4] 175 000c 1168 ldr r1, [r2] 176 000e 022B cmp r3, #2 177 0010 2944 add r1, r1, r5 178 0012 08D0 beq .L23 179 0014 042B cmp r3, #4 180 0016 06D0 beq .L23 181 0018 03F0FD03 and r3, r3, #253 182 001c 012B cmp r3, #1 ARM GAS /tmp/ccnnlJPt.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 0C4A ldr r2, .L31+12 190 002c 0C4E ldr r6, .L31+16 191 002e 0023 movs r3, #0 192 0030 0020 movs r0, #0 193 0032 FFF7FEFF bl __aeabi_ldivmod 194 0036 0021 movs r1, #0 195 0038 0346 mov r3, r0 196 003a 2846 mov r0, r5 197 003c 3360 str r3, [r6] 198 003e FFF7FEFF bl si53531_set_frequency 199 0042 2068 ldr r0, [r4] 200 0044 0121 movs r1, #1 201 0046 BDE87040 pop {r4, r5, r6, lr} 202 004a FFF7FEBF b si53531_set_frequency 203 .L32: 204 004e 00BF .align 2 205 .L31: 206 0050 00000000 .word .LANCHOR0 207 0054 00000000 .word .LANCHOR4 208 0058 00000000 .word .LANCHOR5 209 005c 30570500 .word 350000 210 0060 00000000 .word rx_nco1_increment 212 .section .text.imposta_modulazione,"ax",%progbits 213 .align 1 214 .p2align 2,,3 215 .global imposta_modulazione 216 .syntax unified 217 .thumb 218 .thumb_func 219 .fpu fpv4-sp-d16 221 imposta_modulazione: 222 @ args = 0, pretend = 0, frame = 0 223 @ frame_needed = 0, uses_anonymous_args = 0 224 0000 70B5 push {r4, r5, r6, lr} 225 0002 FFF7FEFF bl st2_filter_init 226 0006 134B ldr r3, .L42 227 0008 134C ldr r4, .L42+4 228 000a 144A ldr r2, .L42+8 229 000c 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 230 000e 2568 ldr r5, [r4] 231 0010 1168 ldr r1, [r2] 232 0012 022B cmp r3, #2 233 0014 2944 add r1, r1, r5 234 0016 08D0 beq .L34 235 0018 042B cmp r3, #4 236 001a 06D0 beq .L34 237 001c 03F0FD03 and r3, r3, #253 238 0020 012B cmp r3, #1 239 0022 08BF it eq 240 0024 A1F21E71 subweq r1, r1, #1822 241 0028 01E0 b .L36 ARM GAS /tmp/ccnnlJPt.s page 5 242 .L34: 243 002a 01F21E71 addw r1, r1, #1822 244 .L36: 245 002e 0C4A ldr r2, .L42+12 246 0030 0C4E ldr r6, .L42+16 247 0032 0023 movs r3, #0 248 0034 0020 movs r0, #0 249 0036 FFF7FEFF bl __aeabi_ldivmod 250 003a 0021 movs r1, #0 251 003c 0346 mov r3, r0 252 003e 2846 mov r0, r5 253 0040 3360 str r3, [r6] 254 0042 FFF7FEFF bl si53531_set_frequency 255 0046 2068 ldr r0, [r4] 256 0048 0121 movs r1, #1 257 004a BDE87040 pop {r4, r5, r6, lr} 258 004e FFF7FEBF b si53531_set_frequency 259 .L43: 260 0052 00BF .align 2 261 .L42: 262 0054 00000000 .word .LANCHOR0 263 0058 00000000 .word .LANCHOR4 264 005c 00000000 .word .LANCHOR5 265 0060 30570500 .word 350000 266 0064 00000000 .word rx_nco1_increment 268 .section .text.set_dummy,"ax",%progbits 269 .align 1 270 .p2align 2,,3 271 .global set_dummy 272 .syntax unified 273 .thumb 274 .thumb_func 275 .fpu fpv4-sp-d16 277 set_dummy: 278 @ args = 0, pretend = 0, frame = 0 279 @ frame_needed = 0, uses_anonymous_args = 0 280 @ link register save eliminated. 281 0000 7047 bx lr 283 0002 00BF .section .text.set_changed,"ax",%progbits 284 .align 1 285 .p2align 2,,3 286 .global set_changed 287 .syntax unified 288 .thumb 289 .thumb_func 290 .fpu fpv4-sp-d16 292 set_changed: 293 @ args = 0, pretend = 0, frame = 0 294 @ frame_needed = 0, uses_anonymous_args = 0 295 @ link register save eliminated. 296 0000 034A ldr r2, .L46 297 0002 0123 movs r3, #1 298 0004 1188 ldrh r1, [r2] 299 0006 03FA00F0 lsl r0, r3, r0 300 000a 0843 orrs r0, r0, r1 301 000c 1080 strh r0, [r2] @ movhi 302 000e 7047 bx lr ARM GAS /tmp/ccnnlJPt.s page 6 303 .L47: 304 .align 2 305 .L46: 306 0010 00000000 .word .LANCHOR6 308 .section .text.reset_changed,"ax",%progbits 309 .align 1 310 .p2align 2,,3 311 .global reset_changed 312 .syntax unified 313 .thumb 314 .thumb_func 315 .fpu fpv4-sp-d16 317 reset_changed: 318 @ args = 0, pretend = 0, frame = 0 319 @ frame_needed = 0, uses_anonymous_args = 0 320 @ link register save eliminated. 321 0000 0449 ldr r1, .L49 322 0002 0122 movs r2, #1 323 0004 0B88 ldrh r3, [r1] 324 0006 02FA00F0 lsl r0, r2, r0 325 000a 23EA0003 bic r3, r3, r0 326 000e 0B80 strh r3, [r1] @ movhi 327 0010 7047 bx lr 328 .L50: 329 0012 00BF .align 2 330 .L49: 331 0014 00000000 .word .LANCHOR6 333 .section .text.get_changed,"ax",%progbits 334 .align 1 335 .p2align 2,,3 336 .global get_changed 337 .syntax unified 338 .thumb 339 .thumb_func 340 .fpu fpv4-sp-d16 342 get_changed: 343 @ args = 0, pretend = 0, frame = 0 344 @ frame_needed = 0, uses_anonymous_args = 0 345 @ link register save eliminated. 346 0000 034B ldr r3, .L52 347 0002 1B88 ldrh r3, [r3] 348 0004 43FA00F0 asr r0, r3, r0 349 0008 00F00100 and r0, r0, #1 350 000c 7047 bx lr 351 .L53: 352 000e 00BF .align 2 353 .L52: 354 0010 00000000 .word .LANCHOR6 356 .section .text.state_set_default,"ax",%progbits 357 .align 1 358 .p2align 2,,3 359 .global state_set_default 360 .syntax unified 361 .thumb 362 .thumb_func 363 .fpu fpv4-sp-d16 365 state_set_default: ARM GAS /tmp/ccnnlJPt.s page 7 366 @ args = 0, pretend = 0, frame = 0 367 @ frame_needed = 0, uses_anonymous_args = 0 368 0000 164B ldr r3, .L56 369 0002 0422 movs r2, #4 370 0004 10B5 push {r4, lr} 371 0006 5A75 strb r2, [r3, #21] 372 0008 154A ldr r2, .L56+4 373 000a 164B ldr r3, .L56+8 374 000c 164C ldr r4, .L56+12 375 000e 0021 movs r1, #0 376 0010 4FF4FA30 mov r0, #128000 377 0014 1160 str r1, [r2] 378 0016 154A ldr r2, .L56+16 379 0018 1A60 str r2, [r3] 380 001a 2060 str r0, [r4] 381 001c FFF7FEFF bl si53531_set_frequency 382 0020 2068 ldr r0, [r4] 383 0022 0121 movs r1, #1 384 0024 FFF7FEFF bl si53531_set_frequency 385 0028 1148 ldr r0, .L56+20 386 002a 0224 movs r4, #2 387 002c 0460 str r4, [r0] 388 002e 1148 ldr r0, .L56+24 389 0030 0824 movs r4, #8 390 0032 0470 strb r4, [r0] 391 0034 1048 ldr r0, .L56+28 392 0036 114C ldr r4, .L56+32 393 0038 4FF4FA62 mov r2, #2000 394 003c 0260 str r2, [r0] 395 003e 1048 ldr r0, .L56+36 396 0040 1023 movs r3, #16 397 0042 0360 str r3, [r0] 398 0044 40F2E241 movw r1, #1250 399 0048 0E48 ldr r0, .L56+40 400 004a 2160 str r1, [r4] 401 004c FFF7FEFF bl audio_filter_generate_coeffs 402 0050 0D4B ldr r3, .L56+44 403 0052 4FF6FF72 movw r2, #65535 404 0056 1A80 strh r2, [r3] @ movhi 405 0058 10BD pop {r4, pc} 406 .L57: 407 005a 00BF .align 2 408 .L56: 409 005c 00000000 .word .LANCHOR0 410 0060 00000000 .word .LANCHOR5 411 0064 00000000 .word rx_nco1_increment 412 0068 00000000 .word .LANCHOR4 413 006c F59CF45E .word 1593089269 414 0070 00000000 .word .LANCHOR7 415 0074 00000000 .word .LANCHOR8 416 0078 00000000 .word .LANCHOR10 417 007c 00000000 .word .LANCHOR9 418 0080 00000000 .word .LANCHOR11 419 0084 00000000 .word audio_filter_coeffs 420 0088 00000000 .word .LANCHOR6 422 .section .rodata.diag.str1.4,"aMS",%progbits,1 423 .align 2 ARM GAS /tmp/ccnnlJPt.s page 8 424 .LC0: 425 0000 41444320 .ascii "ADC sample rate: %d\012ADC oversampling: %d\012\000" 425 73616D70 425 6C652072 425 6174653A 425 2025640A 426 002a 0000 .align 2 427 .LC1: 428 002c 41444320 .ascii "ADC buffer size: %d\0121st decimation factor: %d\012" 428 62756666 428 65722073 428 697A653A 428 2025640A 429 005a 00 .ascii "\000" 430 005b 00 .align 2 431 .LC2: 432 005c 31737420 .ascii "1st out sample rate: %d\012\000" 432 6F757420 432 73616D70 432 6C652072 432 6174653A 433 0075 000000 .align 2 434 .LC3: 435 0078 32737420 .ascii "2st buffer size: %d\0122st decimation factor: %d\012" 435 62756666 435 65722073 435 697A653A 435 2025640A 436 00a6 00 .ascii "\000" 437 00a7 00 .align 2 438 .LC4: 439 00a8 32737420 .ascii "2st out sample rate: %d\012\000" 439 6F757420 439 73616D70 439 6C652072 439 6174653A 440 00c1 000000 .align 2 441 .LC5: 442 00c4 696E2072 .ascii "in rx_gain %d\012\000" 442 785F6761 442 696E2025 442 640A00 443 00d3 00 .align 2 444 .LC6: 445 00d4 61662067 .ascii "af gain %d\012\000" 445 61696E20 445 25640A00 446 .align 2 447 .LC7: 448 00e0 7278206E .ascii "rx nco1 inc %d\012\000" 448 636F3120 448 696E6320 448 25640A00 449 .align 2 450 .LC8: 451 00f0 6E636F32 .ascii "nco2 inc %d\012\000" 451 20696E63 ARM GAS /tmp/ccnnlJPt.s page 9 451 2025640A 451 00 452 00fd 000000 .align 2 453 .LC9: 454 0100 61756469 .ascii "audio filter f %d bw %d\012\000" 454 6F206669 454 6C746572 454 20662025 454 64206277 455 .section .text.diag,"ax",%progbits 456 .align 1 457 .p2align 2,,3 458 .global diag 459 .syntax unified 460 .thumb 461 .thumb_func 462 .fpu fpv4-sp-d16 464 diag: 465 @ args = 0, pretend = 0, frame = 0 466 @ frame_needed = 0, uses_anonymous_args = 0 467 0000 38B5 push {r3, r4, r5, lr} 468 0002 2F4D ldr r5, .L60 469 0004 2F4C ldr r4, .L60+4 470 0006 304A ldr r2, .L60+8 471 0008 3049 ldr r1, .L60+12 472 000a 0223 movs r3, #2 473 000c 2846 mov r0, r5 474 000e FFF7FEFF bl sprintf 475 0012 2188 ldrh r1, [r4] 476 0014 2C31 adds r1, r1, #44 477 0016 0423 movs r3, #4 478 0018 4FF48062 mov r2, #1024 479 001c 2180 strh r1, [r4] @ movhi 480 001e 2846 mov r0, r5 481 0020 2B49 ldr r1, .L60+16 482 0022 FFF7FEFF bl sprintf 483 0026 2388 ldrh r3, [r4] 484 0028 2A4A ldr r2, .L60+20 485 002a 2B49 ldr r1, .L60+24 486 002c 2F33 adds r3, r3, #47 487 002e 2846 mov r0, r5 488 0030 2380 strh r3, [r4] @ movhi 489 0032 FFF7FEFF bl sprintf 490 0036 2188 ldrh r1, [r4] 491 0038 1B31 adds r1, r1, #27 492 003a 0823 movs r3, #8 493 003c 4FF48072 mov r2, #256 494 0040 2180 strh r1, [r4] @ movhi 495 0042 2846 mov r0, r5 496 0044 2549 ldr r1, .L60+28 497 0046 FFF7FEFF bl sprintf 498 004a 2388 ldrh r3, [r4] 499 004c 2449 ldr r1, .L60+32 500 004e 2E33 adds r3, r3, #46 501 0050 45F27352 movw r2, #21875 502 0054 2846 mov r0, r5 503 0056 2380 strh r3, [r4] @ movhi ARM GAS /tmp/ccnnlJPt.s page 10 504 0058 FFF7FEFF bl sprintf 505 005c 2388 ldrh r3, [r4] 506 005e 214A ldr r2, .L60+36 507 0060 2149 ldr r1, .L60+40 508 0062 1268 ldr r2, [r2] 509 0064 1B33 adds r3, r3, #27 510 0066 2846 mov r0, r5 511 0068 2380 strh r3, [r4] @ movhi 512 006a FFF7FEFF bl sprintf 513 006e 2288 ldrh r2, [r4] 514 0070 1E4B ldr r3, .L60+44 515 0072 1F49 ldr r1, .L60+48 516 0074 1044 add r0, r0, r2 517 0076 2080 strh r0, [r4] @ movhi 518 0078 1A78 ldrb r2, [r3] @ zero_extendqisi2 519 007a 2846 mov r0, r5 520 007c FFF7FEFF bl sprintf 521 0080 2288 ldrh r2, [r4] 522 0082 1C4B ldr r3, .L60+52 523 0084 1C49 ldr r1, .L60+56 524 0086 1044 add r0, r0, r2 525 0088 2080 strh r0, [r4] @ movhi 526 008a 1A68 ldr r2, [r3] 527 008c 2846 mov r0, r5 528 008e FFF7FEFF bl sprintf 529 0092 2388 ldrh r3, [r4] 530 0094 194A ldr r2, .L60+60 531 0096 1A49 ldr r1, .L60+64 532 0098 1844 add r0, r0, r3 533 009a 2080 strh r0, [r4] @ movhi 534 009c 2846 mov r0, r5 535 009e FFF7FEFF bl sprintf 536 00a2 2188 ldrh r1, [r4] 537 00a4 174B ldr r3, .L60+68 538 00a6 184A ldr r2, .L60+72 539 00a8 1B68 ldr r3, [r3] 540 00aa 1268 ldr r2, [r2] 541 00ac 1331 adds r1, r1, #19 542 00ae 2180 strh r1, [r4] @ movhi 543 00b0 2846 mov r0, r5 544 00b2 1649 ldr r1, .L60+76 545 00b4 FFF7FEFF bl sprintf 546 00b8 2388 ldrh r3, [r4] 547 00ba 1844 add r0, r0, r3 548 00bc 2080 strh r0, [r4] @ movhi 549 00be 38BD pop {r3, r4, r5, pc} 550 .L61: 551 .align 2 552 .L60: 553 00c0 00000000 .word .LANCHOR12 554 00c4 00000000 .word .LANCHOR13 555 00c8 30570500 .word 350000 556 00cc 00000000 .word .LC0 557 00d0 2C000000 .word .LC1 558 00d4 CC550100 .word 87500 559 00d8 5C000000 .word .LC2 560 00dc 78000000 .word .LC3 ARM GAS /tmp/ccnnlJPt.s page 11 561 00e0 A8000000 .word .LC4 562 00e4 00000000 .word .LANCHOR7 563 00e8 C4000000 .word .LC5 564 00ec 00000000 .word .LANCHOR8 565 00f0 D4000000 .word .LC6 566 00f4 00000000 .word rx_nco1_increment 567 00f8 E0000000 .word .LC7 568 00fc 47E17A14 .word 343597383 569 0100 F0000000 .word .LC8 570 0104 00000000 .word .LANCHOR10 571 0108 00000000 .word .LANCHOR9 572 010c 00010000 .word .LC9 574 .section .text.measure_log_abs_mean,"ax",%progbits 575 .align 1 576 .p2align 2,,3 577 .global measure_log_abs_mean 578 .syntax unified 579 .thumb 580 .thumb_func 581 .fpu fpv4-sp-d16 583 measure_log_abs_mean: 584 @ args = 0, pretend = 0, frame = 0 585 @ frame_needed = 0, uses_anonymous_args = 0 586 @ link register save eliminated. 587 0000 71B1 cbz r1, .L63 588 0002 0139 subs r1, r1, #1 589 0004 8BB2 uxth r3, r1 590 0006 0021 movs r1, #0 591 0008 021F subs r2, r0, #4 592 000a 8C46 mov ip, r1 593 000c 00EB8300 add r0, r0, r3, lsl #2 594 .L67: 595 0010 52F8043F ldr r3, [r2, #4]! 596 0014 002B cmp r3, #0 597 0016 0DDD ble .L72 598 0018 9042 cmp r0, r2 599 001a 01EBA311 add r1, r1, r3, asr #6 600 001e F7D1 bne .L67 601 .L63: 602 0020 1F23 movs r3, #31 603 0022 01E0 b .L69 604 .L74: 605 0024 013B subs r3, r3, #1 606 0026 0CD0 beq .L73 607 .L69: 608 0028 41FA03F2 asr r2, r1, r3 609 002c D207 lsls r2, r2, #31 610 002e D8B2 uxtb r0, r3 611 0030 F8D5 bpl .L74 612 0032 7047 bx lr 613 .L72: 614 .syntax unified 615 @ 2125 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 616 0034 83FAACF3 qsub r3, ip, r3 617 @ 0 "" 2 618 .thumb 619 .syntax unified ARM GAS /tmp/ccnnlJPt.s page 12 620 0038 9042 cmp r0, r2 621 003a 01EBA311 add r1, r1, r3, asr #6 622 003e E7D1 bne .L67 623 0040 EEE7 b .L63 624 .L73: 625 0042 1846 mov r0, r3 626 0044 7047 bx lr 628 0046 00BF .section .text.set_LO_freq,"ax",%progbits 629 .align 1 630 .p2align 2,,3 631 .global set_LO_freq 632 .syntax unified 633 .thumb 634 .thumb_func 635 .fpu fpv4-sp-d16 637 set_LO_freq: 638 @ args = 0, pretend = 0, frame = 0 639 @ frame_needed = 0, uses_anonymous_args = 0 640 @ link register save eliminated. 641 0000 7047 bx lr 643 .global tx_dac_buffer 644 .global lf_buffer 645 .global prefilter_lf_buffer 646 .global lf_buffer_toggle 647 .global if_Q 648 .global if_I 649 .global adc_buffer 650 .global uart_tx_buf_in_idx 651 .global uart_tx_buf 652 .global rx_cmd_rb_out_idx 653 .global rx_cmd_rb_in_idx 654 .global rx_cmd_rb 655 .global uart_rx_buf 656 .global scrittura_stato_pendente 657 .global state_changed 658 .global s_meter 659 .global audio_filter_beta 660 .global audio_filter_bw 661 .global audio_filter_freq 662 .global nco1_increment 663 .global scan 664 .global mic_gain 665 .global squelch 666 .global peakset 667 .global peak 668 .global rx_gain 669 .global rit 670 .global frequency 671 .global transmit 672 .global receive 673 .global stato 674 .global canale 675 0002 00BF .section .bss.adc_buffer,"aw",%nobits 676 .align 2 679 adc_buffer: 680 0000 00000000 .space 2048 680 00000000 ARM GAS /tmp/ccnnlJPt.s page 13 680 00000000 680 00000000 680 00000000 681 .section .bss.audio_filter_beta,"aw",%nobits 682 .align 2 683 .set .LANCHOR11,. + 0 686 audio_filter_beta: 687 0000 00000000 .space 4 688 .section .bss.audio_filter_bw,"aw",%nobits 689 .align 2 690 .set .LANCHOR10,. + 0 693 audio_filter_bw: 694 0000 00000000 .space 4 695 .section .bss.audio_filter_freq,"aw",%nobits 696 .align 2 697 .set .LANCHOR9,. + 0 700 audio_filter_freq: 701 0000 00000000 .space 4 702 .section .bss.canale,"aw",%nobits 703 .align 2 704 .set .LANCHOR0,. + 0 707 canale: 708 0000 00000000 .space 29 708 00000000 708 00000000 708 00000000 708 00000000 709 .section .bss.frequency,"aw",%nobits 710 .align 2 711 .set .LANCHOR4,. + 0 714 frequency: 715 0000 00000000 .space 4 716 .section .bss.if_I,"aw",%nobits 717 .align 2 720 if_I: 721 0000 00000000 .space 256 721 00000000 721 00000000 721 00000000 721 00000000 722 .section .bss.if_Q,"aw",%nobits 723 .align 2 726 if_Q: 727 0000 00000000 .space 256 727 00000000 727 00000000 727 00000000 727 00000000 728 .section .bss.lf_buffer,"aw",%nobits 729 .align 2 732 lf_buffer: 733 0000 00000000 .space 512 733 00000000 733 00000000 733 00000000 733 00000000 734 .section .bss.lf_buffer_toggle,"aw",%nobits ARM GAS /tmp/ccnnlJPt.s page 14 737 lf_buffer_toggle: 738 0000 00 .space 1 739 .section .bss.mic_gain,"aw",%nobits 740 .align 2 743 mic_gain: 744 0000 00000000 .space 4 745 .section .bss.nco1_increment,"aw",%nobits 746 .align 2 749 nco1_increment: 750 0000 00000000 .space 4 751 .section .bss.peak,"aw",%nobits 752 .align 2 755 peak: 756 0000 00000000 .space 4 757 .section .bss.peakset,"aw",%nobits 758 .align 2 761 peakset: 762 0000 00000000 .space 4 763 .section .bss.prefilter_lf_buffer,"aw",%nobits 764 .align 2 767 prefilter_lf_buffer: 768 0000 00000000 .space 256 768 00000000 768 00000000 768 00000000 768 00000000 769 .section .bss.receive,"aw",%nobits 772 receive: 773 0000 00 .space 1 774 .section .bss.rit,"aw",%nobits 775 .align 2 776 .set .LANCHOR5,. + 0 779 rit: 780 0000 00000000 .space 4 781 .section .bss.rx_cmd_rb,"aw",%nobits 782 .align 2 783 .set .LANCHOR2,. + 0 786 rx_cmd_rb: 787 0000 00000000 .space 32 787 00000000 787 00000000 787 00000000 787 00000000 788 .section .bss.rx_cmd_rb_in_idx,"aw",%nobits 789 .set .LANCHOR1,. + 0 792 rx_cmd_rb_in_idx: 793 0000 00 .space 1 794 .section .bss.rx_cmd_rb_out_idx,"aw",%nobits 795 .set .LANCHOR3,. + 0 798 rx_cmd_rb_out_idx: 799 0000 00 .space 1 800 .section .bss.rx_gain,"aw",%nobits 801 .align 2 802 .set .LANCHOR7,. + 0 805 rx_gain: 806 0000 00000000 .space 4 807 .section .bss.s_meter,"aw",%nobits ARM GAS /tmp/ccnnlJPt.s page 15 810 s_meter: 811 0000 00 .space 1 812 .section .bss.scan,"aw",%nobits 813 .align 2 816 scan: 817 0000 00000000 .space 4 818 .section .bss.scrittura_stato_pendente,"aw",%nobits 821 scrittura_stato_pendente: 822 0000 00 .space 1 823 .section .bss.squelch,"aw",%nobits 824 .align 2 827 squelch: 828 0000 00000000 .space 4 829 .section .bss.state_changed,"aw",%nobits 830 .align 1 831 .set .LANCHOR6,. + 0 834 state_changed: 835 0000 0000 .space 2 836 .section .bss.stato,"aw",%nobits 837 .align 2 838 .set .LANCHOR8,. + 0 841 stato: 842 0000 00000000 .space 4 843 .section .bss.transmit,"aw",%nobits 846 transmit: 847 0000 00 .space 1 848 .section .bss.tx_dac_buffer,"aw",%nobits 849 .align 2 852 tx_dac_buffer: 853 0000 00000000 .space 8192 853 00000000 853 00000000 853 00000000 853 00000000 854 .section .bss.uart_rx_buf,"aw",%nobits 855 .align 2 858 uart_rx_buf: 859 0000 0000 .space 2 860 .section .bss.uart_tx_buf,"aw",%nobits 861 .align 2 862 .set .LANCHOR12,. + 0 865 uart_tx_buf: 866 0000 00000000 .space 512 866 00000000 866 00000000 866 00000000 866 00000000 867 .section .bss.uart_tx_buf_in_idx,"aw",%nobits 868 .align 1 869 .set .LANCHOR13,. + 0 872 uart_tx_buf_in_idx: 873 0000 0000 .space 2 874 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccnnlJPt.s page 16 DEFINED SYMBOLS *ABS*:0000000000000000 bassofono.c /tmp/ccnnlJPt.s:17 .text.set_nco1_freq:0000000000000000 $t /tmp/ccnnlJPt.s:26 .text.set_nco1_freq:0000000000000000 set_nco1_freq /tmp/ccnnlJPt.s:53 .text.set_nco1_freq:0000000000000030 $d /tmp/ccnnlJPt.s:57 .text.ringbuf_increment:0000000000000000 $t /tmp/ccnnlJPt.s:65 .text.ringbuf_increment:0000000000000000 ringbuf_increment /tmp/ccnnlJPt.s:77 .text.sat_mult_q31:0000000000000000 $t /tmp/ccnnlJPt.s:85 .text.sat_mult_q31:0000000000000000 sat_mult_q31 /tmp/ccnnlJPt.s:100 .text.enqueue_cmd:0000000000000000 $t /tmp/ccnnlJPt.s:108 .text.enqueue_cmd:0000000000000000 enqueue_cmd /tmp/ccnnlJPt.s:125 .text.enqueue_cmd:0000000000000018 $d /tmp/ccnnlJPt.s:129 .text.dequeue_cmd:0000000000000000 $t /tmp/ccnnlJPt.s:137 .text.dequeue_cmd:0000000000000000 dequeue_cmd /tmp/ccnnlJPt.s:154 .text.dequeue_cmd:000000000000001c $d /tmp/ccnnlJPt.s:158 .text.set_frequency:0000000000000000 $t /tmp/ccnnlJPt.s:166 .text.set_frequency:0000000000000000 set_frequency /tmp/ccnnlJPt.s:206 .text.set_frequency:0000000000000050 $d /tmp/ccnnlJPt.s:213 .text.imposta_modulazione:0000000000000000 $t /tmp/ccnnlJPt.s:221 .text.imposta_modulazione:0000000000000000 imposta_modulazione /tmp/ccnnlJPt.s:262 .text.imposta_modulazione:0000000000000054 $d /tmp/ccnnlJPt.s:269 .text.set_dummy:0000000000000000 $t /tmp/ccnnlJPt.s:277 .text.set_dummy:0000000000000000 set_dummy /tmp/ccnnlJPt.s:284 .text.set_changed:0000000000000000 $t /tmp/ccnnlJPt.s:292 .text.set_changed:0000000000000000 set_changed /tmp/ccnnlJPt.s:306 .text.set_changed:0000000000000010 $d /tmp/ccnnlJPt.s:309 .text.reset_changed:0000000000000000 $t /tmp/ccnnlJPt.s:317 .text.reset_changed:0000000000000000 reset_changed /tmp/ccnnlJPt.s:331 .text.reset_changed:0000000000000014 $d /tmp/ccnnlJPt.s:334 .text.get_changed:0000000000000000 $t /tmp/ccnnlJPt.s:342 .text.get_changed:0000000000000000 get_changed /tmp/ccnnlJPt.s:354 .text.get_changed:0000000000000010 $d /tmp/ccnnlJPt.s:357 .text.state_set_default:0000000000000000 $t /tmp/ccnnlJPt.s:365 .text.state_set_default:0000000000000000 state_set_default /tmp/ccnnlJPt.s:409 .text.state_set_default:000000000000005c $d /tmp/ccnnlJPt.s:423 .rodata.diag.str1.4:0000000000000000 $d /tmp/ccnnlJPt.s:456 .text.diag:0000000000000000 $t /tmp/ccnnlJPt.s:464 .text.diag:0000000000000000 diag /tmp/ccnnlJPt.s:553 .text.diag:00000000000000c0 $d /tmp/ccnnlJPt.s:575 .text.measure_log_abs_mean:0000000000000000 $t /tmp/ccnnlJPt.s:583 .text.measure_log_abs_mean:0000000000000000 measure_log_abs_mean /tmp/ccnnlJPt.s:629 .text.set_LO_freq:0000000000000000 $t /tmp/ccnnlJPt.s:637 .text.set_LO_freq:0000000000000000 set_LO_freq /tmp/ccnnlJPt.s:852 .bss.tx_dac_buffer:0000000000000000 tx_dac_buffer /tmp/ccnnlJPt.s:732 .bss.lf_buffer:0000000000000000 lf_buffer /tmp/ccnnlJPt.s:767 .bss.prefilter_lf_buffer:0000000000000000 prefilter_lf_buffer /tmp/ccnnlJPt.s:737 .bss.lf_buffer_toggle:0000000000000000 lf_buffer_toggle /tmp/ccnnlJPt.s:726 .bss.if_Q:0000000000000000 if_Q /tmp/ccnnlJPt.s:720 .bss.if_I:0000000000000000 if_I /tmp/ccnnlJPt.s:679 .bss.adc_buffer:0000000000000000 adc_buffer /tmp/ccnnlJPt.s:872 .bss.uart_tx_buf_in_idx:0000000000000000 uart_tx_buf_in_idx /tmp/ccnnlJPt.s:865 .bss.uart_tx_buf:0000000000000000 uart_tx_buf /tmp/ccnnlJPt.s:798 .bss.rx_cmd_rb_out_idx:0000000000000000 rx_cmd_rb_out_idx /tmp/ccnnlJPt.s:792 .bss.rx_cmd_rb_in_idx:0000000000000000 rx_cmd_rb_in_idx /tmp/ccnnlJPt.s:786 .bss.rx_cmd_rb:0000000000000000 rx_cmd_rb /tmp/ccnnlJPt.s:858 .bss.uart_rx_buf:0000000000000000 uart_rx_buf /tmp/ccnnlJPt.s:821 .bss.scrittura_stato_pendente:0000000000000000 scrittura_stato_pendente ARM GAS /tmp/ccnnlJPt.s page 17 /tmp/ccnnlJPt.s:834 .bss.state_changed:0000000000000000 state_changed /tmp/ccnnlJPt.s:810 .bss.s_meter:0000000000000000 s_meter /tmp/ccnnlJPt.s:686 .bss.audio_filter_beta:0000000000000000 audio_filter_beta /tmp/ccnnlJPt.s:693 .bss.audio_filter_bw:0000000000000000 audio_filter_bw /tmp/ccnnlJPt.s:700 .bss.audio_filter_freq:0000000000000000 audio_filter_freq /tmp/ccnnlJPt.s:749 .bss.nco1_increment:0000000000000000 nco1_increment /tmp/ccnnlJPt.s:816 .bss.scan:0000000000000000 scan /tmp/ccnnlJPt.s:743 .bss.mic_gain:0000000000000000 mic_gain /tmp/ccnnlJPt.s:827 .bss.squelch:0000000000000000 squelch /tmp/ccnnlJPt.s:761 .bss.peakset:0000000000000000 peakset /tmp/ccnnlJPt.s:755 .bss.peak:0000000000000000 peak /tmp/ccnnlJPt.s:805 .bss.rx_gain:0000000000000000 rx_gain /tmp/ccnnlJPt.s:779 .bss.rit:0000000000000000 rit /tmp/ccnnlJPt.s:714 .bss.frequency:0000000000000000 frequency /tmp/ccnnlJPt.s:846 .bss.transmit:0000000000000000 transmit /tmp/ccnnlJPt.s:772 .bss.receive:0000000000000000 receive /tmp/ccnnlJPt.s:841 .bss.stato:0000000000000000 stato /tmp/ccnnlJPt.s:707 .bss.canale:0000000000000000 canale /tmp/ccnnlJPt.s:676 .bss.adc_buffer:0000000000000000 $d /tmp/ccnnlJPt.s:682 .bss.audio_filter_beta:0000000000000000 $d /tmp/ccnnlJPt.s:689 .bss.audio_filter_bw:0000000000000000 $d /tmp/ccnnlJPt.s:696 .bss.audio_filter_freq:0000000000000000 $d /tmp/ccnnlJPt.s:703 .bss.canale:0000000000000000 $d /tmp/ccnnlJPt.s:710 .bss.frequency:0000000000000000 $d /tmp/ccnnlJPt.s:717 .bss.if_I:0000000000000000 $d /tmp/ccnnlJPt.s:723 .bss.if_Q:0000000000000000 $d /tmp/ccnnlJPt.s:729 .bss.lf_buffer:0000000000000000 $d /tmp/ccnnlJPt.s:738 .bss.lf_buffer_toggle:0000000000000000 $d /tmp/ccnnlJPt.s:740 .bss.mic_gain:0000000000000000 $d /tmp/ccnnlJPt.s:746 .bss.nco1_increment:0000000000000000 $d /tmp/ccnnlJPt.s:752 .bss.peak:0000000000000000 $d /tmp/ccnnlJPt.s:758 .bss.peakset:0000000000000000 $d /tmp/ccnnlJPt.s:764 .bss.prefilter_lf_buffer:0000000000000000 $d /tmp/ccnnlJPt.s:773 .bss.receive:0000000000000000 $d /tmp/ccnnlJPt.s:775 .bss.rit:0000000000000000 $d /tmp/ccnnlJPt.s:782 .bss.rx_cmd_rb:0000000000000000 $d /tmp/ccnnlJPt.s:793 .bss.rx_cmd_rb_in_idx:0000000000000000 $d /tmp/ccnnlJPt.s:799 .bss.rx_cmd_rb_out_idx:0000000000000000 $d /tmp/ccnnlJPt.s:801 .bss.rx_gain:0000000000000000 $d /tmp/ccnnlJPt.s:811 .bss.s_meter:0000000000000000 $d /tmp/ccnnlJPt.s:813 .bss.scan:0000000000000000 $d /tmp/ccnnlJPt.s:822 .bss.scrittura_stato_pendente:0000000000000000 $d /tmp/ccnnlJPt.s:824 .bss.squelch:0000000000000000 $d /tmp/ccnnlJPt.s:830 .bss.state_changed:0000000000000000 $d /tmp/ccnnlJPt.s:837 .bss.stato:0000000000000000 $d /tmp/ccnnlJPt.s:847 .bss.transmit:0000000000000000 $d /tmp/ccnnlJPt.s:849 .bss.tx_dac_buffer:0000000000000000 $d /tmp/ccnnlJPt.s:855 .bss.uart_rx_buf:0000000000000000 $d /tmp/ccnnlJPt.s:861 .bss.uart_tx_buf:0000000000000000 $d /tmp/ccnnlJPt.s:868 .bss.uart_tx_buf_in_idx:0000000000000000 $d UNDEFINED SYMBOLS __aeabi_ldivmod decode_cmd si53531_set_frequency rx_nco1_increment st2_filter_init ARM GAS /tmp/ccnnlJPt.s page 18 audio_filter_generate_coeffs audio_filter_coeffs sprintf