• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Opcode test for PDP-11.
2# Copyright (C) 2002-2014 Free Software Foundation, Inc.
3#
4# This file is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not, write to the Free Software
16# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
17# MA 02110-1301, USA.
18
19foo:	.word	0
20bar:	.word	foo
21
22start:	halt
23start2:	wait
24	rti
25	bpt
26	iot
27	reset
28	rtt
29	mfpt
30	jmp	(r1)+
31	rts	r2
32	spl	3
33	nop
34	clc
35	clv
36	clz
37	cln
38	ccc
39	sec
40	sev
41	sez
42	sen
43	scc
44	swab	pc
451:	br	1b
46	bne	1b
47	beq	1b
48	bge	1b
49	blt	1b
50	bgt	1b
51	ble	1b
52	jsr	pc,@(sp)+
53	clr	-(sp)
54	com	r0
55	inc	r1
56	dec	r2
57	neg	r3
58	adc	r4
59	sbc	r5
60	tst	(sp)+
61	ror	r5
62	rol	r4
63	asr	@10(r4)
64	asl	4(r5)
65	mark	2
66	mfpi	sp
67	mtpi	@$402
68	sxt	r3
69	csm	2(r4)
70	tstset	(r3)
71	wrtlck	2(r4)
72	mov	r0,r1
73	cmp	(r0),(r4)
74	bit	(r0)+,-(r3)
75	bic	foo,@bar
76	bis	@(r1)+,@-(r5)
77	add	4(r3),@6(r3)
78	mul	$10,r2
79	div	1b,r4
80	ash	$3,r4
81	ashc	$7,r2
82	xor	r3,10(sp)
83	fadd	r2
84	fsub	r1
85	fmul	r4
86	fdiv	r0
87	l2dr	r1
88	movc
89	movrc
90	movtc
91	locc
92	skpc
93	scanc
94	spanc
95	cmpc
96	matc
97	addn
98	subn
99	cmpn
100	cvtnl
101	cvtpn
102	cvtnp
103	ashn
104	cvtln
105	l3dr	r5
106	addp
107	subp
108	cmpp
109	cvtpl
110	mulp
111	divp
112	ashp
113	cvtlp
114	movci
115	movrci
116	movtci
117	locci
118	skpci
119	scanci
120	spanci
121	cmpci
122	matci
123	addni
124	subni
125	cmpni
126	cvtnli
127	cvtpni
128	cvtnpi
129	ashni
130	cvtlni
131	addpi
132	subpi
133	cmppi
134	cvtpli
135	mulpi
136	divpi
137	ashpi
138	cvtlpi
139	med
1402:	xfc	42
141	sob	r0,2b
142	bpl	2b
143	bmi	2b
144	bhi	2b
145	blos	2b
146	bvc	2b
147	bvs	2b
148	bcc	2b
149	bcs	2b
150	emt	69
151	sys	42
152	clrb	(r3)
153	comb	@-(r5)
154	incb	@(sp)+
155	decb	r3
156	negb	foo
157	adcb	@bar
158	sbcb	-(r2)
159	tstb	(r4)+
160	rorb	r1
161	rolb	r2
162	asrb	r3
163	aslb	r4
164	mtps	$0340
165	mfpd	sp
166	mtpd	(r0)
167	mfps	-(sp)
168	movb	$17,foo
169	cmpb	r1,(r2)
170	bitb	$0117,r5
171	bicb	$1,bar
172	bisb	$2,@bar
173	sub	r0,r5
174	cfcc
175	setf
176	seti
177	ldub
178	setd
179	setl
180	ldfps	$1
181	stfps	-(sp)
182	stst	(r2)
183	clrf	ac3
184	tstf	ac1
185	absf	ac2
186	negf	ac0
187	mulf	$0f0.25,ac1
188	modf	ac5,ac0
189	addf	foo,ac2
190	ldf	@bar,ac1
191	subf	ac4,ac3
192	cmpf	ac5,ac2
193	stf	ac1,-(sp)
194	divf	$0f20.0,ac0
195	stexp	ac2,r5
196	stcfi	ac3,r0
197	stcff	ac3,ac5
198	ldexp	r0,ac2
199	ldcif	r2,ac3
200	ldcff	ac5,ac2
201
202# aliases for some of these opcodes:
203
204	l2d	r1
2053:	l3d	r4
206	bhis	3b
207	blo	3b
208	trap	99
209	clrd	ac3
210	tstd	ac2
211	absd	ac1
212	negd	ac0
213	muld	ac5,ac2
214	modd	ac4,ac0
215	addd	ac4,ac3
216	ldd	bar,ac0
217	subd	foo,ac2
218	cmpd	ac5,ac2
219	std	ac1,(r2)
220	divd	(sp)+,ac3
221	stcfl	ac2,r5
222	stcdi	ac3,r0
223	stcdl	ac2,r4
224	stcfd	ac2,ac5
225	stcdf	ac1,ac4
226	ldcid	r0,ac1
227	ldclf	r4,ac2
228	ldcld	$01234567,ac3
229	ldcfd	ac5,ac2
230	ldcdf	ac4,ac0
231