;;;	Bytecode.a;;	Author		Jonathan Kipling Knight;	Created		12/27/2000;	Modified	12/27/2000;;; Primitive FunctionsaddFn				EQU 0x00subtractFn			EQU 0x01arefFn				EQU 0x02setArefFn			EQU 0x03equalsFn			EQU 0x04notFn				EQU 0x05notEqualsFn			EQU 0x06multiplyFn			EQU 0x07divideFn			EQU 0x08divFn				EQU 0x09lessThanFn			EQU 0x0AgreaterThanFn		EQU 0x0BgreaterOrEqualFn	EQU 0x0ClessOrEqualFn		EQU 0x0DbitAndFn			EQU 0x0EbitOrFn				EQU 0x0FbitNotFn			EQU 0x10newIteratorFn		EQU 0x11lengthFn			EQU 0x12cloneFn				EQU 0x13setClassFn			EQU 0x14addArraySlotFn		EQU 0x15stringerFn			EQU 0x16hasPathFn			EQU 0x17classOfFn			EQU 0x18	MACRO	Bytecode $class, $num		[ $num<7	DCB $class:SHL:3 + $num	|	DCB $class:SHL:3 + 7	DCB ($num:SHR:8):AND:0xFF	DCB $num:AND:0xFF	]		MEND	MACRO	Pop	Bytecode 0x00, 0	MEND		MACRO	Dup	Bytecode 0x00, 1	MEND		MACRO	Return	Bytecode 0x00, 2	MEND		MACRO	PushSelf	Bytecode 0x00, 3	MEND		MACRO	SetLexScope	Bytecode 0x00, 4	MEND		MACRO	IterNext	Bytecode 0x00, 5	MEND		MACRO	IterDone	Bytecode 0x00, 6	MEND		MACRO	PopHandlers	Bytecode 0x00, 7	MEND		; 0x01 - 0x02 classes are undefined		MACRO	Push $n	Bytecode 0x03, $n ; 0x18 + $n	MEND		MACRO	PushConstant $n	  	Bytecode 0x04, $n ; 0x20 + $n	MEND		MACRO	PushInteger $n	PushConstant $n:SHL:2	MEND		MACRO	PushMagicPointer $n	ASSERT $n>=0	ASSERT $n<4096	PushConstant $n:SHL:2 + 0x3	MEND		MACRO	PushCharacter $n	PushConstant $n:SHL:4 + 0x6	MEND		MACRO	PushTrue	PushConstant 0x1A	MEND		MACRO	PushNIL	PushConstant 0x2	MEND		MACRO	Call $n	Bytecode 0x05, $n	MEND		MACRO	Invoke $n	Bytecode 0x06, $n	MEND		MACRO	Send $n	Bytecode 0x07, $n	MEND		MACRO	SendIfDefined $n	Bytecode 0x08, $n	MEND		MACRO	Resend $n	Bytecode 0x09, $n	MEND		MACRO	ResendIfDefined $n	Bytecode 0x0A, $n  ; 0x50 + $n	MEND		MACRO	Branch $n	Bytecode 0x0B, $n	MEND		MACRO	BranchIfTrue $n	Bytecode 0x0C, $n	MEND		MACRO	BranchIfFalse $n	Bytecode 0x0D, $n	MEND		MACRO	FindVar $n	Bytecode 0x0E, $n	MEND		MACRO	GetVar $n	Bytecode 0x0F, $n	MEND		MACRO	MakeFrame $n	Bytecode 0x10, $n	MEND		MACRO	MakeArray $n	Bytecode 0x11, $n	MEND		MACRO	GetPath $n	ASSERT $n<2	ASSERT $n>=0	Bytecode 0x12, $n	MEND		MACRO	SetPath $n	ASSERT $n<2	ASSERT $n>=0	Bytecode 0x13, $n	MEND		MACRO	SetVar $n	Bytecode 0x14, $n	MEND		MACRO	FindSetVar $n	Bytecode 0x15, $n  ; 0xA8 + $n	MEND		MACRO	IncrVar $n	Bytecode 0x16, $n	MEND		MACRO	BranchIfNotDone $n	Bytecode 0x17, $n	MEND		MACRO	PrimitiveFn $n	Bytecode 0x18, $n	MEND		MACRO	NewHandlers $n	Bytecode 0x19, $n	MEND		; 0x1A - 0x1F classes are undefined		END