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