-- file OpTable.mesa -- last edited by Sweet, 8-Oct-81 14:08:15 -- last edited by JGS, 3-Nov-81 9:15:19 -- last edited by Satterthwaite, December 14, 1982 4:23 pm DIRECTORY OpTableDefs: TYPE USING []; OpTable: PROGRAM EXPORTS OpTableDefs = BEGIN -- generated by OpDefsGenerator from tOpCodes.txt, 14-Dec-82 16:21 Q: TYPE = PRIVATE RECORD [ push, pop: [0..7], length: [0..3]]; OpParms: PRIVATE ARRAY [0..256) OF Q = [ -- NOOP LL0 LL1 LL2 000-003 Q[0,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LL3 LL4 LL5 LL6 004-007 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LL7 LL8 LL9 LL10 010-013 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LL11 LLB LLD0 LLD1 014-017 Q[1,0,1], Q[1,0,2], Q[2,0,1], Q[2,0,1], -- LLD2 LLD3 LLD4 LLD5 020-023 Q[2,0,1], Q[2,0,1], Q[2,0,1], Q[2,0,1], -- LLD6 LLD7 LLD8 LLD10 024-027 Q[2,0,1], Q[2,0,1], Q[2,0,1], Q[2,0,1], -- LLDB SL0 SL1 SL2 030-033 Q[2,0,2], Q[0,1,1], Q[0,1,1], Q[0,1,1], -- SL3 SL4 SL5 SL6 034-037 Q[0,1,1], Q[0,1,1], Q[0,1,1], Q[0,1,1], -- SL7 SL8 SL9 SL10 040-043 Q[0,1,1], Q[0,1,1], Q[0,1,1], Q[0,1,1], -- SLB SLD0 SLD1 SLD2 044-047 Q[0,1,2], Q[0,2,1], Q[0,2,1], Q[0,2,1], -- SLD3 SLD4 SLD5 SLD6 050-053 Q[0,2,1], Q[0,2,1], Q[0,2,1], Q[0,2,1], -- SLD8 PL0 PL1 PL2 054-057 Q[0,2,1], Q[1,1,1], Q[1,1,1], Q[1,1,1], -- PL3 PLB PLD0 PLDB 060-063 Q[1,1,1], Q[1,1,2], Q[2,2,1], Q[2,2,2], -- LG0 LG1 LG2 LGB 064-067 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,2], -- LGD0 LGD2 LGDB SGB 070-073 Q[2,0,1], Q[2,0,1], Q[2,0,2], Q[0,1,2], -- BNDCK BRK 074-077 Q[1,2,1], Q[0,0,1], Q[0,0,0], Q[0,0,0], -- R0 R1 RB RL0 100-103 Q[1,1,1], Q[1,1,1], Q[1,1,2], Q[1,2,1], -- RLB RD0 RDB RDL0 104-107 Q[1,2,2], Q[2,1,1], Q[2,1,2], Q[2,2,1], -- RDLB W0 WB PSB 110-113 Q[2,2,2], Q[0,2,1], Q[0,2,2], Q[1,2,2], -- WLB PSLB WDB PSD0 114-117 Q[0,3,2], Q[2,3,2], Q[0,3,2], Q[1,3,1], -- PSDB WDLB PSDLB RLI00 120-123 Q[1,3,2], Q[0,4,2], Q[2,4,2], Q[1,0,1], -- RLI01 RLI02 RLI03 RLIP 124-127 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,2], -- RLILP RLDI00 RLDIP RLDILP 130-133 Q[1,0,2], Q[2,0,1], Q[2,0,2], Q[2,0,2], -- RGIP RGILP WLIP WLILP 134-137 Q[1,0,2], Q[1,0,2], Q[0,1,2], Q[0,1,2], -- WLDILP RS RLS WS 140-143 Q[0,2,2], Q[1,2,2], Q[1,3,2], Q[0,3,2], -- WLS R0F RF RL0F 144-147 Q[0,4,2], Q[1,1,2], Q[1,1,3], Q[1,2,2], -- RLF RLFS RLIPF RLILPF 150-153 Q[1,2,3], Q[1,3,1], Q[1,0,3], Q[1,0,3], -- W0F WF PSF PS0F 154-157 Q[0,2,2], Q[0,2,3], Q[1,2,3], Q[1,2,2], -- WS0F WL0F WLF PSLF 160-163 Q[0,2,2], Q[0,3,2], Q[0,3,3], Q[2,3,3], -- WLFS SLDB SGDB LLKB 164-167 Q[0,4,1], Q[0,2,2], Q[0,2,2], Q[1,0,2], -- RKIB RKDIB LKB SHIFT 170-173 Q[1,0,2], Q[2,0,2], Q[0,0,2], Q[1,2,1], -- SHIFTSB 174-177 Q[1,1,2], Q[0,0,0], Q[0,0,0], Q[0,0,0], -- CATCH J2 J3 J4 200-203 Q[0,0,2], Q[0,0,1], Q[0,0,1], Q[0,0,1], -- J6 J8 JB JW 204-207 Q[0,0,1], Q[0,0,1], Q[0,0,2], Q[0,0,3], -- JEP JEB JEBB JNEP 210-213 Q[0,1,2], Q[0,2,2], Q[0,1,3], Q[0,1,2], -- JNEB JNEBB JLB JGEB 214-217 Q[0,2,2], Q[0,1,3], Q[0,2,2], Q[0,2,2], -- JGB JLEB JULB JUGEB 220-223 Q[0,2,2], Q[0,2,2], Q[0,2,2], Q[0,2,2], -- JUGB JULEB JZ3 JZ4 224-227 Q[0,2,2], Q[0,2,2], Q[0,1,1], Q[0,1,1], -- JZB JNZ3 JNZ4 JNZB 230-233 Q[0,1,2], Q[0,1,1], Q[0,1,1], Q[0,1,2], -- JIB JIW REC REC2 234-237 Q[0,2,3], Q[0,2,3], Q[1,0,1], Q[2,0,1], -- DIS DIS2 EXCH DEXCH 240-243 Q[0,1,1], Q[0,2,1], Q[2,2,1], Q[4,4,1], -- DUP DDUP EXDIS NEG 244-247 Q[2,1,1], Q[4,2,1], Q[1,2,1], Q[1,1,1], -- INC DEC DINC DBL 250-253 Q[1,1,1], Q[1,1,1], Q[2,2,1], Q[1,1,1], -- DDBL TRPL AND IOR 254-257 Q[2,2,1], Q[1,1,1], Q[1,2,1], Q[1,2,1], -- ADDSB ADD SUB DADD 260-263 Q[1,1,2], Q[1,2,1], Q[1,2,1], Q[2,4,1], -- DSUB ADC ACD AL0IB 264-267 Q[2,4,1], Q[2,3,1], Q[2,3,1], Q[1,0,2], -- MUL DCMP UDCMP ESC 270-273 Q[1,2,1], Q[1,4,1], Q[1,4,1], Q[0,0,2], -- ESCL LP 274-277 Q[0,0,3], Q[2,1,1], Q[0,0,0], Q[0,0,0], -- LI0 LI1 LI2 LI3 300-303 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LI4 LI5 LI6 LI7 304-307 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LI8 LI9 LI10 LIN1 310-313 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LINI LIB LIW LINB 314-317 Q[1,0,1], Q[1,0,2], Q[1,0,3], Q[1,0,2], -- LIHB LID0 LA0 LA1 320-323 Q[1,0,2], Q[2,0,1], Q[1,0,1], Q[1,0,1], -- LA2 LA3 LA6 LA8 324-327 Q[1,0,1], Q[1,0,1], Q[1,0,1], Q[1,0,1], -- LAB LAW GA0 GAB 330-333 Q[1,0,2], Q[1,0,3], Q[1,0,1], Q[1,0,2], -- GAW EFC0 EFC1 EFC2 334-337 Q[1,0,3], Q[0,0,1], Q[0,0,1], Q[0,0,1], -- EFC3 EFC4 EFC5 EFC6 340-343 Q[0,0,1], Q[0,0,1], Q[0,0,1], Q[0,0,1], -- EFC7 EFC8 EFC9 EFC10 344-347 Q[0,0,1], Q[0,0,1], Q[0,0,1], Q[0,0,1], -- EFC11 EFC12 EFCB LFC1 350-353 Q[0,0,1], Q[0,0,1], Q[0,0,2], Q[0,0,1], -- LFC2 LFC3 LFC4 LFC5 354-357 Q[0,0,1], Q[0,0,1], Q[0,0,1], Q[0,0,1], -- LFCB SFC RET KFCB 360-363 Q[0,0,2], Q[0,1,1], Q[0,0,1], Q[0,0,2], -- D0 DB BLT BLTL 364-367 Q[1,0,1], Q[1,0,2], Q[0,3,1], Q[0,5,1], -- BLTC BLTCL WCDLB WCIDLB 370-373 Q[0,3,1], Q[0,4,1], Q[0,4,2], Q[0,4,2], -- PSCDLB PSCIDLB RESRVD 374-377 Q[2,4,2], Q[2,4,2], Q[0,0,0], Q[0,0,1]]; PushStack: PUBLIC PROC [b: [0..256)] RETURNS [[0..3]] = BEGIN RETURN [OpParms[b].push] END; PopStack: PUBLIC PROC [b: [0..256)] RETURNS [[0..7]] = BEGIN RETURN [OpParms[b].pop] END; InstLength: PUBLIC PROC [b: [0..256)] RETURNS [[0..3]] = BEGIN RETURN [OpParms[b].length] END; END.