-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoperators.h
executable file
·353 lines (346 loc) · 9.29 KB
/
operators.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
/************************************************************************
* MyBB(r) - My Business Basic Interpreter *
* ------------------------------------------------------------------- *
* Program: operators.h *
************************************************************************/
#ifndef OPERATORS_H
#define OPERATORS_H
#define IO_CHANNEL 1
#define IO_ERR 2
#define IO_BNK 4
#define IO_IND 8
#define IO_TBL 16
#define IO_OPT 32
#define IO_ISZ 64
#define IO_SEP 128
#define IO_DEV 256
#define IO_DOM 512
#define IO_END 1024
#define IO_KEY 2048
#define IO_IOL 4096
#define IO_LEN 8192
#define IO_TIM 16384
#define IO_SRT 32768
#define IO_ATR 65536
#define IO_EDT 131072
#define IO_SIZ 262144
#define MNEMONICREF 0xEE
#define LINEREF 0xE0
#define LABELREF 0xA1
#define FLOAT 0xEA
#define INTEGER 0xEB
#define SHORTLITERAL 0xE3
#define LONGINTEGER 0xE8
#define FLOATIMPLIED 0xE9
#define LONGLITERAL 0xF4
#define SETVAL_NUMERIC 0xCA
#define SETVAL_NUMERICARRAY 0xCB
#define GETVAL_NUMERIC 0xC8
#define GETVAL_NUMERICARRAY 0xC9
#define SETVAL_STRING 0xCE
#define SETVAL_STRINGARRAY 0xCF
#define GETVAL_STRING 0xCC
#define GETVAL_STRINGARRAY 0xCD
#define FORMATREF 0xA8
#define HEXSTRING 0xE5
#define OP_EXPONENT 0x5A
#define OP_DIVIDE 0x5B
#define OP_MULTIPLY 0x5C
#define OP_SUBTRACT 0x5D
#define OP_ADD 0x5E
#define OP_STRCAT 0x5F
#define OP_EQUALS 0x53
#define OP_EQUALSCMP 0x54
#define OP_GREATTHAN 0x55
#define OP_NOTEQUAL 0x56
#define OP_LTEQ 0x57
#define OP_GTEQ 0x58
#define OP_LESSTHAN 0x59
#define OP_NEGATE 0x60
#define OP_SEP 0xAF
#define OP_OPT 0xB0
#define OP_SRT 0xB1
#define OP_BNK 0xB2
#define OP_DOM 0xB3
#define OP_END 0xB4
#define OP_IND 0xB5
#define OP_IOL 0xB6
#define OP_ISZ 0xB7
#define OP_KEY 0xB8
#define OP_SIZ 0xB9
#define OP_TBL 0xBA
#define OP_TIM 0xBB
#define OP_ERR 0xBC
#define OP_LEN 0xBD
#define OP_PWD 0xBE
#define OP_ATR 0xBF
#define OP_PAREN 0x8DBA // 103
#define OP_AND 0x8DBB // 104
#define OP_OR 0x8DBC // 105
#define OP_XOR 0x8DBD // 107
#define CMD_DUMPSTMT 0x01
#define CMD_START 0x02
#define CMD_RELEASE 0x03
#define CMD_RUN 0x04
#define CMD_CALL 0x05
#define CMD_ENTER 0x06
#define CMD_EXIT 0x07
#define CMD_SETTRACE 0x08
#define CMD_ENDTRACE 0x09
#define CMD_ESCAPE 0x0A
#define CMD_LOAD 0x0B
#define CMD_DELETE 0x0C
#define CMD_EDIT 0x0D
#define CMD_MERGE 0x0E
#define CMD_LIST 0x0F
#define CMD_SAVE 0x10
#define CMD_PROGRAM 0x11
#define CMD_INDEXED 0x12
#define CMD_SERIAL 0x13
#define CMD_SORT 0x14
#define CMD_DIRECT 0x15
#define CMD_SYSTEM 0x16
#define CMD_FILE 0x17
#define CMD_ERASE 0x18
#define CMD_ADD 0x19
#define CMD_ADDR 0x1A
#define CMD_DROP 0x1B
#define CMD_ENABLE 0x1C
#define CMD_DISABLE 0x1D
#define CMD_RESERVE 0x1E
#define CMD_BYE 0x1F
#define CMD_OPEN 0x20
#define CMD_CLOSE 0x21
#define CMD_LOCK 0x22
#define CMD_UNLOCK 0x23
#define CMD_PUT 0x24
#define CMD_PRINT 0x25
#define CMD_WRITE 0x26
#define CMD_REMOVE 0x27
#define CMD_GET 0x28
#define CMD_INPUT 0x29
#define CMD_READ 0x2A
#define CMD_EXTRACT 0x2B
#define CMD_FIND 0x2C
#define CMD_RENAME 0x2D
#define CMD_FLOATPT 0x2E
#define CMD_PRECISION 0x2F
#define CMD_RESET 0x30
#define CMD_CLEAR 0x31
#define CMD_BEGIN 0x32
#define CMD_STOP 0x33
#define CMD_END 0x34
#define CMD_ON 0x35
#define CMD_GOTO 0x36
#define CMD_GOSUB 0x37
#define CMD_SETERR 0x38
#define CMD_SETERRON 0x8E88
#define CMD_SETERROFF 0x8E89
#define CMD_SETESC 0x39
#define CMD_FOR 0x3A
#define CMD_EXITTO 0x3B
#define CMD_RETURN 0x3C
#define CMD_NEXT 0x3D
#define CMD_RETRY 0x3E
#define CMD_EXECUTE 0x3F
#define CMD_REM 0x40
#define CMD_REM2 0x65
#define CMD_DIM 0x41
#define CMD_TABLE 0x42
#define CMD_IOLIST 0x43
#define CMD_DEFFN 0x44
#define CMD_SETTIME 0x45
#define CMD_SETDAY 0x46
#define CMD_WAIT 0x47
#define CMD_LET 0x49
#define CMD_INPUTRECORD 0x4A
#define CMD_READRECORD 0x4B
#define CMD_EXTRACTRECORD 0x4C
#define CMD_FINDRECORD 0x4D
#define CMD_PRINTRECORD 0x4E
#define CMD_WRITERECORD 0x4F
#define CMD_EXTENDED 0x8E
#define CMD_ENCRYPT 0x8E50
#define CMD_PSAVE 0x8E51
#define CMD_SYNC 0x8E52
#define CMD_BOOT 0x8E53
#define CMD_PREAD 0x8E54
#define CMD_PREADRECORD 0x8E55
#define CMD_PEXTRACT 0x8E56
#define CMD_PEXTRACTRECORD 0x8E57
#define CMD_IF 0x8E58
#define CMD_FINPUT 0x8E59
#define CMD_INITFILE 0x8E5A
#define CMD_SHORTVAR 0x8E5D
#define CMD_LONGVAR 0x8E5E
#define CMD_INPUTEDT 0x8E5F
#define CMD_INPUTEDTRECORD 0x8E60
#define CMD_WINDOW 0x8E61
#define CMD_MSORT 0x8E62
#define CMD_ADDSORT 0x8E63
#define CMD_REMSORT 0x8E64
#define CMD_DROPALL 0x8E66
#define CMD_WHILE 0x8E67
#define CMD_WEND 0x8E68
#define CMD_ESCON 0x8E69
#define CMD_ESCOFF 0x8E6A
#define CMD_TISAM 0x8E6E
#define CMD_EDITF 0x8E6F
#define CMD_SETPREFIX 0x8E70
#define CMD_SETDIR 0x8E71
#define CMD_TEXT 0x8E72
#define CMD_SETDATESTR 0x8E73
#define CMD_FIXUP 0x8E74
#define CMD_SYMTAB 0x8E75
#define CMD_FCREATE 0x8E76
#define CMD_DUMP 0x8E78
#define CMD_SETDRIVE 0x8E79
#define CMD_SETTRACEMODE 0x8E7A
#define CMD_ESCAPEWHEN 0x8E7B
#define CMD_XCALL 0x8E7C
#define CMD_FORMAT 0x8E7D
#define CMD_SETPRM 0x8E7E
#define CMD_LOGOPEN 0x8E7F
#define CMD_LOGCLOSE 0x8E80
#define CMD_TRANSBEGIN 0x8E81
#define CMD_COMMIT 0x8E82
#define CMD_ROLLBACK 0x8E83
#define CMD_SETDATEMASK 0x8E85
#define CMD_SETCMASK 0x8E86
#define CMD_SETHOTKEY 0x8E87
#define CMD_SETERRON 0x8E88
#define CMD_SETERROFF 0x8E89
#define CMD_PACKARRAY 0x8E8B
#define CMD_UNPACKARRAY 0x8E8C
#define CMD_ENDESCAPEWHEN 0x8E8D
#define CMD_GLOBALESCAPEWHEN 0x8E8E
#define CMD_SETERC 0x8E8F
#define CMD_CLEARERC 0x8E90
#define FNC_ABS 0x61
#define FNC_ACS 0x8D95
#define FNC_AND 0x62
#define FNC_ARG 0x8DCD
#define FNC_ASC 0x63
#define FNC_ASN 0x8D96
#define FNC_ATH 0x64
#define FNC_ATN 0x8D93
#define FNC_ATQ 0x8D94
#define FNC_ATR 0x8DDA
#define FNC_BIN 0x65
#define FNC_CGV 0x8DC5
#define FNC_CHR 0x67
#define FNC_COS 0x8D91
#define FNC_CPL 0x68
#define FNC_CPP 0x8DCA
#define FNC_CRC 0x69
#define FNC_CVT 0x8D9C
#define FNC_DCM 0x8DB4
#define FNC_DEC 0x6A
#define FNC_DIM 0x8DA7
#define FNC_DSD 0x86
#define FNC_DSK 0x8DCF
#define FNC_DTN 0x8DAA
#define FNC_DTR 0x8DBC
#define FNC_EPT 0x6B
#define FNC_ERM 0x8DC0
#define FNC_ERR 0x6C
#define FNC_EXP 0x8C
#define FNC_FID 0x6D
#define FNC_FIX 0x8D97
#define FNC_FKY 0x8D9B
#define FNC_FMD 0x8DDB
#define FNC_FMT 0x8DDF
#define FNC_FPT 0x6E
#define FNC_FST 0x8DCB
#define FNC_GAP 0x6F
#define FNC_HSH 0x71
#define FNC_HTA 0x72
#define FNC_IND 0x73
#define FNC_INF 0x8DD0
#define FNC_INT 0x74
#define FNC_IOR 0x75
#define FNC_KEY 0x76
#define FNC_LEN 0x77
#define FNC_LKY 0x8D9A
#define FNC_LOG 0x89
#define FNC_LRC 0x78
#define FNC_LST 0x79
#define FNC_MAX 0x8DB3
#define FNC_MIN 0x8DB2
#define FNC_MNE 0x8D9F
#define FNC_MOD 0x7A
#define FNC_NEA 0x8DB8
#define FNC_NLG 0x8A
#define FNC_NMV 0x8DC7
#define FNC_NOT 0x7B
#define FNC_NTD 0x8DA9
#define FNC_NUM 0x7C
#define FNC_PAD 0x8DC1
#define FNC_PCK 0x87
#define FNC_PFL 0x8D9D
#define FNC_PFP 0x8D9E
#define FNC_PGM 0x84
#define FNC_PKY 0x8D99
#define FNC_POS 0x7D
#define FNC_PUB 0x7E
#define FNC_REV 0x8DE2
#define FNC_RND 0x8D98
#define FNC_RTD 0x8DBD
#define FNC_RTI 0x8DDE
#define FNC_SDX 0x8DCC
#define FNC_SGN 0x7F
#define FNC_SIN 0x8D90
#define FNC_SQR 0x8B
#define FNC_SSZ 0x83
#define FNC_STL 0x8DBB
#define FNC_STP 0x48
#define FNC_STR 0x80
#define FNC_SWP 0x8DBE
#define FNC_TAN 0x8D92
#define FNC_TBL 0x8DBF
#define FNC_TCB 0x85
#define FNC_TSK 0x81
#define FNC_UCM 0x8DB5
#define FNC_UCS 0x50
#define FNC_LCS 0x51
#define FNC_UPK 0x88
#define FNC_XFD 0x8DAC
#define FNC_XOR 0x82
#define VAR_ARGC 0x8DCE
#define VAR_CDN 0x8DAD
#define VAR_CDS 0x8DAE
#define VAR_CMASK 0x8DDD
#define VAR_CTL 0x92
#define VAR_DATEMASK 0x8DDC
#define VAR_DATESTRINGS 0x8DC6
#define VAR_DAY 0x90
#define VAR_DIR 0x8DC4
#define VAR_DLM 0x8E77
#define VAR_DNE 0x8DD6
#define VAR_DSZ 0x94
#define VAR_EOM 0x66
#define VAR_ERC 0x8DE1
#define VAR_ERS 0x8DD7
#define VAR_ERR 0x93
#define VAR_ERRBUF 0x8DD8
#define VAR_ESC 0x99
#define VAR_FDT 0x8DB6
#define VAR_FMTNL 0x8DD9
#define VAR_OCH 0x9D
#define VAR_PGN 0x9B
#define VAR_PRC 0x9F
#define VAR_PREFIX 0x8DB9
#define VAR_PRM 0x8DD5
#define VAR_PSZ 0x95
#define VAR_PTN 0x8DB7
#define VAR_QUO 0x98
#define VAR_SEP 0x9A
#define VAR_SSN 0x96
#define VAR_SYS 0x9C
#define VAR_TIM 0x91
#define VAR_TME 0x8DD1
#define VAR_TMS 0x52
#define VAR_TRACEMODE 0x8DD2
#define VAR_TSM 0x97
#define VAR_UNT 0x9E
#endif