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