1;; This file is a set of tests for the MorphoySys instructions.
2
3; Make sure that each mnemonic gives the proper opcode.  Use R0 and #0
4; for all operands so that everything but the opcode will be 0 in the
5; assembled instructions.
6
7	ldctxt R0,R0,#0,#0,#0
8	ldfb R0,R0,#0
9	stfb R0, R0, #0
10	fbcb R0,#0,#0,#0,#0,#0,#0,#0,#0
11	mfbcb R0,#0,R0,#0,#0,#0,#0,#0
12	fbcci R0,#0,#0,#0,#0,#0,#0,#0
13	fbrci R0,#0,#0,#0,#0,#0,#0,#0
14	fbcri R0,#0,#0,#0,#0,#0,#0,#0
15	fbrri R0,#0,#0,#0,#0,#0,#0,#0
16	mfbcci R0,#0,R0,#0,#0,#0,#0
17	mfbrci R0,#0,R0,#0,#0,#0,#0
18	mfbcri R0,#0,R0,#0,#0,#0,#0
19	mfbrri R0,#0,R0,#0,#0,#0,#0
20	fbcbdr R0,#0,R0,#0,#0,#0,#0,#0,#0,#0
21	rcfbcb #0,#0,#0,#0,#0,#0,#0,#0,#0,#0
22	mrcfbcb R0,#0,#0,#0,#0,#0,#0,#0,#0
23	cbcast #0,#0,#0
24	dupcbcast #0,#0,#0,#0
25	wfbi #0,#0,#0,#0,#0
26	wfb R0,R0,#0,#0,#0
27	rcrisc R0,#0,R0,#0,#0,#0,#0,#0,#0
28	fbcbinc R0, #0, #0, #0, #0, #0, #0, #0
29	rcxmode R0, #0, #0, #0, #0, #0, #0, #0, #0
30
31; Check to make sure that the parse routines that allow predifined
32; symbols (uppaer and lower case) to be used for some of the operands.
33
34; dup operand: dup, xx
35	si R14
36	fbcbdr R0,#0,R0,#0,#0,#0,#0,#0,#dup,#0  ; dup = 1
37	fbcbdr R0,#0,R0,#0,#0,#0,#0,#0,#xx,#0   ; xx = 0
38	fbcbdr R0,#0,R0,#0,#0,#0,#0,#0,#DUP,#0
39	fbcbdr R0,#0,R0,#0,#0,#0,#0,#0,#XX,#0
40
41; ball operand: all, one
42	si R14
43	rcfbcb #0,#0,#all,#0,#0,#0,#0,#0,#0,#0  ; all = 1
44	rcfbcb #0,#0,#one,#0,#0,#0,#0,#0,#0,#0  ; one = 0
45	rcfbcb #0,#0,#ALL,#0,#0,#0,#0,#0,#0,#0
46	rcfbcb #0,#0,#ONE,#0,#0,#0,#0,#0,#0,#0
47
48; type operand: odd, even, oe
49	si R14
50	mrcfbcb R0,#0,#oe,#0,#0,#0,#0,#0,#0     ; oe = 2
51	mrcfbcb R0,#0,#even,#0,#0,#0,#0,#0,#0   ; even = 1
52	mrcfbcb R0,#0,#odd,#0,#0,#0,#0,#0,#0    ; odd = 0
53	mrcfbcb R0,#0,#OE,#0,#0,#0,#0,#0,#0
54	mrcfbcb R0,#0,#EVEN,#0,#0,#0,#0,#0,#0
55	mrcfbcb R0,#0,#ODD,#0,#0,#0,#0,#0,#0
56
57; xmode operand: pm, xm
58	si R14
59	rcxmode R0, #0, #0, #pm, #0, #0, #0, #0, #0  ; pm = 1
60	rcxmode R0, #0, #0, #xm, #0, #0, #0, #0, #0  ; xm = 0
61	rcxmode R0, #0, #0, #PM, #0, #0, #0, #0, #0
62	rcxmode R0, #0, #0, #XM, #0, #0, #0, #0, #0
63
64; rc, rc1, rc2 operands: r,c
65	si R14
66        ldctxt R0,R0,#r,#0,#0            ; rc operand.  r = 1
67        ldctxt R0,R0,#c,#0,#0            ; rc operand.  c = 0
68        ldctxt R0,R0,#R,#0,#0
69        ldctxt R0,R0,#C,#0,#0
70
71	fbcb R0,#0,#0,#0,#r,#0,#0,#0,#0  ; rc1 operand.  r = 1
72	fbcb R0,#0,#0,#0,#c,#0,#0,#0,#0  ; rc1 operand.  c = 0
73
74	cbcast #0,#r,#0                  ; rc2 operand.  r = 1
75	cbcast #0,#c,#0                  ; rc2 opearnd.  c = 0
76
77; cbrb operand: cb, rb
78	si R14
79	fbcb R0,#0,#0,#0,#0,#rb,#0,#0,#0  ; rb = 1
80	fbcb R0,#0,#0,#0,#0,#cb,#0,#0,#0  ; cb = 0
81	fbcb R0,#0,#0,#0,#0,#RB,#0,#0,#0
82	fbcb R0,#0,#0,#0,#0,#CB,#0,#0,#0
83
84; rbbc operand: rt, br1, br2, cs
85	si R14
86	fbcb R0,#cs,#0,#0,#0,#0,#0,#0,#0   ; cs = 3
87	fbcb R0,#br2,#0,#0,#0,#0,#0,#0,#0  ; br2 = 2
88	fbcb R0,#br1,#0,#0,#0,#0,#0,#0,#0  ; br1 = 1
89	fbcb R0,#rt,#0,#0,#0,#cb,#0,#0,#0  ; rt = 0
90	fbcb R0,#CS,#0,#0,#0,#0,#0,#0,#0
91	fbcb R0,#BR2,#0,#0,#0,#0,#0,#0,#0
92	fbcb R0,#BR1,#0,#0,#0,#0,#0,#0,#0
93	fbcb R0,#RT,#0,#0,#0,#cb,#0,#0,#0
94
95	intlvr R0, #0, R0, #0, #0
96