; IfsRamTrap.mu -- RamTrap.mu modified for IFS
; Copyright Xerox Corporation 1979, 1980, 1981

; Last modified May 3, 1981  4:05 PM by Taft

; Trap handler and dispatcher for instructions that trap into
; the RAM.  In the following predefinition, the tags correspond
; to opcodes 60000, 60400, 61000, 61400, ... 77400.
; Note that opcodes 60000, 60400, 61000, 64400, 65000, 67000, and 77400
; cannot be used since control never gets to the RAM for these.

; GetFrame	61400
; Return	62000
; BcplUtility	62400
; PupChecksum	63000
; XMOps		63400
; XBcplUtility	64000	must have IR[4:7] = 10B
; ObjCall	65400
; STA3JSRI	66000	must have IR[6:7] = 0
; GetNextChar	66400
; InitVMem	74000
; rref		74400
; wref		75000

!37,40, TrapDispatch,,, GetFrame, Return, BcplUtility, PupChecksum,
	XMOps, XBcplUtility,,, ObjCall, STA3JSRI, GetNextChar,,,,,,,,,,,
	InitVMem, rref, wref;


; Control comes here with the instruction LCY 8 in XREG
TRAP1:	T← 37;
TrapDx:	L← XREG AND T, :TrapDispatch;
TrapDispatch:
	SINK← M, BUS, TASK, :TrapDx;