1 .thumb 2 .syntax unified 3 .thumb_func 4thumb2_ldr: 5 # These must be encoded into mov.w despite constant and register being 6 # small enough as ldr should not generate a flag-setting instruction. 7 ldr r0,=0x00 8 ldr r1,=0x08 9 ldr r2,=0x51 10 ldr r3,=0x1F 11 ldr r4,=0x2F 12 ldr r5,=0x3F 13 ldr r6,=0x80 14 ldr r7,=0xFF 15 # These shall be encoded into mov.w since register cannot be encoded in 16 # 3 bits 17 ldr r8,=0x00 18 ldr r9,=0x08 19 ldr r10,=0x51 20 ldr r11,=0x1F 21 ldr r12,=0x2F 22 ldr r14,=0x80 23 # These shall be encoded into movw since immediate cannot be encoded 24 # with mov.w 25 ldr r8,=0xFFFF 26 ldr r9,=0xF0F0 27 # These should be encoded as ldr since mov immediate is unpredictable 28 # for sp and pc 29 ldr r13,=0x3F 30 ldr r15,=0xFF 31