Commit | Line | Data |
---|---|---|
5be8be5d DG |
1 | .syntax unified |
2 | ||
3 | @ Loads, ARM ================================================================ | |
4 | .arm | |
5 | ||
6 | @ LDR (immediate, ARM) | |
7 | @ LDR (literal) | |
8 | @No unpredictable or undefined combinations. | |
9 | ||
10 | @ LDR (register) | |
11 | ldr r0,[r1,pc, LSL #2] @ Unpredictable | |
12 | ldr r0,[r1,pc, LSL #2]! @ ditto | |
13 | ldr r0,[r1],pc, LSL #2 @ ditto | |
14 | ldr r0,[pc,r1, LSL #2]! @ ditto | |
15 | ldr r0,[pc],r1, LSL #2 @ ditto | |
16 | ||
17 | @ LDRB (immediate, ARM) | |
18 | ldrb pc,[r0,#4] @ Unpredictable | |
19 | ldrb pc,[r0],#4 @ ditto | |
20 | ldrb pc,[r0,#4]! @ ditto | |
21 | ||
22 | @ LDRB (literal) | |
23 | ldrb pc, label @ Unpredictable | |
24 | ldrb pc,[pc,#-0] @ ditto | |
25 | ||
26 | @ LDRB (register) | |
27 | ldrb pc,[r0,r1, LSL #2] @ Unpredictable | |
28 | ldrb pc,[r0,r1, LSL #2]! @ ditto | |
29 | ldrb pc,[r0],r1, LSL #2 @ ditto | |
30 | ldrb r0,[r1,pc, LSL #2] @ ditto | |
31 | ldrb r0,[r1,pc, LSL #2]! @ ditto | |
32 | ldrb r0,[r1],pc, LSL #2 @ ditto | |
33 | ldrb r0,[pc,r1, LSL #2]! @ ditto | |
34 | ldrb r0,[pc],r1, LSL #2 @ ditto | |
35 | ||
36 | @ LDRBT | |
37 | ldrbt pc,[r0],#4 @ Unpredictable | |
38 | ldrbt r0,[pc],#4 @ ditto | |
39 | ldrbt pc,[r0],r1, LSL #4 @ ditto | |
40 | ldrbt r0,[pc],r1, LSL #4 @ ditto | |
41 | ldrbt r0,[r1],pc, LSL #4 @ ditto | |
42 | ||
43 | @ LDRD (immediate) | |
44 | ldrd r0,pc,[r1,#4] @ Unpredictable | |
45 | ldrd r0,pc,[r1],#4 @ ditto | |
46 | ldrd r0,pc,[r1,#4]! @ ditto | |
47 | ||
48 | @ LDRD (literal) | |
49 | ldrd r0,pc, label @ Unpredictable | |
50 | ldrd r0,pc,[PC,#-0] @ ditto | |
51 | ||
52 | @ LDRD (register) | |
53 | ldrd r0,pc,[r1,r2] @ Unpredictable | |
54 | ldrd r0,pc,[r1,r2]! @ ditto | |
55 | ldrd r0,pc,[r1],r2 @ ditto | |
56 | ldrd r0,r1,[r2,pc] @ ditto | |
57 | ldrd r0,r1,[r2,pc]! @ ditto | |
58 | ldrd r0,r1,[r2],pc @ ditto | |
59 | ldrd r0,r1,[pc,r2]! @ ditto | |
60 | ldrd r0,r1,[pc],r2 @ ditto | |
61 | ||
62 | @ LDREX | |
63 | ldrex pc,[r0] @ Unpredictable | |
64 | ldrex r0,[pc] @ ditto | |
65 | ||
66 | @ LDREXB | |
67 | ldrexb pc,[r0] @ Unpredictable | |
68 | ldrexb r0,[pc] @ ditto | |
69 | ||
70 | @ LDREXD | |
71 | ldrexd r0,r1,[pc] @ Unpredictable | |
72 | ||
73 | @ LDREXH | |
74 | ldrexh pc,[r0] @ Unpredictable | |
75 | ldrexh r0,[pc] @ ditto | |
76 | ||
77 | @ LDRH (immediate, ARM) | |
78 | ldrh pc,[r0,#4] @ Unpredictable | |
79 | ldrh pc,[r0],#4 @ ditto | |
80 | ldrh pc,[r0,#4]! @ ditto | |
81 | ||
82 | @ LDRH (literal) | |
83 | ldrh pc, label @ Unpredictable | |
84 | ldrh pc,[pc,#-0] @ ditto | |
85 | ||
86 | @ LDRH (register) | |
87 | ldrh pc,[r0,r1] @ Unpredictable | |
88 | ldrh pc,[r0,r1]! @ ditto | |
89 | ldrh pc,[r0],r1 @ ditto | |
90 | ldrh r0,[r1,pc] @ ditto | |
91 | ldrh r0,[r1,pc]! @ ditto | |
92 | ldrh r0,[r1],pc @ ditto | |
93 | ldrh r0,[pc,r1]! @ ditto | |
94 | ldrh r0,[pc],r1 @ ditto | |
95 | ||
96 | @ LDRHT | |
97 | ldrht pc, [r0], #4 @ Unpredictable | |
98 | ldrht r0, [pc], #4 @ ditto | |
99 | ldrht pc, [r0], r1 @ ditto | |
100 | ldrht r0, [pc], r1 @ ditto | |
101 | ldrht r0, [r1], pc @ ditto | |
102 | ||
103 | @ LDRSB (immediate) | |
104 | ldrsb pc,[r0,#4] @ Unpredictable | |
105 | ldrsb pc,[r0],#4 @ ditto | |
106 | ldrsb pc,[r0,#4]! @ ditto | |
107 | ||
108 | @ LDRSB (literal) | |
109 | ldrsb pc, label @ Unpredictable | |
110 | ldrsb pc,[pc,#-0] @ ditto | |
111 | ||
112 | @ LDRSB (register) | |
113 | ldrsb pc,[r0,r1] @ Unpredictable | |
114 | ldrsb pc,[r0,r1]! @ ditto | |
115 | ldrsb pc,[r0],r1 @ ditto | |
116 | ldrsb r0,[r1,pc] @ ditto | |
117 | ldrsb r0,[r1,pc]! @ ditto | |
118 | ldrsb r0,[r1],pc @ ditto | |
119 | ldrsb r0,[pc,r1]! @ ditto | |
120 | ldrsb r0,[pc],r1 @ ditto | |
121 | ||
122 | @ LDRSBT | |
123 | ldrsbt pc, [r0], #4 @ Unpredictable | |
124 | ldrsbt r0, [pc], #4 @ ditto | |
125 | ldrsbt pc, [r0], r1 @ ditto | |
126 | ldrsbt r0, [pc], r1 @ ditto | |
127 | ldrsbt r0, [r1], pc @ ditto | |
128 | ||
129 | @ LDRSH (immediate) | |
130 | ldrsh pc,[r0,#4] @ Unpredictable | |
131 | ldrsh pc,[r0],#4 @ ditto | |
132 | ldrsh pc,[r0,#4]! @ ditto | |
133 | ||
134 | @ LDRSH (literal) | |
135 | ldrsh pc, label @ Unpredictable | |
136 | ldrsh pc,[pc,#-0] @ ditto | |
137 | ||
138 | @ LDRSH (register) | |
139 | ldrsh pc,[r0,r1] @ Unpredictable | |
140 | ldrsh pc,[r0,r1]! @ ditto | |
141 | ldrsh pc,[r0],r1 @ ditto | |
142 | ldrsh r0,[r1,pc] @ ditto | |
143 | ldrsh r0,[r1,pc]! @ ditto | |
144 | ldrsh r0,[r1],pc @ ditto | |
145 | ldrsh r0,[pc,r1]! @ ditto | |
146 | ldrsh r0,[pc],r1 @ ditto | |
147 | ||
148 | @ LDRSHT | |
149 | ldrsht pc, [r0], #4 @ Unpredictable | |
150 | ldrsht r0, [pc], #4 @ ditto | |
151 | ldrsht pc, [r0], r1 @ ditto | |
152 | ldrsht r0, [pc], r1 @ ditto | |
153 | ldrsht r0, [r1], pc @ ditto | |
154 | ||
155 | @ LDRT | |
156 | ldrt pc, [r0], #4 @ Unpredictable | |
157 | ldrt r0, [pc], #4 @ ditto | |
158 | ldrt pc,[r0],r1, LSL #4 @ ditto | |
159 | ldrt r0,[pc],r1, LSL #4 @ ditto | |
160 | ldrt r0,[r1],pc, LSL #4 @ ditto | |
161 | ||
23a10334 | 162 | |
5be8be5d DG |
163 | @ Stores, ARM ================================================================ |
164 | ||
165 | @ STR (immediate, ARM) | |
23a10334 | 166 | str r0,[pc],#4 @ Unpredictable |
5be8be5d DG |
167 | str r0,[pc,#4]! @ ditto |
168 | ||
169 | @ STR (register) | |
170 | str r0,[r1,pc, LSL #4] @ Unpredictable | |
171 | str r0,[r1,pc, LSL #4]! @ ditto | |
172 | str r0,[r1],pc, LSL #4 @ ditto | |
173 | ||
174 | @ STRB (immediate, ARM) | |
175 | strb pc,[r0,#4] @ Unpredictable | |
176 | strb pc,[r0],#4 @ ditto | |
177 | strb pc,[r0,#4]! @ ditto | |
178 | strb r0,[pc],#4 @ ditto | |
179 | strb r0,[pc,#4]! @ ditto | |
180 | ||
181 | @ STRB (register) | |
182 | strb pc,[r0,r1, LSL #4] @ Unpredictable | |
183 | strb pc,[r0,r1, LSL #4]! @ ditto | |
184 | strb pc,[r0],r1, LSL #4 @ ditto | |
185 | strb r1,[r0,pc, LSL #4] @ ditto | |
186 | strb r1,[r0,pc, LSL #4]! @ ditto | |
187 | strb r1,[r0],pc, LSL #4 @ ditto | |
188 | strb r0,[pc,r1, LSL #4]! @ ditto | |
189 | strb r0,[pc],r1, LSL #4 @ ditto | |
190 | ||
191 | @ STRBT | |
192 | strbt pc,[r0],#4 @ Unpredictable | |
193 | strbt r0,[pc],#4 @ ditto | |
194 | strbt pc,[r0],r1, LSL #4 @ ditto | |
195 | strbt r0,[pc],r1, LSL #4 @ ditto | |
196 | strbt r0,[r1],pc, LSL #4 @ ditto | |
197 | ||
198 | @ STRD (immediate) | |
199 | strd r0,pc,[r1,#4] @ ditto | |
200 | strd r0,pc,[r1],#4 @ ditto | |
201 | strd r0,pc,[r1,#4]! @ ditto | |
202 | strd r0,r1,[pc],#4 @ ditto | |
203 | strd r0,r1,[pc,#4]! @ ditto | |
204 | ||
205 | @STRD (register) | |
206 | strd r0,pc,[r1,r2] @ Unpredictable | |
207 | strd r0,pc,[r1,r2]! @ ditto | |
208 | strd r0,pc,[r1],r2 @ ditto | |
209 | strd r0,r1,[r2,pc] @ ditto | |
210 | strd r0,r1,[r2,pc]! @ ditto | |
211 | strd r0,r1,[r2],pc @ ditto | |
212 | strd r0,r1,[pc,r2]! @ ditto | |
213 | strd r0,r1,[pc],r2 @ ditto | |
214 | ||
215 | @ STREX | |
216 | strex pc,r0,[r1] @ Unpredictable | |
217 | strex r0,pc,[r1] @ ditto | |
218 | strex r0,r1,[pc] @ ditto | |
219 | ||
220 | @ STREXB | |
221 | strexb pc,r0,[r1] @ Unpredictable | |
222 | strexb r0,pc,[r1] @ ditto | |
223 | strexb r0,r1,[pc] @ ditto | |
224 | ||
225 | @ STREXD | |
226 | strexd pc,r0,r1,[r2] @ Unpredictable | |
227 | strexd r0,r1,r2,[pc] @ ditto | |
228 | ||
229 | @ STREXH | |
230 | strexh pc,r0,[r1] @ Unpredictable | |
231 | strexh r0,pc,[r1] @ ditto | |
232 | strexh r0,r1,[pc] @ ditto | |
233 | ||
234 | @ STRH (immediate, ARM) | |
235 | strh pc,[r0,#4] @ Unpredictable | |
236 | strh pc,[r0],#4 @ ditto | |
237 | strh pc,[r0,#4]! @ ditto | |
238 | strh r0,[pc],#4 @ ditto | |
239 | strh r0,[pc,#4]! @ ditto | |
240 | ||
241 | @ STRH (register) | |
242 | strh pc,[r0,r1] @ Unpredictable | |
243 | strh pc,[r0,r1]! @ ditto | |
244 | strh pc,[r0],r1 @ ditto | |
245 | strh r0,[r1,pc] @ ditto | |
246 | strh r0,[r1,pc]! @ ditto | |
247 | strh r0,[r1],pc @ ditto | |
248 | strh r0,[pc,r1]! @ ditto | |
249 | strh r0,[pc],r1 @ ditto | |
250 | ||
251 | @ STRHT | |
252 | strht pc, [r0], #4 @ Unpredictable | |
253 | strht r0, [pc], #4 @ ditto | |
254 | strht pc, [r0], r1 @ ditto | |
255 | strht r0, [pc], r1 @ ditto | |
256 | strht r0, [r1], pc @ ditto | |
257 | ||
258 | @ STRT | |
259 | strt r0, [pc], #4 @ Unpredictable | |
260 | strt r0, [pc],r1, LSL #4 @ ditto | |
261 | strt r0, [r1],pc, LSL #4 @ ditto | |
262 | ||
263 | @ ============================================================================ | |
264 | ||
265 | .label: | |
266 | ldr r0, [r1] |