gas:
[deliverable/binutils-gdb.git] / gas / testsuite / gas / arm / thumb.s
CommitLineData
252b5132
RH
1 .text
2 .code 16
3.foo:
4 lsl r2, r1, #3
5 lsr r3, r4, #31
6wibble/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
66bar:
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
d1a1bf19 121 bal bar
252b5132
RH
122
123close:
124 lsl r4, r5, #near - close
125near:
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
55cf6793 148 b .back
252b5132 149 bl .localbar
55cf6793 150 bl .back
252b5132
RH
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:
158morethumb:
159 adr r0, forwardonly
160
161 b .foo
55cf6793 162 b .back
252b5132 163 bl .foo
55cf6793 164 bl .back
252b5132
RH
165
166 bx r0
167
168 swi 0xff
169 .align 0
170forwardonly:
55cf6793
ZW
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
252b5132
RH
189
190.back:
191 bl .local
192 .space (1 << 11) @ leave space to force long offsets
193.local:
194 bl .back
c19d1205
ZW
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.26776 seconds and 4 git commands to generate.