Xerox 560 Reference Manual page 94

Hide thumbs Also See for 560:
Table of Contents

Advertisement

In the descriptions of the byte-string instructions, the
following abbreviations and terms are used:
o
Displacement, (1)12-31.
SA
ESA
C
DA
SBS
DBS
Source address, (R)13-31
Effecti ve source address, [(R) 13 -31 +(1) 12 -31} 3 -31
The contents of bit positions 13-31 of register R
are added (right aligned) to the contents of bit
posi tions 12-31 of the instruction word; the 19 low-
order bits of the result are used as the effective
source address.
Count, (Ru1)0_7
Destination address, (Ru1)13_31
Source byte string, the byte' string that begins with
the byte location pointed to by the 19-bit effec-
tive source address and is C bytes in length (if
R is 0).
Destination byte string, the byte string that begins
with the byte location pointed to by the des-
ti nati on address and is always C bytes in length.
TRAPS BY BYTE-STRING INSTRUCTIONS
Byte-string instructions cause a trap if either of the addressed
byte strings come from memory pages that are protected by
either access protection or write locks. A trap also occurs
if
elther byte stdng is fully or partly contoi!"'!ed with!!"'!
mem-
ory pages that are physically not present.
A check for
these access trap conditions is made prior to initiation of
any byte relocation or general register change. These tests
are performed for MOVE BYTE STRING and TRANS LATE
BYTE STRING. The source and destination locations are
tested for MOVE BYTE STRING; only the destination lo-
cation is tested for TRANSLATE BYTE STRING, since there
is no assurance that the translate table wi II be accessed in
its entirety in the course of execution. If an access pro-
tection violation were to occur in trying to reach a byte in
the translate table or decimal digit strings during the course
of execution, then the instruction would trap and result in
Ci pCii-tiCilly executed condition.
However,
if
the destina-
tion byte string does overlap the translation table, the reg-
isters would be restored in such a manner that the instruction
could be restarted after the protection violation had been
corrected.
When a trap occurs resulting in a partially
executed instruction, the Register Altered indi cator wi"
be set.
88
Byte-String Instructions
MBS
MOVE BYTE STRING
(Immediate Displacement, continue after interrupt)
MOVE BYTE STRING copies the contents of the source byte
string (left to right) into the destination byte string.
The
previous contents of the destination byte string are de-
stroyed, but the contents of the source byte string are not
affected unless the destination byte string overlaps the
source byte string.
When the destination byte string overlaps the source byte
string, the resulting destination byte string contains one or
more repetitions of bytes from the source byte string.
Thus,
if a destination byte string of C bytes begins with the
kth byte of a source byte string (numbering from 1), the first
k-1 bytes of the source byte string are duplicated in the
destination byte string x number of times, where x = C/{k-1).
For example, if the destination byte string begins with the
second byte of the source byte string, the first byte of the
source byte string is duplicated throughout the destination
byte string.
If both byte strings begin with the same byte (i. e., k = 1)
and the R field of MBS is nonzero, the destination byte
string is read and replaced into the same memory locations.
However,
if
both byte strings begin with the same byte and
the R field of MBS is zero, the first byte of the byte string
is duplicated throughout the remainder of the byte string
(see "Case 111", below).
Affected: (DBS), (R), (Ru1)
(SBS) -DBS
If MBS is indirectly addressed, it is treated as a nonexistent
instruction.
The basic processor unconditionally aborts
execution of the instruction (at the time of operation code
decoding) and traps to location X'40' with the contents of
register R and the destination byte string unchanged. See
"Traps by Byte String Instructions" (in this section) for other
trap conditions.
Case I, even, nonzero R fi e Id (Ru 1 =R + 1)
Contents of register R:
Contents of register R+1:
The source byte string begins with the byte location pointed
to by the source address in register R plus the displacement
in MBS; the destination byte string begins with the byte lo-
cation pointed to by the destiratior address in register
R+l.

Advertisement

Table of Contents
loading

Table of Contents