; EmulatorDefs.mu -- Alto definitions for emulator-level microprogramming

;	Last modified October 12, 1977  2:57 PM


; Standard microinstruction addresses in the Rom
; (see Alto Hardware Manual, section 9.1).
; These declarations do not cause space to be allocated in the Ram
; (except TRAP1, which we presumably want to define in the Ram)

$START		$L4020, 0, 0;
$RAMCYCX	$L4022, 0, 0;
$BLT		$L4105, 0, 0;
$BLKS		$L4106, 0, 0;
$MUL		$L4120, 0, 0;
$DIV		$L4121, 0, 0;
$BITBLT		$L4124, 0, 0;
$L0		$L4160, 0, 0;

!37,1, TRAP1;


; Standard R-registers usable by the emulator task

$AC3		$R0;	Accumulators
$AC2		$R1;
$AC1		$R2;
$AC0		$R3;
$NWW		$R4;	New wakeups waiting (communication between tasks)
$SAD		$R5;	Temporary private to emulator
$PC		$R6;	Program Counter for emulated Nova
$XREG		$R7;	Temporary private to emulator.
;			Contains instruction LCY 8 upon dispatch to TRAP1.
$XH		$R10;	Temporary private to emulator
$MTEMP		$R25;	Temporary usable by any task
$DWAX		$R35;	Temporary private to emulator
$MASK		$R36;	Temporary private to emulator

$LREG		$R40;	Another name for the M-register