ARM GAS /tmp/cc6tr6rr.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 "ControllerFunctions.c" 14 .text 15 .section .text.arm_pid_init_f32,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global arm_pid_init_f32 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv4-sp-d16 25 arm_pid_init_f32: 26 @ args = 0, pretend = 0, frame = 0 27 @ frame_needed = 0, uses_anonymous_args = 0 28 @ link register save eliminated. 29 0000 D0ED067A vldr.32 s15, [r0, #24] 30 0004 90ED087A vldr.32 s14, [r0, #32] 31 0008 90ED076A vldr.32 s12, [r0, #28] 32 000c 80ED027A vstr.32 s14, [r0, #8] 33 0010 F0EE676A vmov.f32 s13, s15 34 0014 F0EE005A vmov.f32 s11, #2.0e+0 35 0018 D7EE656A vfnma.f32 s13, s14, s11 36 001c 77EE867A vadd.f32 s15, s15, s12 37 0020 C0ED016A vstr.32 s13, [r0, #4] 38 0024 77EE877A vadd.f32 s15, s15, s14 39 0028 C0ED007A vstr.32 s15, [r0] 40 002c 01B9 cbnz r1, .L7 41 002e 7047 bx lr 42 .L7: 43 0030 0023 movs r3, #0 44 0032 C360 str r3, [r0, #12] @ unaligned 45 0034 0361 str r3, [r0, #16] @ unaligned 46 0036 4361 str r3, [r0, #20] @ unaligned 47 0038 7047 bx lr 49 003a 00BF .section .text.arm_pid_init_q15,"ax",%progbits 50 .align 1 51 .p2align 2,,3 52 .global arm_pid_init_q15 53 .syntax unified 54 .thumb 55 .thumb_func 56 .fpu fpv4-sp-d16 58 arm_pid_init_q15: 59 @ args = 0, pretend = 0, frame = 0 60 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc6tr6rr.s page 2 61 0000 00B5 push {lr} 62 0002 B0F91020 ldrsh r2, [r0, #16] 63 0006 B0F90EE0 ldrsh lr, [r0, #14] 64 .syntax unified 65 @ 1731 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 66 000a 9EFA12F2 qadd16 r2, lr, r2 67 @ 0 "" 2 68 .thumb 69 .syntax unified 70 000e B0F912C0 ldrsh ip, [r0, #18] 71 .syntax unified 72 @ 1731 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 73 0012 92FA1CF2 qadd16 r2, r2, ip 74 @ 0 "" 2 75 .thumb 76 .syntax unified 77 0016 0280 strh r2, [r0] @ movhi 78 .syntax unified 79 @ 1731 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 80 0018 9CFA1CF3 qadd16 r3, ip, ip 81 @ 0 "" 2 82 @ 1731 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 83 001c 93FA1EF3 qadd16 r3, r3, lr 84 @ 0 "" 2 85 .thumb 86 .syntax unified 87 0020 5B42 rsbs r3, r3, #0 88 0022 9BB2 uxth r3, r3 89 0024 43EA0C43 orr r3, r3, ip, lsl #16 90 0028 4360 str r3, [r0, #4] 91 002a 09B9 cbnz r1, .L14 92 002c 5DF804FB ldr pc, [sp], #4 93 .L14: 94 0030 0023 movs r3, #0 95 0032 8360 str r3, [r0, #8] @ unaligned 96 0034 8381 strh r3, [r0, #12] @ unaligned 97 0036 5DF804FB ldr pc, [sp], #4 99 003a 00BF .section .text.arm_pid_init_q31,"ax",%progbits 100 .align 1 101 .p2align 2,,3 102 .global arm_pid_init_q31 103 .syntax unified 104 .thumb 105 .thumb_func 106 .fpu fpv4-sp-d16 108 arm_pid_init_q31: 109 @ args = 0, pretend = 0, frame = 0 110 @ frame_needed = 0, uses_anonymous_args = 0 111 @ link register save eliminated. 112 0000 30B4 push {r4, r5} 113 0002 D0E90652 ldrd r5, r2, [r0, #24] 114 .syntax unified 115 @ 2117 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 116 0006 82FA85F2 qadd r2, r5, r2 117 @ 0 "" 2 118 .thumb 119 .syntax unified ARM GAS /tmp/cc6tr6rr.s page 3 120 000a 046A ldr r4, [r0, #32] 121 .syntax unified 122 @ 2117 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 123 000c 84FA82F2 qadd r2, r2, r4 124 @ 0 "" 2 125 .thumb 126 .syntax unified 127 0010 0260 str r2, [r0] 128 .syntax unified 129 @ 2117 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 130 0012 84FA84F3 qadd r3, r4, r4 131 @ 0 "" 2 132 @ 2117 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 133 0016 85FA83F3 qadd r3, r3, r5 134 @ 0 "" 2 135 .thumb 136 .syntax unified 137 001a 5B42 rsbs r3, r3, #0 138 001c C0E90134 strd r3, r4, [r0, #4] 139 0020 09B9 cbnz r1, .L21 140 0022 30BC pop {r4, r5} 141 0024 7047 bx lr 142 .L21: 143 0026 0023 movs r3, #0 144 0028 30BC pop {r4, r5} 145 002a C360 str r3, [r0, #12] @ unaligned 146 002c 0361 str r3, [r0, #16] @ unaligned 147 002e 4361 str r3, [r0, #20] @ unaligned 148 0030 7047 bx lr 150 0032 00BF .section .text.arm_pid_reset_f32,"ax",%progbits 151 .align 1 152 .p2align 2,,3 153 .global arm_pid_reset_f32 154 .syntax unified 155 .thumb 156 .thumb_func 157 .fpu fpv4-sp-d16 159 arm_pid_reset_f32: 160 @ args = 0, pretend = 0, frame = 0 161 @ frame_needed = 0, uses_anonymous_args = 0 162 @ link register save eliminated. 163 0000 0023 movs r3, #0 164 0002 C360 str r3, [r0, #12] @ unaligned 165 0004 0361 str r3, [r0, #16] @ unaligned 166 0006 4361 str r3, [r0, #20] @ unaligned 167 0008 7047 bx lr 169 000a 00BF .section .text.arm_pid_reset_q15,"ax",%progbits 170 .align 1 171 .p2align 2,,3 172 .global arm_pid_reset_q15 173 .syntax unified 174 .thumb 175 .thumb_func 176 .fpu fpv4-sp-d16 178 arm_pid_reset_q15: 179 @ args = 0, pretend = 0, frame = 0 180 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc6tr6rr.s page 4 181 @ link register save eliminated. 182 0000 0023 movs r3, #0 183 0002 8360 str r3, [r0, #8] @ unaligned 184 0004 8381 strh r3, [r0, #12] @ unaligned 185 0006 7047 bx lr 187 .section .text.arm_pid_reset_q31,"ax",%progbits 188 .align 1 189 .p2align 2,,3 190 .global arm_pid_reset_q31 191 .syntax unified 192 .thumb 193 .thumb_func 194 .fpu fpv4-sp-d16 196 arm_pid_reset_q31: 197 @ args = 0, pretend = 0, frame = 0 198 @ frame_needed = 0, uses_anonymous_args = 0 199 @ link register save eliminated. 200 0000 0023 movs r3, #0 201 0002 C360 str r3, [r0, #12] @ unaligned 202 0004 0361 str r3, [r0, #16] @ unaligned 203 0006 4361 str r3, [r0, #20] @ unaligned 204 0008 7047 bx lr 206 000a 00BF .section .text.arm_sin_cos_f32,"ax",%progbits 207 .align 1 208 .p2align 2,,3 209 .global arm_sin_cos_f32 210 .syntax unified 211 .thumb 212 .thumb_func 213 .fpu fpv4-sp-d16 215 arm_sin_cos_f32: 216 @ args = 0, pretend = 0, frame = 0 217 @ frame_needed = 0, uses_anonymous_args = 0 218 0000 9FED3B7A vldr.32 s14, .L33 219 0004 DFED3B6A vldr.32 s13, .L33+4 220 0008 3B4A ldr r2, .L33+8 221 000a 20EE077A vmul.f32 s14, s0, s14 222 000e 00B5 push {lr} 223 0010 B5EEC07A vcmpe.f32 s14, #0 224 0014 F1EE10FA vmrs APSR_nzcv, FPSCR 225 0018 48BF it mi 226 001a B1EE477A vnegmi.f32 s14, s14 227 001e FDEEC77A vcvt.s32.f32 s15, s14 228 0022 F0EE002A vmov.f32 s5, #2.0e+0 229 0026 F8EEE77A vcvt.f32.s32 s15, s15 230 002a F0EE081A vmov.f32 s3, #3.0e+0 231 002e 77EE677A vsub.f32 s15, s14, s15 232 0032 9FED327A vldr.32 s14, .L33+12 233 0036 67EEA67A vmul.f32 s15, s15, s13 234 003a B5EEC00A vcmpe.f32 s0, #0 235 003e FCEEE76A vcvt.u32.f32 s13, s15 236 0042 F1EE10FA vmrs APSR_nzcv, FPSCR 237 0046 16EE903A vmov r3, s13 @ int 238 004a C3F30803 ubfx r3, r3, #0, #9 239 004e 06EE903A vmov s13, r3 @ int 240 0052 02EB830E add lr, r2, r3, lsl #2 241 0056 03F1800C add ip, r3, #128 ARM GAS /tmp/cc6tr6rr.s page 5 242 005a 9EED004A vldr.32 s8, [lr] 243 005e DEED014A vldr.32 s9, [lr, #4] 244 0062 F8EE666A vcvt.f32.u32 s13, s13 245 0066 CCF3080C ubfx ip, ip, #0, #9 246 006a 02EB8C03 add r3, r2, ip, lsl #2 247 006e 77EEE67A vsub.f32 s15, s15, s13 248 0072 D3ED013A vldr.32 s7, [r3, #4] 249 0076 F1EE446A vneg.f32 s13, s8 250 007a B0EE645A vmov.f32 s10, s9 251 007e 96EEA25A vfnms.f32 s10, s13, s5 252 0082 36EEE41A vsub.f32 s2, s13, s9 253 0086 66EE875A vmul.f32 s11, s13, s14 254 008a D3ED006A vldr.32 s13, [r3] 255 008e B0EE636A vmov.f32 s12, s7 256 0092 A6EEA26A vfma.f32 s12, s13, s5 257 0096 74EEC44A vsub.f32 s9, s9, s8 258 009a 33EEE62A vsub.f32 s4, s7, s13 259 009e 27EE466A vnmul.f32 s12, s14, s12 260 00a2 76EEA33A vadd.f32 s7, s13, s7 261 00a6 34EEA43A vadd.f32 s6, s9, s9 262 00aa 27EE455A vnmul.f32 s10, s14, s10 263 00ae 72EE022A vadd.f32 s5, s4, s4 264 00b2 93EE873A vfnms.f32 s6, s7, s14 265 00b6 A4EEA16A vfma.f32 s12, s9, s3 266 00ba D1EE072A vfnms.f32 s5, s2, s14 267 00be A2EE215A vfma.f32 s10, s4, s3 268 00c2 A7EE836A vfma.f32 s12, s15, s6 269 00c6 A7EEA25A vfma.f32 s10, s15, s5 270 00ca 26EE877A vmul.f32 s14, s13, s14 271 00ce E7EE855A vfma.f32 s11, s15, s10 272 00d2 A7EE867A vfma.f32 s14, s15, s12 273 00d6 E7EEA56A vfma.f32 s13, s15, s11 274 00da A7EE874A vfma.f32 s8, s15, s14 275 00de C1ED006A vstr.32 s13, [r1] 276 00e2 48BF it mi 277 00e4 B1EE444A vnegmi.f32 s8, s8 278 00e8 80ED004A vstr.32 s8, [r0] 279 00ec 5DF804FB ldr pc, [sp], #4 280 .L34: 281 .align 2 282 .L33: 283 00f0 610B363B .word 993397601 284 00f4 00000044 .word 1140850688 285 00f8 00000000 .word sinTable_f32 286 00fc DB0F493C .word 1011421147 288 .section .text.arm_sin_cos_q31,"ax",%progbits 289 .align 1 290 .p2align 2,,3 291 .global arm_sin_cos_q31 292 .syntax unified 293 .thumb 294 .thumb_func 295 .fpu fpv4-sp-d16 297 arm_sin_cos_q31: 298 @ args = 0, pretend = 0, frame = 8 299 @ frame_needed = 0, uses_anonymous_args = 0 300 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} ARM GAS /tmp/cc6tr6rr.s page 6 301 0004 C30D lsrs r3, r0, #23 302 0006 83B0 sub sp, sp, #12 303 0008 CDE90012 strd r1, r2, [sp] 304 000c 654A ldr r2, .L39 305 000e 664F ldr r7, .L39+4 306 0010 52F82350 ldr r5, [r2, r3, lsl #2] 307 0014 DFF894B1 ldr fp, .L39+8 308 0018 591C adds r1, r3, #1 309 001a 03F18004 add r4, r3, #128 310 001e C4F30804 ubfx r4, r4, #0, #9 311 0022 52F82130 ldr r3, [r2, r1, lsl #2] 312 0026 52F82410 ldr r1, [r2, r4, lsl #2] 313 002a 661C adds r6, r4, #1 314 002c C5F1000E rsb lr, r5, #0 315 0030 C3F10009 rsb r9, r3, #0 316 0034 52F82680 ldr r8, [r2, r6, lsl #2] 317 0038 4FEAE97A asr r10, r9, #31 318 003c 1EEB0902 adds r2, lr, r9 319 0040 4AEBEE76 adc r6, r10, lr, asr #31 320 0044 A2FB0724 umull r2, r4, r2, r7 321 0048 0BEA0020 and r0, fp, r0, lsl #8 322 004c 07FB0644 mla r4, r7, r6, r4 323 0050 4FEAEE7B asr fp, lr, #31 324 0054 1EEB0E06 adds r6, lr, lr 325 0058 4BEB0B0B adc fp, fp, fp 326 005c 16EB0906 adds r6, r6, r9 327 0060 A8EB010C sub ip, r8, r1 328 0064 4AEB0B0B adc fp, r10, fp 329 0068 4FF0030A mov r10, #3 330 006c A4EB0C04 sub r4, r4, ip 331 0070 8CFB0ACA smull ip, r10, ip, r10 332 0074 4FEACA7A lsl r10, r10, #31 333 0078 A6FB0769 umull r6, r9, r6, r7 334 007c 4AEA5C0A orr r10, r10, ip, lsr #1 335 0080 D20F lsrs r2, r2, #31 336 0082 4FEACC7C lsl ip, ip, #31 337 0086 07FB0B9B mla fp, r7, fp, r9 338 008a 42EA4402 orr r2, r2, r4, lsl #1 339 008e BCEB060C subs ip, ip, r6 340 0092 6AEB0B0A sbc r10, r10, fp 341 0096 E417 asrs r4, r4, #31 342 0098 A0FB026B umull r6, fp, r0, r2 343 009c 1CEB060C adds ip, ip, r6 344 00a0 00FB04B4 mla r4, r0, r4, fp 345 00a4 44EB0A0A adc r10, r4, r10 346 00a8 4FEADC76 lsr r6, ip, #31 347 00ac 46EA4A06 orr r6, r6, r10, lsl #1 348 00b0 A0FB0626 umull r2, r6, r0, r6 349 00b4 4FEAEA7A asr r10, r10, #31 350 00b8 00FB0A66 mla r6, r0, r10, r6 351 00bc CEFB0726 smlal r2, r6, lr, r7 352 00c0 D20F lsrs r2, r2, #31 353 00c2 42EA4602 orr r2, r2, r6, lsl #1 354 00c6 A0FB0224 umull r2, r4, r0, r2 355 00ca F617 asrs r6, r6, #31 356 00cc 00FB0644 mla r4, r0, r6, r4 357 00d0 D20F lsrs r2, r2, #31 ARM GAS /tmp/cc6tr6rr.s page 7 358 00d2 42EA4402 orr r2, r2, r4, lsl #1 359 00d6 5218 adds r2, r2, r1 360 00d8 4FEAE474 asr r4, r4, #31 361 00dc 44EBE174 adc r4, r4, r1, asr #31 362 00e0 B4EBE27F cmp r4, r2, asr #31 363 00e4 1CBF itt ne 364 00e6 6FF00042 mvnne r2, #-2147483648 365 00ea 82EAE472 eorne r2, r2, r4, asr #31 366 00ee 019C ldr r4, [sp, #4] 367 00f0 2260 str r2, [r4] 368 00f2 2D4A ldr r2, .L39+4 369 00f4 11EB0807 adds r7, r1, r8 370 00f8 4FEAE176 asr r6, r1, #31 371 00fc 46EBE87C adc ip, r6, r8, asr #31 372 0100 A7FB0247 umull r4, r7, r7, r2 373 0104 02FB0C77 mla r7, r2, ip, r7 374 0108 11EB010C adds ip, r1, r1 375 010c 7641 adcs r6, r6, r6 376 010e 1CEB080C adds ip, ip, r8 377 0112 A3EB0503 sub r3, r3, r5 378 0116 46EBE878 adc r8, r6, r8, asr #31 379 011a 0326 movs r6, #3 380 011c FF1A subs r7, r7, r3 381 011e 83FB0636 smull r3, r6, r3, r6 382 0122 E40F lsrs r4, r4, #31 383 0124 F607 lsls r6, r6, #31 384 0126 ACFB02CE umull ip, lr, ip, r2 385 012a 44EA4704 orr r4, r4, r7, lsl #1 386 012e 46EA5306 orr r6, r6, r3, lsr #1 387 0132 DB07 lsls r3, r3, #31 388 0134 B3EB0C03 subs r3, r3, ip 389 0138 02FB08E8 mla r8, r2, r8, lr 390 013c A0FB04C4 umull ip, r4, r0, r4 391 0140 4FEAE777 asr r7, r7, #31 392 0144 00FB0747 mla r7, r0, r7, r4 393 0148 66EB0806 sbc r6, r6, r8 394 014c 13EB0C03 adds r3, r3, ip 395 0150 47EB0606 adc r6, r7, r6 396 0154 DB0F lsrs r3, r3, #31 397 0156 43EA4603 orr r3, r3, r6, lsl #1 398 015a F717 asrs r7, r6, #31 399 015c A0FB0336 umull r3, r6, r0, r3 400 0160 00FB0766 mla r6, r0, r7, r6 401 0164 C1FB0236 smlal r3, r6, r1, r2 402 0168 DB0F lsrs r3, r3, #31 403 016a 43EA4603 orr r3, r3, r6, lsl #1 404 016e A0FB0332 umull r3, r2, r0, r3 405 0172 F617 asrs r6, r6, #31 406 0174 00FB0620 mla r0, r0, r6, r2 407 0178 DB0F lsrs r3, r3, #31 408 017a 43EA4003 orr r3, r3, r0, lsl #1 409 017e 5B19 adds r3, r3, r5 410 0180 4FEAE575 asr r5, r5, #31 411 0184 45EBE070 adc r0, r5, r0, asr #31 412 0188 B0EBE37F cmp r0, r3, asr #31 413 018c 18BF it ne 414 018e 6FF00043 mvnne r3, #-2147483648 ARM GAS /tmp/cc6tr6rr.s page 8 415 0192 009A ldr r2, [sp] 416 0194 18BF it ne 417 0196 83EAE073 eorne r3, r3, r0, asr #31 418 019a 1360 str r3, [r2] 419 019c 03B0 add sp, sp, #12 420 @ sp needed 421 019e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 422 .L40: 423 01a2 00BF .align 2 424 .L39: 425 01a4 00000000 .word sinTable_q31 426 01a8 B51F9201 .word 26353589 427 01ac 00FFFF7F .word 2147483392 429 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/cc6tr6rr.s page 9 DEFINED SYMBOLS *ABS*:0000000000000000 ControllerFunctions.c /tmp/cc6tr6rr.s:16 .text.arm_pid_init_f32:0000000000000000 $t /tmp/cc6tr6rr.s:25 .text.arm_pid_init_f32:0000000000000000 arm_pid_init_f32 /tmp/cc6tr6rr.s:50 .text.arm_pid_init_q15:0000000000000000 $t /tmp/cc6tr6rr.s:58 .text.arm_pid_init_q15:0000000000000000 arm_pid_init_q15 /tmp/cc6tr6rr.s:100 .text.arm_pid_init_q31:0000000000000000 $t /tmp/cc6tr6rr.s:108 .text.arm_pid_init_q31:0000000000000000 arm_pid_init_q31 /tmp/cc6tr6rr.s:151 .text.arm_pid_reset_f32:0000000000000000 $t /tmp/cc6tr6rr.s:159 .text.arm_pid_reset_f32:0000000000000000 arm_pid_reset_f32 /tmp/cc6tr6rr.s:170 .text.arm_pid_reset_q15:0000000000000000 $t /tmp/cc6tr6rr.s:178 .text.arm_pid_reset_q15:0000000000000000 arm_pid_reset_q15 /tmp/cc6tr6rr.s:188 .text.arm_pid_reset_q31:0000000000000000 $t /tmp/cc6tr6rr.s:196 .text.arm_pid_reset_q31:0000000000000000 arm_pid_reset_q31 /tmp/cc6tr6rr.s:207 .text.arm_sin_cos_f32:0000000000000000 $t /tmp/cc6tr6rr.s:215 .text.arm_sin_cos_f32:0000000000000000 arm_sin_cos_f32 /tmp/cc6tr6rr.s:283 .text.arm_sin_cos_f32:00000000000000f0 $d /tmp/cc6tr6rr.s:289 .text.arm_sin_cos_q31:0000000000000000 $t /tmp/cc6tr6rr.s:297 .text.arm_sin_cos_q31:0000000000000000 arm_sin_cos_q31 /tmp/cc6tr6rr.s:425 .text.arm_sin_cos_q31:00000000000001a4 $d UNDEFINED SYMBOLS sinTable_f32 sinTable_q31