1 .text 2 .thumb 3 .syntax unified 4thumb2_relax: 5 .macro ls op w=".w" 61: 7 \op r1, [r5] 8 \op r1, [r5, #(far_\op + 4)] 9 \op r1, [r5, #far_\op] 10 \op\w r1, [r5, #far_\op] 11 \op r1, [r5, #-far_\op] 12 \op r1, [r5], #far_\op 13 \op r1, [r5], #far_\op 14 \op r1, [r5, #far_\op]! 15 \op r1, [r5, #-far_\op]! 16 \op r1, [r5, r4] 17 \op r1, [r9, ip] 18 \op r1, 1f 19 \op\w r1, 1f 20 \op r8, 1f 21 \op r1, 2f 22 \op r1, 1b 23 .align 2 241: 25 nop 262: 27 .endm 28.equ far_ldrb, 0x1f 29.equ far_ldrsb, 0x1f 30.equ far_ldrh, 0x3e 31.equ far_ldrsh, 0x3e 32.equ far_ldr, 0x7c 33 ls ldrb 34 ls ldrsb 35 ls ldrh 36 ls ldrsh 37 ls ldr 38 .purgem ls 391: 40 adr r1, 1f 41 adr.w r1, 1f 42 adr r8, 1f 43 adr r1, 2f 44 adr r1, 1b 45.align 2 461: 47 nop 482: 49 nop 50 @ Relaxation with conflicting alignment requirements. 51 adr r1, 1f 52 adr r1, 2f 531: 54 nop 552: 56 nop 57