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: BOOL ← FALSE]; -- normal => do normal opcode processing
Register: PROC [inst: TamarinOps.Inst, handler: OpcodeHandler, data: REF ← NIL];
OpcodeRegistry: TYPE = REF OpcodeRegistryRep;
OpcodeRegistryRep: TYPE = ARRAY TamarinOps.Inst OF OpcodeRegistryEntry;
OpcodeRegistryEntry: TYPE = RECORD [handler: OpcodeHandler, data: REF];
END.