IFUPLAStackControl.mesa
Copyright c 1984 by Xerox Corporation. All rights reserved.
Last edited by Curry, June 9, 1986 10:42:45 am PDT
Last edited by McCreight, November 20, 1985 11:23:32 am PST
DIRECTORY
PLAOps;
IFUPLAStackControl: CEDAR DEFINITIONS
= BEGIN
StackDecodeIn: TYPE = RECORD [ -- default must be zero
bos:    Index   ← 0,
tos:    Index   ← 0,
x1ASrcStack:  BOOL   ← FALSE,
x1ADstStack:  BOOL   ← FALSE,
xBusStackEldest: BOOL   ← FALSE,
xBusStackL:  BOOL   ← FALSE,
push3:   BOOL   ← FALSE,
pop3:    BOOL   ← FALSE ];
StackAControlIn: TYPE = RECORD [
x1ASrcStack:  BOOL   ← FALSE,
x1ADstStack:  BOOL   ← FALSE,
xBusStackEldest: BOOL   ← FALSE,
xBusStackL:  BOOL   ← FALSE,
push3:   BOOL   ← FALSE,
pop3:    BOOL   ← FALSE ];
StackBControlIn: TYPE = RECORD [
stackDiff:   Index   ← 0,
push3:   BOOL   ← FALSE,
pop3:    BOOL   ← FALSE ];
StackAControlOut:  TYPE = RECORD [ -- default must be zero
stackAdjTos:   BOOL   ← FALSE,
stackAddendIsOnes: BOOL   ← FALSE,
stackCarryIsOne:  BOOL   ← FALSE ];
StackBControlOut:  TYPE = RECORD [ -- default must be zero
push3:   BOOL   ← FALSE,
pop3:    BOOL   ← FALSE,
iStkNearlyFull: BOOL   ← FALSE ];
StackDecodeOut:  TYPE = RECORD [ -- default must be zero
stkLdP:   SixteenBits ← 0,
stkLdL:   SixteenBits ← 0,
stkRd:    SixteenBits ← 0 ];
StackDecodeWtPOut:  TYPE = RECORD [ -- default must be zero
stkLdP:   SixteenBits ← 0 ];
StackDecodeWtLOut: TYPE = RECORD [ -- default must be zero
stkLdL:   SixteenBits ← 0 ];
StackDecodeRdOut:  TYPE = RECORD [ -- default must be zero
stkRd:    SixteenBits ← 0 ];
SixteenBits: TYPE = INT[0..SixTnLim];
SixTnLim:   INT = 65535;
Index:   TYPE = INT[0..DiffMod);
DiffMod:    INT = 32;
TosMod:    Index = DiffMod/2;
BosMod:    Index = DiffMod/2;
DiffSig:    Index = DiffMod-1;
TosSig:    Index = TosMod-1;
BosSig:    Index = BosMod-1;
END.