IFUPLAStackControl.mesa
Copyright c 1984 by Xerox Corporation. All rights reserved.
Last edited by Curry, October 22, 1986 2:50:15 pm PDT
Last edited by McCreight, November 20, 1985 11:23:32 am PST
Don Curry March 14, 1987 12:31:11 pm 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,
microExcptJmpTrap: BOOL   ← FALSE,
pushIn3:    BOOL   ← FALSE,
popIn3:    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.