mirror of
https://git.sfja.dk/Mikkel/slige.git
synced 2025-01-18 12:46:31 +00:00
32 lines
526 B
TypeScript
32 lines
526 B
TypeScript
|
export type Ins = Ops | number;
|
||
|
export type Program = Ins[];
|
||
|
|
||
|
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;
|
||
|
export type Ops = typeof Ops;
|