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
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;