Commit | Line | Data |
---|---|---|
a0defb2e AH |
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 |