Rename ms1 files to mt files (part 1 -- renames only)
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / thumb.s
1 .text
2 .code 16
3 .foo:
4 lsl r2, r1, #3
5 lsr r3, r4, #31
6 wibble/data:
7 asr r7, r0, #5
8
9 lsl r1, r2, #0
10 lsr r3, r4, #0
11 asr r4, r5, #0
12
13 lsr r6, r7, #32
14 asr r0, r1, #32
15
16 add r1, r2, r3
17 add r2, r4, #2
18 sub r3, r5, r7
19 sub r2, r4, #7
20
21 mov r4, #255
22 cmp r3, #250
23 add r6, #123
24 sub r5, #128
25
26 and r3, r5
27 eor r4, r6
28 lsl r1, r0
29 lsr r2, r3
30 asr r4, r6
31 adc r5, r7
32 sbc r0, r4
33 ror r1, r4
34 tst r2, r5
35 neg r1, r1
36 cmp r2, r3
37 cmn r1, r4
38 orr r0, r3
39 mul r4, r5
40 bic r5, r7
41 mvn r5, r5
42
43 add r1, r13
44 add r12, r2
45 add r9, r9
46 cmp r1, r14
47 cmp r8, r0
48 cmp r12, r14
49 mov r0, r9
50 mov r9, r4
51 mov r8, r8
52 bx r7
53 bx r8
54 .align 0
55 bx pc
56
57 ldr r3, [pc, #128]
58 ldr r4, bar
59
60 str r0, [r1, r2]
61 strb r1, [r2, r4]
62 ldr r5, [r6, r7]
63 ldrb r2, [r4, r5]
64
65 .align 0
66 bar:
67 strh r1, [r2, r3]
68 ldrh r3, [r4, r0]
69 ldsb r1, [r6, r7]
70 ldsh r2, [r0, r5]
71
72 str r3, [r3, #124]
73 ldr r1, [r4, #124]
74 ldr r5, [r5]
75 strb r1, [r5, #31]
76 strb r1, [r4, #5]
77 strb r2, [r6]
78
79 strh r4, [r5, #62]
80 ldrh r5, [r0, #4]
81 ldrh r3, [r2]
82
83 str r3, [r13, #1020]
84 ldr r1, [r13, #44]
85 ldr r2, [r13]
86
87 add r7, r15, #1020
88 add r4, r13, #512
89
90 add r13, #268
91 add r13, #-104
92 sub r13, #268
93 sub r13, #-108
94
95 push {r0, r1, r2, r4}
96 push {r0, r3-r7, lr}
97 pop {r3, r4, r7}
98 pop {r0-r7, r15}
99
100 stmia r3!, {r0, r1, r4-r7}
101 ldmia r0!, {r1-r7}
102
103 beq bar
104 bne bar
105 bcs bar
106 bcc bar
107 bmi bar
108 bpl bar
109 bvs bar
110 bvc bar
111 bhi bar
112 bls bar
113 bge bar
114 bgt bar
115 blt bar
116 bgt bar
117 ble bar
118 bhi bar
119 blo bar
120 bul bar
121 bal bar
122
123 close:
124 lsl r4, r5, #near - close
125 near:
126 add r2, r3, #near - close
127
128 add sp, sp, #127 << 2
129 sub sp, sp, #127 << 2
130 add r0, sp, #255 << 2
131 add r0, pc, #255 << 2
132
133 add sp, sp, #bar - .foo
134 sub sp, sp, #bar - .foo
135 add r0, sp, #bar - .foo
136 add r0, pc, #bar - .foo
137
138 add r1, #bar - .foo
139 mov r6, #bar - .foo
140 cmp r7, #bar - .foo
141
142 nop
143 nop
144
145 .arm
146 .localbar:
147 b .localbar
148 b .back
149 bl .localbar
150 bl .back
151
152 bx r0
153 swi 0x123456
154
155 .thumb
156 @ The following will be disassembled incorrectly if we do not
157 @ have a Thumb symbol defined before the first Thumb instruction:
158 morethumb:
159 adr r0, forwardonly
160
161 b .foo
162 b .back
163 bl .foo
164 bl .back
165
166 bx r0
167
168 swi 0xff
169 .align 0
170 forwardonly:
171 beq .back
172 bne .back
173 bcs .back
174 bcc .back
175 bmi .back
176 bpl .back
177 bvs .back
178 bvc .back
179 bhi .back
180 bls .back
181 bge .back
182 bgt .back
183 blt .back
184 bgt .back
185 ble .back
186 bhi .back
187 blo .back
188 bul .back
189
190 .back:
191 bl .local
192 .space (1 << 11) @ leave space to force long offsets
193 .local:
194 bl .back
195
196 ldr r0, .target
197 ldr r0, .target
198 ldr r0, [pc, #4]
199 ldr r0, [pc, #4]
200 .target:
201 nop @ pad for a.out
202 nop
This page took 0.068905 seconds and 4 git commands to generate.