LizardTweaker.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) September 17, 1985 6:31:02 pm PDT
DIRECTORY
DragOpsCross USING [Inst, Word],
LizardHeart USING [Processor];
LizardTweaker: CEDAR DEFINITIONS = BEGIN
OpcodeHandler: TYPE = PROC [
data: REF,   -- callback data
processor: LizardHeart.Processor, -- the processor executing the instruction
inst: DragOpsCross.Inst,  -- the instruction
rest: DragOpsCross.Word]  -- the operand (right-justified)
RETURNS [normal: BOOLFALSE]; -- normal => do normal opcode processing
Register: PROC [inst: DragOpsCross.Inst, handler: OpcodeHandler, data: REFNIL];
OpcodeRegistry: TYPE = REF OpcodeRegistryRep;
OpcodeRegistryRep: TYPE = ARRAY DragOpsCross.Inst OF OpcodeRegistryEntry;
OpcodeRegistryEntry: TYPE = RECORD [handler: OpcodeHandler, data: REF];
END.