MonkeyTweaker.mesa
Copyright © 1985, 1986 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) September 11, 1986 0:12:55 am PDT
Last Edited by: Ross January 29, 1987 1:12:56 pm PST
DIRECTORY
TamarinOps USING [Inst, Word],
MonkeyHeart USING [Processor];
MonkeyTweaker: CEDAR DEFINITIONS = BEGIN
OpcodeHandler: TYPE = PROC [
data: REF,   -- callback data
processor: MonkeyHeart.Processor, -- the processor executing the instruction
inst: TamarinOps.Inst,  -- the instruction
rest: TamarinOps.Word]  -- the operand (right-justified)
RETURNS [normal: BOOLFALSE]; -- normal => do normal opcode processing
Register: PROC [inst: TamarinOps.Inst, handler: OpcodeHandler, data: REFNIL];
OpcodeRegistry: TYPE = REF OpcodeRegistryRep;
OpcodeRegistryRep: TYPE = ARRAY TamarinOps.Inst OF OpcodeRegistryEntry;
OpcodeRegistryEntry: TYPE = RECORD [handler: OpcodeHandler, data: REF];
END.