C2CAddressingOps.mesa
Copyright Ó 1987, 1988, 1990, 1991, 1993 by Xerox Corporation. All rights reserved.
Christian Jacobi, January 18, 1988 1:09:03 pm PST
Christian Jacobi, January 20, 1993 3:03 pm PST
DIRECTORY
C2CDefs USING [Code, Mode],
C2CMain USING [CodeCont],
IntCodeDefs USING [Node];
C2CAddressingOps: CEDAR DEFINITIONS =
BEGIN
Code: TYPE = C2CDefs.Code;
Mode: TYPE = C2CDefs.Mode;
CodeCont: TYPE = C2CMain.CodeCont;
Node: TYPE = IntCodeDefs.Node;
LoadArithNode: PROC [node: Node] RETURNS [cc: CodeCont];
--loads node [assuming node is used in an arithmetic op {restricts size}]
--does the right thing with subnodes
ModizeArithCode: PROC [incc: CodeCont, mode: Mode, bits: INT ¬ 0] RETURNS [cc: CodeCont];
--assumes in-cc is result of arithmetic operations;
--converts it to required mode
--bits: supposed size of incc; NOT size of template
CodeToAssUnits: PROC [ec: Code, mode: Mode] RETURNS [sc: Code];
--ec expression code to be assigned to container stored with mode
--mode must have AssUnits addressing mode
--ec must have a size which allows simple assignment
END.