js-slang
Version:
Javascript-based implementations of Source, written in Typescript
148 lines (147 loc) • 2.67 kB
TypeScript
export declare enum OpCodes {
NOP = 0,
LDCI = 1,
LGCI = 2,
LDCF32 = 3,
LGCF32 = 4,
LDCF64 = 5,
LGCF64 = 6,
LDCB0 = 7,
LDCB1 = 8,
LGCB0 = 9,
LGCB1 = 10,
LGCU = 11,
LGCN = 12,
LGCS = 13,
POPG = 14,
POPB = 15,
POPF = 16,
ADDG = 17,
ADDF = 18,
SUBG = 19,
SUBF = 20,
MULG = 21,
MULF = 22,
DIVG = 23,
DIVF = 24,
MODG = 25,
MODF = 26,
NOTG = 27,
NOTB = 28,
LTG = 29,
LTF = 30,
GTG = 31,
GTF = 32,
LEG = 33,
LEF = 34,
GEG = 35,
GEF = 36,
EQG = 37,
EQF = 38,
EQB = 39,
NEWC = 40,
NEWA = 41,
LDLG = 42,
LDLF = 43,
LDLB = 44,
STLG = 45,
STLB = 46,
STLF = 47,
LDPG = 48,
LDPF = 49,
LDPB = 50,
STPG = 51,
STPB = 52,
STPF = 53,
LDAG = 54,
LDAB = 55,
LDAF = 56,
STAG = 57,
STAB = 58,
STAF = 59,
BRT = 60,
BRF = 61,
BR = 62,
JMP = 63,
CALL = 64,
CALLT = 65,
CALLP = 66,
CALLTP = 67,
CALLV = 68,
CALLTV = 69,
RETG = 70,
RETF = 71,
RETB = 72,
RETU = 73,
RETN = 74,
DUP = 75,
NEWENV = 76,
POPENV = 77,
NEWCP = 78,
NEWCV = 79,
NEGG = 80,
NEGF = 81,
NEQG = 82,
NEQF = 83,
NEQB = 84,
ARRAY_LEN = 1000,
DISPLAY = 1001,
DRAW_DATA = 1002,
ERROR = 1003,
IS_ARRAY = 1004,
IS_BOOL = 1005,
IS_FUNC = 1006,
IS_NULL = 1007,
IS_NUMBER = 1008,
IS_STRING = 1009,
IS_UNDEFINED = 1010,
MATH_ABS = 1011,
MATH_ACOS = 1012,
MATH_ACOSH = 1013,
MATH_ASIN = 1014,
MATH_ASINH = 1015,
MATH_ATAN = 1016,
MATH_ATAN2 = 1017,
MATH_ATANH = 1018,
MATH_CBRT = 1019,
MATH_CEIL = 1020,
MATH_CLZ32 = 1021,
MATH_COS = 1022,
MATH_COSH = 1023,
MATH_EXP = 1024,
MATH_EXPM1 = 1025,
MATH_FLOOR = 1026,
MATH_FROUND = 1027,
MATH_HYPOT = 1028,
MATH_IMUL = 1029,
MATH_LOG = 1030,
MATH_LOG1P = 1031,
MATH_LOG2 = 1032,
MATH_LOG10 = 1033,
MATH_MAX = 1034,
MATH_MIN = 1035,
MATH_POW = 1036,
MATH_RANDOM = 1037,
MATH_ROUND = 1038,
MATH_SIGN = 1039,
MATH_SIN = 1040,
MATH_SINH = 1041,
MATH_SQRT = 1042,
MATH_TAN = 1043,
MATH_TANH = 1044,
MATH_TRUNC = 1045,
PARSE_INT = 1046,
RUNTIME = 1047,
STREAM = 1048,
STRINGIFY = 1049,
PROMPT = 1050,
DISPLAY_LIST = 1051,
CHAR_AT = 1052,
ARITY = 1053,
EXECUTE = 2000,
TEST_AND_SET = 2001,
CLEAR = 2002
}
export declare const OPCODE_MAX = 84;
export declare function getInstructionSize(opcode: OpCodes): number;
export default OpCodes;