-- FOpTable.mesa
-- last edited by Sweet, January 11, 1980 2:57 PM
-- last edited by Satterthwaite, November 2, 1982 3:56 pm

DIRECTORY
P5: TYPE USING [];

FOpTable: PROGRAM EXPORTS P5 =
BEGIN

-- generated by OpDefsGenerator 31-May-82 12:19

Q: TYPE = PRIVATE RECORD [
push: [0..3], pop: [0..7], length: [0..3], mark: BOOL];
T: BOOL = TRUE; F: BOOL = FALSE;

OpParms: PRIVATE ARRAY [0..256) OF Q = [
-- NOOP LG SG LL 000-003
Q[0,0,0,F], Q[1,0,1,F], Q[0,1,1,F], Q[1,0,1,F],
-- SL LI LCO LGD 004-007
Q[0,1,1,F], Q[1,0,1,F], Q[1,0,1,F], Q[2,0,1,F],
-- SGD LLD SLD R 010-013
Q[0,2,1,F], Q[2,0,1,F], Q[0,2,1,F], Q[1,1,1,F],
-- W RF WF RD 014-017
Q[0,2,1,F], Q[1,1,2,F], Q[0,2,2,F], Q[2,1,1,F],
-- WD RSTR WSTR RXL 020-023
Q[0,3,1,F], Q[1,2,1,F], Q[0,3,1,F], Q[1,1,2,F],
-- WXL RXG WXG RIG 024-027
Q[0,2,2,F], Q[1,1,2,F], Q[0,2,2,F], Q[1,0,2,F],
-- RIL WS WSF WSD 030-033
Q[1,0,2,F], Q[0,2,1,F], Q[0,2,2,F], Q[0,3,1,F],
-- RILF WIG WIL RII 034-037
Q[1,0,3,F], Q[0,1,2,F], Q[0,1,2,F], Q[1,1,2,F],
-- RIIL PS PSD PSF 040-043
Q[1,1,2,F], Q[1,2,1,F], Q[1,3,1,F], Q[1,2,2,F],
-- PL ADD SUB MUL 044-047
Q[1,1,1,F], Q[1,2,0,F], Q[1,2,0,F], Q[1,2,0,F],
-- AMUL DIV LDIV SDIV 050-053
Q[1,2,0,F], Q[1,2,0,F], Q[1,3,0,F], Q[1,2,0,F],
-- NEG AND OR XOR 054-057
Q[1,1,0,F], Q[1,2,0,F], Q[1,2,0,F], Q[1,2,0,F],
-- SHIFT PUSH POP EXCH 060-063
Q[1,2,0,F], Q[1,0,0,F], Q[0,1,0,F], Q[2,2,0,F],
-- CATCH EFC LFC SFC 064-067
Q[0,0,1,F], Q[0,0,1,F], Q[0,0,1,F], Q[0,1,0,F],
-- RET PORTO PORTI KFCB 070-073
Q[0,0,0,F], Q[0,1,0,F], Q[0,0,0,F], Q[0,0,1,F],
-- BLT BLTC ALLOC FREE 074-077
Q[0,3,0,T], Q[0,3,0,T], Q[1,1,0,F], Q[0,1,0,F],
-- STOP LLK BITBLT STARTIO 100-103
Q[0,0,0,F], Q[1,0,1,F], Q[0,1,0,T], Q[0,1,0,F],
-- DST LST LSTF WR 104-107
Q[0,0,1,F], Q[0,0,1,F], Q[0,0,1,F], Q[0,1,1,F],
-- RR BRK BLTR LINKB 110-113
Q[1,0,1,F], Q[0,0,0,F], Q[0,3,0,T], Q[0,1,1,F],
-- DESCB DESCBS FDESCBS MAX 114-117
Q[1,0,1,F], Q[1,1,1,F], Q[0,1,1,F], Q[1,2,0,F],
-- MIN UMAX UMIN STFORB 120-123
Q[1,2,0,F], Q[1,2,0,F], Q[1,2,0,F], Q[0,2,1,F],
-- STFORW ENDFOR UENDFOR GADRB 124-127
Q[0,2,1,F], Q[0,0,0,F], Q[0,0,0,F], Q[1,0,1,F],
-- LADRB DEC INC DUP 130-133
Q[1,0,1,F], Q[1,1,0,F], Q[1,1,0,F], Q[2,1,0,F],
-- J JDREL JREL ADD2 134-137
Q[0,0,0,F], Q[0,4,0,T], Q[0,2,0,T], Q[1,1,0,F],
-- ADDSB DBL DADD DSUB 140-143
Q[1,1,1,F], Q[1,1,0,F], Q[2,4,0,T], Q[2,4,0,T],
-- DCOMP DUCOMP DMUL DDIV 144-147
Q[1,4,0,T], Q[1,4,0,T], Q[2,4,0,T], Q[2,4,0,T],
-- DUDIV DMOD DUMOD IWDC 150-153
Q[2,4,0,T], Q[2,4,0,T], Q[2,4,0,T], Q[0,0,0,F],
-- DWDC RFC RFS WFS 154-157
Q[0,0,0,F], Q[1,1,2,F], Q[1,2,0,F], Q[0,3,0,F],
-- NILCK NILCKL BNDCK LINT 160-163
Q[1,1,0,F], Q[2,2,0,F], Q[1,2,0,F], Q[2,1,0,F],
-- ME MRE MXW MXD 164-167
Q[1,1,0,T], Q[1,2,0,T], Q[0,3,0,T], Q[0,1,0,T],
-- NOTIFY BCAST REQUEUE MEL 170-173
Q[0,1,0,T], Q[0,1,0,T], Q[0,3,0,T], Q[1,2,0,T],
-- MREL MXWL MXDL NOTIFYL 174-177
Q[1,4,0,T], Q[0,5,0,T], Q[0,2,0,T], Q[0,2,0,T],
-- BCASTL REQUEUEL RL WL 200-203
Q[0,2,0,T], Q[0,5,0,T], Q[1,2,1,F], Q[0,3,1,F],
-- RDL WDL RXLL WXLL 204-207
Q[2,2,1,F], Q[0,4,1,F], Q[1,1,2,F], Q[0,2,2,F],
-- RXGL WXGL RILL WILL 210-213
Q[1,1,2,F], Q[0,2,2,F], Q[1,0,2,F], Q[0,1,2,F],
-- RIGL WIGL RSTRL WSTRL 214-217
Q[1,0,2,F], Q[0,1,2,F], Q[1,3,1,F], Q[0,4,1,F],
-- RFL WFL BLTL BLTCL 220-223
Q[1,2,2,F], Q[0,3,2,F], Q[0,5,0,T], Q[0,4,0,T],
-- RFSL WFSL LP FADD 224-227
Q[1,3,0,F], Q[0,4,0,F], Q[2,1,0,F], Q[2,4,0,T],
-- FSUB FMUL FDIV FCOMP 230-233
Q[2,4,0,T], Q[2,4,0,T], Q[2,4,0,T], Q[1,4,0,T],
-- FSC FIX FLOAT ICDL 234-237
Q[2,3,0,T], Q[2,2,0,T], Q[2,2,0,T], Q[0,4,1,F],
-- WCDL GCRT BLZL 240-243
Q[0,4,1,F], Q[1,2,0,F], Q[2,3,0,F], Q[0,0,0,F],
-- 244-247
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 250-253
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 254-257
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 260-263
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 264-267
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 270-273
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 274-277
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 300-303
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 304-307
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 310-313
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 314-317
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 320-323
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 324-327
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 330-333
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 334-337
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 340-343
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 344-347
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 350-353
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 354-357
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 360-363
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 364-367
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 370-373
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F],
-- 374-377
Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F], Q[0,0,0,F]];


PushEffect: PUBLIC PROC [b: [0..256)] RETURNS [[0..3]] =
BEGIN
RETURN [OpParms[b].push]
END;

PopEffect: PUBLIC PROC [b: [0..256)] RETURNS [[0..7]] =
BEGIN
RETURN [OpParms[b].pop]
END;


NumberOfParams: PUBLIC PROC [b: [0..256)] RETURNS [[0..3]] =
BEGIN
RETURN [OpParms[b].length]
END;

MinimalStack: PUBLIC PROC [b: [0..256)] RETURNS [BOOL] =
BEGIN
RETURN [OpParms[b].mark]
END;

END.