mn10300.s revision 1.1
1	.text
2	.global _main
3	.global add_tests
4	.global bCC_tests
5	.global bit_tests
6	.global cmp_tests
7	.global extend_tests
8	.global extended_tests
9	.global logical_tests
10	.global loop_tests
11	.global mov_tests_1
12	.global mov_tests_2
13	.global mov_tests_3
14	.global mov_tests_4
15	.global movbu_tests
16	.global movhu_tests
17	.global movm_tests
18	.global muldiv_tests
19	.global other_tests
20	.global shift_tests
21	.global sub_tests
22
23_main:
24	nop
25
26add_tests:
27	add d1,d2
28	add d2,a3
29	add a3,a2
30	add a2,d1
31	add 16,d1
32	add 256,d2
33	add 131071,d3
34	add 16,a1
35	add 256,a2
36	add 131071,a3
37	add 16,sp
38	add 256,sp
39	add 131071,sp
40	addc d1,d2
41
42bCC_tests:
43	beq bCC_tests
44	bne bCC_tests
45	bgt bCC_tests
46	bge bCC_tests
47	ble bCC_tests
48	blt bCC_tests
49	bhi bCC_tests
50	bcc bCC_tests
51	bls bCC_tests
52	bcs bCC_tests
53	bvc bCC_tests
54	bvs bCC_tests
55	bnc bCC_tests
56	bns bCC_tests
57	bra bCC_tests
58
59bit_tests:
60	btst 64,d1
61	btst 8192,d2
62	btst 131071,d3
63	btst 64,(8,a1)
64	btst 64,(0x1ffff)
65	bset d1,(a2)
66	bset 64,(8,a1)
67	bset 64,(0x1ffff)
68	bclr d1,(a2)
69	bclr 64,(8,a1)
70	bclr 64,(0x1ffff)
71
72cmp_tests:
73	cmp d1,d2
74	cmp d2,a3
75	cmp a3,d3
76	cmp a3,a2
77	cmp 16,d3
78	cmp 256,d2
79	cmp 131071,d1
80	cmp 16,a3
81	cmp 256,a2
82	cmp 131071,a1
83
84
85extend_tests:
86	ext d1
87	extb d2
88	extbu d3
89	exth d2
90	exthu d1
91
92extended_tests:
93	putx d1
94	getx d2
95	mulq d1,d2
96	mulq 16,d2
97	mulq 256,d3
98	mulq 131071,d3
99	mulqu d1,d2
100	mulqu 16,d2
101	mulqu 256,d3
102	mulqu 131071,d3
103	sat16 d2,d3
104	sat24 d3,d2
105	bsch d1,d2
106
107logical_tests:
108	and d1,d2
109	and 127,d2
110	and 32767,d3
111	and 131071,d3
112	and 32767,psw
113	or d1,d2
114	or 127,d2
115	or 32767,d3
116	or 131071,d3
117	or 32767,psw
118	xor d1,d2
119	xor 32767,d3
120	xor 131071,d3
121	not d3
122
123loop_tests:
124	leq
125	lne
126	lgt
127	lge
128	lle
129	llt
130	lhi
131	lcc
132	lls
133	lcs
134	lra
135	setlb
136
137mov_tests_1:
138	mov d1,d2
139	mov d1,a2
140	mov a2,d1
141	mov a2,a1
142	mov sp,a2
143	mov a1,sp
144	mov d2,psw
145	mov mdr,d1
146	mov d2,mdr
147	mov (a2),d1
148	mov (8,a2),d1
149	mov (256,a2),d1
150	mov (131071,a2),d1
151	mov (8,sp),d1
152	mov (256,sp),d1
153	mov psw,d3
154
155mov_tests_2:
156        mov (131071,sp),d1
157	mov (d1,a1),d2
158	mov (32768),d1
159	mov (131071),d1
160	mov (a2),a1
161	mov (8,a2),a1
162	mov (256,a2),a1
163	mov (131071,a2),a1
164	mov (8,sp),a1
165	mov (256,sp),a1
166	mov (131071,sp),a1
167	mov (d1,a1),a2
168        mov (32768),a1
169        mov (131071),a1
170        mov (32,a1),sp
171
172mov_tests_3:
173        mov d1,(a2)
174        mov d1,(32,a2)
175	mov d1,(256,a2)
176	mov d1,(131071,a2)
177	mov d1,(32,sp)
178	mov d1,(32768,sp)
179	mov d1,(131071,sp)
180	mov d1,(d2,a2)
181	mov d1,(128)
182	mov d1,(131071)
183	mov a1,(a2)
184	mov a1,(32,a2)
185	mov a1,(256,a2)
186	mov a1,(131071,a2)
187	mov a1,(32,sp)
188
189mov_tests_4:
190	mov a1,(32768,sp)
191	mov a1,(131071,sp)
192	mov a1,(d2,a2)
193	mov a1,(128)
194	mov a1,(131071)
195	mov sp,(32,a1)
196	mov 8,d1
197	mov 256,d1
198	mov 131071,d1
199	mov 8,a1
200	mov 256,a1
201	mov 131071,a1
202
203movbu_tests:
204	movbu (a2),d1
205	movbu (8,a2),d1
206	movbu (256,a2),d1
207	movbu (131071,a2),d1
208	movbu (8,sp),d1
209	movbu (256,sp),d1
210	movbu (131071,sp),d1
211	movbu (d1,a1),d2
212	movbu (32768),d1
213	movbu (131071),d1
214	movbu d1,(a2)
215	movbu d1,(32,a2)
216	movbu d1,(256,a2)
217	movbu d1,(131071,a2)
218	movbu d1,(32,sp)
219	movbu d1,(32768,sp)
220	movbu d1,(131071,sp)
221	movbu d1,(d2,a2)
222	movbu d1,(128)
223	movbu d1,(131071)
224
225movhu_tests:
226	movhu (a2),d1
227	movhu (8,a2),d1
228	movhu (256,a2),d1
229	movhu (131071,a2),d1
230	movhu (8,sp),d1
231	movhu (256,sp),d1
232	movhu (131071,sp),d1
233	movhu (d1,a1),d2
234	movhu (32768),d1
235	movhu (131071),d1
236	movhu d1,(a2)
237	movhu d1,(32,a2)
238	movhu d1,(256,a2)
239	movhu d1,(131071,a2)
240	movhu d1,(32,sp)
241	movhu d1,(32768,sp)
242	movhu d1,(131071,sp)
243	movhu d1,(d2,a2)
244	movhu d1,(128)
245	movhu d1,(131071)
246
247movm_tests:
248	movm (sp),[a2,a3]
249	movm (sp),[d2,d3,a2,a3,other]
250	movm [a2,a3],(sp)
251	movm [d2,d3,a2,a3,other],(sp)
252
253
254muldiv_tests:
255	mul d1,d2
256	mulu d2,d3
257	div d3,d3
258	divu d3,d2
259
260other_tests:
261	clr d2
262	inc d1
263	inc a2
264	inc4 a3
265	jmp (a2)
266	jmp _main
267	jmp _start
268	call _main,[a2,a3],9
269	call _start,[a2,a3],32
270	calls (a2)
271	calls _main
272	calls _start
273	ret [a2,a3],7
274	retf [a2,a3],5
275	rets
276	rti
277	trap
278	nop
279	rtm
280
281shift_tests:
282	asr d1,d2
283	asr 4,d2
284	lsr d2,d3
285	lsr 4,d3
286	asl d3,d2
287	asl 4,d2
288	asl2 d2
289	ror d1
290	rol d2
291
292sub_tests:
293	sub d1,d2
294	sub d2,a3
295	sub a3,d3
296	sub a3,a2
297	sub 131071,d2
298	sub 131071,a1
299	subc d1,d2
300
301