Xerox Sigma 6 Reference Manual page 77

Table of Contents

Advertisement

2
3
4
Reason for abort
impending overflow of word count and
underflow of space count on a push op-
eration or impending overflow of space
count and underflow of word count on
a pull operation.
The push-down stack
limit trap was inhibited by both the TW
and the TS bits
If
a push-down instruction is successfully executed, CC1
and CC3 are reset to 0 at the completion af the instruction.
Also, CC2 and CC4 are independently set to indicate the
current status of the space count and the word count, re-
spectivel y, as follows:
2
3
4
Status of space and word counts
- - - - - - -
o
0
the current space count and the current
o
word count are both greater than zero
the current space count is greater than
zero, but the current word count is zero,
indicating that the stack is now empty.
If
the next operation on the stack is a
pull instruction, the instruction wi II be
aborted
o
the currert word count is greater than
zero, but the current space count is zero,
indicating that the stack is now full.
If
the next operation on the stack is a push
i nstructi on, the i nstructi on wi
II
be aborted
If
the computer does not trap to location X 1421 as a result
of impending stack limit overflow/underflow, CC2 and
CC4 indicate the status of the space and word counts at
the termination of the push-down instruction, regardless
of whether or not the space and word counts were actually
modified by the instruction.
In the following descriptions
of the push-down instruction, only those condition codes
are given that can actual
I
y be produced by the instruction,
provided the computer does not trap to location X1421.
PSW
PUSH WORD
(Doubleword index al ignment)
PUSH WORD stores the contents of register R into the push-
down stack defined by the stack pointer doubleword located
at the effective doubleword address of PSW.
If
the push
operation can be successfully performed, the instruction
operates as follows:
1.
The current top-of-stack address (SPD15-31) is incre-
mented by 1, to point to the new top-of-stack
location.
2.
The contents of register R are stored in the location
poi nted to by the new top-of-stack address.
3.
The space count (SPD33-47) is decremented by 1 and
the word count (SPD49-63) is incremented by 1.
4.
The condition code is set to reflect the new status of
the space count.
Affected: (SPD), (TSA+1),
Trap: push-down stack limit
CC
(SPD)15_31 + 1 - - SPD 15 _ 31
(R) -
(SPD
15
_
31
)
(SPD)33_47 - 1 - - SPD 33 _ 47
(SPD) 49-63 + 1 -
SPD 49-63
Condition code settings:
2
3
4
Result of PSW
0
0
0
0
space count is greater
than 0
0
0
0
space count is now 0
0
0
0
word count
=
2 15 _1,
TW
=
1
0
0
space count
=
0,
TS
=
1
0
space count = 0, word
count
=
0, TS = 1
°
word count
=
2 15 _1,
space count = 0,
TW
=
1, and TS=l
PlW
PULL WORD
(Doubleword index alignment)
I
instruct i on
completed
instruction
aborted
PULL WORD loads register R with the word currently at the
top of the push-down stack defined by the stack pointer
doubleword located at the effective doubleword address of
PLW.
If the pull operation can be performed successfully,
the instruction operates as follows:
1.
Register R is loaded with the contents of the location
pointed to by the current top-of-stack address
(SPD 15-31).
2.
The current top-of-stack address is decremented by 1,
to point to the new top-of-stack location.
3.
The space count (SPD33-47) is incremented by 1 and
the word count (SPD49-63) is decremented by 1.
4.
The condition code is set to reflect the status of the
new word count.
Affected: (SPD), (R), CC
Trap: Push-down stack limit
((SPD)15_31) -
Ri (SPD)15_31 -1 -
SPD 15 _ 31
(SPD)33_47 + 1 -
SPD 33 _ 4
i
(SPD 49-63- 1
-SPD
49
-
63
Push-Down Instructions
69

Advertisement

Table of Contents
loading

Table of Contents