1*5478Slinton /* Copyright (c) 1982 Regents of the University of California */
2*5478Slinton 
3*5478Slinton static char sccsid[] = "@(#)optab.c 1.1 01/18/82";
4*5478Slinton 
5*5478Slinton /*
6*5478Slinton  * px opcode table
7*5478Slinton  */
8*5478Slinton 
9*5478Slinton #include "optab.h"
10*5478Slinton 
11*5478Slinton OPTAB optab[] ={
12*5478Slinton 	{ "badop00" },
13*5478Slinton 	{ "nodump", PSUBOP, LWORD, HWORD, STRING },
14*5478Slinton 	{ "beg", PSUBOP, LWORD, LWORD, LWORD, HWORD, STRING },
15*5478Slinton 	{ "end" },
16*5478Slinton 	{ "call", DISP, ADDR4 },
17*5478Slinton 	{ "fcall" },
18*5478Slinton 	{ "frtn", PSUBOP },
19*5478Slinton 	{ "fsav", SUBOP, LWORD },
20*5478Slinton 	{ "sdup2" },
21*5478Slinton 	{ "sdup4" },
22*5478Slinton 	{ "tra", ADDR2 },
23*5478Slinton 	{ "tra4", ADDR4 },
24*5478Slinton 	{ "goto", DISP, ADDR4 },
25*5478Slinton 	{ "lino", PSUBOP },
26*5478Slinton 	{ "push", PSUBOP },
27*5478Slinton 	{ "badopnn" },
28*5478Slinton 	{ "if", ADDR2 },
29*5478Slinton 	{ "rel2", SUBOP },
30*5478Slinton 	{ "rel4", SUBOP },
31*5478Slinton 	{ "rel24", SUBOP },
32*5478Slinton 	{ "rel42", SUBOP },
33*5478Slinton 	{ "rel8", SUBOP },
34*5478Slinton 	{ "relg", SUBOP, VLEN },
35*5478Slinton 	{ "relt", SUBOP, VLEN },
36*5478Slinton 	{ "rel28", SUBOP },
37*5478Slinton 	{ "rel48", SUBOP },
38*5478Slinton 	{ "rel82", SUBOP },
39*5478Slinton 	{ "rel84", SUBOP },
40*5478Slinton 	{ "and" },
41*5478Slinton 	{ "or" },
42*5478Slinton 	{ "not" },
43*5478Slinton 	{ "badopnn" },
44*5478Slinton 	{ "as2" },
45*5478Slinton 	{ "as4" },
46*5478Slinton 	{ "as24" },
47*5478Slinton 	{ "as42" },
48*5478Slinton 	{ "as21" },
49*5478Slinton 	{ "as41" },
50*5478Slinton 	{ "as28" },
51*5478Slinton 	{ "as48" },
52*5478Slinton 	{ "as8" },
53*5478Slinton 	{ "as" },
54*5478Slinton 	{ "inx2p2", PSUBOP },
55*5478Slinton 	{ "inx4p2", PSUBOP },
56*5478Slinton 	{ "inx2", PSUBOP, HWORD, HWORD },
57*5478Slinton 	{ "inx4", PSUBOP, HWORD, HWORD },
58*5478Slinton 	{ "off", PSUBOP },
59*5478Slinton 	{ "nil" },
60*5478Slinton 	{ "add2" },
61*5478Slinton 	{ "add4" },
62*5478Slinton 	{ "add24" },
63*5478Slinton 	{ "add42" },
64*5478Slinton 	{ "add28" },
65*5478Slinton 	{ "add48" },
66*5478Slinton 	{ "add82" },
67*5478Slinton 	{ "add84" },
68*5478Slinton 	{ "sub2" },
69*5478Slinton 	{ "sub4" },
70*5478Slinton 	{ "sub24" },
71*5478Slinton 	{ "sub42" },
72*5478Slinton 	{ "sub28" },
73*5478Slinton 	{ "sub48" },
74*5478Slinton 	{ "sub82" },
75*5478Slinton 	{ "sub84" },
76*5478Slinton 	{ "mul2" },
77*5478Slinton 	{ "mul4" },
78*5478Slinton 	{ "mul24" },
79*5478Slinton 	{ "mul42" },
80*5478Slinton 	{ "mul28" },
81*5478Slinton 	{ "mul48" },
82*5478Slinton 	{ "mul82" },
83*5478Slinton 	{ "mul84" },
84*5478Slinton 	{ "abs2" },
85*5478Slinton 	{ "abs4" },
86*5478Slinton 	{ "abs8" },
87*5478Slinton 	{ "badopnn" },
88*5478Slinton 	{ "neg2" },
89*5478Slinton 	{ "neg4" },
90*5478Slinton 	{ "neg8" },
91*5478Slinton 	{ "badopnn" },
92*5478Slinton 	{ "div2" },
93*5478Slinton 	{ "div4" },
94*5478Slinton 	{ "div24" },
95*5478Slinton 	{ "div42" },
96*5478Slinton 	{ "mod2" },
97*5478Slinton 	{ "mod4" },
98*5478Slinton 	{ "mod24" },
99*5478Slinton 	{ "mod42" },
100*5478Slinton 	{ "add8" },
101*5478Slinton 	{ "sub8" },
102*5478Slinton 	{ "mul8" },
103*5478Slinton 	{ "dvd8" },
104*5478Slinton 	{ "stoi" },
105*5478Slinton 	{ "stod" },
106*5478Slinton 	{ "itod" },
107*5478Slinton 	{ "itos" },
108*5478Slinton 	{ "dvd2" },
109*5478Slinton 	{ "dvd4" },
110*5478Slinton 	{ "dvd24" },
111*5478Slinton 	{ "dvd42" },
112*5478Slinton 	{ "dvd28" },
113*5478Slinton 	{ "dvd48" },
114*5478Slinton 	{ "dvd82" },
115*5478Slinton 	{ "dvd84" },
116*5478Slinton 	{ "rv1", DISP, ADDR2 },
117*5478Slinton 	{ "rv14", DISP, ADDR2 },
118*5478Slinton 	{ "rv2", DISP, ADDR2 },
119*5478Slinton 	{ "rv24", DISP, ADDR2 },
120*5478Slinton 	{ "rv4", DISP, ADDR2 },
121*5478Slinton 	{ "rv8", DISP, ADDR2 },
122*5478Slinton 	{ "rv", PSUBOP, DISP, ADDR2 },
123*5478Slinton 	{ "lv", DISP, HWORD },
124*5478Slinton 	{ "lrv1", DISP, ADDR4 },
125*5478Slinton 	{ "lrv14", DISP, ADDR4 },
126*5478Slinton 	{ "lrv2", DISP, ADDR4 },
127*5478Slinton 	{ "lrv24", DISP, ADDR4 },
128*5478Slinton 	{ "lrv4", DISP, ADDR4 },
129*5478Slinton 	{ "lrv8", DISP, ADDR4 },
130*5478Slinton 	{ "lrv", PSUBOP, DISP, ADDR4 },
131*5478Slinton 	{ "llv", DISP, ADDR4 },
132*5478Slinton 	{ "ind1" },
133*5478Slinton 	{ "ind14" },
134*5478Slinton 	{ "ind2" },
135*5478Slinton 	{ "ind24" },
136*5478Slinton 	{ "ind4" },
137*5478Slinton 	{ "ind8" },
138*5478Slinton 	{ "ind" },
139*5478Slinton 	{ "badopnn" },
140*5478Slinton 	{ "con1", SUBOP },
141*5478Slinton 	{ "con14", SUBOP },
142*5478Slinton 	{ "con2", HWORD },
143*5478Slinton 	{ "con24", HWORD },
144*5478Slinton 	{ "con4", LWORD },
145*5478Slinton 	{ "con8", LWORD, LWORD },
146*5478Slinton 	{ "con", HWORD },
147*5478Slinton 	{ "lvcon", PSUBOP, STRING },
148*5478Slinton 	{ "rang2", HWORD, HWORD },
149*5478Slinton 	{ "rang42", HWORD, HWORD },
150*5478Slinton 	{ "rsng2", HWORD },
151*5478Slinton 	{ "rsng42", HWORD },
152*5478Slinton 	{ "rang4", LWORD, LWORD },
153*5478Slinton 	{ "rang24", LWORD, LWORD },
154*5478Slinton 	{ "rsng4", LWORD },
155*5478Slinton 	{ "rsng24", LWORD },
156*5478Slinton 	{ "stlim" },
157*5478Slinton 	{ "llimit" },
158*5478Slinton 	{ "buff", PSUBOP },
159*5478Slinton 	{ "halt" },
160*5478Slinton 	{ "badopnn" },
161*5478Slinton 	{ "badopnn" },
162*5478Slinton 	{ "badopnn" },
163*5478Slinton 	{ "badopnn" },
164*5478Slinton 	{ "*ord2" },
165*5478Slinton 	{ "*cong" },
166*5478Slinton 	{ "*conc" },
167*5478Slinton 	{ "*conc4" },
168*5478Slinton 	{ "*abort" },
169*5478Slinton 	{ "pxpbuf", HWORD },
170*5478Slinton 	{ "count", HWORD },
171*5478Slinton 	{ "badopnn" },
172*5478Slinton 	{ "case1op", HWORD },
173*5478Slinton 	{ "case2op", HWORD },
174*5478Slinton 	{ "case4op", HWORD },
175*5478Slinton 	{ "*casebeg" },
176*5478Slinton 	{ "*case1" },
177*5478Slinton 	{ "*case2" },
178*5478Slinton 	{ "*case4" },
179*5478Slinton 	{ "*caseend" },
180*5478Slinton 	{ "addt" },
181*5478Slinton 	{ "subt" },
182*5478Slinton 	{ "mult" },
183*5478Slinton 	{ "inct" },
184*5478Slinton 	{ "cttot", PSUBOP, HWORD, HWORD },
185*5478Slinton 	{ "card", PSUBOP },
186*5478Slinton 	{ "in", PSUBOP, HWORD, HWORD },
187*5478Slinton 	{ "asrt" },
188*5478Slinton 	{ "for1u", HWORD, HWORD, ADDR2 },
189*5478Slinton 	{ "for2u", HWORD, HWORD, ADDR2 },
190*5478Slinton 	{ "for4u", LWORD, LWORD, ADDR2 },
191*5478Slinton 	{ "for1d", HWORD, HWORD, ADDR2 },
192*5478Slinton 	{ "for2d", HWORD, HWORD, ADDR2 },
193*5478Slinton 	{ "for4d", LWORD, LWORD, ADDR2 },
194*5478Slinton 	{ "badopnn" },
195*5478Slinton 	{ "badopnn" },
196*5478Slinton 	{ "reade", ADDR4 },
197*5478Slinton 	{ "read4" },
198*5478Slinton 	{ "readc" },
199*5478Slinton 	{ "read8" },
200*5478Slinton 	{ "readln" },
201*5478Slinton 	{ "eof" },
202*5478Slinton 	{ "eoln" },
203*5478Slinton 	{ "badopnn" },
204*5478Slinton 	{ "writec" },
205*5478Slinton 	{ "writes" },
206*5478Slinton 	{ "writef", PSUBOP },
207*5478Slinton 	{ "writln" },
208*5478Slinton 	{ "page" },
209*5478Slinton 	{ "nam", ADDR4 },
210*5478Slinton 	{ "max", PSUBOP, HWORD },
211*5478Slinton 	{ "min", PSUBOP },
212*5478Slinton 	{ "unit" },
213*5478Slinton 	{ "unitinp" },
214*5478Slinton 	{ "unitout" },
215*5478Slinton 	{ "message" },
216*5478Slinton 	{ "get" },
217*5478Slinton 	{ "put" },
218*5478Slinton 	{ "fnil" },
219*5478Slinton 	{ "badopnn" },
220*5478Slinton 	{ "defname", PSUBOP, HWORD },
221*5478Slinton 	{ "reset" },
222*5478Slinton 	{ "rewrite" },
223*5478Slinton 	{ "file" },
224*5478Slinton 	{ "remove" },
225*5478Slinton 	{ "flush" },
226*5478Slinton 	{ "badopnn" },
227*5478Slinton 	{ "badopnn" },
228*5478Slinton 	{ "pack", PSUBOP, HWORD, HWORD, HWORD },
229*5478Slinton 	{ "unpack", PSUBOP, HWORD, HWORD, HWORD },
230*5478Slinton 	{ "argc" },
231*5478Slinton 	{ "argv", PSUBOP },
232*5478Slinton 	{ "badopnn" },
233*5478Slinton 	{ "badopnn" },
234*5478Slinton 	{ "badopnn" },
235*5478Slinton 	{ "badopnn" },
236*5478Slinton 	{ "clck" },
237*5478Slinton 	{ "wclck" },
238*5478Slinton 	{ "sclck" },
239*5478Slinton 	{ "dispose", PSUBOP },
240*5478Slinton 	{ "new", PSUBOP },
241*5478Slinton 	{ "date" },
242*5478Slinton 	{ "time" },
243*5478Slinton 	{ "undef" },
244*5478Slinton 	{ "atan" },
245*5478Slinton 	{ "cos" },
246*5478Slinton 	{ "exp" },
247*5478Slinton 	{ "ln" },
248*5478Slinton 	{ "sin" },
249*5478Slinton 	{ "sqrt" },
250*5478Slinton 	{ "chr2" },
251*5478Slinton 	{ "chr4" },
252*5478Slinton 	{ "odd2" },
253*5478Slinton 	{ "odd4" },
254*5478Slinton 	{ "pred2" },
255*5478Slinton 	{ "pred4" },
256*5478Slinton 	{ "pred24" },
257*5478Slinton 	{ "succ2" },
258*5478Slinton 	{ "succ4" },
259*5478Slinton 	{ "succ24" },
260*5478Slinton 	{ "seed" },
261*5478Slinton 	{ "random" },
262*5478Slinton 	{ "expo" },
263*5478Slinton 	{ "sqr2" },
264*5478Slinton 	{ "sqr4" },
265*5478Slinton 	{ "sqr8" },
266*5478Slinton 	{ "round" },
267*5478Slinton 	{ "trunc" },
268*5478Slinton };
269