BSD 3 development
[unix-history] / usr / src / cmd / pi / opcode.h
CommitLineData
0fa791ff
CH
1/*
2 * operations
3 * those operations which are set to the right
4 * are not actually generated by pi,
5 * but are included so they can be checked for (e.g. in pcc.c).
6 * those operation which are not assigned are set in comments.
7 */
8#define O_ABORT 00
9#define O_HALT 01
10#define O_TRA4 02
11#define O_NODUMP 03
12#define O_BEG 04
13#define O_END 05
14#define O_CALL 06
15#define O_TRACNT 07
16#define O_PUSH 010
17#define O_POP 011
18#define O_INX4 012
19#define O_SDUP 013
20#define O_IF 014
21#define O_TRA 015
22#define O_LINO 016
23#define O_GOTO 017
24#define O_REL2 020
25#define O_REL4 021
26#define O_REL24 022
27#define O_REL42 023
28#define O_REL8 024
29#define O_RELG 025
30#define O_RELT 026
31#define O_NULL 027
32#define O_REL28 030
33#define O_REL48 031
34#define O_REL82 032
35#define O_REL84 033
36#define O_AND 034
37#define O_OR 035
38#define O_NOT 036
39/* 037 */
40#define O_AS2 040
41#define O_AS4 041
42#define O_AS24 042
43#define O_AS42 043
44#define O_AS8 044
45#define O_INX2P2 045
46#define O_INX4P2 046
47#define O_AS 047
48#define O_AS21 050
49#define O_AS41 051
50#define O_AS28 052
51#define O_AS48 053
52#define O_OFF 054
53#define O_INX2 055
54#define O_NIL 056
55#define O_LV 057
56#define O_ADD2 060
57#define O_ADD4 061
58#define O_ADD24 062
59#define O_ADD42 063
60#define O_ADD28 064
61#define O_ADD48 065
62#define O_ADD82 066
63#define O_ADD84 067
64#define O_SUB2 070
65#define O_SUB4 071
66#define O_SUB24 072
67#define O_SUB42 073
68#define O_SUB28 074
69#define O_SUB48 075
70#define O_SUB82 076
71#define O_SUB84 077
72#define O_MUL2 0100
73#define O_MUL4 0101
74#define O_MUL24 0102
75#define O_MUL42 0103
76#define O_MUL28 0104
77#define O_MUL48 0105
78#define O_MUL82 0106
79#define O_MUL84 0107
80#define O_ABS2 0110
81#define O_ABS4 0111
82#define O_ABS8 0112
83/* 0113 */
84#define O_ADD8 0114
85#define O_SUB8 0115
86#define O_MUL8 0116
87#define O_DVD8 0117
88#define O_DIV2 0120
89#define O_DIV4 0121
90#define O_DIV24 0122
91#define O_DIV42 0123
92/* 0124 */
93/* 0125 */
94/* 0126 */
95/* 0127 */
96#define O_MOD2 0130
97#define O_MOD4 0131
98#define O_MOD24 0132
99#define O_MOD42 0133
100/* 0134 */
101/* 0135 */
102/* 0136 */
103/* 0137 */
104#define O_NEG2 0140
105#define O_NEG4 0141
106#define O_NEG8 0142
107/* 0143 */
108/* 0144 */
109/* 0145 */
110/* 0146 */
111/* 0147 */
112/* 0150 */
113/* 0151 */
114/* 0152 */
115/* 0153 */
116/* 0154 */
117/* 0155 */
118/* 0156 */
119/* 0157 */
120#define O_DVD2 0160
121#define O_DVD4 0161
122#define O_DVD24 0162
123#define O_DVD42 0163
124#define O_DVD28 0164
125#define O_DVD48 0165
126#define O_DVD82 0166
127#define O_DVD84 0167
128#define O_RV1 0170
129#define O_RV2 0171
130#define O_RV4 0172
131#define O_RV8 0173
132#define O_IND1 0174
133#define O_IND2 0175
134#define O_IND4 0176 /* pbk */
135#define O_IND8 0177
136#define O_CON1 0200
137#define O_CON2 0201
138#define O_CON4 0202
139#define O_CON8 0203
140#define O_RV 0204
141#define O_IND 0205
142#define O_CON 0206
143/* 0207 */
144#define O_RANG2 0210
145#define O_RANG42 0211
146#define O_RSNG2 0212
147#define O_RSNG42 0213
148#define O_RANG4 0214
149#define O_RANG24 0215
150#define O_RSNG4 0216
151#define O_RSNG24 0217
152/* 0220 */
153/* 0221 */
154/* 0222 */
155/* 0223 */
156/* 0224 */
157/* 0225 */
158/* 0226 */
159/* 0227 */
160#define O_CONC 0230
161#define O_CASEBEG 0231
162#define O_CASE1 0232
163#define O_CASE2 0233
164#define O_CASE4 0234
165#define O_CASEEND 0235
166#define O_CONG 0236
167#define O_ORD2 0237
168#define O_CASE1OP 0240
169#define O_CASE2OP 0241
170#define O_CASE4OP 0242
171#define O_PXPBUF 0243
172#define O_COUNT 0244
173/* 0245 */
174/* 0246 */
175/* 0247 */
176#define O_ADDT 0250
177#define O_SUBT 0251
178#define O_MULT 0252
179#define O_INCT 0253
180#define O_CTTOT 0254
181#define O_CARD 0255
182#define O_IN 0256
183#define O_ASRT 0257
184#define O_FOR1U 0260
185#define O_FOR2U 0261
186#define O_FOR4U 0262
187#define O_FOR1D 0263
188#define O_FOR2D 0264
189#define O_FOR4D 0265
190#define O_STLIM 0266
191#define O_SCLCK 0267
192#define O_STOI 0270
193#define O_STOD 0271
194#define O_ITOD 0272
195#define O_ITOS 0273
196#define O_BUFF 0274
197#define O_WCLCK 0275
198#define O_WRHEX2 0276
199#define O_WRHEX4 0277
200#define O_GET 0300
201#define O_PUT 0301
202#define O_MESSAGE 0302
203#define O_FNIL 0303
204#define O_EOF 0304
205#define O_EOLN 0305
206#define O_RESET 0306
207#define O_REWRITE 0307
208#define O_REMOVE 0310
209#define O_READ4 0311
210#define O_UNIT 0312
211#define O_READC 0313
212#define O_READ8 0314
213#define O_UNITINP 0315
214#define O_UNITOUT 0316
215#define O_READLN 0317
216#define O_WRIT2 0320
217#define O_WRIT4 0321
218#define O_WRITB 0322
219#define O_WRITC 0323
220#define O_WRIT8 0324
221#define O_WRITG 0325
222#define O_WRIT82 0326
223#define O_WRITLN 0327
224#define O_WROCT2 0330
225#define O_WROCT4 0331
226#define O_FLUSH 0332
227#define O_PACK 0333
228#define O_UNPACK 0334
229#define O_LLIMIT 0335
230#define O_ARGC 0336
231#define O_ARGV 0337
232#define O_CLCK 0340
233#define O_SEED 0341
234#define O_RANDOM 0342
235#define O_DISPOSE 0343
236#define O_NEW 0344
237#define O_EXPO 0345
238#define O_DATE 0346
239#define O_TIME 0347
240#define O_ATAN 0350
241#define O_COS 0351
242#define O_EXP 0352
243#define O_LN 0353
244#define O_SIN 0354
245#define O_SQRT 0355
246#define O_CHR2 0356
247#define O_CHR4 0357
248#define O_ODD2 0360
249#define O_ODD4 0361
250#define O_PRED2 0362
251#define O_PRED4 0363
252#define O_PRED24 0364
253#define O_SUCC2 0365
254#define O_SUCC4 0366
255#define O_SUCC24 0367
256#define O_DEFNAME 0370
257#define O_PAGE 0371
258#define O_UNDEF 0372
259#define O_SQR2 0373
260#define O_SQR4 0374
261#define O_SQR8 0375
262#define O_ROUND 0376
263#define O_TRUNC 0377