1 ;; This file is a set of tests for the MorphoySys instructions.
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.
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
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
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.
34 ; dup operand: dup, xx
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
41 ; ball operand: all, one
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
48 ; type operand: odd, even, oe
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
57 ; xmode operand: pm, xm
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
64 ; rc, rc1, rc2 operands: r,c
66 ldctxt R0,R0,#r,#0,#0 ; rc operand. r = 1
67 ldctxt R0,R0,#c,#0,#0 ; rc operand. c = 0
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
74 cbcast #0,#r,#0 ; rc2 operand. r = 1
75 cbcast #0,#c,#0 ; rc2 opearnd. c = 0
77 ; cbrb operand: cb, rb
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
84 ; rbbc operand: rt, br1, br2, cs
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
95 intlvr R0, #0, R0, #0, #0