1 |
205 |
julius |
#name: ARM Thumb-compat pseudos
|
2 |
|
|
#objdump: -dr --prefix-addresses --show-raw-insn
|
3 |
|
|
#as:
|
4 |
|
|
|
5 |
|
|
# Test the ARM pseudo instructions that exist for Thumb source compatibility
|
6 |
|
|
|
7 |
|
|
.*: +file format .*arm.*
|
8 |
|
|
|
9 |
|
|
Disassembly of section .text:
|
10 |
|
|
|
11 |
|
|
0+00 <[^>]*> 91a00000 ? movls r0, r0
|
12 |
|
|
0+04 <[^>]*> e1a09000 ? mov r9, r0
|
13 |
|
|
0+08 <[^>]*> e1a00009 ? mov r0, r9
|
14 |
|
|
0+0c <[^>]*> e1a0c00e ? mov ip, lr
|
15 |
|
|
0+10 <[^>]*> 91b09019 ? lslsls r9, r9, r0
|
16 |
|
|
0+14 <[^>]*> 91a00910 ? lslls r0, r0, r9
|
17 |
|
|
0+18 <[^>]*> e1b00880 ? lsls r0, r0, #17
|
18 |
|
|
0+1c <[^>]*> e1a00889 ? lsl r0, r9, #17
|
19 |
|
|
0+20 <[^>]*> 91b09039 ? lsrsls r9, r9, r0
|
20 |
|
|
0+24 <[^>]*> 91a00930 ? lsrls r0, r0, r9
|
21 |
|
|
0+28 <[^>]*> e1b008a0 ? lsrs r0, r0, #17
|
22 |
|
|
0+2c <[^>]*> e1a008a9 ? lsr r0, r9, #17
|
23 |
|
|
0+30 <[^>]*> 91b09059 ? asrsls r9, r9, r0
|
24 |
|
|
0+34 <[^>]*> 91a00950 ? asrls r0, r0, r9
|
25 |
|
|
0+38 <[^>]*> e1b008c0 ? asrs r0, r0, #17
|
26 |
|
|
0+3c <[^>]*> e1a008c9 ? asr r0, r9, #17
|
27 |
|
|
0+40 <[^>]*> 91b09079 ? rorsls r9, r9, r0
|
28 |
|
|
0+44 <[^>]*> 91a00970 ? rorls r0, r0, r9
|
29 |
|
|
0+48 <[^>]*> e1b008e0 ? rors r0, r0, #17
|
30 |
|
|
0+4c <[^>]*> e1a008e9 ? ror r0, r9, #17
|
31 |
|
|
0+50 <[^>]*> e2690000 ? rsb r0, r9, #0
|
32 |
|
|
0+54 <[^>]*> e2709000 ? rsbs r9, r0, #0
|
33 |
|
|
0+58 <[^>]*> 92600000 ? rsbls r0, r0, #0
|
34 |
|
|
0+5c <[^>]*> 92799000 ? rsbsls r9, r9, #0
|
35 |
|
|
0+60 <[^>]*> e92d000e ? push {r1, r2, r3}
|
36 |
|
|
0+64 <[^>]*> 992d8154 ? pushls {r2, r4, r6, r8, pc}
|
37 |
|
|
0+68 <[^>]*> e8bd000e ? pop {r1, r2, r3}
|
38 |
|
|
0+6c <[^>]*> 98bd8154 ? popls {r2, r4, r6, r8, pc}
|
39 |
|
|
0+70 <[^>]*> e0000001 ? and r0, r0, r1
|
40 |
|
|
0+74 <[^>]*> e0200001 ? eor r0, r0, r1
|
41 |
|
|
0+78 <[^>]*> e0400001 ? sub r0, r0, r1
|
42 |
|
|
0+7c <[^>]*> e0600001 ? rsb r0, r0, r1
|
43 |
|
|
0+80 <[^>]*> e0800001 ? add r0, r0, r1
|
44 |
|
|
0+84 <[^>]*> e0a00001 ? adc r0, r0, r1
|
45 |
|
|
0+88 <[^>]*> e0c00001 ? sbc r0, r0, r1
|
46 |
|
|
0+8c <[^>]*> e0e00001 ? rsc r0, r0, r1
|
47 |
|
|
0+90 <[^>]*> e1800001 ? orr r0, r0, r1
|
48 |
|
|
0+94 <[^>]*> e1c00001 ? bic r0, r0, r1
|
49 |
|
|
0+98 <[^>]*> e0000091 ? mul r0, r1, r0
|
50 |
|
|
0+9c <[^>]*> e1a00000 ? nop ; \(mov r0, r0\)
|
51 |
|
|
0+a0 <[^>]*> e1a00069 ? rrx r0, r9
|
52 |
|
|
0+a4 <[^>]*> e1b09060 ? rrxs r9, r0
|
53 |
|
|
0+a8 <[^>]*> e1a00000 ? nop ; \(mov r0, r0\)
|
54 |
|
|
0+ac <[^>]*> e1a00000 ? nop ; \(mov r0, r0\)
|