DIRECTORY BreakWorldArchitecture, MIPSArchitecture, TargetArchitecture, MIPSBreakWorldUtilities; MIPSBreakWorldUtilitiesImpl: CEDAR PROGRAM IMPORTS BreakWorldArchitecture, MIPSArchitecture, TargetArchitecture EXPORTS MIPSBreakWorldUtilities ~ { MIPSInstructionFromBreakWorldAddress: PUBLIC PROCEDURE [ address: BreakWorldArchitecture.Address, displacement: TargetArchitecture.Displacement _ TargetArchitecture.nullDisplacement] RETURNS [MIPSArchitecture.MIPSInstruction] ~ { IF address.IsNullAddress[] THEN { ERROR BreakWorldArchitecture.Cant[ code: $NullAddress, message: "MIPSInstructionFromBreakWorldAddress[nullAddress]"]; }; { instruction: MIPSArchitecture.MIPSInstruction ~ MIPSArchitecture.MIPSInstructionFromTargetInstruction[ instruction: BreakWorldArchitecture.PeekInstruction[ pc: address, displacement: displacement]]; RETURN [instruction]; }; }; MIPSAddressFromBreakWorldAddress: PUBLIC PROCEDURE [ address: BreakWorldArchitecture.Address, displacement: TargetArchitecture.Displacement _ TargetArchitecture.nullDisplacement] RETURNS [MIPSArchitecture.MIPSAddress] ~ { IF address.IsNullAddress[] THEN { ERROR BreakWorldArchitecture.Cant[ code: $NullAddress, message: "MIPSInstructionFromBreakWorldAddress[nullAddress]"]; }; { targetAddress: TargetArchitecture.Address ~ TargetArchitecture.AddressFromDisplacement[ address: BreakWorldArchitecture.TargetAddressFromBreakWorldAddress[address: address], displacement: displacement]; mipsAddress: MIPSArchitecture.MIPSAddress ~ MIPSArchitecture.MIPSAddressFromTargetAddress[ address: targetAddress]; RETURN [mipsAddress]; }; }; }. ” MIPSBreakWorldUtilitiesImpl.mesa Copyright Σ 1992 by Xerox Corporation. All rights reserved. Katsuyuki Komatsu August 5, 1992 6:03 pm PDT Κ±•NewlineDelimiter – "cedar" style™codešœ ™ Kšœ Οrœ1™