ARM GAS /tmp/ccgnzMI6.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 "si5351.c" 14 .text 15 .section .text.si5351_write8,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global si5351_write8 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv4-sp-d16 25 si5351_write8: 26 @ args = 0, pretend = 0, frame = 8 27 @ frame_needed = 0, uses_anonymous_args = 0 28 0000 30B5 push {r4, r5, lr} 29 0002 87B0 sub sp, sp, #28 30 0004 0C4C ldr r4, .L6 31 0006 8DF81710 strb r1, [sp, #23] 32 000a 0546 mov r5, r0 33 .L2: 34 000c 6423 movs r3, #100 35 000e 0322 movs r2, #3 36 0010 C021 movs r1, #192 37 0012 2046 mov r0, r4 38 0014 FFF7FEFF bl HAL_I2C_IsDeviceReady 39 0018 0028 cmp r0, #0 40 001a F7D1 bne .L2 41 001c 0123 movs r3, #1 42 001e 0DF11702 add r2, sp, #23 43 0022 6421 movs r1, #100 44 0024 CDE90131 strd r3, r1, [sp, #4] 45 0028 0092 str r2, [sp] 46 002a C021 movs r1, #192 47 002c 2A46 mov r2, r5 48 002e 0248 ldr r0, .L6 49 0030 FFF7FEFF bl HAL_I2C_Mem_Write 50 0034 07B0 add sp, sp, #28 51 @ sp needed 52 0036 30BD pop {r4, r5, pc} 53 .L7: 54 .align 2 55 .L6: 56 0038 00000000 .word hi2c1 58 .section .text.si5351_read8,"ax",%progbits 59 .align 1 ARM GAS /tmp/ccgnzMI6.s page 2 60 .p2align 2,,3 61 .global si5351_read8 62 .syntax unified 63 .thumb 64 .thumb_func 65 .fpu fpv4-sp-d16 67 si5351_read8: 68 @ args = 0, pretend = 0, frame = 8 69 @ frame_needed = 0, uses_anonymous_args = 0 70 0000 30B5 push {r4, r5, lr} 71 0002 87B0 sub sp, sp, #28 72 0004 0B4C ldr r4, .L12 73 0006 0591 str r1, [sp, #20] 74 0008 0546 mov r5, r0 75 .L9: 76 000a 6423 movs r3, #100 77 000c 0322 movs r2, #3 78 000e C021 movs r1, #192 79 0010 2046 mov r0, r4 80 0012 FFF7FEFF bl HAL_I2C_IsDeviceReady 81 0016 0028 cmp r0, #0 82 0018 F7D1 bne .L9 83 001a 0123 movs r3, #1 84 001c 05AA add r2, sp, #20 85 001e 6421 movs r1, #100 86 0020 CDE90131 strd r3, r1, [sp, #4] 87 0024 0092 str r2, [sp] 88 0026 C021 movs r1, #192 89 0028 2A46 mov r2, r5 90 002a 0248 ldr r0, .L12 91 002c FFF7FEFF bl HAL_I2C_Mem_Read 92 0030 07B0 add sp, sp, #28 93 @ sp needed 94 0032 30BD pop {r4, r5, pc} 95 .L13: 96 .align 2 97 .L12: 98 0034 00000000 .word hi2c1 100 .global __aeabi_ui2d 101 .global __aeabi_ddiv 102 .global __aeabi_d2uiz 103 .global __aeabi_d2iz 104 .global __aeabi_i2d 105 .global __aeabi_dsub 106 .global __aeabi_dmul 107 .global __aeabi_dadd 108 .section .text.CalcRegisters,"ax",%progbits 109 .align 1 110 .p2align 2,,3 111 .global CalcRegisters 112 .syntax unified 113 .thumb 114 .thumb_func 115 .fpu fpv4-sp-d16 117 CalcRegisters: 118 @ args = 0, pretend = 0, frame = 0 119 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccgnzMI6.s page 3 120 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 121 0004 984B ldr r3, .L40+24 122 0006 9842 cmp r0, r3 123 0008 0546 mov r5, r0 124 000a 0C46 mov r4, r1 125 000c 66D9 bls .L15 126 000e 4FF00008 mov r8, #0 127 0012 8000 lsls r0, r0, #2 128 0014 C246 mov r10, r8 129 0016 4FF00C09 mov r9, #12 130 .L16: 131 001a FFF7FEFF bl __aeabi_ui2d 132 001e 8CA3 adr r3, .L40 133 0020 D3E90023 ldrd r2, [r3] 134 0024 FFF7FEFF bl __aeabi_ddiv 135 0028 0F46 mov r7, r1 136 002a 0646 mov r6, r0 137 002c FFF7FEFF bl __aeabi_d2iz 138 0030 0546 mov r5, r0 139 0032 FFF7FEFF bl __aeabi_i2d 140 0036 0246 mov r2, r0 141 0038 0B46 mov r3, r1 142 003a 3046 mov r0, r6 143 003c 3946 mov r1, r7 144 003e FFF7FEFF bl __aeabi_dsub 145 0042 85A3 adr r3, .L40+8 146 0044 D3E90023 ldrd r2, [r3] 147 0048 0646 mov r6, r0 148 004a 0F46 mov r7, r1 149 004c FFF7FEFF bl __aeabi_dmul 150 0050 FFF7FEFF bl __aeabi_d2uiz 151 0054 8346 mov fp, r0 152 0056 E0B3 cbz r0, .L31 153 0058 FFF7FEFF bl __aeabi_ui2d 154 005c 3246 mov r2, r6 155 005e 3B46 mov r3, r7 156 0060 FFF7FEFF bl __aeabi_ddiv 157 0064 814B ldr r3, .L40+28 158 0066 0022 movs r2, #0 159 0068 FFF7FEFF bl __aeabi_dadd 160 006c FFF7FEFF bl __aeabi_d2uiz 161 0070 7F4A ldr r2, .L40+32 162 0072 9042 cmp r0, r2 163 0074 28BF it cs 164 0076 1046 movcs r0, r2 165 0078 010B lsrs r1, r0, #12 166 007a 01F0F001 and r1, r1, #240 167 007e C0F30722 ubfx r2, r0, #8, #8 168 0082 C3B2 uxtb r3, r0 169 .L23: 170 0084 ED01 lsls r5, r5, #7 171 0086 A5F50075 sub r5, r5, #512 172 008a 4FEACB1B lsl fp, fp, #7 173 008e 2270 strb r2, [r4] 174 0090 BBFBF0F2 udiv r2, fp, r0 175 0094 1544 add r5, r5, r2 176 0096 6370 strb r3, [r4, #1] ARM GAS /tmp/ccgnzMI6.s page 4 177 0098 00FB12B3 mls r3, r0, r2, fp 178 009c C5F30142 ubfx r2, r5, #16, #2 179 00a0 41EA1341 orr r1, r1, r3, lsr #16 180 00a4 A270 strb r2, [r4, #2] 181 00a6 2A0A lsrs r2, r5, #8 182 00a8 E270 strb r2, [r4, #3] 183 00aa 180A lsrs r0, r3, #8 184 00ac 0022 movs r2, #0 185 00ae 6171 strb r1, [r4, #5] 186 00b0 0121 movs r1, #1 187 00b2 84F80A90 strb r9, [r4, #10] 188 00b6 84F80BA0 strb r10, [r4, #11] 189 00ba 84F80C80 strb r8, [r4, #12] 190 00be A071 strb r0, [r4, #6] 191 00c0 2571 strb r5, [r4, #4] 192 00c2 E371 strb r3, [r4, #7] 193 00c4 2272 strb r2, [r4, #8] 194 00c6 6172 strb r1, [r4, #9] 195 00c8 6273 strb r2, [r4, #13] 196 00ca A273 strb r2, [r4, #14] 197 00cc E273 strb r2, [r4, #15] 198 00ce BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 199 .L31: 200 00d2 FF23 movs r3, #255 201 00d4 6648 ldr r0, .L40+32 202 00d6 F021 movs r1, #240 203 00d8 1A46 mov r2, r3 204 00da D3E7 b .L23 205 .L15: 206 00dc 654B ldr r3, .L40+36 207 00de 9842 cmp r0, r3 208 00e0 52D8 bhi .L17 209 00e2 B3EB400F cmp r3, r0, lsl #1 210 00e6 4FEA4007 lsl r7, r0, #1 211 00ea C0F09D80 bcc .L24 212 00ee B3EB800F cmp r3, r0, lsl #2 213 00f2 4FEA8007 lsl r7, r0, #2 214 00f6 C0F09B80 bcc .L25 215 00fa B3EBC00F cmp r3, r0, lsl #3 216 00fe 4FEAC007 lsl r7, r0, #3 217 0102 C0F09980 bcc .L26 218 0106 B3EB001F cmp r3, r0, lsl #4 219 010a 4FEA0017 lsl r7, r0, #4 220 010e C0F08780 bcc .L27 221 0112 B3EB401F cmp r3, r0, lsl #5 222 0116 4FEA4017 lsl r7, r0, #5 223 011a C0F09180 bcc .L28 224 011e B3EB801F cmp r3, r0, lsl #6 225 0122 4FEA8017 lsl r7, r0, #6 226 0126 C0F08F80 bcc .L29 227 012a C701 lsls r7, r0, #7 228 012c 4FF00709 mov r9, #7 229 0130 8026 movs r6, #128 230 .L18: 231 0132 3846 mov r0, r7 232 0134 FFF7FEFF bl __aeabi_ui2d 233 0138 0B46 mov r3, r1 ARM GAS /tmp/ccgnzMI6.s page 5 234 013a 0246 mov r2, r0 235 013c 48A1 adr r1, .L40+16 236 013e D1E90001 ldrd r0, [r1] 237 0142 FFF7FEFF bl __aeabi_ddiv 238 0146 FFF7FEFF bl __aeabi_d2uiz 239 014a 10F0010F tst r0, #1 240 014e 8246 mov r10, r0 241 0150 494B ldr r3, .L40+40 242 0152 18BF it ne 243 0154 00F1010A addne r10, r0, #1 244 0158 07FB0AF0 mul r0, r7, r10 245 015c 9842 cmp r0, r3 246 015e 4FEA0919 lsl r9, r9, #4 247 0162 06FB05F0 mul r0, r6, r5 248 0166 4AD9 bls .L20 249 0168 0AFB00F0 mul r0, r10, r0 250 016c 0AF1007A add r10, r10, #33554432 251 0170 AAF1040A sub r10, r10, #4 252 0174 4FEACA18 lsl r8, r10, #7 253 0178 CAF34123 ubfx r3, r10, #9, #2 254 017c 5FFA88F8 uxtb r8, r8 255 0180 9944 add r9, r9, r3 256 0182 CAF3470A ubfx r10, r10, #1, #8 257 0186 48E7 b .L16 258 .L17: 259 0188 FFF7FEFF bl __aeabi_ui2d 260 018c 0246 mov r2, r0 261 018e 0B46 mov r3, r1 262 0190 33A1 adr r1, .L40+16 263 0192 D1E90001 ldrd r0, [r1] 264 0196 FFF7FEFF bl __aeabi_ddiv 265 019a FFF7FEFF bl __aeabi_d2uiz 266 019e 0528 cmp r0, #5 267 01a0 8246 mov r10, r0 268 01a2 16D9 bls .L30 269 01a4 10F0010F tst r0, #1 270 01a8 01D0 beq .L21 271 01aa 00F1010A add r10, r0, #1 272 .L21: 273 01ae 324B ldr r3, .L40+40 274 01b0 05FB0AF0 mul r0, r5, r10 275 01b4 9842 cmp r0, r3 276 01b6 13D9 bls .L22 277 .L39: 278 01b8 0AF1007A add r10, r10, #33554432 279 01bc AAF1040A sub r10, r10, #4 280 01c0 4FEACA18 lsl r8, r10, #7 281 01c4 CAF34129 ubfx r9, r10, #9, #2 282 01c8 5FFA88F8 uxtb r8, r8 283 01cc CAF3470A ubfx r10, r10, #1, #8 284 01d0 23E7 b .L16 285 .L30: 286 01d2 294B ldr r3, .L40+40 287 01d4 4FF0060A mov r10, #6 288 01d8 05FB0AF0 mul r0, r5, r10 289 01dc 9842 cmp r0, r3 290 01de EBD8 bhi .L39 ARM GAS /tmp/ccgnzMI6.s page 6 291 .L22: 292 01e0 0AF1007A add r10, r10, #33554432 293 01e4 AAF1020A sub r10, r10, #2 294 01e8 4FEACA18 lsl r8, r10, #7 295 01ec CAF34129 ubfx r9, r10, #9, #2 296 01f0 00EB4500 add r0, r0, r5, lsl #1 297 01f4 CAF3470A ubfx r10, r10, #1, #8 298 01f8 5FFA88F8 uxtb r8, r8 299 01fc 0DE7 b .L16 300 .L20: 301 01fe 0AF10073 add r3, r10, #33554432 302 0202 023B subs r3, r3, #2 303 0204 0AF1020A add r10, r10, #2 304 0208 4FEAC318 lsl r8, r3, #7 305 020c C3F34122 ubfx r2, r3, #9, #2 306 0210 00FB0AF0 mul r0, r0, r10 307 0214 5FFA88F8 uxtb r8, r8 308 0218 9144 add r9, r9, r2 309 021a C3F3470A ubfx r10, r3, #1, #8 310 021e FCE6 b .L16 311 .L27: 312 0220 4FF00409 mov r9, #4 313 0224 1026 movs r6, #16 314 0226 84E7 b .L18 315 .L24: 316 0228 4FF00109 mov r9, #1 317 022c 0226 movs r6, #2 318 022e 80E7 b .L18 319 .L25: 320 0230 4FF00209 mov r9, #2 321 0234 0426 movs r6, #4 322 0236 7CE7 b .L18 323 .L26: 324 0238 4FF00309 mov r9, #3 325 023c 0826 movs r6, #8 326 023e 78E7 b .L18 327 .L28: 328 0240 4FF00509 mov r9, #5 329 0244 2026 movs r6, #32 330 0246 74E7 b .L18 331 .L29: 332 0248 4FF00609 mov r9, #6 333 024c 4026 movs r6, #64 334 024e 70E7 b .L18 335 .L41: 336 .align 3 337 .L40: 338 0250 00000000 .word 0 339 0254 60E37641 .word 1098310496 340 0258 00000000 .word 0 341 025c FEFF2F41 .word 1093664766 342 0260 00000000 .word 0 343 0264 A3E1C141 .word 1103225251 344 0268 80D1F008 .word 150000000 345 026c 0000E03F .word 1071644672 346 0270 FFFF0F00 .word 1048575 347 0274 68780400 .word 292968 ARM GAS /tmp/ccgnzMI6.s page 7 348 0278 FF45C323 .word 599999999 350 .section .text.si53531_initialize,"ax",%progbits 351 .align 1 352 .p2align 2,,3 353 .global si53531_initialize 354 .syntax unified 355 .thumb 356 .thumb_func 357 .fpu fpv4-sp-d16 359 si53531_initialize: 360 @ args = 0, pretend = 0, frame = 8 361 @ frame_needed = 0, uses_anonymous_args = 0 362 0000 F0B5 push {r4, r5, r6, r7, lr} 363 0002 C84C ldr r4, .L82 364 0004 87B0 sub sp, sp, #28 365 0006 0027 movs r7, #0 366 0008 05AD add r5, sp, #20 367 000a 6426 movs r6, #100 368 .L44: 369 000c 0597 str r7, [sp, #20] 370 .L43: 371 000e 6423 movs r3, #100 372 0010 0322 movs r2, #3 373 0012 C021 movs r1, #192 374 0014 2046 mov r0, r4 375 0016 FFF7FEFF bl HAL_I2C_IsDeviceReady 376 001a 0028 cmp r0, #0 377 001c F7D1 bne .L43 378 001e 0123 movs r3, #1 379 0020 CDE90136 strd r3, r6, [sp, #4] 380 0024 0246 mov r2, r0 381 0026 0095 str r5, [sp] 382 0028 C021 movs r1, #192 383 002a 2046 mov r0, r4 384 002c FFF7FEFF bl HAL_I2C_Mem_Read 385 0030 0306 lsls r3, r0, #24 386 0032 EBD4 bmi .L44 387 0034 FF23 movs r3, #255 388 0036 BB4E ldr r6, .L82 389 0038 8DF81430 strb r3, [sp, #20] 390 .L45: 391 003c 6423 movs r3, #100 392 003e 0322 movs r2, #3 393 0040 C021 movs r1, #192 394 0042 3046 mov r0, r6 395 0044 FFF7FEFF bl HAL_I2C_IsDeviceReady 396 0048 0446 mov r4, r0 397 004a 0028 cmp r0, #0 398 004c F6D1 bne .L45 399 004e 0123 movs r3, #1 400 0050 6422 movs r2, #100 401 0052 CDE90132 strd r3, r2, [sp, #4] 402 0056 B348 ldr r0, .L82 403 0058 0095 str r5, [sp] 404 005a 0322 movs r2, #3 405 005c C021 movs r1, #192 406 005e B14E ldr r6, .L82 ARM GAS /tmp/ccgnzMI6.s page 8 407 0060 FFF7FEFF bl HAL_I2C_Mem_Write 408 0064 8DF81440 strb r4, [sp, #20] 409 .L46: 410 0068 6423 movs r3, #100 411 006a 0322 movs r2, #3 412 006c C021 movs r1, #192 413 006e 3046 mov r0, r6 414 0070 FFF7FEFF bl HAL_I2C_IsDeviceReady 415 0074 0446 mov r4, r0 416 0076 0028 cmp r0, #0 417 0078 F6D1 bne .L46 418 007a 0123 movs r3, #1 419 007c 6422 movs r2, #100 420 007e CDE90132 strd r3, r2, [sp, #4] 421 0082 A848 ldr r0, .L82 422 0084 0095 str r5, [sp] 423 0086 0F22 movs r2, #15 424 0088 C021 movs r1, #192 425 008a A64E ldr r6, .L82 426 008c FFF7FEFF bl HAL_I2C_Mem_Write 427 0090 8DF81440 strb r4, [sp, #20] 428 .L47: 429 0094 6423 movs r3, #100 430 0096 0322 movs r2, #3 431 0098 C021 movs r1, #192 432 009a 3046 mov r0, r6 433 009c FFF7FEFF bl HAL_I2C_IsDeviceReady 434 00a0 0446 mov r4, r0 435 00a2 0028 cmp r0, #0 436 00a4 F6D1 bne .L47 437 00a6 0123 movs r3, #1 438 00a8 6422 movs r2, #100 439 00aa CDE90132 strd r3, r2, [sp, #4] 440 00ae 9D48 ldr r0, .L82 441 00b0 0095 str r5, [sp] 442 00b2 1822 movs r2, #24 443 00b4 C021 movs r1, #192 444 00b6 9B4E ldr r6, .L82 445 00b8 FFF7FEFF bl HAL_I2C_Mem_Write 446 00bc 8DF81440 strb r4, [sp, #20] 447 .L48: 448 00c0 6423 movs r3, #100 449 00c2 0322 movs r2, #3 450 00c4 C021 movs r1, #192 451 00c6 3046 mov r0, r6 452 00c8 FFF7FEFF bl HAL_I2C_IsDeviceReady 453 00cc 0028 cmp r0, #0 454 00ce F7D1 bne .L48 455 00d0 0124 movs r4, #1 456 00d2 6423 movs r3, #100 457 00d4 CDE90143 strd r4, r3, [sp, #4] 458 00d8 9248 ldr r0, .L82 459 00da 0095 str r5, [sp] 460 00dc 2346 mov r3, r4 461 00de 2A22 movs r2, #42 462 00e0 C021 movs r1, #192 463 00e2 904E ldr r6, .L82 ARM GAS /tmp/ccgnzMI6.s page 9 464 00e4 FFF7FEFF bl HAL_I2C_Mem_Write 465 00e8 8DF81440 strb r4, [sp, #20] 466 .L49: 467 00ec 6423 movs r3, #100 468 00ee 0322 movs r2, #3 469 00f0 C021 movs r1, #192 470 00f2 3046 mov r0, r6 471 00f4 FFF7FEFF bl HAL_I2C_IsDeviceReady 472 00f8 0446 mov r4, r0 473 00fa 0028 cmp r0, #0 474 00fc F6D1 bne .L49 475 00fe 0123 movs r3, #1 476 0100 6422 movs r2, #100 477 0102 CDE90132 strd r3, r2, [sp, #4] 478 0106 8748 ldr r0, .L82 479 0108 0095 str r5, [sp] 480 010a 2B22 movs r2, #43 481 010c C021 movs r1, #192 482 010e 854E ldr r6, .L82 483 0110 FFF7FEFF bl HAL_I2C_Mem_Write 484 0114 8DF81440 strb r4, [sp, #20] 485 .L50: 486 0118 6423 movs r3, #100 487 011a 0322 movs r2, #3 488 011c C021 movs r1, #192 489 011e 3046 mov r0, r6 490 0120 FFF7FEFF bl HAL_I2C_IsDeviceReady 491 0124 0446 mov r4, r0 492 0126 0028 cmp r0, #0 493 0128 F6D1 bne .L50 494 012a 0123 movs r3, #1 495 012c 6422 movs r2, #100 496 012e CDE90132 strd r3, r2, [sp, #4] 497 0132 7C48 ldr r0, .L82 498 0134 0095 str r5, [sp] 499 0136 2F22 movs r2, #47 500 0138 C021 movs r1, #192 501 013a 7A4E ldr r6, .L82 502 013c FFF7FEFF bl HAL_I2C_Mem_Write 503 0140 8DF81440 strb r4, [sp, #20] 504 .L51: 505 0144 6423 movs r3, #100 506 0146 0322 movs r2, #3 507 0148 C021 movs r1, #192 508 014a 3046 mov r0, r6 509 014c FFF7FEFF bl HAL_I2C_IsDeviceReady 510 0150 0446 mov r4, r0 511 0152 0028 cmp r0, #0 512 0154 F6D1 bne .L51 513 0156 0123 movs r3, #1 514 0158 6422 movs r2, #100 515 015a CDE90132 strd r3, r2, [sp, #4] 516 015e 7148 ldr r0, .L82 517 0160 0095 str r5, [sp] 518 0162 3022 movs r2, #48 519 0164 C021 movs r1, #192 520 0166 6F4E ldr r6, .L82 ARM GAS /tmp/ccgnzMI6.s page 10 521 0168 FFF7FEFF bl HAL_I2C_Mem_Write 522 016c 8DF81440 strb r4, [sp, #20] 523 .L52: 524 0170 6423 movs r3, #100 525 0172 0322 movs r2, #3 526 0174 C021 movs r1, #192 527 0176 3046 mov r0, r6 528 0178 FFF7FEFF bl HAL_I2C_IsDeviceReady 529 017c 0446 mov r4, r0 530 017e 0028 cmp r0, #0 531 0180 F6D1 bne .L52 532 0182 0123 movs r3, #1 533 0184 6422 movs r2, #100 534 0186 CDE90132 strd r3, r2, [sp, #4] 535 018a 6648 ldr r0, .L82 536 018c 0095 str r5, [sp] 537 018e 3122 movs r2, #49 538 0190 C021 movs r1, #192 539 0192 644E ldr r6, .L82 540 0194 FFF7FEFF bl HAL_I2C_Mem_Write 541 0198 8DF81440 strb r4, [sp, #20] 542 .L53: 543 019c 6423 movs r3, #100 544 019e 0322 movs r2, #3 545 01a0 C021 movs r1, #192 546 01a2 3046 mov r0, r6 547 01a4 FFF7FEFF bl HAL_I2C_IsDeviceReady 548 01a8 0028 cmp r0, #0 549 01aa F7D1 bne .L53 550 01ac 0124 movs r4, #1 551 01ae 6423 movs r3, #100 552 01b0 CDE90143 strd r4, r3, [sp, #4] 553 01b4 5B48 ldr r0, .L82 554 01b6 0095 str r5, [sp] 555 01b8 2346 mov r3, r4 556 01ba 3222 movs r2, #50 557 01bc C021 movs r1, #192 558 01be 594E ldr r6, .L82 559 01c0 FFF7FEFF bl HAL_I2C_Mem_Write 560 01c4 8DF81440 strb r4, [sp, #20] 561 .L54: 562 01c8 6423 movs r3, #100 563 01ca 0322 movs r2, #3 564 01cc C021 movs r1, #192 565 01ce 3046 mov r0, r6 566 01d0 FFF7FEFF bl HAL_I2C_IsDeviceReady 567 01d4 0446 mov r4, r0 568 01d6 0028 cmp r0, #0 569 01d8 F6D1 bne .L54 570 01da 0123 movs r3, #1 571 01dc 6422 movs r2, #100 572 01de CDE90132 strd r3, r2, [sp, #4] 573 01e2 5048 ldr r0, .L82 574 01e4 0095 str r5, [sp] 575 01e6 3322 movs r2, #51 576 01e8 C021 movs r1, #192 577 01ea 4E4E ldr r6, .L82 ARM GAS /tmp/ccgnzMI6.s page 11 578 01ec FFF7FEFF bl HAL_I2C_Mem_Write 579 01f0 8DF81440 strb r4, [sp, #20] 580 .L55: 581 01f4 6423 movs r3, #100 582 01f6 0322 movs r2, #3 583 01f8 C021 movs r1, #192 584 01fa 3046 mov r0, r6 585 01fc FFF7FEFF bl HAL_I2C_IsDeviceReady 586 0200 0446 mov r4, r0 587 0202 0028 cmp r0, #0 588 0204 F6D1 bne .L55 589 0206 0123 movs r3, #1 590 0208 6422 movs r2, #100 591 020a CDE90132 strd r3, r2, [sp, #4] 592 020e 4548 ldr r0, .L82 593 0210 0095 str r5, [sp] 594 0212 3722 movs r2, #55 595 0214 C021 movs r1, #192 596 0216 434E ldr r6, .L82 597 0218 FFF7FEFF bl HAL_I2C_Mem_Write 598 021c 8DF81440 strb r4, [sp, #20] 599 .L56: 600 0220 6423 movs r3, #100 601 0222 0322 movs r2, #3 602 0224 C021 movs r1, #192 603 0226 3046 mov r0, r6 604 0228 FFF7FEFF bl HAL_I2C_IsDeviceReady 605 022c 0446 mov r4, r0 606 022e 0028 cmp r0, #0 607 0230 F6D1 bne .L56 608 0232 0123 movs r3, #1 609 0234 6422 movs r2, #100 610 0236 CDE90132 strd r3, r2, [sp, #4] 611 023a 3A48 ldr r0, .L82 612 023c 0095 str r5, [sp] 613 023e 3822 movs r2, #56 614 0240 C021 movs r1, #192 615 0242 384E ldr r6, .L82 616 0244 FFF7FEFF bl HAL_I2C_Mem_Write 617 0248 8DF81440 strb r4, [sp, #20] 618 .L57: 619 024c 6423 movs r3, #100 620 024e 0322 movs r2, #3 621 0250 C021 movs r1, #192 622 0252 3046 mov r0, r6 623 0254 FFF7FEFF bl HAL_I2C_IsDeviceReady 624 0258 0028 cmp r0, #0 625 025a F7D1 bne .L57 626 025c 0123 movs r3, #1 627 025e 6422 movs r2, #100 628 0260 CDE90132 strd r3, r2, [sp, #4] 629 0264 2F48 ldr r0, .L82 630 0266 0095 str r5, [sp] 631 0268 3922 movs r2, #57 632 026a C021 movs r1, #192 633 026c FFF7FEFF bl HAL_I2C_Mem_Write 634 0270 2C4C ldr r4, .L82 ARM GAS /tmp/ccgnzMI6.s page 12 635 0272 4F23 movs r3, #79 636 0274 8DF81430 strb r3, [sp, #20] 637 .L58: 638 0278 6423 movs r3, #100 639 027a 0322 movs r2, #3 640 027c C021 movs r1, #192 641 027e 2046 mov r0, r4 642 0280 FFF7FEFF bl HAL_I2C_IsDeviceReady 643 0284 0028 cmp r0, #0 644 0286 F7D1 bne .L58 645 0288 0123 movs r3, #1 646 028a 6422 movs r2, #100 647 028c CDE90132 strd r3, r2, [sp, #4] 648 0290 2448 ldr r0, .L82 649 0292 0095 str r5, [sp] 650 0294 1022 movs r2, #16 651 0296 C021 movs r1, #192 652 0298 FFF7FEFF bl HAL_I2C_Mem_Write 653 029c 214C ldr r4, .L82 654 029e 5F23 movs r3, #95 655 02a0 8DF81430 strb r3, [sp, #20] 656 .L59: 657 02a4 6423 movs r3, #100 658 02a6 0322 movs r2, #3 659 02a8 C021 movs r1, #192 660 02aa 2046 mov r0, r4 661 02ac FFF7FEFF bl HAL_I2C_IsDeviceReady 662 02b0 0028 cmp r0, #0 663 02b2 F7D1 bne .L59 664 02b4 0123 movs r3, #1 665 02b6 6422 movs r2, #100 666 02b8 CDE90132 strd r3, r2, [sp, #4] 667 02bc 1948 ldr r0, .L82 668 02be 0095 str r5, [sp] 669 02c0 1122 movs r2, #17 670 02c2 C021 movs r1, #192 671 02c4 FFF7FEFF bl HAL_I2C_Mem_Write 672 02c8 164C ldr r4, .L82 673 02ca 8023 movs r3, #128 674 02cc 8DF81430 strb r3, [sp, #20] 675 .L60: 676 02d0 6423 movs r3, #100 677 02d2 0322 movs r2, #3 678 02d4 C021 movs r1, #192 679 02d6 2046 mov r0, r4 680 02d8 FFF7FEFF bl HAL_I2C_IsDeviceReady 681 02dc 0028 cmp r0, #0 682 02de F7D1 bne .L60 683 02e0 0123 movs r3, #1 684 02e2 6422 movs r2, #100 685 02e4 CDE90132 strd r3, r2, [sp, #4] 686 02e8 0E48 ldr r0, .L82 687 02ea 0095 str r5, [sp] 688 02ec 1222 movs r2, #18 689 02ee C021 movs r1, #192 690 02f0 FFF7FEFF bl HAL_I2C_Mem_Write 691 02f4 0B4C ldr r4, .L82 ARM GAS /tmp/ccgnzMI6.s page 13 692 02f6 1223 movs r3, #18 693 02f8 8DF81430 strb r3, [sp, #20] 694 .L61: 695 02fc 6423 movs r3, #100 696 02fe 0322 movs r2, #3 697 0300 C021 movs r1, #192 698 0302 2046 mov r0, r4 699 0304 FFF7FEFF bl HAL_I2C_IsDeviceReady 700 0308 0028 cmp r0, #0 701 030a F7D1 bne .L61 702 030c 0123 movs r3, #1 703 030e 6422 movs r2, #100 704 0310 CDE90132 strd r3, r2, [sp, #4] 705 0314 0095 str r5, [sp] 706 0316 B722 movs r2, #183 707 0318 C021 movs r1, #192 708 031a 0248 ldr r0, .L82 709 031c FFF7FEFF bl HAL_I2C_Mem_Write 710 0320 07B0 add sp, sp, #28 711 @ sp needed 712 0322 F0BD pop {r4, r5, r6, r7, pc} 713 .L83: 714 .align 2 715 .L82: 716 0324 00000000 .word hi2c1 718 .section .text.si53531_set_frequency,"ax",%progbits 719 .align 1 720 .p2align 2,,3 721 .global si53531_set_frequency 722 .syntax unified 723 .thumb 724 .thumb_func 725 .fpu fpv4-sp-d16 727 si53531_set_frequency: 728 @ args = 0, pretend = 0, frame = 24 729 @ frame_needed = 0, uses_anonymous_args = 0 730 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 731 0004 8BB0 sub sp, sp, #44 732 0006 06A9 add r1, sp, #24 733 0008 FFF7FEFF bl CalcRegisters 734 000c 06AD add r5, sp, #24 735 000e 2C4C ldr r4, .L96 736 0010 0DF12009 add r9, sp, #32 737 0014 C5F11908 rsb r8, r5, #25 738 0018 0DF11706 add r6, sp, #23 739 001c 6427 movs r7, #100 740 .L86: 741 001e 15F8013B ldrb r3, [r5], #1 @ zero_extendqisi2 742 0022 8DF81730 strb r3, [sp, #23] 743 .L85: 744 0026 6423 movs r3, #100 745 0028 0322 movs r2, #3 746 002a C021 movs r1, #192 747 002c 2046 mov r0, r4 748 002e FFF7FEFF bl HAL_I2C_IsDeviceReady 749 0032 0028 cmp r0, #0 750 0034 F7D1 bne .L85 ARM GAS /tmp/ccgnzMI6.s page 14 751 0036 0123 movs r3, #1 752 0038 08EB0502 add r2, r8, r5 753 003c CDE90137 strd r3, r7, [sp, #4] 754 0040 0096 str r6, [sp] 755 0042 92B2 uxth r2, r2 756 0044 C021 movs r1, #192 757 0046 2046 mov r0, r4 758 0048 FFF7FEFF bl HAL_I2C_Mem_Write 759 004c 4D45 cmp r5, r9 760 004e E6D1 bne .L86 761 0050 1B4C ldr r4, .L96 762 0052 0DF12207 add r7, sp, #34 763 0056 3425 movs r5, #52 764 0058 4FF06408 mov r8, #100 765 .L88: 766 005c 17F8013B ldrb r3, [r7], #1 @ zero_extendqisi2 767 0060 8DF81730 strb r3, [sp, #23] 768 .L87: 769 0064 6423 movs r3, #100 770 0066 0322 movs r2, #3 771 0068 C021 movs r1, #192 772 006a 2046 mov r0, r4 773 006c FFF7FEFF bl HAL_I2C_IsDeviceReady 774 0070 0028 cmp r0, #0 775 0072 F7D1 bne .L87 776 0074 0123 movs r3, #1 777 0076 2A46 mov r2, r5 778 0078 0135 adds r5, r5, #1 779 007a CDE90138 strd r3, r8, [sp, #4] 780 007e 0096 str r6, [sp] 781 0080 C021 movs r1, #192 782 0082 2046 mov r0, r4 783 0084 ADB2 uxth r5, r5 784 0086 FFF7FEFF bl HAL_I2C_Mem_Write 785 008a 372D cmp r5, #55 786 008c E6D1 bne .L88 787 008e 2023 movs r3, #32 788 0090 0B4C ldr r4, .L96 789 0092 8DF81730 strb r3, [sp, #23] 790 .L89: 791 0096 6423 movs r3, #100 792 0098 0322 movs r2, #3 793 009a C021 movs r1, #192 794 009c 2046 mov r0, r4 795 009e FFF7FEFF bl HAL_I2C_IsDeviceReady 796 00a2 0028 cmp r0, #0 797 00a4 F7D1 bne .L89 798 00a6 0123 movs r3, #1 799 00a8 6422 movs r2, #100 800 00aa CDE90132 strd r3, r2, [sp, #4] 801 00ae 0096 str r6, [sp] 802 00b0 B122 movs r2, #177 803 00b2 C021 movs r1, #192 804 00b4 0248 ldr r0, .L96 805 00b6 FFF7FEFF bl HAL_I2C_Mem_Write 806 00ba 0BB0 add sp, sp, #44 807 @ sp needed ARM GAS /tmp/ccgnzMI6.s page 15 808 00bc BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 809 .L97: 810 .align 2 811 .L96: 812 00c0 00000000 .word hi2c1 814 .section .text.si5351_off,"ax",%progbits 815 .align 1 816 .p2align 2,,3 817 .global si5351_off 818 .syntax unified 819 .thumb 820 .thumb_func 821 .fpu fpv4-sp-d16 823 si5351_off: 824 @ args = 0, pretend = 0, frame = 8 825 @ frame_needed = 0, uses_anonymous_args = 0 826 0000 10B5 push {r4, lr} 827 0002 86B0 sub sp, sp, #24 828 0004 FF23 movs r3, #255 829 0006 0C4C ldr r4, .L102 830 0008 8DF81730 strb r3, [sp, #23] 831 .L99: 832 000c 6423 movs r3, #100 833 000e 0322 movs r2, #3 834 0010 C021 movs r1, #192 835 0012 2046 mov r0, r4 836 0014 FFF7FEFF bl HAL_I2C_IsDeviceReady 837 0018 0028 cmp r0, #0 838 001a F7D1 bne .L99 839 001c 0123 movs r3, #1 840 001e 0DF11702 add r2, sp, #23 841 0022 6421 movs r1, #100 842 0024 CDE90131 strd r3, r1, [sp, #4] 843 0028 0092 str r2, [sp] 844 002a C021 movs r1, #192 845 002c 0322 movs r2, #3 846 002e 0248 ldr r0, .L102 847 0030 FFF7FEFF bl HAL_I2C_Mem_Write 848 0034 06B0 add sp, sp, #24 849 @ sp needed 850 0036 10BD pop {r4, pc} 851 .L103: 852 .align 2 853 .L102: 854 0038 00000000 .word hi2c1 856 .section .text.si5351_on,"ax",%progbits 857 .align 1 858 .p2align 2,,3 859 .global si5351_on 860 .syntax unified 861 .thumb 862 .thumb_func 863 .fpu fpv4-sp-d16 865 si5351_on: 866 @ args = 0, pretend = 0, frame = 8 867 @ frame_needed = 0, uses_anonymous_args = 0 868 0000 10B5 push {r4, lr} ARM GAS /tmp/ccgnzMI6.s page 16 869 0002 86B0 sub sp, sp, #24 870 0004 FC23 movs r3, #252 871 0006 0C4C ldr r4, .L108 872 0008 8DF81730 strb r3, [sp, #23] 873 .L105: 874 000c 6423 movs r3, #100 875 000e 0322 movs r2, #3 876 0010 C021 movs r1, #192 877 0012 2046 mov r0, r4 878 0014 FFF7FEFF bl HAL_I2C_IsDeviceReady 879 0018 0028 cmp r0, #0 880 001a F7D1 bne .L105 881 001c 0123 movs r3, #1 882 001e 0DF11702 add r2, sp, #23 883 0022 6421 movs r1, #100 884 0024 CDE90131 strd r3, r1, [sp, #4] 885 0028 0092 str r2, [sp] 886 002a C021 movs r1, #192 887 002c 0322 movs r2, #3 888 002e 0248 ldr r0, .L108 889 0030 FFF7FEFF bl HAL_I2C_Mem_Write 890 0034 06B0 add sp, sp, #24 891 @ sp needed 892 0036 10BD pop {r4, pc} 893 .L109: 894 .align 2 895 .L108: 896 0038 00000000 .word hi2c1 898 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccgnzMI6.s page 17 DEFINED SYMBOLS *ABS*:0000000000000000 si5351.c /tmp/ccgnzMI6.s:16 .text.si5351_write8:0000000000000000 $t /tmp/ccgnzMI6.s:25 .text.si5351_write8:0000000000000000 si5351_write8 /tmp/ccgnzMI6.s:56 .text.si5351_write8:0000000000000038 $d /tmp/ccgnzMI6.s:59 .text.si5351_read8:0000000000000000 $t /tmp/ccgnzMI6.s:67 .text.si5351_read8:0000000000000000 si5351_read8 /tmp/ccgnzMI6.s:98 .text.si5351_read8:0000000000000034 $d /tmp/ccgnzMI6.s:109 .text.CalcRegisters:0000000000000000 $t /tmp/ccgnzMI6.s:117 .text.CalcRegisters:0000000000000000 CalcRegisters /tmp/ccgnzMI6.s:338 .text.CalcRegisters:0000000000000250 $d /tmp/ccgnzMI6.s:351 .text.si53531_initialize:0000000000000000 $t /tmp/ccgnzMI6.s:359 .text.si53531_initialize:0000000000000000 si53531_initialize /tmp/ccgnzMI6.s:716 .text.si53531_initialize:0000000000000324 $d /tmp/ccgnzMI6.s:719 .text.si53531_set_frequency:0000000000000000 $t /tmp/ccgnzMI6.s:727 .text.si53531_set_frequency:0000000000000000 si53531_set_frequency /tmp/ccgnzMI6.s:812 .text.si53531_set_frequency:00000000000000c0 $d /tmp/ccgnzMI6.s:815 .text.si5351_off:0000000000000000 $t /tmp/ccgnzMI6.s:823 .text.si5351_off:0000000000000000 si5351_off /tmp/ccgnzMI6.s:854 .text.si5351_off:0000000000000038 $d /tmp/ccgnzMI6.s:857 .text.si5351_on:0000000000000000 $t /tmp/ccgnzMI6.s:865 .text.si5351_on:0000000000000000 si5351_on /tmp/ccgnzMI6.s:896 .text.si5351_on:0000000000000038 $d UNDEFINED SYMBOLS HAL_I2C_IsDeviceReady HAL_I2C_Mem_Write hi2c1 HAL_I2C_Mem_Read __aeabi_ui2d __aeabi_ddiv __aeabi_d2uiz __aeabi_d2iz __aeabi_i2d __aeabi_dsub __aeabi_dmul __aeabi_dadd