slige/src/arch.ts

32 lines
526 B
TypeScript
Raw Normal View History

2024-11-01 13:06:28 +01:00
export type Ins = Ops | number;
export type Program = Ins[];
2024-11-08 09:24:09 +01:00
export type Ops = typeof Ops;
2024-11-01 13:06:28 +01:00
export const Ops = {
Nop: 0,
PushNull: 1,
PushInt: 2,
PushString: 3,
PushArray: 4,
PushStruct: 5,
PushPtr: 6,
Pop: 7,
LoadLocal: 8,
StoreLocal: 9,
Call: 10,
Return: 11,
Jump: 12,
JumpIfNotZero: 13,
Add: 14,
Subtract: 15,
Multiply: 16,
Divide: 17,
Remainder: 18,
Equal: 19,
LessThan: 20,
And: 21,
Or: 22,
Xor: 23,
Not: 24,
} as const;