1 .text 2 .arch armv6t2 3 .syntax unified 4 .global _start 5 .type _start, %function 6_start: 7base1: 8arm1: 9 movw r0, #:lower16:arm2 10 movt r1, #:upper16:arm2 11 movw r2, #:lower16:(arm2 - arm1) 12 movt r3, #:upper16:(arm2 - arm1) 13 movw r4, #:lower16:thumb2 14 movt r5, #:upper16:thumb2 15 movw r6, #:lower16:(thumb2 - arm1) 16 movt r7, #:upper16:(thumb2 - arm1) 17 .thumb 18 .type thumb1, %function 19 .thumb_func 20thumb1: 21 movw r7, #:lower16:arm2 22 movt r6, #:upper16:arm2 23 movw r5, #:lower16:(arm2 - arm1) 24 movt r4, #:upper16:(arm2 - arm1) 25 movw r3, #:lower16:thumb2 26 movt r2, #:upper16:thumb2 27 movw r1, #:lower16:(thumb2 - arm1) 28 movt r0, #:upper16:(thumb2 - arm1) 29 30 .section .far, "ax", %progbits 31 .arm 32arm2: 33 movw r0, #:lower16:(arm1 - arm2) 34 movt r0, #:upper16:(arm1 - arm2) 35 movw r0, #:lower16:(thumb1 - arm2) 36 movt r0, #:upper16:(thumb1 - arm2) 37 .thumb 38 .type thumb2, %function 39 .thumb_func 40thumb2: 41 movw r0, #:lower16:(arm1 - arm2) 42 movt r0, #:upper16:(arm1 - arm2) 43 movw r0, #:lower16:(thumb1 - arm2) 44 movt r0, #:upper16:(thumb1 - arm2) 45