DZ51 00_Assembly_Instructions_DPS_8000_Mar87 00 Assembly Instructions DPS 8000 Mar87
DZ51-00_Assembly_Instructions_DPS_8000_Mar87 DZ51-00_Assembly_Instructions_DPS_8000_Mar87
User Manual: DZ51-00_Assembly_Instructions_DPS_8000_Mar87
Open the PDF directly: View PDF
.
Page Count: 1010
| Download | |
| Open PDF In Browser | View PDF |
LARGE SYSTEMS
ASSEMBLY
INSTRUCTIONS
'C
DPS8000
Bull
•
GCOS8
ASSEMBLY
INSTRUCTIONS
DPS8000
SUBJECT
Description of the Assembly Instructions for the DPS 8000
Information System.
SOFTWARE SUPPORTED
GCOS 8 Software Release 2500
DATE
March 1987
Worldwide
Infonnation
ORDER NUMBER
Systems
DZ51-00
Bull
~
PREFACE
""~'
This manual contains information that enables the user to code programs in
symbolic machine language which is then translated into binary machine
instructions.
This manual is directed to users who are experienced in coding within the
environment of a large-scale computer installation. Considerable knowledge and
practical experience is required in the use of address modification with
indirection, hardware indicators, fault interrupts and recovery routines, macro
operations, pseudo-operations, and other features normally encountered in a
large computer with a flexible instruction repertoire under control of a master
executive program. It is assumed that the user is familiar with the two's
complement number system.
This manual includes the processor capabilities, modes of operation, detailed
descriptions of machine instructions, virtual memory addressing, paging, and
the representation of data. It should prove useful to programmers who are
responsible for analyzing conditions that cause system failures.
In this document, multiple vertical braces and brackets should be assumed to be a
single brace or bracket; for example:
{ }
{ }
{ }
represents
{ }
]
[ ]
[ ]
[
and
represents [
]
BULL DISCLAIMS THE IMPLIED WARRANTIES OF MERCHANTABILlTY AND FITNESS FOR A
PARTICULAR PURPOSE AND MAKES NO EXPRESS WARRANTIES EXCEPI' AS MAY BE STATED
IN ITS WRITTEN AGREEMENT WITH AND FOR ITS CUSTOMER. IN NO EVENT IS BULL
LIABLE TO ANYONE FOR ANY INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES.
THE INFORMATION AND SPECIFICATIONS INTmS DOCUMENT ARE SUBJECT TO CHANGE
WITHOUT NOTICE. CONSULT YOUR BULL MARKETING REPRESENTATIVE FOR PRODUCT
OR SERVICEAVAILABILITY.
Copyright © Bull HN Information Systems Inc., 1987, 1990
All Rights Reserved
File No.: IV13, 1313
DZ51-OO
LISTING AND CORRECTING
DOCUMENTS
The Problem Analysis Solution System (PASS) data base is an online tool that provides direct
communications between Bull software development organizations and Bull customers.
Documentation-related transactions available to customers via PASS include those which:
•
Generate a list of all software documents published for the current Software Release.
•
Prepare Software Technical Action Requests (STARs) regarding documentation
discrepancies.
Logon procedures for these functions and procedures for using PASS can be obtained by contacting
the Bull Technical Assistance Center (TAC).
DOCUMENT LISTING
A list of all GeOS 8 System software documents published for this Software Release and available
through the Bull CSO Marketing and Sales Order Entry (telephone 1-800-343-6665) can be
displayed via the NEWS facility of PASS. The document lists are available via the PASS meeting
SWDOC_AVAILABILITY.
DOCUMENTATION CORRECTIONS
Customers can submit documentation error reports via the PASS online STAR Maker facility.
Responses to STARs, as well as other documentation changes, also are contained on PASS.
(Documentation corrections contained on PASS may apply to prior Software Releases as well as to
the current Software Release.)
In addition, corrections to documents will be entered on the PASS data base. Query PASS
periodically to determine if any corrections exist. Corrections documented on PASS, if applicable
to the next release of the software, will be incorporated in to the next update of the manual.
iii/iv
DZ51-OO
/'
"\
(
CDNTBN'l'S
Page
SECTION 1 INTRODUCTION ••••••••••••••••••••••••••••••••••••••••••••••
1-1
Processor Features •••••••••••••••••••••••••••••••••••••••••••••••••••
Pipeline Architecture Of The DPS 8000 ••••••••••••••••••••••••••••••
Faults And Interrupts ••••••••••••••••••••••••••••••••••••••••••••••
Connect/Interrupt Mechanism ••••••••••••••••••••••••••••••••••••••••
Online Processor Tests •••••••••••••••••••••••••••••••••••••••••••••
Operator Modes •••••••••••••••••••••••••••••••••••
Processor Modes Of Operation •••••••••••••••••••
Non-Extended/Extended Modes ••••••••••••••••••••
Memory Addressing Modes ••••••••••••••••••••••••
Virtual Memory Paging ••••••••••••••••••••••••
Absolute Mode ••••••••••••••••••••••••••••••••
Reserved Memory Space ••••••••••••••••••••••••••••••••••••••••••••••••
Interval Timer •••••••••••••••••••••••••••••••••••••••••••••••••••••••
1-1
1-2
1-2
1-3
1-4
1-4
1-4
1-6
1-7
1-7
1-8
1-8
1-8
SECTION 2 REPRESENTATION OF DATA •••••••••••••••• • • • • • • • • • • • • • • • i
2-1
··..................
.................. ..
··..................
..
..................
·.................. .
••••
Formats ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
(
position Numbering •••••••••••••••••••••••••••••••••••••••••••••••••••
The Machine Word •••••••••••••••••••••••••••••••••••••••••••••••••••••
Character-Strings ••••••••••••••••••••••••••••••••••••••••••••••••••••
Character Positions ••••••••••••••••••••••••••••••••••••••••••••••••
Bit Positions ••••••••••••••••••••••••••••••••••••••••••••••••••••••
Li terals .••..•••..•..•••••••.••.••..••...•.••••••••••••••••.•••••••••
Binary Numbers •••••••••••••••••••••••••••••••••••••••••••••••••••••••
Fixed-Point Numbers ••••••••••••••••••••••••••••••••••••••••••••••••
Floating-Point Numbers •••••••••••••••••••••••••••••••••••••••••••••
Hexadecimal Floating-Point Numbers •••••••••••••••••••••••••••••••••
Quadruple-Precision Numbers ••••••••••••••••••••••••••••••••••••••••
Normalized Binary Floating-Point Numbers •••••••••••••••••••••••••••
Binary Representation Of Fractional Values •••••••••••••••••••••••••
Decimal Numbers ••••••••••••••••••••••••••••••••••••••••••••••••••••••
Decimal Data Character Codes •••••••••••••••••••••••••••••••••••••••
Floating-Point Decimal Numbers •••••••••••••••••••••••••••••••••••••
Decimal Number Ranges ••••••••••••••••••••••••••••••••••••••••••••••
2-1
2-1
2-1
2-2
2-2
2-3
2-3
2-3
2-3
2-5
2-5
2-6
2-7
2-8
2-8
2-9
2-10
2-11
SECTION 3 MEMORY ORGANIZATION •••••••••••••••••••••••••••••••••••••••
3-1
Virtual Memory •••••••••••••••••••••••••••••••••••••••••••••••••••••••
Working Spaces •••••••••••••••••••••••••••••••••••••••••••••••••••••
Page. Tables ••••••••••••••••••••••••••••••••••••••••••••••••••••••••
:Domalns ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
3-1
3-2
3-2
3-3
3-4
3-6
Segments •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Deser i ptors ••••••••••••'••••••••••••••••••••••••••••••••••••••••••••
(
v
DZ51-00
OOICi15lr.l"S (cent)
",,
Page
Standard Descriptor ••••••••••••••••••••••••••••••••••••••••••••••
Standard Descriptor With Working Space Number ••••••••••••••••••••
Supe:r Deser i ptor •••••••••••••.••••••••••••••••••••••••••••••••• ~ ...
Supe:r Descriptor With Working Space Number •••••••••••••••••••••••
Extended Descriptor ••••••••••••••••••••••••••••••••••••••••••••••
Extended De~criptor With Working Space Number ••••••••••••••••••••
Entry Descrlptor •••••••••••••••••••••••••••••••••••••••••••••••••
DyDamlC Ll°nk°lng Descrlptor •••••••••••••••••••••••••••••••••••••••
Shrinking ••••••••••••••••••••••••••••••••••••••••••••••••••••••••
o
0
SECTION 4 PROCESSOR ACCESSIBLE
R~STERS
••••••••••••••••••••••••••••
Accumulator Register (A) •••••••••••••••••••••••••••••••••••••••••••••
Quotient Register (Q) ••••••••••••••••••••••••••••••••••••••••••••••••
Accumulator-Quotient Register (AQ) •••••••••••••••••••••••••••••••••••
EXponent Register (E) ••••••••••••••••••••••••••••••••••••••••••••••••
Exponent-Accumulator-Quotient Register (EAQ) •••••••••••••••••••••••••
I..ow Operand Register (LOR) •••••••••••••••••••••••••••••••••••••••••••
Index Registers (xn) •••••••••••••••••••••••••••••••••••••••••••••••••
General Index Registers (GXn) ••••••••••••••••••••••••••••••••••••••••
Indicator Register (IR) ••••••••••••••••••••••••••••••••••••••••••••••
Timer Register (TR) ••••••••••••••••••••••••••••••••••••••••••••••••••
Instruction Counter (Ie) •••••••••••••••••••••••••••••••••••••••••••••
Address Registers (ARn) ••••••••••••••••••••••••••••••••••••••••••••••
Linkage Segment Register (LSR) •••••••••••••••••••••••••••••••••••••••
Instruction Segment Register (ISR) •••••••••••••••••••••••••••••••••••
Segment Descriptor Registers (DRn) •••••••••••••••••••••••••••••••••••
Segment Identity Registers (SEG[Dn) ••••••••••••••••••••••••••••••••••
Instruction Segment Identity Register - S~D(IS) ••••••••••••••••••••
Pointer Registers (PR) •••••••••••••••••••••••••••••••••••••••••••••••
Option Register (OR) •••••••••••••••••••••••••••••••••••••••••••••••••
calendar Clock Register (eCR) ••••••••••••••••••••••••••••••••••••••••
Working Space Registers (WSRn) •••••••••••••••••••••••••••••••••••••••
safe Store Register (SSR) ••••••••••••••••••••••••••••••••••••••••••••
Stack Control Register (SCR) •••••••••••••••••••••••••••••••••••••••••
Argument Stack Register {ASR) ••••••••••••••••••••••••••••••••••••••••
Parameter Segment Register (PSR) •••••••••••••••••••••••••••••••••••••
High Water Mark Register (HWMR) ••••••••••••••••••••••••••••••••••••••
Data Stack Descriptor Register (DSDR) ••••••••••••••••••••••••••••••••
Data Stack Address Register (DSAR) •••••••••••••••••••••••••••••••••••
Page Directory Base Register (PDBR) ••••••••••••••••••••••••••••••••••
O>U Moo.e Register (MR.) •••••.••••••••••••••••••••••••••••••••••••••••••
cache Mode Register (CMR), Lockup Fault Register (LUF} •••••••••••••••
Configuration Register (PORT ASSIGNMENT) (CR) ••••••••••••••••••••••••
Address Trap Register (ATR) ••••••••••••••••••••••••••••••••••••••••••
Virtual Address Trap Register (VATR) •••••••••••••••••••••••••••••••••
3-8
3-10
3-11
3-12
3-12
3-13
3-14
3-15
3-16
4-1
4-3
4-4
4-4
4-5
4-5
4-6
4-6
4-7
4-8
4-12
4-13
4-13
4-15
4-15
4-16
4-17
4-18
4-19
4-19
4-20
4-21
4-21
4-22
4-23
4-23
4-24
4-25
4-25
4-26
4-26
4-28
4-30
4-32
4-33
_/J
"-
,
vi
DZS1-00
"
"
/
CDlft'BIITS (cxm.t)
Page
Reserve Memory Base Register (RMBR) ••••••••••••••••••••••••••••••••••
SCU Fault Register (SCUFR) ••••••••••••••••••••••••••••••••••••••••••.
Syndrome Register (SYR) •••.••••••••••••••••••••.••••••••••••••••••••.
SCU Configuration Register (SCUCR) •••••••••••••••••••••••••••••••••••
SCU History Register bits are added to each word pair
before the words are stored. When words are requested from a memory unit, the
EDAC bits are read from memory, verified, and removed before sending the word
pair to the processor.
The processor
processing of
memory, their
pair of words
has many built-in features for efficient transferring and
pairs of words. When a pair of words is transferred to or from
addresses are an even number and the next higher odd number. A
is arranged as follows.
2-1
DZ51-00
o
3 3
5 6
7
A Pair of Machine Words
Even Addresss
Odd Address
In an instruction intended for handling pairs of machine words, either of the
two addresses may be used as the effective address (y). Thus,
If Y is even, the pair of locations (Y, Y+l) is accessed. If Y is odd, the
pair of locations (Y-l, y) is accessed. The term "Y-pair"· is used for each
pair of addresses. Preferred coding practice refers to the even address; the
GMAP assembler issues a warning diagnostic if Y is odd in an instruction
intended for handling pairs of machine words.
Cllaracter Positions
Alphanumeric data is represented by 9-bit, 6-bit, or 4-bit characters. A
machine word contains either four, six, or eight characters, respectively.
character positions within the word are as follows:
The
9-Bit Character (Bytes):
o0
8 9
0
0
0
I
2 2
6 7
1 1
7 8
1
I
2
I
3 <--- Bit positions
5
within word
1<--- Byte
positions
within word
3
I
6-Bit Characters:
o0
0
0
I
1 1
1 2
5 6
0
I
1
I
2 2
3 4
1 1
7 8
2
3
I
I
2 3
9 0
4
I
3
5
5
I
4-Bit Characters (Packed Decimal):
o0
o1
H
o0
001
890
4 5
0
I
1
H
1 1
3 4
2
I
2 2
.2 3
111
789
3
H
4
I
222
678
5
H
3 3
1 2
6
I
3
5
7
I
The Z represents the bit value 0; other numbers in the fields represent the
character positions.
~.\
~
2-2
DZ51-00
Bit Positions
(
Bit positions within a character are as follows:
101112131
4-bit character
1011121314151
6-bit character
9-bit character
Thus, both bit and character positions increase from left to right as in normal
reading.
LI'l'BRALS
For information on literals refer to the GODS B OS GMAP User's Guide.
Bl NARY NtJMBBR.S
Fixed-Point Nwabers
Binary fixed-point numbers are represented with half-word, single-word, and
double-word precision as shown below.
Representation
Precision
o
1
7
o
tUpper Half
/
Half-word
/
\
\
1
3
B
5
\Lower Half
o
3
5
o
Single-word
o
o
3 3
5 6
7
1
~~~e- .I______~=---~~------------~I------~~~~------------~I
Even Address
Odd Address
2-3
DZ51-00
Instructions can be divided into two groups according to the way in which) the
operand is interpreted: the "logic" group and the "algebraic" group.
For logic operations, operands and results are regarded as unsigned, positive
binary numbers. In the case of addition and subtraction, the occurrence of an
overflow is indicated by the carry out of the most significant (leftmost) bit
position:
1. Addition
- If the carry out of the leftmost bit position equals 1
(Carry indicator ON), the sum is above the range.
2. Subtraction
- If the carry out of the leftmost bit position equals 0
(Carry indicator OFF), the difference is below the range.
In the case of comparisons, the zero and carry indicators show the relation.
For algebraic operations, operands and results are regarded as signed binary
numbers, and the leftmost bit is used as a sign' bit (aO being plus and 1
minus). When the sign is positive, all the bits represent the real value of the
number; when the sign is negative, they represent the two's complement of the
real value of the number.
In the case of addition and subtraction, the occurrence of an overflow is
indicated by the carries into and out of the leftmost bit position (the sign
position). If the carry into the leftmost bit position does not equal the carry
out of that position, then overflow has occurred. If overflow has been detected
and if the sign bit equals 0, the result is below range; if with overflow the
sign bit equals 1, the result is above range.
In integral arithmetic, the location of the decimal point is assumed to the
right of the least significant bit positionr that is, depending on the
precision, to the right of bit position 35 or 71 (17 for upper half-word).
The number ranges for the various·cases of precision, interpretation, and
arithmetic are given in Table 2-1.
Table 2-1.
Ranges Of Fixed-Point Numbers
Precision
Interpretation Arittmetic
Algebraic
Hal f_ord
YO ... 17)
Single-Word
(A.O,Y)
Double-Word
(AO,Y-pair)
_217~~{217_1)
-2 3S~~(2 3S_ 1 )
-2 71~'-(2 71_ 1 )
-1~'-(1-2-17)
-1~~( 1-2 -3S)
-1~'-( 1-2 -71)
Integral
0~'-{2 18_ 1 )
0~'-(2 36_1)
0"",-(2 72 _ 1 )
Fraet ional
O~,-( 1-2 -18)
O~,-( 1-2 -36)
O~~( 1_2-72 )
Integral
Fractional
(Xn,
Logic
2-4
-
DZ51-00
Ploating-Point Numbers
( '.'
Floa~iI,lg-point numbers are represented with single-word and double-word
preclslon. The upper 8 bits represent the integral exponent to the base 2 in
two's complement form, and the lower 28 or 64 bits represent the fractional
mantissa in two's complement form.
The format for a floating-point number is:
assumed
point
o0 0
7 8 9
~radix
0 0
0 1
Single-Word
Precision:
"
o0
o1
Double-Word
Precision:
C
Exponent ><
Mantlssa
>
assumed
-radix point
o0 0
7 8 9
S
<
= sign
S
S
<
where S
3
5
7
1
S
Exponent ><
Mantlssa
>
bit
Before performing binary floating-point additions or subtractions, the processor
aligns the number that has the smaller exponent. To maintain accuracy, the
lowest permissible exponent of -128, together with the mantissa of zero, has
been defined as the machine representation of the number zero (which has no
unique floating-point representation). Whenever a floating-point operation
yields an untruncated resultant mantissa equal to zero (71 bits plus sign
because of extended precision), the exponent is automatically set to -128.
Hexadecimal Ploating-Point Numbers
The hexadecimal option may be used in floating-point operations to declare
hexadecimal constants, either explicitly or by default. The term hexadecimal
refers to a floating-point format where the mantissa is a binary number, while
the exponent represents a power of 16 (2**4). The mantissa is shifted by the
number of places for 4-bit groups as required by the exponent.
The hexadecimal floating-point mode is enabled only when bit 32 of the Indicator
Register is set to 1 and bit 33 of the mode register is set to 1. After the
hexadecimal floating-point mode is requested, the user controls the
floating-point mode via the Indicator Register. If the bit 32 of the Indicator
Register is not set to 1, the floating-point mode will be binary.
(
2-5
DZ51-00
Quadruple-Precision lumbers
The data format used in quadruple-precision arithmetic is illustrated below.
Notice that the format of data to be used in an operation is somewhat different
from that of data to be stored after the operation.
The format for data when an operand in main memory is used as arithmetic data:
y-pair
Y+2 pair
\1
I
o 0 0
7 7
1 2
078
1\
4
8 8
3 4
3
\\\\\\\\
MU
EO
0
7 0
\\\\\\\\
63 0\\\\\11 0
ML
59
Ignored
The format for data when the result is stored in main memory is as follows:
o0
0
0
7 8
10EU,Io
1
4
3
7 7 788 8
1 2 903 4
3
5
NO
ML
63 1oEL,1 0031
I
1-
o is
591
set
o The data in memory must reside on a double-word boundary.
o The four words of data may span two pages.
The registers E, AQ, and LOR are used for quadruple-precision arithmetic.
format for data used as operation data is as follows:
E
I-V
000
078
0
LOR
AQ
\1
1\
7 7 7 8
1 2 9 0
MU
EO
9 9
5
1
1 2
\\\\ \\\\\\\\
\\\\ \\\\\\\\
ML
63 0\\7 0\\\\\11 0
7 0
The
59
Ignored
The contents of EAQ and LOR following an operation is as follows:
1
5
7 7 7 8 889 9
000
1 2
9 0
781 2
MU
ML
1------- 0 is set
2-6
J
DZ5I-00
Field Values
EU
Exponent
Mil
High Order Mantissa
EL
ED -15 (residue)
ML
Low-order mantissa
Quadruple-precision value N = (MU
+
ML)16ED
The quadruple-precision instructions operate with the exponent as a hexadecimal
exponent regardless of the value of bit 32 of the indicator register (IR).
Normalized Binary Floating-Point Humbers
For normalized binary floating-point numbers, the binary point is placed at the
left of the most significant bit of the mantissa (to the right of the sign bit).
Numbers are normalized by shifting the mantissa left (and correspondingly
adjusting the exponent) until no leading zeros are present in the mantissa for
positive numbers, or until no leading Ones are present in the mantissa for
negative numbers. The vacated bit positions on the right are zero-filled.
The number ranges resulting from the various cases of precision, normalization,
and sign are given in Table 2-2.
(
Table 2-2.
Ranges Of Binary Floating-Point Numbers
Sign
S.ingle Precision
Positive _2:129~(1_2-27)2127
NOFn'ICII i zed
Double Precision
2129~(1_2-63)2'27
Negot ive (_1+2-26 )2-129~2127 (_1+2-62)2-'29~2127
Positive
2-1SS~( 1_2-27)2127
2-191~(1_2-63 )2 127
UnnoFn'ICII i zed
Negot ;ve
_T1S5~2127
_T1SS~_2127
NOTE: The floating-point number zero is not included in the table.
2-7
DZ5l-00
Binary Representation Of Fractional Values
A decimal fraction of a given number of digits cannot necessarily be represented
exactly by a binary fraction of any finite number of bits. Consider, for
example, the value 115, which is represented in decimal notation as 0.2. Trying
to represent it by a four-bit binary fraction, one obtains (.0011)2 or 3/16:
with eight bits, one obtains (.00110011)2 or 51/256. In fact, the exact value
must be written as
(0.2)10
= (0.0011)2 •••
which means that the bit pattern 0011 in the binary expansion keeps repeating
indef ini tely. I f the decimal value 0.2 is converted to a binary expansion of 71
bits and then converted back, the one-digit result would be 0.1, quite different
from 0.2. The four-digit result would be 0.1999, which is almost (but not
quite) equal to 0.2. If computations were involved instead of only conversions,
the imprecision in the decimal result could be propagated.
Various adjustments can be made to binary fractional values to make exact
decimal results highly probable. One may use binary integer notation to
represent all values, whether integral or fractional, but this may make
multiplication or division of an operand by a power of 10 necessary in the
course of a computation.
DDMAL NUMBERS
Scaled decimal numbers that are used directly in hardware arithmetic commands
are expressed as decimal digits in either the 4-bit or 9-bit character format.
They are expressed as unsigned numbers or as signed numbers using a separate
sign character.
r '\
,,
",,->
2-8
DZ51-00
Decimal data utilizes the following formats:
(
o0
aa
aa1
111
1 1
2 2
222
333
222
3
Packed Decimal (4-bi t )
00
001
.1:~1_1_____
111
8~1_:.IO______
0_____
7.1:~1~9_____
1 _____
6~1_:.IB______
2_____
3 _____51
ASCII/EBCDIC (9-bit)
Z represents unused bit positions.
Dec:iJIal Data Character Codes
During arithmetic operations, decimal digits and signs are checked by the
hardware as 4-bit data (the 4 least significant bits from a 9-bit numeric).
The following interpretations are made:
(
Bit Pattern for
Character
0000
0001
0010
0011
0100
0101
0110
0111
0100
1001
1010
1011
1100
1101
1110
1111
Interpreted as
Illegal Procedure
(IPR) if
a
1
2
3
4
found where
descriptor
specifies sign
5
6
7
8
9
+
+
+
-
+
+
found where
descriptor
specifies
digits
(
2-9
DZ5l-00
The following codes (9-bit zones are created by prefixing binary 00010) are
generated for output signs; the octal values are:
Plus
4-bit
9-bit
14(13)
053
Minus
15
055
For several numeric instructions, a sign value of 13 can be optionally
generated.
Floating-Point DeciEl Numbers
The format for a floating-point decimal number expressed in 9-bit characters is:
I
8-bi t
I SIGN 1 ,0n •• . ,02 1 10 '
10 0
101
EXPONENT
I
where: SIGN can start at any legal 9-bi t character boundary
In 4-bit character notation, there are four fonmats for floating-point
decimal numbers:
4-Bit
10 0
0
EXPO
'"-_ _ _ _.Even character boundary, odd' of digits. (I of digits .. n+1)
4
'"-_ _ _ _Odd charoc ter boundary,
The a-bit exponent field, which now spans two character positions, is
interpreted the same as in 9-bi t character mode. The other two formats are
formed with n+l even. This effectively exchanges the two exponent
representations in the formats shown.
!/c\
~~_/
2-10
DZ51-00
Decillal Humber Ranges
(
The number ranges for decimal numbers are:
1. Fixed-point unsigned integer:
Range = 0 ••• 1063
2. Fixed-point signed integer:
Range
= :!:
1062
3. Floating-point (implicitly signed):
a. 9-bit format range - :!: 1061
* 10+127 -128
b. 4-bit format range - :!: 1060
* 10+127 -128
c. Zero
= :!:O *
10+127 -128
(
2-11
DZ51-00
"',,
/.
I"
\
~,/
(
SIC'l'ION 3
The Central Processing Units (CPUs) access the main memory through the System
Control Unit (SCU). Similarly, the Input/Output Multiplexer (INK) also accesses _
memory through the SCU. As a component, the SCU is a passive system element,
responding to requests from active units, the O'Us and the IMXs. This large,
memory-oriented system architecture, permits both CPU and INK functions to
execute asynchronously and concurrently. The functions of read, store,
interprocessor communication, etc., are provided by the SCU.
Increased system throughput is achieved by operating the SCU and associated
memory units on a 72-bit parallel basis. This corresponds to two single-word
instructions, two data words, or one double-precision fixed-point or
floating-point number.
Systems with more than one system controller provide an increased effective
information rate, since each system controller operates independently and its
functions can be overlapped with those of other system controllers •
(
. Additional overlap is provided by memory interlacing. Each DPS 8000 SCU
operates with full memory unit interlacing, in 8-word block increments, to
reduce the possibility of the same memory unit being accessed in succession.
VIRTUAL MEMORY
Virtual memory (VM) provides an extremely large, directly addressable memory
space (2**43 bytes) and a complement of registers and instructions to manage
virtual address space. The VM space is divided into a number of working
spaces. The working spaces are further divided into variable sizes called
"segments". A segment within a working space is described by a "segment
descriptor", which has a base relative to the origin of the working space and a
bound relative to the base, together with control information. Thus, for all
memory references, virtual memory addresses are prepared relative to a
particular working space and to a particular segment base within the working
space. These virtual memory addresses are then mapped to real memory addresses
by paging mechanisms.
3-1
DZ5l-00
To access (generate a memory address for) an area of VM, a process (used here to
mean the smallest working unit of software) must have a segment descriptor that
"frames" the particular segment of VM and that.gives the desired permission for
using this segment of VM (Le., Read permission, Write permission, or Execute
permission). A process cannot create a segment descriptor, nor change the base
and bound to access an area of VM not enclosed by the area originally "framed",
nor increase the permissions field. Therefore, a process is limited to
accessing only those areas of VM described b¥ segment descriptors that are
available to the process.
The hardware environment for the virtual memory is composed of four elements 1 :
working spaces, domains, segments, and pages. .The working spaces and pages are
physical elements, whereas the segments and domains are logical elements. These
elements are treated as separate components ·of the virtual memory but must be
interpreted in the context of the whole environment, since they are closely
related in their interaction with each other.
Working Spaces
The virtual memory is divided into 512 (0 through 511) working spaces (WS) of
2**34 bytes, each of which is divided into fixed-length pages. These pages are
used for memory management and have a fixed size of 1024 words (4096 bytes)
each. Working space numbers (WSN) used to generate a particular virtual memory
address are obtained frOm one of eight working space registers (WSR) or a
segment descriptor register (DRn).
Page Tables
Each working space has an associated page table that identifies the real memory
allocation. The page table or section table for each working space is located
in real memory by a pointer that resides in the working space page table
directory (WSPTD). The directory has 512 entries and the pointer to the
directory is stored in the page directory base register (PDBR). Directory
entries are either pointers to page tables or pointers to section tables. The
section table (SCT) consists of up to 4K words called page table base words
(PBW) that allow page tables to be divided and distributed throughout the
memory. These pointers and tables can only be altered in the Privileged Master
mode.
The virtual address has three components: a working space number (WSN), a page
number, and a page byte number (commonly called an offset). The virtual address
is automatically transformed to a real address by the hardware.
1. Historically, discussion of virtual memory included reference to working
space quarters, described in this manual as working spaces. The working
space quarter concept is not used by any software implementation;
therefore, no further mention of working space quarters occurs in this
manual. The hardware has not been changed.
3-2
DZSI-OO
Domains
Another logical element of the virtual environment is the domain. A domain is
the particular subset of virtual memory that currently can be accessed by a
process. It is defined initially by the collection of descriptors contained
within the linkage segment (the segment described by the contents of the LSR).
The domain is a flexible and temporary range of operation that may encompass
several noncontiguous segments in one or more working spaces (see Figure 3-1).
Two or more domains may interact by including the same segment descriptor. Each
domain contains exactly one linkage segment to define the domain. A change of
domain implies a change of linkage segment and vice versa.
Descriptors for
the domain may also be in descriptor segments described in the linkage segment,
in descriptor registers, or in the parameter segment.
WSN Y
-- -- ----\
\
> Page 0
/
/
\
\
Segment d
> Page 1
/
/
\
\
- - - - - - - - \/
> Page 2
/
\
> Page 3
Segment e
- --- - - --
Figure 3-1.
/
/
Domain Of Noncontiguous Segments
3-3
DZ51-00
Also associated with the process are the safe store stack and the data stack
segments. The safe store stack is always used (except for GClJMB and PClJMB) in
a change of domain, but a new domain mayor may not choose to access a different
portion of the data stack segment. It does not have access to that portion used
by the calling domain.
Normally, a change of domain is accomplished through a succession of operations
that are associated with the ICLIMB instruction. Starting with two separate
domains, which for convenience are referred to as calling domain and called
domain, the entry descriptor accessed in the calling domain describes the
called-domain linkage segment and identifies a specific initial instruction in
an instruction segment described in that linkage segment. The contents of the
calling domain's registers (LSR, ASR, PSR, and DSAR), as well as those of any
other registers specified by the type of entry descriptor, are safe stored.
The change-of-domain
instruction indicates whether there are parameters
The arguments may be either vectors or
descriptors. (Refer to discussion of LDDn instruction in section 8.) If the
arguments are vectors, descriptors are prepared using the vectors and stored to
form a parameter segment for the called domain.
CLIMB
and the number of arguments.
The source of the list of vectors or descriptors is given as the contents of
pointer register zero. (Descriptor register zero identifies the segment in
which the list occurs and indicates whether vectors or descriptors are listed.
Address register zero gives the offset in that segment of the list.) On
change-of-domain return (OClJMB), the contents of the calling-domain's domain
registers and any other register contents that were safe stored are restored.
Segments
.,,- j
Another division of the working space is the segment. Each segment is a logical
entity of variable length and may be as small as one byte or as large as 232
bytes. Consequently, a segment may reside on a portion of a page or span
several pages. (Refer to Figure 3-2). Segments are described with two-word
(72-bit) segment descriptors. When a virtual address is generated, the segment
descriptor is located in the segment descriptor register. segments in virtual
memory are specified with a base value which is relative to the origin of the
WS, and a bound which is relative to the base.
3-4
DZ5l-00
Working Space
(
/
/
Page 0
<
<--Segment a
\
<-Segment b
\
/
\
/
Page 1
\
<
\
\
/
--------->
/
Page 2
<
Segment c
\
\
/
---------/
/
Page 3
<
/
\
\
----------
Figure 3-2.
(
Layout Of segments On Pages
To understand the relationship between pages and segments, it is necessary to
understand the structure of a working space. The combination of a working space
number and offset within the related working space is called a virtual address.
Pages of lK size are ordered sequentially b¥ virtual page number within a
working space. Each page is represented b¥ a page table word (P'l'W) that points
to a real page, if that page is in memory.
A segment is a logical sequence of virtual addresses, starting from a base and
of a size equal to the bound of that segment. The base and bound of a segment
are contained in a system protected, two-word structure called a segment
descriptor. A segment may be small, contained anywhere within a page, or it may
span multiple pages, irrespective of page boundaries.
A segment is characterized by its elements and the form of access to these
elements, which can be Execute, Read, or Write. Segments are classified either
as descriptor segments or operand segments. The descriptor segments that
contain valid descriptors as part of their contents may be used as linkage,
parameter, argument, or safe store segments; whereas the operand segments may be
instruction-only, data-only, instruction and data segments, or data stack
segments as illustrated in the following diagram.
(
3-5
DZ5l-00
,/
Seljp'l"ent
L inkage Parcmeter Arg&ment Safe Store
Seljp'l"en t Se.".n t
Segnen t
Se9'lln t
(LS)
(PS)
(AS)
(55)
Instruct ion
Se.".nt
( IS)
Data
Dato Stock
Se9'llnt
(OS)
Se.,.,.nt
(DSS)
A segment of either class may also be loaded into one of the eight operand
descriptor registers (DRg).
Descriptors
A descriptor consists of a 72-bit word-pair and locates a segment in virtual
memory. When the processor hardware obtains a descriptor from memory, the
processor assumes that the descriptor begins on an even-word boundary and
ignores the least significant bit of the virtual word address. If a descriptor
is stored from a register, the processor hardware stores on an even-word
boundary.
To allow a process to have access to a segment, a copy of the descriptor must be
obtained to locate the segment in virtual memory. Also, the descriptor
delimits, through a set of flags, what forms of access to the segment are
available.
Twelve types of descriptors are available. Those segments containing
instructions, data, or a combination of both are commonly called operand
segments .and have descriptors that are either type 0, 2, 4, 6, 12, or 14 to
indicate operand storage. The segments containing only descriptors !! can access both operand segments and segment
descriptor segments because LDDn performs different operations with each
access. These instructions indirectly access segment descriptors through
operand segments. The safe store stack contains data other than segment
descriptors. However, it is specified· with type 1 or 3 segment
descriptors. The safe store stack does not contain operand data and
cannot be accessed except with Privileged Master Mode. Using this mode,
the segment descriptor for the safe store stack can be obtained and
converted to a type 0 or 2 segment descriptor. (Refer to the LDI>!!
instruction description in Section 8.)
STANDARD DBSClUP'l'OR
The format of the standard descriptor is:
o
1 2
9 0
o
2 2
3 3
8 9
125
Flags
Bound
20
WSR
9
3
4
Even
Word
36
Word
Type
3
Base
Odd
Bound -
A
20-bit field that is the maximum valid byte address within the
segment; bits 0-17 are the word address and bits 18-19 are the
9-bit byte address. The bound is relative to the base. A zero
bound indicates a I-byte segment if bit 27 is 1.
Flags -
A 9-bit field that describes the access privileges as well as other
control information associated with the descriptor:
1(- -\
I~_j
3-8
DZ5l-00
C
Bit
Flag
Code
20
R
Meaning
Read
a
1
21
W
Write
a
1
22
S
1
C
Write not allowed
Write allowed
Store by STDn
a
23
Read not allowed
Read allowed
Descriptor may not be stored in a type 1 or 3
segment by the STDn instruction.
Descriptor may be stored in a type 1 or 3
segment by the STDn instruction.
cache Use Control
Not used by
24
x
a
E
a
P
1
B
o
A
o
-
Bound not valid; segment empty.
Bound field maximum valid address.
Available segment
1
WSR
Privileged Master mode not required for
execution
Privileged Master mode required for execution
Bound valid
1
28
Execute not allowed
Execute allowed
privilege
a
27
NS Mode
ES Mode
Execute
1
26
8000
NS/ES Mode (when in I SR; otherwise ignored)
1
25
DPS
Segment not available; references not allowed.
Segment available; references allowed.
A 3-bit field that specifies which of the eight working space
registers to use with this descriptor. The working space register
supplies the working space number (WSN).
(3-9
DZ5l-00
Type
-
Base -
A 4-bit field that defines the descriptor type.
standard descriptors are:
The two types for
Type
= 0 The descriptor "frames" instruction/operand space.
Type
=1
The descriptor "frames" an address space containing
descriptors.
A 36-bit virtual byte address that is relative to the working space
defined in the WSR. Bits 0-33 are a 34-bit word address and bits
34-35 represent a 9-bit byte within the word.
STANDARD DBSCRIP'l'OR WI'l'B liORKIlfG SPACE JfUJIBBR
The format of the standard descriptor with working space number (WSN) is:
o
o
1 2
9 0
Bound
20
2 2
2 3
Flags
3
3 3
1 2
WSN
3
5
4
Even
Word
36
Odd
Word
Type
9
Base
This format is the same as that for the standard descriptor except that the
flags field has been truncated to allow the descriptor to contain the actual
working space number rather than point to a working space register. The three
flag bits are the same as the corresponding flag bits of the standard
descriptor. The state of the truncated flags is assumed as follows:
Flags -
1. Execute not allowed (HE)
2.
Not privileged
(NP)
3. Bound valid (B)
4. Segment available (A)
WSN
-
The actual working space number.
Type
-
A 4-bit field that defines the descriptor type.
standard descriptors witn WSN are:
The two types for
Type = 2
The descriptor "frames" operand space.
Type = 3
The descriptor "frames" an address space containing
descriptors.
3-10
DZ5l-00
/ "'.
SUPER DESCRI PTOR
Super-descriptors may be used to define large segments. The definitions of the
flags WSR WSN, and type fields of the super-descriptor are the same as those
of the standard descriptor. The base and bound fields are automatically
extended on the right to a length of 36 bits. The base is extended with zeros
and the bound is extended wi th ones.
I
I
Therefore, a super descriptor with base, location, and bound of zero describes
a segment that begins at location zero of a working space and extends 2**26
bytes (16 million words). A super descriptor with a base of 1, and location of
zero, and a bound of 3 describes a segment that starts at location 2**26 and
extends 2**28 bytes (64 million words).
The format of the super descriptor is:
o1
o
o
1 2
9 0
9 0
2 2
89·
Flags
Bound
Base
10
10
9
3 3
12
3
5
WSR Type
3
4
Location
Odd
36
(
Even
Word
Word
10-bit virtual address (unit 2**26 bytes) within a working
space. The 10-bit base is converted to a 36-bit base /
4-2
DZ51-00
(
(1)
These registers are not separate physical assemblies but are
combinations of their constituent registers.
(2)
The pointer registers are not distinct physical registers but are a
collective group of registers (DRn, ARg, S~Dn).
(3)
These registers exist in the system controller. However, because
they may be read and/or written with processor instructions, they
have been included in this tablE.
In the descriptions that follow, the diagrams given for register formats do not
imply that a physical assembly possessing the pictured bit pattern actually
exists. The diagram is a graphic representation of the form of the register
data as it appears in memory when the register contents are stored or how data
bits must be assembled for loading into the register.
I f the diagrams contain the character "x" or "0", the value of the bit in the
position shown is irrelevant to the register. Bits pictured as "x" are not
changed in the receiving cell when the register is stored. Bits pictured as "0"
are set to 0 in the receiving cell when the register is stored. Neither "x"
bits nor "0" bits are loaded into the register. If fields contain the "I"
character, the field is not used.
NOTE: Following descriptions of all of the programmable registers, the registers
used only in Privileged Master Mode are described.
(
ACCUMULA'l'OR RE;I S'l'ER (A)
Format: 36 bits
1 1
7 8
0
0
A-Upper
I
18
Figure 4-1.
I
3
5
A-Lower
18
I
Accumulator Register (A) Format
Description:
A 36-bit physical register
Function:
In fixed-point instructions, holds operands and results.
In floating-point instructions, holds the most significant part of the
mantissa and the result.
4-3
DZ51-00
In shifting instructions, holds original data and shifted results.
In address preparation, may hold two logically independent offsets, A-upper
and A-lower, or an extended range bit- or character-string length.
QUOTI BH'l' lUG S'l'ER (Q)
Format:
36 bits
o
1 1
Q-Upper
3
Q-Lower
18
Figure 4-2.
18
Quotient Register registers
Function:
In fixed-point binary instructions, holds double-precision operands and
results.
In floating-point instructions, holds the mantissa and the result.
In shifting instructions, holds original data and shifted results.
EXPOlIBNT RB:;I S'l'BR (E)
Format:
B bits
o
0 0
3
zeros
B
2B
Figure 4-4.
Exponent Register (E) Format
Description:
An
B-bit physical register
Function:
In floating-point instructions, holds the exponent.
Format:
0
0
I
BO bits
o0
(E)
Exponent
7
7 0
(AQ)
I
8
Mantissa
Figure 4-5.
1
72
I
Exponent-Accumulator-Quotient Register (EAQ) Format
(
4-5
DZ51-00
Description:
A combination of the exponent (E), accumulator (A), and quotient
registers. Although the combined register has a total of 80 bits, only 72
are involved in transfers to and from main memory. The low-order 8 bits are
discarded on store and zero-filled on load (that is, Q-register bits 28-35
are zero on load; bits 64-71 of the AQ Register are ignored). See
"Floating-Point Arithmetic I~tructions" in Section 7.
Function:
In floating-point instructions, holds operands and results.
IDW OPBRARD R!GIS'l'BR (LOR)
Format:
°°
72 bits
00
70
7 0
:,1r.::0:....-_ _- - - - - - - - - - - : : 1 : . , -
I~~ ~ ~ ~ ~ ~~R~~S~.: ~ ~ ~ ~ ~ I
7
Low Operand Register
I
6~4~----------------------~7~2
8
Figure 4-6.
Low Operand Register Format
D e s c r i p t i o n : / ' '\
The lower operand register (LOR) functions in combination with the exponent
(E), accumulator (A), and quotient (Q> registers in quadruple-precision
floating-point operations.
Function:
The 72-bit lower operand register is used for the lower mantissa of
quadruple-precision (four words) with floating-point operations.
INDEX R!GISTERS ( len)
Format:
18
bits each (NS Mode)
o
1
7
18
Figure 4-7.
Index Register (Xn) Format
4-6
DZ5l-00
Description:
(
Eight IB-bit physical registers numbered 0 through 7. Index register data
may occupy the position of either an upper or lower IB-bit half-word operand.
Function:
In fixed-point binary instructions, hold half-word operands and results.
In address preparation, hold bit, character, or word offsets or hold extended
range bit- or character-string lengths.
GENERAL I HDEK RJGS'l'ERS (GXn)
Format:
36 bits (ES Mode)
Figure 4-B.
General Index Registers
(GXn)
Format
Descript ion:
Eight 36-bit physical registers numbered 0 through 7 used in ES mode only.
General register data may occupy the entire 36-bit operand.
Function:
May be used as a data operand register with fixed-point operations: however,
in the ES mode, GXn registers may be used as the single-precision operand
register.
In address preparation, hold bit, character, or word offsets or hold extended
range bit- or character-string lengths.
4-7
DZ51-00
I lID! CA'J.'OR JUG STER (I R )
Format:
18 bits
i
o
o
111 2 2 2 2 2 2 2 2 2 2 3 3 3 3
3
5
7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
xxxxxxxxxxxxxxxxxx a b c d e f 9 h i j k
1 mn p
18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Figure 4-9.
r'
q
3
Indicator Register (IR) Format
Description:
An assemblage of 15 indicator flags from various units of the processor. The
data occupies the position of a lower l8-bit half-word operand. When
interpreted as data, a bit value of 1 corresponds to the ON state of the
indicator; a bit value of 0 corresponds to the OFF state.
Function:
The functions of the individual indicator bits follow.
Key
Indicator name
Action
a
Zero
This indicator is set ON whenever the output of
the main binary adder consists entirely of zero
bits for binary or shifting instructions or the
output of the decimal adder consists entirely of
zero digits for decimal instructions; otherwise,
it is set OFF.
b
Negative
This indicator is set ON whenever the output of
bit 0 of the main binary adder has value 1 for
binary or shifting instructions or the sign
character of the result of a decimal instruction
is the negative sign character; otherwise, it is
set OFF.
c
carry
This indicator is set ON for any of the following
conditions; otherwise, it is set OFF.
(1) If a bit propagates leftward out of bit 0 of
the main binary adder for any binary or
left-shifting instruction.
'\
,,-,./J
"
4-8
DZ51-00
Key
Indicator name
(
(
Action
(2)
If Ivaluell <= Ivalue21 for a decimal numeric
comparison instruction.
(3)
If charl <= char2 for a decimal alphanumeric
comparison instruction.
d
Overflow
This indicator is set ON if the arithmetic range
of a register is exceeded in a fixed-point binary
instruction or if the target string of a decimal
numeric instruction is too small to hold the
integral part of the result. It remains ON until
reset by the Transfer On Overflow (rov)
instruction or reset by some other instruction
that loads the IR. The event that sets this
indicator ON may also cause an overflow fault.
(see overflow mask indicator below.)
e
Exponent
overflow
This indicator is set ON if the exponent of the
result of a floating-point binary or decimal
numeric instruction is greater than +127. It
remains ON until reset by the Transfer On Exponent
Overflow ('l'EX) instruction or reset by some other
instruction that loads the IR. The event that
sets this indicator ON may also cause an overflow
fault. (see overflow mask indicator below.)
f
Exponent
underflow
This indicator is set ON if the exponent of the
result of a floating-point binary or decimal
numeric instruction is less than -128. It remains
ON until reset by the Transfer On Exponent
Underflow (TEU) instruction or reset by some other
instruction that loads the IR. The event that sets
this indicator ON may also cause an overflow
fault. (See overflow mask indicator.)
(
4-9
DZ5l-00
Key
Indicator name
g
Overflow mask
Action
This indicator is set to ON or OFF only by the
RET, and CLI MB instructions. When set ON , it
inhibits the generation of the fault for those
events that normally cause an overflow fault.
When the overflow mask is ON, no overflow fault is
generated if either the overflow or the exponent
overflow indicator is set to ON status. When the
overflow mask is set OFF, an overflow fault is
generated if either the overflow or the exponent
overflow indicator is set to ON status. If the
overflow mask indicator is set OFF after an
overflow event, an overflow fault does not occur
even though the indicator for that event is still
set ON. The state of the overflow mask indicator
does not affect the setting, testing, or storing
of any other indicator, nor does it affect the
overflow fault caused by the truncation indicator.
WI,
h
Tally runout
This indicator is set OFF at initialization of any
tallying operation. It is then set ON for any of
the following conditions:
(1)
I f any Repeat instruction terminates because
of tally runout.
(2)
If a Repeat Link (RPL) instruction terminates
because of a zero 1 ink address (NS mode
only) •
(3) I f a tally exhaust is detected for an
Indirect then Tally modifier. The
instruction is executed whether or not tally
runout occurs.
(4)
i
Parity error
I f a string scanning instruction reaches the
end of the string without finding a match
concHtion.
This indicator is set by the hardware when a
parity error occurs on an access to memory. It can
be set with the WI and STI instructions.
The
indicator is set OFF only by instructions that
load the IR.
r"~,
I
,;
"--/
4-10
DZ51-00
'
I
Key
Indicator name
Action
j
Parity mask
This indicator is set ON or OFF only by the LOI,
RET, and CLI ME instructions. When it is set ON,
it inhibits the generation of the parity fault for
all events that set the parity error indicator
even when a MEMSYS fault condition is detected.
If the parity mask indicator is set OFF
after a parity error event, a parity fault does
not occur even though the parity error indicator
may still be set ON. The state of the parity mask
indicator does not affect the loading, testing, or
storing of any other indicator.
k
Master mode
This indicator is set ON for an interrupt
acceptance, a fault acceptance, a PMME instruction
execution, and the execution of an OCLlMB
instruction (when the master mode bit of the
indicator register to be restored is ON). This
indicator is reset to OFF following the execution
of a TSS, RET (with operand bit 28=0), 0CLl MB
(when the master mcxie bit of the 1R to be restored
is OFF), or an 1eLI MB instruction (when the second
word bit 19=0).
1
Truncation
This indicator is affected only by multiword
instructions. It is set to ON during string
instructions when the source string length is
greater than the destination string length, and
set to OFF when the reverse is true. For decimal
arithmetic instructions, it is set to ON when
there are no rounding specifications and the
lowest digit, or more of the result is truncated,
and set to OFF when the reverse is true. When the
highest nonzero digit is lost, the Overflow
Indicator is set ON.
m
Multiword
instruction
interrupt
This indicator is set OFF by the execution of the
SPL instruction and by the end of execution of all
multiword instructions, and is set ON by the
events described below. The indicator has meaning
only when determining the proper restart sequence
for an interrupted multiword instruction.
(
This indicator is set:
When any fault or interrupt occurs during the
execution of a multiword instruction (except
CLIMB) :
(
4-11
-_._. __ ..-
...
_- ...•- ...-
....
~~~
DZ51-00
Key
Indicator name
Action
The ON state of this indicator is used during the
CLIMB (after a fault or interrupt) instruction,
for example, to save the pointers and lengths data
in order to resume the instruction.
Re$erved for future use
n
Hex mode
p
This indicator is set ON or OFF only by the
instructions that load the IR.
NOTE: When set ON with bit 33 of the CPU mode
register set ON, the floating-point
instructions are executed in the hexadecimal
exponent mode.
Reserved for future use
q
TI MER RlG: S'1'ER ('l'R)
Format:
27 bits
o
223
675
Timer value
,/
Figure 4-10.
Timer Register
(TR)
Format
Description:
27-bit settable, free-running clock. The value decrements at a rate of
512 kHz. Its range is 1.953125 microseconds to approximately 4.37 minutes.
A
4-12
DZ51-00
Function:
The TR may be loaded with any convenient value with the Load Timer Register
(LOT) instruction. When the value next passes through zero, a timer runout
fault is signalled. If the processor is in Slave mode with interrupts not
inhibited or is stopped at an uninhibited Delay Until Interrupt Signal (DIS)
instruction, the fault occurs immediately. If the processor is in Master or
Privileged Master mode or has interrupts inhibited, the fault is delayed
until the processor returns to Slave mode or st.ops at an uninhibited DIS
instruct ion.
I HS'i'RDC."i'I ON CDtJH'l'BR (I C)
Format:
18 bits
a
Instruction address
Figure 4-11.
Instruction Counter (IC) Format
Description:
An
(
1S-bit physical register
Function:
Holds the address of the current instruction being executed. The IC is
incremented by 1 by the control unit for the sequential execution of
single-word instructions or by the appropriate amount (2, 3, or 4) for
multiword instructions. The content of the IC is changed by a
transfer-of-control instruction or by a fault or interrupt.
A description of faults and interrupts is contained in Section 6.
ADDRESS RKiI S'l'ERS (AR.n)
Format:
24 bi ts each (NS Mode)
a
a
1 2
1 1
7 8 9
-Word
I
18
Figure 4-12.
la..rl
2
2
a
3
Bit
4
I
Address Register (AR!!) Format (NS Mode)
4-13
DZ51-00
Description:
Eight 24-bit physical registers numbered 0 through 7 that are associated
with the segment descriptor registers (DRn) and that allow address
modification on a word, character, or bit basis
Function:
The address registers provide address modification to the word, byte, and
bit level:
Word - 18 bits (0-17): a word offset within the segment described by the
associated segment descriptor register
Char -
2 bits; designates one of the four 9-bit characters (bytes) of which
the word is composed
Bit - 4 bits; designates one of the 9 bits within the character
Format:
36 bits each
(ES
Mode)
o
2 3 3 3
3
9 0 1
5
2
Word
Figure 4-13.
Address Register
(ARB)
Format (ES Mode)
Description:
Eight 36-bit physical registers numbered 0 through 7 that are associated with
the segment descriptor registers (DRn) and that allow addressing on a word,
character, or bit basis
Function:
In ES mode, each address register is extended to 36 bits. The ~ is as given
in two's complement form, with bit 0 as sign bit. In the effective address
generation, bit 0 is extended 4 bits to the left.
Word - 29 bits (1-29); a word offset within the segment described by the
associated segment descriptor register
Char - 2 bits; designates one of the four 9-bit characters (bytes) of
which the word is composed
Bit - 4 bits: designates one of the 9 bits within the character
4-14
DZ51-00
LI HKAGE SlGIEN'l' RPm STER (LSR )
(
Format:
72 bits
a
a
2 2
8 9
1 2
9 0
Bound
Flags
20
3 3
1 2
WSR
9
3
5
Type=l
4
3
Base
36
Figure 4-14.
Evenword
Oddword
Linkage Segment Register (LSR) Format
Description:
A 72-bit register that holds a type 1 standard descriptor that describes the
linkage segment of the current domain of the currently executing process
Function:
The linkage segment register is loaded only by executing a ClJMB
instruction. The linkage segment register may be stored by transferring the .
contents of the LSR to an segment descriptor register (DRn) and then storing
DRn. When the bound field of the LSR is loaded, bits 0-6 are forced to zero
and bits 17-19 are forced to 111. Thus, the size of the linkage segment is
effectively limited to 1024 descriptors.
I NS'l'RUC'l'ION SEX;MENT RPm S'l'ER (I SR)
Format:
72 bits
o
o
1 2
9 0
Bound
2 2
3 3
8 9
1 2
Flags
20
WSR
9
3
3
5
'l'ype=0
4
Base
36
Figure 4-15.
Evenword
Oddword
Instruction segment Register (ISR) Format
Description:
72-bit register that holds a type 0 standard descriptor that describes the
current instruction segment for the current domain of the currently
executing process.
A
(
4-15
DZ51-00
Function:
The instruction segment register may not be loaded or stored directly. The
register is loaded during the execution of a ClJMB or transfer instruction
with bit 29 ON. The lSR may be stored indirectly by moving its contents to
an segment descriptor register (DRn) and then storing DRn. If bit 29 of an
instruction word is zero or the AR bit in the MF field of a multiword
instruction is zero, the instruction segment register is used in forming the
virtual address of the operand. The base and bound values placed in the
lSR are constrained; the 5 least-significant bits of the base field must be
zero and the 5 least-significant bits of the bound field must be ones.
S1!9IBR'l' DESCRIP'l'OR JUG S'lBRS (DRn)
Format:
72 bits each
Description:
Eight 72-bit registers that hold segment descriptors that describe address
space contained within the current domain of the currently executing
process. The format of the descriptors is in accordance with the content of
the type fields; type fields 0, 2, 4, 6, 12, and 14 are used for operand
segments and type fields 1 and 3 are used for descriptor segments.
Function:
Instructions are available for loading and storing the segment descriptor
registers and for modifying their contents. A segment descriptor register
is invoked for virtual operand address development when bit 29 of the
instruction is 1; address bits 0, 1, and 2 specify which of the combined
segment descriptor register (DRn) and address register n (ARB) is to be
used. Each of these eight segment descriptor registers is associated with a
corresponding address register. For example, an AR3 modification refers to
the segment whose descriptor is the contents of DR3.. For multiword
instructions, the use of ARB and the associated DRn is specified by the AR
bit in theMF field. Refer to "Multiword Modification Field" in Section 5.
4-16
DZ5l-00
SlGmNT
(
IDENTI TY RPa STBRS (SlGDn)
Format:
12 bits each
000
D
Figure 4-16.
segment Identity Register (SEGID!!) Format
Description:
Eight 12-bit registers that have a one-to-one correspondence with the
segment descriptor registers (DR!!). The segment identity registers point to
the source of the descriptor in the DRn.
Function:
The SEGIDn registers are loaded concurrently with the related descriptor
registers (DRn). The S and D field codes used in these registers indicate
the origin of the descriptor (S = segment, D = descriptor offset).
When S
= 0:
The D field indicates the location of the segment descriptor loaded into
the ORn.
For D = 1760 through 1777 (octal), the selected register is copied into
the DR!!.
D = 1760
D = 1761
D = 1762
D = 1763
D = 1764
D = 1765
o = 1766
o = 1767
D = 1770
o = 1771
o = 1772
D = 1773
D = 1774
o = 1775
D = 1776
o = 1777
Undefined
The segment descriptor type field is changed. *
Instruction Segment Register (ISR)
Data Stack Descriptor Register (OSOR)
safe Store Register (SSR)
Linkage Segment Register (LSR)
Argument Stack Register (ASR)
Parameter Segment Register (PSR)
DRO, Descriptor Register 0 }
DRl, Descriptor Register 1 }
DR2, Descriptor Register 2 }
DR3, Descriptor Register 3 } self-Identifying
DR4, Descriptor Register 4 }
OR5, Descriptor Register 5 }
OR6, Descriptor Register 6 }
OR7, Descriptor Register 7 }
* When S = 0 with D = 1761, 1763, and 1764, a Command fault occurs
unless the CPU is in the Privileged Master mode.
(
4-17
- OZ51-00
When S = a with D = 1761 in the Privileged Master Mode and the type of
the segment descriptor in the DRn is T = 1 or 3, this segment
descriptor type is changed to a or 2, respectively. ~Dn is set to
be self-identifying. No fault occurs and no operation is performed
with the LODn instruction, when the type in the DR!! is not T = 1 or 3.
For D = 0000 through 1757 (octal), the descriptor in DR!! was loaded from
the 'parameter segment and D was the index to the desired descriptor.
When S
=2
The descriptor DRn was loaded from the argument stack using
to the descriptor.
When S
=1
D
as the index
or 3
The descriptor in ORo was loaded from the linkage segment using
index to the descriptor.
D
as the
INSTRUCl'ION S!GMBH'l' IDBNTI'.l'Y RlGS'l'BR - SlGD(IS)
Format: 12 bits
000
1
D
Figure 4-17.
Instruction Segment Identity Register - SEGID(IS) Format
Description:
A 12-bit register that is associated with the instruction segment register
(lSR) in the same manner that a ~D!! register is associated with an
segment descriptor register (DRn). This register points to the source of
the descriptor in the ISR.
Function:
The instruction segment identity register may not be loaded or stored
directly: it is loaded with the identity of the source of the descriptor
when a transfer or OJMB instruction loads the Instruction Segment Register
(lSR). The Sand D field codes used in these registers indicate the origin
of the descriptor. see SEGIDn description.
4-18
DZ51-00
POI HTER RPmSTERS (PR)
(
Format: A collective grouping of registers
Description:
Eight "convenience" logical combinations of registers
Function:
The pointer registers are not physical registers but are convenient terms
used to refer to segment descriptor register (DRn), segment identity
register (SEGIDn), and address register (ARn) utilized as a collective
register.
A 2-bit register that controls the clearing of data stack space and
bypassing the safe store portion o~ an inward ClJMB (IClJMB) instruction.
Bit 18 is the Data Stack Clear Flag (DSCF) and bit 19 is the safe Store
Bypass Flag (SSBF).
Function:
The option register is loaded with the Load Option Register (LDQ)
instruction and stored with the Store Option Register (STO) instruction.
4-19
DZ51-:00
CALBHDAR o.ocK RlGS'l'ER
Format:
(CCR)
52 bits
0 1 2
0 9 0
1111111111111111111111111111111111111
1111111111111111111111111111111111111
1111111111111111111111111111111111111
3
5
Clock Upper
16
7
3
1
Clock Lower
36
Figure 4-19.
calendar Clock Register (CCR) Format
Description:
A 52-bit register that holds a calendar clock with a resolution of one micro
second
Function:
The CCR register provides a means for setting and reading the calendar
clock. The CCR is set by using the SSCR 04 instruction and read by using
the RSCR 04 instruction. (Refer to the individual descriptions of these
instructions in section 8).
,~'\
~
"-
(
'-'/
4-20
DZ51-00
NOTE: '!'BE POLLOWI HG REm S'l'ERS CAB BE
(
~BI)
ONLY I Ii PRIVI I..!IiED IIAS"l'BR MODE.
WORKING SPACE REXiIS'l'ERS (WSRn)
Format:
9 bits each
0
8
0
0
Working Space Number
I
Figure 4-20.
91
Working Space Register (WSRg) Format
Description:
Eight 9-bit registers located in the virtual unit, each of which holds a
working space (WS) number that is used to form a virtual address
Function:
A working space register is referred to by the WSR field of a descriptor.
The LOWS and STWS instructions are used to load and store the working space
registers, respectively. To execute these two instructions, the processor
must be in Privileged Master mode. When the processor is initialized and
cleared, working space register 0 is set to all zeros. The working space
registers provide the means for sharing and isolating working spaces.
SAFE STORE REXiI S'l'BR (SSR)
Format:
72 bits
o
o
1 2
9 0
2 2
2 2
2 3
8 9
Flags
~1 WSR
3 3
1 2
---Ir _9 --_3
Bound
20
Flags
WSN
3
3
9
3
5
Type=1
4
~3-
4
Base
36
Figure 4-21.
safe Store Register (SSR) Format
(
4-21
DZS1-00
Description:
A 72-bit register located in the virtual unit that holds either a Type 1 or
3 standard descriptor that describes the safe store stack of the current
process. Note that the format for a Type 3 descriptor differs in that the
Flags field is truncated at bit 22 to allow the descriptor to contain the
actual working space number (WSN) rather than point to a Working Space
Register (WSR).
Function:
The safe store register describes the safe store stack of the current
process. The safe store register is loaded and stored with the Privileged
Master mode instructions LOSS and STSS. A 2-bit hardware stack control
register (SCR) is associated with the safe store register. The Stack
Control Register (SCR) content determines the size of the safe store frame.
(Refer to SCR below.)
STACK roNnOL Rl!m S'l'ER (SCR)
Format: 2 bits (internal)
Description:
An
internal register that controls the size of the safe store frame
Function:
The SCR is initialized by execution of the Privileged Master mode
instruction LOSS. This register contains the code indicating the size of
the last safe store frame as shown in the table below. (Refer to the
discussion of the safe Store Register (SSR).)
SCR safe Store Stack Size
00
01
11
10
-
16
24
64
80
words
words
words
words
(Bit values are binary.)
4-22
DZ51-00
ARGUIIEN'l' STACK RPm S'l'BR (ASR)
(
Format:
72 bits
o
o
1 2
9 0
Bound
2 2
3 3
1 2
8 9
Flags
20
Type=1
4
WSR
9
3
5
3
Base
36
Figure 4-22.
Evenword
Oddword
Argument Stack Register (ASR) Format
Description:
A 72-bit register that holds a type 1 standard descriptor that describes (or
frames) the argument stack of the current domain of the currently executing
process
Function:
Instructions are provided for loading (Privileged Master mode) and storing
the argument stack register. The argument stack register is .utilized by and
may have its contents changed by the hardware during the execution of a save
Descriptor Register (SDRn) or CLIMB instruction.
When the bound field of
the ASR is loaded, bits 0-6 are forced to zero: if flag-bit 27 = 1 (bound
valid), bits 17-19 are forced to 111. Thus, the size of the argument stack
is effectively limited to 1024 descriptors.
PARAME'l'BR SlGIENT RPm S'l'BR (PSR)
Format:
72 bits
o
o
1 2
2 2
9 0
8 9
Flags
Bound
20
3 3
1 2
WSR
9
3
3
5
Type=1
4
Base
36
Figure 4-23.
Parameter Segment Register
(PSR)
Evenword
Oddword
Format
(
4-23
DZ51-00
Description:
A 72-bit register that holds a type 1 standard descriptor that frames the
parameter segment of the current domain of the currently executing process
Function:
Instructions are provided for loading 1<
tm
3
4
(tm)
and tag designator (td),
3
5
>
<----tag fie1d,---'--->
where:
tm specifies one of four possible modification types: Register (R),
Register Then Indirect (RI), Indirect Then Register (IR), and Indirect
Then Tally (IT).
td specifies the activity for each modification type:
1. When tm = R, RI, or IR, td is called the register designator and
generally specifies the register to be used in indexing.
2. When tm = IT, td is called the tally designator and specifies the
tallying in detail.
The following table shows the valid assembler mnemonics for address
modification and their relationship to the classes R, RI, IR, and IT.
td
00
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
tm=OO
R
tm=Ol
RI
Blank
*
N*
AU*
QU*
N
AU
QU
DU
IC
AL
QL
DL
0
1
2
3
4
5
6
7
IC*
AL*
QL*
0*
1*
2*
3*
4*
5*
6*
7*
tm=ll
IR
tm=lO
IT
*N
*AU
*QU
*DU
*IC
*AL
*QL
*DL
*0
*1
*2
*3
*4
*5
*6
*7
F
5-2
SD
SCR
Cl
I
SC
AD
DI
DIe
1D
IOC
DZ5l-00
"l'ypeS Of
(
Address Modification
The four basic modification types, their mnemonic substitutions as used in the
variable field of the program statement, and their binary forms are as follows:
Modification
Type
Variable
Field
Binary
Forms
3
0
3 3
3
1 2
5
Itm I
R
RI
(
IR
IT
BETA, (R)
BETA, (R)*
BETA,*(R)
BETA, (T)
Example
3
3 3
0
1 2
I 0 0 11
td
I
3
5
1
o 11
3
3 3
3
0
1 2
5
I 0 11 1
0 1
01
3
3 3
3
0
1 2
5
I 111
1 1 1
11
3
3 3
3
0
1 2
5
I1 01 1
0
1 01
BETA,S
BETA, 2*
BETA, *7
BETA,SC
The parentheses enclosing R and T indicate that substitutions should be made by
the user for Rand T as explained under the separate discussions of R, IR, RI,
and IT modification below. Binary equivalents of the substitution are used in
the tIn subfield.
RB'iI S"l'BR
(R )
The processor performs register address modification whenever an R-type
variation is coded. The assembler places binary zeros in both positions of the
tm subfield of the instruction. Accordingly, 1 of 16 variations under R are
performed by the processor, depending upon bit configurations generated by the
assembler, and placed in the designator subfield (td) of the general
instruction. The 16 variations, their mnemonic substitutions used on the
assembler coding sheet, the td field binary forms presented to the processor,
and the effective address Y generated by the processor are indicated below.
5-3
DZ51-00
R modification allows for the use of the instruction address field as the
operand. This is called direct operand address modification, of which there
are two types: Direct Upper (DU) and Direct Lower (DL). With the DU variation,
the address field of the instruction serves as bit positions 0-17 of the
operand and zeros serve as bit positions 18-35 of the operand. With the DL
variation, the address field of the instruction serves as bit positions 18-35
of the operand and zeros serve as bit positions 0-17 of the operand.
IC modification should only be used with an absolute operand. A relative
operand that has IC modification is flagged with a possible relocation error
(R) by the assembler.
Mnemonic
Substitution
Binary
Form
(td field)
Effective
Address
(R)=XO
0
1000
Y-y+C(XO)
=Xl
1
1001
Y=y+C(X1}
=X2
2
1010
Y-y+C(X2}
=X3
3
1011
Y=y+C(X3)
=X4
4
1100
Y=y+C(X4)
=X5
5
1101
Y=y+C(X5)
=X6
6
1110
Y-y+C(X6}
=X7
7
1111
Y=y+C(X7)
=A
AU
0001
Y=y+C(A)
AL
0101
Y=y+C(A)
QU
0010
Y=y+C(Q)
=Q
QL
0110
Y=y+C(Q)
18-35
=IC
IC
0100
Y=y+cOC)
direct upper
DU
0011
Bits 0-17 of operand = y;
Modification
variation
0-17
=A
18-35
=Q
0-17
0-17
18-35
0-17
18-35
bits 18-35 of operand = 0
direct lower
DL
=None
Blank or N
=Any symbolic Any defined
index register symbol 1
0111
0000
Bits 0-17 of operand
= 0;
bits 18-35 of operand
=y
Y=y
1. Symbol must be defined as one of the index registers by using an applicable
pseudo-operation (EQU or BOOL).
5-4
DZ5l-00
The following examples show how R-type modification variations are entered
and how they affect effective addresses.
f
EXAMPLES:
16
EAXO
LDA
1
B,O
Y=B+~
LDA
LOA
=2,DL
C,A!.
Y=C+2
EAQ
LDA
3
M,QU
Y-M+3
1
8
16
Address
(4)
ABC
LDA
-2,IC
Y=ABC-2
(5)
XYZ
LDA
*,DU
operand
(1)
(2)
(3)
(6)
(7 )
(
Effective
Address
8
1
EAX7
LDA
1,7
Y=ABC+1
LDA
2,DL
operand
LOA
B
Y=B
(9)
LDA
B,N
Y-B
(10)
EAX
LDA
ALPHA, 10
C,ALPHA'
2
Y=C+10
~U
=XYZ, operand
=0
18-35
0-17
=O,operand
=2
18-35
ABC
(8)
ALPHA
0-17
Coding examples of R-type modification follow:
0
(R)
=N
ALPHA
LDA
ADRES1,N
is equivalent to
ALPHA LDA
ADRES1
No address modification results; ADRESl is the effective operand.
5-5
DZ5l-00
o (R)
= X!} where n = 0 to 7
ALPHA
ADRES2,5
LOA
X5 contains the value 2.
ADRES2 DEC
12
OCT
7777
OCT
123456765432
ADRES2+2 becomes the effective address and its contents (octal
123456765432) are loaded into the A-register.
A-register
X5
Before
773412315026
000002
After
l23456765432
000002
o (R)
= AU,
ALPHA
AL, QU, QL
LOA
ADRES3,QU
Bits 0-17 of the Q-register contain the value 3.
ADRES3 DEC
10
OCT
12
OCT
14
OCT
16
ADRES3+3 becomes the effective address and its contents (octal 16) are
loaded into the A-register.
A-register
Q-register
Before
123456765432
000003
123456
After
000000000016
000003
123456
5-6
DZ51-00
o (R) = DU,DL
ALPHA
ADRES4,DU
LDA
There is no memory access to obtain modification of ADRES4. The address
represented by the symbol ADRES4 is placed in bits 0-17 of the
A-register; bits 18-35 are filled with zeros.
ADRES4 OCT
10
(assume ADRES4 is at location 001002 octal)
Before
10 0 0 0 0 0 0 0 0 0 1 6
After
10 0 1 0 0 2 0 0 0 0 0 0
A simple program segment, the movement of 50 words from ABC to XYZ, may help
illustrate the power of address modification.
Without Address Modification
1
(
8
START LOXl
LOA
STA
LOA
ASA
ASA
ADLXl
CMPX1
TNC
With Address Modification
8
16
1
=OB17,DU
START LOX1
LOA
STA
ABC
XYZ
=lB17
START+1
START+2
=lBl7
=50Bl7
START+l
ADLXl
CMPXl
TNC
16
O,DU
ABC, 1
XYZ,l
1,DU
50,DU
START+1
JUG: S'1'BR THEN I JmIREC'l' (RI )
Register Then Indirect address modification is a combination in which both
indexing (register modification) and indirect addressing are performed. For
indexing modification under Rl, the mnemonic substitutions for R are the same
as those given under the discussion of register (R) modification with the
exception that DU and DL are invalid for RI usage. For indirect addressing
(I), the processor interprets the contents of the operand address associated
with the original instruction or with an indirect word.
(
5-7
DZ5l-00
Under RI modification, the effective address Y is found by first performing the
specified register modification on the operand address of the instruction; the
result of this R modification under Rl is the address of an indirect word which
is then retrieved. (Refer to Figure 5-1.)
r-".
\"0"/
After the indirect word has been accessed from memory and decoded, the
processor carries out the address modification specified by this indirect
word. If the indirect word specifies Rl, IR, or IT modification (any type
specifying indirection), the indirect sequence is continued. When an indirect
word is found that specifies R modification, the processor performs R
modification, using the register specified by the td field of this
last-encountered indirect word and the address field of the same word, to form
the effective address Y.
.
The variations DU and DL of register modification (R), when used with Register
Then Indirect modification (RI), cause an Illegal Procedure (IPR) fault.
To refer to an indirect word from the instruction itself without including
register modification of the operand address, the "no modification" variation
should be specified; under RI modification, this is indicated by placing only
an asterisk (*) in the tag position.
The following examples illustrate the use of RI modification, including the use
of (R) c N (no register modification). The asterisk appearing in the modifier
subfield is the assembler symbol for I (Indirect). The acidress-subfield,
single-symbol expressions shown are not intended as realistic coding examples,
but to show the relation between operand addresses, indirect addressing, and
register modification.
---~
EXAMPLES:
"-,
Modification
1
(1)
Z
(2 )
Z
(3 )
Effective
Address
(RI )
ycB+2
16
EAA
1
EAXl
STA
ORG
ARG
2
Z,AU*
Z+l
B,l
(R)
EAQ
MPY
3
Z,*
(RI )
ARG
B,QU
(R)
EAX3
EAX5
3
5
Z,*
(RI )
STQ
Z
Type
8
ARG
ORG
ARG
ORG
ZERO
Y=B+3
Y=M
(RI )
B,5*
B+5
C,3*
C+3
M
(RI )
(R)
5-8
DZ51-00
.
...,
Coding examples of RI modification follow:
(
o
(RI)
= N*
ALPHA
LDA
ADRESl,N*
is equivalent to
ALPHA
LDA
ADRESl,*
The indirect word at ADRESI is obtained; if this indirect word
specifies further indirect modification, the process continues
until an indirect word is obtained with (R) modification.
o
(RI) = (Xn)'"
ALPHA
where
n =0
EAX5
EAX2
5
2
LDA
ADRES2,5*
to 7
The indirect word at ADRES2+5 is obtained. If the indirect word at
this location is
LDQ
ADRES3, 2
the effective address is ADRES3+2.
rHDlu:T THBH RGSTBR (rR)
Indirect Then Register address modification is a combination in which both
indirect addressing and indexing (register modification) are performed. IR
modification is not a simple inverse of RI; several important differences
exist.
Under IR modification, the processor first fetches an indirect word from the
memory location specified by the address field y of the machine instruction;
the C(R) of IR are safe stored for use in making the final index modification
to develop the effective address Y.
Next, the address modification, if any, specified by this first indirect word
is examined. If this modification is again IR, another indirect word is
retrieved from storage immediately; and the new C(R) are safe stored, replacing
the previously safe stored C(R). If an IR loop develops, the above process
continues, each new C(R) replacing the previously safe stored C(R), until a
type other than IR is encountered in the sequence.
5-9
DZ5l-00
If the indirect sequence produces an RI indirect word, the R-type modificatioi.
is performed immediately to form another address; but the I of this RI treats
the contents of the address as an indirect word. The chain then continues with
the C(R) of the last IR still safe stored, awaiting final use. At this point
the new indirect word might specify IR-type modification, possibly renewing the
IR loop noted above; or it might initiate an RI loop. In the latter case, when
this loop is broken, the remaining modification type is R or IT.
When either R or IT is encountered, it is treated as type R, where R is the
last safe stored C(R) of an IR modification. At this point the safe stored
C(R} is combined with the y of the indirect word that produced R or IT, and the
effective address Y is developed.
If an indirect modification without register modification is desired, the "no
modification" variation (N) of register modification should be specified in the
instruction. This normally will be entered on coding sheets as *N in the
modifier part of the variable field. (The entry * alone is equivalent to N*
under RI modification and must be used in that way.)
EXAMPLE 1:
(IR) = *N
ALPHA
LDA
ADRES1,*N
The indirect word at ADRESl is obtained.
location is:
AnRESl
LDQ
If the indirect word at this
ADRES2
the effective address is ADRES2
EXAMPLE 2:
IR and then R or IT
(IR) = *(XB)
ALPHA
where B = 0 to 7
EAX5
15
LDA
ADRES1,*5
The indirect word at ADRESl is obtained.
ADRESl
LDQ
ADRES2, (R)
LDQ
ADRES2, (T)
I f the indirect word is:
or
AnRESl
the effective address is ADRES2+15
5-10
DZ51-00
EKAMPLE 3:
(
I R and then
Rl
(IR) = *(Xn)
where n =
o to
EAX5
16
EAX2
17
ALPHA
LDA
ADRES1,*5
ADRES1
LDQ
ADRES2,2*
LOA
ADRES4
7
( in ADRES2+17)
the effective address is ADRES4+16
EXAMPLE 4:
IR and then IR
(IR)
= *(Xn)
where n
=0
EAX5
18
EAX3
19
ALPHA
LOA
ADRES1, *5
ADRESI
LOA
ADRES2,*3
ADRES2 LDA
to 7
ADRES3
the effective address is ADRES3+19
The following examples illustrate the use of IR-type modification, intermixed
with Rand RI types, under the several conditions noted above.
EXAMPLES:
1
(1)
z
Type
Effective
Address
1,DL
Z,*QL
(IR)
Y=M+l
M
(R)
8
16
LDQ
LDA
ARG
Modi! ication
(
5-11
DZ51-00
Modification
1
8
16
ABC
EAX3
EAX5
LDA
2
3
Z,*3
ARG
ORG
ARG
B,5*
B+3
C,IC
(2)
Z
(3)
EAX3
EAX5
EAQ
(4,)
""-
(IR)
(R)
4,
(IR)
ARG
ARG
ARG
B,*5
C,*QU
N,7
(IR)
(IR)
(R)
EAX3
8
9,DL
Z,*DL
{IR}
LOA
Y=C+2
(RI )
LOA
LDQ
Effective
Address
"
5
6
7
Z,*3
EAX7
Z
B
C
Tvoe
Y=M+6
C(A}18-35)=M
Z
(5)
Z
(6)
Z
ARG
ORG
ARG
B,3*
B+8
N,QL
(R)
LOA
LOA
10,DL
Z,*AL
{IR}
ARG
B,AD
(IT)
EAX3
LOA
11
Z,*N
(lR)
ARG
B,3
(R)
{RI }
5-12
..",-~.
Y=B+10
Y-B
DZ51-00
1
(
(7)
Z
B
(8)
Z
B
(9)
X
B
Z
Modification
8
16
EAX5
LDA
12
Z,*N
(IR)
ARG
ARG
B,*5
M,DU
(IR)
(R)
EAX5
LDA
13
Z,*
(RI )
ARG
ARG
B,*5
M,DU
(IR)
(R)
EAX1
LDA
14
X,*
(RI )
ARG
ARG
B,*l
Z,ID
A,lO
(IR)
(IT)
(IT)
TALLY
Type
Effective
Address
Y=M+13
Y=Z+14
IRDIRD' THBN TALLY (IT)
I ndirect Then Tally address modification is a combination in which both
indirect addressing and automatic incrementing/decrementing of fields in the
indirect word are performed as hardware features, thus relieving the user of
these responsibilities. The automatic tallying and other functions of IT
modification allow processing of tabular data in memory, provide a means for
working upon character data, and allow termination on user-selectable numeric
tally conditions. When tally runout occurs, bit 25 in the indicator register
is set. I f an unassigned IT tag is used, an Illegal Procedure (IPR) fault
occurs.
The variations under IT modification are summarized below. The mnemonic
substitution for IT is ('1'): the designator I for indirect addressing in IT is
not represented. (Note that one of the substitutions forTis I.)
(
5-13
DZ51-00
variation
Binary
Mnemonic
Form
Substitution (td Field)
Effect on Processor and Indirect
(Tally) Word for Each Reference
Fault
F
0000
None. A Fault Tag fault is
generated. The indirect word is
not examined.
Character indirect
CI
1000
None. Applies to TALLY, TALLYB.
sequence character
SC
1010
Obtain the operand address from the
tally word: then add 1 to the
character position value in the tag
field and subtract 1 fran the tally
count field; add 1 to the address
field and set the character
position value to zero when the
character position crosses a word
boundary. Applies to TALLY,
TALLYB.
sequence character
reversed
SCR
0101
Subtract 1 from the character
position value in the tag field and
add 1 to the tally count field;
subtract 1 from the address field
and set the character position
value to 3 (TALLYB) or 5 (TALLY)
when the character position crosses
a word boundary. Then obtain the
operand address from the tally
word. Applies to TALLY, TALLYB.
Indirect
I
1001
None. The operand address is the
word to which the tally word
address field refers. Applies to
all tally pseudo-operations.
Increment address,
decrement tally
ID
1110
Obtain the operand address fran
the tally word; add 1 to the
address field and subtract 1 from
the tally count field. Applies to
all tally pseudo-operations.
Decrement address,
increment tally
DI
1100
Subtract 1 from the address
field, add 1 to the tally count
field, and then obtain the operand
address from the tally word.
Applies to all tally
pseudo-operations.
5-14
DZ5l-00
variation
(
Binary
Mnemonic
Form
Substitution (td Field)
Effect on Processor and Indirect
(Tally) Word for Each Reference
Increment address,
decrement tally,
and continue
IOC
1111
Obtain the operand address from the
tally word, add 1 to the address
field, and subtract 1 from the
tally count field. Additional
address modification will be
performed as specif ied by the tag
field. Applies to TALLYC. Results
in IPR fault in ES mcxie.
Decrement address,
increment tally,
and continue
DIC
1101
Subtract 1 from the address field,
add 1 to the tally count field, and
then obtain the operand address
from the tally word. Additional
address modification will be
performed as specif ied by the tag
field. Applies to TALLYC. Results
in IPR fault in FS mcxie.
Add delta
AD
1011
Obtain the operand address from the
tally word, add an increment to the
address field, and subtract 1 from
the tally count field. Applies to
TALLYD.
Subtract delta
SD
0100
Subtract an increment from the
address field, add 1 to the tally
count field, and then obtain the
operand address from the tally
word. Applies to TALLYD.
(
(
5-15
DZS1-00
I ndirect Word Format
The location of the indirect word is specified by the address field (y) of the
instruction or previous indirect word (IDC or DIC). IT modification causes the
indirect word to be fetched and interpreted as specified by the td subfield of the
instruction or previous indirect word that referred to the indirect word.
The format of the indirect word .is shown in Figure 5-l.
1 1
7 8
0
0
y
I
2 3
9 0
Tally
I
Figure 5-1.
I
3
5
Tag
I
Indirect Word Format
where:
y
- address field
Tally - tally field
Tag
(ignored except for tally modification)
- tag field
Depending upon the prior tally designator, the tag field for the indirect word is
used in one of the following ways:
Tag Field
Tally Designators
3
3
3
3
3
1
2
3
4
Ignored
I,DI,ID,F
td
DI C, I DC , I R, RI
CI ,SC,SCR
AD,SD
3
o
o
cf
Delta
where:
tm
- tag modifier
(.~
~.j
5-16
DZ5l-00
(
td
- tag designator
tb
- character size indicator (O=6-bit, 1=9-bit)
cf
- character position field
Delta - delta field (Size of increment)
Variations Under IT Modification
Fault (T) = F variation.
The Fault variation enables the user to force
program transfers to operating system routines or to corrective routines dur~ng
the execution of an address modification sequence by causing a Fault Tag
fault. (This will usually indicate some abnormal condition for which the user
desires protection.)
Character Indirect (T) = CI variation.
The Character Indirect (CI) variation
allows operations on the A register or Q register where repeated reference to a
single character in memory is required. The character size field (tb) of the
indirect word specifies the character size.
For this variation, the effective address is the address field of the CI
indirect word obtained via the tentative operand address of the instruction or
preceding indirect word that specified the Cl variation. The character
positi~n field (cf) of the indirect word is used to specify the character to be
involved in the operation.
(
This variation is similar to the sc variation except that no incrementing or
decrementing of the address, tally, or character position is performed.
EXAMPLES:
6-bit char. addressing
Z
TALLY
B, ,4
1
8
16
LDA
ADDR,Cl
TALLY
ADD, ,3
6-bit char. addressing
ADD, ,3
9-bit char. addressing
(2)
ADDR
or
ADDR
TALLYB
5-17
DZ5l-00
The effective address is ADD. The character in character position 3 is
loaded into the A-register in character position 5 for 6-bit characters or
into position 3 for 9-bit characters. The remainder of the A-register is
loaded with all zero bits.
.
sequence Character (T) = SC variation.
The Sequence Character (SC)
variation is provided for sequential access to 6-bit or 9-bit characters.
The character size field (tb) of the indirect word is used to specify the
character size. Processor instructions that do not allow SC operations are
so indicated in the individual instruction descriptions. The operand
address is obtained from the address field of the indirect word referenced
by the word containing the SC tag.
Characters are operated on in sequence from left to right within the machine
The character position field (cf) of the indirect word is used to
specify the character position to be involved in the operation. The Tally
Runout indicator is set when the tally field of the indirect word reaches
O.
word.
EXAMPLE:
1
A
8
16
LDA
A,SC
TALLY
TABLE,70,4
TABLE BSS
32
6-bit char. addressing
13
in which 70 is the count and 4 designates the character position of the
tally start.
For register loads using the SC variation, a character is· fetched from the
indicated position of the memory location and is written into the lower end
of the register; the remaining bits of the register are set to zero. For
stores under the SC variation, a character is fetched from the lower end of
the register and written into the indicated position in the memory
location; the remaining character positions in the memory location remain
unchanged.
The tally field of the indirect word is used to count the number of times a
reference is made to a character. Each time an SC reference is made to the
indirect word, the tally is decremented by 1, and the character position is
incremented by 1 to specify the next character position. The tally runout
indicator is set when the tally reaches O. When character position 5 (for
6-bit characters) or 3 (for 9-bit characters) is incremented, it is changed
to position 0 and the address field of the indirect word is incremented by
1. All incrementing and decrementing are done after the effective address
has been provided for the current instruction execution. The effect of
successive references using SC modification is shown in the following
examples.
5-18
DZ5l-00
EXAMPLES:
(
1
Z
B
Effective
Address
Character
Position
Reference
8
16
LDA
Z,SC
B
0
1
TALLY
B,80,0
14
B
1
2
B
B+1
5
0
6
7
B+!!
0
6!!+1
BSS
The Tally Runout indicator
is set on the 80th reference.
1
8
16
ADD1
LDA
ADDR,SC
TTF
ADDl
TALLY
ADD,12,3
(6-bit characters)
ADDR
TALLYB ADD, 12,3
(9-bit characters)
ADD
BSS
ADDR
(
or
4
The first effective address is ADD. The character in character position 3
is loaded into the A-register in position 5 (for 6-bit characters) or into
position 3 (for 9-bit characters). The second reference will load ADD
character 4 (if 6-bit) or ADD+l character 0 (if 9-bit), etc. The tally is
decremented from 12 to O. The destination in the A-register does not
change.
Seouence Character Reverse (T) = SCR Variation.
The SCR variation is the
reverse of se. The character position is decremented h¥ 1 and the tally is
incremented by 1 before the indirect word address field and character
position are used as the operand character address. When the character
position attempts to go negative, it is set to the maximum value (3 or 5)
and the address is decremented by 1.
Indirect (T) =I Variation.
The Indirect (I) variation of IT modification
is, in effect, a subset of the ID and DI variations described below in that
all three -- I, ID, and DI - make use of one indirect word in order to
refer to the operand. The I variation is functionally unique, however, in
that the indirect word accessed by an instruction remains unaltered; no
5-19
DZ51-00
incrementing/decrementing of the address field or tallyoccurs. Since the
tag field of the indirect word under I is not interrogated, this word will
always terminate the indirect chain.
/,r-
The following differences in the coding and the effects of *, *N, and I
should be observed:
1. Rl modif ication is coded as R* for all cases, excluding R=N.
For R=N under RI, the modifier subfield can be written as N* or as *
alone, according to preference.
When N* or just * is coded, the assembler generates a machine word
with octal 20 in bit positions 30-35: octal 20 causes the processor to
add 0 to the address field y of the word containing the N* or * and
then to access the indirect word at memory location y.
2. 1R modification is coded as *R for all cases, including R=N.
For R=N under 1R, the modifier subfield must be written as *N.
When *N is coded, the assembler generates octal 60 in bit positions
30-35 of the associated machine word: octal 60 causes the processor to
(1) retrieve the indirect word at the location (y) specified by the
machine word, and (2) effectively safe store zeros (for possible final
index modification of the last indirect word).
3. IT modification is coded using only a variation designator (I, ID, DI,
SC, SCR, a, AD, 50 , F, I DC, or D1 C): that is, no aster isk (*) is
written. Thus, a written IT address modification appears as ALPH,DI:
BETA,AD; etc.
For the variation I under IT, the assembler generates a machine word
with octal 51 in bit positions 30-35: 51 causes the processor to
examine one, and only one, indirect word to be retrieved from memory
to obtain the effective address Y.
EXAMPLE:
1
Z
8
16
Modification
Type
EAX5
LDA
1
Z,I
(IT)
ARG
B,*5
(IR)
Effective
Address
Y=B
The ID variation
Increment Address, Decrement Tally (T) = ID variation.
under IT modification provides automatic (hardware) incrementing or
decrementing of an indirect word that is best used for processing tabular
operands (data located at consecutive memory addresses). The indirect word
always terminates the indirect chain.
5-20
DZ51-00
/' ""
In the ID variation, the effective address is the address field of the
indirect word obtained via the tentative operand address of the instruction
or preceding indirect word, whichever specified the ID variation. Each time
such a reference is made to the indirect word, the address field of the
indirect word is incremented by 1 and the tally portion of the indirect word
is decremented by 1. The incrementing and decrementing are performed after
the effective address is provided for the instruction operation. When the
tally reaches zero, the Tally Runout indicator is set.
EXAMPLES:
Modification
1
Z
B
8
16
Type
LDA
Z,ID
(IT)
TALLY
BSS
B,12
12
word addressing
Effective
Address
B
1
B+l
2
•
The Tally Runout indicator is
set on the 12th reference.
1
8
ADRESl LDA
TTF
(
Reference
B+!!
!!+l
16
ADRES2,ID
ADRESl
ADRES2 TALLY
ADRES3, 10 word addressing
ADRES3 BSS
10
The first effective address is AORES3; the second is ADRES3 plus 1, etc. The
tally is decremented from 10 to zero. The TTF instruction checks the Tally
Runout indicator. If the tally is not zero, transfer is made to ADRESl. If
the tally is zero, processing continues with the instruction following TTF.
Without the TTF instruction, only one effective address is obtained.
Decrement Address, Increment Tally ('1') + DI variation.
The DI variation
under IT modification provides automatic (hardware) incrementing and
decrementing of an indirect word that is best used for processing tabular
operands (data located at consecutive memory addresses). The indirect word
always terminates the indirect chain.
In the DI variation, the effective address is the modified address field (1
less than the value before modification) of the indirect word obtained via
the tentative operand address of the instruction or preceding indirect word,
whichever specified the D1 variation. Each time a DI reference is made to
the indirect word, the address field of the indirect word is decremented by
1 and the tally portion is incremented by l. When the tally is incremented
from 7777 to 0, the tally runout indicator is set. The incrementing and
decrementing are performed prior to providing the effective address for the
current instruction operation.
5-21
DZ5l-00
EXAMPLES:
8
16
LDA
Z,DI
z
TALLY
B,-18
B
BFS
1
.
18
Modification
Type
(IT)
word addressing
ADRESI LDA
TTF
.
ADRES2 TALLY
ADRES3 BFS
16
B-1
1
B-2
2
i-'"
I
:
\'~,./
B-a
•
Modification
8
Reference
•
The Tally Runout indicator
is set on the 18th reference~
there, the 12-bit tally field
in the indirect word overflows
and becomes all zeros.
1
Effective
Address
Type
Effective
Address
Reference
ADRES2,DI
ADRESl
ADRES3,-10 word addressing
10
The first effective address is ADRES3 -1; the second is ADRES3 -2: etc.
tally increases from -10 to O.
The
Increment Address, Decrement Tally, and Continue (T) = IOC variation. The
IOC variation under IT modification functions in a manner similar to the ID
variation except that, in addition to automatic incrementing/decrementing,
it permits the user to continue the indirect chain in obtaining the
instruction operand. Where the ID variation is useful for processing
tabular data, the IOC variation permits processing of scattered data by a
table of indirect pointers. More specifically, the ID portion of this
variation provides the ability to sequentially step through a table and the
C portion (continuation) allows indirection through the tabular items. The
tabular items may be data pointers, subroutine pointers, or .a transfer
vector.
The address and tally fields are used as described under the ID variation.
The tag field uses the set of instruction address modification variations
under the following restrictions: no variation is permitted that requires an
indexing modification in the IOC cycle since the indexing adder is in use by
the tally phase of the operation. Thus, permissible variations are any
allowable form of IT or IRi but if RI or R is used, R must equal N.
(r'~
"
.
\,-,j
5-22
DZ5l-00
EXAMPLES:
(
1
Z
B
Modification
Type
Effective
Address
8
16
LOA
Z,IOC
X
1
TALLYC
ARG
ARG
ARG
B,10,I
Y
Z
2
3
X
Y
Z
Reference
The Tally Runout indicator is set on the 10th reference.
1
8
ADRES1 LOA
TTF
16
32
ADRES2,IOC
ADRESI
ADRES2 TALLYC ADRES3,4,*
ADRES3 ARG
AD1
AD2
ARG
AD3
ARG
ARG
AD4
word addressing and indirect
AD1 is the first effective address, AD2 is the second, AD3 is the third, and
AD4 is the fourth.
(
Decrement Address, Increment Tally, and Continue (T) = DIC variation.
The
DIC variation under IT modification perfonns in much the same way as the DI
variation except that, in addition to automatic decrementing or
incrementing, it pennits the user to continue the indirect chain in
obtaining an instruction operand. The continuation function of DIC operates
in the same manner and under the same restrictions as IOC except that (1) it
increments in the reverse direction, and (2) decrementing/incrementing is
performed prior to obtaining the-effective address from the tally word.
(Refer to the first example under IOC; work from the bottom of the table to
the top.) DIC is especially useful in processing last-in, first-out lists.
SOme examples follow:
1
Z
B
Modification
8
16
LOA
Z,DIC
(IT)
TALLYC
ARG
ARG
ARG
B,-10,I
Z
(IT)
Type
X
Y
Effective
Address
Y
X
Z
Reference
1
2
3
NULL
(
5-23
DZ51-00
Assuming an initial tally of -10, the Tally Runout indicator is set on the
lOth reference; there, the 12-bit tally field in the indirect word overflows
and becomes all zeros.
EXAMPLES:
8
1
ADRESl LDA
TTF
32
16
ADRES2,DIC
ADRESl
ADRES2 TALLYC ADRES3 , -4, *N
AD4,*
ARG
ARG
AD3
AD2,*N
ARG
ADl,*N
ARG
ADRES3 BSS
1
ADI
ARG
ARG
ARG
AD2
AD4
word addressing and indirect
A
B
C
is the first effective address, B is the second, AD3 is the third, and C
is the fourth.
A
Add Delta (T) = AD variation.
The Add Delta (AD) variation is provided
for programmingsi tuations where tabular data to be processed is stored at
equally spaced locations, such as data items, each occupying two or more
consecutive memory addresses. It functions in a manner similar to the ID
variation, but the incrementing (delta) of the address field is selectable
by the user.
Each time such a reference is made to the indirect word, the address field
of the indirect word is increased by delta and the tally portion of the
indirect word is decremented by 1. The addition of delta and decrementing
are done after the effective address is provided for the instruction
operation.
The following examples show the effect of successive references using AD
modification:
Modification
1
78
LDAQ
Z
ETALLY
B
EBSS
16
Z,AD
Type
(IT)
B,20,2
40
The Tally Runout indicator
is set on the 20th reference.
5-24
Effective
Address
Reference
B
1
B+2
B+4
2
3
.
B+2n
•
Jl+l
DZ51-00
1
ADRESl
32
16
78
LDAQ
TTF
ADRES2, AD
ADRESl
.
ADRES2 ET ALLYD ADRES3, 10 , 2
ADRES3 EBSS
20
word addressing with DELTA
The first effective address is ADRES3; the second is ADRES3';.2.
decreases from 10 to O.
The tally
Subtract Delta (T) = SO Variation.
The Subtract Delta (SO) variation is
useful in processing tabular data in a manner similar to the AD variation
except that the table can easily be scanned from back to front using a
programmer-specified increment. The effective address from the indirect
word is decreased by delta and the tally is increased by 1 each time an SO
reference is made to the indirect word. This is done before supplying the
operand address to the current instruction, making the SO variation
analogous to the DI variation.
Address Modification OCtal Codes
Address modification and 2-digit octal codes for each type of modification are
listed in Table 5-1.
Table 5-1.
(
Address Modification Octal Codes
LOW ORDER OCTAL DIGIT
o
1
2
3
4
5
6
7
H
0
N
AU
QU
DU
IC
AL
QL
DL
I
G
H
1
0
1
2
3
4
5
6
7
0
R
2
N*
AU*
QU*
IC*
AL*
QL*
3
0*
1*
2*
4*
5*
6*
7*
4
F
SO
SCR
5
CI
I
SC
AD
DI
DIC
ID
IOC
D
I
6
*N
*AU
*QU
*DU
*IC
*AL
QL
*DL
G
I
T
7
*0
*1
*2
*3
*4
*5
*6
*7
D
E
R
0
C
T
A
L
(,-
3*
5-25
DZ5l-00
Address Modification Flowchart
The process of address modification is illustrated in flowchart form in Figure
5-2. Address register modification is not included in this example.
Foult Rout i "-
Re •• o".er fie,
"0"-. Modi fy
odd,e.. wr th
loved '89. to
obtoln effective
ope,ond odd, •• ,
Add contellh of
,e9i,te' ,pecified
by td to oDerond
odd,.as toa to t
.ftectiye odd' e.,
Y.
Reg. it unci to
_dify oPe,otld
oddr." to obtoin
.ffectlve odd' •••
of indirect wo,d.
G
P.,form inc,ew.nt
in9/dec,ementing.
Get i"di,ect word
ond e.omine reg.
Pe,form other IT
Wodificotionl (I.
ID.Di
.SC.S~.CI.
PD, SO).
Obtain
indirect w.,d.
Obtain eftective
odd,en from
Indirect word.
Figure 5-2.
E.. cdutive
in.truct ion
Address Modification Flowchart
5-26
DZ51-00
\
"-
,
,./
Floatable Code
(
Program statements may be written in floatable code. Such statements may then
be executed from any location in memory without relocation at load time.
Floatable code is created by use of instruction counter (I C) modification in
all references to locations within a program. Thus, to transfer to location
SYM, the following statement can be written:
TRA
SYM-*,IC
or
TRA
SYM,$
The assembler accepts the currency symbol <$> as a valid IC register
designator. The following tag fields in a machine instruction are permitted:
Mnemonic
Octal COde
$
04
$*
24
The assembler computes the difference between the value of the address location
argument of the variable field and the current location as the content of the
address field of the instruction word. The IC is then supplied for
modification. *$ is illegal and will be assembled as *IC.
(
NOTE: The FLOAT pseudo-operation or $ modification does not apply when used
with SYMREF symbols or within the range of a BLOCK pseudo-operation.
Address Modification With Address Registers
Address registers
+
y field, bit 3
16K Offset Range
I256K
field, bit 3 = 1
=0
I
Coding Examples:
1. LDQ
4,N,2
Effective Address
2. LDQ
= 4 + C(AR2)0-17
-4,N,2
Effective Address
= -4
+
bits 0-17 of C(AR2)
MULTlWORD ADDRESS MODIFlCATlOH
The general format of a multiword instruction is shown in Figure 5-5.
Memory
Loc. 0
o
2 2
8 9
1 1
o
7 8
variable Field
OP CODE
I
3
5
NFl
Instruction
Word
1
Operand Descriptor 1 or Indirect Word
Descriptor 1
2
Operand Descriptor 2 or Indirect Word
Descriptor 2
3
Operand Descriptor 3 or Indirect Word
Descriptor 3
Figure 5-5.
Mu1tiword Instruction Format
5-30
DZ5l-00
where:
(
Variable Field -
Contains additional information concerning the operation
to be performed, depending on the particular instruction.
When descriptors 2 and 3 are present, most instructions
provide a corresponding MF2 (bits 11-17) and MF3 (bits
2-8) within the variable field to describe the address
modification to be performed on these operands when
present. Exceptions to this are the CMPCI', MVT, SCD, SCDR,
SCM, SCMR, TCT, and TCTR instructions.
OP CODE
-
The 10-bit operation code field; octal representation
consists of three octal digits corresponding to bit
positions 18-26 and a 1 for bit position 27.
I
-
The program interrupt inhibit bit
NFl
-
Modification field 1 (NFl) describes address modification
that is to be performed for descriptor 1.
MULTItDU> MODIFICATION FIELD
Each modification field (NF) contained in a mu1tiword instruction is a 7-bit
field specifying address modification to be performed on the operand
descriptors. The modification field is interpreted as follows:
5 through 8 < - bits (MF3)
2
3
4
11
12
13
14 through 17
29
30
31
32 through 35 < - bits (NFl)
I I I I
AR
RL
ID
<-
rum
bits (MF2)
1<--
""--~1~-1=-"""-~1""""--------4~<--
AR -
subf ield
number of bits
Address Register Specifier
0- No address register used.
1- Bits 0-2 of the operand descriptor address field specify the
address register to be used in computing the effective address of
the operand. Bits 0 - 2 also specify the operand descriptor
register that defines the segment containing the operand.
(
5-31
DZ5l-00
RL -
Register or Length
0- Operand length is specified in the N field (bits 32-35) of the
operand descriptor.
1- Length of operand is contained in the register that is specified by
code in the N field (bits 32-35) of the operand descriptor, in the
machine format of REG (the coding format is different).
ID -
Indirect Operand Des=riptor
0- The operand descriptor follows the instruction word in its
. sequential memory location.
1- The operand descriptor location contains an indirect word that
points to the operand descriptor. Only one level of indirection is
allowed.
REG
- Address modification register selection for R-type modification of
the operand descriptor address field. The REG codes are
approximately the same as the single-word modifications. In
addition, for indirect string length specification (RL = 1), the N
field codes are similar to the REG field. A comparison of these
codes is shown in Table 5-2.
5-32
DZ5l-00
('\
Table 5-2.
(
Register Codes
REG In
Indirect
Word When
(2)
ID = 1
Bits 32-35
Of N When
RL = 1
td Field
Of
Octal
Code
REG
In MF
0000
None
None
0001
AU
AU
AU
AU
0010
QU
QU
QU
QU
0011
DU
0100
IC
IC
0101
A (3)
0110
0111
(l)
I
IPR Fault
IPR Fault
Tag
None
IPR Fault
DU
IPR Fault
IC
A (3)
A (3)
AL
Q (3)
Q (3)
Q (3)
QL
IPR Fault
IPR Fault
IPR Fault
DL
1000
XO
XO
XO
XO
1001
Xl
Xl
Xl
Xl
1010
X2
X2
X2
X2
1011
X3
X3
X3
X3
1100
X4
X4
X4
X4
1101
X5
X5
X5
X5
1110
X6
X6
X6
X6
1111
X7
X7
X7
X7
(1)
Register content is interpreted as a character or bit index. For an
alphanumeric descriptor, this index is the number of 9-bit, 6-bit,
or 4-bit characters, depending upon the data type specified in the
descriptor. For a numeric descriptor, it is the number of 9-bit or
4-bit characters, also dependent upon the data type specified. For a
bit descriptor, it is the number of bits.
(2)
Register contents are interpreted as a word index.
(
5-33
----.-.---.--~-~~--~~~----
DZ51-00
Table 5-2 cont. Register Codes
(3)
The A- and Q-registers provide for indexing by a number greater than
2**18-1. When the A or Q register is specified, the number of
right-justified bits for indexing depends on the type of unit
reference specified in the operand referring to the A- or
Q-register, as follows:
~.
j"
18 bits for full';'word (36-bit) operations
21 bits for 9-bit and 6-bit character operations
22 bits for 4-bit character operations
24 bits for bit operations
All addressing is modulo addressing. For example, when software desires to
index backwards by N words, it indexes forward by 2**l8-N words. This same
method is also used in character and bit indexing.
No. of UnitslWord
Unit
No. to Effectively yield -N
Word
1
2**18 - N
9-bit
4
4 * 2**18 - N
(2**20 - N)
4-bit
8
8 * 2**18 - N
(2**21 - N)
6-bit
6
6 * 2**18 - N
1 bit
36
36 * 2**18 - N
'\
For I-bit and 6-bit, 4-bit, and 9-bit characters, A and Q can be
respectively loaded with 36,DU; 6,DU: 8,DU; or 4,DU: and N can then be
subtracted.
The index register designations may be specified by a symbol defined by the user
to have a value in the octal range of 0, 1, ••• ,7 (or 10, 11, ••• ,17 when the RL
usage is in a descriptor that does not immediately follow the multiword
instruction - an indirect descriptor).
Example:
1 .
8
16
XA
BOOL
17
(0,1),(0,1)
MLR
ADSC9 A,O,XA
ADSC9 B,O,XA
is used to specify a move of the number of characters specified by the current
value of index register 7.
5-34
DZ51-00
Similarly,
(
-
1
LA
8
16
MLR
ARG
ADSC9
<0,1,1),(0,1)
LA
B,O,XA
ADSC9
A,O,XA
provides for the sending address of the move to be specified indirectly in the
word labeled LA.
As a precautionary measure, all index register symbols should be defined with
octal values in the range 10, 11, ••• ,17, since the assembler uses only the
low-order 3 bits in all contexts except the indirect descriptor where the symbol
cannot be identified from context as an index register designation.
The content of the IC is always interpreted as a word address when used in
address modification. During the entire execution of a multiword instruction,
the IC points to the instruction word. Thus, if Ie address modification is
involved with a descriptor word, the instruction word address is used.
Specifying DU or DL type address modification in the REG field of an indirect
operand descriptor is illegal and causes an IPR fault.
(
DU address modification is legal for MF2 of the SCO, SCOR, SCM, and SCMR
instructions; for all other instructions, an IPR fault occurs.
Operand Descriptors
The operand descriptors describe the data to be used in the operation and provide
the basic address for obtaining the .data from memory. A unique operand descriptor
format is required for each of the three data types: bit string, alphanumeric,
and numeric. The operand descriptor machine formats are as shown in Figures 5-6,
5-7, and 5-8.
BIT STRI HG OPERAND D!SCRIPl'OR
111 2
000
023
y
Figure 5-6.
2 2
3
N
Bit String Operand Descriptor Format
5-35
DZ5l-00
Coding format for the bit string descriptor, BDSC, is:
BDSC - Bi t descriptor
1
"\
8
16
BDSC
LOCSYM,N,c,b,AM
ALPJWfDMBRIC OPBIWID DESClUPl'ORS
1 1
7 8
000
023
2 2 222
0 1 234
y
3
N
Figure 5-7.
Alphanumeric Operand Descriptor Format
Goding formats for the alphanumeric descriptors are:
ADSC9 - ASCII alphanumeric descriptor
1
8
16
ADSC9
LOCSYM, CN , N,AM
ADSC9 sets the TA field for 9-bit ASCII characters.
ADSC6 - Bel alphanumeric descriptor
1
8
16
ADSC6
LOCSYM, CN ,N ,AM
ADSC6 sets the TA field for 6-bit Bel characters.
ADSC4 - Packed decimal alphanumeric descriptor
1
8
ADSC4
16
LOCSYM, CN, N,AM
ADSC4 sets the TA field for 4-bit packed decimal characters.
(
\
5-36
DZ51-00
/"
".....
I
-/
-~
HUMBRIC OPERAHD DESCRIPTORS
1 1 2 2 2 2 2
000
2 3
3
y
Figure 5-S.
Numeric Operand Descriptor Format
Coding formats for the numeric descriptors are:
NDSC9 - ASClI numeric descriptor
1
8
16
NDSC9
LOCSYM,CN,N,S,SF,AM
NDSC9 sets the TN field for 9-bit ASCII characters.
NDSC4 - Packed decimal numeric descriptor
1
(
B
16
NDSC4
LOCSYM,CN,N,S,SF,AM
NOSC4 sets the TN field for 4-bit packed decimal characters.
The legend for the machine and coding formats of the descriptors is as follows:
y
=
starting data word address
18 bits (0-17) if address register not specified in MY; 15 bits (3-17)
if address register specified in MY, with bit 3 extended;
15 bits (3-17) if address register specified in NF, with bit 3 extended
(i.e., if bit 3 is zero, bits 0-2 are also considered to be zero; if bit
3 is 1, bits 0-2 are also considered to be 1s).
c
=
starting character position within a word of 9-bit characters.
Code
. Char.
00
01
10
11
0
1
2
3
(
5-37
DZ51-00
b
=
starting bit position within a 9-bit character.
Code
Bit
Code
Bit
0000
0001
0010
0011
0100
0
1
0101
0110
0111
1000
5
2
3
All other combinations of
these 4 bits are illegal
codes and will cause an I PR
fault.
6
7
8
=
either the number of characters or bits in the data string if RL = a in
MF: or a 4-bit code (bits 32-35) that specifies a register (see Table
5-2) that contains the number of characters or bits if RL = 1 in MF
CN
=
starting character number within the data word specified by the starting
data word address. Legal codes for the CN depends on the data type as
shown below. Coding entry is by the character shown under CN
Character.
Data
CN
Legal
9-bit
a
1
2
3
000
010
100
110
6-bit
a
1
2
3
4
5
000
001
010
all
100
101
a
1
2
3
000
001
010
all
100
101
110
111
4-bit
Character
4
5
6
7
TA
=
Codes
Illegal
Codes
001
all
101
111
110
III
/
00
01
10
11
Data
~
9-bit
6-bit
4-bit
Illegal - causes IPR fault
5-38
...
"
Address Register Number
(if bit 29 specifies address register
register modification)
Address Register Modification
Specifier
Figure 5-9.
I ndirect Word Format
The AR and REG fields are identical in function to the corresponding modification
fields in the instruction word, except that the register content specified by the
REG field of an indirect word is interpreted as word index only.
Indirect words can be generated with the ARG pseudo-operation as follows:
1
8
16
ARG
LOCSYM, RM, AM
where:
LOCSYM - address
RM - register modification
AM - address register modification
for example:
1
8
16
ARG
DFPRSS, ,4
/--',
~~-//
5-40
DZ51-00
OPERAND DESCRIPTOR ADDRESS PREPARATION
(
A flowchart of the operations involved in operand descriptor address preparation
is shown in Figure 5-10. The chart depicts the address preparation for operand
descriptor 1 of a multiword instruction as described by modification field 1
(MFl). A similar type address preparation would be carried out for each operand
descriptor as specified by its MF code. A detailed description of the flowchart
follows:
1. The multiword
in~truction
is obtained from memory.
2. The indirect' (ID) bit of NFl is queried to determine if the descriptor for
operand 1 is present or is an indirect word.
3. This step is reached only if an indirect word was in the operand descriptor
location. Address modification for the indirect word is now performed. If
the AR bit of the indirect word is 1, address register modification step 4
is performed.
4. The y field of the indirect word is added to the contents of the specified
address register.
5. A check is now made to determine if the REG field of the indirect word
specifies that a register type modification be performed.
6. The indirect address as modified by the address register is now modified by
the contents of the specified register, producing the effective address of
the operand descriptor.
7. The operand descriptor is obtained from the location determined by the
generated effective address in item 6.
8. Modification of the operand descriptor address begins. This step is reached
directly from 2 if no indirection is involved. The AR bit of NFl is checked
to determine if address register modification is specified.
9. Address register modification is performed on the operand descriptor as
described under "Address Modification with Address Registers" above. The
character and bit positions of the specified address register are used in
one of two ways depending upon the type of operand descriptor (i.e.,
whether the type is a bit string descriptor or a numeric or alphanumeric
descriptor).
10. The REG field of MFI is checked for a legal code. If DU is specified in the
REG field of NF2 in one of the four multiword instructions (SCO, SCDR, SCM,
or SCMR) for which DU is legal, the CN field is ignored and the character
or characters are arranged within the 18 bits of the word address portion
of the operand descriptor.
11. The count contained in the register specified by the REG field code is
appropriately converted and added to the operand address.
12. The operand is retrieved from the calculated effective address location.
(
5-41
~
DZSl-OO
Fetch
Instruction
fran
~r)'
No
Ves
Ves
Ves
Mod if)' 'I of
Operand
Mod i f,/ '/ of
Indi rect Word
wi th AR
Descriptor
by AR
No
No
Modify '/ of
Modi f,/ )' of
Indi rect Word
wi th REC
Operand
Descriptor
wi th REC
Fetch Oper.
Fetch
Operand fran
Descriptor
fr an Memo r )'
Memor)'
@
Figure 5-10.
Flowchart For Operand Descriptor Address Preparation
i
\~
5-42
DZ5l-00
Operand descriptor address preparation is illustrated in the flowchart of Figure
5-10. Procedures for the preparation of bit string addresses and
alphanumeric/numeric addresses follow.
Bit String Address Preparation
o0
2 3
0
0
1 1 122
3:
1<
y, c, and b fields
of descriptor with bit
3 of y extended
y
+
1 1 122
0
0
7 8
9 0
3
I I
WORD
I
contents of address
CHAR2
BIT 4 register specified by
..L.-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _18
:;.;::;..o.'----=....._ _--.... bits 0, 1, 2, of Y
1
yields
1 1 1 2
7 8 9 0
0
0
I
~
y
B
181
...
2
3
21
modified descriptor
I address
41
where:
Y
= WORD
c
= CHAR + c
+ Y
B = BIT + b
l. If (BIT + b) exceeds 8, a carry is generated to character position C and B
= (BIT + b) -9:
BIT
b
BIT
+
b
=
7
= 5
= 12,
carry 1 to C and B = 12 -9
=3
2. If (CHAR + c + carry from B) exceeds 3, a carry is generated to the word
address and C = (CHAR + c + carry from B) -4:
CHAR
=
2
c = 3
carry + 1
= 6, carry 1 to word address and
C = 6 -4 = 2
(
5-43
DZ51-00
First the data type designator (TA for alphanumeric, TN for numeric) is checked to
determine the character size. If the data is in 9-bit characters, then the
descriptor address and CN fields can be added directly to the address register
contents as follows:
000 0
(-"
'
\~
2
1 1
1
7 8
9 0
y al1d CN fields of the
numeric or alphanumeric
descriptor, bit 3
extended
y
+
o
111
7 8
9
contents of WORD " CHAR
positions of address
register designated by
bits 0, 1, 2 of Y
WORD
yields
o
1 1
7 8
WORD
+
Y
1
9
modified character
address
Bits 20-23 of the address register are ignored. CHAR is added to bits 18 and 19
of CN. Bit 20 of the descriptor is zero and is not used. If CHAR + CN is
greater than 3, a carry is generated to WORD + Y and CHAR + CN = (CHAR + CN)
-4.
If the data is in 4- or 6-bit characters, the 9-bit character representation
contained in the CHAR and BIT portions of the specified address register is
interpreted to determine the corresponding 4- or 6-bit character position
within the memory word. Translation to a 4-bit character location can be
accomplished as follows:
C = 2 (CHAR)
[(BIT
+
If CHAR
BIT
= 7,
then
1
+
= 3 and
C = 2(3) +
If CHAR
= 3 and
then C = 2(3)
=7
BIT
+
4)/9 truncated ]
0
= 4,
=6
I,:
\\_- ../
5-44
DZ5l-00
"
Translation to a 6-bit character location can be accomplished as follows:
9 (CHAR)
(
C
=
+
BIT
(truncated)
6
= 3 and BIT = 7,
If CHAR
then C
=
9 (3) + 7
6
=5
The remainder of 4 which represents the bit position within character position
5 is ignored. This means forcing the address register to point to the next
lower character boundary.
The address modification can now take place.
000 0
1 1
2
7 B
y and CN fields of the
numeric or alphanumeric
descriptor, bit 3 extended
y
+
o
1 1
2
1 1
2
WORD
contents of WORD position
of address register indicated by bits 0,1,2 of y
CAR is the char. location translated from
CHAR and BIT of address
register
yields
o
WORD + Y
For 4-bit character mode, if CN + CAR is greater than 7, a carry is generated
to WORD + Y and CN + CAR = (CN + CAR) -B.
For 6-bit character mode, a carry is generated to WORD + Y when CN + CAR is
greater than 5 and eN + CAR = (CN + CAR) -6.
In the next step of operand descriptor address preparation, as indicated in
item 10 in the flowchart of Figure 5-10, the REG field is checked for a legal
code. If DU is specified in the REG field of MF2 in one of the four multiword
instructions (SCO, SCDR, SCM, or SCMR) for which DU is legal, the CN field is
ignored and the character or characters are arranged within the lB bits of the
word address portion of the operand descriptor as follows:
(
5-45
--""'·'---'"'"-_'"·0-
DZ5l-00
Operand descriptor word address field (y)
o0
o
Character type (TA)
1
7
9-bit characters
CHAR 1
CHAR 0
o
0 0
6-bit characters
ignored
CHAR 1
o0
1
7
1 1
0 0
0 0
1
4-bit characters
ignored
Where only one character is involved (SCM, SCMR), only character 0 is used.
In step 11, in the flowchart of Figure 5-10, the count contained in the
register specified by the REG field code is appropriately converted and added
to the operand address. The count conversion required depends upon the type of
data.
Bit Operations.
The bit count contained in the register is effectively
divided by 36 to give a word count (WO) with a bit remainder (BR). Dividing
the bit remainder by 9 gives a character count with a bit remainder. Thus
the original bit count (BC) is converted to a word count, 9-bit character
count (ee) and bit remainder, and is in proper form to add to the bit
operand address. An example of the effective conversion is shown below:
bit count from register/36
BR/9
8, BIT = 8 is assumed.
Every specification of an index register (Xn) is interpreted as specifying a
36-bit GXn. An AL/QL specification in the register modification (R modification,
REG modification, N when RL = 1) specifies the 36-bit A/Q registers. Any AU/QU
specification results in an IPR fault. When GXn is used in the R modification of
a basic instruction (single-word instruction), bits 2 through 35 are treated as a
word address.
When GX/A/Q is used in the REG modification of a multiword instruction, bits 0
through 35 are treated as the number of characters specified by the bit number in
the data descriptor.
(
Because effective address generation in ES mode involves sign extension, an
instruction such as LOA LOCSYM causes a Bound fault if LOCSYM is greater than or
equal to l28K words, regardless of the instruction segment bound.
5-51
DZ51-00
EXAMPLES:
Effective
Address
1
8
16
EAX2
AWDX
STZ
2
1,2,3
B,2,3
(X2=2)
AR3 = 31010
Y = B+5
(2)
EAX3
AWDX
LDA
1
2,3,1
B, ,1
(X3=1)
AR1=31010
Y=B+3
(3)
AWDX
EAX4
STA
4,,3
B
1,4,3
AR3=41010
X4= address of B
Y=B+5
(4)
EAX4
AWDX
STA
B
0,4,2
2,,2
AR2= address of B
Y=B+2
(1)
rag Field Modification
In a basic instruction (single-word instruction), a tag field modification is
performed after the AR modification. The tag field format follows:
Instruction - > 30 31 32
35
bi ts
""'1=-tm-----r""1----tdOO::O---~...,.
tag field
The interpretation of a tag field and the accompanying modification method are
the same as in the NS mode except that the address modification by the register
A/Q/GXn/IC is altered as illustrated below. This applies to generation of the
following:
an operand address in R modification
(tm
= 00)
an indirect word address in RI modification
(tm
= 01)
an operand address in IR modification (tm = 10)
The following should be noted with AlQ/GXn modification:
1. EA (effective address) may be represented as Y.
2. The
GXn
specification code is identical to the XB specification code •.
3. The AlQ specification code is identical to the AL/QL specification code.
4.
An
AU/QU specification results in an IPR fault.
".---
~'"
(~~
5-52
DZ5l-00
EXAMPLES:
(
1
Effective
Address
8
16
EAX2
LOA
1
B,2
Y=B+1
LDQ
LOA
=3,DL
B,QL
Y=B+3
ARG
ARG
ORG
ARG
ORG
B
A,2*
A+5
B,5*
B+1
R-Type
(1)
(2)
RI-Type
Z
A"
.
(1)
(2)
(3)
EAX2
LOA
1
Z,2*
Y=B+1
EAX1
STQ
0
Z,l*
Y=B
EAX2
STA
3
Z,2*
Y=A+5
8
16
Effective
Address
LDQ
LDA
3,DL
Z,*QL
Y=B+4
ORG
B+1
EAX4
EAX5
STA
3
6
C,*4
ARG
ORG
B,*5
Z+3
IR-Type
1
(1)
Z
(2)
C
B
Y=Z+9
5-53
DZ51-00
Effective
Address
16
8
1
---,\
(3)
x
EAXl
3
LDQ
X,*l
ORG
B+5
/
Y=B+8
When IC modification is specified, effective address development is as follows:
33 34
0
AR
39
341 B21 BITJ
Word Value
I
+ y
36
•
+
16 bits
/
\
0
00------
0
I
IC
=
.
0
EA (y)
17
•
lsi
•
•
•
•
33 34
I
Effective Address
carry ignored
•
341 B21
36
•
•
39
BI\I
'\
,,--/j
The contents of the instruction counter extended on the left with 16 bits
zero-filled is added to the contents of AR + y.
EXAMPLFS:
1
8
Effective
Address
16
I C added to AR
(1 )
AWDX
AWDX
AWDX
TRA
0,QL,3
1,QL,4
2,QL,2
TEST
TEST
0,$,4
0,$,2
Y=IC+AR3
Y=IC+AR4
Y=IC+AR2
AWDX
LDA
1,AL,2
2,$,2
Y=IC+AR2
SZN
TZE
TN!
(2)
5-54
DZ51-00
When DU/DL modification is specified, effective address modification interprets
the operand data as follows:
(
For DU
17 18
0
AR+y(16-33)
1
18
35
I00------------1~ I
For DL
o1
10 __01
~
35
2
~
AR+y
________________________________________
I
bit
positions
~~<-AR+y
33
0
EXAMPLES:
1
8
Effective
Address
16
Compare .GX1 to AR3
(1)
(
EAX1
A
CMPX
1,DL,3
GX1 = address of A
Load AU with contents of AR2
(2)
EAX3
B
AWDX
LDA
0,3,2
0,DU,2
AR2=address of B
Operand Descriptor Modification
When REG modification is specified in the MF field of a multiword instruction,
it is processed as follows.
When AlQ/GXn is specified
The 36 bits of A/Q/GXn are used as the character number which is the
character address.
An AU/QU specification results in an IPR fault.
5-55
DZ51-00
EXAMPLES:
1
(1)
This moves the string "SOURCE" to the first six characters
of TO. The contents of X3 act as an offset into the source text.
LDX3
=ll,DL
MLR
ADSC9
( , , , 3 ) , , 040
FROM,1,6
TO,0,6
ASCI I
BSS
9, THIS I S THE SOURCE TEXT
2
ADSC9
FROM
TO
(2)
Effective
Address
16
S
The string "LE " is moved to XB, starting at the third
character of XB. The Q register can be used in the same way.
LDA
•
XA
XB
=4,DL
MLR
ADSC9
ADSC9
(",A),(",,),040
XA,0,3
XB,2,3
ASCII
5,SAMPLE TEXT TO MOVE
BSS
3
When IC is specified in the REG modification, it is treated as an
lS-bit word address.
EXAMPLES:
1
S
Effective
Address
16
The string "HIS IS" is moved to Y, beginning with the
first character.
x
Y
EAX3
Y
AWDX
0,3,2
MLR
ADSC9
ADSC9
ASCII
(",IC),(1",),040
3,1,6
0,0,6,2
4, THIS IS THE TEXT
BSS
2
AR2=address of Y
5-56
DZ51-00
When OU/OL is specified
OL - An IPR fault occurs.
(
OU - Permitted only in the SCO, SCDR, SCM, and SCMR
instructions.
The effective address (EA(y» generated by the operand
descriptor is treated as follows.
Bits 16 through 33 of the effective address (EA(y» are
interpreted as character data according to its data format (TA
or TN field of the descriptor).
o
15 16
\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\16
o
\\\\\\\\\\\\\\\\\\\\\16
o
(
33 34 35
CharO
CharI
9
15 16
\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\
24 25
21 22
CharO
6
27 28
\\\\\
\\\\\
9 \\\\\
35
\\\\\\\\\\\\\
CharI \\\\\\\\\\\\\
6 \\\\\\\\\\\\\
15 16 17 20 21 24 25
4
6-bit
characters
35
\\\\\\\\\\\\\\\\\\\\\\\ \\
\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\ \\ CharO CharI \\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\16 \1
9-bit
characters
4 \\\\\\\\\\\\\\11
4-bit
character
For the SCM or SCMR instructions, only CHARO indicated in the diagrams is
used. The shaded portions are ignored during effective address
generation.
ADDRESS DEVELOPMENT
virtual Memory Addressing
Virtual memory provides the processor with a virtual memory capability, consisting
of a directly addressable virtual space of 2**43 bytes and the mechanisms for
translating this virtual memory address to a real memory address. Memory paging is
an integral part of the translation process for this conversion. An absolute
addressing mode that allows bypassing the translation process is also provided.
When the processor is operating in the absolute addressing mode, the virtual memory
address and the real memory address are the same.
5-57
DZ5l-00
To provide for virtual memory management, assignment, and control, the 2**43 byte
virtual memory space is divided into smaller units called working spaces, and
segments.
o Working Spaces (WS)
The 2**43 bytes of virtual memory space are divided into 512 2**34-byte
working spaces (WS). WS numbers used to generate a particular virtual memory
address are obtained from one of the eight WS registers or a segment
descriptor register (DRn). The WS number is represented in a segment
descriptor register either by the content ofa specified WSR or by a 9-bit
WSN field.
o Segments
A segment is part of a working space and may be as small as one byte or as
large as 2**32 bytes for an extended segment. (GCOS disallows the use of
contiguous working spaces for a single segment.) Thus, unlike the fixed size
of a WS, a segment size is variable. Segments are described by a 72-bit
descriptor.
When a virtual address is generated, the descriptor (more commonly referred
to as the segment descriptor) is contained in a register such as the
instruction segment register (ISR).
For operands, the descriptor may be
contained in other segment descriptor registers. The area of virtual memory
constituting a segment is "framed" by the segment descriptor by defining a
base value relative to the base of the WS and a bound value relative to the
base of the segment. _
Virtual memory affects memory address development for both instructions and
operands in Privileged Master, Master and Slave modes of operation.
OPERAHD ADDRESS PROCEDURE
In the first phase of address generation, the effective address (EA) of the operand
is generated as previously described for effective address generation. The EA is
that address obtained after all register modification and indirect processing has
taken place. It is an 18-bit word, 20-bit byte, or 24-bit bit address in the NS
mode, and a 3D-bit word, 32-bit byte, or 36-bit bit address in the ES mode.
After the EA has been formed, the processor hardware forms the virtual memory
address of the operand using the base, bound, and WS values from 1 of .9 segment
descriptors. If bit 29 of the instruction for which the operand address is being
prepared is zero, then the operand resides in the instruction segment and the base,
bound, and WS from the instruction segment register (ISR) are used to form the
virtual address of the operand: if bit 29 of the instruction is 1, then descriptor
register B (DRB) specified by bits 0, 1, and 2 of the address field of the
instruction is used. Note that specifying DRB constitutes specifying ~ and vice
versa.
5-58
DZ51-DD
When indirect EA development is involved, the following rules apply:
a. When ORn and ARg are involved (instruction bit 29 = 1), ARg is applied only
to the first address in a chain of indirect addresses. However, the base,
bound, and WS from ORn are applied to each memory reference in the indirect
chain.
(
b. When no DRn/ARn is specified (instruction bit 29 = 0), the base, bound, and
WS of the ISR are applied to each memory reference in an indirect chain.
c. A word in an indirect chain cannot specify a ORne
d.
I
XEC or XED1 instruction does not constitute an indirect chain; therefore,
the instruction executed may specify a different ORn than the XEC/XED
instruction, or no ORn. If the instruction executed by the XEC/XED does not
specify a ORn, the base, bound, and WS from the ISR are used to form the
virtual address of the operand.
An
HSTRUC'lIOH ADDRESS PROCBDURE
Virtual addresses for instructions are always formed using the value in the
instruction counter (Ie) and the base, bound, and WS from the ISR.
Virtual Address Generation Per HS Mcxle
For all memory accesses, a virtual address must be generated. The mechanics of
generating the virtual memory address depend on whether the involved segment
descriptor is a standard descriptor or a super descriptor. Thus, the procedure
described below for generating the operand virtual address with a standard
descriptor also applies to virtual address generation for accessing the
instruction, argument, parameter, and linkage segments (the registers holding the
descriptors that define these segments may only contain standard descriptors).
1. XED executes in NS mode only.
5-59
-------------,,-
---~~-
DZ51-00
STAJlDARD D&SCJUP.rOR HS MODE
The method of forming an operand virtual address with a standard descriptor is
shown in Figure 5-11. If instruction bit 29=0, the ISR is used~ if bit 29=1, then
DRn is used.
o
17 18 20 23
IO~ ~ ~Ol, ______
EF~~~
181 B21 BI~I
r -______ ,I.
+
----->------,-----
>--(-)
•
Bound Fault If
carry Is
Generated
<-
·
o
33 34 35
SEX;MENT BASE
FROM DRn OR I SR
·
341 B2
··
·•
··
·
·•
···
·
Bits 0 and 1
0 2
saved to Make
<-WSN Access
2
Control
Cleck
0
33 34 35
EA +
BASE
341 B2
··
··
·•
··
··
··
·· ··
·.OR.·
· ·
· ·
678
7 2
··
8·9
0
EFFECTIVE
WORD ADDRESS
WORKING WI THI N WORK! NG SPACE B BIT
SPACE 9
32 2
4
where:
·•
··
··
•
··
•
···
•
·•
1
.
Bound Cleek
I
If EA(O-19) > Bound
then Bound Fault
Occurs
<-Relative Virtual
Address
·
·
··
·
··
··
40 42 ·43 46·
WSN
··
·
.
Resulting
<-Virtual Address
B - page byte
WSN - working space number
Figure 5-11.
Virtual Address Generation Using Standard Descriptor (NS Mode)
5-60
DZ51-00
The bound check is applied to the effective address at the byte level. The bound
check is shown for byte or bit instructions; the checks for single-word or
multiword instructions require inclusion of the base in upper- and lower-bound
algori thIns.
If a carry is generated when the EA is added to the base, an out-of-bound situation
exists, resulting in a Bound fault.
The effective WSN is formed by ORing the low-order two bits of the working space
number with bits 0 and 1 of the sum of EA + BASE.
The bit address from the EA becomes the bit address of the virtual address.
SUPER DESClUPl'OR RS MODE
The method of forming an operand virtual address with a super descriptor is shown
in Figure 5-12.
(
5-61
DZ51-00
Io~ ~ ~ -_-=_=_=
o
17 19 20 23 0
_"="0T'1,~EFFECT~AD~D~RES=I~~E~--1";"8-r1~B;"'2':;:I~BI~~~1
+
·.0
1- -
. .
I
o
Fault I f
DR Bound
33. 35.
.LOCATION FROM DRn
B21
I
Bound
19 20
33
·
35.
•
<--~I____~
___
T_IO_N__
+_EA
____~3~4.I_B~2~1
·'---1-+
========::.:/
.-"':.-~=;!~:---r
1
-
carry Is
Generated
35.
DRn BASE
•
·
•
•
•
Bits 0 and 1
•
33 35 •
• 01 2
saved to Make
•
-,-·_-
•
>>-------( -)
+
o·
33
•
Bounds Check
of EA
35
B
34 2
SEGMENT BASE FROM DRn
•
·•
··
Bound FIt If
• carry Is
OUt of Bound
• Generated
··
··
··
Bi ts 0-1 012
<-Re1ative Virtual Address
Effective Address + Base B
Sa ved to
Make WSN
2
32
2
··
Access
·
·
·
·
Control
•
· ••
eck
·· ··· ··•
·• OR.
· ·•
·· ·· ··
·
678
0
·· ·· ··
WSN
·· ·· ··
7 2
•
··
·· ··
·
40 41 43 46
8 9
0
·• ··
•
··
•
·• ··
33 35
·• Bound Fault If
(
•
•
Ch
. -
EFFECTIVE
WORKING
WORD ADDRESS WI THI N
SPACE 9
WORKI NG SPACE
where:
B
32
2
<-Resulting
Virtual Address
BIT
4
B - page byte
WSN - working space number
Figure 5-13.
Virtual Address Generation Using Extended Segment Descriptor
(NS Mode)
5-63
- DZ51-00
Virtual Address Generation Par ES Mode
In the ES mode, a 36-bit effective address is added to a segment descriptor to
generate a virtual address. The method used for generation of virtual addresses
differs depending upon whether the related segment descriptor is a standard segment
descriptor or an extended segment descriptor. Super descriptors must not be used
for address generation in ES m~e as any attempt to do so results in an IPR fault.
S'J.'ABDARD DESClUPTOR IS MODE
The method of forming an operand virtual address with a standard descriptor in ES
mode is shown in Figure 5-14. If instruction bit 29=0, the ISR is used; if bit
29=1, then DRn is used.
5-64
DZ51-00
o
33
35 36
39
EFFECTIVE ADDRESS
.\-------------------------------/.
. . ..
I----->------------>
---(-)
+
o
SEGMENT BASE
FROM DRn OR 1 SR
• carry is
• Generated
Bi ts 0-1
Malte WSN
2
saved to
Access
Control
Check
(
0
Effective Address
+
·
··
B
2
•
•
•
··
·•
··
··
··
··
40 41 43
··
·
··
•
··
··
·
2
··
8·9
EFFECTIVE
WORD ADDRESS WI THI N
WORKING
WORKI NG SPACE
SPACE 9
where:
2
32
WSN
0
34
Base
·· ··
·· OR.·
· ·
· ·
678
7
35
B
·· ·•
•
•
·• ··
·· ·•
33 35
·• Bound Fault If
···
o1
33
B
32
2
Bounds Check
of EA
··
Bound Flt.If
··
Out of Bound
··
··
<-Relative Virtual Address
···
·
··
··
·
·
·
···
46
<-Resulting
Virtual Address
BIT
4
B - page byte
WSN - working space number
Figure 5-14.
Virtual Address Generation Using Standard Descriptor (ES Mode)
EXTENDED SlGmNT DESCRIP'l'OR ES MODE
The method of forming an operand virtual address with an extended segment
descriptor (T = 12) is shown in Figure 5-15. It is the same as that using a
standard segment descriptor except in the bound check.
5-65
DZ51-00
o
33
.\-
34
35
B
2
39
I I BIT41.
-I .
1-->>-------->--·-------( -)
+
o·
•
33
SEGMENT BASE
FROM DRn
B
34
• carry Is
• Generated
0
··
•
o1
Effective Address + Base
2
32
WSN
2
··
8 ·9
0
EFFECTIVE
WORKING
SPACE
where:
B
2
·· ·•
·· ··
·· ·•
··· ··•
·· ·•
·· ··
40 42 43
·• ··
·• OR.·
·· ·•
678
7
2
·· ·•
·· ••
·• ••
33 · 35 ·
·• Bound Fault I f
Bi ts 0-1
saved to
Malte WSN
Access
Control
Check
·
35
WORD ADDRESS WI THI N
WORKING SPACE
9
B
32
2
Bounds Check
of EA
··
•
·•
Bound FIt If
OUt of Bound
··
··
•
<-Relative Virtual Address
··
•
··
•
··
··
··
··
46
<-Resulting
Virtual Address
BIT
4
B - page byte
WSN - working space number
Figure 5-15.
Virtual Address Generation Using Extended Segment Descriptor
(ES Mode)
5-66
DZ5l-00
Absolute Addressing Mode
(
Virtual memory provides an absolute addressing mode. When the processor uses the
absolute addressing mode, a virtual address is generated. However, the virtual
address is not mapped to a real address; it is used as the real address with a
maximum size limitation of 2**28 words (256 megabytes).
The processor utilizes the absolute addressing mode when the referenced working
space regi~ter or descriptor (with working space number) contains WSN = O. In
these cases, the upper two bits of the segment base are not OR' ed with the
working space number. The absolute address mode is fully set by the direct value
of the WSN.
To use the absolute addresing mode, the CPU must be in Privileged Master Mode.
If these conditions are not satisfied, a Command fault occurs when an attempt is
made to reference working space zero. The housekeeping bit is assumed ON when
working space zero is referenced.
When the processor is in the absolute addressing mode, address preparation
proceeds as in normal virtual address development. (Refer to Figure 5-16.)
o0
o
o
1 1
4
2
2 3
8 9
4
6
EFFECTI VE
EFFEC'1'I VE
WORK! NG SPACE
WORD ADDRESS
WORKING
SPACE
9
B
30
4
4
/
/\
\
\
Bits 9 - 12 are
ignored
/
\ Used as a 3D-bit absolute byte address of real
memory for the operating system. However,
paging is performed by the hardware.
Figure 5-16.
/
Effective Absolute Address
5-67
DZ51-00
Paging
After generation of a virtual address, an address translation process for mapping
a virtual memory address to a real memory address is performed by paging, in
order to create a real memory address for accessing the real memory.
Paging does not differ between the NS or ES mode.
ADDRESS 'l'RAHSLA'l'ION PROCESS
Memory paging is an integral part of the address translation process for mapping
a virtual memory address to a real memory address. Each of the 512 working
spaces is supported by one page table or one section table (SCI'). The working
space page table directory (WSPTD) is a 512-word table, indexed by a 9-bit WSN.
A WSPTD entry contains the real memory address of a page table or section table.
The section table consists of up to 4K words called page table base words (PBW).
Each PBW def ines the real memory address of a page table. When paging is
performed using section tables, PBWs cause the page table to be divided into 1K
blocks and allow them to be distributed throughout memory.
PAGE TABLE DIRl!C1'ORY WORD PORHA'l'
The format of the page table directory word is given in Figure 5-17.
o
o
1 1 1 2 222 2
7 8 9 0 1 234
2 3
3
9 0
5
R
PT/SCT Base
Q p
(MODI024W)
I
'1' F
2 1 1 1 U
18
__Type
PT/SC'I' SIZE
12
I ~ND
of PT
_Present
Bits 24-29
-ignored
_WS Access Control
Figure 5-17.
Page Table Directory Word (PTDW) Format
5-68
DZ5l-00
Bits
Description
0-17
The modulo 1024 base address (real memory address) of a page table
(PT) or a section table (SCT).
18,19
Provide a hardware method to force the isolation of the loiS. When
one or more loiS is allocated to a process, software will record in
these bit positions of the associated PTDW, the relative WSN within
the set of up to four possible numbers. These bits are used to
check the WSN at translation from a virtual memory address to a
real memory address. An SCL2 fault occurs if the check. fails.
20
= 0,
the PT/SCT is not present.
occurs. )
= 1,
the PT/SCT is present.
21
Ignored
22
o=
1
(A
missing working space fault
indicates a dense PT.
= indicates
an SCT.
23
Reserved for future use.
24-35
The size of the PT/SCT.
o For a dense page table, bits 24 to 35 indicate the modulo 64
size of the PT.
(
o For a section table, bits 30 to 35 indicate the modulo 64 size
of the SCT. Bits 24-29 are ignored.
o If bits 30 to 35 are zero, the size of 64 words is assumed.
PAGE TABLE BASE WORD FORMAT
The format of the page table base word is given in Figure 5-18.
o
1 1
PT Base
(MOD1024W)
Figure 5-18.
2 2 2 2
3 3
1 2
3
5
RFU
Page Table Base Word (PBW) Format
5-69
DZ5l-00
Description
0-17
Indicate the modulo 1024 base address (real memory address) of a
dense page table.
18,19
Reserved for future use.
. = 0, the PT is not present.
occurs. )
= 1, the PT is present.
20
(A missing working space fault
21,22
Must be zero.
23 to 31
Reserved for future use.
32 to 35
Define the modulo 64 size of a dense page table.
64 words is assumed.
If 0, the size of
PAGE TABLE WORD PORIIAT
The format of the page table word is given in Figure 5-19.
o
1
o
1
7 8
PAGE ADDRESS (MOD 1024)
18
Figure 5-19.
2 2 2 3
7 8 9 0
RESERVED FOR
SOFTWARE 10
3
5
RHO
CONTROL
2
FIELD
6
Page Table Word (P'l'W) Format
Description
0-17
The page modulo 1024 base address (real memory address).
18-27
Reserved for software use and may not be altered by the hardware.
28,29
Reserved for hardware use and may be changed by the hardware.
Control Field:
30
31
- Processor page present/missing bit
= 0, page is not in memory (missing)
= 1, page is in memory {present}
- Write control bit
= 0, page can not be written
= 1, page can be written
5-70
J
}
J
I
nterpreted only
by processor
J Bit 31 is
} interpreted by
J processor and
J
lOP
DZS1-00
Control Field:
(
32
- Housekeeping bit
= 0, nonhousekeeping page
= 1, housekeeping page
}
} Interpreted only by processor
}
33
- lOP page present/missing bit
= 0, page is not in memory (missing)
= 1, page is in memory (present)
34
- Page modified bit
= 0, page was not modified
= 1, page was modified
35
- Page access bit
= 0, page was not accessed
= 1, page was accessed
} Not inter} preted by
} processor
}
} Interpreted only by processor
]
}
} Interpreted only by processor
}
When the processor accesses the page table word (PTW), the hardware checks bit
30. If bit 30 = 0, a Missing Page fault occurs and no other faults that might
be caused by the page table word are checked. Refer to the discussion of "Page
Table Word Control Field Faults" in Section 6.
Note that the processor and the lOP have separate
page. Thus, during I/O, a page may be present to
processor or vice-versa. When a page is accessed
is accessed in main memory by hardware, bit 35 of
hardware.
bits to indicate a missing
the lOP but missing to the
by the processor, and the PTW
the PTW is set to 1 by the
When a write occurs to a page, and the modified bit in the page table word in
associative memory is 0, this bit is set to 1 and bits 34 and 35 of the page
table word in main memory are set to 1 by the hardware.
Note that if a write occurs to a page, and the modified bit in the page table
word in associative memory is 1, no changes are made to the page bits. SOftware
may have reset the page access bit, -bit 35, to zero. This bit remains zero
under this condition.
NAPPI NG THE VIRTUAL ADDRESS TO A REAL ADDRESS
If a prior memory reference to the same page has already mapped that page to
real memory, and if that mapping is still present in the associative memory of
the processor, then the mapping is accomplished by concatenating the Word field
of the virtual address to the modulo 1024 real address of the page, to produce
the real addres~ for the memory reference. Otherwise, the mapping proceeds by
locating and obtaining the Page Table Directory Word (PTDW).
If the PTDW indicates that the page table is not present (PTDW.P=O), then the
mapping is not completed, and a Missing Working Space fault is generated. If
the page table is present (PTDW.P=l) but PTDW.Q¢l, bits 0-1 of the relative
virtual address are compared and if they are not equal, then the mapping is not
completed, and a Class 2 Security Fault is generated.
5-71
DZ51-00
DENSE PAGE TABLE
When a dense page table is used, the CPU interprets the virtual address as shown
in Figure 5-20.
o0
8 9
o
0
EFFPX:TIVE
WSN
o1
PAGE NUMBER
I
9
444
0 2 3
3 3
1 1
2 3
WORD
18
4
Figure 5-20.
10
4
6
B BIT
,;
2
Virtual Address
Description
0-8
Working space to be accessed.
9-12
Ignored
13-30
Page number is used as an offset or index into the PT for this
WSN, for locating the P'l'W. The page number is relative to the PT
base address (real memory address) which comes from the PTDW.
31-40
Determines which word wi thin the 1024-word page is being
addressed.
41-46
Byte and bit positions within the word, if applicable.
LOCA'l'IHG '!'BE PAGE TABLE DIRll:"l'ORY WORD
The Page Directory Base Register (PDBR) contains the modulo 512 word address of
the Working Space Page Table Directory (WSPTD). Figure 5-21 shows how the
hardware uses the effective WS number from the virtual .address as an offset into
the WSPTD to obtain the Page Table Directory Word (PTDW) for address translation
using a dense page table.
Figures 5-21, 5-22, 5-23, and 5-24 illustrate virtual to real mapping using a
dense page table. I n Figure 5-21 below, the dense page table base address in the
P'l'DW is modulo 1024 words. PTW bits 0 to 17 are the modulo 1024W page start
address.
5-72
DZ51-00
o
18 Mod
~-=~---->
9-bi t WSN#
WSPTD
Page table base
(Mod l024W) PT
-..,.----->
+------t
--->
Paoe Base
(MOd 1024W)
PTDW
Paae
lS-bit Page# --->
PTW
=
(All addresses
are real)
=
Word within
Addressed
the page
-> ......-,;=-:;;;.......,.---+
Word
1KW
Figure 5-21. Address Mapping Using A Dense Page Table
(
In Figure 5-22, the PDBR indicates the base (mod 512 words)of the 512-word
WSPTD. The 9-bit effective WS number is combined with the 19 bits from the PDBR
to generate the real memory address to access the WSPTD. The PTDW includes the
real memory address (mod 1024 words) of the page table. The PT entry location is
determined by the 18-bit page number of the virtual address. The PTW includes
the real memory address (mod 1024 words) of the page. The 10-bit word address
field of the virtual address is combined with the lS-bit real memory address of
the page to generate a 2S-bit real memory word address. This generation is
illustrated in Figures 5-22, 5-23, and 5-24.
o
I
lS
Real memory address
from PDBR
19
0
I
S
rI-:E~f=-=f~ec-t~i:-v-e-~I
WSN
o
1
91
27
PTDW Word Address
Figure 5-22. PTDW Address
5-73
DZ5l-00
Virtual to real mapping through a Dense PT is shown in Figure 5-23.
The PTDW contains the base address (0 modulo 1024W) of the PT. The address of
the PTW is equal to the base address plus the lB-bit page number. The mapping of
the virtual address to the real address is completed when the PTW is obtained.
The mapping is then saved by the hardware in the associative memory. The PTW
contains the real address (0 modulo 1024) of the page. The 10-bit word field of
the virtual address is concatenated with the page real address to form the real
word address.
o
P'l' BASE
ADDRESS
·.0
·o
0
FROM
2
7 8
7
18
I ~----OlQ I
·
o·
3.
+
1 1
2 3
lB-BIT
-0
2
4
\-
---
17
---I.
I
•
>-
3
5
PT BOUND FROIf
PTDW (MOD 64) 1 - 1
12
6
PAGE # FROM
VI RTUAL ADDRESS
13
• (carry Ignored)
·•
·•0
PTDW
1 1
:
I
•
--->-(-)
· ·•
··
·
•
•
•
2•
7•
•0
PTW ADDRESS
28
···
•
SIZE CHECK
I
I f page size >
PT Bound/l1lllll then
a bound fault occurs
Figure 5-23.
PTW Address
5-74
DZ5l-00
o
o
(
1
7
PAGE ADDRESS FROM PTW
Bits 0 to 17
4
3
o
1
Real address
from PTW
WORD PART OF
VIRTUAL ADDRESS
Bits 31-40 10
18
2
7
0
0
WORD ADDRESS I N REAL MEMORY
28
Figure 5-24.
Word Address
The section table allows the page table for a working space to be fragmented
into sections. The PTDW specifies the base of the section table, which
contains up to 4K of page table base words (PBW), each of which defines a page
table for a section. When a section table (seT) is specified by the PTDW, the
virtual address is interpreted as shown in Figure 5-25:
o
0
EF'F'&:TI VE
o0
8 9
2 2
SECTION
WSN
NUMBER
12
9
Figure 5-25.
444
2 3
3 3
o1
o1
PAGE
0
WORD
NUMBER
10
4
6
B BIT
10 2
4
Virtual Address
Description
0-8
Working space to be accessed
9-20
Section number. An offset of the SCT base for accessing the PBW
in the SCI'. The SC number is a value relative to the seT base
indicated by the PTDW.
21-30
Page number is used as an offset or index into the PT for this
WSN, for locating the PTW. The page number is relative to the
PT base address (real memory address) indicated by the PBW.
31-40
Determines which word within the 1024-word page is being
addressed
41-46
Byte and bit positions within the word, if applicable
5-75
DZ51-00
Figure 5-26 illustrates virtual to real mapping when using a section table.
o
18 Mod
EI_51~_>
WSPTD
Section table base
(Mod 1024W) SCT
SCT
Page Base
(Mod l024W)
>
9-bit WSN
----->
PTDW
PI'
12-bit SCI
-
-->
Page Base
(Mod l024K)
>4---=:.P.::B;:.:.W_...
=
Max.
=
4KW
Paae
->
lO-bit Page# -->
PTW
All addresses
are real
Max. lKW
Addr'sed
->
Figure 5-26.
Word
Address Mapping Using A Section Table
5-76
DZ51-00
Development of a word address from a section table is illustrated in Figures 5-27,
5-28, and 5-29.
o
1 1
2
787
I
0 SCT BASE ADDRESS FROM PTDW
o
16 bits
\
/
T9~
·
...
2.
________________~0~.
3
SCI FROM
0----------0
SC'l' SIZE
FROM P'l'W
VI RTUAL ADDRESS
(carry 1 gnored )
3
5
0
1
12
6
\---------/
I
. ·
·
2
7· ·
· ··
28 I ·
·
1
6
----->~---------->---(-)
o
PBW WORD ADDRESS
SIZE CHECK
If SC#>SC'l' Bound/Illllll
then a Bound Fl t. occurs
(
Figure 5-27.
5-77
PBW Address
DZ5l-00
··
·•
··
·
o
11
·.0
·o
1 1
2
7 8
7
----0 101
PT BASE ADDRESS FROM PBW
1 2
7 1
- ----
0
-
3
+
o
PAGE # FROM
0
VI RTUAL ADDRESS
18
(carry Ignored)
10
\-
·•
I
.0
.0
3
2
3
5
PT
SIZE
FROM 11
PBW 4
1
6
··
··
•
··
I.
.- - - - ( - }I
- 2.
7.
PTW WORD ADDRESS
28
SIZE CHECK
If PG#>PT Sizelll11111
then a Bound fault
occurs
Figure 5-28.
o
0
..
•0
1
7
PAGE ADDRESS FROM PTW
(Bits 2-17)
18
PTW Address
3
4
1
0
WORD PART OF
VI RTUAL ADDRESS
(Bits 31-40) 10
.
•
2•
7•
•0
WORD ADDRESS I N REAL MEMORY
28
Figure 5-29.
Word Address
5-78
DZ51-00
ASSOCIATIVE MEMORY
After a virtual address has been mapped to a
page table word information is stored in the
way that a subsequent reference to this page
format of the data stored by an SCPR 16 from
Figure 5-30.
o
real address as described earlier,
associative memory (AM) in such a
can be mapped in one step. The
the associative memory is shown in
1 1
Page Number
Figure 5-30.
3 3 3 333
Zeros
Page Table Word Associative Memory (P'l'WAM) Format
Description
0-17
The first 17 bits hold the page number
18-30
Zeros
31-35
Page control bits:
W- write
H - housekeeping
M - modified
P - parity on PTWAM storage
(
5-79
DZ5l-00
When an operand virtual address is mapped from an associative
memory entry and the operation modifies the page, the hardware
checks the modi fied (M) control bit. 1 f the Mbit in the AM
entry is OFF, the processor turns the Mbit of the AM entry ON,
ref etches the page table word for this AM entry from main
memory, and turns the M control bi t in the page table word ON.
The access bit in the page table word is also set ON at this
time, since it may have been turned OFF by the software. 1 f the
Mbit of the AM entry is ON at the beginning of the mapping, no
change is required.
The associative memory is arranged in 64 rows by 2 columns. Each intersection
of a row and a column contains a 35-bit entry like the one shown above.
Page table directory words from associative memory are stored b¥ SCPR 16 with
the following format.
o0
o
2 2 2 2 223 3 3 3 3 3
RVA (Bits 2-17)
WSN
Figure 5-31.
Associative Memory Directory Word
Bits
Description
0-8
Working space number
9-24
Real virtual address (RVA) bits 2-17
25
When set
26
When set = 1 indicates full; 0 indicates empty
27
Round robin counter
=1
indicates parity error
o = level
1 =
28
0
level 1
Status of level A
o = ON
1 =
29
OFF
Status of level B
o=
ON
1 = OFF
30
When set = 1 indicates enable associative memory
;'
/'
5-80
DZ5l-00
(
The PTWAM directory word is obtained from the directory with its contents
placed into the A register by the Store Central Processor Register instruction
SCPR with tag = 17. The word is loaded from the A register and put into the
PTWAM directory by the Load Central Processor Register (LCPR) instruction.
Both of these instructions must be used in Privileged ~ter mode.
The PTWAM has two levels, A and B, and 64 columns from a total of 128 entries.
The LCPR ,17 instruction causes the following A-register bits to be loaded into
the directory word pointed to by the effective address:
o
-->
Full/empty bit
C(A)27 --> Round robin counter (RRO)
C(A)28 --> Level A set OFF
D(A)29 -> Level
B
set OFF
The PTWAM has only one full/empty(F/E) bit. When FIE = 1, both Level A and
Level B are full. When FIE = 0, the round robin counter (RRO) specifies
whether or not Level A is full. A typical operation sequence following
execution of LCPR 17 specifies the full/empty states as follows:
(
FIE
RRO
Level A
Level
1
o
o
o
Empty
Empty
1
Full
Empty
2
1
o
Full
Full
3
1
1
Full
Full
4
1
o
Full
Full
B
When a new address not contained in the associative memory has been mapped and
the associative memory is full, the new entry replaces the older entry in the
row (using the RRO algorithm).
The associative memory may be disabled (any further comparisons or matches are
ignored) by:
a. Executing a CAMP instruction with effective address bits 16-17
= 1.
b. Encountering an address compare of two or more columns in one of the 64
rows.
If one of the levels is OFF, the entry is still made in that level
corresponding to the state of the RRO counter. On a subsequent PTW search, the
OFF state of the level is recognized and a match is not permitted.
5-81
DZ5l-00
The associative memory is cleared whenever the following occurs:
a. The processor is manually initialized.
b. The processor is enabled, and the CAMP instruction is executed with
effective addrss bits 16-17 equal to 00, 10, or 11. If EA bits 16-17 =
01, the associative memory is disabled but not cleared.
c. The processor is disabled, and the CAMP instruction is executed with
effective address bits 16-17 = 10.
d. The processor is disabled, and the Load Page Table Directory Base
Register (LPDBR) instruction is executed.
CACHE KBNORY
A description of the visible portion of cache memory control follows. cache
directory data is returned to the A register on the instruction SCPR 15 from
the entry selected by the effective address.
1 1 111 1 1 1 2 2 2 2 222 2 2 2 3 3 3 3 3 3
2 3 456 7 8 9 0 123 456 7 890 123 4 5
Real Memory Address
III
III
III
I
I
I
Figure 5-32.
III
III
III
IIIIIIIII
IIIIIIIII
IIIIIIIII
cache Directory Word
Description
0-12
Most significant 13 bits of the real memory address
13-14
Not used
15
Parity on bits 0-9 of the real memory address
16
cache block fulliempty bit (normal mode)
NOTE: When certain cache blocks are used by PATROL, these blocks are
set to empty prior to normal use by the CPU.
17
Selected level parity error
18
Cache enable bit (1 = enable)
19
cache block fulliempty bit (PATROL mode)
20
Unused
21
cache enabled for instruction fetch (1
22
Parity on bits 10-12 of the real memory address
23
cache to register flag (1
= enabled)
= ON)
5-82
DZ51-00
(
Bits
Description
24-25
Level 0,1 ON when = 1
26-27
Unused
28
Least recently used (LRU) register
29-33
Unused
34-34
Lockup fault register
Address Truncation
The instruction set contains instructions that operate on words, double-words,
9-bit bytes, 6-bit characters, 4-bit characters, and bits. Instructions and
indirect and tally words that specify 6- or 9-bit characters are considered
word instructions. In accessing the operand, the full byte level virtual
address is determined. The address is then truncated in accordance with the
address type of the instruction, and the access is also in accordance with the
type of instruction.
.
exception to this procedure applies to the 8-word instructions, such as LREG
and SREX;. The effective address is truncated to a modulo 8 word address prior
to adding the base. Following the addition of the base, the virtual address is
then truncated to a double-word address.
An
The user is responsible for ascertaining correctness of operation of an
instruction as influenced by such address truncation.
Bounds Checking
Virtual memory allows specifying the base~ bound of a segment to the 9-bit
byte level, enabling a finer level of 'security control. Because the processor
interfaces with word-oriented main memories, certain restrictions are also
imposed to minimize the impact on performance and hardware complexity. The
size of a segment described by a super descriptor is modulo 2**26 bytes;
therefore, the bounds checking is always the same: BOUND (lower extended with
26 one bits) ~ LOCATION + EFFECTIVE ADDRESS. The following information applies
only to standard descriptors and extended descriptors.
(
5-83
DZ5l-00
WORD AHD DOtJBLE-WORD OPERATIONS
Word, double-word, or a succession of word accesses as in the LREG and SREG
instructions are made to real memory word or double-word boundaries. Segments
that begin or end on byte or word positions and that do not correspond to word
or double-word boundaries may be accessed by word or double-ward instructions.
The processor adds the 2-bit byte position held in an address register (if
selected) to the byte position of the base before truncating the final virtual
address to point to a word or double-word. If this truncation results in the
virtual address dropping below the base value, a lower bound check will declare
an out-of-bounds condition in this case and a Bound fault occurs.
Thus, the
first word or double-word of a segment may be accessed with word-oriented
instructions only when the word or double-word is entirely within the segment.
Half-word accesses, such as the LXLn instruction, are treated as word accesses
in both the lower-and upper-bounds check. If a segment begins in the middle of
a word, the LXLn and SXLn instructions cannot be used to access the lower
half-word. I f the segment ends in the middle of a word, the LDXB, STXn, LXLn,
ADX!!, etc., instructions cannot be used to access the upper half-word.
The STCA, STCQ, STBA, and STBQ instructions store 6-bit or 9-bit characters
into characterlbyte locations within a word. These are considered as word
accesses and require the entire word to be within the segment.
Indirect and tally words that specify characterlbyte locations are considered
as addressing words that must be fully contained in the segment. The virtual
address is truncated to the next lowest word boundary (i.e., the character
position in the base is not added to the character position held in the
indirect and tally word).
NOTE: This information is included to provide a warning for users of the
operating system and user software. If segments are "shrunk" (see the
LDDn and CLIMB instructions), and the byte portion of the virtual base is
changed, a word or double-word access to the new segment may be truncated
to a different location within the segment.
All instruction segments must begin at a 0 modulo 8 location and end at a 7
modulo 8 location. Any transfer or CLIMB instruction that attempts to load the
instruction segment register must specify a segment base whose 5
least-significant bits are Os, and a segment bound whose five least-significant
bits are Is. This condition allows the processor to access blocks of eight
words fo:- LPL, SPL, LREG, SREG, LAREG, and SAREG instructions with the
assurance that if the first word is on an assigned page and is within the
segment boundary, the other words will also be so located.
All descriptors loaded into the SSR, PSR, LSR, ASR , or DSDR registers must
begin and end on double-word boundaries (the three least-significant bits of
the base are Os and the three least-significant bits of the bound are Is).
5-84
DZ5l-00
BYTE OPBRATI OMS
(
For all 9-bit and 4-bit character operations using multiword instructions, the
upper-bound check is made at the 9-bit byte level. A lower-bound check is not
required since the effective address is always greater than or equal to zero.
For all 6-bit character operations using multiword instructions, the boundary
checking is on a double-word basis, meaning that a double-word containing any
6-bit character of the operand must be fully in bounds. If access is attempted
to a segment with a base or bound not on a double-word boundary, a Bound fault
is generated.
mT
S'l'RI1f~
AND TABLE OF 'l'RAKSLATE IRS'rRUC'l'IOIf
Multiword bit string instructions and the index table of the translate
instructions (MVT, TCT, and 'l'CTR) have double-word bound checking applied.
Thus, a double-word that includes any part of these operands must be fully in
bounds. If access is attempted to a segment that has a base or bound not on a
double-word boundary, a Bound fault is generated.
00UIfD CBK:K B'JUATIOIfS
The address truncation procedure described previously forces bounds checking to
vary depending upon the type of instruction specified. The resulting three
upper-bound and lower-bound checks are listed in Table 5-3. A Bound fault is
generated if the bound checks are violated.
5-85
DZ51-00
Table 5-3.
Instruction
Double-Word
(includes bit
string and 6bit character
instructions)
Single-Word
Byte
(includes
9-bit byte,
4-bit byte)
Bound Check Equations
Bound Check
111l~
Upper
(BASE
+
EA)0-32I
Lower
(BASE
+
EA)0-32 I 1000~ BASE
Upper
(BASE
+
EA)o-33 I III
~
BASE
Lower
(BASE
+
EA)0-33I 100
~
BASE
EA 0-19
~
BOUND
Upper
Lower
BASE
+
BOUND
+
BOUND
Always satisfied
The base, bound, and effective address (EA) addresses represented in the bound
check equations are for 9-bit bytes. For 4-bit byte and bit instructions, the
effective address represents the 9-bit byte in which these small quantities are
contained. The single- and double-word bound check equations include the
effect of address truncation: the truncated address is then extended to the
largest byte contained therein for the upper-bound check and to the lowest byte
for the lower-bound check. The byte checks refer to the byte accessed; in
multibyte instructions such as NU, the access checks are applied to each byte.
Physical accesses, which may be larger than those corresponding to a given
instruction (and which therefore may include bytes not contained in the
segment), are not bound checked beyond the byte range corresponding to the
instruction.
5-86
DZ5l-00
SBCrIOH 6
FAULTS AIID IIITBRRDP'I'S
Faults and interrupts both result in an interruption of normal sequential
processing, but there is a difference in how they originate. Generally, faults
are caused by events or conditions that are internal to the processor; but
interrupts are caused by events or conditions that are external to the
processor. Faults and interrupts enable the processor to respond promptly when
conditions occur that require system attention.
DESCRIPfiON OF FAULTS AIm INTERRUPTS
When the processor responds to a fault, interrupt, or special systems entry
(PMME), the ICLINE version of the CLIMB instruction is executed. Because this is
an inter-domain transfer of control, an entry descriptor is required; the entry
descriptor is obtained from a fixed memory location •. The interrupt, fault,
special systems entry, and Backup fault entry descriptor locations (in real
memory) are as follows:
(
Location (octal)
30-31
32-33
34-35
40-41
Entry Descriptor
Interrupt
Fault
Special systems entry
Backup fault
FAULT PROCEDURES
When a fault occurs, the processor generates the appropriate fault code and
executes the ICLIMB version of the CLIMB instruction. During the safe store part
of the rCLINE, the generated fault code is stored along with a flag to indicate
that the safe store frame is the result of the occurrence of a fault (bit 11 of
word 5 is set to 0).
If the fault occurred during a multiword instruction, the pointer and length
registers will be saved in the safe store frame.
The second word of the "wired-in" ICLINE instruction is assumed as described for
interrupts. (Refer to "Interrupt Procedure" later in this section.)
6-1
DZSl-OO
If an entry descriptor is not found in the fixed fault vector location or if
another fault should occur (e.g., a parity error) while the processor is
attempting to ClJMB to the fault handler, the processo~ attempts to obtain an
entry descriptor from the Backup fault vector location. If this second location
does not contain an entry descriptor, the processor enters the HALT state. If
the second fault occurs prior to the transfer of control to the new domain at the
end of the ICIJMB, then the safe store frame will overlay the original frame
(wi th the same information execpt, for fault code). I f the second fault occurs
during the transfer of domains, such as a page fault when obtaining the next
instruction, then a second frame is filled specifying the new domain and the
fault code of the type fault that caused the backup condition.
The processor is placed in the Privileged Master
"wired-in" ICIJMB instruction. Upon exiting the
the Privileged Master mode if flag bit 26 of the
(ISR) is 1. If flag bit 26 of the new ISR is 0,
mode.
mode for the execution of the
ICLIMB, the processor remains in
new instruction segment register
the processor cycles to Master
FAULT PRIORITY
Faults are organized into five groups to establish priority for the recognition
of a specific fault when two or more faults occur at the same time in different
groups. (Refer to Table 6-1.)
Only one fault within a priority group can be active at anyone time. If two or
more faults occur concurrently within a priority group, only the fault that
occurs first through normal program sequence is recognized.
FAULT RB:OGHITION
Processor-detected faults can be categorized in several ways. Table 6-1 lists
the faults in order of the octal fault code, shows the priority assigned by the
processor, and lists the priority group number.
Faults in Groups I and II cause the operations in the processor to terminate
unconditionally.
Faults in Group V are recognized under the same conditions that program
interrupts are recognized. Faults in Group V have priority over program
interrupts and also can be inhibited from recognition by engaging the inhibit bit
in the instruction word.
6-2
DZSl-OO
Table 6-1.
(
(
(
Processor Faults By Fault Code
Fault Code
Octal
Code
00001
02
Bound (BND)
00010
04
Master mode entry
00011
06
00100
Fault Name
Priority
Group
9
IV
10
IV
Fault tag (FTAG)
13
IV
10
Timer runout (TRO)
23
V
00101
12
Command (CND)
8
IV
00110
14
Derail (DRL)
11
IV
00111
16
Lockup
4
II
01000
20
Connect (CON)
22
v
01001
22
Parity
7
IV
01010
24
Illegal procedure
12
IV
01011
26
Operation not completed (ONC)
3
II
01101
32
Overflow (OVF)
6
III
01110
34
Divide check (DIV)
5
III
01111
36
Execute (EXF)
2
I
10000
40
Security class, 1
10001
42
10010
(MME)
(LUF)
(PAR)
(IPR)
(SCLl)
14
IV
Dynamic linking (DYN)
15
IV
44
Missing segment (MSG)
16
IV
10011
46
Missing working space (MWS)
17
IV
10100
50
Missing page (MPG)
18
IV
10101
52
Security class 2
19
IV
10110
54
Address trap (AnT)
21
IV
(See NOTE)
--
Safe store stack (SSSF)
20
IV
(SCL2)
NOTE: The safe store stack overflow fault has no fault code because it may occur
with any other fault. If a safe store stack fault occurs, the fault code
is contained in bits 12-16 of safe store stack frame word 5.
(Refer to
Figures 8-7 and 8-8 for a description of the safe store stack).
6-3
DZ51-00
FAULT CA'l')g)RI ES
('~",
There are four general categories of faults:
'~ .. ~/
1. Instruction-generated faults
2. Program-generated faults
3. Virtual memory-generated faults
4. Hardware-generated faults
Instruction-Generated Paul ts
An instruction generated fault can be traced to the execution of a particular
instruction. It may be an operating system service request or an illegally
coded instruction. The instruction-generated faults are the following.
1. Master Mode Entry (MNE)
A
Master Mode Entry instruction was executed.
2. Derail (DRL)
A Derail instruction was executed.
3. Fault Tag
A fault tag address modifier (F) was recognized. Fault tag is a
variation of the Indirect then Tally modification. Indirect cycles
terminate upon recognition of F, and the operation is not completed. The
tag field (bits 30-35) of the instruction or indirect word is set to 40
(octal) to cause the Fault Tag fault.
4. Connect (CON)
The processor received a signal from a system controller indicating that
some processor in the system executed a CIOC instruction directed to this
processor.
5. Illegal Procedure (IPR)
The attempted execution of an illegal instruction sequence or
modification generates an IPR fault. The attempted execution of a legal
Master mode instruction in the Slave mode causes a Command (eND) fault.
The attempted execution of any of the unassigned instruction operation
codes generates an Illegal Procedure fault.
An IPR fault occurs for any register specification that contains a tag
defined as illegal.
6-4
DZ51-00
fault occurs when an attempt is made to repeat any multiword
instruction with the use of the RPT, RPD, or RPL instructions 1 or to XEC
or XED2 any mu1tiword instruction. (An XEC instruction may point to a
multiword instruction; however, the descriptors for the multiword
instruction must be stored in memory immediately following the XEC
instruction.)
An IPR
(
An IPR
fault occurs for:
a. any attempt to address through a descriptor of type T
12-15 by any instruction
= 7,
10, or
b. any attempt to address through a descriptor of type T
by any instruction other than ClJMB
= 5,
8, 9, or 11
c. any attempt to address through a descriptor of type T
instruction other than ClJMB, LDDn, or STDn
=1
d. any attempt to address through a descriptor of type T
or 11 for vectors by the LDD or ClJMB instruction
= 1,
or 3 by any
3, 5, 8, 9,
An IPR fault occurs when a CLIMB instruction is passing parameters (E =
1, ORO = 0, 2, 4, or 6) and attempts to use a vector that has S and D
fields = 00, 1760 (octal) or 00, 1761 (octal) or V = 10 binary.
An IPR fault occurs when a LD~ instruction attempts to use a vector that
has Sand 0 fields = 00, 1760 (octal), or V = 10 binary.
fault occurs when a LDp!! instruction attempts to use an operand
that has Sand 0 fields = 00, 1760 (octal).
An IPR
An
IPR fault occurs when the Sand D fields of a CLlMB instruction have S
and D = 1761, or 1763 through 1767 (octal).
= 00
An IPR fault occurs if the LOOn or CLIMB instruction specifies a shrink
operation (normal or data stack) of a descriptor with T = 5 or 7-15.
An IPR fault occurs during a CLlMB instruction when a valid entry
descriptor does not refer to a standard descriptor (T = O).
fault occurs if the OCLIMB version of the CLIMB instruction is
specified and the safe Store Bypass Flag is zero.
An IPR
IPR fault occurs during a CLIMB instruction that either was initiated
by a fault or interrupt or encounters the special systems entry and the
descriptor accessed from the fixed location is not T = 5, 8, 9, or 11.
An
1. RPT, RPO, RPL execute in NS mode only.
2. XED executes in NS mode only.
6-5
DZ5l-00
IPR fault occurs during the CLIMB instruction when the descriptor
referenced by the S and D fields is not T = 0, 1, 2, 3, 8, 9, or 11.
Also, if this descriptor has T = 1 or 3, it must refer to a descriptor
with T = 5, 8, 9, or 11 or the fault will occur.
An
IPR fault occurs during a Load Safe Store Register (LDSS) instruction
if the descriptor to be loaded into the safe store register register
An
(SSR):
a. does not have
T =
1 or 3
b. has T = 1, but does not have flag bits 20, 21, 27, and 28
bits 25 and 26 = a
c. has T = 3 but does not have flag bits 20 and 21
=1
and flag
=1
d. bas a base that is not modulo-2 words (bits 33-35 are not equal to
000)
An IPR fault occurs during the Load Data Stack Descriptor Register
(LDDSD) instruction if the descriptor to be loaded into the data stack
descriptor register (DSDR):
a. does not have
T
=0
b. bas a base that is not modulo-2 words (bits 33-35 are not equal to
000)
c. has a bound that is not 7 modu1o-8 bytes (bits 17-19 are not equal to
111)·
d. has flag bit 22 (store)
'-- /
=1
An IPR fault occurs during the Load Extended Address n (LD~)
instruction if the descriptor to be loaded does not have T = 4 or 6
(super descriptor).
IPR fault occurs during the Load Argument Stack Register (LDAS) and
Load Parameter Segment Register (LDPS) instruction if the descriptor to
be loaded:
An
a. does not have T = 1
b. has a base that is not modu1o-2 words (bits 33-35 are not equal to
000)
c. has flag bit 27 equal to 1 and a bound that is not 7 modulo-8 bytes
(bits 17-19 are not equal to 111)
An IPR fault occurs when an unconditional transfer (TRA, TSXn), or a
satisfied conditional transfer (TNZ, TPL, etc.) attempts to load a
descriptor into the instruction segment register (ISR) that either does
not have type T = a or does not have a modulo-8 word base and bound. If
this fault is detected, the ISR is not changed.
?,
I
~-j
6-6
DZ51-00
IPR fault occurs in the ClJMB instruction when a standard descriptor
(T = 0) that is to become a new ISR descriptor does not have a modulo-B
word base and bound. This fault occurs before the domain register are
changed.
An
f
Progru-Generated Faults
The program-generated faults occur through some action under the control of
either the process itself or the operating system. There are four major
categories of program generated faults, each of which has several
subcategories:
1. Arithmetic Faults
a. Overflow (OVF). An Arithmetic overflow, exponent overflow, or
exponent underflow has been generated. The generation of this fault
is inhibited when the overflow mask is in the masked state.
Subsequent clearing of the overflow mask to the unmasked state does
not generate this fault from previously set indicators. The Overflow
fault mask state does not affect the setting, testing, or storing of
indicators.
For the automatic fault on truncation, the procesor executes the
Overflow fault. Note that the overflow mask bit (indicator register)
does not affect automatic fault on truncation.
b. Divide Check (DIV). A Divide Check fault is generated when the actual
division cannot be carried out for one of the reasons specified below:
1) DIV instruction - if the dividend equals -2**35 and the divisor
equals zero or minus 1
2) DVF instruction - if the absolute value of the dividend is greater
than or equal to the absolute value of the
divisor or if the divisor equals zero
3) FDV, FDI, DFDV - if the mantissa of the divisor equals
DFDI instr's.
zero
4) DV2D, DV3D
instructions
- if the divisor equals zero or if the
quotient is to be stored in scaled format and the
calculated length required for the quotient is
greater than 63.
2. Elapsed Time Interval Faults
a. Timer Runout (TRO). This fault is generated when the count in the
timer register reaches zero and cycles to minus 1. If the processor
is in Privileged Master mode, the recognition of this fault will be
delayed until the processor returns to the Master or Slave mode. This
delay does not inhibit the counting in the timer register. (Refer to
the Disconnect (DIS) instruction in Section B for the exception to
this action.)
6-7
DZ51-00
b. Lockup (LUF). The processor remains inhibited for greater than the
lockup time. Examples of this condition are the coding TRA * or the
continuous use of the inhibit bit.
I
Master mode lockup time is set at 128 milliseconds and Slave mode
lockup time is specified by the lockup fault register as seen in the
settings below. These times can be loaded in Privileged Master mode
using the Load Central Processor Register (LCPR) instruction with the
register specified in the tag field.
Settings of the Lockup fault register are as follows:
Bits 34-35 Milliseconds
8.0
16.0
32.0
64.0
00
01
10
11
c. Operation Not Completed (ONC) This fault is generated due to one of
the following conditions:
1) No system controller is attached to the processor for the address
specified.
2)
Operation is not completed. An ONC fault can be generated by
disabling the SCU ports via program control while the program is
being executed.
NOTE: A ONe fault can also be generated by hardware malfunction.
3. Command Faults
a. Attempted execution of instructions requiring Privileged Master mode
when the processor is not in Privileged Master mode.
b. Attempted use of working space register zero in Slave mode, or attempt
access to working space zero when the processor is not in the
Privileged Master mode.
c. Used a vector in Master mode or Slave mode with an LDDn or LDPn
instruction that specifies S = 00 and D = 1761, 1763, or 1764 (octal)
.(type change, DSDR or SSR).
d. A connect instruction addressed to a halted or disabled port. An
entry is made in the port's connect queue even though the port is
halted or disabled.
NOTES:
1. A fault or interrupt places the processor in the
Privileged Master mode for the execution of the "wired-in"
IClJMB instruction.
f a ClJMB instruction specifies the special system entry
version (PMME), this fault is not checked for the access
of the new lSR.
2. I
6-8
DZ5l-00
/'
-
I
4. Bound
{
(BND)
This fault is generated when:
a. No physical memory exists for the effective address.
b. An address is outside the segment boundary.
c. An attempt is made to use absolute addressing or dense paging with a
relative virtual address ~ 2**28 words.
d. An attempt is made to access the contents of an empty segment (flag
bit 27 = 0) of a type T = 0, 1, or 4 segment.
NOTES:
1. When "pushing" descriptors on the argument segment during
the execution of the SDRn or ClJMB instruction, the fault
does not occur if flag bit 27=0 but does occur if ASR
bound plus 8 bytes> 8192 bytes (2K words).
2. If this fault occurs for any version of the ClJMB
instruction, it is generated when the new descriptor for
the instruction segment register (ISR) is obtained.
e. An attempt is made to access the contents of a type T
segment and:
= 0,
1, 2, or 3
1) The upper or lower bound is exceeded.
(
2) The addition of the base and the effective address fields produces
a carry.
f.
An attempt is made to access the contents of a type T
and:
= 4 or
6 segment
1) The bound field is exceeded.
2) The addition of either the location and effective address fields or
the location, effective address, and base fields produces a carry.
g. The E field equals 1 during the execution of the ClJMB instruction,
descriptor register 0 contains a T = 1 descriptor (parameters are
framed by descriptor register 0), and P+1 > DRO bound, or DRO flag bit
27 = 0 (bound not valid).
h. Boundary violations occur in the shrink operation as indicated in the
description of the LDDn instruction in section S, or when preparing
descriptors during a CLIMB instruction.
i. An attempt is made to execute a multiword instruCtion that specifies
6-bit or bit string data in a segment whose base or bound is not
modulo-2 words.
(
6-9
DZSI-00
virtual Memorv-Generated Faults
Virtual memory-generated faults are:
1. Security FaulL, Class 1 (SCLl) occurs as follows:
a. Upon an attempt to obtain instructions via a sequential instruction
fetch, an unconditional transfer, a satisfied conditional transfer, or
a CLIMB instruction in one of the illegal processor modes specified in
Table 6-2.
Table 6-2.
Bit Status
Processor Modes
Privileged
Master Mode
Master
Mode
Slave
Mode
Illegal
Combinations(l)
Master Mode bit in
indicator register (IR)
ON
ON
OFF
ON
OFF OFF OFF
Privileged bit in
instruction segment
register
ON
OFF
OFF
ON
ON
Housekeeping bit 32 in
page table word (PTW)
for the instruction(2)
ON
ON
OFF OFF
OFF ON
OFF
ON
OFF ON
(I)
Results in a Security Fault, Class 1
(2)
The housekeeping bit is assumed to be ON when working space zero
is referenced and the processor addresses real memory directly.
{There is no page table from which to retrieve the housekeeping
bit. }
b. Upon attempt to modify a housekeeping page of a type T = 0, 2, 4, or 6
segment in Master mode
Housekeeping pages of type T = 1 or 3 segments may be modified in
Master mode under the following conditions:
1) CLIMB instruction - safe store and push parameters on the argument
stack
2) SDRn instruction - Push to the argument stack
3) STDn instruction - If instruction bit 29
= 1 and
DRm is T
=1
or 3
c. Upon an attempt to access or modify a housekeeping page of a type T =
0, 2, 2, 4, 6 segment in Slave mode.
/
6-10
DZ51-00
(
NOTE: When a CLIMB instruction is executed in Slave mode and it
invokes the special systems entry (PMME), the Security fault,
class 1 occurs if E = 1, DRO = 0, 2, 4, or 6, and a housekeeping
page is accessed.
This condition cannot occur for the SDRn instruction but occurs for
the LDPn, LDDn, CLIMB, and STDn instructions as follows:
1)
LDPn - operand accass
2)
LDDn - vector access (es) and data stack clear
3)
CLI MB - vector access (es) and the access for the second word of the
instruction If the system entry (PMME) is invoked, the fault
detection is not overwritten.
4) STDn - instruction bit 29
= 1;
DRm type T
= 0,
2, 4, or 6
d. Upon an attempt to access or alter a nonhousekeeping page of a type
= 1, 3, 8, 9, or 11 segment
T
This condition only occurs for the LDDn, LDp!!, CLIMB, SDRn, and STDn
instructions. Any other reference to a type T = 1 or 3 segment causes
an IPR fault. The conditions under which the Security Fault, class 1,
can occur are:
LDDn or LDp!! - accesses of descriptor from parameter segment
(S = 00, D < 1760), argument segment (S = 10), or
linkage segment (S = -1 or 11)
= 1,
DRm is type T
=1
LDI>!!
- instruction bit 29
or 3
CLIMB
- accesses to obtain the new LSR and ISR descriptors
- accesses for safe store or restore
- accesses to the parameter, argument, or linkage
segments for descriptors to be passed
- accesses to the argument segment to store parameters
=1
STDn
- instruction bit 29
and DRm is type T
STRn
- write to argument segment
= 1 or
3
2. Dynamic Linking Fault (DYN)
A Dynamic Linking fault occurs if the S, D field of a programmed CLIMB
(CALL, LTRAS, LTRAD) points to a dynamic linking descriptor (T = 5), or
to an indirect descriptor (T = 1 or 3) which points to a dynamic linking
descriptor. Any attempt by any other instruction to address through a
dynamic linking descriptor causes an IPR fault.
(
6-11
DZ51-00
3. Missing Segment Fault (MSG)
A Missing Segment fault is generated when an attempt is made to access
memory using a segment descriptor whose flag bit 28 equals zero. This
condition can occur only with descriptor types T = 0, 1, or 4.
4. Missing Working Space Fault (MWS)
A Missing Working Space fault is generated during virtual to real memory
mapping when the word obtained from the working space page table
directory has bit 20 (page table or section table missing/present) equal
to zero.
5. Missing Page Fault (MPG)
A Missing Page fault is generated during virtual to real memory mapping
when the page table word has bit 30 (page missing/present) equal to zero
When a Missing Page fault occurs, the processor stores an appropriate
value in FRTRY to indicate whether or not the fault is recoverable if
software supplies the missing page and returns to the program.
o = Missing
1
= Missing
Page fault is not recoverable
Page fault is recoverable
Word 5, bit 0 of the safe store frame is defined as the retry flag
(FRTRY). FRTRY has a defined value only when a Missing Page fault
occurs. The value of FRTRY is undefined for all other faults.
When a Missing Page fault occurs, the processor stores an appropriate
value in FRTRY to indicate whether or not the fault is recoverable if
software supplies the missing page and returns to the program.
o = Missing
Page fault is recoverable
1 = Missing Page fault is not recoverable
Recoverable means that if the faulting instruction did not modify the
instruction being executed or any of its string descriptors, and if
software pages in the missing page updates the PTW and OCLIMBs, then
execution is resumed exactly as if the fault had not occurred, except for
the time delay.
The only reasons for which the processor sets FRTRY = 1 (not recoverable)
in the safe store frame are:
1) Occurrence of a Missing Page fault while executing an RPT, RPD, or
RPL instruction l •
2) Occurrence of a Missing Page fault while executing an instruction
pointed to by an XEC or XED2 instruction
fi~
~)
1. RPT, RPD, RPL execute in NS mode only.
2. XED executes in NS mode only.
6-12
'\
DZ5l-00
3) Occurrence of a Missing Page fault during an indirect and tally
operation
Before the EIS numeric, MVE, DTB, or BTD instructions execute, all pages
containing parts of the operands and pages in which the results are to be
stored must be in memory concurrently. Thus, in processing a Missing
Page fault on one of these instructions, the paging software should not
remove one of the pages referenced by the instruction; otherwise, upon
return to the instruction, another Missing Page fault will occur.
6. security Fault, Class 2 (SQ.2)
A security Fault, class 2, is generated for the following field
violations on descriptors and page table words:
a. In a segment descriptor, if an attempt is made to violate flag bits
20, 21, 22, or 25 (read, write, store, or execute) as follows:
1)
An
2)
attempt is made to alter (write) a segment whose flag bit 21 =
0, except when pushing descriptors on the argument stack during the
CLIMB or SDRn instructions
attempt is made to read any type of data (except instructions
for execution and for the I SR in the eLI MB instruction) from a
segment whose descriptor has flag bit 20 = 0 (read not allowed)
An
= 1 or 3 segments
using the STDn instruction and the descriptor being stored does not
have store permission (bit 18 of an entry descriptor with type T =
8, 9, or 11; bit 22 for all other descriptor types)
3) An attempt is made to store data into type T
attempt is made to execute a transfer instruction to a segment
in which the execute control flag (bit 25) does not equal 1. This
fault is also detected in the CLIMB instruction when the new ISR is
obtained before any registers have changed
4) An
b. In a page table word, if an attempt is made to violate flag bit 31
(write control)
A Security fault, class 2, is generated when bits 18 and 19 (working
space access control) of the page table directory word do not match bits
o and 1 of the 36-bit relative virtual address (attempt to violate
working space).
This fault is also generated during the execution of the OClJMB version
of the eLI ME instruction if the data being loaded from the safe store
frame is incorrect as follows:
a. The descriptor to be loaded into the ISR does not have the following
format:
1) Type field T
=0
2) Flag field bits 25, 27, and 28
6-13
=1
DZ51-00
3) Base field
= 0 modulo-32 bytes
4) Bound field. = 31 modulo-32 bytes
'b. The descriptors to be loaded into the PSR and ASR do not have the
following format:
1)
Type
field T - 1
2) Base = 0 modulo-8 bytes
3) Bound
= 7 modulo-8
bytes when flag bit 27 = 1
c. The descriptor to be loaded into the LSR does not have the following
format:
1) Type field T
=1
2) Flags field bits 20, 23, 27, and 28
26 = O.
3) Base field
=0
= 1,
and bits 21, 24, 25, and
module-8 bytes
4) Bound field = 7 modulo-8 bytes
A Security Fault, class 2, is generated on intersegment transfers when
flag bit 25 = 0 in the descriptor for the target segment.
7. safe Store Stack Fault (SSSF)
The safe Store Stack fault occurs to report to the operating system that
the safe store stack has only one or two 64-word or BO-word frames
remaining. Two different conditions cause a safe Store fault.
a. If the safe store stack overflow occurs as a result of a CIJMB
instruction, two frames are stored:
1)
The first frame is the normal calling domain frame without the
overflow flag set.
2) The second frame is set up to return control to the first
instruction of the called domain.
The overflow flag is set. Control passes to the fault processor via
the entry descriptor at real memory address 32-33 (octal).
()
"'--6-14
DZ5l-00
The ha~dware detects a safe store overflow condition by assuming a
worst case condition -- two full frames must remain available after a
normal, successful CLIMB, or overflow will be reported. Thus, if in
the NS mode the SSR bound -< 191 words ~
3 bytes (allows three more 64-word frames)
safe store overflow occurs.
I f the processor is in
<
239 words
~
ES
mode, the formula for the
SSR
bound is
3 bytes (allows three more BO-word frames)
b. While generating the safe store frame, the hardware updates the SSR
base and bound to determine whether a Safe Store Stack fault should be
indicated in the safe store frame together with the original fault or
interrupt. If the fault or interrupt exhausts the safe store stack,
the frame is stored with the safe store overflow flag set to 1 in word
5 bit 10. The original fault code or interrupt cell number is stored
in word 5, bits 12-16. Control is passed through the entry vector at
real memory address 32-33 (octal) to the fault processor. (The safe
Store Stack fault is not executed: a separate safe store stack frame
is not stored.) The SSR points to the current stack frame
7-8
DZ51-00
ADDRESS REGI STER I NSTRUCTI ONS
ADDRESS REGI STER I NSTRUC'I'I ONS
(
ADDRESS RBGI S'I'ER I RSTRUCTI ORS
This set of instructions provides the capability for using address registers to
manipulate the address portion of numeric and alphanumeric descriptors. I f an
address register is to be used in address preparation, its usage is specified
in the instruction word. All single-word instructions, to which address
modification is applicable, have essentially the same machine instruction word
format which hardware interprets differently depending on whether the processor
is in the NS or the ES mode. (Refer to Section S.)
000
023
1 1
2 2
7 8
7 8 901 2
2 3 3 3
LOCSYM
TIn
OP CODE
01 SPLACEMENT (y)
AR#I
Figure 7-1.
AR#
-
LOCSYM
-
I
3
S
Td
AR
TAG
Single-word Instruction With Address Modification
One of eight address registers (0-7)
Represents either address of operand or displacement from a
base
IS-bit displacement from the address register address
(two's complement: values from -16,384 to +16,383)
DI SPLACEMENT
(y)
OP CODE
-
A 10-bit operation code field
I
-
Program interrupt inhibit bit
AR
-
If bit 29 is 1, an address register is to be used and is
specified by bits 0, 1, and 2 of the y field. If bit 29 is
0, no address register is used.
TAG
-
Tag field that controls all other address modification. If
an address register is used on an instruction with indirect
addressing, it is applied only on the fetch of the indirect
word.
tag modifier
Td - tag designator
TIn -
7-9
DZ51-00
ADDRESS REG! STER I NSTRUCTI ONS
ADDRESS REGI STER I NSTRUCTI ONS
Address Register Load
LARn
LAREG
Load Address Register n
Load Address Registers
76n (1)
463 (1)
Address Register Store
SARn
SAREG
Store Address Register n
Store Address Registers
74n (1)
443 (1)
AI.ter Address Register Contents
This set of instructions provides the capability for replacing, incrementing,
and decrementing the contents of an address register on either a word,
character, or bit address basis. The operation is register-to-register, with
no memory fetch involved.
The special instructions have the same instruction format:
0
0
0
2
o0
I I51
AR#
1 1
7 8
3 4
I
y
Figure 7-2.
2 2 2 3 3 3
7 8 9 0 1 2
OP CODE
IIH mzl
3
5
DR
I
Alter Address Register Contents
AR#
Selects address register to be altered.
S
Sign bit. (Refer to section 5 for differences betwen NS and ES
modes. )
y
A word displacement (no character or bit position included) used
along with the contents specified in the DR field to alter the
contents of the specified address register. Bit 3 provides negative
(two's complement) or positive word displacement.
OP CODE -
10-bit operation code field.
I
Program interrupt inhibit bit.
AR
Address register bit.
7-10
DZ5l-00
.j
ADDRESS REG! STER I NSTRUCTI ONS
ADDRESS REGI STER I NSTRUCl'I ONS
(
If bit 29 = 1, the sum of the DR (in characters, words, or bits)
and the y field (in words) are added to or subtracted from the
contents of the ARspecified in bits 0-2.
If bit 29 = 0, the above described sum or its two's complement is
loaded into the AR for addition or subtraction, respectively.
I f the mnemonic is coded with
forced to zero.
:x (for example, AWDX} , bi t 29 is
MBZ
Bits 30-31 must be zero.
DR
Displacement register. Specifies which register contains the
displacement value. The register codes and register lengths are
the same as those used in MF fields except that IC modification is .
illegal. (Refer to Table 5-2.) (Refer to "Multiword Modification
Field" in this section.).
The operations for adding a value to the contents of an address register
proceed as with effective operand address preparation from an operand
descriptor, with the final results being stored in the specified address
register.
The subtract operation differs only in that the contents of the register
specified by the code in the DR field are first added to the y field. This
result is then subtracted from the actual contents of the address register or
from the implied zero contents and the result is placed in the address
register. The codes for DU, DL, and IC are illegal for the DR field and cause
an IPR fault.
The indicators are unaffected by these instructions.
(l)
A4BD(X)
A6BD(X)
A9BD(X)
ABD(X)
AWO(X)
S4BD(X)
502
501
500
503
507
522
S6BD(X)
521 (l)
S9BD(X)
520 (1)
SBD(X)
SWO(X)
523 (1)
527 (l)
(1)
(1)
(1)
(1)
(l)
Add 4-Bit Displacement to Address Register
Add 6-Bit Displacement to Address Register
Add 9-Bit Displacement to Address Register
Add Bit Displacement to Address Register
Add Word Displacement to Address Register
Subtract 4-Bit Displacement from Address
Register
Subtract 6-Bit Displacement from Address
Register
Subtract 9-Bit Displacement from Address
Register
Subtract Bit Displacement from Address Register
Subtract Word Displacement from Address Register
(
7-11
DZ5l-00
ADDRESS
ADDRESS REG! STER I NSTRUCTI ONS
REG! STER
I NSTRUCTI ONS
Special Address Register Instructions
Special instructions provide use of address registers to manipulate the address
portion of numeric and alphanumeric operand descriptors. These instructions
may be used only in the NS mode. If an attempt is made to execute these
instructions in the ES mode, an IPR fault occurs.
These special instructions have the following instruction format:
o
y
Figure 7-3.
AARn
ARAn
ARNn
NARn
222 3 3 3
1 1
56n
54n
64n
66n
(1)
(1)
(1)
(1)
3
OP CODE
special Address Register Instructions
Alphanumeric Descriptor to ARn
ARn to Alphanumeric Descriptor
ARn to Numeric Descriptor
Numeric Descriptor to ARn
7-12
DZ5l-00
BOOLEAN OPERATIONS
BOOLEAN OPERATIONS
(
BCX>LEAH OPERATION I NSTRUC'l'IOlfS
The logical operations AND, OR, and EXCLUSIVE OR are permitted between storage
and the index registers, A- and Q-registers, and the AQ-register. These
instructions use th~ single-word instruction format.
Boolean Expressions
A Boolean expression is defined similarly to an algebraic expression except
that the operators *, I, +, and - are interpreted as Boolean operators. 'l'wo
types of boolean expressions are defined below:
1. The expression that appears in the variable field of a BOOL
pseudo-operation uses Boolean operators.
2. The expression that appears in the octal subfield of the variable field
of a VFD pseudo-operation uses Boolean operators.
Evaluation Of Boolean Expressions
(
A Boolean expression is evaluated following the same procedure used for an
algebraic expression except that the operators are interpreted as Boolean.
I n a Boolean express ion, the operators +, -, *, and I have Boolean meanings,
rather than their normal arithmetic meanings, as follows:
Operator
+
Meaning
Definition
OR, inclusive OR,
union
o + 0 =0
o+ 1 = 1
1 + 0 =1
1 + 1 =1
EXCLUSI VE OR
symmetric difference
oo-
=0
=1
0 =1
0
1
1 1 - 1
7-13
=0
DZ51-00
BOOLEAN OPERATIONS
BOOLEAN OPERATIONS
Meaning
Operator
Definition
AND, intersection
*
0
1
0
1
1 == 1
1
one's complement,
complement, NOT
I
=0
o*
o*
10
11
*
*
==
0
=0
== 1
== a
Although I is a unary operation involving only one term, by convention AlB is
taken to mean A*/B. This is not regarded as an error by the assembler. Thus,
the table for I as a two-term operation is:
010 = a
Oil = a
1/0 = 1
III == 0
and other conventions are:
+A
-A
*A
= A+ = A
= A- = A
= A* = 0
(possible error, operand missing)
AI = Ala = A
Boolean AND
ANA
ANAQ
ANQ
ANSA
ANSQ
ANSXn
ANXn
375
377
376
355
356
34n
36n
(0)
(0)
(0)
(0)
(0)
(0)
(0)
AND
AND
AND
AND
AND
AND
AND
to
to
to
to
to
to
to
A-Register
AQ-Register
Q-Register
Storage from A-Register
Storage from Q-Register
Storage from Index Register n
Index Register n
7-14
DZ51-00
BOOLEAN OPERATIONS
(
BOOLEAN OPERATIONS
Boolean OR
ORA
OUQ
ORQ
ORSA
ORSQ
ORSXn
ORXn
275
277
276
255
256
24n
26n
(0)
(0)
(0)
(0)
(0)
(0)
(0)
OR
OR
OR
OR
OR
OR
OR
to
to
to
to
to
to
to
A-Register
AQ-Register
Q-Register
Storage from A-Register
Storage from Q-Register
Storage from Index Register n
Index Register n
Boolean EXCLUSIVE OR
ERA
ERAQ
ERQ
ERSA
ERSQ
ERSXn
ERXn
(
--
675
677
676
655
656
64n
66n
(0)
(0)
(0)
(0)
(0)
(0)
(0)
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
EXCLUSIVE
OR
OR
OR
OR
OR
OR
OR
to
to
to
to
to
to
to
A-Register
AQ-Register
Q-Register
Storage with A-Register
Storage with Q-Register
Storage with Index Register n
Index Register n
Boolean CDMPARATIVE AND
CANA
CANAQ
CANQ
CANXn
315
317
316
30n
(0)
(0)
(0)
(0)
Comparative
Comparative
Comparative
Comparative
AND
AND
AND
AND
with
with
with
with
Comparative
Comparative
Comparative
Comparative
NOT
NOT
NOT
NOT
AND
AND
AND
AND
A-Register
AQ-Register
Q-Register
Index Register n
Boolean CDMPARATIVE HOT AND
CNAA
CNAAQ
CNAQ
CNAXn
215
217
216
20n
(0)
(0)
(0)
(0)
with
with
with
with
A-Register AQ-Register
Q-Register
Index Register n
(
7-15
DZ51-00
FI XED POI NT I NSTRUCTI ONS
FI XED POI NT I NSTRUCTI ONS
,f'
\,
I
,)
FIXED-POI 1fT I RS'l'RUCTI ONS
Data
lIoYement Load
635
636
62n
335
337
336
32n
235
034
237
634
236
032
22n
073
72n
EAA
EAQ
EAXn
LCA
LCAQ
LCQ
LCXn
LDA
LDAC
LDAQ
LDI
LD;2
LDQC
LDXn
LREG
LXI..n
Data
(0)
(0)
(0)
(0 )
(0 )
(0)
(0)
(0)
(0 )
(0)
(0 )
(0)
(0)
(0 )
(0)
(0 )
Effective Address to A-Register
Effective Address to Q-Register
Effective Address to Index Register n
Load Complement into A-Register
Load Complement into AQ-Register
Load Complement into Q-Register
Load Complement into Index Register n
Load A-Register
Load A-Register and Clear
Load AQ-Register
Load Indicator Register
Load Q-Register
Load Q-Register and Clear
Load Index Register n from Upper
Load Registers
Load I ndex Register. n from Lower
Movement Store
SBAR
SREG
STA
STAC
STACQ
STAQ
STBA
STBQ
STCl
STC2
STCA
STCQ
STI
STQ
STT
STXn
STZ
SXLn
550 (0)
753 (0)
755 (0)
354(0)
654 (0)
757 (0)
551 (O)
552 (0)
554 {O}
750 (0)
751 (0)
752 (0)
754 (0)
756 to}
454 (0)
74n (0)
450 (0)
44n (O)
/
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
Store
"'----
Base Address Register
Registers
A-Register
A Conditional
A Conditional on Q
AQ-Register
9-bit Bytes of A-Register
9-bit Bytes of Q-Register
Instruction Counter Plus 1
I nstruction Counter Plus 2
6-bit Characters of A-Register
6-bit Characters of Q-Register
Indicator Register
Q-Register
Timer Register
Index Register n in Upper
Zero
I ndex Register n in Lower
7-16
DZ51-00
,
/'
FI XED-POI NT I NSTRUCl'I ONS
FI XED-POI NT I NSTRUCl'I ONS
(
Data
ALR
ALS
ARL
ARS
LLR
LLS
LRL
LRS
QLR
QLS
QRL
QRS
Movement Shift
775
735
771
731
777
737
773
733
776
736
772
732
(0)
(0)
(0)
(0)
(0)
(0 )
(0 )
CO)
CO)
(0)
(0)
CO)
A-Register Left Rotate
A-Register Left Shift
A-Register Right Logical Shift
A-Register Right Shift
Long Left Rotate
Long Left Shift
Long Right Logical Shift
Long Right Shift
Q-Register Left Rotate
Q-Register Left Shift
Q-Register Right Logical Shift
Q-Register Right Shift
Fixed-Point Addition
if
ADA
ADAQ
ADL
ADLA
ADLAQ
ADLQ
ADLXn
ADO
ADxn
AOS
ASA
ASQ
ASxn
AWCA
AWCQ
075
077
033
035
037
036
02n
076
06n
054
055
056
04n
071
072
(0)
CO)
(0)
(0)
(0)
(0)
(O )
(0)
(0)
: SN is set OFF if positive, ON if negative. If all
digits are zero, the data is assumed positive and the SN flag is set
OFF, even when the sign is negative.
Z
Zero flag: initially set ON and set OFF whenever a sending string
character that is not decimal zero is moved into the receiving string.
BZ Blank-when-zero flag; initially set OFF and set ON by either the ENF or
SES micro operation. If, at the completion of a move (Ll exhausted),
both the Z and BZ flags are ON, the receiving string is filled with
character 1 of the edit insertion table.
(
(
7-43
DZ51-00
MICRO OPERATIONS
MICRO OPERATIONS
CRT
Change Table
10001 .1
EXPLANATION:
The edit insertion table is replaced by the string of eight
9-bit characters immediately following the CRT micro operation.
FLAGS:
None affected
NOTE:
C{!F) is not interpreted for this operation.
ENF
EXPLANATION:
End
Floating Suppression
00010
Bit 0 of IF (IFO) specifies the nature of the floating
suppression.
Bit 1 of IF (IF1) specifies if blank when zero option is used.
For IFO
=0
(end floating-sign operation):
If ES is OFF and SN is OFF, then edit insertion table entry 3
is moved to the receiving field and ES is set ON.
If ES is OFF and SN is ON, then edit insertion table entry 4
is moved to the receiving field and ES is set ON.
If ES is ON, no action is taken.
For 1FO
=1
(end floating currency symbol operation):
If ES is OFF, then edit insertion table entry 5 is moved to
the receiving field and ES is set ON.
If ES is ON, no action is taken.
For IFl = 1 (blank when zero): the BZ flag is set ON.
For IFl
FLAGS:
= a (no
blank when zero): no action is taken.
(Flags not listed are not affected)
ES - I f OFF, then set ON
BZ - If bit 1 of C{IF)
= 1,
7-44
then set ON; otherwise, unchanged
DZ51-00
MICRO OPERATIONS
MICRO OPERATIONS
IGN
EXPLANATION:
Ignore SOurce Characters
01100
IF specifies the number of characters to be ignored, where IF
o specifies 16 characters.
=
The next IF characters in the source data field are ignored and
the sending tally is reduced accordingly.
FLAGS:
INSA
(
None affected
Insert Asterisk on Suppression
01001
EXPLANATION:
same as INSB except that if ES is OFF, then edit insertion table
entry 2 is moved to the receiving field.
FLAGS:
None affected
NOTE:
If C(IF) = 9-15, an IPR fault occurs.
7-45
DZSI-OO
MItRO OPERATIONS
MICRO OPERATIONS
INSB
EXPLANATION:
Insert Blank on Suppression
01000 ]
IF specifies which edit insertion table entry is inserted.
If IF = 0, the 9 bits immediately following the INSB micro
operation are treated as a 9-bit character (not a MOP) and are
moved or skipped according to ES:
1 f ES
is OFF, then edit insertion table entry 1 is moved to
the receiving field. If IF = 0, then the next 9 bits are also
skipped. If IF is not 0, the next 9 bits are treated as a
MOP.
If ES is ON and IF = 0, then the 9-bit character immediately
following the INSB micro-instruction is moved to the
receiving field.
If ES is ON and IF F- 0, then IF specifies which edit
insertion table entry (1-8) is to be moved to the receiving
field.
FLAGS:
None affected
NOTE:
If C(IF)
INSM
EXPLANATION:
= 9-15,
an IPR fault occurs.
Insert Table Entry One Multiple
00001
IF specifies the number of receiving characters affected, where
IF = 0 specifies 16 characters.
Edit insertion table entry 1 is moved to the next IF (1-16)
receiving field characters.
FLAGS:
None affected
7-46
DZ51-00
MICRO OPERATIONS
MICRO OPERATIONS
(
INSN
EXPLANATION:
Insert On Negative
01010
IF specifies which edit insertion table entry is inserted. If
IF = 0, the 9 bits immediately following the INSN micro
operation are treated as a 9-bit character (not a MOP) and are
moved or skipped according to SN:
If SN is OFF, then edit insertion table entry 1 is moved to the
receiving field. If IF = 0, then the next 9 bits are also
skipped. If IF is not 0, the next 9 bits are treated as a MOP.
If SN is ON and IF = 0, then the 9-bit character immediately
following the INSN micro-instruction is moved to the receiving
field.
If SN is ON and IF # 0, then IF specifies which edit insertion
table entry (1-8) is to be moved to the receiving field.
(
FLAGS:
None affected
NOTE:
If C{IF)
INSP
(
= 9-15,
an IPR fault occurs.
Insert On positive
01011
EXPLANATION:
Same as INSN except that the responses for the SN values are
reversed.
FLAGS:
None affected
NOTE:
If C{IF)
= 9-15,
an IPR fault occurs.
.....
7-47
DZ51-00
MICRO OPERATIONS
MICRO OPERATIONS
LTE
EXPLANATION:
Load Table Entry
10000
IF specifies the edit insertion table entry to be replaced.
The edit insertion table entry specified by IF is replaced by
the 9-bit character immediately following the LTE micro
instruction.
FLAGS:
None affected
NOTE:
If C(IF) =
MFLC
EXPLANATION:
a or
C(IF) = 9-15, an Illegal Procedure fault occurs.
Move with Floating Currency Symbol Insertion
00111
IF specifies the number of characters of the sending field upon
which the operation is performed, where IF = 0 specifies 16
characters.
Starting with the next available sending field character, the
next IF characters are individually fetched and the following
conditional actions occur:
If ES is OFF and the character is zero, edit insertion table
entry 1 is moved to the receiving field in place of the
character.
If ES is OFF and the character is not zero, then edit
insertion table entry 5 is moved to the receiving field, the
character is also moved to the receiving field, and ES is set
ON.
If ES is ON, the character is moved to the receiving field.
7-48
DZ51-00
(
MICRO OPERATIONS
MICRO OPERATIONS
The number of characters placed in the receiving field is
data-dependent. If the entire sending field is zero, IF
characters are placed in the receiving field. However, if the
sending field contains a nonzero character, IF+l characters (the
insertion character plus the characters from the sending field)
are placed in the receiving field.
An IPR fault occurs when the sending field is exhausted before
the receiving field is filled. In order to provide space in the
receiving field for an inserted currency symbol, the receiving
field must have a string length one character longer than the
sending field.
When the sending field is all zeros, no
currency symbol is inserted by the MFLC micro operation and the
receiving field is not filled when the sending field is
exhausted. The user should provide an ENF (ENF,l2) micro
operation after a MFLC micro operation that has as its character
count the number of characters in the sending field. The ENF
micro operation is engaged only when the MFLC micro operation
fails to fill the receiving field; then, it supplies a currency
symbol to fill the receiving field and blanks out the entire
field.
FLAGS:
(Flags not listed are not affected)
ES -
NOTE:
If OFF and any of C{Y) is less than decimal zero, then ON;
otherwise, unchanged
Since the number of characters moved to the receiving string is
data-dependent, a possible IPR fault may be avoided by ensuring
that the Z and BZ flags are ON.
(
7-49
DZS1-00
MICRO OPERATIONS
MICRO OPERATIONS
Move with Floating Sign Insertion
EXPLANATION:
00110
IF specifies the number of characters of the sending field upon
which the operation is performed, where IF = 0 specifies 16
characters.
Starting with the next available sending field character, the
next IF characters are individually fetched and the following
conditional actions occur:
If ES is OFF and the character is zero, edit insertion table
entry 1 is moved to the receiving field in place of the
character.
If ES is OFF, the character is not zero, and SN is OFF: then
edit insertion table entry 3 is moved to the receiving
field. The character is also moved to the receiving field,
and ES is set ON.
If ES is OFF, the character is nonzero, and SN is ON; edit
insertion table entry 4 is moved to the receiving field; the
character is also moved to the receiving field, and ES is set
ON.
If ES is ON, the character is moved to the receiving field.
7-50
DZ51-00
/
(
MICRO OPERATIONS
MICRO OPERATIONS
The number of characters placed in the receiving field is
data-dependent. If the entire sending field is zero, IF
characters are placed in the receiving field. However, if the
sending field contains a nonzero character, IF+l characters (the
insertion character plus the characters from the sending field)
are placed in the receiving field.
IPR fault occurs when the sending field is exhausted before
the receiving field is filled. In order to provide space in the
receiving field for an inserted sign, the receiving field must
have a string length one character longer than the sending
field. When the sending field is all zeros, no sign is inserted
by the MFLS micro operation and the receiving field is not
filled when the sending field is exhausted. The user should
provide an ENF (ENF,4) micro operation after a MFLS micro
operation that has as its character count the number of
characters in the sending field. The ENF micro operation is
engaged only when the MFLS micro operation fails to fill the
receiving field: then, it supplies a sign character to fill the
receiving field and blanks out the entire field.
An
FLAGS:
(
(Flags not listed are not affected)
ES -
NOTE:
If OFF and. any of C{Y) is less than decimal zero, then ON;
otherwise, unchanged
Since the number of charact~rs moved to the receiving string is
data-dependent, a possible Illegal Procedure fault may be
avoided by ensuring that the Z and BZ flags are ON.
7-51
DZ51-00
MICRO OPERATIONS
MORS
EXPLANATION:
MICRO OPERATIONS
Move and OR Sign
01111
IF specifies the number of characters of the sending field upon
which the operation is performed, where IF = 0 specifies 16
characters.
Starting with the next available sending field character, the
next IF characters are individually fetched and the following
conditional actions occur:
If SN is OFF, the next I F characters in the source data field
are moved to the receiving data field and, during the move,
edit insertion table entry 3 is ORed to each character.
If SN is ON, the next IF characters in the source data field
are moved to the receiving data field and, during the move,
edit insertion table entry 4 is ORed to each character.
MORS can be used to generate a negative overpunch for a
receiving field to be used later as a sending field.
FLAGS:
None affected
7-52
DZSI-OO
(
MI CRO OPERATIONS
MICRO OPERATIONS
Move and Set Sign
EXPLANATION:
01110
IF specifies the number of characters of the sending field upon
which the operation is performed, where IF = 0 specifies 16
characters.
For MVE, starting with the next available sending field
character, the next IF characters are individually fetched and
the following conditional actions occur:
Starting with the first character during the move, a
comparative AND is made first with edit insertion table entry
3. I f the result is nonzero, the first character and the
rest of the characters are moved without further comparative
ANDs. If the result is zero, a comparative AND is made
between the character being moved and edit insertion table
entry 4 If that result is nonzero, the SN indicator is set
ON (indicating negative) and the first character and the rest
of the characters are moved without further comparative
ANDs. If the result is zero, the second character is treated
like the first. This continues until one of the comparative
AND results is nonzero or until all characters are moved.
(
For MVNE and MVNEX instructions, the sign (SN) flag is already
set and IF characters are moved to the destination field (MSES
is equivalent to the MVC instruction).
FLAGS:
(Flags not listed are not affected)
SN -
If edit insertion table entry 4 is found in C(Y-l), then ON:
otherwise, unchanged
(
7-53
DZ5l-00
MICRO OPERATIONS
MICRO OPERATIONS
Move SOurce Characters
MVC
EXPLANATION:
01101
IF specifies the number of characters to be moved, where IF
specifies 16 characters.
=0
The next I F characters in the source data field are moved to the.
receiving data field.
FLAGS:
None affected
Move with Zero Suppression and Asterisk
Replacement
MVZA
EXPLANATION:
00101
same as MVZB except that:
If ES is OFF and the character is zero, then edit insertion
table entry 2 is moved to the receiving field.
FLAGS:
(Flags not listed are not affected)
ES -
If OFF and any ofC(Y) is less than decimal zero, then ON;
otherwise, unchanged
7-54
DZ5l-00
./
(
MICRO OPERATIONS
MICRO OPERATIONS
Move with Zero Suppression and Blank Replacement
EXPLANATION:
00100
IF specifies the number of characters of the sending field upon
which the operation is performed, where IF = a specifies 16
characters.
Starting with the next available sending field character, the
next IF characters are individually fetched and the following
conditional actions occur:
If ES is OFF and the character is zero, then edit insertion
table entry 1 is moved to the receiving field in place of the
character.
If ES is OFF and the character is not zero, then the
character is moved to the receiving field and ES is set ON.
If ES is ON, the character is moved to the receiving field.
(
FLAGS:
(Flags not listed are not affected)
ES -
If OFF and any of C(Y) is less than decimal zero, then
ON; otherwise, unchanged
(
7-55
DZ51-00
M1 CRO OPERATIONS
MICRO OPERATIONS
Set Ene Suppression
SES
EXPLANATION:
Bit
0
00011
of IF UFO) specifies the setting of the
ES
switch.
Bit 1 of IF (IF1) specifies the setting of the b1ank-when-zero
option.
the
ES
flag is set OFF.
IF IFO
= 0,
= 1,
the
ES
flag is set ON.
If IF1
= 1,
the BZ flag is set ON.
If IFl
= 0,
no action is taken.
If IFO
FLAGS:
(Flags not listed are not affected)
ES -
Set by this micro operation
BZ -
If bit 1 of C(IF)
= 1,
7-56
then ON; otherwise, unchanged
DZ51-00
MICRO OPERATIONS
MICRO OPERATIONS
Micro Operation COde Assignment Map
Operation code assignments for the micro operations are shown in Table 7-6.
Dashes (---) indicate an unassigned code. Unassigned codes cause an Illegal
Procedure fault.
Table 7-6.
\B2 B3 B4
\
000
Micro Operation COde Assignment Map
001
010
011
100
101
110
111
-IHSB
IHSM
IHSA
ENF
INSN
SES
IHSP
MVZB
MVZA
MFLS
MFLC
IGN
MVC
MORS
LTE
MSES
CRT
\
BO Bl
00
01
10
11
\
-- --- -- --- --- ---- --- -- ---- -- ---
Terminating Micro Operations
The micro-operation sequence is terminated normally when the receiving string
length is exhausted. The micro-operation sequence is terminated abnormally
(with an IPR fault) if an attempt is made to move from an exhausted sending
string or to use an exhausted MOP string.
MICRO OPERATIONS EXAMPLES:
1
8
MVNE
. NOSC4
ADSC9
ADSC6
USE
MOPLST MI CROP
MICROP
MICROP
USE
MVNE
NDSC4
ADSC9
ADSC6
MVNE
NOSC4
ADSC9
ADSC6
16
32
EPACK,5,11,2
PIC S9(10)
MOPLST,0,9
PRTOUT+3,0,12 PIC Z(7).999DETOUR
(LTE,l},lH ,(MVZB,7),(SES,8)
(INSB),lH.,(MVC,3),(INSN)
1H-,(LTE,1},18 ,(MVZB,2),(MVC,1)
FPACK,5,11,2
MOPLST,0,9
PRTOUT+6,0,12
PIC
S9(10)
PIC
Z(7} .999-
SEQPAK,5,3,3
MOPLST+2,1,4
PRTOUT+1,3,3
PIC
999
PIC
ZZ9
7-57
DZ5l-00
VIRTUAL MEMORY INSTRUCTIONS
VIRTUAL MEMORY INSTRUCTIONS
VIRTUAL MEMORY INSTRUCT! ONS
These instructions support segmentation and paging in the virtual memory
environment. Except in the case of the CLIMB instruction, the format of these
instructions is the same as the other single-word instructions.
Descriptor Register Instructions
These instructions provide the capability of loading or storing a descriptor
register (DRB) with a new descriptor or modifying the descriptor currently
contained in DRn. The LODn instruction has a direct load option and a vector
option.
LODn
SDRn
STDn
67n (l)
lln (l)
OSn (1)
Load Descriptor Register n
save Descriptor Register n
Store Descriptor Register n
Pointer Register Instructions
LDPn
STPn
EPPRn
LDEAn
47n
4Sn
63n
61n
(l)
(1)
(1)
(1)
Load Pointer Register n
Store Pointer n
Effective Pointer to Pointer Register n
Load Extended Address n
,
\
Domain Transfer (CLIMB)
The ClJMB domain transfer instruction provides the software with a hardware
mechanism for transferring control from one software function to another with a
high level of software security. This 2-word instruction, described in detail
in Section 8, has four versions which perform the functions of call, return,
and co-routine invocations for intra- and inter-instruction segments and intraand inter-domain references.
.
CLIMB
713 (1)
Domain Transfer
7-58
DZSl-OO
PRJ VI LEGED I NSTRUCTI ONS
PRIVILEGED INSTRUCTIONS
PRIVI I..lGm I NSTRUCl'I ONS
Privileged instructions are executed in Privileged Master mcxie.
conditions must be met before the instructions can be executed:
Three
1. The master mcxie bit in the indicator register must be ON.
2. The privileged bit in the instruction segment register must be ON.
3. The housekeeping bit in the page table word for the page containing the
instruction must be ON; if the processor is in the working space zero
addressing mode, this bit is assumed ON.
If any of the above conditions does not exist upon the attempted execution of a .
privileged instruction, a Command fault occurs.
CLEAR ASSOCIATIVE MEMORY PAGES
532 (1)
(
Clear Associative Memory Pages
CLEAR CACHE
CCAC
all (1)
Clear cache
RB:;I S'l'BR LOAD
LDAS
LDDSA
LDDSD
LDPS
LDSS
LDWS
LPDBR
770
170
571
771
773
772
171
(1)
(1)
(1)
(1)
(1)
(1)
(1)
Load
Load
Load
Load
Load
Load
Load
Argument Stack Register
Data Stack Address Register
Data Stack Descriptor Register
Parameter Segment Register
safe Store Register
Working Space Registers
Page Table Directory Base Register
7-59
DZ51-00
PRI VI LEGED I NSTRUCTI ONS
PRIVILEGED INSTRUCTIONS
Rm;I S'tBR S'l'ORE
SPDBR
STAS
STDSA
STDSD
STPDW
STPS
STPTW
STSS
STWS
151
750
150
551
155
751
157
753
752
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
Store
Store
Store
Store
Store
Store
Store
Store
Store
Page Table Directory Base Register
Argument Stack Register
Data Stack Address Register
Data Stack Descriptor Register
PTWAM Directory Word
Parameter Segment Register
PTWAM Register
safe Store Register
Working Space Registers
MEMORY CDNTROL
LIMR
RIMR
SYS'l'BM
CIOC
DIS
LCON
LCPR
LDAT
LDT
LRMB
RCW
RICHR
RIW
RMID
RMR
RPAT
RRES
RSCR
SCPR
SICHR
SIW
SMID
SMR
SSCR
STTA
STTD
553 (0)
233 (0)
Load I nterrupt Mask Register
Read I nterrupt Mask Register
CDNTROL
015
616
016
674
336
637
712
250
156
412
273
270
611
231
413
452
154
451
272
271
057
553
550
(0)
(0)
(0)
(0)
(1)
(0)
(0)
(0)
(1)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(1)
(0)
(0)
(0)
(0)
(1)
(1)
Connect I nput/OUtput Olannel
Delay Until Interrupt Signal
Load Connect Table
Load Central Processor Register
Load Address Trap Register
Load Timer Register
Load Reserve Memory Base
Read Connect Word Pair
Restart IC History Register
Read Interrupt Word Pair
Read Memory ID Register
Read Memory Register
Run PATROL
Read Reserved Memory
Read System Control Register
Store Central Processor Register
Store IC History Register
Set Interrupt Word Pair
Set Memory ID Register
Set Memory Register
Set System Control Register
Store Test Address Registers
Store Test Descriptor Registers
7-60
/
DZ51-00
(
ALL MODE I NSTRUCTI ONS
ALL MODE I NSTRUCTI ONS
ALL MODE I KSTRUC'l'IOKS
All mode instructions may be executed in any processor mode.
EPAT
PAS
RSW
412 (1)
176 (1)
231 (0)
Effective Pointer and Address to Test
Pop Argument Stack
Read Processor Model Characteristics
(
7-61
DZ51-00
ES MODE I NSTRUCTI ONS
~
ES MODE I NSTRUCTI ONS
MODE I HS'I'RUC'l'IONS
ES mode instructions are valid only in the ES mode (ISR bit 24=1). AN IPR
fault occurs if an attempt is made to ~xecute these instructions in the NS
mode. Although these instructions are generated by some compilers in this
release, they are not supported by the GMAP assembler.
Except for the AARn, NARn, ARAn, and ARN instructions, all instructions are
valid in the ES mode. An IPR fault occurs if an attempt is made to execute
these four instructions in the ES mode.
Register-to-Register Instructions
Register to Register instructions known as "RR" type instructions are valid
only in the ES mode. An attempt to execute these instructions in the NS mode
results in an IPR fault. RR type instructions permit movement, arithmetic
operation, and shift of fixed-point data using the GXn, A and Q registers. An
attempt to execute any RR type instruction by the RPT, RPD, or RPL instructions
results in an IPR fault.
RR TYPE I HS'I'RUC'l'ION FORMAT
0
0
o0
1 1
o1
3 4
I I
Rl
~
NU
I
(J)
1 1
222
3 3
7 B
7 B 9
1 2
I
7-62
OP CODE
III
MBZ
3
5
I I
R2
DZ51-00
."\,,-~-
./
(
ES
MODE I NSTRUCTI ONS
ES MODE I NSTRUCTI ONS
Description
0-3
Rl
specifies a code indicating a register to be the
destination of the result. The allowable codes follow:
Register Code
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Result
IPR
IPR
IPR
IPR
IPR
A
Q
IPR
GXO
GX1
GX2
GX3
GX4
GX5
GX6
GX7
Should be set to O.
NU
Not used.
11-17
J
Used only in a shift instruction. Specifies the shift
number (immediate value). Must be 0 in all but shift
instructions.
18-27
OP
Operation code
28
I
Interrupt inhibit bit
29-31
MBZ
Must be zero or an IPR fault occurs
32-35
R2
Specifies a code that indicates a source register.
codes for this register are the same as for Rl.
4
-10
7-63
The
DZ51-00
ES MODE I NSTRUCTI ONS
NOTES:
ES MODE I NSTRUCTI ONS
1. Specifying a register code of 0000 in a shift instruction does
not result in an IPR fault.
2. If a register pair appears in an instruction specification, the
two registers are handled as linked. The list below indicates
the register codes to be assocciated with the register pair.
Register Code Result
0000
0001
0010
0011
0100
0101
0110
0111
100x
101x
110x
111x
IPR
IPR
IPR
IPR
IPR
A, Q
A, Q
I~R
GXO I
GX2 I
GX4 I
GX6,
GX1
GX3
GX5
GX7
where x means this bit is ignored by the hardware.
MOVEMEH'l' AND ARI TBME'l'I C I NSTRUCTI OKS
ADLR
ADRR
ANRR
CMRR
435 (1)
DVRR
ERRR
434 (1)
535 (1)
534 (1)
533 (1)
537 (1)
LDCR
431
LDDR
LDPR
LDRR
MPRR
MPRS
ORRR
433 (1)
SBLR
SBRR
437 (1)
432
(1)
(1)
430 (1)
530 (1)
531 (1)
536
(1)
436 (1)
Add Logical to Register
Add Register to Register
AND Register to Register
Compare Register to Register
Divide Register to Register
Exclusive OR Register to Register
Load Complement to Register
Load Double Register to Register
Load Positive Register to Register
Load Register to Register
Multiply Register-Pair to Register
Multiply Register-Single to Register
OR Register to Register
Subtract Logical to Register
Subtract Register to Register
7-64
DZ5l-00
(
ES MODE I NSTRUCTI ONS
sm P'T
GLLS
GLRL
GLRS
GLS
GRL
GRS
ES MODE I NSTRUCTI ONS
I HSTRUC'l'I OKS
466
465
464
462
461
460
(1)
(1)
(1)
(1)
(1)
(1)
GXn
GXn
GXn
GXn
GXn
GXn
Long Left Shift
Long Right Logic
Long Right Shift
Left Shift
Right Logic
Right Shift
Fixed-Point Instructions
The fixed-point instructions concern movement and arithmetic operations on data
in the GXn registers and memory. These instructions are valid only in the ES
mode. An attempt to execute these instructions in the NS mode results in an IPR
fault.
GLDD
GSTD
MPX
32n (1)
14n (1)
04n (1)
Load Double to GXn ( n = 0,2,4,6>
Store Double ·from GXn (n = 0,2,4,6)
Multiply GXn (n = 0,1, ••• ,7)
(
7-65
DZ51-00
TRANSFER I NSTRUCTI ONS
TRANSFER I NSTRUCTI ONS
TRANSFER I NS'I'RUCTI ONS
The program transfer instructions permit conditional and unconditional
transfers. TSXn also permits the instruction counter to be stored in index
registers xo through X7 COnditional transfers on zero, plus, and carry also
have the corollary transfers nonzero, minus, and no carry. The transfers on
overflows and underflows are made to maskable fault routines. If the normal
fault routine is masked, transfer is optional. As described in the individual
descriptions in Section 8, the ISR and S~D(IS) are affected by transfer of
control instructions.
Conditional Transfer
TEO
TEU
TMI
TMOZ
TNC
TNZ
TOV
TPL
TPNZ
TRC
TRCTn
TRTF
TRTN
TTF
TTN
TZE
614
615
604
604
602
601
617
605
605
603
54n
601
600
607
606
600
(0)
(0)
(0)
(1)
(0 )
(0)
(0)
(0)
(1)
(O)
(1 )
(1)
(1)
(o)
(1)
(0)
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
Transfer
on
on
on
on
on
on
on
on
on
on
on
on
on
on
Trans.f~r on
Transfer on
Exponent Overflow
Exponent Underflow
Minus
Minus or Zero
No carry
Nonzero
Overflow
Plus
Plus and Nonzero
carry
Count
Truncation Indicator OFF
Truncation Indicator ON
Tally Runout Indicator OFF
Tally Runout Indicator ON
Zero
unconditional Transfer
RET
TRA
TSS
TSXn
630
710
715
70n
(0 )
(0)
(0)
(0)
Return
Transfer Unconditionally
Transfer after Setting Slave
Transfer and Set Index Register n
7-66
DZ51-00
(
MISCELLANEOUS INSTRUCTIONS
Ml ~LLANEOUS I NSTRUCTI ONS
Xl SCEI..I..AHmUS I HS'l'RUC'l'I ONS
Option Register Instructions
LOO
STO
172 (1)
152 (1)
Load Option Register
Store Option Register
Binary-'1'o-1O> Conversion
The Binary to Binary-Ceded-Decimal (BCD) instruction converts the magnitude of
a 33-bit or smaller binary number to its decimal equivalent in BCD form. The
conversion is made automatically, one decimal digit per instruction execution,
using previously stored conversion constants. The BCD form of the converted
number is readily available for further operations.
BCD
505 (0)
Binary-to-BCD Convert
Execute Instructions
(
The Execute and Execute Double (XEC and XED) instructions allow remote
instructions to be executed singly or in pairs. (XED executes only in NS
mode.) A program will continue sequentially after the XEC or XED instructions
are executed, as long as the referenced instructions do not alter the
instruction counter. If a referenced instruction affects the instruction
counter, a program transfer occurs.
XEC
XED
716 (0)
717 (0)
Execute
Execute Double
GraV-TO-B inary-Gonvers ion
The Gray-to-Binary (GTB) instruction converts a 36-bit word containing data in the
Gray code (for example, coded analog information from an analog-to-digital input
device) to its binary equivalent in only one execution of the instruction. This
instruction enhances the use of the information system in real-time applications,
such as telemetry. (This instruction executes in NS mode only.)
GTB
774 (0)
Gray-to-Binary Convert
Programmed Fault
DRL
NNE
002 (0)
001 (0)
Derail
Master Mode Entry
7-67
DZ5l-00
MI SCELLANEOUS I NSTRUCTI ONS
MI SCELLANEOUS I NSTRUCTI ONS
No Operation
NOP
PULS1
PULS2
SYNC
011 (0)
012 (0)
013 (0)
014 (0)
No Operation
Pulse One
Pulse Two
Gate Synchronize
Repeat Instructions
The RPT and RPD instructions permit execution of the next one or two
instructions a selected number of times according to program requirements; they
are especially useful for operating upon sequential lists in memory. (The
repeat instructions execute only in NS mode.) For example, if RPT is used with
any of several compare instructions to search a list, termination occurs when a
"hit" is made according to conditions specified in the RPT instruction. The
"hit" causes transfer to the next sequential instruction.
RPT
560 (0)
500 (0)
520 (0)
Pointer
And
LPL
467 (1)
447 (1)
RPD
RPL
SPL
Repeat Double
Repeat Link
Repeat
Length Instructions
Load Pointer and Length
Store Pointer and Length
7-68
DZ5l-00
CODING LIMITATIONS
COOl NG LI MI TATI ONS
CDDIBG LIMITATIONS
Supplementary specification items and notes relating to the software that
operates in the DPS 8000 is provided below.
1. Result of Fault Detection in the MLR/MRL instruction
When an SCLI/SCL2/BND fault is detectd in the MLR/MRL instruction, the
last several words (up to four words) preceding the fault may not be
stored into memory.
2. Tally Runout Indicator
If any instruction involving a tally word causes the tally count to be
zero and sets the tally runout indicator to OFF, and a page fault
subsequently occurs in this execution of this instruction, the value
of the tally runout indicator in the safe store frame will represent
the state of the indicator prior to the instructions. This permits
the instruction to be retried. The value of the tally runout in the
indicator register will indicate OFF.
3. Interrupt and Fault Entry Descriptor Locations
The software-visible, fixed absolute memory locations for the
interrupt and fault entry descriptors are defined by firmware values.
These locations may be altered corresponding to the ECS firmware
loaded into a CPU.
The current entry descriptor locations are as follows:
Entry Descriptors
Word Location
Interrupt
308 - 318
Fault
328 - 338
System Entry (PMME)
348 - 358
Backup Fault
408 - 418
The word location range available for these entry descriptors is
0-778.
(
7-69
DZ5l-00
CODING LIMITATIONS
CODING LIMITATIONS
4. Timer Related Instructions
Instructions which store the timer register affect this value because
the timer is stopped for one cycle. These instructions are
STT
CLIMB
DIS when PATROL is enabled
I
./
7-70
DZ51-00
(
SICrIOH 8
MACHI HE I NSTRUC'l'ION DESCRIPTIONS
FORMAT OF I NS'l'RUC'l'I ON DBSCRI PTI ON
Each instruction in the repertoire is described in this section.
descriptions are presented in the formats shown below.
The
The format for all instructions except vector instructions follows:
I
MNEMONIC
INSTRUCTION NAME
OPCODE
FORMAT:
Figure or figure reference
COD! NG FORMAT:
Text
PROCESSOR MODE:
Text
SUMMARY:
Text and/or bit transfer equations
EXPLANATION:
Text
ILLEGAL ADDRESS
MODI F! CATIONS:
Text
I LLEGAL REPEATS:
Text
INDICATORS:
Text and/or logic statements
NOTE:
Text
EXAMPLE(S):
I f applicable
Line 1: MNEMONIC, INSTRUCTION NAME, OPCODE
This line has three parts that contain the following:
1. MNEMONIC -- The mnemonic code for the operation field of the assembler
statement. The assembler recognizes this character string value and maps
it into the appropriate binary pattern when generating the actual object
code.
8-1
DZ51-00
)
2. INSTRUCTION NAME -- The name of the machine instruction from which the
mnemonic was derived.
3. OPCODE -- The octal value of the operation code for the instruction. A 0
or a 1 in parentheses following an octal code indicates whether bit 27
(opcode extension bit) of the instruction word is OFF or ON.
Line 2:
FORMAT
The layout and definition of the subfields of the instruction word or words
either as a figure or as a reference to a figure.
Line 3: CODING FORMAT
The format to be used in coding the instruction.
Line 4:
OPERATING MODES
The modes in which the processor should be to execute the instruction.
to Sectionl, "Operating Modes".)
Line
5:
(Refer
SUMMARY
The change in the state of the processor affected by the execution of the
instruction described in a short, symbolic form. If reference is made to the
state of an indicator, it is the state of the indicator before the instruction
is executed.
Line 6:
EXPLANATION
In instances where more details are needed than supplied in a concise summary,
this section describes how the operation functions.
Line 7:
ILLEGAL ADDRESS MODIFICATIONS
A list of those modifiers that cannot be used with the instruction.
Procedure fault occurs when illegal address modification is used.
Line 8:
A
An Illegal
ILLEGAL REPEATS
list of the repeat instructions that cannot be used with the instruction.
Line 9:
ILLEGAL EXECUTES
A list of operations or conditions that are prohibited with the instruction.
8-2
DZSl-OO
Line 10: INDICATORS
A list of only those indicators whose state can be changed by the execution of
the instruction. In most cases, a condition for setting ON as well as one for
setting OFF is stated. If only one of the two is stated, then the indicator
remains unchanged if the condition is not met. Unless stated otherwise, the
conditions refer to the contents of registers existing after instruction
execution.
Line 11:
NOTES
\
Notes regarding specific conditions, faults, and exceptions that affect the
operation of the instruction upon the data.
Line 12:
I
EXAMPLES
Any coding examples, if required for clarity.
ABBREVIATI ONS AND SYMBOLS
The following abbreviations and symbols are used in the descriptions of the
machine operations.
(
Symbol
Meaning
AM
Address register modification
AND
The Boolean connective AND
ARn
Address register
b
The original bit position within a 9-bit character
BOLR
Boolean results (4 bits). The BOLR field is used in bit string
operations. The bits specify the resultant octal value for four
combinations of two input sources.
:(BOLR):
A Boolean operation defined by the BOLR field
c
The original character position within a data word of 9-bit
characters
C{
The contents of ( ).
n specifier
in operand descriptor (n
= 0,
1, ••• ,7)
C(string l} represents the contents of string
1
C(R}
The complete contents of register R
C(R} i
The contents of bit i of register R
C{R)i-j
The contents of bits i through j of register R
(.
8-3
DZ5l-00
j
Symbol
Meaning
CN
The original character number within the data word referred to by
the original data word address
CS
Character set definition, EBCDIC (0) or ASCII (1)
DR
Displacement register (bits 32-35)
F
Bit value specifier (0 or 1) for bit string fill. Used when
combining/comparing a short bit string with a long bit string to
make the shorter string appear to be the same length as the longer
string.
FILL
A character used when moving or comparing a short string of
characters to a longer string to make the short string appear to be
the same length as the longer string. (See note under MASK.)
GKn
General Index Registers 0,1, ••• 7 (ES Mode only)
I
Program interrupt inhibit bit
ID
Indirect operand descriptor indicator
L
The actual length of the character or bit string, as determined by
the register or length (RL) bit in the modification field and by N
LOCSYM
A symbol representing either the address of the operand or the
displacement from a base
MASK
Bit pattern used in an instruction word. Each 1 bit in the mask
causes that bit position in the two characters not to enter into
the comparison (coded as octal digits).
.
NOTE: FILL and MASK are 9-bit fields. When using 6- or 4-bit
characters, the character must be right-justified in the
9-bit field.
MBZ
Must be zero
MFn
Modification field n describing address modification to be
performed in operand descriptor n:
MFl
MF2
MF3
= modification field 1 (bits 29-35)
= modification
specified
= modification
field 2 (bits 11-17), if operand descriptor 2 is
field 3 (bits 2-8), if operand descriptor 3 is
specified
N
Either the number of characters or bits in the data string or a
4-bit code (bits 32-35) that specifies a register that contains the
number of characters or bits. (See Labove.)
8-4
DZ5l-00
(
Symbol
Meaning
n
Register designation for those instructions that require a register
specification to determine operation code.
NS
If 0, there is no effect upon the operation of the instruction.
If 1, there is no effect upon the instruction unless TN = 0 and SX
= 00 or 11, in which case (output is supposed to be overpunched
sign) the appropriate ~verpunched sign character will not be placed
in the specified field. Instead, the appropriate numeric (0-9)
character will be placed in the specified field, independent of
whether the calculated sign would have been plus or minus. This
results in a no sign output. For other values of TN and SX, the NS
bit is ignored. This procedure applies to both EBO>IC and ASOI.
This usage of NS is not to be confused with NS used for Normal
segmentation mode.
OP CODE
Operation code field
OR
The Boolean connective OR (symbol
P
V)
If P = 0, positive signed 4-bit results are stored with octal 14 as
the plus sign
If P = 1, positive signed 4-bit results are stored with octal 13 as
the plus sign
R1,R2
General index registers, specified in ES mode only for register to
register instructions
R'1
The ith bit, character, or byte position of R
Ri-j
Bit, character, or byte positions i through j of R
RD
Rounding numeric indicator flag:
If RD = 0, no rounding takes place
If RD = 1, rounding takes place as the final operation: the stored
result is incremented by 1 at the least significant
character if the most significant character of the
truncated part is 5 or more
REG
Address modification register selection for R-type modification of
the operand descriptor address field
RI
Distance between elements of vector data in vector operations
RL
Register or length indicator
RM
Register modification
RN
The register that holds the number of elements of vector data in
vector operations
S
Sign and decimal type
8-5
DZ5l-00
j
Symbol
Meanina
SF
Scaling factor
SX
Sign and scaling
T
Truncation fault enable indicator:
If T
If T
= 0,
= 1,
the truncation fault is disabled
the truncation fault is enabled
TA
A code that defines the type of alphanumeric character used in the
data
TAG
Tag field used to control address modification (bits 30-35)
TN
A code that defines which type of numeric character is used in the
data
TR
Timer register
VA
Virtual address
Xn
Index Registers (0,1, ••• 7)
XOR
The Boolean connective EXECLUSIVE OR
y
A
29
15-bit displacement from the address register address (with bit
= 1) or 18-bit address (with bit 29 = 0)
Y
The effective word address (18 bits for NS mode and 34-bits for ES
mode) to the word level of the designated instruction
Y-pair
A symbol denoting that the effective address Y designates a pair of
main memory locations (72 bits) with successive addresses, the
smaller address being even. When Y is even, it designates the pair
(Y, Y+l); when Y is odd, it designates the pair (Y-l, y). The main
memory location with the smaller (even) address contains the most
significant part of a double-word operand or the first of a pair of
instructions.
.
YC
The effective address for character data
YCB
The effective address for bit string data
Z
The temporary pseudo-result of a nonstore comparison operation
-->
Replace(s)
..
Is compared with •
C(R) :: C(Y) means
C(R) - C«Y)-->C(Z), C(R) and C(Y)
unchanged invisible result C(Z) sets
zero, negative and carry indicator as
indicated in the instruction descriptions
(~,
I
\..
;"
"--.--,'"
8-6
DZ51-00
Symbol
(
Meaning
Not equal
Sigma sign indicates summary.
>
CDMMON ATTRI BOTES OF I KS'l'RUC'l'IOKS
Illegal Modification
If an illegal modifier is used with any instruction, an illegal procedure fault
with a subcode class of illegal modifier occurs.
Parity Indicator
The parity indicator is turned ON at the end of a main memory access that has
incorrect parity.
I KS'l'RUC'l'ION WORD FORMATS
Single-Word Instructions
(
The single-word instruction format is displayed in Figure 8-1.
o 000
o1 2 3
LOCSYM
AR# S
7 8
3
5
Td
I AR
LOCSYM
1
3 3
1 2
9 0
Tm
OP CODE
TAG
Figure 8-1.
CODING FORMATS:
2 2 2 3
1 1
7 8
8
Single-Word Instruction Format
16
32
OPCODE LOCSYM,RM,AM
OPCODEn LOCSYM,RM,AM
OPCODE n,LOCSYM,RM,AM
8-7
Cn = 0,1, ••• ,7)
DZ51-00
EXAMPLES:
AB
LDA
AB,X3,AR2
Instruction with no index
involved
LDXl
AB,X3,AR2
Format 1: instruction
with index involved
LDX
1,AB,X3,AR2
Format 2: instruction
with index involved
OCT
o
= 1.
AR#
-
Address register number, if bit 29
S
-
Sign bit, if bit 29
LOCSYM
-
Address field: bits 0-17 or bits 3-17, depending on the state of
bit 29
= 1.
OP CODE -
10-bit operation code field stated as a 3-digit octal number
followed by the content of bit 27 (0 or 1) in parentheses
I
-
Program interrupt inhibit bit
AR
-
Address register bit. If bit 29 = 1, use address register
specified in bits 0, 1, and 2 of Y field for address modification.
Bit 3 (sign) is then extended to bits 0, 1, and 2. If bit 29 = 0,
no address register modification is performed.
TAG
-
Tag field: used to control address modification.
Tm Td -
(Bits 30-31) Type of address modification.
(Bits 32-35) Index Register or modification variation
designator
The Repeat (RPT), Repeat Double (RPD) , and Repeat Link (RPL) machine
instructions and variations of these instructions use special formats and have
special tally, terminate, repeat, and other conditions associated with them.
(The repeat instructions execute in NS mode only.) There is no address
modification for the Repeat instructions. Address modifications for the
repeated instructions are limited to Rand RI with designators specifying
Xl, ••• ,X7/GXl, ••• ,GX7. XO/GXO is used to control terminate conditions and
tally. Address Register (AR) modification is also permitted.
The Character Move and Translate instructions (MTR and MTM) use a variation of
the single-word instruction format in which two registers are specified.
Indirect words, used for address modification, have the same general format as
the instruction words; however, the fields are used in a somewhat different
way.
8-8
DZSl-OO
Nulti word I nstruct ions
(
Alphanumeric, numeric, and bit string multiword instructions have the general
machine format described in Figure 8-2.
o 0 011
58901
000
012
F
MF3 or
P
MF2 or
FILL
0
111
478
I
D
REG
MFI
FILL
OP CODE
T R
~ I~ I~
222 3 3 3 3
789 0 1 2 5
~ I~ I~ I REG
I
~ I~ I~ IREG
The number of words and fields within the descriptor words will vary by
instruction, but use the following general format.
o
17 18
35
Operand Descriptor or Indirect Pointer to
Operand Descriptor 1
Operand Descriptor or Indirect Pointer to
_______________~ra!!d_~s£riPior ~ ____________ _
Operand Descriptor or Indirect Pointer to
.
_______________~ra!!d_~s£rmor J ____________ _
Figure 8-2.
Multiword Instruction Format
The fields in the instruction word are defined below. The data fields in the
operand descriptor words and the indirect word are discussed in detail in
Section 5 under Operand Descriptors and additional detail including coding
formats, is provided in Section 7 under Multiword Instructions.
F
-
Bit value specifier for bit string fill
P
-
Plus sign indicator (octal 13 or 14)
FILL
-
Fill character specifier
T
-
Truncation fault enable indicator
RD
-
Rounding indicator
MFI
-
Modification field 1 (bits 29-35) denotes address modiflcation to
be performed for operand descriptor 1. (see "Multi word Modification
Field" in Section 7.)
MF2
-
Bits 11-17 describe address modification to be performed on this
operand for operand descriptor 2
8-9
DZ51-00
MF3
-
Bits 2-8 describe address modification to be performed on this
operand for operand descriptor 3
OP CODE -
10-bit operation code field. Octal representation consisting of
three octal digits followed by the content of bit 27 (1) in
parentheses.
I
-
Program interrupt inhibit bit
AR
-
Address register indicator
RL
-
Register containing length indicator
ID
-
Indirect operand descriptor indicator
REG
-
Type of register modification (A, AU,
Q, QU,
IC, DU,
XB/GXg)
Address Register Special Arithmetic Instructions
These instructions provide the capability for replacing, adding to, or
subtracting from the contents of an address register on either a word,
character, or bit address basis. The operation is register-to-register, with
no memory fetch involved.
The special arithmetic instructions have the format shown in Figure 8-3:
/
000
Figure 8-3.
333
3
OP CODE
y
Address Register Special Arithmetic
Instruction Format
Selects address register to be altered
AR#
S
222
1 1
-
Sign bit
y
Used as a word displacement (no character or bit position included)
along with the contents specified in the DR field to alter the
contents of the specified address register. Bit 3 provides
negative or positive word displacement.
OP CODE -
lO-bit operation code field. Octal representation consisting of
three octal digits followed by the content of bit 27 (1) in
parentheses.
I
-
Program interrupt inhibit bit
8-10
DZ51-00
AR
-
Address register bit. If bit 29 = 1, the sum of the DR (in
characters, words, or bits) and the y field (in words) are added to
or subtracted from the contents of the AR specified in bits 0-2. If
bit 29 = 0, the described sum or its two's complement is loaded
into the AR for addition or subtraction, respectively. If the
mnemonic is coded with X (for example, AWDX), bit 29 is forced to
zero.
MHZ
-
Bits 30-31 must be zero. The operand length is contained in the
register specified by DR.
(
Displacement register. Specifies which register contains the
displacement value. The register codes and register lengths are
the same as those used in MF fields except that IC modification is
illegal.
DR
The operations for adding a value to the contents of an address register
proceed identically as with effective operand address preparation from an
operand descriptor, with the final results stored in the specified address
register. The subtract operation differs only in that the contents of the
register specified by the code in the DR field are first added to the y field.
This result is then subtracted from the actual contents of the address register
or from the implied zero contents and the result is placed in the address
register. The codes for DU, DL, and IC are illegal for the DR field and cause
an IPR fault.
No indicators are affected by these instructions.
Character Move To/From Register Instructions
Two instructions permit moves of one, two, three, or four 9-bit characters from
a memory location to a register or from a register to memory. These
instructions have the format shown in Figure 8-4.
o
1°
1 1
3
2 2 2
Not Used
Figure 8-4.
RECR
1 1
-
Character Move To/From Register Instruction Format
Specifies the register to which characters are moved (MTR), or from
which characters are moved (MTM). (Refer to MTR/MTM instructions.)
OP CODE -
10-bit operation code field. Octal representation consisting of
three octal digits followed by the content of bit 27 (1) in
parentheses.
I
Program interrupt inhibit bit
-
(~
8-11
DZ51-00
AR
-
Address register indicator
RL
-
This field is ignored
ID
-
Indirect operand descriptor indicator
REG
-
Type of register modification (A, AU, Q, QU, IC, DU, xnJGXn)
These instructions move one, two, three, or four 9-oit characters from (MTR) or
to (MTM) a memory location to or from a register specified by the RECR field.
Register-to-Register I DStructions
Register to Register instructions known as "RR type instructions are valid
only in the ES mode. An attempt to execute these instructions in the NS mode
results in an IPR fault. RR type instructions permit movement, arithmetic
operation, and shift of fixed-point data using the GXn, A and Q registers. An
attempt to execute any RR type instruction by the RPT, RPD, or RPL instructions
results in an IPR fault. The format for register to register instructions is
shown in Figure 8-5.
It
a aa
a 34
I
Rl
I
a1
NU
I
Figure 8-5.
222
789
1 1
7 8
1 1
(J)
I
OP CODE
3 3
1 2
3
5
II I I R2 I
MBZ
.
Register To Register Instruction Format
Bits Field DescriQtion
a - 3 Rl
A code indicating a register to be the destination of the
result. The allowable codes follow:
Register Code Result
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
IPR
IPR
IPR
IPR
IPR
A
Q
IPR
GXO
GX1
GX2
GX3
GX4
GX5
GX6
GX7
8-12
,/
DZ5l-00
'~~
~'\
,
(
4
-10
NU
Not used.
Should be set to O.
11-17 J
Used only in a shift instruction. Specifies the shift number
(immediate value). Must be 0 in all but shift instructions.
18-27 OP
Operation code
28
Interrupt inhibit bit
I
29-31 MHZ
Must be zero or an IPR fault occurs
32-35 R2
A code indicating the source register.
register are the same as for Rl.
NOTES:
1. Specifying a register code of 0000 in a shift instruction
does not result in an IPR fault.
The codes for this
2. If a register pair appears in an instruction specification,
the two registers are handled as linked. The list below
indicates the register codes to be assocciated with the
register pair.
Register Code Result
(
0000
0001
0010
0011
0100
0101
0110
0111
100x
101x
110x
l11x
IPR
IPR
IPR
IPR
IPR
A, Q
A, Q
IPR
GXO,
GX2,
GX4,
GX6,
GXl
GX3
GX5
GX7
where x means this bit is ignored by the hardware.
8-13
DZ51-00
I NS'l'RUCTI ON REPER'l'OI RE
The processor interprets a 10-bit field of the instruction word as the operation
code. This field size yields 1024 possible instructions codes of which over half
are implemented.
Detailed on the following pages are the processor instructions and operation codes
sorted alphabetically on the mnemonic by function.
8-14
DZ51-00
!
/
A4BD
A4BDX
A4BD
A4BDX
A4BD
A4BDX
FORMAT:
CODING FORMAT:
Add 4-Bit Displacement to Address Register
502 (1)
Special arithmetic instruction format (see Figure 8-3)
1
8
{A4BD )
{A4BDX)
16
word displacement,R,AR
When the mnemonic is coded with an "X" (A4BDX), bit 29 is
forced to zero.
OPERATING MODES:
Any
EXPLANATION:
NS Mode
The count of 4-bit characters contained in the register
specified by the DR field is effectively divided by 8,
producing a word count and a character count. The word count
is added to the y field (bit 3 extended).
If bit 29 = 0, this sum replaces bits 0-17 of the specified
AR, with the character count (from the divide) translated
into bit string representation and replacing bits 18-23 of
AR.
If bit 29 = 1, the sum of the word count (from the divide)
and y field is added to bits 0-17 of the specified AR. The
CHAR and BIT portions (bits l8-23) of the specified AR are
forced to point to a 4-bit character boundary in bit string
representation. The resulting character count is added to
the character count from the divide operation, with the
result being translated back into bit string representation.
These formed values for the WORD, CHAR, and BIT fields are
stored in bits 0-23 of the specified AR. With this addition,
carry from the CHAR field is transferred to the WORD field.
ES Mode
The count of 4-bit characters contained in the register
specified by the DR field is effectively divided by 8,
producing a word count and a character count. The word count
is added to the y field (bit 3 extended).
8-15
DZ51-00
A4BD
A4BDX
A4BD
A4BDX
If bit 29 = 0, this sum replaces bits 0-29 of the specified
AR, with the character count (from the divide) translated
into bit string representation and replacing bits 30-35 of
AR.
IF bit 29 = 1, the sum of the word count (from the divide)
and y field is added to bits 0-29 of the specified AR. The
CHAR and BIT portions (bits 30-35) of the specified AR are
forced to point to a 4-bit character boundary. The resulting
character count is added to the character count from the
divide operation, with the result translated back into bit
string representation. These formed values for the WORD,
CHAR, and BIT fields are stored in bits 0-35 of the specified
AR. With this addition, carry from the CHAR field is
transferred to the WORD field.
Effectively, the two bit string representations are added and
the result is translated back to a format allowing 2 bits to
represent the characters and 4 bits to represent bits. Any
overflow of the 2 bits increments the address field and the
4-bit field is handled as mod-9. Any overflow of the 2-bit
field increments the character (2-bit) field.
ILLEGAL ADDRESS
MODIFICATIONS:
When DU, DL, and IC are specified in the DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8
16
EAX3
A4BDX
A4BD
9
2,3,5
0,3,5
AR5 octal contents AR5 octal contents -
0 0 0 0 0 3 0 5
0 0 0 0 0 4 2 0
EAX4
A4BDX
EAX5
A4BD
6
0,4,3
AR3 octal contents -
0 0 0 0 0 0 6 0
AR3 octal contents -
0 0 00 0 5 6 5
9
4,5,3
8-16
DZ51-00
A6BD
A6BDX
A6BD
A6BDX
A6BD
A6BDX
FORMAT:
CODING FORMAT:
Add 6-Bit Displacement to Address Register
501
(1)
Special arithmetic instruction format (see Figure 8-3)
1
8
16
{A6BD }
{A6BDX} word disp1acement,R,AR
When the mnemonic is coded with an X (A6BDX), bit 29 is
forced to zero.
OPERATING MODES:
Any
EXPLANATION:
NS Mode
The count of 6-bit characters contained in the register
specified by the DR field is effectively divided by 6,
producing a word count anp a character count. The word count
is added to the y field (bit 3 extended).
If bit 29 = 0, this sum replaces bits 0-17 of the specified
AR, with the character count (from the divide) being
translated into bit string representation and replacing bits
18-23 of AR.
If bit 29 = 1, the sum of the word count (from the divide)
and y field is added to bits 0-17 of the specified AR. The
CHAR and BIT portions (bits 18-23) of the specified AR are
forced to point to a 6-bit character boundary. The resulting
6-bit character count is added to the character count from
the divide operation, with the result being translated back
into bit string representation. These formed values for the
WORD, CHAR, and BIT fields are stored in bits 0-23 of the
specified AR. With this addition, carry from the CHAR field
(when carry + character count> 5) is transferred to the WORD
field.
8-17
DZ5l-00
i
A6BD
A6BDX
A6BD
A6BDX
ES Mode
The count of 6-bit characters contained in the register
specified by the DR field is effectively divided by 6,
producing a word count and a character count. The word count
is added to the y field (bit 3 extended).
If bit 29 = 0, this sum replaces bits 0-29 of the specified
AR, with the character count (from the divide) translated
into bit string representation and replacing bits 30-35 of
AR.
If bit 29 = 1, the sum of the word count (from the divide>
and y field is added to bits 0-29 of the specified AR. The
CHAR and BIT portions (bits 30-35) of the specified AR are
forced to point to a 6-bit character boundary. The resulting
6-bit character count is added to the character count from
the divide operation, with the result translated back into
bit string representation. These formed values for the WORD,
CHAR, and BIT fields are stored in bits 0-35 of the specified
AR. With this addition, carry from the CHAR field (when
carry + character count> 5) is transferred to the WORD
field.
I LLEGAL ADDRESS
MODIFICATIONS:
When DU, DL, or IC are specified in DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None Affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification is used.
EXAMPLES:
1-
(Applies to NS mode only)
8
16
32
EAX2
A6BDX
A6BD
8
3,2,6
2,2,6
AR6 octal contents
AR6 octal contents
-
EAX4
A6BDX
A6BD
15
0,4,7
2,4,7
AR7 octal contents
AR7 octal contents
- o 000
- o 000
8-18
- o 000 0 423
o0
000 746
0 2 4 0
0 7 0 0
DZ5l-00
A9BD
A9BDX
A9BD
A9BDX
A9BD
A9BDX
FORMAT:
CODING FORMAT:
Add 9-Bit Displacement to Address Register
SOD (1)
Special arithmetic instruction format (see Figure 8-3)
1
8
16
{A9BD }
{A9BDX} word displacement,R,AR
When the mnemonic is coded with an X (A9BDX), bit 29 is forced to
zero.
(/
OPERATING MODES:
Any
EXPLANATION:
NS Mode
The count of 9-bit characters contained in the register specified
by the DR field is effectively divided by 4, producing a word
count and a character count. This word count is then added to
the y field (bit 3 extended).
If bit 29 = 0, the resulting sum of the word addresses and the
character count (from the divide operation) replaces bits 0-19 of
the specified AR.
If bit 29 = 1, the resulting sum of the word addresses is added
to bits 0-17 of the specified AR and the character count (from
the divide operation) is added to bits 18-19 of C(AR). These
results are then stored in bits 0-19 of the specified AR. In
either case, bits 20-23 of the specified AR are zeroed. carry is
transferred from bit 18 to bit 17 with this addition.
ES Mode
The count of 9-bit characters contained in the register specified
by the DR field is effectively divided by 4, producing a word
count and a character count. This word count is then added to
the y field (bit 3 extended).
If bit 29 = 0, the resulting sum of the word addresses and the
character count (from the divide operation) replaces bits 0-31 of
the specified AR.
(
8-19
DZ51-00
A9BD
A9BDX
A9BD
A9BDX
If bit 29 = 1, the resulting sum of the word addresses is
added to bits 0-29 of the specified AR and the character
count (from the divide operation) is added to bits 30-31 of
C(AR). These results are then stored in bits 0-31 of the
specified AR. In either case, bits 32-35 of the specified AR
are zeroed. carry is transferred from bit 30 to bit 29 with
this addition.
I LLEGAL ADDRESS
MODIFICATIONS:
When DU, DL, or IC are specified in the DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification is used.
(Applies to NS mode only)
EXAMPLES:
1
8
16
32
!AX1
A9BDX
A9BD
6
2,1,2
2,,2
AR2 octal contents
AR2 octal contents
-
EAX2
A9BDX
A9BD
15
4,2,6
0,2,6
AR6 octal contents
AR6 octal contents
-
8-20
-
o0
o0
0 0 0 34 0
0 0 054 0
- o0
0 007 6 0
0 0 1 340
o0
DZ51-00
(-
AARn
AARn
Alphanumeric Descriptor To Address Register !!
FORMAT:
56!! (1)
Single-word instruction format (see Figure 8-1)
CODI NG FORMAT:
1
8
MR.!!
16
LOCSYM, RM, AM
OPERATI NG MODES:
Any
SUMMARY:
For n = 0, 1, ••• or 7 as determined by op code
C(Y)0-17 --> C(ARn)0-17
C(Y)18-20 translated C(ARn)18-23
EXPLANATION:
The alphanumeric descriptor is fetched from the computed
effective address Y. The TA field, bits 21 and 22, is examined
to determine the type of data described. If the TA code
indicates 9-bit character data, bits 18 and 19 of the descriptor
CN field go to the corresponding bit positions of AR!! and zeros
fill bits 20-23 of ARn. If the TA code indicates 6- or 4-bit
character data, the descriptor CN field is appropriately
translated into bit string representation and goes to bits 18-23
of AR!!. In all cases, the word portion of the fetched descriptor
is placed in the word portion (bits 0-17) of ARn.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
ILLEGAL EXECUTES: If this instruction is executed in ES mode.
INDICATORS:
None affected
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used or if the descriptor
TA field contains code 11.
(
8-21
DZ5l-00
AARn
AARn
2.
A:::, IPR fault occurs if descriptor CN field contains xxl for
TA = 00, or llx for TA = 01.
3.
An
IPR fault occurs if an attempt is made to execute this
instruction in the ES mode.
EXAMPLES: (Applies to NS mode only)
1
DESCR
8
16
32
AAR4
DESCR
load data string address into AR4
memory contents in octal
ADSC9
FLD1, 3 , 1
.
001023600001 - descriptor
AR4 octal contents - 0 0 1 0 2 3 6 0
8-22
DZS1-00
(
ABD
ABD
ABDX
ABDX
Add Bit Displacement to Address Register
ABD
ABDX
(1)
special arithmetic instruction format (see Figure 8-3).
FORMAT:
COOl NG
503
FORMAT:
8
1
16
{ABD }
{ABDX} word displacement,RM,AR
When the mnemonic is coded with an X (ABDX) , bit 29 is forced to
zero.
(
OPERATING MODES:
Any
EXPLANATION:
NS
Mode
The bit string count in the register specified in the DR field is
divided by 36. The quotient is taken as the word count and the
remainder is taken as the bit count. The word count is added to
the y field for which bit 3 of the instruction word is extended
and the sum is taken.
If bit 29=0, the sum is loaded into bits 0-17 of the specified
AR, and the character portion and the bit portion of the
remainder are loaded into bits 18-23 of the specified AR.
If bit 29=1, the sum is added to bits 0-17 of the specified AR.
The CHAR and BIT fields (bits 18-23) of the specified AR are
added to the character portion and the bit portion of the
remainder. WORD, CHAR and BIT fields generated in this manner
are loaded into bits 0-23 of the specified AR. with this
addition, carry from the BIT field (bit 20) and the CHAR field
(bit 18) is transferred (when BIT field >8, CHAR field >3).
8-23
DZSl-OO
ABD
ABDX
ABO
ABDX
ES Mode
The bit string count in the register specified in the DR
field is divided by 36. The quotient is taken as the word
count and the remainder is taken as the bit count. The word
count is added to the y field for which bit 3 of the
instruction word is extended and the sum is taken.
If bit 29=0, the sum is loaded into bits 0-29 of the
specified AR, and the character portion and the bit portion
of the remainder are loaded into bits 30-35 of the specified
AR.
If bit 29=1, the sum is added to the sign extended value of
bits 0-29 of the specified AR. The CHAR and BIT fields (bits
30-35) of the specified AR are added to the character portion
and the bit portion of the remainder. WORD, CHAR, and BIT
fields generated in this manner are loaded into bits 0-35 of
the specified AR. with this addition, carry from the BIT
field (bit 30) and the CHAR field (bit 32) is transferred
(when BIT field >8, CHAR field >3).
I LLEGAL ADDRESS
MODIFICATIONS:
When DU, DL, or Ie are specified in the DR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
EXAMPLES:
1
(Applies to NS mode only)
8
16
32
EAX6
ABDX
ABD
85
7,6,2
2,6,2
AR2 octal contents AR2 octal contents -
0 0 0 0 1 1 2 4
0 00 0 1 5 5 0
EAXI
EAX2
ABDK
ABD
74
30
4,1,3
0,2,3
AR3 octal contents AR3 octal contents -
0 0 0 0 0 6 0 2
0 0 0 0 0 6 6 5
8-24
DZ51-00
(
AD2D
AD2D
202 (1)
Add Using Two Decimal Operands
AD2D
FORMAT:
o0
o1
001
890
1 1
7 8
1
1
0
a
Code
222
789
202(1)
MF2
Iploo------------OITIRDI
Op
II I
I
1 1 2 2
780 1
0
2
222
234
3
5 "
MF1
I
2 3
9 0
3
5
Y1
CN1 TN1 Sl
(
o
a
SF1
N1
Y1
AR#
1 1 2 2
780 1
0
2
222
234
2 3
9 0
3
5
Y2
CN2 TN2 S2
AR#
CODING FORMAT:
Y2
SF2
N2
..
1
8
16
AD2D
MF1),(MF2),RD,P,T
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
NOSCn
NOSCn
(Refer to Section 7 under Mu1tiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
8-25
DZ51-00
AD2D
AD2D
C(string 2)
SUMMARY:
+
(string 1)
-->
C(string 2)
Same as AD3D, except that the sum is stored using YC2, TN2,
S2 and, if S2 indicates a scaled format, SF2.
ILLEGAL ADDRESS
MODI FI CATl ONS :
DU, DL for MF1 and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I
ND! CATORS:
Same as for AD3D
NOTES:
1. All notes for AD3D apply also to AD2D.
2. Illegal Procedure fault same as for MVN.
3.
An I llega1 Procedure fault occurs if illegal address
modification or an illegal repeat is used.
EXAMPLES:
1
FLDl
FLD2
FLDl
FLD2
8
16
32
AD2D
NDSC4
NDSC9
USE
EDEC
EDEC
USE
, , , ,1
FLDl,O,8,2,-2
FLD2,O,6
CONST.
8P123456+
6A+1E+2
with truncation enable option
FL01 addend operand descriptor
FLD2 addend operand descriptor
memory contents
o 1 2 3 456 +
+0 0 0 1 2
+ 1 3 3 4 0 (Sum) (truncation fault)
AD2D
NDSC9
NDSC4
USE
EDEC
EDEC
USE
, , ,1
FLD1,O,4
FLD2,1,7,2,-4
CONST.
with plus sign octal 13 option
FL01 addend operand descriptor
FLD2 addend operand descriptor
memory contents
+9 9 0
o 1 2 3 456 +
o 1 1 3 4 56+ (Sum) (overflow fault)
41\+99.
8Pl23456+
8-26
DZ5l-00
".
AD2D
AD2D
EXAMPLE
1
~~TH
ADDRESS MODIFICATION:
8
16
EAXl
1
EAX7
EAX4
AWDX
AD2D
NDSC4
NDSC9
FLDl
USE
EDEe
EDEe
FLD2
I NDSC2 NDSC9
USE
32
load character modifier into Xl
7
load FLDl length into X7
FLDl
load FLDl address into X4
0,4,4
put FLDl address into AR4
(l,l"Xl),(,,1),l,1 rounding and plus sign options
0"X7,2,-2,4
FLDl operand descriptor (FLDl,1,7,2,-2)
INDSC2
pointer to FLD2 indirect operand descriptor
CONST.
8P1234508A+9876E+2
FLD2,0,8
memory contents
1 2 3 4 5
+
9 8 7 6 2
FLD2 indirect operand descriptor
+ 9 8 6 3 6 6
(Sum)
° °°
°-
°
(
8-27
DZ5l-00
AD2DX
AD2DX
Add Using Two Decimal Operands Extended
AD2DX
242
(1)
FORMAT:
000
0011
1 1
242(1)
MF2
o
o
222
Op COde
1 122
7 801
0
2
3
NFl
222
234
2 3
9 0
3
5
Y1
CN1 TN2 SX1
AR#
SF1
N1
Y1
o
o
1 122
7 801
222
234
2 3
9 0
3
5
Y2
CN2 TN2 SX2
AR#
CODING FORMAT:
SF2
N2
Y2
1
8
16
AD2DX
(MF1),(MF2),RD,CS,T,NS
LOCSYM,CN,N,SX,SF ,AM
LOCSYM,CN,N,SX,SF,AM
NOSen
NOSCn
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATING MODES:
Any
SUMMARY:
C(string 2}
+
C(string 1) --> C(string 2)
8-28
DZ51-00
AD2DX
AD2DX
EXPLANATION:
The decimal number of data type TNl, sign and decimal type SXl,
and starting location YCl, is added to the decimal number of
data type TN2, sign and decimal type SX2, and starting location
YC2. The sum is stored starting in location YC2 as a d~cimal
number of data type TN2 and sign and decimal type SX2.
o If SX2 indicates a fixed-point format, the results are
stored using scale factor SF2, which causes leading or
trailing zeros (4 bits - 0000, 9 bits - 000110000) to be
supplied and/or most significant digit overflow or least
significant digit truncation to occur.
o If SX2 indicates a floating-point format, the result is
right-justified to preserve the most significant nonzero
digits even if this causes least significant truncation.
(
o The character set is defined by CS. Placement of an
overpunched sign in the output is controlled by NS. (Refer
to the introductory pages of this section for definition of
NS.) If RD is 1, rounding takes place prior to storage.
Provided that strings 1 and 2 are not overlapped, the
contents of the decimal number that starts in location YCl
remains unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
I
NDI CATORS :
Zero
- If result equals zero, then ONi otherwise, OFF
Negative
- If result is negative, then ONi otherwise, OFF
Truncation - If in the preparation of the final result, one
or more least significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON; otherwise (i.e., no least
significant digits lost or rounding specified),
OFF.
Overflow
Exponent
Overflow
- If data is lost in most significant positions,
then ONi otherwise, unchanged
- If exponent of floating point result> 127,
then ON; otherwise, unchanged
8-29
DZ5l-00
AD2DX
AD2DX
Exponent
Underflow
NOTES:
If exponent of floating point result
then ON; otherwise, unchanged
< - 128,
1. Truncation fault occurs if the truncation indicator is
set and the truncation fault enable
(T) bit
is a
1.
2. Illegal procedure faults occur when
a. DU or DL modification in NFl or MF2.
b. The sign and numeric digits contains an unpermitted
code.
c. Though the operand descriptor indicates the presence
of a sign or exponent, the value of Nl or N2 does not
contain the number of characters required for the sign
and exponent (when at least one digit is required).
d.
An
illegal repeat is used.
3. Independent of the data type being used, either packed
decimal or 9-bit numeric, floating point or fixed-point,
significant digits of the result may be lost if the
result field as defined by the result descriptor is not
large enough to contain the calculated result after it
has been aligned.
4. If an illegal digit or sign is detected, part or all of
the receiving field may be changed before the IPR fault
occurs.
5. All notes for AD3D apply to AD2DX.
6. Refer to the specifications on MVNX for information on
coding of overpunched signs.
7.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-30
DZ5l-00
(
AD3D
AD3D
Add Using Three Decimal Operands
AD3D
222 (1)
FORMAT:
1+1
0
0
1 1
7 8
001 1
890 1
000
012
MF3
HRDI
MF2
0
2
222
789
Op Code
I
222(1)
1 1 2 2
7 801
222
234
H
3
5
MFl
2 3
9 0
I
3
5
Yl
CNl TNl Sl
Nl
Yl
AR#
(
SFl
o
o
1 122
780 1
222
234
2 3
3
5
9 0
Y2
CN2 TN2 S2
Y2
AR#
o
o
2
N2
..
1 1 2 2
780 1
0
SF2
222
234
2 3
3
5
9 0
Y3
CN3 TN3 S3
AR#
SF3
N3
Y3
8-31
DZ51-00
AD3D
AD3D
CODING FORMAT:
The AD3D instruction is coded as follows:
1
8
16
AD3D
NOSCD
NOSCD
NOSCD
(MF1),(MF2),(MF3),RD,P,T
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN ,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 2)
EXPLANATION:
The decimal number of data type TNl, sign and decimal type
Sl, and starting location yel, is added to the decimal number
of data type TN2, sign and decimal type S2, and starting
location YC2. The sum is stored starting in location YC3 as
a decimal number of data type TN3 and sign and decimal type
S3.
+
C(string 1)--> C(string 3)
If S3 indicates a fixed-point format, the results are stored
using scale factor SF3, which causes leading or trailing
zeros (4 bits - 0000, 9 bits - 000110000) to be supplied
and/or most significant digit overflow or least significant
digit truncation to occur.
\
If S3 indicates a floating-point format, the result is
right-justified to preserve the most significant nonzero
digits even if this causes least significant truncation.
If P = 1, positive signed 4-bit results are stored using
octal 13 as the plus sign. If P = 0, positive signed 4-bit
results are stored with octal 14 as the plus sign. If RD is
1, rounding takes place prior to storage.
Provided that strings 1, 2, and 3 are not overlapped, the
contents of the decimal numbers that start in locations YCl
and YC2 remai~ unchanged.
The zero indicator is set when the decimal number is zero; it
does not indicate the case in which all bits are zero.
j
8-32
DZ51-00
AD3D
AD3D
If the result is given by a fixed-point, operations are
performed by justifying the scaling factors (SFl, SF2, and
SF3) of the operands 1, 2, and 3 as follows:
If SFl
>
SF2
SFI > SF2 >= SF3 --> Justify to SF2
SF3 > SFl > SF2 --> Justify to SFl
SFI >= SF3 > SFl --> Justify to SF3 - I
If SF2 > SFl
SF2 > SFl >= SF3 --> Justify to SFl
SF3 > SF2 > SFl --> Justify to SF2
SF2 >= SF3 > SFl --> Justify to SF3 - 1
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1, MF2, and MF3
I LLEGAL REPEATS:
INDICATORS:
RPT ,RPD, RPL
Zero
-
If result equals zero, then ON: otherwise, OFF
-
If result is negative, then ON: otherwise, OFF
Truncation -
If, in the preparation of the final result,
one or more least significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON. Otherwise (i.e., no least
significant digits lost or rounding is
specified), OFF
Negative
Exponent
Overflow
If exponent of floating-point result is > 127,
then ON; otherwise, unchanged
Exponent
Underflow
Overflow
If exponent of floating point result < - 128,
then ON: otherwise, unchanged
-
If data is lost in most significant positions,
then ON: otherwise, unchanged
8-33
DZS1-OO
AD3D
AD3D
1. Truncation fault occurs if the Truncation indicator is set
and the truncation fault enable (T) bit is 1.
NOTES:
2. Illegal procedure faults occur when
a. DU or DL modification in NFl or NF2.
b. The sign and numeric digits contains an unpermitted
code.
c. Though the operand descriptor indicates the presence
of a sign or exponent, the value of Nl or N2
does not contain the number of characters required
for the sign and exponent (when at least one digit
is required).
3. Independent of the data type being used (either packed
decimal or 9-bit numeric floating-point or scaled)
significant digits in the result may be lost if:
a. The difference between the scaling factors (exponents)
of the source operands is large enough to cause the
expected length of the intermediate result to exceed 63
digits after decimal point alignment of source
operands, followed by addition.
b. The result field as defined by the result descriptor is
not large enough to contain the calculated result after
it has been aligned.
4. If an illegal digit or sign is detected, part or all of
the receiving field may be changed before the IPR fault
occurs.
EXAMPLES:
1
8
AD3D
FLDl
FLD2
FLD3
NOSC9
NOSe9
NOSC4
USE
EDEC
EDEC
BSS
USE
16
32
, , ,1, 1
with rounding and plus sign options
FLDl addend operand descriptor
FLD2 addend operand descriptor
operand descriptor for sum field
memory contents
FLD1,0,4,3,-2
FLD2,0,8,2,-2
FLD3,2,6,1
CONST.
4Al234
8A65432l+
1
1 2 3 4
0654321+
x.x+06556
(Sum )
instruction fault?
8-34
no
DZ5l-00
\, ~j
(
AD3D
AD3D
EXAMPLE v,TI TH ADDRESS MODI n CATl ON:
1
FLDl
FLD2
FLD3
DFLD3
32
8
16
EAX2
EAX6
EAX4
AWDX
AD3D
NDSC9
NDSC4
ARC
USE
EDEC
EDEC
BSS
NDSC4
USE
2
load character modifier into X2
6
load FLDI length into X6
FLDI
load FLDI address into X4
0,4,4
put FLDI address into AR4
(1),(,l"X2),{,,1),1,1
0,0,4,
FLDl operand descriptor (FLD1,0,4,0)
FLD2"X6,3,-2 FLD2 operand descriptor (FLD2,2,6,3,-2)
DFLD3
pointer to FLD3 operand descriptor
CONST.
memory contents
4A-12E+2
- 122
8P123456
00123456
xxx+0346
(Sum)
1
FLD3,3,5,1,-1 FLD3 sum operand descriptor
instruction fault?
no
(
8-35
DZ51-00
AD3DX
AD3DX
Add using Three Decimal Operands Extended
AD3DX
262 (1)
FORMAT:
0 o 0
012
IcsH
0
0
MF3
HRDI
0
2
MF2
222
789
Op Code
I
262(1)
1 1 2 2
222
234
7 8 0 1
Y1
CN1 TN1 SXI
II I
3
NFl
2 3
9 0
SF1
3
5
N1
Y1
AR#
o
o
1 1
7 8
001 1
890 1
1 122
7 801
0
2
222
234
2 3
9 0
3
5
Y2
CN2 TN2 SX2
N2
Y2
AR#
o
o
SF2
1 1 2 2
780 1
0
2
222
234
2 3
9 0
3
5
Y3
CN3 TN3 SX3
AR#
SF3
N3
Y3
8-36
DZ51-00
AD3DX
AD3DX
CODING FORMAT:
1
8
16
AD3DX
NOSCn
NOSen
(MF1),(MF2),(MF3),RD,CS,T,NS
LOCSYM,CN ,N ,SX,SF,AM
LOCSYM,CN ,N ,SX,SF,AM
LOCSYM,CN,N ,SX,SF ,AM
NDSCn
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATl NG MODES:
Any
SUMMARY:
C(string 2)
EXPLANATION:
The decimal number of data type TNI, sign and decimal type
SKI, and starting location yel, is added to the decimal
number of data type TN2, sign and decimal type SX2, and
starting location YC2. The sum is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type SX3.
+
C(string 1) --> C(string 3)
If SX3 indicates a fixed-point format, the results are stored
using scale factor SF3, which causes leading or trailing
zeros (4 bits - 0000, 9 bits - 000110000) to be supplied
and/or most significant digit overflow or least significant
digit truncation to occur.
If SX3 indicates a floating-point format, the result is
right-justified to preserve the most significant nonzero
digits even if this-causes least significant truncation. The
character set is defined by CS. Placement of overpunched
sign in the output is controlled by NS. (Refer to the
introductory pages of this section for definition of NS.) If
RD is 1, rounding takes place prior to storage. Provided
that strings 1, 2, and 3 are not overlapped, the contents of
the decimal numbers that start in locations YCI and YC2 .
remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1, MF2 and MF3
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Zero
-
If result equals zero, then ON: otherwise, OFF
Negative
-
If result is negative, then ON: otherwise, OFF
(
8-37
DZ51-00
AD3DX
AD3DX
Truncation -
If, in the preparation of the final result,
one or more least significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON. Otherwise (i.e., no least
significant digits lost or rounding
specified) OFF.
I
Overflow
-
If data is lost in most significant positions,
then ON ~ otherwise, unchanged.
Exponent
Overflow
-
If exponent of floating-point result> 127,
then ON ~ otherwise, unchanged.
Exponent
Underflow
NOTES:
If exponent of floating point result < - 128,
then ON; otherwise, unchanged
1. Truncation fault occurs if the truncation indicator is set
and the truncation fault enable (T) bit equals l.
2. Illegal procedure faults occur when:
a. DU or DL modification in NFl or MF2.
b. The sign and numeric digits contains an unpermitted
code.
c. Though the operand descriptor indicates the presence
of a sign or exponent, the value of Nl or N2
does not contain the number of characters required
for the sign and exponent (when at least one digit
is required).
3. Independently of the data type being used (either packed
decimal or 9-bit numeric, floating-point or scaled)
significant digits of the result may be lost if the result
field as defined by the result descriptor is not large
enough to contain the actual calculated result after it
has been aligned.
4. If an illegal digit or sign is detected, part or all of
the receiving field may be changed before the IPR fault
occurs.
5. For coding of overpunched signs, refer to MVNX.
6.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-38
DZ51-00
ADA
ADA
(
Add to A-Register
075 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) + C(Y)
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
-->
C(A)i C(Y) unchanged
If C(A)
= 0,
= 1,
then ON; otherwise, OFF
Negative -
If C(A)O
Overflow -
I f range of A is exceeded, then ON
carry
If a carry out of bit of C(A) is generated,
then ON; otherwise, OFF
-
I
then ON; otherwise, OFF
°
8-39
DZ51-00
ADAQ
ADAQ
ADAQ
Add to AQ-Register
077 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(AQ) + C(Y-pair) -> C(AQ): C(Y-pair) unchanged
I LLEGAL ADDRESS
MODI PI CATl ONS:
DU, DL, CI, SC I SCR
I LLEGAL REPEATS:
None
INDICATORS:
zero
= 0,
If C(AQ)
= 1,
then ON: otherwise, OFF
Negative -
If C{AQ)O
Overflow -
If range of AQ is exceeded, then ON
carry
NOTE:
-
-
then ON: otherwise, OFF
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if an illegal address
modification is used.
8-40
DZ5l-00
(
ADE
}.DE
ADE
Add to Exponent Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(E) + C(Y)O-7 --> C(E)
I LLEGAL ADDRESS
MODIFICATIONS:
a, SC, SCR
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
Set OFF
Negative
-
Set OFF
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
NOTES:
415 (0)
If exponent of floating point result < - 128,
then ON; otherwise, unchanged
1. An Illegal Procedure fault occurs if illegal address
modification is used.
2. All data is handled as 0 when DL modification is
specified in the NS mode.
8-41
DZ51-00
ADL
ADL
ADL
Add Low to AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C{AQ)
+
C(Y, right-adjusted) --> C(AQ)
This instruction forms the following 72-bit number:
o
o
3 3
5 6
7
C(Y)
I C(y)O------------C(y)Oi
The lower half (bits 36 through 71) is C(Y). The bits in the
upper half (bits 0 through 35) are equal to the C(Y) sign bit
(C(Y)O)' This value is added to the AQ. If a carry is
generated from Q as a result of this addition, it is passed
on to A.
ILLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
= 0, then
If C(AQ)
= 1,
ONi
otherwise, OFF
Negative -
If C(AQ)O
Overflow -
I f range of AQ is exceeded, then ON
Carry
NOTE:
-
-
then ON: otherwise, OFF
If a carry out of bit 0 of C(AQ) is generated,
then ONi otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-42
DZS1-00
(
ADLA
ADLA
ADLA
Add Logical to A-Register
035 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) + C(Y) --> C(A): C(Y) unchanged
EXPLANATION:
This in~truction is identical to ADA with the exception that
the overflow indicator is not affected and an Overflow fault
does not occur. Operands and results are treated as
unsigned, positive binary integers.
ILLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(A) = 0, then ON: otherwise, OFF
= 1,
Negative -
If C(A)O
carry
If a carry out of bit 0 of C(A) is generated,
then ON: otherwise, OFF. When the carry
indicator is ON, the range of A has been
exceeded.
.
-
then
ONi
otherwise, OFF
(
8-43
DZ51-00
ADLAQ
ADLAQ
ADLAQ
Add Logical to AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(AQ)
+
037 (0)
C(Y-pair) -> C(AQ); C(Y-pair) unchanged
This instruction is identical to ADAQ except that the
overflow indicator is not affected and an overflow fault does
not occur. Operands and results are treated as unsigned,
positive binary integers.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI I SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
Negative -
If C(AQ) = 0, then ONi otherwise, OFF
'\
If C(AQ)O = 1, then ON; otherwise, OFF
/
carry
NOTE:
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF. When the carry
indicator is ON, the range of AQ has been
exceeded.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-44
DZ5l-00
ADLQ
ADLQ
ADLQ
(
Add Logical to Q-Register
036 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C
C(Q); C(Y) unchanged
If C(Q) = 0, then ON; otherwise, OFF
If C(Q)o = 1, then ON; otherwise, OFF
If a carry out of bit 0 of C(Q) is generated,
then ON; otherwise, OFF. When the carry
indicator is ON, the range of Q has been
exceeded.
8-45
DZ5l-00
ADLR
ADLR
ADLR
Add Logical Register to Register
435
(1)
FORMAT:
1 1
7 8
000
Not Used
CODING FORMAT:
1
I
8
16
ADLR
Rl, ,R2
OPERATING MODES:
Executes in ES mode only
SUMMARY:
Rl, R2
C(Rl)
= 0,
+
222 3 3
789 1 2
OP CODE
II I I
NEZ
3
5
R2
I
1, 2, 3, 4, 5, 6, 7, A, Q
C(R2)
ILLEGAL ADDRESS
MODIFlCATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
-> C(Rl); C(R2) unchanged
The address modification is not executed.
I LLEGAL EXECUTES: Execution in NS mode
I NDl CATORS:
NOTES:
Zero
-
= 0,
If C(Rl)
= 1,
then ON; otherwise, OFF
Negative -
If C(Rl)O
carry
If a carry out of bit 0 of C(Rl) is generated, then
ON; otherwise, OFF.
1.
-
then ON; otherwise, OFF
IPR fault occurs if illegal repeats are executed or if the
instruction is executed in NS mode.
An
2. Refer to Register to Register Instructions in section 7 for a
description of the fields in the instruction word.
8-46
DZ51-00
(
ADLXn
ADLXn
ADLXn
Add Logical to Index Register !!
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,1 ••• ,
C(X!!)
+
7 as determined by op code
C(Y)O-17 -> C(X!!); C(Y) unchanged
ES Mode
For n = 0,1 ••• , 7 as determined by op code
C(GXn) + C(Y)
EXPLANATION:
(
-> C(GXn); C(Y) unchanged
This instruction is identical to ADX!! with the exception that
the overflow indicator is not affected and an Overflow fault
does not occur. Operands and results are treated as
unsigned, positive binary integers.
ILLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL of ADLXO
I NDI CATORS:
Zero
NOTES:
-
If C(X!!)/(GXn) = 0, then ON: otherwise, OFF
= 1,
Negative -
If C(Xn)/{GXn)o
carry
If a carry out of bit 0 of C(Xn)/(GX!!) is
generated, then ON: otherwise, OFF. When the
carry indicator is ON, the range of Xn/GXn been
exceeded
-
1. All data is handled as
for the NS mode.
a when
then ON: otherwise, OFF
DL modification is specified
2. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-47
DZSl-OO
ADO
ADQ
ADO
Add to Q-Register
076 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C Co
Overflow -
I f range of Q is exceeded, then ON
carry
If a carry out of bit 0 of C C(R1): C(R2) unchanged
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mod,e
I NDI CATORS:
Zero
If C(R1)
= 0, then ON: otherwise, OFF
Negative -
If C(R1)0 = 1, then ON: otherwise, OFF
Overflow -
If the range of R1 is exceeded, ON.
carry
NOTES:
-
1.
-
If a carry out of bit 0 of C(R1) is generated,
then ON: otherwise, OFF.
I PR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
An
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
8-49
DZ51-00
ADXn
ADXn
Add to Index Register n
06n 10)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
NS Mode
For n
= 0,
C(Xn)
+
1 ••• , or 7 as determined by op code
C(Y)0-17--> C(Xn}: C(Y) unchanged
ES Mode
For n
= 0,
C(GXn)
+
1 ••• , or 7 as determined by op code
C(y)--> C(GXn): C(Y) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL of ADXO
I
NDI CATORS:
NOTES:
Zero
-
If C(Xn)/(GXn)
/
= 0,
= 1,
then ON: otherwise, OFF
Negative -
If C(Xn)/(GXn)o
then ON: otherwise, OFF
Overflow -
I
carry
If a carry out of bit 0 of C(~/GXn) is
generated, then ON: otherwise, OFF
f range of Xn/GXn is exceeded, then ON
1. All data is handled as 0 when DL modification is specified
in the NS mode.
2. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-50
DZ5l-00
(
ALR
ALR
ALR
A-Register Left Rotate
775 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
NS Mode
Rotate C(A) left the number of positions indicated by bits
11-17 of Y (Y modulo 128); enter each bit leaving bit
position 0 in bit position 35.
ES
Mode
Rotate C(A) left the number of positions indicated by bits
27-33 of Y (y modulo 128): enter each bit leaving bit
position zero in bit position 35.
(
The rotate count in the instruction must be a decimal
number. To "right-rotate" n bits, use ALR 36-n.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero -
a, SC,
If C(A)
Negative NOTE:
SCR
= 0,
If C(A)O
then ON: otherwise, OFF
= 1,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-51
DZ51-00
ALS
ALS
ALS
A-Register Left Shift
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
NS Mode
735 (0)
Shift C(A) left the number of positions indicated by bits
11-17 of Y (y modulo 128); fill vacated positions with zeros.
ES Mode
Shift C(A) left the number of positions indicated by bits
27-33 of Y (y modulo 128); fill vacated positions with zero.
The shift count in the instruction must be a decimal number.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC,
I LLEGAL REPEATS:
RPL
INDICATORS:
Zero
-
Negative carry
NOTE:
-
SCR
-"
= 0, then ON; otherwise, OFF
C(A)O = 1, then ON; otherwise, OFF
If C(A)
If
If C(A}O changes during the shift, then ON;
otherwise, OFF. When the carry indicator is ON,
the algebraic range of A has been exceeded.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-52
DZ51-00
(
ANA
ANA
ANA
AND to A-Register
375 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
=0
to 35, C(A)i AND C(Y)i --> C(A)i:
C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
Negative -
If C(A)
If C(A)O
= 0,
= 1,
8-53
then ON; otherwise, OFF
then ON; otherwise, OFF
DZ51-00
ANAQ
ANAQ
ANAQ
377 (0)
AND to AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
=0
to 71, C(AQ)i AND C(Y-pair)i --> C(AQ)i:
C(Y-pair) unchanged
LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
I
-
Negative NOTE:
= 0, then ON: otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
If C(AQ)
If
An Illegal Procedure fault occurs if illegal address
modification is used.
8-54
)
DZ5l-00
ANQ
ANQ
ANQ
AND to Q-Register
376 <0>
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
ILLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero
=0
-
Negative -
to 35, Ci AND C(Y)i
-->
C(Q>i:
= 0, then ON: otherwise, OFF
CO = 1, then ON: otherwise, OFF
If C
C(Rl)I
i
= 0,
3
5
II I MHZ I R2 I
1, 2, ••• , 35
C( R2) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CA'l'ORS:
Zero
-
Negative NOTES:
1.
If C(R1) = 0, then ON; otherwise, OFF
If C(Rl)O
= 1,
then ON; otherwise, OFF
IPR fault occurs if illegal repeats are executed or if
the instruction is executed in ItS mode.
An
2. Refer to Register to Register Instructions in Sectiqn 7
for a description of the fields in the instruction word.
8-56
DZ51-00
ANSA
ANSA
.1
AND
ANSA
355 (0)
Single-word instruction format (see Figure 8-1)
FORMAT:
OPERATl NG
to Storage from A-Register
MODES:
SUMMARY:
Any
For i
=0
to 35, C(A)i AND C(Y)i --> C(Y)i:
C(A) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS:
zero
-
Negative -
(
NOTE:
If C(Y) = 0, then ON: otherwise, OFF
If C(Y)O
= 1,
then ON: otherwise, OFF
An I llegal Procedure fault occurs if illegal address
modification or if an illegal repeat is used.
(~
8-57
DZ51-00
ANSQ
ANSQ
ANSQ
AND to Storage from Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY
For i = 0 to 35, C(Q)i AND C(Y)i --> C(Y)i;
356 (0)
C(Q) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
RPL
I NDI CA'I'ORS :
Zero
a,
SC, SCR
-
If C(Y)
Negative NOTE:
If C(Y)o
= 0,
= 1,
then ON; otherwise, OFF
then ON: otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-58
DZ51-00
.~\
(
ANSXn
ANSXn
AND to Storage from Index Register
n
FORMAT:
Single-word instruction fonnat (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
For i
= 0, 1, ••• , 7 as determined
= 0 to 17, C(Xn)i AND C(Y)i
34n (0)
by op code
--> C(Y)i:
C(Xn} and C{Y)18-35 unchanged
ES Mode
For n
For i
= 0, 1, ••• , 7 as determined by op code
= 0 to 35, C(GXn}i AND C(Y)i --> C(Y)i;
C(GXn ) is unchanged.
(
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL, RPT, or RPD of ANSXO
I NDI CATORS:
NS Mode
Zero
-
Negative -
If bits C(Y}0-17
If C(Y}O
= 1,
= 0,
then ON; otherwise, OFF
then ON; otherwise, OFF
ES Mode
. Zero
-
Negative NOTE:
= 0, then ON; otherwise, OFF
C(Y)O = 1, then ON; otherwise, OFF.
If C(Y)
If
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-59
DZ51-00
ANXn
ANXn
'", . .J
AND to 1ndex 'Reg ister n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATl NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,
.j
36n(O)
1, ••• , or 7 as determined by op code
For i = 0 to 17, C C(Xn)i
ES
Mode
For n
For i
I LLEGAL ADDRESS
= 0, 1, ••• , or 7 as determined by op code
= 0 to 35, C(GXn)i AND C(Y)i --> C(GX)i
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL of ANXO
I NDI CATeRS:
NS Mode
zero
-
Negative -
;'
If C(Xn) = 0, then ON; otherwise, OFF
If C C(Y)
I LLEGAL ADDRESS
MODI Fl CATIONS:
DU, DL, CI,
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
NOTE:
SCR
If C(Y)
= 0,
= 1,
then ON; otherwise, OFF
Negative -
If C(Y)O
Overflow -
If range of Y is exceeded, then ON
carry
(
-
st,
-
then ON; otherwise, OFF
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-61
DZ51-00
ARAn
ARAn
Address Register n to Alphanumeric Descriptor
FORMAT:
Single-word instruction format (see Figure 8-1)
CODI NG FORMAT:
1
OPERATI NG MODES:
Any
SUMMARY:
For n
8
16
ARA!!
LOCSYM, RM, AM
= 0,
1, ••• , or 7 as determined by op code
C(ARn)0-17 --> C(Y)0-17
/trans1ated\
C(ARn)18-23 > C(Y)18-20
C(Y)21-35 unchanged
EXPLANATION:
This instruction is the converse of AARn. The alphanumeric
descriptor is fetched from the computed effective address Y.
The TA field code is examined to determine the type of data.
Bits 18-23 of ARn are appropriately translated and replace
bits 18-20 of the descriptor, and the word address (0-17) of
ARn replaces bits 0-17. The updated descriptor is then
stored back into location Y.
I LLEGAL ADDRESS
MODI F1 CATIONS:
DU, DL, CI, SC, 50
I LLEGAL REPEATS:
RPD, RPT, RPL
I LLEGAL EXECUTES: Execut ion in ES mode
I NDI CATORS :
None
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used, or if the
descriptor TA field contains code 11.
2. AN IPR fault occurs if an attempt is made to execute this
instruction in the ES mode.
8-62
DZ51-00
f
ARAn
ARAn
EXAMPLE:
1
8
16
32
ARA6
DESCR
AR6 octal contents - 5 0 1 0 2 4 0 7
, ,4
memory contents in octal
5 0 1 0 2 4 0 0 0 0 0 4 - DESCR after
DESCR ADSC9
(
8-63
DZ51-00
ARL
ARL
ARL
A-Register Right Logical Shift
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
771 (0)
Shift C(A) right the number of positions indicated by bits
11-17 of Y (y modulo 128); fill vacated positions with zeros
ES
Mode
Shift C(A) right the number of positions indicated by bits
27-33 of Y (y modulo 128); fill vacated positions with zeros.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS :
Zero
\
-
Negative NOTES:
= 0, then ON; otherwise, OFF
C(A)O = 1, then ON; otherwise, OFF
If C(A}
If
1. The shift count in the instruction must be a decimal
number.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-64
DZ5l-00
ARNn
ARNn
Address Register
FORMAT:
CODING FORMAT:
n to Numeric Descriptor
Single-word instruction format (see Figure 8-1)
1
OPERATING MODES:
Any
SUMMARY:
For n
8
16
ARNn
LOCSYM, RM, AM
= 0,1, ••• ,7
as determined by op code
C{ARn)0-17 --> C(Y}0-17
/trans1ated\
C(ARn)18-23
---------->
C(Y)18-20
Bits 21-35 of C(Y) unchanged
(
EXPLANATION:
This instruction is the converse of NARD. The numeric
descriptor is fetched from the computed-effective address Y
and the TN field bit is examined. Bits 0-17 of ARn replace
the descriptor bits 0-17. Bits 18-23 of ARn are
appropriately translated and replace bits 18-20 of the
descriptor. The updated descriptor is then stored back in
location Y.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
None affected
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
2. An IPR fault occurs if an attempt is made to execute this
instruction in ES mode.
(
8-65
DZ51-00
ARS
ARS
j
A-Register Right Shift
ARS
731 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
NS Mode
Shift C(A) right the number of positions indicated by bits
11-17 of Y (y modulo 128): fill vacated positions with bit 0
of C(A).
ES
Mode
Shift C(A) right the number of positions indicated by bits
27-33 of Y (y modulo 128): fill vacated positions with bit 0
of C(A).
I LLEGAL ADDRESS
MODI FI CATIONS:
ILLEGAL
REPEATS:
INDICATORS:
DU, DL, CI, SC, SCR
RPL
Zero
-
Negative NOTES:
If C(A)
= 0,
then ON; otherwise, OFF
If C(A)O = 1, then ON; otherwise, OFF
1. The shift count in the instruction must be a decimal
number.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-66
DZS1-00
(
ASA
ASA
ASA
Add To Storage From A-Register
055 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) + C(Y) -> C(y); C(A)
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If
C(Y)
Negative -
If
C(Y)O
Overflow -
I f range of Y is exceeded, then ON
carry
NOTE:
= 0,
unchanged
-
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
If a carry out of bit 0 of
then ON: otherwise, OFF
C(Y)
is generated,
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(~
8-67
DZ5l-00
ASQ
ASQ
ASQ
Add To Storage From Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C C(Y); C C(Y)0-17: C(Xn) and C(Y)lB-35 unchanged
ES Mode
For n
= 0,1, ••• ,7
as determined b¥ op code
C(GXn) + C(y} -> C(Y); C(GXn) unchanged
(
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL of ASXO
INDICATORS:
NS
Mode
Zero
-
If C(Y)0-17 = 0, then ON; otherwise, OFF
Negative -
If C(Y)O = 1, then ON: otherwise, OFF
Overflow -
If range of YO-17 is exceeded, then ON
Carry
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
-
('
B-69
DZ5l-00
ASXn
ASXn
I NDI CATORS:
ES Mode
Zero
NOTE:
-
If C(Y) = 0, then ON; otherwise, OFF
= 1,
Negative -
If C(Y}O
Overflow -
If range of Y is exceeded, then ON
carry
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
-
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
,/
8-70
DZ51-00
"\
(
AWCA
AWCA
AWCA
071 (O)
Add with Carry to A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
If carry indicator is OFF, then C(A)
C(y) unchanged
If carry indicator is ON, then C(A)
C(A): C(Y) unchanged
EXPLANATION:
+
+
C(Y) --> C(A):
C(Y)
+
00 ••• 01 -->
This instruction operates similarly to the ADA instruction
except that if the carry indicator is ON prior to the
execution of the instruction, a 1 is added to the least
significant position of the A-register.
This instruction is intended for use with mu1tiword precision
binary arithmetic and for calculating checksums. The
positive 1 added when the carry indicator is ON represents
the carry from the next less significant word of the
multiword addition.
(
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(A) = 0, then ON: otherwise, OFF
Negative -
If C(A)O = 1, then ON; otherwise, OFF
Overflow -
I
carry
If a carry out of bit 0 of C(A) is generated,
then ON: otherwise, OFF
-
f range of A is exceeded, then ON
8-71
DZ51-00
Awe}.
AWCA
(Checksum calculation)
EXAMPLE:
1
8
16
LDI
LDA
EAX2
EAX3
RPDA
=11324,DL
INCARD
INCARD+2
=0
22,1
0,2
0,3
INCAAD+l
ADLA
AWCA
CMPA
TNZ
ERROR
LDI
=0500000,DL
32
8-72
DZ51-00
(
AWCQ
AWCQ
AWCQ
Add with carry to Q-Register
072 (0)
FORMAT:
Single-word instruction format
+
C(Q>;
00 ••• 01 --> C
= 0,
= 1,
then ON; otherwise, OFF
Negative -
If C(Q)O
Overflow -
I f range of Q is exceeded, then ON
carry
If a carry out of QO is generated, then ON;
otherwise, OFF
-
8-73
then ON; otherwise, OFF
DZ5l-00
AWCQ
AWCQ
(Triple-precision Binary Fixed-point Addition)
EXAMPLE:
1
8
16
32
STI
LXLO
ANXO
STXO
LDA
ORSA
LDI
C
save overflow and overflow mask
LDQ
ADLQ
STQ
LDQ
REST
AWCQ
STQ
STI
LDA
ANA
ORA
STA
LDI
LDQ
C
=OO44000,DU
REST
=lB24,DL
set overflow mask ON
C
C
A+2
B+2
C+2
A+l
B+l
C+l
add low-order bits
C
restore overflow and overflow mask
add intermediate bits
=0733777,DL
C
**,DL
C
C
A
AWCQ
B
STQ
C
add high-order bits
~,
8-74
DZ51-00
;/
(
AWD
AWDX
AWD
AWDX
AWD
AWDX
FORMAT:
CODING FORMAT:
Add Word Displacement to Address Register
507
(1)
Special arithmetic instruction format (see Figure B-3)
16
8
1
{AWD }
{AWDX}
word displacement,R,AR
When the mnemonic is coded with X (AWDX), bit 29 is forced to
zero.
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
If bit 29
= 0:
If bit 29 = 1:
y + C(DR} --> ARnO-17
C(ARn)0-17 + y + C(DR) --> ARnO-17
In either case, zeros --> ARn1B-23
ES
Mode
If bit 29 = 0:
If bit 29
= 1:
[(se)y + C(DR)]6-35 --> C(AR)0-29
[(se)C(ARn)
C(AR)0-29
+
(se)y
+
C(DR)]6-35 -->
(se) indicates sign extension.
In either case, zeros --> ARn30-35
EXPLANATION:
NS Mode
The y field (with bit 3 extended) is added to the contents of
the register specified by the code in the DR field. Then, if
bit 29 = 0, this value replaces bits 0-17 of the AR specified
by bits 0-2 of the y field. If bit 29 = 1, this value is
added to bits 0-17 of the specified AR and the resulting sum
is stored in bits 0-17 of the specified AR. In either case,
bits 18-23 of the specified AR are zeroed.
(
8-75
DZ51-00
AWD
AWDX
AWD
AWDX
ES Mode
The y field (with bit 3 extended) is added to the contents of
the register specified by the code in the DR field. Then, if
bit 29 = 0, this value replaces bits 0-29 of the AR specified
by bits 0-2 of the y field. If bit 29 = 1, this value is
added to the sign extended value of the specified AR bits
0-29 and the sum loaded into the specified AR bits 0-29. In
either case, bits 30-35 of the specified AR are zeroed.
ADDRESS
MODIFICATIONS:
DU, DL, and Ic specified in DR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
I LLEGAL
EXAMPLES:
(Example applies to NS mode only)
32
1
8
16
FLDl
BOOL
20100
FLPl
0,4,7
2,,7
X4 octal contents
AR7 octal contents AR7 octal contents -
10000
FLD2
512
0,2,4
1,3,4
X2 octal contents
X3 octal contents
AR4 octal contents AR4 octal contents -
./
EAX4
AWDX
AVID
FLD2
. BOOL
EAX2
EAX3
AWDX
AVID
- o2 0 1 0 0
-
-
8-76
020 1 0 0 0 0
o2 0 1 0 2 0 0
010
001
010
011
0 0 0
000
0 0 0 0 0
001 0 0
DZ5l-00
(
BCD
BCD
BCD
Binary-to-BCD Convert
505 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
Shift C(A) left 3 positions;
IC(A)I / C(Y} --> 4-bit quotient;
C(A) - ( C(Y) * quotient) --> remainder
1
Shift C C(Q)30-31
4-bit quotient --> C C(A)
EXPLANATION:
(
The BCD instruction carries out one step of an algorithm for
the conversion of a binary number to the equivalent
binary-coded decimal, which requires the repeated short
division of the binary number or last remainder by a 36-bit
constant from memory.
ci
= 8i *
10n- i (for i
= 1,
2, ••• ),
with n being defined by 10n-1 ~ I number
~ 10n- 1
For base K other than 10:
ci
= 8i *
Kn-l, where Kn-1 ~ I number
I
~ Kn-1.
One 6-bit character is produced each time the BCD instruction
is executed. The character produced represents a decimal
digit from 0 to 9.
(
The BCD instruction converts the magnitude of the contents of
the accumulator to the binary-coded decimal equivalent. The
method employed is to effectively divide a number by a
constant, place the result in bits 30-35 of the quotient
register, and leave the remainder in the accumulator. The
execution of the BCD instruction allows the user to convert a
binary number to BCD, one digit at a time, with each digit
coming from the high-order part of the number. The address
of the BCD instruction refers to a constant to be used in the
division; a different constant is needed for each digit. In
the process of the conversion, the number in the accumulator
is shifted left three positions. The quotient register is
shifted left six positions before the new digit is stored.
8-77
DZ51-00
BCD
BCD
The values in Table 8-1 are the conversion constants to be used
with the binary-to-BCD instruction. Each vertical column
represents the set of constants to be used depending on the
initial value of the binary number to be converted to its decimal
equivalent. The instruction is executed once per digit, using
the constant appropriate to the conversion step with each
execution.
alternate use of the table for conversion involves the use of
the constants in the row corresponding to conversion step 1. If,
after each conversion, the contents of the accumulator are
shifted right three positions, the constants in the conversion
step 1 row may be used one at a time in order of decreasing value
until the conversion is complete.
An
Table 8-1.
Starting
Range
-10
of
10
Binary-to-BCD COnversion COnstants
+1->
10 10 -1
C(AR)
-10
9
_10 8 +1 ->
+1->
10 8 -1
10 9 -1
,
-10 +1 ->
10 '_1
... /
1
8 ' )( 10 9
8 • 10 8
8 • 10 7
8 • 10 6
2
8 2 )( 10 8
8 2 • 10 7
8 2 )( 10 6
82
Conversion
3
8 3 x 10 7
8 3 • 10 6
8 3 • 10 5
8 3 x 10 4
Step
4
8 4 • 10 6
8 4 x 10 5
84
• 10 4
84
5
8 5 x 10 5
8 5 • 10 4
85
• 10 3
8 5 )( 10 2
6
8 6 x 10 4
8 6 • 10 3
8 6 x 10 2
8 6 x '0
'
7
8 7 • 10 3
87
8 7 x 10 '
8'
It
10 2
x 10 5
It
10 3
;
8
8 8 x 10 2
88 • 10 1
9
8 9 x 10 '
89
10
88
8 '0
8-78
DZ5l-00
(
BCD
BCD
Table 8-1 (cont). Binary-To-BCD Conversion Constants
_10 6 +1 ->
10 6 -1
-10 5 +1 ->
_10 4 +1
->
10 3 _1
10 4 -1
10 5 -1
_10 3 +1 ->
-10 ' +, ->
10 2 _1
8 ' x 10 5
8 x 10 4
8 x 10 3
8 x 10 2
8 x 10 '
8 2 x 10 4
8 2 • 10 3
8 2 x 10 2
8 2 x 10'
82
8 3 x 10 3
8 3 x 10 2
8 3 x 10'
83
8 4 x 10 2
8 4 • 10 '
84
8 5 x 10 '
85
-10 ' +1
->
10' -1
8
86
I LLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
Negative NOTES:
If C(A)
= 0,
then ON; otherwise, OFF
If prior to execution bit 0 of C(A) = 1, then ON;
otherwise, OFF
1. The largest number that can be converted with the BCD
instruction is that represented by 33 bits.
2. A 6-bit character is generated in the Q-register each time
this instruction is executed.
3. The generated character represents one digit of the values
0-9.
4. One full 36-bit word cannot be directly converted by the
BCD instruction.
5. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-79
DZ5l-00
BCD
BCD
EXAMPLE:
1
8
16
LOA
LDQ
BCD
BCD
=15,DL
O,DL
=80,DL
=64,DL
8-80
DZ51-00
BTD
BTD
BTD
Binary-to-Decima1 Convert
301 (1)
FORMAT:
I pi
0
0
1 1
7 8
1 1
o1
0 0
0 1
0---------0
I
MF2
1 1
7 8
Yl
II I
1 1
7 8
1 1
o1
Y2
CODING FORMAT:
3
5
Nl
N0
1
0
222 2 2
0 1 234
N S2
2
Yl
2 3
3
5
N2
0------ 0
00
1
8
B10
NDSC9
NDSCg
R1
9 0
T
CN2
I
MFl
00
0
2
AR#
3
5
2 3
9 0
o1
Y1
AR#
o
2 2
2 2 2
7 8 9
T
CNI
o
301(1)
I
1 1
o1
0
2
Op Code
R2
16
(MF1),(MF2),P
LOCSYM, CN , N, , , AM
LOCSYM,CN,N,S"AM
(Refer to Section 7 under Mu1tiword Instructions for description
of Multiword Modification Field.)
(
8-81
DZ51-00
BTD
BTD
OPERATING MODES:
Any
SUMMARY:
converted
C(string 1) ---------> C(string 2)
EXPLANATION:
The two's complement binary integer starting at location YC1
is converted into a signed string of decimal characters of
data type TN2, sign and decimal type 52 (52 = 00 is
illegal), and scale factor 0: and is stored,
right-justified, as a string of length L2 starting at
location YC2. If the string generated is longer than L2,
the high-order excess is truncated and the overflow
indicator is set. If strings 1 and 2 are not overlapped,
the contents of string 1 remain unchanged. The length of
string 1 (Ll) is given as the number of 9-bit segments that
make up the string. L1 is equal to or is less than B.
Thus, the binary string to be converted can be 9, 1B, 27,
36, 45, 54, 63, or 72 bits long. CN1 designates a 9-bit
character boundary. If P=1, positive signed 4-bit results
are stored using octal 13 as the plus sign. If P=O,
positive signed 4-bit results are stored with octal 14 as
the plus sign.
ILLEGAL ADDRESS
MODI FI CATI ON5:
DU, DL for NFl and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Zero
NOTES:
-
If the result is zero, then ON: otherwise, OFF
Negative -
If the resultant sign is negative, then ON;
otherwise, OFF
Overflow -
If L2 is less than the length of the string
generated, then .ON; otherwise, unchanged
1. An Illegal Procedure fault occurs if DU or DL
modification is used for NFl or MF2 or if an illegal
repeat is used.
2.
IPR fault occurs if L1 is less than 1 or greater than
B, if CN1 does not contain a legal code, if 52 = 00, or
if N2 is not large enough to specify at least one digit
excluding sign.
An
8-82
DZ51-00
(
BTD
BTD
EXAMPLES:
1
8
BTD
NDSC9
NDSC9
USE
FLDI
DEC
FLD2
BSS
USE
BTD
NDSC9
NDSC9
USE
FLDl
FLD2
DEC
BSS
USE
16
32
FLDl,2,2
FLD2,0,4,1
CONST.
-512
binary operand descriptor
decimal operand descriptor
memory contents in octal
7 7 7 7 7 7 7 7 7 000
o 5 5 0 6 5 0 610 6 2
any indicators set?
negative
1
FLDl,3,1
FLD2,1,3,2
CONST.
255
1
binary operand descriptor
decimal operand descriptor
memory contents in octal
o 0 0 000 0 0 0 3 7 7
o 0 0 0 6 506 5 0 5 3
any indicators set?
overflow
(
8-83
DZ51-00
CAMP
CAMP
Clear Associative Memory Pages
532 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode.
EXPLANATION:
This instruction provides the capability to set the PTWAM ON
or OFF, to clear the entire PTWAM, and to selectively clear
the PTWAM. The instructions options are based on the
instruction word tag, the effective address bits 16, and 17,
and the ON/OFF state of the PTWAM.
When the instruction tag = 00 the following is executed
within the CPU that is executing the instruction.
o When PTWAM is ON
If EA16,17
= 00
or 10, the PTWAM is cleared.
If EA16 17 = 01, the PTWAM is set OFF:
the PTWAM is not cleared.
If EA16,17
= 11,
the PTWAM is not affected.
o When PTWAM is OFF
If EA16 17 = 10, the PTWAM is cleared:
the PTWAM is set ON.
If EA16,17
= 00,
01, or 11, the PTWAM is not affected.
When the instruction word tag = 01 a selective clear is done
within the processor that executes this instruction according
to the contents of the A and Q registers.
8-84
DZ51-00
(
CAMP
CAMP
0
0
C(A)
I
2 3
9 0
I VA(25-30) I
Reserved for Hardware Use
0
0
C Connect
Word 1
Abs. Addr. YO-27//0028-35 ---> Connect Word 2
C(A)O-8
C(A)9-17
C(A)l8-35
=
=
=
a control field
unused
a logical channel number and a table entry
When C{A)18-35
EXPLANATION:
= 0-7,
the logical channel number field
= O.
A double-word write to the designated control SCU occurs.
The SCU stores the double-word in the port connect queue and
informs the receiving port. The double-word is formed from
the contents of the CPU A register, an entry in the CPU
scratch pad, and the developed absolute address. The scratch
pad content known as the connect table, consists of twelve
12-bit entries. The connect table is created external to
software at initialization time.
The connect table entries are selected based on the contents
of A18-35 as follows.
C(A)lS-35
0-3
4
5
6
7
8-135
136-263
264-391
392-519
Recv'g
Unit
Log. Chan. No.
Unused
CPU-O
CPU-1
CPU-2
CPU-3
IMX-O
IMX-l
IMX-2
IMX-3
N/A
N/A
N/A
N/A
N/A
0-127
0-127
0-127
0-127
Table Entry
Number
4-7
8
9
10
11
0
1
2
3
// ""
~-j
8-92
DZ5l-00
(
croc
croc
The connect table entries are located in the PATROL half of
scratch pad memory at locations 74-77. A secondary connect
table is located at 0-3 and is used to support system
component reconfiguI·ation. These entries define the
following:
SCU PORT
-
Port and queue number of the unit that is to
receive the connect
IMX ID
-
Used by the central systems software
ID
-
Reserved for the central systems software
-
Valid connect word; 1
SYS
VALID
= valid.
The four primary entry words contain three 12-bit scratch
entries in bits 0-11, 12-23, and 24-35. The format of the
scratch pad data follows:
o
o
o
0
2 3
o
o
'0
4
5
6
1
2
1
4 5
1
6
1
7
222
2
2
1
o
0
7 8
1
1
1
e
1 2
9 0
2
3
3
3 3
3
SYS
3
1
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL,
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
cr,
1
1
2
ID
4
SC, SCR
8-93
DZ5l-00
CIOC
CIOC
NOTES:
1.
An IPR fault occurs if the use of this instruction is
attempted by a processor in the Slave mode or Master mode.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
3. If the VAlJD bit in the connect table entry does not equal
1, a Command fault occurs.
4. The developed absolute address points to a 24-word mail
box in main memory beginning at a 0 mod 8 address. The
entire mailbox must reside within the same page. The
first 8 words of this mailbox contain the basic
information needed to execute the I/O, including a List
Pointer Word (LPW) that points to the relative address of
a Data Control Word (OCW) list. The new list is located
in main memory. The mailbox also provides four different
base addresses or Pointer Words (PTW) and related
size/bounds information to be applied to the address
fields of the various control words during address
develoipment by the IMX. There may also be an optional
"link word" to another mailbox.
Upon termination of any I/O, the IMX stores the
termination status word, DeW residue information, LPW
residue, word counts, and extended status in the same
24-word mailbox. Table 8-6 illustrates the format of the
standard mailbox for an indirect channel.
8-94
DZ5l-00
" /
(
CIOC
CIOC
Word 0
1
2
3
4
5
6
7
8
9
10
11
o
Pointer
Pointer
Pointer
Pointer
Size 0
Size 2
to
to
to
to
PTW
PTW
PTW
PTW
17 18
List or
List or
List or
List or
35
Base
Base
Base
Base
I
I
Address
Address
Address
Address
Size
Size
0
1
2
3
1
3
Channel Link Word
LPW
Subsystem Status Word
LPW Residue
LPW Used to Fetch Last I DCW
DCW Residue
Data Count Since Last IDCW
Data Count for Total 1/0
12
13
14 1111////////////1/////////////////////////////////////////////
15 //////////////////////////////////////////////////////////////
16
17
18
Extended Status
19
20
21
(
22
23
Figure 8-6.
Standard I/O Mailbox
8-95
DZ5l-00
CLIMB
CLIMB
Domain Transfer
CLIMB
I
713
(1)
FORMAT:
1 1
7 8
0
0
Op
222 3
789 0
IrH
713(1)
ADDRESS
I
Code
1
o1
o0
o1
H
p
2 2
3 4
C
UNUSED
1
1
5
TAG
1
First Word
1 1
7 8
9 0
3
1
2 2
3
5 6
5
sl
D
second Word
1
The first word has the standard single-word instruction format (see Figure
8-1). The second word of the CLIMB instruction contains four control fields: C
(actually made up of two fields, C22-23 , and C18-19), E and P, and Sand D.
Bits 10-17 and 20-21 are not interpreted.
OPERAT! NG
MODES:
EXPLANATION:
Any
This instruction has four variations and performs functions
of call, return, and common routine calls both within the
same instruction segment and to a different instruction
segment and also within the same domain and to a different
domain reference.
The instruction word bit 28 (interrupt inhibit bit) does not
accept interrupt for three of the four functions whether it
is set to zero or to one. Bit 28 determines acceptance of
interrupt for the other function.
The AR bit (bit 29) specifies whether or not the address
register is to be used for generation of effective
addresses. The tag field is also for address generation.
8-96
DZS1-00
CLIMB
CLIMB
versions of the CLIMB instruction include:
Mnemonic
Meaning
IClJMB
(Inward CLIMB - CALL)
call another procedure which
may reside in another domain
OCLIMB
(Outward CLIMB -
Return to calling domain
RET)
GCLIMB
(Lateral Transfer -
LTRAS)
Transfer to another procedure
with passed arguments and
parameters which may reside in
another domain
PCLIMB
Transfer to another procedure
(Lateral Transfer - LTRAD) which may be in another domain
PMME
(System Entry CLI MB)
(
Privileged Master mode entry
(This is a form of Inward
CLIMB. )
The four control fields of the second word are defined as
follows:
C22,23
Instruction version
This field determines one of the five (counting PMME)
versions of the instruction to be executed:
00:
Inward CLIMB (ICLIMB) Version - functions as a CALL,
( i •e., a procedure invokes another procedure to .
accomplish a task and expects return of control from
that other procedure.) Additional descriptors may be
passed in a new parameter segment~ an empty argument
segment is created and placed in the argument stack.
The processor state is saved (safe stored) if the SSF
flag of the option register = 1. If S,D = 0,1760, this
is the PMME version (system Entry). If S,D F 0,1760,
this is the ICLIMB version.
01:
OUtward CLIMB (OCLIMB) Version (RET) - functions as a
return to the caller. The processor state is restored
to the last safe store frame.
8-97
DZ51-00
CLIMB
CLIMB
10:
Lateral Transfer with same Parameter and Argument
Segments (LTRAS). This version functions as an
unconditional transfer, giving the cal lee the same
visibility as the caller. The processor state is not
saved. LTRAS is also called GCLIMB.
11:
Lateral Transfer with new Parameter and Argument
Segments (LTRAD). This version functions the same as
the CALL version, except that the processor state is
not saved. LTRAD is also called PCLIMB.
The terms inward, outward, and lateral refer to use of the
stack segments. Inward means push the safe store frame on
the safe store stack (saving the present processor state),
frame a new parameter segment (PS), and open a new (empty)
argument segment (AS). OUtward means pop the safe store
frame off the safe store stack (restoring the former
processor state) and return PSR, ASR, LSR, ISR, IC, IR,
SEGID(IS), DSAR, and, if specified, ARO-AR7, SEGI DO-SEGI D7 ,
DRO-DR7, XO-X7, A, Q, E, and the Pointer/Length registers to
their prior settings. Lateral means leave the safe store
stack unchanged. The LTRAS version (10) keeps the PSR and
ASR unchanged, while the LTRAD version (11) activates new PSR
and ASR values in the same manner as an Inward CU ME.
C18
XO/GXO Control
For a CALL, LTRAS, or LTRAD, the C18 bit allows the caller
to load the effective address of the CLIMB instruction into
XO/GXO if C18 = 1 and if an entry descriptor is referenced
during execution of the CLIMB. For a RET, only the condition
C18 = 1 is required to load XO/GXO with the effective address
of the CLI ME. If C18 = 0, XO/GXO is not loaded, regardless
of CU ME vers ion.
If the mode changes during a CLIMB (CALL, LTRAS, and LTRAD)
the contents of XO or GXO are changed at the end of the
CU MB to track each other. If bit 18 of the C field of the
CLIMB instruction equals zero, or if the CUMB was not an
inter-domain transfer (an entry descriptor was not accessed)
the register modifications are as follows:
I
Mode Change
NS
to
ES
Register Load
o ->
C(GXO)O-17
C(XO) ---> C(GXO)1B-35
ES
to
NS
C(GXO)1835
8-98
--->
C(XO)
DZ5l-00
CUMB
CLIMB
If bit 18 of the C field equals 1 and the CUMB is a domain
transfer, the effective address specified by the CUMB is
loaded into Xo or GXO.
Register Load
Mode
NS to NS
BAO-17 - > C(XO)
ES to NS
BA16-33 - > C(XO)
NS to ES
o --->
C{GXOO>0-17
BAO-17 - > C(GXO )18-35
ES
to
ES
o --->
C{GXO>O-l
BAO-33 ---> C(GX)2-35
The XO or GXO loading is also done for a RETURN CUMB.
(
In any CLIMB or RETURN CLIMB instruction in which the mode
changes and the loading of Xn or GXn, (n = 1-7), is not
specified, the contents of these registers are undefined.
o C19, Slave Mode
For a CALL, LTRAS, or LTRAD, the C19 bit allows Slave mode to
For an RET, C19 is ignored. If the CLIMB is the
result of a fault interrupt, or invokes the System Entry
(PMME), the C19 bit is overridden, and the Master Mode
indicator is set.
be set.
Otherwise, for CALL, LTRAS, or LTRAD
if C19 = 0; 0 --->C(IR)28
if C19 = 1; no change to C(IR)28
If a CALL, LTRAS, or LTRAD attempts to transfer to a
privileged segment (flag bit 26 = 1) and C19 = 0, an SCL1 or
Security Fault, class 1 occurs.
8-99
DZ51-00
'
CLIMB
CLIMB
o E and P Argument Passing
The E and P fields are interpreted only for the ICLIMB
(CALL) and PCLIMB (LTRAD) versions of the CLIMB
instruction.
If E = 1, P+l descriptors are passed to the called
routine. These descriptors are either prepared (shrunk
and pushed onto the argument stack) by the instruction, or
found in a descriptor segment, depending on the contents
preset by the caller in ORO. When ORO refers to an operand
segment, a vector list is interpreted by the instruction
to prepare descriptors: when ORO refers to a descriptor
segment, the descriptors are in the segment. In both
cases, the PSR is loaded with a type 1 descriptor, framing
the P+l descriptors of parameters (or one parameter, if
the P field is zero).
If E = 0, no parameters are passed.
ignored.
The P field is
In both cases, the ASR is updated in such a way that it
locates the next available even-word location of the
descriptor stack. The bound field is set to zero. The
flag bit 27 is set to zero to indicate an empty segment.
Details related to the PSR and the ASR are provided later
in the CLIMB discussion.
The E and P fields are not interpreted for the RET and
LTRAS versions of the CLlMB instruction.
o S, D Field
For CALL, LTRAS, or LTRAD, this field indicates the origin
(SEGlD) of the the descriptor that determines the
destination of the CLIMB, or that the CLIMB is a System
Entry (PMME).
For the outward climb (RET), this field is ignored.
Instruction Variations
CLIMB variations determined by the settings in bits 22 and 23 of the
C field are described below. When the CLIMB instruction is executed,
a number of checks must be performed before the CPU state is altered.
8-100
DZ51-00
(
CLIMB
CLIMB
Inward CLIMB (CALL/ICLIMB) C field bits 22 and 23
= 00
1. The Sand D fields are interpreted in the same manner as the
Sand D fields of the vector in the LDDg instruction, except
that, in this instance, the values S = 0 and D = 1760 (octal)
define a PMME. If S = 0 and D = 1761 or 1763-1767 (octal), an
IPR fault occurs.
a. When S = 0, D = 17608, a special system entry is started
at the same level as fault and interrupt. Hardware
obtains the segment descriptor (this must be an Entry
Descriptor) from a fixed memory location. The Master Mode
indicator is always set to ON and the C field bit 19 is
ignored. After the entry descriptor is obtained from the
fixed memory location, execution of the CLIMB instruction
is continued as when a normal entry descriptor is
obtained. When there is no entry descriptor in the fixed
memory location, an IPR fault occurs.
b. If the CLIMB is a result of a fault or interrupt, this is
an interdomain transfer, requiring an entry descriptor,
which is obtained from locations in the operating system
as follows:
Interrupt: 30-31 octal
Fault:
32-33 octal
PMME:
34-35 octal
2. The CLIMB instruction Sand D fields are used to access the
specified segment descriptor segment or register and obtain
the segment descriptor. The referenced descriptor must be
one of the following types in order to continue execution of
the CLIMB instruction:
o Standard Descriptor (T
= 0)
o Descriptor Segment Descriptor (T
o Entry Descriptor (T
= 8,
=1
or 3)
9, or 11)
If the CLIMB instruction is a result of an interrupt, the
processor will attempt to obtain an entry descriptor from the
operating system location 30-31 (octal).
(
8-101
DZ5l-00
CLIMB
CLIMB
If the CLIMB instruction has not yet been linked to one of
the preceding descriptors, the obtained descriptor may be a
dynamic linking descriptor (T = 5). In this case, the CLIMB
instruction is terminated and a Dynamic Linking fault is
generated. All other descriptor types (T = 2, 4, 6, 7, 10,
or 12-15) terminate the CLIMB instruction and cause an IPR
fault.
Given a descriptor segment descriptor, an entry descriptor,
or a standard descriptor, the activity varies as follows:
a. Standard Descriptor' (T=O)
When the descriptor referenced by the S and D fields is a
standard descriptor, the CLIMB instruction is an
intradomain transfer and the linkage segment register is
not changed.
The obtained descriptor becomes the new instruction
segment descriptor. Flag bits 25, 27, and 28 are checked
and must be 1; otherwise, an appropriate fault occurs.
The base and bound are checked for modulo 32 bytes; if the
test fails, an IPR fault occurs.
b. Descriptor Segment Descriptor (T = 1 or 3)
When a type 1 or 3 descriptor is referenced by the Sand D
fields of the CLIMB instruction, the base of the type 1 or
3 descriptor is used as a pointer to an entry descriptor.
Flag bits 20, 27, and 28 must be 1 and the bound field
must be >= 7 bytes; otherwise, a Bound fault occurs. If
the obtained descriptor is not an entry descriptor nor a
dynamic linking descriptor, an IPR fault occurs.
If a dynamic linking descriptor is obtained, a Dynamic
Linking fault occurs.
c. Entry Descriptor (T = 8, 9, or 11)
When an entry descriptor is referenced by the S and D
fields of the CLIMB instruction (either directly or
indirectly), the CLIMB instruction is an interdomain
transfer. Entry descriptors may be of type T = 8, 9, or
11. The type of entry descriptor determines how much data
(register contents) will be safe stored, and how the
renewal of the pointer register will be processed.
(
8-102
DZ51-00
/
(
CLIMB
CLIMB
Using the entry descriptor, the new instruction segment
descriptor is obtained from the new linkage segment
described by the entry descriptor. The new linkage
segment is assumed to be present in real memory, because
the entry descriptor does not have a flags field to
indicate this, and the hardware attempts to obtain the new
instruction segment descriptor.
The obtained instruction segment descriptor must be a
standard descriptor with T = 0 and flag bits 25, 27, and
28 must be 1. If flag bit 25 is 0, a Security Fault,
Class 2 occurs: if flag bit 28 = 0, a Missing Segment
fault occurs: if flag bit 27 = 0, an STR fault occurs.
The hardware also checks the base and bound of the new
instruction segment descriptor for modulo 32 bytes; if the
test fails, the instruction terminates in an IPR fault.
If T is not 0, an IPR fault occurs.
3.
(
A
new parameter segment is prepared as described below.
The E bit of the second word of the ClJMB instruction is
checked. If the E bit = 0, the segment descriptor is not
passed (no parameter segment is prepared) and the operation
proceeds to the safe store.
If the E bit = 1, the segment descriptor is passed. The
operation that follows depends upon the type of the segment
descriptor in DRO. An IPR fault occurs if the type for this
segment is 3, 5, 7-11, 13 or 15.
a. Descriptor Type in DRO
=1
If the descriptor type contained in DRO is 1, the
descriptors to be passed as parameters have already been
prepared and are the last P+1 descriptors in this
descriptor segment. Thus, the hardware does not prepare
any descriptors but frames these last P+l descriptors with
the parameter segment register. I n this case, hardware
performs a bound check and if P + 111 > DRO, a bound fault
occurs.
b. Descriptor Type in DRO
= 0,
2, 4, 6, 12, or 14
If the descriptor type contained in DRO is 0, 2, 4, 6, 12,
or 14, the hardware prepares descriptors. The vector list
is located by pointer register zero (i.e., ARO and DRO
combined). The descriptor identified by the S and D
fields of each vector is obtained, prepared exactly as
described in the definition of the LDDn instruction, and
placed in the next available location In the argument
8-103
DZ51-00
CLIMB
CLIMB
segment as described in the defini~ion of the SDRn
instruction. This procedure is continued until all P+1
descriptors have been prepared and placed in the argument
segment. various faults may occur during this operation
as described in the definitions of the LDDn and SDRn
instructions. Note that a vector with an S-and D field of
S = 0, D = 1760 or 1761 (octal) causes an IPR fault: S and
D field values of S = 0, D = 1763 or 1764 (octal) require
that the processor be in Privileged Master mode (as
described in LDDn), which in this case refers to the
processor mode at the beginning of the CIJMB instruction.
If a vector specifies that a data stack descriptor is to
be formed and the associated bit in the option register
specifies that the stack space is to be cleared, the CLIMB
instruction performs the clear function.
If several data stack shrinks are specified, the second
and subsequent data stack shrink operations are performed
using the previously changed new value of the data stack
address register (DGAR).
4. Safe Store Operation
The safe store operation differs depending upon the type of
the segment descriptor referenced with the ICIJMB Sand D
fields. The size of the generated safe store frame and the
stored data is determined by the referenced segment
descriptor. The SSR base indicates the starting address of
the last frame of the stored data prior to this CIJMB. The
size of the last frame must therefore be added to the SSR
base before the new frame is stored. In relation to the SSR,
a 2-bit hardware control register, called the stack control
register (SCR) is used. The SCR contains a code indicating
the size of the last frame placed in the safe store
stack. (The SCR, is initialized to 112 or 102 (binary) when
the LDSS instruction is executed.} (Refer to details for the
LDSS instruction.) The following displays the flow of safe
store operation. When the safe store bypass flag (option
register bit 19) is ON (zero), safe store is bypassed and
processing proceeds to change the register contents as
described under Loading the Registers.
8-104
DZ51-00
CLIMB
CLIMB
a. The SSR base is increased, and the bound decreased, as
follows based on the SCR content.
SCR
SSR Base
SSR Bound
002
+16 words
-16 words
01 2
+24 words
-24 words
10 2
+80 words
-80 words
112
+64 words
-64 words
The SSR base indicates the start of the newly generated
safe store frame as a result of this operation.
NOTE: When hardware adds the SSR base, no check is
performed to check for carry. SOftware must ensure
that the base value initially loaded into the SSR is
not at the end of the working space.
(
A safe store stack fault occurs in conjunction with a
Inward (programmed) climb instruction, or in conjunction
with the wired-in CLIMB instruction that results from a
fault or interrupt. This fault indicates that the safe
store stack has only one or two 64-word frames remaining.
After completing the safe store on a Inward CLIMB (SSR
base and bound have been updat~), if the SSR bound < 239
+ 3 bytes, the hardware will not access the instruction
pointed bo by the new ISR and Ie, but will execute the
safe Store Stack fault. This causes another safe store
stack frame to be stored. This frame will contain the
"transferred to" domain registers from the inward CLIMB.
Word 5, bit 10 (SSSF) will be set to 1 and the fault code
in bits 12-16 of word 5 will be set to 00000.
When executing a fault or interrupt CLIMB, the hardware
updates the SSR base and bound while generating the safe
store frame, to determine whether a Safe Store Stack fault
should be indicated in the safe store frame with the
original fault or interrupt. If the SSR bound < 239 words
+ 3 bytes, the hardware will set word 5, bit 10 (SSSF) = 1
and leave the original fault code or interrupt cell number
in word 5, bits 12-16. The safestore Stack fault will not
be executed; a separate safestore stack frame will not be
stored.
8-105
DZ5l-00
CLIMB
CLIMB
NOTE: The operating system software must monitor word 5, bit
10 (SSSF) in each fault or interrupt frame in the safe
store stack and to initiate appropriate action whenever
this bit = 1.
b. The SCR content is saved in the new safe store frame.
c. The new SCR value is determined as follows, with the lower
two bits of the type field (T) of the first word of the
last segment descriptor referenced by the ClJMB
instruction S and D fields, and the value of bit 24 of the
ISR prior to the start of the CLIMB instruction.
T Field ISR Bit 24 SCR
o or
8
0 or 1
002
9
0 or 1
012
11
0
112
11
1
102
d. The amount of stored data (register content) is determined
by the SCR value at this time (as described in item c
above). The value of the SCR at this time is determined
by the type of segment descriptor referenced by this CLIMB
instruction and the ISR bit 24). As illustrated in
Figures 8-7 and 8-8, 16, 24, 64, or 80 words are stored in
accordance with the SCR content.
When the frame size is 64 or 80 words, the actual number
of words stored may depend on the state of the indicator
register bit 30 (multiword instruction interrupt or
fault). The processor hardware sets IR bit 30 = 1 when a
multiword EIS instruction is interrupted or faulted. IR
bit 30 may also be set to 1 by the operating system
software. The actual number of words stored when the
frame size is 64 words is 48 words, unless IR bit 30 = 1,
in which case 52 words are stored. When 52 words are
stored, the pointer and length registers are included in
the 64-word frame starting at word 48. Word 4, bit 30 is
stored as a 1, and then IR bit 30 is set to 0, as though
an SPL instruction had been executed.
e. Since the SCR is created by the hardware on the ICLIMB,
the mode and SCR should be consistent on the RETURN
CLIMB.
If software modifies the SCR content of the safe
store frame such that the mode, NS or ES, is inconsistent
with the safe store frame size, an IPR fault will occur.
8-106
DZ51-00
',,_ . ./
CLIMB
CLIMB
(11
o
01 00 <-SCR
0/1 0/1 <-ISR Bit 24
191Extended Fault Reaister
HWMR
0
•
CPU Fault Reqister
1
2
Imaae of Faultina Instruction
1
6
3 //////////////////////////////////////////////////
151////
IC
IR
4
18
6
2
SEGID 12
5 *11*21/////1*31*41 *5 10 RHUICP#ISCRI
1//////////////1
DSAR
EWSN# 9
W
6 17
4
7
Relative Virtual Address
0
r 8 - 9
ISR
W
0
d 10 - 11
ASR
r
s 12 - 13
LSR
d
PSR
• 14 - 15
16
ARO
SEGIDO
s
to
to
AR7
SEGID7
23
24
ORO
to
DR7
39
Xl
40
XO
41
X2
X3
42
X4
X5
43
X6
X7
44
A
45
0
J//////////////////////////////////////
46 8
E
1//////////
47 27
Timer Reqister
48
Mid-instruction Interrupt Data
(Stored on~y if IR bit 30 = 1)
51
52 //////////////////////////////////////////////////
54 - 55
LOR
56 //////////////////////////////////////////////////
·· ·· ·
•
··
•
•
· ·
•
•
•
·· ·
···
•
· ··
·
4·
8
·
W
0
r
d
s
··
•
6·
4
W
0
r
Octal
o
1
2
3
4
5
6
7
10-11
12-13
14-15
16-17
20
27
30
..
47
50
51
52
53
54
55
56
57
60
65
66-67
70
//////////////////////////////////////////////////
//////////////////////////////////////////////////
63 ////////////////////////////////////////////////// 77
d
s
Figure 8-7.
*1:
*2:
*3:
*4:
*5:
safe Store Stack Format - NS Mode
Fault Retry Flag - bit 1
Fault Tally Flag - bit 2
safe Store Stack Fault Flag - bit 9
Fault/Interrupt - bit 10
a = fault
1 = interrupt
Fault/Interrupt Code - bits 11-17
8-107
DZSl-OO
CLIMB
CLIMB
'\
10
1
···
·,
··
·•
···
··
··
·
··
·
·
··
01 00 <-SCR
Oil Oil <-ISR Bi 24
19JExtended Fault Reqister
HWMR
0
CPU
Fault
Reqister
1
•
•
Imaae of Fau1tina Instruction
1
2
•
3
11111111111111111////1/1111/111111111/1111/1/11/11
6
•
IR
4
Ie
15/1/11
181
2
5
*11*21111111*31*41
*5
10IRHUICP#ISCRI
SEGID
12
•
DSAR
111111111/111111 EWSN# 9
4
W
6 17
7
Relative Virtual Address
0
ISR
r 8- 9
W
d 10 - 11
ASR
0
r
s12-13
LSR
PSR
d
• 14 - 15
16 00000000000000000000000000000000000
SEGIDO
s
00000000000000000000000000000000000
to
SEGID7
00000000000000000000000000000000000
23 00000000000000000000000000000000000
24
DRO
· ·
·
·
···
39
40
41
42
43
44
45
46
47
48
51
52
54 - 55
56
8
0
·
W
0
r
d
s
··
·
·
··
··
Octal
0
1
2
3
4
5
6
7
10-11
12-13
14-15
16-17
20
27
30
to
DR7
47
50
51
52
53
A
54
55
Q
8
E
111111111111111111111111111111111111/11 56
27
Timer Reqister
11111111111 57
Mid-instruction Interrupt Data
60
(Stored on1v if IR bit 30 = 1)
11111111111111111111111111111111111111111111111111 65
LOR
66-67
GXO
70
1111111111111111111111111111111111111/111111111111
11/1111111111111111111/1111/1111/111111111/1111111
111111111111/111111111111111111111111/1111/1111111
111111111111111111111111111/11111111111111/1111111
to
GX7
ARO
63
64
77
100
to
71
AR7
107
72 111111111111111111111111111111111111//11/1/1111111 110
II/IIIIIIII//Reserved for Future Usel/IIIIII/I/III
79 11111111111111111/11111111111111111111111111111111 117
·•
•
·
Figure 8-8.
*1:
*2:
*3:
"'--j
safe Store Stack Format - ES Mode
Fault Retry Flag - bit 1
Fault Tally Flag - bit 2
SSSF Flag - bit 9
*4:
*5:
8-108
Fau1tlInterrupt - bit 10
o = fault 1 = interrupt
FaultlInterrupt COde - bits 11-17
DZ5l-00
'"
ruMB
CLIMB
SOme of the fields shown in Figures 8-7 and 8-8 are stored
only with a CLIMB instruction executed by hardware in
response to faults or interrupts, and are meaningless when
using the ~rogrammed ClJME instruction.
The following discussion explains the contents of the safe
store stack as illustrated in Figures 8-7 and 8-8.
Word 0
Bits 0-19
High Water Mark Register (HWMR) stored. The content
of the HWMR is the value in the register when the
ClJ ME instruct ion started.
Bits 20 to 35 Extended Fault Register
Word 1:
Upon occurrence of a fault, the CPU fault register
Word 2:
(
Upon occurrence of a fault, the image of the
faulting instruction
Word 3:
Reserved for hardware use
Word 4:
Bits 0 to 17
The instruction counter (IC) value is stored as
follows:
IC = IC + 2
Refer to section 6 for the description of the value
stored when a fault or interrupt occurs.
Bits 18 to 32
Indicator register (IR) contents.
Bits 33 to 35 Not used.
Word 5:
Bits 0 to 9, 18, 19
8-109
DZ5l-00
CLIMB
CLIMB
\.
Reserved for hardware use. When an interrupt or a
Connect, Timer Runout, Shutdown, or Missing Page
fault occurs, a 1 is stored in word 5, bit 9 to
indicate the· recoverable type. When other faults
occur, a 0 is stored in word 5, bit 9~
Bit 10
SSF (safe Store Stack fault flag).
6 for description of faults.
Refer to Section
Bit 11 to 17
These bits are meaningful only when faults or
interrupts occur. (Refer to Section 6, Faults and
Interrupts for details.)
Bits 19 to 20
CPU
number
Bits 22, 23
Stack Control Register
Bits 24 to 35
(SCR)
SEGIDOS)
Word 6:
Bits 0 to 16
The value stored here is the DSAR content when the
CLIMB instruction started.
Bits 17 to 26
Reserved for hardware use.
Bits 27 to 35
When a Missing Page fault occurs, the hardware
stores the effective working space number of the
virtual address which caused the fault. It is not
used in other cases.
Word 7:
When a missing page fault occurs, the hardware
stores the relative virtual address which caused the
fault. It is not used in other cases.
8-110
DZSI-OO
.. ~
(-
CLIMB
CLIMB
Words 8-47, 54-71:
As illustrated in Figure 8-7 for NS mode and Figure
8-8 for ES mode, the hardware stores register
contents. These contents consist solely of values
at the beginning of the CLIMB instruction. In
particular, when a segment descriptor is pushed onto
the argument stack during execution of the CLIMB
instruction, the safe stored ASR bound value is that
before the push operation.
When SCR = 10, bits 0 to 23 of the words 16 - 23,
are all zero, and the values of words 40 to 43 are
undefined.
When the ISR bit 24 immediately before the CLIMB
instruction equals 1 with the 24-word stack, bits 0
to 23 of words 16 to 23 are all zero.
Words 48-53:
(
Hardware stores information for restart of
instruction execution only in response to faults and
interrupts.
The information stored in this area is normally the
content of the pointers and lengths register when a
fault or interrupt occurs during execution of an
interruptible multiword instruction (when saved with
the IR bit. 30 set to ON). Even when the IR bit 30
is not set to ON, information is stored in this
area, for example, for a Missing Page fault. The
content of this area must not be changed by
software.
When software does not specify type T = 11 as the
entry descriptor for a fault or interrupt, the
system cannot return correctly.
Words 72-79:
Reserved for future used.
5. Loading the Registers
After the state is saved in the safe store stack, the
registers are changed as described below.
(
8-111
DZ51-00
CLIMB
CLIMB
a. Loading the Instruction Segment Register (ISR)
For an intradomain transfer, the standard descriptor
referenced by the Sand 0 fields of the instruction is
placed in the ISR. If the Sand D fields referenced a DRQ
(177n), then SEGIOn -> SEGIO(IS); otherwise, S and 0
--> SEGID(IS).
For an interdomain transfer, the descriptor pointed to by
the ISEGNO field of the entry descriptor is loaded into
the ISR. SEGID(IS) is set to S = 3, D = ISEGNO.
b. Loading the Instruction Counter
(Ie)
For an intradomain transfer, an effective address is
formed using the address field of the CLIMB instruction
and applying the indicated AR and/or tag field
modification. This 18-bit effective address is placed in
the instruction counter.
c. Loading the Linkage Segment Register
(LSR)
For an intradomain transfer, the linkage segment does not
change.
For an interdomain transfer, a standard descriptor from
the entry descriptor is placed in the LSR as follows:
o Base = Linkage base (LBASE) with zeros in the 10 most
significant bit positions
o Size = Linkage bound (LBOUND) extended with three 1
bits on the right and with zeros in the 7 most
significant bit positions
o WSR
o T
= WSR
(working space register)
=1
o Flags - Bits 20, 22, 23, 27, and 28 = 1
Bits 21, 24, 25, and 26 = 0
For an interdomain transfer, the 1S-bit entry location
contained in the entry descriptor is placed in the
instruction counter.
d. Argument Stack Register (ASR) and Parameter Segment
Register (PSR Generation
When E bit = 0 (pass no parameters) or when E bit
(pass parameters) and ORO type T = 1
8-112
=1
DZ51-00
(
CLIMB
CLIMB
o The new PSR is generated as follows.
10001
19
11111
8 11
11111
35
ASR Base
+
0
I
ASR Bound
0
I
P
=
0
I
I
New PSR Base
7 8
0
10------01
16 19
11111
P
o The new ASR base is generated as follows. (The new ASR
generation is independent of ASR flag bit 27.)
(
o When C(HWMR) = 0
ASR base -> New ASR base
o When C(HWMR) ':F 0
Araument Seqment
(AS )
ASR Base
+
=
10001
11111
--+<---------..I.I__-=La=s: :. t: :. . !.AS=. .;A~d:.: d:!r. : e:.: : s: :.s_ ___L.::::=~
11111
4 -_ _ _ _
\
+
Double-word
boundary
\
Bound fault
>OCcurs with
carry
\
=
=
\
\
\
\
=
Next avail.
\-1. __-:.:.:::.!:.....!!:::.:.:.-!:::.:::.:::-_
_1':::":::":::..L1 double-word
New ASR Base
000 word location
8-113
DZ5l-00
CLIMB
CLIMB
The new ASR bound and flat bit 27 are set to O.
When E bit = 1 (pass parameters) and ORO type
6, 12, or 14
= 0,
2, 4,
o The segment descriptor described with the PSR is
prepared by hardware as with the last P + 1 segment
descriptors in the argument segment as follows.
,,
,,
,,
Ar·aument
ASR Base
searnent (AS)
\
\
\
\
ASR Bound
HWMR
---->\
---------->
<--New PSR base
is set here
"\
j
P+l
<-New PSR bound
, is set here
\
--------
'New ASR base is set so as
to indicate next available
double-word location
o The descriptors to be framed by the PSR are the last
P+l descriptors in the descriptor segment pointed to by
ORO.
8-114
DZ51-00
CLIMB
CLIMB
The new PSR base is generated as follows.
o When COMm)
=a
ASR base -> new PSR base
o When C(HWMR) # a
ASR Base
10001'
Bound
+
a
19
I~~~~~I
11111
HWMR
+
fault
occurs
with
carry
=
a
35
New PSR Base
10001
The new PSR base shown above works as the start address in
the area where the segment descriptor is prepared as a
parameter.
8-115
DZ51-00
CLIMB
CLIMB
o The new PSR base is set to the value DRO base
bound - P as shown below.
o
+
DRO
32 35
DRO Base
10001
+
0
19
I
DRO Bound
11111
0
I
o
11
8
P
11111
=
35
New
PSR
Base
10001
The new PSR bound is generated as follows.
o
100---------01
19
16
7 8
11111
P
"
o The new base and bound values formed are loaded into
the PSR, framing the last P+1 descriptors of the
segment. Bits 20-35 of the first word of DRO (flags
field, WSR or WSN field, and T field) are copied to
the corresponding bit positions of the PSR.
The new ASR base is generated as follows:
o When C(HWMR) = 0
ASR
10001'
Base
o
+
11
I -----------------------------------------
Bound
fault
occurs
with
carry
-I~I/
=
o
35
New ASR Base
8-116
10001
DZ51-00
/
(
CLIMB
CLIMB
o When C{HWMR)
~
0
ASR
10001'
Base
+
o
19
+
Bound
fault
occurs
with
carry
I ~--------------------------------------o-I~I
---------------------o
35
10001
New ASR Base
The new ASR bound and flag bit 27 are set to O.
Independent of the E bit setting and DRO type, the HWMR is
set to o.
EXAMPLE:
This example illustrates how the HWMR protects the program
descriptors from one program from being accessed by
another program.
1. Program A
stores four
descriptors
on the argument
stack (SDRn)
~
______~__~ <-------------ASR Base
A - Dl
/------- Bound
/
A - D2
/
/
A - D3
/
/
A - D4
~
/
__________~ <-I <---------HWMR
(
8-117
DZ51-00
CLIMB
CLIMB
2. Executes an LDDn to copy the ASR to DRn
3. Executes a PAS ......-_ _ _~-..,.. <-------ASR Base
instr. to modify
A - Dl
/ - Bound
the ASR bound
/
A - D2
/
01-----.."....---1-
A -
D3
A - D4
4. calls program B
<--------/
..L..-_ _ _ _ _......
<----HWMR
-r---A::--_~D=-:l:-----r-
< - - - - ASR Base
/ -- Bound (Prog • A)
/
A - D2
/
+-----~~--~ <-------/
A - D3
A -
D4
<--ASR Base/Bound/HWMR
(Prog. B)
5. Program B
stores three
descriptors
on the
argument stack
A - Dl
A - D2
A - D3
<------------ASR Base
/-- Bound (Prog. A)
/
<---- ---I
/
A - D4
B - DI
<---
- - - ASR Base
/----- Bound (Prog. B)
/
B - D2
/
/
B - D3
/
<-I <----- HWMR
8-118
DZ51-00
CLIMB
CLIMB
6. Return to Program A
ORn Base------->
Bound
A - 01
<-------------ASR
Base
/ - Bound (Prog. A)
/
\
A - D2
\
/
<-----/
\
A - D3
\
\
A - D4
\
\-->
B - Dl
<---------HWMR
B - D2
B - D3
Because the HWMR remembers the highest level reached in
the argument stack by an individual program, and uses it
to generate the ASR base for a new program, there can be
no overlap of descriptors in the argument stack. Security
cannot be violated.
e. Loading the Pointer Registers
If type 11 entry descriptor was referenced by the Sand D
fields of the IClJMB instruction, all pointer registers
are set to the value of the target IS as follows:
ISR
-->
DRO through DR7
SEGI D (I S)
->
SEGI DO through SEGI 07
00 •••• 0
-->
ARO through AR7
NOTE: When the entry descriptor type is other than T = 11,
the pointer register content remains unchanged.
However, unless the ISR is copied into the DRn with
the ICLIMB instruction altering the ISR bit 24, the
content of ARn, and SEGIDn is undefined.
f. Loading Xa/GXo
o If bit 18 of the C field of a ClJMB instruction is 1
and the operation is an interdomain transfer, the load
is as follows.
8-119
DZ51-00
CLIMB
CLIMB
Old ISR
Bit 24
New ISR
Bit 24
XO
0
0
*C(XO> <-YO-17
0
1
*Undefined
(meaningless)
1
0
C(XO> <--Yl6-33
1
1
Undefined
(meaningless)
GXO
Undefined
(meaningless)
C(GXO>0-17 <-- 0
C(GXO>l8-35 <-- YO-17
**Undefined
(meaningless)
**C(GXO)o-l <-- 0
C(GXO)2-35 <-- YO-33
o If xo is to be stored in the safe store stack, the content
of XO at the start of a CLIMB instruction is stored.
o If GXO is to be stored in the safe store stack, the
content of GXO at the start of a CLIMB instruction is
stored.
o If bits 18 of the C field of a CLIMB instruction is 0, or
the operation is not an interdomain transfer, the load is
as shown below.
Old ISR
Bit 24
New ISR
Bit 24
XO
0
0
0
1
Unchanaed
Unchanged
(meaningless)
1
0
C(XO)<-- C(GXO>l8-35
1
1
Unchanged
(meaninaless)
GXO
Unchanged
(meaninaless)
C(GXO)0-17 <- 0
C(GXO>l8-35 <- C(XO)
Unchanged
(meaningless)
Unchanaed
The above table also applies to the fault/interrupt CLIMB.
8-120
DZ51-00
(
CLIMB
CLIMB
NOTE: When the CLIMB instruction alters bit 24 of the ISR, the
content of XI-X7/GXI-GX7 is undefined.
6. Settina Mode Indicators for System Entry CLIMB
When the CLIMB is a system entry (PMME) where S = 0 and D =
1760 (octal), the Master mode indicator is set to ON. If it
is not a system entry and bit 19 of the C field equals 0, the
processor is set to Slave mode and the Master mode indicator
is set to OFF. If it is neither, the mode remains
unchanged. When this CLIMB is executed as a response to a
fault or an interrupt, the Master mode indicator is always
set to ON.
Outward CLIMB (RET/OCLIMB) C Field Bits 22 and 23
= 01
1. In the OCLIMB version of the CLIMB instruction, a return
occurs according to the last frame stored in the safe store
stack.
2. The E, P, S, and D fields, and bits 19, 20, and 21 of the C
field are ignored.
(
3. The data stack clear flag (DSCF) of the option register is
checked. When DSCF = 1, the data stack area used with the
procedure executing the outword CLIMB is cleared. The
cleared area is shown by shading in the diagram below.
DSDR
Base
\
\
\
~~~~~~~~~~<--DSAR
value restored with OC1JMB
11111111111111111/// \
1111111111/11/1/1111
Cleared area
111111111/111/111/1/
1111111111111/1111/1 I
<--DSAR value when this OCLIMB started
\
I
\
Bound \
\
\
\
\
\~----------------~
o In this case, a security fault, class 1 occurs if the DSAR
at the start of the CLIMB is less than the restored DSAR.
(
o If a missing page fault occurs while the data stack is
being cleared, the hardware saves the state at the time
the fault occurred. When the operating system loads this
missing page and returns to the executing procedure, the
clearing of the data stack area is re-executed correctly.
8-121
DZSl-OO
CLIMB
CLIMB
4. When an OClJMB starts, the SCR value determines the number of
registers allowed. Registers are restored with the SCR
content indicated in the list below.
IPR fault occurs if the option register safe store bypass
flag (SSBF) is ON at the time.
An
When the SCR
restored:
= 00
(binary), the following registers are
Instruction Counter (IC)
Indicator Register (IR)
Stack Control Register
(SCR)
Instruction Segment Identity Register -
~D(IS)
Data Stack Address Register (DSAR)
Instruction Segment Register (ISR)
Linkage Segment Register
Argument Stack Register
(LSR)
(ASR)
Parameter Segment Register (PSR)
When SCR = 01 (binary), all the registers that meet the
checks for SCR = 00 (binary) are restored, plus AR 0-7 and
SEGID 0-7.
When SCR = 10 or 11 (binary), the registers for SCR = 01
(binary), the DRO-DR7, XO-X7/GXO-GX7, A, Q, E, and LOR are
restored. When word 5, bit 9 of the safe store stack is 1,
the pointers and lengths register and the fault recovery
information are restored.
In all cases, the processor number and the timer register are
not restored.
8-122
DZ51-00
(
CLIMB
CLIMB
5. The base and bound values of the safe store register (SSR)
are adjusted according to the new values placed in the SCR
from the safe store stack as follows:
Base
SSR Bound
00
-16 words
+16 words
01
-24 words
+24 words
10
-80 words
+80 words
11
-64 words
+64 words
SCR(bin.)
6. Loading DRO-DR7
When an OClJMB uses 16 or 24 words for the safe store stack
(i.e., the old SCR value = 00 or 01) and then transfers to
Slave mode, the new ISR value is loaded into ORO-OR7.
7. Loading XO/GXO
(
When the OCLIMB instruction C field bit 18 = 1, the effective
address specified with the instruction, in accordance with
bit 24 of the ISR restored from the safe store stack, is
loaded into XO/GXO. (Refer to table for loading XO/GXO when
bit 18 = 1 under ICLIMB.)
When the OClJMB instruction C field bit 18 = 0, with a
64-word or 80-word safe store stack, the safe store stack
content is restored into XO/GXO. with other than a 64-word
or 80-word safe store stack, the content of XO/GXO is
determined as shown in the table for loading XO/GXO when bit
18 = 0 under the ICLIMB discussion.
NOTE: When the contents of XI-X7/GXI-GX7, ARn, and SEGIDn are
not restored with the OClJMB instruction that alters
bit 24 of the ISR, those contents are undefined.
8. The IC is restored from the safe store stack as follows:
From NS or ES to NS or ES mode
Word 40-17 --> C(IC)0-17
The HWMR is restored from word 00-19
(
8-123
DZ51-00
CLIMB
CLIMB
9. Control is passed to the instruction indicated by the IC and
ISR.
10. When the indicator register is restored (with the value
stored in the safe store stack), the Master mode bit may be
set to ON.
11. Outward CLIMB is interruptible during execution when the
following conditions are satisfied.
o The option register data stack clear flag (DSCF)
o The interrupt inhibit bit
the instruction).
=0
= l.
(bit 28 of the first word of
o If the interrupt inhibit bit = 1, interrupt is not
permitted for this instruction during execution.
Interpretation of bit 28 is only valid at the time of
outward CLIMB. With the other three CLIMB variations,
interrupt is not accepted during execution and the value
of bit 28 is not affected by execution of the instruction.
o The procedure executing this outward CLIMB used the data
stack area.
If there is no area to be cleared (i.e., if the restored
DSAR value is equal to the current DSAR value) despite the
above two conditions being satisfied, this OCLIMB is not
interruptible during execution.
When the OCLIMB is being executed and the above three
conditions are satisfied, the processor samples interrupt
at suitable times and responds to any interrupt received,
to ensure that a Lockup fault does not occur while the
data stack is being cleared. At response to the
interrupt, the processor saves the current state in the
safe store stack and the interrupted OCLIMB is re-executed
normally. The clear operation is restarted correctly from
the point at which it was interrupted.
8-124
DZ51-00
«
CLIMB
CLIMB
Lateral Transfer (LTRAS/GCLIMB) C Field Bits 22 and 23 = 10
In the GClJMB version of the ClJMB instruction, the safe store
register and the parameter segment register remain unchanged.
Also, the base and bound of the argument stack register remain
unchanged. The HWMR is not stored in the safe store stack.
1. The bit in the E field is not interpreted and the SCR remains
unchanged.
2. The GCLIMB may be an inter- or intradomain transfer that is
determined by the descriptor referenced in the S and D
fields. This version functions as the IClJMB, except as
indicated. since the state of the processor is not saved,
control cannot return to an instruction executing the GCLIMB.
3. Because the processor state is not Saved, the procedure
executing the GCLIMB cannot return correctly with an OCLIMB.
c:
If the descriptor referenced by the Sand D fields of the GCLIMB
instruction is a type 11 descriptor, the pointer registers are
set to the state of the target instruction segment. When the
type is not 11, the pointer register remains unchanged. If T is
not 11 when the GCLIMB instruction is altering bit 24 of the
ISR, the pointer registers are undefined.
Lateral Transfer (PCLIMB/LTRAD) C Field Bits 22 and 23
= 11
The execution of the PCLIMB version is identical with that of
ICLIMB, except for the following:
1. The CPU state is not saved in the safe store stack.
2. The HWMR is not saved in the safe store stack.
3. The SCR remains unchanged.
8-125
DZ51-00
CLIMB
CLIMB
If the descriptor referenced by the Sand D fields is a type 11
descriptor, the pointer registers are set to the state of the
target instruction segment. When the type is not 11, the
pointer register remains unchanged. If T is not 11 when the
PCLIMB instruction is altering bit 24 of the ISR, the pointer
registers are undefined.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I LLEX;AL EXECUTES: XEC
or XED
I NDI CATORS:
Master Mode - See notes below and discussion of "C19, Slave
Mode" in earlier pages of the CLIMB explanation.
NOTES:
1. Any of the following conditions cause an IPR fault:
o If illegal repeats or executes precede modifications
o If illegal address modification is used
o I f the base and bound fields of the instruction segment
descriptor are not modulo 32 bytes, of if flag bit 27 =
1 (bound valid) and the bound is not 31 modulo 32 bytes
o If the Sand D fields are S = 0 and D = 1760 or 1761
(octal), and the descriptor from the system entry
location is not an entry descriptor
o If the descriptor referenced in the Sand D fields is
not a standard, entry, or dynamic linking descriptor (T
= 0, 5, 8, 9, or 11)
o If the type of the descriptor referenced with the Sand
D fields is T = 1 or 3, and the segment descriptor
obtained from this descriptor is not an entry or
dynamic linking descriptor
o If the Sand D fields of the vector or the CLIMB
instruction are S = 0 and D = 1761 (octal)
o If the transfer destination ISO type T is not 0
8-126
DZ51-00
\,
j
(
CLIMB
CLIMB
o If a normal or extended shrink is specified for a
segment descriptor placed in the address segment and
the pushed segment descriptor type is illegal (T = 5, 7
to 11, 13, 15)
o If a Return Climb is specified and the safe store
bypass flag in the Option Register = 0
o If E = 1 and DRO contains a descriptor of type T
5, or 7-11, 13, or 15
= 3,
o If the Sand D fields of the vector are S = 0 and D =
1760 (octal)
2. A Command fault may occur as follows.
o If the Sand D fields of the vector are S = 0 and D =
1763 or 1764 (octal) and the processor is not in
Privileged Master mode
o If WS 0 is specified and the processor is not in the
Privileged Master mode
(
o If WSR 0 is specified and the processor is in Slave
mode (except during the access for the ISO when the
system entry (PMME) is specified)
3.
A
Bound fault may occur as follows:
o If in the ICLINB version of the instruction, field E =
1, DRO type = 1, and (p + 1) is greater than the DRO
bound
o If the transfer destination ISO flag (bit 27) of the
instruction segment descriptor is 0 (empty segment)
o I f a carry occurs in forming a new argument stack
register (ASR) or parameter segment register (PSR)
base
o If an access for a vector or a descriptor exceeds the
upper or lower bounds of the specified segment, or if
the bound is not valid (flag bit 27 = 0), or if there
is an attempt to address the argument (for the push)
and the temporary ASR bound + 1 byte > 8192 bytes
(
8-127
DZ51-00
CLIMB
CLIMB
o If on an access to memory an associative memory error
occurs
4. A Security Fault, Class 1 may occur as follows.
o If the ISD flag bit 26 = 1 (Privileged mode) and the
processor is in Slave mode and the ClJMB did not result
from a fault, interrupt, or system entry (PMME)
o If, at the end of the CLIMB, ISR flag bit 26 = 1
(Privileged) and either indicator register bit 28 = 0
(Slave) or a nonhousekeeping page is accessed for the
next instruction
o If at the end of the CLIMB, indicator register bit 28
o (Slave) and a housekeeping page is accessed for a
vector
o
5.
A
=
f the page to be accessed is a nonhousekeeping page
(PTW flag bit 32 = 0)
I
Security Fault, Class 2 may occur as follows:
o I f flag bit 25 of the instruction segment descriptor is
o (no execute permission)
o If read flag bit 20 of the descriptor = 0 for any
access to a segment for a vector or descriptor (but not
ASR)
o I f a working space violation occurs
o If the specified page (for the push to ASR) does not
have write permission
NOTE: In the SDRg instruction, the ASR needs neither write
nor store permission.
6. A Missing Segment fault occurs if flag bit 28 of the
descriptor = 0 for any access to the ASR, or to a segment
for a vector or descriptor.
7. A Missing Page fault occurs for any access to the ASR, or
to a segment for a vector or descriptor, if flag bit 30 of
the PTW for the accessed page = O.
8-128
DZ51-00
/
CLIMB
CLIMB
8. A Missing Space fault occurs for any access to the ASR, or
to a segment for a vector or descriptor, if bit 20 of the
PTDW = O.
9. A Safe Store Stack fault occurs if the SSR bound < 239
words + 3 bytes as a result of the SSR update adjustment.
10. When the access of the 150 from the LSD formed from the
entry descriptor, the same fault checks are made as listed
above, except that if the CLIMB resulted from a fault,
interrupt, or system entry (PMME), the WS = and WSR 0
Command fault checks are not made. (The entry descriptor
does not contain flag bits 20, or 27.)
SUMMARY OF CLI MB I NSTRUCTI ON FORMAT:
o0
1 1
7 8
0
023
II
(
Op
I
ADDRESS
Code
2 2 2 2 3
6 7 8 9 0
I+H
713(1)
First Word
o1
o0
o1
1 1 1 2 2 2 2 222
7 8 9 o 1 2 3 456
9 0
H
P
3
6
I
UNUSED
I~I ~:
Second Word
I~ I I
S
3
5
I
TAG
3
5
D
7
2
I
The control fields are defined as follows:
E
= 0
-
No parameters are passed
E
= 1
-
Pass P+l parameters (ICLIMB, PCLIMB only)
P
= N-l -
Number (minus 1) of descriptions or vectors to pass
if E = 1
XO/GXO
= 0
-
CLIMB will not affect XO/GXO.
XO/GXO
=1
-
If entry descriptor (T = 8, 9, or 11) is referenced
or OCLI MB is executed, XO/GXO is loaded with the
effective address designated by the address tag and
AR fields of the CLIMB instruction.
(
8-129
DZ51-00
CLIMB
CLIMB
(\
\
)
"""------_/
SSLV
= 0
-
set Slave mode
SLV
=1
-
Do not change Master mode indicator
TYP
= 00
-
ICLIMB (or PMME)
TYP
= 01
-
OCLI MB
TYP
= 10
-
GCLIMB (LTRAS) - Transfer with same ASR and PSR.
= 11
-
PCLIMB (LTRAD) - Transfer with new ASR and PSR.
TYP
Do
not save processor state.
Do
not save processor state.
S, D
-
Target SEGI D
CODING FORMAT:
Coding of a CLIMB varies with the version of the ClJMB
instruction being executed.
The following list contains each of the five versions of the
CLIMB instruction with their respective fields, which are
defined below. The underlined fields are required; all
others are optional.
ICLIMB - entry, count, effective address, flags
PCLIMB - entry, count, effective address, flags
GCLIMB - entry, effective address, flags
OCLIMB - effective address
PMME
- effective address, count, flags
The fields in the CLJMB instruction are described below:
entry
- Name of an entry or a 12-bit number (SEGID) that
identifies a descriptor specifying a new linkage
segment and instruction segment or the same
linkage segment and an instruction segment.
8-130
DZ51-00
\.~
(
CLIMB
CLIMB
count
- Decimal expression representing a value in the
range 0 <= count <= 512. This value indicates
the number of parameters or descriptors (one for
each argument) pointed to by PRO. The fir-st of
these is at the location indicated by pointer
register zero. A value of zero means that no
arguments, and consequently no vectors or
descriptors, are present. If no value is given,
zero is assumed.
effective - The effective address may include a tag
address
pointer designation. When this occurs, the field
must be enclosed by parentheses; e.g., (address,
tag) or (address, tag, pointer). The effective
address is used to establish the next instruction
location, but only when the entry identifies a
descriptor that does not specify a linkage
segment. The effective address is a requirement
only for the PMME version to designate the Master
mode entry.
(
If the entry identifies a descriptor that
specifies a linkage segment (entry descriptor),
index register 0 may be loaded with the effective
address. If the entry identifies a descriptor
that does not specify a linkage segment (standard
descriptor), this address is added to the base of
the instruction segment (described in the
descriptor) to establish the next instruction
location and may be loaded in index register O.
If bit 18 of field C is zero or this address is
omitted, the content of the effective address
field is not loaded in index register O. Note
that an explicit zero is required to load index
register 0 with a zero, since a null field
prevents register loading.
MASTER - Sets bit 19 of the second word
No flags are used for the OCLIMa version.
NOTE: PMME is synonymous with ICLINB with 17608 coded in the
entry field.
(
8-131
DZ51-00
CLIMB
CLIMB
flags
EAXO
- Sets bit 18 of the second word
The keyword BAKO indicates that the
effective address field is to be loaded
in index register 0 or general index
register o.
NEAXO - Clears bit 18 of the second word
SLAVE - Clears bit 19 of the second word (for
PMME, bit 18 of the second word is
forced on, bit 19 is ignored by the
hardware)
The keyword SLAVE indicates that the
processor will enter Slave mode upon
change of domain. If this field is
omitted, the mode is not changed, except
for the PMME version which is always set
to Privileged Master mode.
f both keywords are needed, the field
must be enclosed by parentheses with a
comma separating the keywords: (e.g.,
BAKO, SLAVE).
I
EXAMPLES:
1
*
8
16
INHIB
OFF
32
ICLIMB
ODDF . NULL
NEPRl LDD
SDR
LDD
SDR
LDD
SDR
LDD
MLR
PO,DSTKS
PO
Pl,ODRSH
Pl
Pl,IALPS
Pl
Pl,ISRS
(1),(1)
shrink data stack (64 words)
shrink safe store
ISR,ASR,LSR,PSR
ISR (R,W)
copy safe store frame to data stack
O,O,256,P.SSR
O,O,256,PO
PO,.ASR,DL
copy ASR to PO
LDP
climb exception procedure
ICLIMB .DR+4,3"SLAVE
l8/,09/7l3,l/l,l/O,l/O,6/M.
VFD
1/l,9/3-1,8/0,l/.N,l/.O,2/0,2/0,12/.DR+4
VFD
ADSC9
ADSC9
*
*
j
8-132
DZ5l-00
(
CLIMB
CLIMB
1
8
16
32
GCLI MB/I eLI MB
*
INHIB
TRVCEL NULL
ON
NOP
EPPRO
2,IC
,DL
1,IC
TRA
.CRTRV+12, ,P.CR
EPPRO
EPPRO
1,IC
2,IC
1,IC
TRA
.CRTRV+14"P.CR
TRA
TRA
.TROPN (system domain only)
.TROPN none (system domain only)
.TROPN all (slave domain)
**,DL
.TRPUT (system domain)
TPUTSY- •• DISP"P7
NOP
, DL
* . TROPN all macros removed
,DL
NOP
.TROPN extension
TRVC03 GCLIMB **,TOPNG
lS/TOPNG,09/713,1/1,1/O,1/0,6/M.
*
VFD
1/O,9/0,S/O,1/.N,1/.O,2/0,2/2,12/**
*
VFD
LDD6
DP.OTE"P.SSL
.TROPN all for slave domain extension
ICLIMB .DR6
lS/,09/7l3,1/1,1/O,1/O,6/M.
*
VFD
1/O,9/0,S/O,1/.N,1/.O,2/0,2/0,12/.DR6
*
VFD
0, ,PO
TRA
TRVCOI LDP7
TRA
(
S-133
DZSl-OO
CMG
CMG
CMG
I
Compare Magnitude
405 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
IC(A)I :: IC(y)l: C(A), C(Y) unchanged
EXPLANATION:
This instruction compares the magnitude of signed algebraic
numbers. For example, if -1 and +1 are compared, they are
considered equal and the zero indicator is set ON.
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
Negative
0
1
0
0
0
1
Relationship
C(A)
C(A)
C(A)
8-134
C(Y)
C(y)
=
< C(y)
>
, . ."".
DZ51-00
(
CMK
CMK
CMK
211
Compare Masked
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i = 0 to 35,
C(Z)i
= C(Q)i
(0)
AND [C(A)i XOR C(Y)i]
C(A), C(Q), C(Y) unchanged
EXPLANATION:
This instruction compares the corresponding bit positions in
C(A) and C(Y) to determine whether they are equal or not.
Bits for which the corresponding bit of Q is I are masked and
not compared.
The zero indicator is set ON if the comparison is successful
for all bit positions:
if for all i = 0,1, ••• ,35
either C(A)i = C(Y)i
or
C(Q)i = 1 is established.
otherwise, the zero indicator is set OFF.
(
The negative indicator is set ON if the comparison is
unsuccessful for bit position 0:
if for C(A)O # C(Y)O
and
C(Q)O = 0
otherwise, the negative indicator is set OFF.
ILLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero -
If C(Z) = 0, then ON: otherwise, OFF
Negative -
If bit 0 of C(Z)
8-135
= 1,
then ON; otherwise, OFF
DZ51-00
CMK
CMK
EXAMPLE:
In the following example, the comparison is equal after
execution of CMK, and the TZE exit is taken. Only the 2s in
NUMBER and DATA are compared; all other bits are masked by Is
in the Q-register.
1
MASK
8
16
LDQ
MASK
LDA
CMK
TZE
NUMBER
DATA
OCT
777777777707
300333333326
666666666625
NUMBER OCT
DATA OCT
OUT
/
8-136
DZ5l-00
CMPA
CMPA
Compare with A-Register
CMPA
Single-word instruction format (see Figure 8-1)
FORMAT:
OPERATI NG
115 (0)
MODES:
SUMMARY:
Any
C(A) :: C(Y); C(A) and C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Algebraic comparison (Signed Binary Operands)
Zero Negative
o
o
1
o
o
carry
o
o
o
1
1
o
1
1.
1
o
Re1at ionsh i P _---.:S::;.:i:.;::gna:::
. C(A) > C(Y) C(A)0=O,C(Y)1=1
C{A) > C{Y}\
C{A) = C(Y) >C(A)O=C(Y)o
C{A) < C(Y)/
C(A) < C(Y) C(A)O=1,C(Y)0=O
Logical comparison (Unsigned positive Binary Operands)
carry
o
1
o
1
1
o
8-137
Relationship
C(A) > C{Y)
C(A) = C(Y)
C(A) < C(Y)
DZ5l-00
CMPAQ
CMPAQ
CMPAQ
Compare with AQ-Register
117 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(AQ) :: C(Y-pair); C(AQ) and C(Y-pair) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Algebraic comparison (Signed Binary Operands)
zero Negative carry
o
o
1
o
o
o
o
o
1
1
1
1
1
Sign
Relationship
o
C(AQ)
C(AQ)
C{AQ)
C(AQ)
C(AQ)
o
> C(Y)
> C(Y)\
C(AQ)O=O,C{Y-pr)O=l
= C(Y) >C(AQ)o=C(Y-pr)O
< C(Y)/
< C(Y) C(AQ)O=l,C(Y-pr)O=O
Logical comparison (Unsigned Positive Binary Operands)
carry
o
1
o
NOTE:
1
1
o
Relationship
C(AQ) > C(Y-pr)
C(AQ) = C(Y-pr)
C(AQ) < C(Y-pr)
An Illegal Procedure fault occurs if illegal address
modification is used.
8-138
DZSI-OO
CMPB
CMPB
(
CMPB
Compare Bit Strings
FORMAT:
a
0
a
1 1
1 1
a1
1
I FI 0---------------0 I
066 (1)
Op
Code
7 8
MF2
a a0
a 23
066(1)
I
a aa
NFl
3
2
0
1 1 1 2 2 2
7 8
9
a
3
5
R1
3
2
3 4
3
5
N2
C2 B2
Y2
I
N1
Y2
CODING FORMAT:
I I
0-------
Y1
023
AR#
I
5
1 1 1 2 2 2
7 8 9 0 3 4
C1 B1
(
3
7 8 9
Y1
AR#
2 2 2
0-------------0
R2
The CMPB instruction is coded as follows:
1
8
16
CMPB
BDSC
BDSC
(NF1),(MF2),F
LOCSYM,N,C,B,AM
LOCSYM,N,C,B,AM
(Refer to section 7 under Multiword Instructions for
description of Multiword Modification Field.)
(
OPERATI NG MODES:
Any
SUMMARY:
C(string 1) :: C(string 2)
...
8-139
DZ51-00
CMPB
CMPB
EXPLANATION:
I LLEGAL ADDRESS
The string of bits starting at location YCBl is logically
compared with the string of bits starting at location YCB2
until an inequality is found or until the larger tally (Ll or
L2) is exhausted. If Ll is not equal to L2, th~ fill bit (F)
is used to pad the least significant bits of the shorter
string. The contents of both strings remain unchanged.
MODIFICATIONS:
DU, DL for NFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
Carry
I NDI CA'l'ORS:
NOTES:
Relationship
o
o
C(string 1) < C(string 2)
1
1
C(string 1)
o
1
C(string 1) > C(string 2)
= C(string
2)
1. If L1 or L2 = 0, both the Zero and carry indicators are
turned ON, but no Illegal Procedure fault occurs.
2. An Illegal Procedure fault occurs if DU or DL
modifications are used for NFl or NF2 or if an illegal
repeat is used.
I",
8-140
DZ51-00
(
CMPB
CMPB
EXAMPLES:
1
8
CMPB
BDSC
BDSC
TRC
USE
FLD1
FLD2
OCT
OCT
32
, ,I
FLD1,4S,O,O
FLD2,48
EQU.GR
CONST.
0,777000000000
0,777000000000
fill bit 1 option
FLDl operand descriptor
FLD2 operand descriptor
FLD1 equal/greater than FLD2
bits compared (octal representation)
o 0 000 0 0 0 0 0 0 0 7 7 7 7
o 000 0 0 0 0 0 0 0 0 777 0
Result - FLD1 > FLD2
FLD1,36,O,O
FLD2,19,l,3
EQUAL
FLD1GR
FLD1LS
CONST.
18/-1
12/0,19/-1
no options
FLD1 operand descriptor
FLD2 operand descriptor
FLD1 = FLD2
FLD1 > FLD2
FLD1 < FLD2
bits compared (octal representation)
7 7 777 7 0 0 0 000
7 7 777 7 400 000
Result - FLD1 < FLD2
USE
CMPB
BDSC
BDSC
TZE
TRC
TRA
FLD1
FLD2
16
USE
VFD
VFD
USE
EXAMPLE WITH ADDRESS MODIFICATION:
1
8
EAX2
EAX6
EAX4
AWDX
CMPB
BDSC
ARG
TZE
USE
FLD1 VFD
FLD2 VFD
INDSCR BDSC
USE
32
16
12
6
FLD1
0,4,4
(l,l"X2},(,,1)
O,X6,O,O,4
INDSCR
EQUAL
CONST.
12/0,6/1
24/0,6/1
FLD2,9,2,6
load FLD1's bit modifier into X2
load FLD1's length into X6
load FLD1's address into X4
put FLD1's address into AR4
with modification
FLD1 operand descriptor
pointer to FLD2's indirect descriptor
FLD1 = FLD2
bits compared
memory contents
7 7 0
000077000000
7 7 0
000000007700
FLD2 indirect operand descriptor
Result - FLD1 = FLD2
(
8-141
DZS1-00
106
Compare Alphanumeric Character Strings
CMPC
(1)
FORMAT:
o
(
0 0
8 9
FILL
1
0
1 1
7 8
1
1
0
0
I
I I
MF2
Code
2
3
2
Y1
0
0--
Y1
a aa
1 1 2 2
7 8 a1
023
0
2 2
R1
3
2
3 4
3
5
N2
Y2
CODING FORMAT:
3
5
N1
CNl TAl
AR
MF1
1 1 2 2 222
7 8 o 1 234
2 3
AR
3
106(1)
I
000
o
Op
CN2
Y2
0-----------------0
R2
The CMPC instruction is coded as follows:
1
8
16
CMPC
AD5Cn
ADSCn
LOCSYM,CN ,N ,AM
LOCSYM,CN IN,AM
(MFl ) (MF2 ) ,FI LL
I
(Refer to Section 7 under Mu1tiword Instructions for
description of Mu1tiword Modification Field.)
8-142
DZ51-00
/
(
CMPC
CMPC
OPERATI NG MODES:
Any
SUMMARY:
C(string 1) :: C(string 2)
EXPLANATION:
starting at location yel, the string of alphanumeric
characters of type TAl is logically compared with the string
of alphanumeric characters of assumed type TAl that starts at
location YC2 until either an inequality is found or until thelarger tally (Ll or L2) is exhausted. If Ll is not equal to
L2, the FILL character is used to pad the least significant
characters of the shorter string. The contents of both
strings remain unchanged. Bits 21-23 of descriptor 2 are not
interpreted.
Bits 0-8 are compared for the FILL character to be used to
pad the least significant characters of the shorter string.
If a character string is a 6- or 4-bit character, zeros are
inserted at the left of each to produce 9-bit characters for
comparison.
I LLEGAL ADDRESS
(
MODIFICATIONS:
DU, DL for MFI and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
Carry
I NDI CATORS:
NOTES:
Relation
o
o
C(string 1) < C(string 2)
1
1
C(string 1)
o
1
C(string 1) > C(string 2)
= C(string
2)
1. An Illegal Procedure fault occurs if DU or DL modification
is used for MF1 or MF2 and if there are illegal repeats.
2. If Ll or L2 = 0, the zero and carry indicators are
affected as illustrated under Indicators.
('
8-143
DZ51-00
CMPC
CMPC
EXAMPLE:
1
8
CMPC
16
32
, ,020
compare with blank fill
field 1 operand descriptor
field 2 operand descriptor
both fields equal
field 1 greater
field 1 less
characters compared
ADSC6
ADSC6
FLOl,O,6
FL02,4,4
TZE
D;JUAL
TRC
FLOIGR
NULL
USE
CONST.
FLOI Bel
l,ABCJ)
FLD2
Bel
ABCDlSiS
ABCDiSiS
2, XXXXABCDXXXX
Result - FLOI
USE
8-144
=
FL02
DZ51-00
CMPCT
CMPCT
Compare Characters and Translate
CMPCI'
166
(1)
FORMAT:
1 1
7 8
0 1 1
8 9 o1
0
0
0
I
FILL
IdlH
I
166(1)
Y1
CN1
H
3
5
I
NFl
TAllO
3
5
N1
Y1
AR#
o
o
222
789
1 1 222 2 2
7 8 0 1 2 3 4
0
2
0
0
NF2
Op COde
1 1 2 2 2 2 2
7801234
0
2
3
5
Y2
CN2
AR#
0
0
N2
Y2
o
1 1 2 2 2 2 2
7801234
o
22333
89012
3
5
Y3
0----------------0 AR 0--0
AR#
REG
Y3
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
(
8-145
DZ51-00
CMPCT
CMPCT
OPERATl NG MODES:
Any
EXPLANATION:
Starting at lOcation YCl, the string of alphanumeric
characters of type TAl is logically compared with the string
of alphanumeric characters of assumed type TAl that starts at
location YC2, until either an inequality is found or until
the larger tally (L1 or L2) is exhausted.
If an inequality is found, the next action depends on d1 and
d2. If dl and d2 = 0 then both characters are
transliterated and the resulting characters compared. This
is accomplished as follows.
I
The character from the string starting at YCl and the
character from the string starting at YC2 are each used as an
index to a table of 9-bit characters starting at location
Y3. The two characters thus taken from the table are
compared, the indicators set as indicated below, and the
instruction terminates. For the case dl = d2 = 1, no
transliteration takes place: the indicators are set according
to the way the two original characters compared. When dl F
d2, one character is translated and the other is not, and
then the two characters are compared. For example, if dl = 1
and d2 = 0, the character from the string starting at YC2 is
transliterated (as described above> and compared with the
character from the string starting at YCl and the indicators
are set accordingly.
Note that a 9-bit compare is always made. If dl F d2 and the
nontranslated character is a 4- or 6-bit character, then the
upper bit positions of the character are zero-filled for the
9-bit compare.
If Ll F L2, fill characters are used to fill the low-order
character positions of the shorter string. The contents of
both strings remain unchanged.
The transliteration table must begin at a word boundary at
character position O. The index,' which is expressed by the
number of 9-bit characters, is added to the starting word
address of the table. The beginning address of the table is
calculated in the same manner as is any normal address
modification. However, the computed address is used as word
address, with character position ignored, and the index is
added to this word address as a 9-bit character number.
Refer to the MVT instruction specifications for details on
generating the transliteration table address when address
register modification is specified.
/"',
I
""'.--/
8-146
DZ51-00
CMPCT
CMPCT
ILLEGAL ADDRESS
NODI Fl CATIONS:
DU, DL for NFl or MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Let Cl = C(last char from string 1, translated if dl =
Let C2 = C(last char from string 2, translated if d2 =
carry
o
1
o
NOTES:
o
1
1
0)
0>
Relationship
Cl < C2
Cl = C2
Cl > C2
1. When L1 or L2 = 0, the zero and carry indicators are still
affected as indicated in the above table. If L1=L2=O, both
the zero and carry indicators are turned ON.
2. A 9-bit character (zero-filled as appropriate) and/or the
full 9 bits of the table entry are used in all
comparisons.
3. The CMPCT instruction is intended for comparisons in
situations where the character collating sequence is
different from the sequence of character codes.
4. If L1 < L2, and type TAl is 4- or 6-bit, the low-order 4
or 6 bits of the 9-bit FILL character in the instruction
are defined as a table index, respectively.
5.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-147
DZ5l-00
CMPN
CMPN
Compare Numer ic
CMPN
303
(1)
FORMAT:
1
0
0
0
1
1
1 1
I 0--------------0
0
0
Op
Code
2
8
7 8
MF2
303{l)
I
o0
1 1
7 8
2 3
3
5
MFl
I
I I
2 2 222
1 234
0
I
2
3
9
5
Yl
CNl TNl Sl
SFl
Nl
Yl
AR#
1 1 2 2 222
7 8 0 1 234
000
023
2
9
3
5
Y2
CN2 TN2 52
N2
Y2
AR#
CODING
SF2
The CMPN instruction is coded as follows:
1
8
16
CMPN
( MF1 ) , (MF2)
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
NDSC!!
NDSC!!
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERA'!'I NG MODES:
Any
8-148
DZSI-OO
(
CMPN
CMPN
SUMMARY:
C(string 2) :: C(string 1)
EXPLANATION:
Starting at location YC1, the decimal number of data type TNl
and sign and decimal type Sl is algebraically compared with
the decimal number of data type TN2 and sign and decimal type
S2 that starts at location YC2. The comparison effectively
subtracts number 1 from number 2. Zeros (4 bits - 0000) are
used to pad the integral and fractional parts of the shorter
field. Both nUr:lbers remain unchanged.
ILLEGAL ADDRESS
MODI FI CAT! ONS:
DU, DL for MF1 and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS :
Zero
a
a
1
a
a
Zero
Carry
Relationshi12
a
C(number 1)
C{number 1)
C(number 1)
1
0
NOTES:
Relationshi12
1
a
(
N~ative
1
1
C(number 1) > C(number 2)
C(number 1) = C(number 2)
C(number 1) < C(number 2)
>
=
<
C(number 2)
C(number 2)
C(number 2)
1. An IPR fault occurs if any character (least four bits)
other than 0000 - 1001 is detected where digits are
defined, or any character (least four bits) other than
1010 - 1111 is detected where the sign is defined by the
numeric descriptor.
2. An IPR fault occurs if the values for the number of
characters (Ni) of the data descriptors are not large
enough to hold the number of characters required for the
specified sign and/or exponent, plus at least one digit.
3. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-149
DZSI-OO
CMPN
CMPN
r-'"
~-,)
EXAMPLES:
1
8
CMPN
NDSC4
NDSC4
TZE
FLDl
FLD2
TM!
TNC
USE
EDEe
EDEe
USE
CMPN
NDSC9
NDSC4
FLDl
FLD2
16
FLD1,O,8,1,-2
FLD2,O,8,O
EQUAL
LESS
ABS.LT
CONST.
8P-12345
8P-123.45
TZE
TN!
FLD1,2,2,3
FLD2,O,8,2,-3
EQUAL
LESS
TRA
GREATER
USE
EDEe
EDEe
USE
CONST.
4AOOl2
8Pl2000+
32
no modification
FLDl operand descriptor
FLD2 operand descriptor
FLD2 = FLDl
FLD2 < FLOl
IFLD21 < IFLD11
numbers compared
- 0 0 123 4 5
- 0 0 1 2 3 4 5
Result - FLD2 = FLDl
no modification
FLDl operand descriptor
FLD2 operand descriptor
FLD2 = FLDl
FLD2 < FLDl
FLD2 > FLDl
numbers compared
+ 0 0 1 2 0 0 0
+ 0 012 0 0 0
Result - FLD2 = FLDl
j
EXAMPLE WI TH ADDRESS MODI FI CATION:
1
8
16
32
EAX2
EAX6
EAX4
AWDX
CMPN
NDSC4
ARG
2
6
FLDl
0,4,4
(1,l"X2),(,,1)
O,O,X6,3,-3,4
FLD2.I
EQUAL
MORE
LESS
CONST.
8P123456
8Pl23456+
FLD2,O,8,2,-2
load character modifier into X2
load FLDl length into X6
load FLD1 address into X4
put FLDl address into AR4
with address modification
FLDl operand descriptor (FLDl,2,6,3,-3)
pointer to FLD2 operand descriptor
FLD2 = FLDl
FLD2 > FLDl
FLD2 < FLDl
numbers compared
+ 0 0 1 2 345 6
+ 0 1 2 3 456 0
TZE
TPL
TRA
USE
FLD1 EDEe
FLD2 EDEe
FLD2.I NDSC4
USE
Result - FLD2 > FLDl
-""
8-150
DZ51-00
(-
CMPNX
CMPNX
CMPNX
Compare Numeric Extended
343 (1)
FORMAT:
1 1
o1
0 0 0
0 1 2
H
1 1
7 8
MF2
01 00-------------00 1
0
0
Op
1 1
7 8
222
3
789
5
II I
343(1)
I
0
2
Code
2 2 222
1 234
0
MF1
I
2 3
3
9 0
5
Yl
CN1 TN1 SX1
N1
Yl
AR#
o
o
SF1
1 1
7 8
0
2
Y2
AR#
CODING FORMAT:
2 2 222
0 1 234
CN2 TN2 SX2
2 3
3
5
9 0
SF2
N2
Y2
1
8
16
CMPNX
NDsCn
NDSCn
LOCSYM, CN ,N ,SX , SF ,AM
LOCSYM, CN ,N ,SX, SF ,AM
(MFI ) , (MF2) ,CS
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 1) :: C(string 2)
8-151
DZS1-OO
CMPNX
CMPNX
EXPLANATION:
Starting at location YC1, the decimal number of data type TNl
and sign and decimal type SKl is ~lgebraically compared with
the decimal number of data type TN2 and sign and decimal type
SK2 that starts at location YC2. The comparison effectively
subtracts number 1 from number 2. Zeros (4 bits - 0000) are
used to pad the integral and fractional parts of the shorter
field. Both numbers remain unchanged.
The character set is defined by CS (EBCDIC/ASClI).
ADDRESS
MODIFICATIONS:
I LLEGAL
I LLEGAL
REPEATS:
I NDI CATORS :
DU , DL for NFl or .MF2
RPT I RPD I RPL
~
Negative
0
1
0
1
0
0
Carry
0
1
NOTES:
RelationshiQ
C(number I} > C(number 2)
C(number 1) = C(number 2}
C(number 1) < C(number 2)
RelationshiQ
/
IC(number 1) I > IC(number 2) I
C(number 1) ~ C(number 2)
/'
1. An IPR fault occurs if any character (least four bits)
other than 0000 - 1001 is detected where digits are
defined, or if any character (least four bits) other than
1010 - 1111 is detected where the sign is defined by the
numeric descriptor.
2. An IPR fault occurs if the values for the number of
characters (Ni) of the data descriptors are not large
enough to hold the number of characters required for the
specified sign and/or exponent, plus at least one digit.
3. Refer to the specifications on MVNX for information on
coding of overpunched signs.
4. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-152
"'\
DZ5l-00
I
(
CMPQ
CMPQ
CMPQ
Compare with Q-Register
116 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(Q) :: C(Y); C(Q) and C(Y) unchanged
ILLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Algebraic comparison (Signed Binary Operands)
Relationship
Zero Negat i ve Carry
o
o
1
o
o
o
o
o
o
1
1
1
1
1
C(Q)
C(Q)
C(Q)
C(Q)
C(Q)
o
> C(Y)
> C(Y)\
Sign
C(Q)o=0,C(Y)0=1
= C(Y) > C(Q)o=C(Y)o
< C(Y)/
< C(Y)
C(Q)O=1,C(Y)0=0
Logical comparison (Unsigned Positive Binary Operands)
Relationship
o
1
o
1
1
o
C(Q) > C(Y)
C(Q> = C(Y)
C(Q) < C(Y)
(
8-153
DZ5l-00
CMPXn
CMPXn
II
Compare with Index Register !!
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
10!!
(0)
For n = 0,1, ••• , or 7 as determined by op code
C(Xn) :: C(Y)0-17: C(Xn) and C(Y) unchanged
ES Mode
For n = O,l, ••• ,or 7 as determined by op code
C(GXn) :: C(Y): C(GXn) and C(Y) unchanged
ILLEGAL ADDRESS
MODI Fl CATl ONS :
CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL of CMPXO
I NDI CATeRS:
Algebraic (signed binary) comparison:
NS Mode
Zero Negative carry Relationship
o
o
1
o
o
o
o
o
o
C(Xn)
C(Xn)
C(Xn)
C(Xn)
C(Xn)
1
1
o
1
1
1
Sign
> C(Y)0-17 C(Xn)O=O,C(Y)O=l
> C(Y)O-17\
= C(Y)0-17 >C(Xn)O=C(Y)O
C(Y)O-171
< C(Y)O-17 C(Xn)O=l,C(Y)O=O
<
ES Mode
Zero N~ative carry Relationship
0
0
1
0
0
0
0
0
1
1
0
1
1
0
1
C(GXn)
C(GXn)
C(GXn)
C(GXn)
C(GXn)
8-154
C(Y)
C(Y)
= C(Y)
< C(Y)
< C(Y)
>
>
Sign
C(GXn)O=O,C(Y)O=l
\
>e(GXn)o=C(Y)O
I
C(GXn)O=l,C(Y)O=O
DZSI-00
(
CMPXn
CMPXn
Logical comparison (Unsigned Positive Binary Operands)
NS Mode
Zero
0
1
0
ES Mode
Zero
1
1
0
Relationship
C(Xn) > C{Y)O-17
C(Xn) = C{Y)O-17
C(Xn) < C(Y)O-17
carry
Relationship
1
1
1
0
0
C(GXn) > C(y)
C(GXn) = C(Y)
C(GXn) < C(Y)
0
NOTES:
carry
l. When DL modification is specified in the NS Mode I it is
executed with all zeros for data.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
(
8-155
DZ5l-00
CMRR
CMRR
Compare Register to Register
CMRR
534 (1)
FORMAT:
a
a
1 1
7 8
Not Used
CODING FORMAT:
1
I
OP CODE
222
789
3 3
1 2
II I
I
MBZ
3
5
R2
I
16
8
R1, ,R2
CMRR
OPERATING MODES:
Executes in
SUMMARY:
Rl, R2, = 0, 1, 2, 3, 4, 5, 6, 7, A, Q
ES
mode only
C(R1) : : C(R2)
C(R1), C(R2) unchanged
EXPLANATION:
C(R1) is compared with C(R2) and the indicators are set as
indicated below.
ILLEGAL ADDRESS
MODIFICATIONS
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
INDICATORS:
Algebraic (signed fixed-point) Comparison
Zero
N~ative
0
0
0
0
1
a
0
0
1
i
carry
a
1
1
0
1
8-156
RelationshiQ
C(Rl)
C(Rl)
C(Rl)
C(Rl)
C(Rl)
Sign
> C(R2)
> C(R2)
C(Rl)O=O, C(R2)O=1
< C(R2)
< C(R2)
I
= C(R2)
\
>
C(Rl)0=C(R2)o
C(Rl)O=l, C(R2)O=O
DZ51-00
(
CMRR
CMRR
Logic (unsigned fixed-point) Comparison
o
1
o
NOTES:
Carry
Relationship
o
C(R1) < C(R2)
C(Rl) = C(R2)
C(Rl) > C(R2)
1
1
1. An IPR fault occurs if illegal repeats are executed or if the
instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7 for a
description of the fields in the instruction word.
8-157
DZ5l-00
CNAA
CNAA
CNAA
Comparative NOT AND with A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NGMODES:
Any
SUMMARY:
For i
C(Q)
ILLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
=0
~nd
to 35, C(Z)i
= C(A)i
I
215 {OJ
AND C(Y)i
C(Y) unchanged
-
Negative -
= 0, then ON; otherwise, OFF
CCZ)O = 1, then ON; otherwise, OFF
If cCZ)
If
8-158
DZ51-00
(
CNAAQ
CNAAQ
CNAAQ
Comparative NOT AND with AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
=0
to 71, C(Z)i
= C(AQ)i
217 (0)
AND C(Y-pair)i
C(AQ) and C(Y-pair) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC,
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
Negative NOTE:
(
SCR
= 0, then ON; otherwise, OFF
If C(Z)
If C(Z)O
= 1,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-159
DZ51-00
CNAQ
CNAQ
CNAQ
Comparative NOT AND with Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY
For i
I LLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
=0
-
to 35, C(Z)i
= C(Q)i
216 (0)
AND C(Y)i
= 0, then ONi otherwise, OFF
C(Z)O = 1, thenONi otherwise, OFF
If C(Z)
Negative - I f
8-160
DZ51-00
(
CNAXn
CNAXn
Comparati ve NOT AND with I ndex Register
n
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
20n (0)
= O,l, ••• ,or 7 as determined by op code
= 0 to 17, C(Z)i = C(Xn)i AND C(Y)i
For i
C(Xn) and C(y) unchanged
ES Mode
For n
= O,l, ••• ,or
7 as determined by op code
For i = 0 to 35, C(Z)i = C(GXn)i AND C(Y)i
C(GXn) and C(y) unchanged
(
ILLEGAL ADDRESS
MODIFICATIONS:
CI,
ILLEGAL REPEATS:
RPT, RPD, RPL of CNAXO
INDICATORS:
Zero
SC, SO
-
Negative NOTES:
If C(Z)
If C(Z)o
= 0,
= 1,
then ON: otherwise, OFF
then ON: otherwise, OFF
1. DL modification is flagged illegal but executes with all
zeros for data.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-161
DZ51-00
CSL
CSL
060 (l)
Combine Bit Strings Left
CSL
FORMAT:
o0
0 0
0 0 I
I
I I
Op
Code
2 2
060(1)
MF2
o 00
3
2
Y1
B1
0-------
Y1
2 3
Y2
CODING FORMAT:
C2
Y2
RI
0
I I 2 2 222
7 8 0 I 234
000
AR#
3
5
NI
CI
o
NFl
I 1 2 2 222
7 8 0 I 234
023
AR#
3
3
5
3
2
N2
B2
0--------0
R2
The CSL instruction is coded as follows:
1
8
16
CSL
BDSC
BDSC
(MF1),(MF2),BOLR,F,T
LOCSYM,N,C,B,AM
LOCSYM,N,C,B,AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
8-162
DZS1-00
CSL
CSL
OPERATING MODES:
Any
SUMMARY:
C(string 1) : (BOLR) : C(string 2) --> C(string 2)
EXPLANATION:
The string of bits starting at location YCBl is evaluated,
bit by bit, with the string starting at location YCB2 and the
appropriate bit from the BOLR control field is placed into
each corresponding bit of the string starting at location
YCB2. If Ll is greater than L2, the least significant L1-L2
bits of string 1 are truncated and the Truncation indicator
is set. If L1 is less than L2, the fill bit (F) is used as
the L2-L1 least significant bits of string 1. The contents
of string 1 remain unchanged.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL for MFl and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS :
Zero
If all the resultant bits generated are zero,
then ON if L2=0 and L1 ~ 0; otherwise, OFF
Truncation -
If L1 is > L2, then ON; otherwise, OFF
If Ll>O and L2=O, then ON. If Ll=L2=O, then
OFF.
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification is used or if an illegal repeat is used.
2. An IPR fault does not occur even when Ll = 0 or L2 = O.
In this case, the zero and truncation indicators are
affected.
8-163
DZS1-00
CSL
eSL
EXAMPLES:
8
FLD1
FLD2
32
REM
BITS 0-17 OF F102 FORCED ON
CSL
,,07,,1
"ORING" with truncation enable option
BDSC F101,24,1,3 F101 operand descriptor
BDSC F102,18,0,0 F102 operand descriptor
USE
CONST
memory contents in octal
VFD
12/0,18/-1,6/0
00007 7 7 7 7 7 0 0
10A
0,2
0 0 0 0 0 0 2 3 5 01 2
USE
7 7 7 7 7 7 2 3 5 0 1 2 (Resu1 t )
REM
CSL
BDSC
BDSC
USE
FLD2
16
DEC
USE
BITS 18-35 OF
, ,06,1.
,0
FLD2,18,2,0
CONST.
o
FLD2 INVERTED
exclusive OR with fill bit 1 option
F101 operand descriptor
F102 operand descriptor
memory contents in octal
000000000000
o 0 0 0 0 0 7 7 7 7 7 7 (Result)
EXAMPLE -'."'1 TH ADDRESS MODI FI CATION:
1
FLD2
8
16
32
EAX6
12
load char and bit address modifier into X6
EAX7
54
load FLD2 length into X7
EAX4
F102
load F102 address into X4
AWDX
0,4,4
put FLD2 address into AR4
CSL
(,,1),00,(1,1,,6),00 clear operation with address
2,4
modification ARG
pointer to FLD1 indirect operand descriptor
BDse
0,X7",4
FLD2 operand descriptor (FLD2,54,1,3)
USE
CONST.
memory contents in octal
VFD
36/-1,36/-1 777777777777 777777777777
BDSe,O
F101 operand descriptor (control field zeros)
USE
777700000000 000000000077 (Result)
8-164
DZ51-00
(
..
CSR
CSR
Combine Bit Strings Right
CSR
061 (1)
FORMAT:
o0
o1
o0
4 5
1 1
7 8
001 1
890 1
Heeee ImLR 1+ 1
MF2
Op
2
8
060(1 )
1
0 o0
0 2 3
Code
3
2
3
5
B1
Y1
0----------0
1 1 2 2 222
7 8 0 1 234
000
023
R1
3
2
Y2
3
5
N2
C2
CODING FORMAT:
1
NI
CI
AR#
MF1
1 1 2 2 222
7 8 o I 234
YI
AR#
H
3
5
Y2
B2
0-------0
R2
The CSR instruction is coded as follows:
1
8
16
CSR
BDSC
BDSC
(MF1),(MF2),BOLR,F,T
LOCSYM,N,C,B,AM
LOCSYM,N,C,B,AM
(Refer to Section 7 under Multiword Instructions for description
of Multiword Modification Field.)
OPERAT! NG MODES:
Any
SUMMARY:
C(string 1)
(BOLR)
C(string 2) --> C(string 2)
(
8-165
DZ51-00
CSR
CSR
EXPLANATION:
This instruction operates the same as CSL except that the
starting locations are YCBl + (Ll-l) and YCB2 + (L2-l) and
the evaluation is from right to left (least to most
significant bits). Any truncation or fill is of most
significant bits.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for NFl and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
same as for CSL
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification is used or if an illegal repeat is used.
2. An IPR fault does not occur even when Ll = 0 or L2 = O.
In this case, the zero and trunctaion indicators are
affected.
EXAMPLES:
1
8
16
32
CSR
, ,14, ,1
FLDl,18,2,0
FLI>2,12,O,O
CONST.
444444
0
invert with truncation fault enable option
FLDl operand descriptor
FLI>2 operand descriptor
memory contents in octal
000000444444
333300000000 (Result)
truncation
BDse
BDse
USE
FLDl
FLD2
OCT
DEe
USE
CSR
FLD2
BDse
BDse
USE
BSS
USE
,,17
force ones operation
FL01 operand descriptor
,0
FLI>2,36,O,O
CONST.
FLD2 operand descriptor
memory contents in octal
1
77777 7 7 7 7 777
(Result)
none
8-166
DZ5l-00
'-
"_./
CWL
CWL
CWL
Compare with Limits
111 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y) :: closed (algebraic) interval [C(A), C(Q)] and
(algebraic comparison) C(Y) :: C(Q)
C(y), C(A), C(Q) are unchanged
EXPLANATION:
(
This instruction tests the algebraic value of C(Y) to
determine if it is within the range of algebraic values
bounded by C(A) and C(Q). The indicators are then set to
reflect the result. This instruction is not recommended for
logical (unsigned) comparisons.
I LLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
N~ative
-
If C(Y) is contained in the closed interval
[C(A), C(Q)] i.e., either C(A) ~ C(Y) ~ C(Q) or
C(A) ~ C(Y) ~ C(Q), then ON; otherwise, OFF
carry
0
0
0
1
1
1
0
1
Relationshil2
Sign
C(Q) > C(Y) C(Q)o
C C(EAQ):
C{Y-pair) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
OU, DL,
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
a,
SC, SCR
= 0, then ON: otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
- If C{AQ)
Negative - If
Exponent
Overflow - If exponent is > +127, then ON
Exponent
Underflow - If exponent of floating point result < - 128,
then ON
carry
NOTES:
- If a carry out of bit 0 ofC(AQ) is generated,
then ON; otherwise, OFF
1. The definition of normalization is located under the
description of the FNO instruction.
2. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is CPU
mode register, bit 33.
3. An Illegal Procedure fault occurs if illegal address
modification is used.
8-168
DZS1.... OO
DFCMG
DFCMG
DFCMG
Double-Precision Floating COmpare Magnitude
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
IC(E,AQO-63>I :: IC(Y-pair)l; magnitude comparison
427 (0)
C(EAQ ), C(Y-pa ir) unchanged
EXPLANATION:
This comparison is executed as follows:
1. Compare C(E) :: C(Y)0-7, select
exponent, and shift its mantissa
the difference of the exponents.
equals or exceeds 72, the number
is defined as zero.
the number with the lower
right as many places as
If the number of shifts
with the lower exponent
2. Compare the absolute values of the mantissas and set the
indicators accordingly.
The DFCMG instruction is identical to the DFCMP instruction
except that the magnitudes of the mantissas are compared
instead of the algebraic values.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
None
INDICATORS:
Zero
NOTES:
N~ative
0
1
0
0
0
1
Relationshi:Q
C(E,AQO-63)
C(E,AQO-63)
C(E,AQO-63)
> C(Y-pair)
=
<
C(Y-pair)
C(Y-pair)
1. When indicator bit 32 = 1 and hex permission flag = 1, the
floating-point alignment is hexadecimal. Otherwise, the
floating-point alignment is binary. The hex permission
flag is CPU mode register, bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
(8-169
DZS1-00
DFCMP
DFCMP
DFCMP
Double-Precision Floating COmpare
517 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(E,AQO-63) :: C(Y-pair); C(EAQ), C(Y-pair) unchanged
EXPLANATION:
This comparison is executed as follows:
a. Compare C(E) :: C(Y)O-7, select
exponent, and shift its mantissa
the difference of the exponents.
equals or exceeds 72, the number
is defined as zero.
the number with the lower
right as many places as
If the number of shifts
with the lower exponent
b. Compare the mantissas and set the indicators accordingly.
The DFCMP instruction is identical to the FCMP instruction
except for the precision of the mantissas actually compared.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
NOTES:
Negative
"
Relationshi:Q
0
0
IC(E,AQO-63) I > IC(Y-pair) I
1
0
IC(E,AQO-63) I
0
1
IC(E,AQO-63) I < IC(Y-pair) I
1. When indicator bit
the floating-point
the floating-point
permission flag is
= IC(Y-pair)I
32 = 1 and the hex permission flag = 1,
alignment is hexadecimal. Otherwise,
alignment is binary. The hex
Mode register, bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-170
DZ51-00
(
DFDI
DFDl
DFDI
Double-Precision Floating Divide Inverted
527 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y-pair) / C(EAQ) -> C(EAQ): C(Y-pair) unchanged
EXPLANATION:
If AQ64-7l is not = 0 and AO = 0, a 1 is added to AQ63. zero is
moved to AQ64-7l, unconditionally. AQO-63 is then used as the
divisor mantissa. The 8-bit dividend exponent and 72-bit
mantissa are placed in working registers. The dividend mantissa
is shifted right, and the dividend exponent is increased
accordingly until: IDividend mantissa I < IC(AQ)0-631. When
such a shift occurs, significant bits from the dividend may be
lost.
C(AQ)0-63 is used as the divisor mantissa. 64 bits of quotient
mantissa are placed in AQO-63. Zeros are placed in AQ64-7l.
(
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, Cl, SC, SCR
ILLEGAL REPEATS:
None
When Division Occurs
When No Division Occurs
Zero
If C(A) = 0, then ON:
otherwise, OFF
If divisor mantissa =0,
then ON: otherwise, OFF
Negative
If C{AQ)O = 1, then
ONi otherwise, OFF
If dividend < 0, then
ON: otherwise, OFF
I NDI CATORS :
Exponent
Overflow
Exponent
Underflow
If quotient exponent
is > +127, then ON
If exponent of floating
point result < - 128, then ON
(
8-171
DZ5l-00
DroI
DroI
NOTES:
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Hode
register bit 33.
2. If the divisor mantissa C(AQ) is zero, the division does
not take place. Instead, a Divide Check fault occurs and
all registers remain unchanged. The dividend and divisor
are not normalized by the hardware prior to division.
3. An Illegal Procedure fault occurs if illegal address
modification is used.
/
8-172
DZSl-OO
DFDV
DFDV
DFDV
Double-Precision Floating Divide
567 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ) I C(Y-pair) -> C(EAQ); C(Y-pair) unchanged
EXPLANATION:
C(AQ)0-7l are used by this instruction. If the divisor
mantissa C(Y-pair)8-7l is zero, then the division does not
take place. Instead, a Divide Check fault occurs. The
divisor C(Y) remains unchanged, C(AQ) contains the dividend
magnitude in absolute, and the Negative indicator reflects
the dividend sign. Dividend and divisor are not normalized
by the hardware prior to division.
The dividend mantissa C(AQ) is shifted right and the dividend
exponent is increased accordingly until
IC(AQ)o-63I < IC(y-pair)8- 7t' with zero filli.
C(E) - C{Y-pair)O-7 --> C E)
When such a shift occurs, significant bits from the dividend
may be lost. 64 bits of the quotient mantissa are placed in
AQO-63. Zeros are placed in AQ64-7l.
When the divisor mantissa is a, division is not executed and
a Divide Check fault occurs. The absolute value of the
dividend is loaded into AQ, and the Negative indicator is set
in accordance with the sign of the dividend.
Refer to the FDV instruction for details of the method of
shifting the dividend.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
(
8-173
DZ51-00
DFDV
DFDV
When Division Occurs
When No Division Occurs
Zero
If C(A) = 0, then ON;
otherwise, OFF
If divisor mantissa =0,
then ON: otherwise, OFF
Negative
If C(AQ)O
I NDI CATORS :
= 1,
then
If dividend < 0,
then ON: otherwise, OFF
ON: otherwise, OFF
Exponent
Overflow
Exponent
Underflow
NOTES:
If quotient exponent
is > +127, then ON
If exponent of floating
point result < - 128, then ON
1. When indicator bit 32=1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-174
DZSI-00
(
DFLD
DFLD
DFLD
Double-Precision Floating Load
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y-pair), 00 ••• 0 --> C(EAQ); C(Y-pair) unchanged
433 C(E)
C(Y-pair)S-71 --> C(AQ)0-63
00 ••• 0 --> C(AQ)64-71
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
zero
-
Negative NOTE:
= 0,
If C(AQ)
If C(AQ)O
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-175
DZ5l-00
DFLP
DFLP
DFLP
Double-Precision F10C1ting Load Positive
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
IC(Y-pair)l, normalized --> Z
532 (0)
ZO-7 --> C(E)
ZS-71 --> C(AQ)0-63
00 ••• 0 --> C(AQ)64-71
EKPLANATION:
The memory operand C(Y) is processed as double-precision
floating-point data. The absolute value of this data is
normalized and its exponent, mantissa (bits 8-71), and 0 are
loaded into C(E), C(AQ)O-63, and C(AQ)64-7l, respectively.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O = 1, then ON; otherwise, OFF
Exponent
Overflow
-
I f exponent > +127, then ON.
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
NOTE:
= 0,
then ON; otherwise, OFF
Illegal Procedure fault occurs if illegal address
modification is used.
An
8-176
DZ51-00
DFMP
DFMP
DFMP
Double-Precision Floating Multiply
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) * C(Y-pair}]
C(Y-pair) unchanged
EXPLANATION:
This multiplication is executed as follows:
463 (0)
normalized --> C(EAQ}i
C(E) + C(Y-pair)0-7 --> C(E}.
C(AQ) * C(Y-pair}S-71 results in a 134-bit product plus
sign. This sign plus the leading 71 bits are loaded into the
AQ. C(EAQ} normalized --> C(EAQ).
The definition of normalization is located under the
description of the FNO instruction.
(
ILLEGAL ADDRESS
MODIFICATIONS:
I
LLEGAL REPEATS:
I NDI CATORS:
NOTES:
DU, DL, CI, SC, SCR
None
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
1. When indicator bit 32 = 1 and the hex permission flag = 1,
floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-177
DZS1-OO
DFRD
DFRD
DFRD
Double-Precision Floating Round
473 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERA'l'I KG MODES:
Any
SUMMARY:
C(EAQ) rounded to 64 bits and normalized --> C(EAQ)
EXPLANATION:
A true round is performed on C(EAQ) to reduce the mantissa of the
floating-point number to 64 bits. The exponent is set to -128 if
the rounded mantissa = O.
This instruction is identical with FRO except that the rounding
constant is added to bits 65-71 and the results are rounded to 64
bits of precision. Bits 64-71 of C(AQ) are replaced by zeros.
The definition of normalization is located under the description
of the FNO instruction.
I LLEGAL ADDRESS
MODI FI CAT! ONS :
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
None
INDICATORS
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Exponent
Overflow
-
If exponent> +127, then ON
EXponent
Underflow
-
If exponent of floating point result < - 128, then
ON
NOTES:
= 0,
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
1. When indicator bit 32 = 1 and the hex permission flag = 1, the
floating-point alignment and normalization are hexadecimal.
Otherwise, the floating-point alignment and normalization are
binary. The hex permission flag is mode register bit 33.
2.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-178
DZ5l-00
(
DFSB
DFSB
DFSB
Double-Precision Floating Subtract
577 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) - C(Y-pair)]
C(Y-pair) unchanged
EXPLANATION:
The definition of normalization is located under the
description of the FNO instruction.
LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
normalized -> C(EAQ):
I
NOTES:
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is mode
register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-179
DZS1-OO
DFSBI
DFSBI
DFSBI
Double-Precision Floating Subtract Inverted
467 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
[C(Y-pair) - C(EAQ)]
C(Y-pair) unchanged
EXPLAHATION:
The two's complement of the subtrahend is first taken and the
smaller value is then right shifted to equalize it. The
shifted portion is truncated and the addition is executed.
After addition, the sum is normalized and the 72 bits of the
mantissa are loaded into AQ.
normalized -> C(EAQ):
The order of execution of the operation conforms to that of
the DFSB instruction. Normalization is defined under FNO.
I LLEGAL ADDRESS
·MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATeRS
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Exponent
Overflow
-
I f exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
NOTE:
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-180
DZSI-OO
DFST
DFST
DFST
Double-Precision Floating Store
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(E) --> C(Y-pair)0-7
457 (0)
C(AQ)0-63 --> C(Y-pair)8-71
C(EAQ) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-181
DZ51-00
DFSTR
DFSTR
DFSTR
Double-Precision Floating Store Rounded
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ)0-7l rounded, normalized --> C(Y-pair):
472 (0)
C(EAQ) unchanged
EXPLANATION:
This instruction performs a true round on C(EAQ) to 64 bits
of precision in C(AQ). The result is normalized and stored
in the Y-pair •. C(EAQ) is unchanged. The exponent is stored
as -128 if the rounded mantissa = o. (See the FRO
instruction for the definition of true round.)
Except for precision, this instruction is identical with the
FSTR instruction.
The definition of normalization is located under the
description of the FNO instruction.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(Y-pair) = floating-point zero, then ON:
otherwise, OFF
Negative
-
If C(Y-pair)a
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent of floating point result
then ON
8-182
= 1,
then ON: otherwise, OFF
< -
128,
DZS1-OO
(
DFSTR
DFSTR
NOTES:
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-183
DZ51-00
DIS
DIS
DIS
Delay Until Interrupt Signal
616 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Executes in NS mode only with Privileged Master mode
SUMMARY:
No operation takes place other if enabled, PATROL is
invoked. The processor does not continue with the next
instruction, but waits for a program interrupt signal. When
an interrupt occurs, PATROL is stopped.
ILLEGAL ADDRESS
MODIFICATIONS:
None. Modification is performed, including modification of
any indirect words specified. However, the effective address
has no effect on the operation, including the final value of
the instruction counter.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. The inhibit bit in this instruction only affects the
recognition of a Timer Runout (TRO) fault as follows:
o Inhibit ON delays the recognition of a TRO. until the
processor enters Slave mode.
o Inhibit OFF allows the TRO to interrupt the DIS state
For all other faults and interrupts, the inhibit bit is
ignored.
2. A Command fault occurs if execution is attempted in Slave
or Master mode.
3. An IPR fault occurs if this instruction is used in the ES
mode.
8-184
DZ5l-00
(
DIV
DIV
DIV
Divide Integer
506 (0)
FORMAT:
Single-word instruction format C(Q), right-adjusted
integral remainder --> C(A), right-adjusted
C(y) unchanged
EXPLANATION:
C(Q) and C(Y) are considered as 36-bit integers (including
sign). The integer quotient of C remains
unchanged, C contains the jividend magnitude, and the
Negative indicator reflects the dividend sign, and C(A) is set
to zero.
T
8-186
DZ51-00
/
(
DRL
DRL
DRL
Dera il Fault
002 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES
Any
EXPLANATION:
DRL generates a Derail fault, which causes the processor to
switch to Privileged Master mode and execute an Inward CLIMB
instruction using the entry descriptor obtained from the word
pair in memory locations 32 and 33 octal.
If the safestore bypass flag in the option register = 1, a
safestore frame is generated. The size of this safestore
frame is determined by the type of the entry descriptor. The
occurrence of the DRL fault is indicated in the safestore
frame by a code of 00110 in bits 12-16 of word 5.
The wired-in CLIMB instruction functions as though the second
word of the CLIMB instruction had the following
characteristics:
(
E
=0
C18
C19
C22-23
S, D
No parameters
Do not load XO
No effect. Turn Master Mode indicator ON.
Inward CLI MB
No effect
=a
The entry descriptor specifies a descriptor to be ob~ined
from the linkage segment for loading into the instruction
segment register (ISR). The entry descriptor also specifies
the value to be loaded into the instruction counter (ID).
The processor is placed in Privileged Master mode for the
execution of the wired-in CLIMB. Upon completion of the
CLIMB, the processor remains in Privileged Master mode if
flag bit 26 of the new ISR = 1 (privileged): otherwise, the
processor changes to Master Mode.
ILLEGAL ADDRESS
MODIFICATIONS:
Not executed
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Master Mode - ON
(
8-187
DZ5l-00
DTB
DTB
Decima1-to-Binary Convert
DTB
305
(1)
FORMAT:
1 1
o1
0
0
I
0
-----0
I
7 8
MF2
0 o0
0 2 3
2 2 222
7 8 0 1 234
3
5
II
NFl
I
2 3
9 0
Yl
Nl
R1
00
1 1 2 2
233
7 8
902
Y2
0 1
CN2 0--------------0
Y2
I
3
5
3
2
CNl TNl Sl 0 - - - - - 0
023
COOl NG FORMAT:
305(1)
1 1
000
AR#
2 2 2
8 9
7
I
Y1
AR#
Op. Code
1 1
3
5
N2
00
R2
The DTB instruction is coded as follows:
1
8
16
DTB
NDsCn
NDSeS
(NFl) , (MF2)
LOCSYM,CN,N,S"AM
LOCSYM,CN,N",AM
(Refer to Section 7 under Mu1tiword Instructions for description
of Mu1tiword Modification Field.)
OPERATI NG MODES:
Any
8-188
DZ5l-00
,/
(-
DTB
DTB
converted
SUMMARY:
C(string 1)
-------> C(string 2)
The string of decimal characters of data type TNl, sign and
decimal type S1 (S1 = 00 is illegal), and scale factor 0 that
starts at YC1 is converted into a two's complement binary
integer and stored, right-justified, as a character string of
length L2, starting at location YC2. If the string generated
is longer than 12, the high-order excess is truncated and the
overflow indicator is set. CN2 is given in the 9-bit
character format with legal codes of 000, 010, 100, and 110.
If string 1 contains more than 32, when the generated binary
string is longer than L2, the upper bits are truncated and
the overflow indicator is set.
CN2 specifies the value for the 9-bit character format, the
correct codes being 000, 010, 100, or 110. L2 specifies the
length of .the stored binary value in 9-bit units, and must be
equal to or less than 8. The length of the stored binary
value is 9, 18, 27, 36, 45, 54, 63, or 72 bits.
Provided that string 1 and string 2 are not overlapped, the
contents of string 1 remain unchanged.
(
I LLEGAL ADDRESS
MODI FI CATIONS:
I
LLEGAL REPEATS:
I NDI CATORS :
DU, DL for MF1 and MF2
RPT, RPD, RPL
Zero
-
If all the resultant bits generated are zero,
then ON; otherwise, OFF
Negative -
If the resultant sign is negative, then ON:
otherwise, OFF
Overflow -
If L2 is less than the number of 9-bit segments
generated, then ON; otherwise, unchanged
8-189
DZ51-00
DTB
DTB
NOTES:
1. An Illegal Procedure fault occurs for the following
reasons:
o If
DU
or DL modifications are used for NFl or
MF2
o If L2 is less than 1 or > 8
o If CN2 does not contain a legal code
o If Sl = 00
o If illegal digit or sign is detected in string 1
o If Nl is not large enough to specify the number of
characters required for the specified sign and/or
exponent, plus at least one digit
2. An IPR fault occurs if illegal address modification is
specified or if an illegal repeat is used.
3. If string 1 has the value -2**(9*L2-l), the result is zero
and the overflow indicator is turned ON.
4. If string 1 contains more than 22 significant digits, an
incorrect result is produced and the overflow indicator is
turned ON.
5. If the binary result is longer than L2 9-bit characters,
the most significant nontruncated bit is forced to agree
with the result sign.
8-190
DZ5l,:",00
\
~. .-/
f
DTB
DTB
EXAMPLES:
1
FLD1
FLD2
8
DTB
NDSC4
NDSC9
USE
EDEC
BSS
16
32
FLD1,3,5,2
FLD2,O,4
CONST.
8P12341
decimal operand descriptor
binary operand descriptor
memory contents in octal
o0 0 0 0 1 0 4 3 1 1 5
7 7 7 7 7 7 7 7 545 6 (Result)
any indicators set? negative
USE
FLD1
FLD2
(
FDL1
FLD2
FLD1
FLD2
DTB
NDSC9
NDSC9
USE
EDEC
BSS
USE
FLD1,O,22,3
decimal operand descriptor
FLD2,O,8
binary operand descriptor
memory contents
CONST.
22A2361183241434822606847 (maximum decimal value)
377777777777777777777777 (Result)
2
any indicators set? none
DTB
NDSC4
NDSC9
USE
EDEC
DEC
USE
FLD1,3,3,3
FLD2,2,2
CONST.
8P51200
-1
decimal operand descriptor
binary operand descriptor
memory contents in octal
000 0 0 502 200 0
7 7 7 777 0 0 1 000
any indicators set? none
DTB
NDSC9
NDSC9
USE
EDEC
DEC
USE
FLD1,O,4,3
FLD2,3,1
CONST.
4AlO23
0
decimal operand descriptor
binary operand descriptor
memory contents in octal
061 060 062 063
o0 0 0 0 0 0 0 0 7 7 7
any indicators set? overflow
(
8-191
DZ51-00
DTB
DTB
EXAMPLE WITH ADDRESS MODIFICATION:
1
8
16
32
EAXO
°2
FLD2
load FLD character modifier into xo
load FLD2 length into X4
load FLD2 address modifier into X7
put FLD2 address modifier into AR4
with modification
pointer to FLDl indirect descriptor
binary FLD2 descriptor (FLD2,0,2)
zeros was the result
negative result
high-order bit truncated
memory contents in octal
3 250 220
0
7 7 7 0 0 0 1 1 1 1 1 1
decimal operand descriptor
any indicators set? negative
EAX2
EAX7
AWDX
DTB
ARG
NDSC9
TZE
TMI
TOV
FLD1
FLD2
USE
EDEC
OCT
NDSC4
USE
0,7,4
(,,1),(1,1,,0)
1,,4
0"X2",4
*+3
*+2
*+1
CONST.
4PL-512
111111
FLD1,0,4,1
°°° °
('--\
......
8-192
DZ51-00
,/
(
DUFA
DUFA
DUFA
Double-Precision Unnormalized Floating Add
437 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) + C(Y-pair)]
C(Y-pair) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
(
NOTES:
not normalized --> C(EAQ)
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
1. When indicator bit
the floating-point
the floating-point
permission flag is
32 = 1 and the hex permission flag = 1,
alignment is hexadecimal. Otherwise,
alignment is binary. The hex
Mode register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-193
DZ51-00
DUFM
DUFM
DUFM
Double-Precision Unnormalized Floating Multiply
423 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) * C(Y-pair)]
C(Y-pair) unchanged
EXPLANATI ON:
This multiplication is executed like the DFMP instruction, except
that the final normalization is performed only if both factor
mantissas are • -1.00 ••• 0.
not normalized
-->
C(EAQ)
Except for the precision of the mantissa of the operand from main
memory, the DUFM instruction is identical to the UFN instruction.
I LLBGAL ADDRESS
MODIFICATIONS:
DU, DL, a,
I LLBGAL REPEATS:
None
I NDI CATORS:
Zero
-
SC, SCR
= 0,
If C(AQ)
Negative -
If C(AQ)O
Exponent
OVerflow -
1f
= 1,
then ON; otherwise, OFF
then ON: otherwise, OFF
exponent is > +127, then ON
Exponent
Underflow- If exponent of floating point result < - 128, then ON
NOTES:
= 1 the the hex permission flag = 1, the
floating-point alignment and normalization are hexadecimal.
Otherwise, the floating-point alignment and normalization are
binary. The hex permission flag is Mode register bit 33.
1. When indicator bit 32
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-194
DZSI-00
(
DUFS
DUFS
DUFS
Double-Precision Unnormalized Floating Subtract
537 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) - C(Y-pair)]
C(y -pa i r) unchanged
EXPLANATION:
The two's complement of the subtrahend is first taken and the
smaller value is then right-shifted to equalize it. The
portion shifted out is truncated and addition is executed.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
not normalized -> C(EAQ)
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
- If C(AQ)
Negative - If
Exponent
Overflow - If exponent is > +127, then ON
Exponent
Underflow - If exponent of floating point result < - 128,
then ON" .
carry
NOTES:
- If a carry out of bit 0 of C(AQ) is generated,
then ON: otherwise, OFF
1. When indicator bit
the floating-point
the floating-point
permission flag is
32 = 1 and the hex permission flag = 1,
alignment is hexadecimal. Otherwise,
alignment is binary. The hex .
Mode register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-195
DZSI-OO
DV2D
DV2D
FORMAT:
Divide Using Two Decimal Operands
DV2D
o0
o1
1 1
o1
Ipl 0- - - - - - - - 01~1
0
0
1 1
7 8
MF2
I
207 (1)
Op Code
222
789
H
207(1)
1 1 2 2 2 2 2
7 8 0 1 2 3 4
0
2
3
MF1
2
9
3
5
Yl
CN1 TN1 Sl
SF1
N1
Yl
o
o
1 1 2 2 2 2 2
7 8 0 1 234
0
2
Y2
CN2 TN2 S2
2
9
SF2
3
5
N2
Y2
COD! NG FORMAT:
The DV2D instruction is coded as follows:
1
8
16
DV2D
NOSCn
NOSCn
(MF1),(MF2),RD,P
LOCSYM,CN,N ,S,SF,AM
LOCSYM,CN,N,S,SF,AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
8-196
DZ51-00
(
DV2D
DV2D
SUMMARY:
C(string 2) / C(string 1) --> C(string 2)
EXPLANATION:
same as for DV3D except that the quotient is sto~ed using
YC2, TN2, S2 and, if S2 indicates a scaled format, SF2.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
same as for DV3D
NOTE:
The notes of DV3D apply.
EXAMPLES:
1
FLDl
FLD2
8
16
32
DV2D
NDSC4
NDSC4
USE
FLD1,4,4,2,-4
FLD2,0,8,0
divisor operand descriptor
dividend operand descriptor
memory contents
0002+
+08642 +0
+43210 +3
(Quotient)
EDEC
EDEC
CONST.
8P2+
8P+8642EO
USE
DV2D
NDSC9
NDSC4
USE
FLDl
FLD2
EDEC
EDEC
USE
*
, ,1
FLD1,0,4,1,-3
FLD2,O,8,1,-2
CONST.
4A+5
8P+1234
with rounding option
divisor operand descriptor
dividend operand descriptor
memory contents
+ 005
+0001234
+0246800
(Quotient)
indicators on? none
8-197
DZ51-00
DV2DX
DV2DX
DV2DX
Divide Using Two Decimal Operands Extended
247 (1)
FORMA'l':
o
0
0
1 1
1 1
Code
222
247(1)
MF2
o
o
Op
1 1
7 8
0
2
2 2
0 1
3
NFl
222
234
2 3
3
5
9 0
Y1
CN1
SFl
Nl
Y1
AR#
o
o
TN1 SX1
1 1
7 8
0
2
2 2
0 1
222
234
2 3
3
5
9 0
Y2
CN2 TN2 SX2
AR#
COD!NG FORMAT:
SF2
N2
Y2
1
B
16
DV2DX
NDSCn
NDSCn
(MF1),(NF2),RD,CS,NS
LOCSYM, CN , N, SX, SF , AM
LOCSYM, CN , N, SX, SF , AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
8-198
DZ51-00
DV2DX
DV2DX
SUMMARY:
C(string 2) / C(string 1) --> C(string 2)
EXPLANATION:
Same as for Dv3DX except that the quotient is stored using
YC2, TN2, Sx2 and, if SX2 indicates a scaled format, SF2.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL for MFl or MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Same as for Dv3D
NOTES:
1. Notes of Dv3D apply.
2.
See WNX for information about coding of overpunched
signs.
(
(
8-199
DZS1-OO
DV3D
DV3D
Divide Using Three Decimal Operands
DV3D
227
(1)
FORMAT:
001 1
890 1
000
012
1+1
0
0
HRDI
MF3
1 1
7 8
MF2
Code
222
789
II I
227(1)
I
1 1
7 8
0
2
Op
2 2
o1
2 2 2
234
3
5
NFl
2 3
9 0
I
3
5
Y2
CN2 TN2 S2
N2
Y2
AR#
o
o
SF2
1 1
7 8
0
2
Y3
AR#
CODI NG FORMAT:
CN3
2 2
0 1
222
234
TN3 S3
2 3
9 0
SF3
3
5
N3
Y3
The DV3D instruction is coded as follows:
1
8
16
DV3D
NOSC,!!
NOSC,!!
NOSC,!!
(MF1),(NF2),(MF3),RD,P
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N ,S,SF,AM
LOCSYM,CN,N ,S,SF ,AM
(Refer to Section 7 under Multiword Instructions for
description of Mu1tiword Modification Field.)
8-200
DZ51-00
«
DV3D
Dv3D
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) / C(string 1)
EXPLANATION:
The decimal number of data type TNl, sign and decimal type
S1, and starting location YC1, is divided into the decimal
number of data type TN2, sign and decimal type S2, and
starting location YC2. The quotient is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type S3.
-->
C(string 3)
If S3 indicates a fixed-point format, the quotient is stored
using scale factor SF3, which may cause leading or trailing
zeros (4 bits - 0000, 9 bits - 000110000) to be supplied
and/or most-significant-digit overflow or
least-significant-digit truncation to occur.
If S3 indicates a floating-point format, the quotient is
right-justified to preserve the most significant nonzero
digits; this may cause least-significant-digit truncation.
(
If P=l, positive signed 4-bit results are stored using octal
13 as the plus sign. If P=O, positive signed 4-bit results
are stored with octal 14 as the plus sign.
If RD is a 1, the quotient is rounded prior to storage.
Provided that strings 1, 2, and 3 are not overlapped, the
contents of the decimal numbers that start in locations YC1
and YC2 remain unch?~ged.
The divide operation stops when the number of required digits
have been formed or, in the case where rounding is specified
(RD = 1), when the required number of quotient digits plus 1
have been formed. In fixed-point operations or
floating-point operations where the quotient is stored in
fixed-point format, the required number of quotient digits is
determined as follows:
When the quotient descriptor specifies that the quotient
is to be stored in fixed-point format, the necessary
number of quotient digits to form is calculated as
follows:
#QD
= (LD-#LZD+l)-(LDR-#LZR}+(ED-EDR-EQ)
(
8-201
DZ5l-00
DV3D
DV3D
where:
#LZD = number of leading zeros in dividend
#QD = number of quotient digits to form
LD
= length of dividend
LDR = length of divisor
#LZR = number of leading zeros in divisor
ED
= exponent of dividend
EDR
= exponent
EQ
= scale factor for quotient
of divisor
The hardware performs this calculation prior to beginning
the divide operation and, if #QD > 63, the divide
operation does not take place; a Divide Check fault
occurs. If #QD<=O, then zero is stored.
In a floating-point divide operation, the required number
of quotient digits is determined as follows. With the
divisor greater than the dividend, a leading zero is
generated in the quotient. The leading zero counts as one
of the generated output digits. For example, if 4-digit
output accuracy is specified and the above relationship
exists between the divisor and the dividend, only 3-digit
accuracy will be attained. Under this condition, it would
be necessary to specify a 5-digit output to achieve
4-digit accuracy.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl, MF2, and MF3
I LLEGAL REPEATS:
RPT, RPD, RPL
8-202
DZ51-00
(
DV3D
DV3D
I NDI CATORS :
Zero
-
If result equals zero, then ON: otherwise, OFF
Negative
-
If result is negative, then ON; otherwise, OFF
Exponent
Overflow
-
If exponent of floating-point result is
then ON
Exponent
Underflow
-
If exponent of floating point result
then ON
Overflow
-
If fixed-point integer overflow, then ON;
otherwise, unchanged
Truncation NOTES:
1.
An
>
< -
127,
128,
If the least significant digits are truncated
without rounding, then ON; otherwise, OFF
Illegal Procedure fault occurs if:
o DU or DL modification is specified for NFl or NF2.
:(
o Any character (least four bits) other than 0000 - 1001
is detected where digits are defined, or any character
(least four bits) other than 1010 - 1111 is detected
where the sign is defined by the numeric descriptor.
o The values for the number of characters (N1 or N2) of
the data descriptors are not large enough to hold the
number of characters required for the specified sign
and/or exponent, plus at least one digit.
2. A Divide Check fault occurs under either of the following
two conditions.
o I f the divisor equals zero.
starting at YC1.
The divisor is the number
o If 53 specifies that the quotient be stored in scaled
format and the calculated lerigth required for the
quotient is greater than 63 (refer to length
requirements above).
3. If an illegal digit or sign is detected, the receive field
is not changed before the IPR fault occurs.
8-203
DZSI-OO
DV3D
DV3D
./
EXAMPLE:
1
FLD1
FLD2
FLD3
EXAMPLE WI TH
B
16
32
DV3D
NDSC9
NDSC4
NDSC4
USE
!DEC
!DEC
BSS
USE
" ,1,1
FLD1,1,3,2,-2
FLD2,0,9,0
FLD3,2,6,1,-1
CONST.
4A29P-B76543E-3
with rounding and plus sign options
divisor operand descriptor
dividend operand descriptor
quotient operand descriptor
memory contents
002-B76543-3
xx+3B272
(Quotient)
instruction fault? overflow
1
ADDRESS MODI FI CATION:
1
options
(FLD1,2,2,3,-2)
(FLD2,0,B,0)
FLD1
FLD2
FLD3
32
B
16
EAX2
EAX7
EAX4
AWDX
DV3D
load character modifier into X2
2
load FLD2 length into X7
B
FLD1
load FL01 address into X4
0,4,4
put FLD1 address into AR4
(1" ,2), (,1), (, ,1) ,1,1 with address modification
NDSC9
0,0,2,3,-2,4
divisor operand descriptor
NDSC9
FLD2,0,X7,0
dividend operand descriptor
ARG
2,2,4
pointer to quotient operand descriptor
USE
!DEC
!DEC
BSS
NDSC4
USE
CONST.
4A2
BA+B76543E-3
1
FLD3,1,7,1,-1
memory contents
0002
+B76543-3
x+438272
quotient operand descriptor
instruction fault?
none
B-204
DZ51-00
DV3DX
DV3DX
Divide Using Three Decimal Operands Extended
DV3DX
267 (1)
FORMAT:
IcsH
0
0
1 1
7 8
1 1
0 0 0
0 1 2
o1
I
MF3
I
MF2
0
1 1 2 2
2
7
8 0 1
Op Code
222
789
227(1)
II I
22:2
:2 3 4
2 3
9 0
3
5
I
MFl
3
5
Yl
CNl TN1 SXl
o
o
Nl
Yl
AR#
(
SFl
1 1 2 2
7 801
0
2
222
234
:2 3
9 0
3
5
Y:2
CN:2 TN2 SX:2
N2
Y2
AR#
o
o
SF2
1 1 2 2
7 801
0
:2
222
234
2 3
9 0
3
5
Y3
CN3 TN3 SX3
AR#
CODING FORMAT:
SF3
N3
Y3
1
8
16
DV3DX (MF1),(MF:2),(MF3),RD,CS,NS
NDSCn LOCSYM,CN,N,SX;SF,AM
NDsCn LOCSYM,CN,N,SX,SF,AM
NDSCn LOCSYM, CN , N, SX, SF ,AM
(
8-205
DZ5l-00
DV3DX
DV3DX
(Refer to Section 7 under Multiword Instructions for
description of Nultiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) I C(string 1) --> C(string 3)
EXPLANATION:
The decimal number of data type TN1, sign and decimal type
SXl, and starting location YCl, is divided into the decimal
number of data type TN2, sign and decimal type SX2, and
starting location YC2. The quotient is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type SX3.
If SX3 indicates a fixed-point format, the quotient is stored
using scale factor SF3, which may cause leading or trailing
zeros (4 bits - 0000, 9 bits - 000110000) to be supplied,
most-significant-digit overflow, or least-significant-digit
truncation.
If SX3 indicates a floating-point format, the quotient is
right-justified to preserve the most-significant nonzero
digits; this may cause least-significant-digit truncation.
The character set is defined by CS (EBCDIC/ASClI). Placement
of overpunched sign in the output is controlled by NS.
(Refer to the introductory pages of this section for
definition of the NS field.) If RD is 1, the quotient is
rounded prior to storage. The contents of the decimal
numbers that start in locations YCl and YC2 remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl, MF2, or MF3
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
same as for DV3D.
8-206
DZ51-00
(
DV3DX
DV3DX
NOTES:
1. Explanation of the divide operation in the DV3D
description apply.
2. A divide check fault occurs under either of the following
two conditions:
o If the divisor (the number starting at YC1) equals
zero.
o If SX3 specifies that the quotient be stored in
fixed-point format and the calculated length required
for the quotient is greater than 63 (see Note 2 of
DV3D).
3. Refer to specifications on MVNX for information about
coding of overpunched signs.
4. IPR fault conditions are the same as for DV3D.
(
f
8-207
DZSI-OO
DVF
DVF
DVF
Divide Fraction
507 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(AQ) I C(Y)
fractional quotient --> C(A), left-adjusted
fractional remainder --> C(Q), left-adjusted
C(y) unchanged
EKPLANATION:
This instruction divides a 7l-bit fractional dividend
(including sign) by a 36-bit fractional divisor (including
sign) to form a 36-bit fractional quotient (including sign)
and a 36-bit fractional remainder (including sign). Bit 35
of the remainder corresponds to bit 70 of the dividend. The
remainder sign is equal to the dividend sign unless the
remainder is zero. Bit 71 of C(AQ) is not used.
7 7
0 1
0 0
0 1
I51
,
'
Ixl
dividend
C(AQ)
/'
I
o
0
3
divisor
C(Y)
yielding:
o
3
0
quotient
o
0
3
remainder
C(A)
C=
Idivisorl
or if the divisor = 0,
division does not take place. Instead, a Divide Check fault
occurs, C(Y) remains unchanged, C(AQ) contains the dividend
magnitude as an absolute value, and the negative indicator
reflects the dividend sign.
ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I LLEGAL
INDICATORS:
zero
If division takes place:
If no division takes place:
If C(A) = 0, then ON:
otherwise, OFF
If divisor = 0, then ON:
otherwise, OFF
Negative If C(A)O = 1, then ON;
otherwise, OFF
If dividend < 0, then ON:
otherwise, OFF
(
8-209
DZ51-00
DVRR
DVRR
Divide Register by Register
DVRR
533
(1)
FORMAT:
o
1 1
0 0
Not Used
CODING FORMAT:
1
8
16
DVRR
R1"R2
Executes in ES mode only
SUMMARY:
When "register pair" is implied
= 0,
3
OP CODE
OPERATING MODES:
Rl, R2
22233
2, 4, 6, AQ
otherwise
Rl, R2
= 0,
1, 2, 3, 4, 5, 6, 7, A, Q
Quotient of C(Rl-odd) / C(R2) --> C(R1-odd)
Remainder of C(Rl-odd) / C(R2) --> C(R1-even)
C(R2) unchanged
EXPLANATION:
A register pair is specified in R1. The content of the
odd-numbered register, or Q if AQ is specified, is divided by
C(R2). The resulting quotient is loaded into Rl-odd and the
remainder into Rl-even.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
8-210
DZS1-OO
(
DVRR
DVRR
If division takes place:
I NDI CATORS :
Zero
If C(Rl-odd) = 0, then ON; If divisor = 0, then ON;
otherwise, OFF
otherwise, OFF
Negative If C(Rl-odd)O = 1,
then ON; otherwise, OFF
NOTES:
If no division takes place:
If dividend < 0, then ON;
otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
3. Both the dividend and divisor are regarded as a 36-bit
signed integer. The sign of the remainder is the same as
that of the dividend unless the remainder is O.
4. A Divide Check fault occurs in the following cases:
o Dividend
o Divisor
= -2 35
=0
and divisor
+ -1
In these cases, the instruction is not executed. C(R2)
remains unchanged, C(Rl-odd) takes the absolute value of
the dividend, and C(Rl-even) is O. If the dividend is
-2 35 , then -2 35 is loaded into Rl-odd.
(
8-211
DZSI-OO
BAA
BAA
BAA
Effective Address to A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'l'I NG MODES:
Any
SUMMARY:
NS mode
635 (0)
Y --> C(A)O-17
0 ••• 0 --> C(A)18-35: C(Y) unchanged
ES
mode
00 --> C(A)O-l
YO-33 --> C(A)2-35; C(Y) unchanged
EXPLANATION:
This instruction permits inter-register data movement. The
data source is specified by the address modification and the
data destination by the operation code of the instruction.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL
ILLEGAL REPEATS:
RPL
I NDI CA'l'ORS:
Zero
-
Negative NOTES:
= 0, then ON; otherwise, OFF
C(A)O = 1, then ON: otherwise, OFF
If C(A)
If
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
2. In the
OFF.
ES
mode, the negative indicator is always set to
/
8-212
DZ51-00
EAQ
EAQ
EAQ
Effective Address to Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
636 (0)
Y -> C(Q)O-17i
00 ••• 0 --> C(Q)18-3Si C(Y) unchanged
ES Mode
00 ••• 0 --> C(Q}O-l
YO-33 -->C(Q)2-3S)
EXPLANATION:
This instruction permits inter-register data movement. The
data source is specified by the address modification and the
data destination by the operation code of the instruction.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL
ILLEGAL REPEATS:
RPL
I NOI CATORS:
Zero
-
Negative NOTES:
If C(Q)"
If C(Q)O
= 0,
then ONi otherwise, OFF
= 1,
then ONi otherwise, OFF
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
2. In the ES mode, the negative indicator is always set to
OFF.
8-213
DZSI-OO
EAXn
EAXn
Effective Address to Index Register n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,1, ••• ,7
YO-33
-->
ES
62n (O)
as determined by opcode
(Xn); C(Y) unchanged
Mode
For n
= 0,1, ••• ,7
as determined by opcode
00 --> C(GKn) 0-1
YO-33 --> C( GKn)2-35
EXPLANATION:
This instruction permits inter-register data movement. The
data source is specified by the address modification and the
data destination by the operation code of the instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL
I LLEGAL REPEATS:
RPT, RPD, or RPL of EAXO
I NDI CATORS:
Zero
-
Negative NOTES:
= 0, then ON: otherwise, OFF
C(xn/GKn)o = 1, then ON: otherwise, OFF
If C(Xn/GKn)
If
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
2. In the ES mode, the negative indicator is always set to
OFF.
8-214
DZ51-00
(
EPAT
EPAT
EPAT
Effective Pointer and Address to Test
412
(1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
This instruction tests the virtual address to real memory address
mapping function of the hardware. Addresses are generated in the
normal sequence and stored in four special test registers instead
of accessing memory.
Real memory addressl-27
-->
C(Test Reg 0)0-26
Effective WSN
-->
C(Test Reg 0)27-35
Relative Virtual address
-->
C(Test Reg 1)0-35
C(DR}effective
--> C(Test Reg 2,3)
The high-order real address bit is not placed in the test
register.
(
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
l. Illegal address modifications and illegal repeats cause an IPR
fault.
2. This instruction is only intended for use with Test and
Diagnosis (T&D) programs.
8-215
DZ5l-00
EPPRn
EPPRn
Effective Pointer to Pointer Register
n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
This set of eight instructions generates an effective address
(EA) and loads it into the pointer register (ARn, SEGaDn,
DRn).
NS Mode
If instruction bit 29
=0
then
SEGID{IS)
-> SEGIDn
C{ISR)
--> C(DRn)
If instruction bit 29
forming EA, then
=1
and indirection is not used in
Effective address (EA)
-->C(AR)O-23
Effective SEGID
->C(SEGIDn)
Effective DR
->C(DRn)
If instruction bit 29
EA, then
= 1 and
indirection is used in forming
EAO-17
-->C(ARn)O-17
O••• 0
-->C(ARn)18-23
SEGIDm
->SEGIDn
C(DRm)
-->DRn
8-216
DZ51-00
(
EPPRn
EPPRn
ES Mode
If instruction bit 29
->C(AR)O-29
EA34-39
->C(AR)30-35
Effecti ve SEGI D
->C(SEGIDn)
Effective DR
-->C(DRn)
=1
and indirection is not used in
EA4-39
->C(AR)0-35
SEGIDm
->SEGIDn
C(DRm)
->C(DRn)
If instruction bit 29
EA, then
EXPLANATION:
then
EA4-33
If instruction bit 29
forming EA, then
(
= 0,
=1
and indirection is used in forming
EA4-33
->C(ARn)0-29
EA34-39=O
->C( ARn 30-35
SEGIDm
->SEGIDn
C(DRm)
->C(DRn)
If the instruction bit 29 = 0, AR is not used for generation
of the effective address and the ARn byte and bit portions
are set to zero.
When the instruction bit 29 = 0, the generated operand
address is in the instruction segment. The ISR and SEGID(IS)
content are loaded into DRn and SEGIDn, respectively.
If the instruction bit 29 = 1, the Address Register ARm
specified with bits 0, 1, and 2 of the in~truction word are
used to generate the effective address. Provided that
indirect modification is not specified, the ARn byte and bit
portions are preserved during computation of the effective
address and loaded into the byte and bit portions of the
corresponding ARn. If indirect modification is specified,
zero is loaded into the ARn byte and bit portions.
8-217
DZ51-00
EPPRn
EPPRn
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An IPR fault occurs if illegal address modification or
illegal repeats are used.
EXAMPLE:
1
8
16
32
ADO
=3HOBI,OC
file codef ile
read permissions
allocate file command block
allocate file
ORQ
EPPRO
PPME
ALCPRF
ALPRMF,2
VEC
.ISR,NAME,NAMEX,(R,W,S)
.ISR,CBUFF,CBUFFX,(R,W,S)
BCI
4
ALEPRF VEe
NAME
=0400000,DL
NAMEX EQU
CBUFF BSS
CBUFFX EQU
*-NAME
355
*-CBUFF
8-218
DZ5l-00
ERA
ERA
EXCLUSIVE OR to A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
=0
675 (0)
to 35, C(A)i XOR C(Y)i --> C(A)ii
C(y) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
Negative -
= 0, then ONi otherwise, OFF
C(A}O = 1, then ON: otherwise, OFF
If C(A}
If
8-219
DZ51-00
ERAQ
ERAQ
ERAQ
EXCLUSIVE OR to AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATl NG MODES:
Any
SUMMARY:
For i = 0 to 71, C(AQ)i XOR C(Y-pair)i --> C(AQ)ii
C(Y-pair) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
a, SC, SCR
-
Negative NOTE:
677 (0)
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ONi otherwise, OFF
If C(AQ)
If
An Illegal Procedure fault occurs if illegal address
modification is used.
8-220
DZ51-00
ERQ
ERQ
ERO
EXCLUSIVE OR to Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i = 0 to 35, C(Q)i XOR C(Y)i --> C(Q)i:
C(y) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
None
ILLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
Negative -
If C(Q)
If C{Q)O
= 0,
676 (0)
then ON: otherwise, OFF
= 1, then ON: otherwise, OFF
8-221
DZ5l-00
ERRR
ERRR
ERRR
EXCLUSIVE OR Register to Register
537 (1)
FORMAT:
1 1
7 8
000
Not Used
CODING FORMAT:
1
OP CODE
I
8
16
ERRR
Rl, ,R2
OPERATING MODES:
Executes in ES mode only.
SUMMARY:
Rl, R2
= 0,
222 3 3
789 1 2
3
5
H I I
MBZ
R2
1, 2, 3, 4, 5, 6, 7, A, Q
C(Rl)i XOR C(R2)i
-->
C(Rl)I
i
= 0,
1, 2, ••• ,35
C(R2) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
Zero
-
Negative NOTES:
= 0, then ON; otherwise, OFF
C(Rl)O = 1, then ON; otherwise, OFF
If C(Rl)
If
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
8-222
DZ51-00
ERSA
ERSA
ERSA
EXCLUSIVE OR to Storage with A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i = 0 to 35, C(A)i XOR C(Y)i --> C(Y)i;
C(A) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
INDICATORS:
Zero
-
Negative NOTES:
655 (0)
If C(Y) = 0, then ON; otherwise, OFF
If C{Y)O
= 1,
then ON; otherwise, OFF
1. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
2. See Examples under ERA.
(-'8-223
DZ51-00
ERSQ
ERSQ
ERSQ
EXCLUSIVE OR to Storage with Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i = 0 to 35, C(Q)i XOR C(Y)i --> C(Y}i;
C(Q) unchanged
I LLEGAL ADDRESS
MODI Fl CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATeRS:
zero
If C(Y) = 0, then ON: otherwise, OFF
Negative
NOTE:
EXAMPLE:
656 (0)
-
If C(Y)O
= 1,
then ON: otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
1
8
16
LDQ
ERSQ
FLAG
=l,DL
* If bit 35 of FLAG is ON, then set to zero
,
\
8-224
DZ51-00
ERSXn
ERSXn
EXCLUSIVE OR to Storage with Index Register n
FORMAT:
single-word instruction format (see Figure 8-l)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,1, ••• ,7
64n (O)
as determined by op code
For i = 0 to 17, C(Xn}i XOR C(Y)i --> C(Y)i;
C(Xn) and C(Y)18-35 unchanged
ES Mode
For n
For i
= 0,1, ••• ,7 as determined by
= 0 to 35, C(GXn)i XOR C(Y)i
op code
-->
C{Y)i;
C(GXn ) is unchanged
(
I LLEGAL ADDRESS
MODI Fl CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, or RPL of ERSXO
I NDI CATORS:
NS Mode
Zero
-
If C(Y)0-17
Negative
-
If C(Y)O
Zero
-
If C(Y)
Negative
-
If
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
ES Mode
NOTE:
= 0, then ON; otherwise, OFF
C(Y)O = 1, then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-225
DZSI-OO
ERXn
ERXn
EXCLUSI VE OR to Index Register g
66g (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
For i
= O,l, ••• ,or 7 as
= 0 to 17, C(Xn)i
determined by op code
XOR C(Y)i --> C(Xn)i:
C(Y) unchanged
ES Mode
For n
For i
= O,l, ••• ,or 7 as determined
= 0 to 35, C(GXn)i XOR C(Y)i
by op code
--> C(GXn)ii
C(y) unchanged
ILLEGAL ADDRESS
MODI F1 CATIONS:
CI, SC I SCR
I LLEGAL REPEATS:
RPT, RPD, RPL of ERXO
I NDI CATORS:
NS Mode
Zero
-
If C(Xg) = 0, then ON: otherwise, OFF
Negative
-
If C(xg)O
Zero
-
If C(GXg)
Negative
-
If
ES
NOTES:
= 1,
then ON; otherwise, OFF
Mode
= 0, then ON: otherwise, OFF
C(GXg)O = 1, then ON; otherwise, OFF
1. DL modification is flagged illegal but executes with all
zeros for data.
2. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-226
DZ5l-00
FAD
FAD
FAD
475 (0)
Floating Add
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ)
ILLEGAL ADDRESS
MODIFICATIONS:
CI,
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
If
Negative
-
If
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
Carry
-
If a carry out of bit 0 of
then ON; otherwise, OFF
NOTES:
+
normalized ->
C(Y)]
C(EAQ); C(Y)
unchanged
se, SCR
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
C(AQ)
C(AQ)
is generated,
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. ,The hex permission flag is Mode
register bit 33.
2~
See the FNO instruction for a definition of normalization.
3. An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-227
DZ51-00
FCMG
FCMG
FCMG
Floating Compare Magnitude
425 (a)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
IC(E,AQO-27)I :: IC(y)l; magnitude comparison;
C{EAQ), C{Y) unchanged.
EXPLANATION:
This comparison is executed as follows:
1. Compare C{E) :: C{Y)O-7, select the number with the lower
exponent, and shift its mantissa right by the number of
places (binary or hex) determined by the difference of the
exponents. If the number of shifts equals or exceeds 72,
the number with the lower exponent is defined as zero.
2. Compare the absolute values of the mantissas and set the
indicators accordingly.
The FCMG instruction is identical to the FCMP instruction
except that the magnitudes of the mantissas are comparedinstead of the algebraic values.
ILLEGAL ADDRESS
NODI FI CATIONS:
a, SC, SCR
ILLEGAL REPEATS:
None
INDICATORS:
Zero
NOTES:
N~ative
RelationshiQ
0
0
IC(E,AQO-27I > IC(Y) I
1
0
IC(E,AQO-27I
0
1
IC(E,AQO-27I < IC(Y) I
=
IC(Y) I
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment is hexadecimal. Otherwise,
the floating-point alignment is binary. The hex
permission flag is Mode register bit 33.
2.
Illegal Procedure fault occurs if illegal address
modification is used.
An
8-228
DZ5l-00
<.
FCMP
FCMP
FCMP
Floating Compare
515 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(E,AQO-27):: C(Y); algebraic comparison
EXPLANATION:
This comparison is executed as follows:
1. Compare C(E) :: C(Y)Q-7, select the number with the lower
exponent, and shift lts mantissa right by the number of
places (binary or hex) determined by the difference of the
exponents. If the number of shifts equals or exceeds 72,the number with the lower exponent is defined as zero.
2. Compare the mantissas and set the indicators accordingly.
(
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
zero
NOTES:
N~ative
Relationshi~
0
0
C(E,AQO-27 > C(Y)
1
0
C(E,AQO-27
= C(Y)
0
1
C(E,AQO-27
<
1. When indicator bit
the floating-point
the floating-point
permission flag is
C{Y)
32 = 1 and the hex permission flag = 1,
alignment is hexadecimal. Otherwise,
alignment is binary. The hex
Mode register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-229
DZSI-OO
FOr
FOr
FDr
Floating Divide Inverted
525 (O)
FORMAT:
Single-word instruction format (see Figure 8-l)
OPERATI NG MODES:
Any
SUMMARY:
C(Y} / C(EAQ} --> C(EA}: 00 ••• 0
contents of C(Y) unchanged
EXPLANATION:
The dividend mantissa is shifted right and the dividend
exponent is increased accordingly until:
-->
C(Q);
IDividend mantissa I < IC(AQO-27)I
When such a shift occurs, only zeros from the dividend will be
lost.
C(AQ)0-27
is used as the divisor mantissa.
36 bits of quotient mantissa are placed in A.
If AQ28-71 is not equal to 0 and AO = 0, then 1 is added to
AQ27. 0 --> AQ28-7l unconditionally. AQO-27 is then used as
the divisor mantissa. The 8-bit dividend exponent and 72-bit
mantissa are placed in working registers.
ILLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
Negative Exponent
Overflow -
If division occurs:
If no division occurs:
If C(A) = 0, then ON;
otherwise, OFF
If divisor mantissa = 0,
then ON: otherwise, OFF
If C(A)O = 1, then
ON: otherwise, OFF
If dividend < 0, then
ON: otherwise, OFF
If exponent is > +127,
then ON
Exponent
Underflow- If exponent of floating
point result < - 128, then ON
8-230
DZ51-00
FDr
FDr
NOTES:
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2. If the divisor mantissa C(AQ) is zero, division does not
take place. Instead, a Divide Check fault occurs and all
registers remain unchanged.
Dividend and divisor are not
normalized by the hardware prior to division.
3. An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-231
DZ51-00
FDV
FDV
Floating Divide
FDV
565 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ) / C(Y) --> C(EA); 00 ••• 0 --> C(Q); C(Y) unchanged
EXPLANATION:
This division is executed as follows:
The dividend mantissa C(AQ) is shifted right and the
dividend exponent C(E) is increased accordingly until
IC(AQ}0-271 < IC(Y}8-35 with zero filll
When such a shift occurs, significant bits from the dividend
may be lost.
Dividend and divisor are not normalized by the hardware
prior to division.
36
bits of quotient mantissa are placed in A.
ILLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
ILLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
Negative Exponent
Overflow -
If division occurs:
If no division occurs:
If C(A) = 0, then ON;
otherwise, OFF
If divisor mantissa = 0,
then ON: otherwise, OFF
If C(A)O = 1, then
ON; otherwise, OFF
If dividend < 0, then
ON; otherwise, OFF
If exponent is > +127,
then ON
Exponent
Underflow- If exponent of floating
point result < - 128, then ON
8-232
DZ51-00
FDV
FDV
NOTES:
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2. If the divisor mantissa (bits 8-35 of C(Y» is zero,
division does not take place. Instead, a Divide Check
fault occurs. The divisor C(Y) remains unchanged, C(AQ)
contains the dividend's magnitude as an absolute value,
and the negative indicator reflects the dividend's sign.
3.
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-233
DZ51-00
FLD
FLD
FLO
Floating Load
431 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
CCY>O-7 --> C(E)
C(Y)8-35 --> C(AQ)0-27
I LLEGAL ADDRESS
MODI PI CATIONS:
a,
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
NOTE:
SC, SCR
= 0,
= 1,
then ONi otherwise, OFF
then ONi otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-234
j
DZS1-00
(
FLP
FLP
FLP
Floating Load Positive
530 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
IC(y) I,
normal ized -> Z
ZO-7 --> C(E)
Z8-35 -> C(AQ)0-27
00 ••• 0 --> C(AQ)28-7l
EXPLANATION:
(
The memory operand C(Y) is processed as single-precision
floating-point data. The absolute value of this data is
normalized and its exponent, mantissa (bits 8-35) and 0 are
loaded into C(E), C(AQ)0-27 and C(AQ)28-7l, respectively.
I LLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
= 0,
then ON; otherwise, OFF
= 1, then ON; otherwise, OFF
Negative -
If C(AQ)O
Exponent
Overflow -
If exponent> +127, then ON
Exponent
Underflow
NOTE:
If C(AQ)
If exponent of floating point result < - 128, then
ON
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-235
DZSI-OO
FMP
FMP
I
Floating Multiply
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
[C(EAQ) * C(Y)]
EXPLANATION:
This multiplication is executed as follows:
461 (0)
normalized -> C(EAQ); C(Y) unchanged
C(E) + C(Y)0-7 --> C(E)
C(AQ) * C(Y)8-35 results in a 98-bit product plus sign,
the leading 71 bits plus sign of which --> C(AQ).
C(EAQ) normalized --> C(EAQ ) •
The definition of normalization is located under the
description of the FNO instruction.
"\
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDl CATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Exponent
Overflow
-
I f exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
NOTES:
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-236
DZ5l-00
FNEG
FNEG
FNEG
Floating Negate
513 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
-C (EAQ) normal ized -> C(EAQ)
EXPLANATION:
This instruction changes the number in C(EAQ) to its
normalized negative (if C(AQ) ~ 0). The operation is
executed by first forming the two's complement of C(AQ), and
then normalizing C(EAQ).
Even if C(EAQ) is already normalized, an exponent overflow
can still occur, namely when C(E) = +127 and C(AQ) = -100 ••• 0
(the two's complement representation for the decimal value
-1.0).
(
The definition of normalization is located under the
description of the FHO instruction.
ILLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
I f exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
NOTES:
= 0, then ON; otherwise, OFF
C(AQ}O = 1, then ON; otherwise, OFF
1. When indicator bit 32 = 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flag is Mode
register bit 33.
2. An Illegal Procedure fault occurs if an illegal repeat is
used.
(
8-237
DZ5l-00
FNO
FNO
FNO
573 (0)
Floating Normalize
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ) normalized -> C(EAQ)
EXPLANATION:
The instruction normalizes the number in C(EAQ). If the
overflow indicator is ON, the number in EAQ is normalized one
place to the right: the sign bit 0 of C(AQ) is then inverted
to reconstitute the actual sign. The Overflow indicator is
set OFF.
A normalized floating binary number is defined as one whose
mantissa lies in the interval (0.5, 1.0) such that
0.5
~
IC(AQ)I
<
1.0
which, in turn, requires that C(AQ)O F C(AQ)l
A normalized floating hexadecimal number is defined as one
whose mantissa lies in the interval (0.0625,1.0) such that
0.0625
~
IC(AQ)I < 1.0
which, in turn, requires that
if C(AQ)O = 0, then C(AQ)1-4 F 0000, and
if C(AQ)O = 1, then C(AQ)1-4 F 1111
Normalization is performed by shifting C(AQ)1-7l to the left
(one place if binary, four places if hex) and reducing C(E)
by 1, repeatedly, until the conditions for C(AQ)O and C(AQ)l
or C(AQ)1-4 are met. Bits shifted out of AQ1 are lost.
If C(AQ)=O, then C(E) is set to -128 and the zero indicator
is set ON.
8-238
DZ51-00
(
FNO
FNO
This instruction can be used to correct overflows that occur
with fixed-point numbers:
1
8
16
TOV
1,IC
M
LDAQ
ADAQ
LDE
FNO
N
=71B25,DU
will normalize C(M-pair) + C(N-pair) correctly, whether or
not the addition caused an overflow (assuming overflow masked
or successful recovery from Overflow fault).
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(AQ) = 0, then ON; otherwise, OFF
Negative
-
If C(AQ)O = 1, then ON; otherwise, OFF
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
Overflow
-
Set OFF
(
NOTE:
When indicator bit 32 = 1 and the hex permission flat = 1,
the floating-point alignment and normalization are
heXadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flat is Mode
register bit 33.
(
8-239
DZ51-00
FRD
FRD
FRD
. Floating Round
471 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ) rounded to 28 mantissa bits and normalized -> C(EAQ)
EXPLANATION:
This instruction performs a true round of C(EAQ) to a
precision of 28 bits in C(AQ). The result is then normalized
and restored to the EAQ registers. A true round means that
the same rounding operation applied to a number of the same
magnitude and with an opposite sign would result in a sum of
the two rounded numbers of exactly zero.
The rounding operation is performed as follows:
a. A constant (all 1s) is added to bits 29-71 of the
mantissa.
b. If the number being rounded is positive, a carry is
inserted into the least significant bit position of the
adder.
c. If the number being rounded is negative, the carry is not
inserted.
d. Bits 28-71 of C(AQ) are replaced by zeros.
If the mantissa overflows upon rounding, it is shifted right
one place and a corresponding correction is made to the
exponent.
If the mantissa does not overflow and is nonzero upon
rounding, normalization is performed.
If the resultant mantissa is all zeros, the exponent is
forced to -128 and the zero indicator is set.
If the exponent resulting from the operation is greater than
+127, the exponent overflow indicator is set.
The definition of normalization is located under the
description of the FNO instruction.
('
I
''''--../
8-240
DZ5l-00
:
FRD
FRD
ILLEGAL ADDRESS
MODI FI CATIONS:
None
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
If exponent is > +127, then ON
NOTES:
= zero, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
= 1 and the hex permission flag = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flat is Mode
register bit 33.
1. When indicator bit 32
2. An Illegal Proceduree fault occurs if an illegal repeat is
used.
(
8-241
DZSl-OO
FSB
FSB
FSB
Floating Subtract
575 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) - C{Y)]
EXPLANATION:
The two's complement of the subtrahend is first taken and the
smaller value is then right-shifted to equalize it. The
shifted portion is truncated and the addition is executed.
The definition of normalization is located under the
description of the FNO instruction.
normalized -> C(EAQ); C(Y) unchanged
ILLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C{AQ}
Negative
-
If
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent of floating point result < - 128,
then ON
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
NOTES:
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
,
)
1. When indicator bit 32 = 1 and the hex permission flat = 1,
the floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flat is Mode
register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-242
DZSI-00
FSBI
FSBI
FSBI
Floating Subtract Inverted
465 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C (Y) - C(EAQ ) ] normalized -> C(EAQ ); C(y) unchanged
EXPLANATION:
The two's complement of the subtrahend is first taken and the
smaller value is then right-shifted to equalize it. The
shifted portion is truncated and the addition is executed.
After addition, the sum is normalized and the 72 bits of the
mantissa are loaded into AQ.
The order of execution of the operation conforms to that of
the FSB instruction. Normalization is defined under FNO.
(
I LLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATeRS:
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
I f exponent is > +127, then ON
Exponent
Underflow
carry
NOTE:
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
If exponent of floating point result < - 128,
then ON
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-243
DZ5l-00
FST
FST
PST
Floating Store
455 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(E) --> C(Y)O-7
C(A)O-27 --> C(Y)8-35
C(E), C(A) unchanged
I LLEGAL ADDRESS
MODI FI CAT! ONS:
DU, DL, CI, SC, SCR
I LLEXiAL REPEATS:
RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-244
DZ5l-00
FSTR
FSTR
FSTR
Floating Store Rounded
470 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ) rounded and normalized -> C(Y); C(EAQ) unchanged
EXPLANATION:
This instruction performs a true round of C(EAQ) to a
precision of 28 bits in C(AQ). The result is then normalized
and stored in Y. A true round means that the same rounding
operation applied to a number of the same magnitude and
opposite sign would result in a sum of the two rounded
numbers of exactly zero.
Upon completion of the rounding and normalization, the
exponent and truncated mantissa are stored as follows:
a. Exponent in bits 0-7 of C(Y)
Bits 0-27 of mantissa in bits 8-35 of C(Y)
(
b. If the resultant mantissa bits 0-27 are all zero, the
exponent is forced to -128 and the zero indicator is set
(floating-point zero).
The rounding and normalization operation of this instruction
is identical with FRO.
The definition of normalization is located under the
description of the FNO instruction.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS:
zero
-
If C(Y) = floating-point zero, then ON;
otherwise, OFF
Negative
-
If C(Y)8 = 1, then ON; otherwise, OFF
Exponent
Overflow
-
If exponent is > +127, then ON
(
8-245
DZ51-00
FSTR
FSTR
Exponent
Underflow
NOTES:
-
If exponent of floating point result < - 128,
then ON
1. When indicator bit 32 = 1 and hex permission flag = 1, the
floating-point alignment and normalization are
hexadecimal. Otherwise, the floating-point alignment and
normalization are binary. The hex permission flat is Mode
register bit 33.
2. An Illegal Procedure fault occurs if illegal address
modification or an ill~al repeat is used.
8-246
DZSl-OO
FSZN
FSZN
(
FSZN
Floating Set zero and Negative Indicators
from Storage
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
Test C(Y); C(Y) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
(
N~ative
(
(O)
I
I
Relationshi12
0
0
Mantissa C(Y)8-35 > 0
1
0
Mantissa C(Y)8-35
0
1
Mantissa C(Y)8-35 < 0
(bit 8 of C(Y)
NOTE:
430
=0
= l}
Illegal Procedure fault occurs if illegal address
modification is used.
An
-,
8-247
DZ5l-00
FTR
FTR
P'TR
Floating Truncate Fraction
474 (o)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ)
EXPLANATION:
This instruction truncates the fraction part of the
floating-point data of C(EAQ} to obtain an integer. The
result is normalized and stored into C(EAQ}. A proper
truncation to an integer is such that truncating the
fractional parts of two numbers with the same absolute and
different sign and adding the results produces O.
ADDRESS
MODIFICATIONS:
! LLEGAL
!
LlJX,;AL REPEATS:
INDICATORS:
NOTE:
fraction-truncated and normalized --> C(EAQ}
None. The address modification does not affect instruction
operations, but the modification is executed.
RPL
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
zero
-
If C(AQ)
Negative
-
If
An Illegal Procedure fault occurs if an illegal repeat is
used.
8-248
DZSI-OO
(.
GLDD
GLDD
GLDD
FORMAT:
CODI NG FORMAT:
32n
Load Double to GXn
(1)
Single-word instruction format (see Figure 8-1)
1
8
16
GLDD
n,Y,R,AM
OPERATING MODES:
Only ES mode.
SUMMARY:
C(Y-pair) -> C(GXn-pair)
EXPLANATION:
C(Y-pair) is loaded into the GXn-pair specified by bits 24-26
of the op code. The contents of bits 24-26(n) of the op code
determines the load destination of the GXn-pair as follows:
n (octal)
GXn-pair
GXO,
GX2,
GX4,
GX6,
0
2
4
6
(
I LLEGAL ADDRESS
MODI FI CATIONS:
ILLEGAL REPEATS:
DU, DL, 0, SC,
GXl
GX3
GX5
GX7
SCR
The same GXn used as an address modification register in an
RPL.
ILLEGAL EXECUTES: Execution in NS mode.
INDICATORS :
NOTES:
Zero
-
If C(GXn-pair) = 0, then ON; otherwise, OFF
Negative
-
If C(GXn-pair) 0
= 1,
then ON; otherwise, OFF
1. An IPR fault occurs if illegal address modifications or
repeats are used or if this instruction is executed in the
NS mode.
2. An IPR fault occurs if N = 1, 3, 5, or, 7.
8-249
DZ5l-00
GLLS
GLLS
/
GXn Long Left Shift
GLLS
466 (1)
FORMAT:
Not Used
8
16
GLLS
Rl,J,R2
OPERATI NG MODES:
Only ES mode
SUMMARY:
Rl
= 0,
3
OP CODE
J
1
COOl NG FORMAT:
22233
1 1
1 1
000
2, 4, 6, AQ
C(RI-pair) is shifted left.
are filled with zeros.
Vacated positions in C(Rl-pair)
The number of bits to be shifted is given by the following:
EXPLANATION:
28 29
0
C(R2)
./
35
I
I
.
+
17.
11
J
I
///////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
Shift Number
J is added to C(R2)29-35 and the low-order 7 bits of the sum
specify the shift number.
8-250
DZ51-00
GLLS
GLLS
If the R2 field is 0000, the addition of C(R2) and J is not
performed and the value of J specifies the shift number.
LlJlXiAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
I
The address modification is not executed.
ILLEXiAL EXECUTES: Execution in NS mode
I NDI CATORS :
Zero
-
Negative carry
NOTES:
-
= 0,
If C(Rl)
If C(Rl)O
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
If a carry out of bit 0 of C(R1) is generated,
then ON; otherwise, OFF.
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
(
(
8-251
DZ5l-00
GLRL
GLRL
GXn Long Right Logic
GLRL
465 (1)
FORMAT:
o
0 0
OP CODE
J
1
COOl NG FORMAT:
8
16
GLRL
R1,J,R2
OPERATING MODES:
Only ES mode
SUMMARY:
Rl
= 0,
22233
78912
1 1
1 1
III MBZI
3
5
R21
2, 4, 6, AQ
C(RI-pair) is shifted right.
are filled with zeros.
vacated positions in C(RI-pair)
The number of bits to be shifted is given by the following:
EXPLANATION:
C{R2)
~IO_____________________________2_8~12_9
___________
3_5~1
+
J
//////////f////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
Shift Number
J is added to C{R2}29-35 and the low-order 7 bits of the sum
specify the shift number.
8-252
DZ5l-00
(
GLRL
GLRL
If the R2 field is 0000, the addition of C(R2) and J is not
performed and the value of J specifies the shift number.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
The address modification is not executed.
I LLEGAL REPEATS:
RPT, RPD, RPL
I LLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
zero
-
Negative NOTES:
= 0, then ON: otherwise, OFF
C(Rl)O = 1, then ON: otherwise, OFF
If C(Rl)
If
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions- in Section 7
for a description of the fields in the instruction word.
(
8-253
DZ51-00
GLRS
GLRS
464
(1)
22233
3
GXn Long Right Shift
GLRS
FORMAT:
a
0 0
1 1
1 1
OP CODE
J
CODING FORMAT:
1
8
GLRS
OPERATING MODES:
Only ES mode.
SUMMARY:
Rl
= 0,
16
Rl,J,R2
2, 4, 6, AQ
C(RI-pair) is shifted right. Vacated positions in
C(RI-pair) are filled with bits equal to bit 0 of
C(RI-pair) •
The number of bits to be shifted is given by the following:
EXPLANATION:
a
C(R2)
28 29
35
I
I
.
+
11
17.
J
I
///////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
8-254
Shift Number
DZ5l-00
GLRS
GLRS
J is added to C(R2)29-35 and the low-order 7 bits of the sum
specify the shift number.
If the R2 field is 0000, the addition 0: C(R2) and J is not
performed and the value of J specifies the shift number.
I LLEX;AL ADDRESS
MODIFICATIONS:
None.
1 LLEXiAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
Zero
-
Negative NOTES:
If C(R1) = 0, then ON; otherwise, OFF
If C(R1)0
= 1,
then ON; otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if the
instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7_for
a description of the fields in the instruction word.
(
(
8-255
DZ51-00
GLS
GLS
462
GXn Left Shift
GLS
(1)
FORMAT:
o
0 0
1 1
1 1
J
CODING FORMAT:
1
16
GLS
Rl,J,R2
Only ES mode.
SUMMARY:
Rl
= 0,
3
OP CODE
8
OPERATING MODES:
22233
1, 2, 3, 4, 5, 6, 7, A, Q
C(Rl) is shifted left.
with zeros.
Vacated positions in C(Rl) are filled
The number of bits to be shifted is given by the following:
EXPLANATION:
28 29
0
C(R2)
/
35
I
I
.
+
17.
11
I
J
///////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
Shift Number
is added to C(R2)29-35 and the low-order 7 bits of the sum
specify the shift number.
J
8-256
DZ5l-00
(
GLS
GLS
If the R2 field is 0000, the addition of C(R2) and J is not
performed and the value of J specifies the shift number.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
The address modification is not executed.
I LLEGAL REPEATS:
RPT, RPD, RPL
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
NOTES:
Zero
-
If C(Rl)
= 0,
thenONi otherwise, OFF
Negative -
If C(Rl)O = 1, then ONi otherwise, OFF
carry
If a carry out of bit 0 of C(Rl) is generated,
then ON; otherwise, OFF.
-
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
(
8-257
DZ5l-00
GRL
GRL
GXn Right Logic
GRL
FORMAT:
o
0 0
22233
1 1
1 1
OP CODE
J
CODI NG
FORMAT:
8
1
GRL
OPERATING MODES:
Only ES mode.
SUMMARY:
R1
= 0,
3
16
R:j.,J,R2
1, 2, 3, 4, 5, 6, 7, A, Q
C(R1) is shifted right.
with zeros.
Vacated positions in C(R1) are filled
The number of bits to be shifted is given by the following:
EXPLANATION:
28 29
C(R2)
35
~I
.IO____________________________ ____________
..11
~I
.
+
17.
I
J
///////////////////////////////////////
///////////////////////////////////////
///////////////////////////////////////
I
Shift Number
J is added to C(R2)29-35 and the low-order 7 bits of the sum
specify the shift number.
\
8-258
DZ5l-00
',,-
(
GRL
GRL
If the R2 field is 0000, the addition of C(R2) and J is not
performed and the value of J specifies the shift number.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
Zero
-
Negative NOTES:
= 0, then ON; otherwise, OFF
C(Rl)O = 1, then ON; otherwise, OFF
If C(Rl)
If
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
(
8-259
DZSI-00
GRS
GRS
GKn Right Shift
GRS
460 (1)
FORMAT:
o
0 0
1 1
Not Used
CODING FORMAT:
8
16
GRS
R1,J,R2
OPERATI NG MODES:
Only ES mode.
SUMMARY:
R1
= 0,
3
OP CODE
J
1
22233
1 1
1, 2, 3, 4, 5, 6, 7, A, Q
C(R1) is shifted right. Vacated positions in C(Rl) are
filled with bits equal to bit 0 of C(Rl) •.
The number of bits to be shifted is given by the following:
EXPLANATION:
28 29
C(R2)
~IO____________________________~I____________~I
..11
35
.
+
17.
I
J
///////////////////////////////////////
///////////////////////////////////////
//1111//////////1/////1/////////1//////
I
Shift Number
J is added to C(R2)29-35 and the low-order 7 bits of the sum
specify the shift number.
If the R2 field is 0000, the addition of C(R2) and J is not
performed and the value of J specifies the shift number.
8-260
DZ5l-00
GRS
GRS
ILLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL RE?EATS:
RPT, RPD, RPL
The
addr~ss
modification is not executed.
ILLEGAL EKECUTES: Execution in NS mode
I NDI CATORS:
Zero
-
Negative NOTES:
= 0, then ON; otherwise, OFF
C(Rl}O = 1, then ON; otherwise, OFF
If C(Rl)
If
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
(
8-261
DZSI-OO
GSTD
GSTD
FORMAT:
CODI NG FORMAT:
GSTD
Store Double from GXn
14n (0)
Single-word instruction format (see Figure 8-1)
8
16
GSTD
n,Y,R,AM
1
OPERATI NG MODES:
Only
SUMMARY:
C(GXn-pair) --> C(Y-pair)
EXPLANATION:
The content of the GXn-pair specified -by bits 24-26 of the op
code is stored in the memory location of Y-pair. The
GXn-pair whose contents are to be stored is specified as
follows:
ES
mode.
n (octal)
GXn-pair
o
GXO,
GX2,
GX4,
GX6,
2
4
6
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
GXl
GX3
GX5
GX7
\
ILLEGAL EXECUTES: Execution in NS mode.
I NDI CATeRS:
None affected.
NOTE:
An IPR fault occurs if illegal address modifications or
repeats are used or if this instruction is executed in the NS
mode.
'\
8-262
DZ5l-00
I
GTB
GTB
G'l'B
Gray-to-Binary Convert
774 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
NS mode only
SUMMARY:
C(A) is converted from Gray code to a 36-bit binary number
EXPLANATION:
This conversion is defined by the following algorithm in
which Rand S denote the contents of bit position i of the A
register before and after the conversion:
So
Sl
= RO
= (RO
where:
AND Si-l) OR (Ri AND Si-l)
= 1, ••• ,35.
i
Gray code is a method of transmitting numeric code
cyclically, one bit at a time, to eliminate transmission
errors and is defined as follows:
(
a. A positional binary notation for numbers in which any two
sequential numbers whose difference is 1 are represented
by expressions that are the same except in one place or
column, and in that place or column differ by only one
unit.
b. A type of cyclic unit-distance binary code evolved from
the 4-word, 2-bit unit distance code (00, 01, 11, 10)
according to the following rule:
To construct an (n+1)-bit reflected binary code from an
n-bit reflected binary code, write the n-bit code twice
in sequence, first in forward and then in reverse
sequence of code words. Prefix an extra bit to each
word, assigning the value a to the forward version and
the value 1 to the backward version of the n-bit code.
(
I LLEGAL ADDRESS
MODI FI CATIONS:
None
ILLEGAL REPEATS:
RPL
INDICATORS:
Zero
-
If C(A)
Negative
-
If
NOTE:
= 0, then ON; otherwise, OFF
C(A}O = 1, then ON; otherwise, OFF
Illegal Procedure fault occurs if an illegal repeat is
used.
An
8-263
DZ51-00
LARn
LARn
76n (1)
Load Address Register n
LARn
Single-word instruction format (see Figure 8-1)
FORMAT:
CODING FORMAT:
1
OPERATl NG MODES:
Any
SUMMARY:
NS Mode
8
16
LARn
LOCSYM, RM, AR
For n=0,1, ••• ,7 as determined by op code
C(Y)0-23 --> C(ARn); C(Y) unchanged
ES
Mode
For n=0,1, ••• ,7 as determined by op code
C(Y) -> C(ARn); C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, Cl, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLE:
1
ADDR
8
16
32
LAR7
ADDR
load bits 0-23 of address into AR7
BOSC
512,,8,8
o0 1
o0 1
*CONTENTS OF J..R7 AFTER:
8-264
0 0 0 7 0 0 0 0 0 memory contents
0 007 0
DZ51-00
(
LAREG
LAREG
Load Address Registers
FORMAT:
CODIIJG FORMAT:
463 (1)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG NODES:
Any
SUMMARY:
NS Node
8
16
LAREG
LOCSYM,R,AR
C(Y,Y+1, ••• ,Y+7)O-23 --> C(ARO,ARl, ••• ,AR7)
ES Node
C(Y,Y+l, ••• ,Y+7) --> C(ARO,AR1, ••• ,AR7)
EXPLANATION:
(
ILLEGAL ADDRESS
MODI FI CATIONS:
I
LLEGAL REPEATS:
The hardware assumes that the lower 3 bits of address Y = 000
and the 8 words beginning from the 8-word boundary are
accessed. No check is performed to determine whether the
lower 3 bits of Y = 000. Location Y must be forced to a
multiple of 8 by entering an 8 in column 7 of the statement
that defines Y, or by using the EIGHT pseudo-operation.
DU, DL, CI, SC, SCR
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-265
DZ5l-00
LAREG
LAREG
EXAMPLE:
1
8
16
32
LAREG
REGW
load ARO ••• AR7 from REGW ••• REGW+7
EIGHT
REGW
DEC
0,0,0,0,0,0,0,0
*
* Result is that all address Registers are
* cleared.
8-266
DZ51-00
LCA
LCA
(
Load Complement into A-Register
It
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
-C(Y) --> C(A); C(Y) unchanged
EXPLANATION:
This instruction changes the
while moving it from Y to A.
forming the two's complement
overflow condition exists if
335 (0)
number to its negative (if # 0)
The operation is executed by
of the string of 36 bits. An
C(Y) = 2**35.
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(A)
Negative
-
If C(A)O = 1, then ON; otherwise, OFF
Overflow
-
I f range of A is exceeded, then ON
= 0,
8-267
then ON; otherwise, OFF
DZ51-00
LCAQ
LCAQ
LCAQ
Load Complement into AQ-Register
337 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
-C(Y-pair) --> (AQ)i C(Y-pair) unchanged
EXPLANATION:
This instruction changes the number to its negative (if ~ 0)
while moving it from Y-pair to AQ. The operation is executed
by forming the two's complement of the string of 72 bits. An
overflow condition exists if C(Y)-pair) = -2**71.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Overflow
-
I f range of AQ is exceeded, then ON
NOTE:
= 0,
= 1,
then ONi otherwise, OFF
then ONi otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications are used.
8-268
DZS1-00
LeON
LeON
LCON
Load Connect Table
016 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Y, Y+l, Y+2, Y+3
-->C(Connect Table)
C(Y+4, Y+5, Y+5, Y+7) -->(Secondary Connect Table)
EXPLANATION:
The connect table is located in the CPU scratch pad memory at
locations 74-77. The secondary connect table is at locations
0-3. (Refer to the description of CIOC in this section.)
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, and SCR
ILLEGAL REPEATS:
RPD, RPL, and RPT
I ND! CATORS:
None affected
NOTES:
1. An IPR fault occurs if this instruction is executed in
Slave or Master mode.
2.
IPR fault occurs if illegal address modification or an
illegal repeat is used.
An
3. The SCPR tag 07 instruction stores the connect table.
8-269
DZ51-00
LCPR
LCPR
LCPR
Load Central Processor Register
674 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
The operation has several forms depending upon the tag field:
C(Y)
-->C(CPU Register)
Operand
-->C(CPU Register)
C(A)
-->C(PTWAM)
Tag
C(Y) Bits
CPU Register
02
18, 21, 23-25 -->cache Mode Register
34-35
-->Lockup Fault Register
04
0-35
-->CPU Mode Register
11
0-17
-->Port Configuration Register
12
5-35
-->Real Address Trap Register
13
33-35
-->CPU Number Register
14
0-35
-->virtual Address Trap Register
Tag
Operand
03
0-35 = O••• O}
59-99= O••• O}
-->History Registers
07
0-35 = 1. •• l}
59-99= 1. •• l}
-->History Registers
CPU Register
(Refer to Section 4 for register format.)
8-270
DZ51-00
LCPR
LCPR
(
The following tag loads the contents of the PTWAM directory
from the A-register. The entry location is specified by the
Y address field in the instruction.
EXPLANATION:
Tag
Column
Row
17
Yll-16
Y17
C(A) Bits
28,29
Entry
PTWAM
DirectorY
This instruction provides the capability to load the Central Processor registers. The registers are selected by the
instruction tag field. The operation has several forms as
indicated under summary.
For LCPR Tag 02, cache is flushed when bit 18 is set to the
enable state and when a cache mode changes from disable to
enable. If an enable condition corresponding to bits 21, 24,
and 25 requires a cache flush, software must manipulate bit
18 to cause a cache flush.
For LCPR tag 17, if bit 29 is ON, C(AR) is added to the Y
field and the sum forms the entry select. The full virtual
address development is not used.
The real and virtual address trap values are also loaded into
processor scratch pad at locations 66,67.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS :
None
NOTES:
1. Attempted execution of LCPR in the Slave or Master mode
results in a Command fault.
2.
Tag field defines function.
An Illegal Procedure fault occurs if an illegal tag field
or an illegal repeat is used.
3. See the SCPR instruction for selecting the central
processor registers to be set.
(
8-271
DZ51-00
LeQ
LCQ
LeQ
336 (0)
Load Complement into Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
-C(Y) --> C(Q>; C(Y) unchanged
EXPLANATION:
This instruction changes the number to its negative value = -2**35.
F 0) while moving it from Y to Q.
ILLEGAL ADDRESS
MODI PI CATIONS:
None
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
Negative
- If
Overflow
-
EXAMPLE:
1
= 0, then ON: otherwise, OFF
Co = 1, then ON: otherwise, OFF
If C (Xn); C(Y) unchanged
ES Mode
For n=O,l •••• or 7 as determined by opcode
-C(y) -> (GXn): C(Y) unchanged
EXPLANATION:
(
I LLEGAL ADDRESS
This instruction changes the number to its negative value (if
# 0) while moving it from bits 0-17 of Y to Xn or from Y to
GXn. The operation is executed by forming the two's
complement of the string of 18 bits.
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, or RPL of LOCO
INDICATORS:
Zero
-
If C(Xn/GXn)
Negative
-
I f C(Xn/GXn) 0 = 1, then ON; otherwise, OFF
Overflow
-
I f range of X!!/GX!! is exceeded, then ON
NOTES:
= 0,
then ON; otherwise, OFF
1. In the NS mode, if DL modificatiion is used, the hardware
executes with all zeros for data.
2.
Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used.
An
8-273
DZ51-00
LDA
LDA
LDA
Load A-Register
235 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y) --> C(A); C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:·
None
I LLEGAL REPEATS:
None
I NDI CATeRS:
zero
-
If C(A)
Negative
-
If C(A)O = 1, then ON; otherwise, OFF
= 0,
8-274
then ON; otherwise, OFF
DZ51-00
(
LDAC
LDAC
LDAC
034 (0)
Load A-Register and Clear
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y) --> C(A): 0 ••• 0 --> C(Y)
EXPLANATION:
This instruction is used for a gating operation in multiple
CPU systems. Execution of the next instruction is delayed
until the cache-flush request applied to all CPUs has
completed.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(A)
Negative
-
If C(A)O
NOTE:
= 0,
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-275
DZ51-00
LDA.Q
LDAQ
LDAQ
Load AQ-Register
237 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y-pair) --> C(AQ): C(Y-pair) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, 'SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If
NOTE:
= 0, then ON; otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
j
8-276
DZ51-00
(
LDAS
LDAS
LDAS
Load Argument Stack Register
770 (I)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Y-pair} --> C(ASR}; C(Y-pair) unchanged
EXPLANATION:
A descriptor is fetched from even/odd memory locations Y and
Y+l and the following checks are performed on the descriptor:
a.
Type
field T
= 1.
b. Base and bound are modulo 2 words (the three least
significant bits of base must be zeros; the three least
significant bits of bound must be ones if flag bit 27 is
l) •
If these conditions are met, the descriptor is loaded into
the argument stack register (ASR) and, in addition, the bound
is loaded into the High Water Mark Register (HWMR). During
ASR loading, bits 0-6 of the ASR bound field are forced to
zero by the processor instead of being loaded from the memory
operand. If flag bit 27 of the operand descriptor is zero,
the entire bound field is forced to zero, regardless of any
value the operand descriptor bound field may contain, and the
bound check is bypassed.
(
(Refer to the description of the PAS instruction for further
information concerning the HWMR.)
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, sc, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
8-277
DZ5l-00
WAS
WAS
1. Any of the following conditions cause an IPR fault:
NOTES:
o Illegal address modifications
o Illegal repeats
o segment descriptor type field T is not 1
o If the base and bound limits of the operand descriptor
are not modulo 2 words.
o If flag bit 27 = 1 (bound valid) and the bound is not
modulo two words
2. If the processor is in Slave or Master mode, the execution
of ·this instruction causes an Command fault.
EXAMPLE:
1
8
ROUTINE
CALLING
POST
RDSPRG EQU
WP
WP
WDSA
WAS
WPS
TRA
*
*
16
32
TO LOAD REGISTERS - ASR, PSR, DSAR
TSX Z,RDSPRG
LOST PO, Z
*
*safestore frame access
PO,.SSR,DL
*change type
PO, .CTYP ,DL
*DSAR
.WDSAR"PO
•WASR, , PO
*ASR
•WPSR, , PO
*PSR
,Z
*OK
8-278
DZ51-00
LDCR
LDCR
LOCR
Load Complement Register from Register
431 (1)
FORMAT:
1 1
7 8
000
Not Used
CODING FORMAT:
1
I
8
16
LOCR
R1, ,R2
22233
78912
OP CODE
OPERATING MODES:
Executes in ES mode only.
SUMMARY:
Rl, R2 = 0, 1, 2, 3, 4, 5, 6, 7, A, Q
III HBZI
3
5
R2
I
-C(R2) --> C(Rl)
C(R2) unchanged
(
ILLEGAL ADDRESS
MODIFICATIONS:
None.
ILI&;AL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
I LLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
NOTES:
Zero
-
If C(Rl) = 0, then ON; otherwise, OFF
Negative -
If C(Rl)O
Overflow -
I
= 1,
then ON; otherwise, OFF
f the range of Rl is exceeded, ON.
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
(
8-279
DZ51-00
LDDn
LDDn
/
LDI>!!
Load Descriptor Register n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
This set of eight instructions provides the capability of
loading a descriptor register (DRg) with a new descriptor or
modifying the descriptor currently contained in DRg. The
segment type referenced by the generated address determines
the function to be executed.
In this discussion, DRn represents the specified descriptor,
whereas, DRm represents the descriptor register indicated by
the y field that is used to load a new segment descriptor.
When the instruction word bit 29 = 1 and the descriptor
register specified by bits 0, 1, and 2 of the y field
includes a type T = 1 or 3 segment descriptor, the segment
descriptor is loaded into the DRn from the segment descriptor
segment specified by DRm.
When the instruction word bit 29 = 1 and the type for the
segment descriptor in DRm is T = 0, 2, 4, 6, 12, or 14, or
when the instruction word bit 29 = 0, a vector operation is
performed.
Descriptions of the two types of operations follow. An IPR
fault occurs when DRm includes a type T = 7 - 11, 13, or 15
segment descriptor.
Instruction Word Bit 29
= 1;
DRm Type T
=1
or 3
The segment descriptor from the segment descriptor segment
indicated by DRm is loaded into DRn. When the effective
address is generated, only R type modification and DU/DL
modification are permitted. The effective address is the
offset from the segment descriptor segment indicated by DRm.
The segment descriptor from the even/odd location indicated
by this address is loaded into DRn and the same checks are
performed as for any normal memory reference.
o A check is made to determine whether a segment is present
and whether read is permitted.
8-280
DZ51-00
LDDn
LDDn
(
o A bound check is made.
The housekeeping bit for that page must be ON because the
segment descriptor segment is referenced. If it is OFF, the
instruction execution is terminated and a Secur i ty Fault, Class
1 occurs. The housekeeping page access for access of the
segment descriptor is not dependent upon the CPU mode; it may
also be executed in Slave mode.
The ARg and
follows:
S~Dg
which correspond to the DRn are affected as
o ARg is set to zero.
o SEGIDg is set to be self-identifying, i.e., S
Instruction Word Bit 29
= 0;
ORrn Type
T
= 0,
= 0,
2, 4,
0
= 177n.
12, or 14
6,
The memory operand vector, consisting of one or two double-words
determines the operation to be performed by the instruction.
When this vector is obtained from memory, all address
modification is permitted except for DU, OL, SC, SCR, and CI.
1. VECTOR FORMAT
a. Vector for Standard Segment Descriptor, Super segment
Descriptor
o
1 2
9 0
o
SIZE
Y
V
FLAG
333
345
\\\ \
\
\\\ I
\\\ >2-Word
20
9
20
\\\
Vector
0
\\\ S
\\\ 2 10
/
>4-Word
\\\\\\\\\\\\\\\\\\\\\\\\\\
Vector
\\\\\\\\\\\\\\\\\\\\\\\\\\
BASE ADDER
Y+l
SUBSCRIPT
Y+2
20
Y+3
2
9
5
I
\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
8-281
/
DZ51-00
LDDn
LDDn
The contents of bits 29-33 (the V field) determine the
function to be performed as follows. (XXX for bits
indicates that these bits are ignored.)
V = OOXXX Copy: 2-word vector
Copy (load) the selected segment descriptor into
DRn. SEGIDn is set to indicate the location from
which the segment descriptor was obtained~ ARn is
set to zero.
V
= OlXXX Normal Shrink: 2-word vector
Shrink the selected segment descriptor and load it
into DRn. SEDIDn is set to indicate DRn~ ARn is set
to zero.
V = 10000 Extended Shrink:
V =
4-word vector
10001 Special Extended Shrink:
4-word vector
Shrink the selected segment descriptor with the
4-word vector and load it into DRn. SE(rrDn is set
to indicate DRn~ ARn is set to zero. (Refer to
details below for difference between Extended Shrink
and special Extended Shrink.)
V
= llXXX Data Stack Shrink: 2-word vector
Use DSDR and DSAR to generate the data stack segment
descriptor~ load this segment descriptor into DRn.
DSAR is updated and ARn is set to zero. SE(rrD is
set to indicate DRn.
//----,,\
!
\...j
8-282
DZ5l-00
LDDn
LDDn
(
b. Vector for Extended Segment Descriptor
o
1 2
9 0
o
9
20
Y+l
V
FLAG
SIZE
Y
\\\\\\\\\\\\\\\\\\\\\\\ \\\
\\\\\\\\\\\\\\\\\\\\\\\ \\\ S
20\\\\\\\\\\\\\\\\\\\\\ \\\ 2 10
Y+2
BASE ADDER
Y+3
SUBSCRIPT
333
345
2
9
5
\\\ \
\\\
\\\
D
>4-Word
Vector
/
The contents of bits 29 - 33 determine the function to
be performed with the format illustrated above as
follows:
V = 10100 Normal Shrink with Type Change
Shrink the selected segment descriptor (T = 12 or l4)
and change to a Standard Segment Descriptor. S~Dn
is set to indicate DRn: ARn is set to zero.
V = 10101 Normal Shrink with No Type Change
Shrink the selected segment.descriptor (T = 12 or
14). SEGlDn is set to indicate DRn: ARn is set to
zero.
V = 10110 Extended Shrink with Type Change
Shrink the selected segment descriptor (T = 12 or
14), by using a subscript, and change to a Standard
Segment Descriptor. SEGIDn is set to indicate DRn:
ARn is set to zero.
V = 10111 Extended Shrink with No Type Change
Shrink the selected segment descriptor (T = 12 or 14)
by using a subscript. SEGIDn is set to indicate DRn;
ARn is set to zero.
(
8-283
DZ5l-00
LDDn
LDDn
v = 10010 Normal Base Shrink with No
Type
Change
Shrink the base of a selected segment descriptor (T
= 0, 2, 12, 14) and reduce the bound by as much as
the base shrinkage. The type remains unchanged,
SEGID is set to indicate DRn: ARn is set to zero.
v
= 10011
Extended Base Shrink with No
Type
Change
The same as the normal base shrink, except that the·
subscript is used. SEGIDn is set to indicate DR!!
and ARn is set to zero.
2. SHRI NK FOR STANDARD AND SUPER SEGMENT DESOOPTORS
a.
V =
00>00( Copy
(bits indicated by
X
ignored)
The Sand D fields of the vector indicate the
location of the segment descriptor to be loaded into
DRn. Definition of these two fields follows.
= 0:
D = 0000
When S
For
through 1757 (octal), the descriptor is
loaded from the parameter segment and D is used as
an index to the desired descriptor. The value in D
is the number of the descriptor to be loaded and can
be treated as a modulo 8 byte index; that is, D can
be converted to a byte address by appending three
zeros as the three least-significant bits.
"
D is bound checked against the PSR (parameter
Segment Register) bound field. If D > PSR bound, a
Bound fault occurs. IF D <= PSR bound, D is added
to the PSR base and is used as the segment
descriptor address. This address is used to obtain
the segment descriptor which is then loaded into
DRn.
./
8-284
DZ5l-00
"
LDDn
LDDn
For D = 1760 through 1777 (octal), the descriptors
referenced by S, D are contained in selected
registers and copied to the DRg.
D = 1760
D = 1761
D = 1762
D = 1763
D = 1764
D = 1765
D = 1766
D = 1767
D = 1770
D = 1771
D = 1772
D = 1773
D = 1774
D = 1775
D = 1776
D = 1777
(
Undefined, IPR fault
Change Descriptor Type Field in DRn·
Instruction segment Register (ISR)
Data Stack Descriptor Register (DSDR)
Safe Store Register (SSR)
Linkage Segment Register (LSR)
Argument Stack Register (ASR)
Parameter segment Register (PSR)
DRO, Descriptor Register 0
DRl, Descriptor Register 1
DR2, Descriptor Register 2
DR3, Descriptor Register 3
DR4, Descriptor Register 4
DRS, Descriptor Register 5
DR6, Descriptor Register 6
DR7, Descriptor Register 7
NOTE: When S = 0 with D = 1761 (octal) and the
processor is in the Privileged Master mode, if
the descriptor contained in DRg is type 1 or
3, the type is changed to 0 or 2,
respecti vely. SEGIDn is set to be
self-identifying. However, if the descriptor
is not type 1 or 3, no fault occurs and no
operation is performed.
When S = 0 with D = 1761, 1763, or 1764
(octal), a command fault occurs unless the CPU
is in the Privileged Master mode.
When
S = 2
The Dth descriptor of the current argument segment
is selected. A relative byte offset is formed by
extending the D field by 3 zeros. D is
bound-checked against the ASR bound field. If D >
the ASR bound, a bound fault occurs. 1 f D <= the
bound, D is added to the ASR base, and the segment
descriptor is obtained with this address and then
loaded into DRn.
(
8-285
DZ51-00
LDDn
LDDn
When 5 = 1 or 3
The Dg descriptor of the current linkage segment is
selected. A relative byte offset is formed by
extending the 0 field by three zeros. 0 is
bound-checked against the LSR bound field. If D >
bound. a Bound fault occurs. If 0 <= the bound , 0
is added to the LSR base, and the segment descriptor
is obtained with this address and then loaded into
ORne
For all values of 5, the loading of D~ affects the
gth address register (ARn) and the nth segment
identity register (SEGrrDg) as follows:
o ARg is set to zero.
o I f DRn was loaded from another OR or the
instruction segment register (ISR), the
associated segment identity content is
transferred to SEGrrDn; otherwise, SEGlDn is set
to the 5 and D value-contained in the vector.
When 5 = 0 and D = 1761 (octal), SEGlDn is set to
be self-identifying.
o If an IPR or an Bound fault occurs, DRn, ARg, and
5EGlDg are not changed.
b. V = OlXXX Normal Shrink
When bits 29 and 30 of the first word in the vector are
01, the specified segment descriptor is obtained, the
shrink operation is performed, and the descriptor is
then loaded into DRn a§ with copy. When S = 0 and D =
1761 (octal) in the Privileged Master mode, the segment
descriptors for type T = 1 or 3 are changed to T = 0 or
2, respectively. The shrink operation is then
performed.
In order to perform the shrink operation, the segment
descriptors indicated by 5 and D must be Standard or
Super Segment descriptors. An IPR fault occurs if T =
5 or 7 - 15. If a fault, such as a Bound fault, occurs
during the shrink operation, D~, SEGrrDn, and ARn are
not changed.
/'
8-286
DZ5l-00
..
"
(
LDDn
LDDn
Standard Seament Descriptors
with standard segment descriptors, the shrink operation
is performed as follows.
o The vector BASE ADDER and SIZE fields are the relative
values for the selected segment descriptor base and
bound fields. The following check is performed for
these values.
BASE ADDER + SI ZE <= bound
' ___Bound fault occurs with carry.
A Bound fault occurs when the sum of the BASE ADDER
and SIZE exceeds the bound or when carry occurs with
this addition. Flag bit 27 is not checked.
o When the check is terminated, a new base and bound are
generated.
New Base = old base
+
BASE ADDER
'_Bound fault occurs with carry.
New Bound
= size
The new base and bound are loaded into DRn.
o The vector flag field indicates the attributes given
to the segment. I t is combined with the flag field
of the selected segment descriptor to generate a new
flag field. The permission conditions for these new
flags are such that they are not increased from the
previous conditions (i.e., a bit-by-bit logical AND
operation of two flag fields takes place). A fault
does not occur even if the vector permission
conditions are greater than those for the segment
descriptors. The result produced by the combination
of these two flag fields is loaded into the DRg flag
field. As the type T = 2 or 3 segment descriptor
flag field are three bits in lengtli, the AND
operation is performed for these three bits and the
corresponding three bits from the vector.
The corresponding ARn is set to zero.
8-287
DZSl-OO
LDDn
LODn
SEGlDn is set to be self-identifying (ORn); for
example, when this instruction references OR3
(LDD#), S~03 is set as follows:
17738
Two Bits
Ten Bits
Super segment Descriptors
When shrink operation is performed for a super segment
descriptor, a standard segment descriptor is
generated. Type T = 4 super segment descriptor becomes
type T = 0 standard segment descriptor, and type T = 6
super segment descriptor becomes type T = 2 standard
segment descriptor.
The shrink operation is performed as follows:
o A check is performed to determine whether the
following expression is satisfied.
L
Location + (BASE ADDER + SIZE)
<=
bound
'_NO fault with carry
Bound fault occurs with carry
Flag bit 27 is not checked.
I f this check is passed, a new base and bound are
generated.
New base = base + (location + BASE ADDER)
' ___Bound fault occurs
with carry
___Bound fault occurs with carry
The processing is described in the diagram that
follows relative to the base and bound fields of the
selected descriptor.
8-288
DZ51-00
LDDn
LDDn
(
Location (selected segment Descriptor)
9.
35.
.16
+
·
·
··
•0
··
··
·
+
Base (Selected
segment
Descriotor)
··
9·.
.o
19
·
BASE ADDER (From Vector)
.0
·
·•
··
·•
··
35.
New Segment Descriptor Base
(
The new bound = SIZE. The new base and size field from
the vector are loaded in the base and bound field of
DRn·
The new flags field is fomed in the same manner as for
the standard descriptor. SEGrrDn is set as for the
standard descriptor shrink; ARn is zero-filled.
c. V = 10000 Extended Shrink
For extended shrink operations, the same conditions which
exists for normal shrink operations must be satisfied. If
a fault occurs during a shrink operation, DRn, ARn, and
SEG[Dn remain unchanged.
Standard Segment Descriptors
A 4-word vector subscript (SCPT) is used when the new
segment descriptor base and bound are generated.
(
8-289
DZ5l-00
LDDn
LDDn
o The following check is performed.
(BASE ADDER
+
SCPT)
(SI ZE - SCPT)
+
<=
bound
I_Bound fault occurs
with borrow
_Bound fault occurs with carry
_carry is ignored: a negative value is
permi t ted as the BASE ADDER (i. e., a
very large positive value).
o If this check is passed, a new base and bound are
generated.
New base
= base
+
(BASE ADDER + SCPT)
I_carry is ignored.
__Bound fault occurs with carry.
New bound
= SIZE
- SCPT
I_Bound fault occurs with borrow •.
The new base and bound are loaded into DRn.
As described in the discussion on normal shrink of a
standard segment descriptor, a new flag field is
generated. SEGIDn and ARn are set in the same way.
Super Segment Descriptors
The SCPT field is used as described in the discussion
on standard segment descriptors.
The following check is performed.
/
8-290
DZS1-00
,
LDDn
LDDn
Location
+
(BASE ADDER
+
ACPT)
+
(SIZE - SCPT)
<=
bound
I_Bound fault
occurs with
borrow.
__carry transferred to
the location field.
_carry is ignored.
_Bound fault occurs with carry.
If this check is passed, a new base and bound are
generated.
New Base = base + (location + (BASE ADDER +
SCPT»
I_carry is
ignored.
Bound fault occurs with
carry.
_Bound fault occurs with carry.
New bound
= SIZE
-
SCPT
' __Bound fault occurs with borrow.
The new base and bound are loaded into DRn.
o
new flag field is generated as with a standard
segment descriptor.
A
o DRg type T is set as follows.
1) If old T
= 4,
then new T = 0
2) If old T
= 6,
then new T = 2.
o The corresponding ARg is set to zero.
o
is set to be self-identifying (DRg). The
flag bit 27 of the selected segment descriptor is
not checked.
S~Dn
(
8-291
DZ5l-00
LDDn
LDDn
d. v = 10001 Special Extended Shrink
The differences between the special extended shrink and
the extended shrink (v = 10000> are as follows.
If the type T of the fetched segment descriptor is not
equal to 0, 1, 2, or 3, an IPR fault occurs. The SIZE
field (bits 0 - 17) of the vector is ignored, and the
following check is made.
BASE ADDER + SCPT <=
old bound
I_carry is ignored.
A
new base and bound are created as follows.
New base
= old
base -
(BASE ADDER + SCPT)
I_carry is ignored
Bound fault occurs if a borrow
-is generated.
New bound = old bound -
(BASE ADDER + SCPT)
I_carry is ignored
Bound fault occurs if a borrow
-is generated.
8-292
DZ5l-00
LDDn
LDDn
e. v
= llXXX
Data Stack Shrink
When bits 29 and 30 of the first word in the vector are
11, the instruction performs the data stack shrink
operation. The second word in the vector is ignored.
DSDR, OSAR, and the SIZE and flag field of the first
word in the vector are used to generate the new segment
descriptor.
o The value in the SIZE field of the vector is checked
to determine whether the area between the location
currently specified by the OSAR and the value
specified by the OSDR bound is equal or greater than
the SIZE field. The lower three bits of the vector
SIZE field are set to 1 to indicate an even-word
boundary (i.e., it is rounded to a double-word
expression as the OSAR always specifies an even-word
boundary.) DSAR + SIZE (rounded-up) <= DSDR bound
is then checked. I f the left portion of this
expression exceeds the OSDR bound, or if carry
occurs as a result of the addition to the left, a
Bound fault is generated. In this case ORB, ARB,
and SEGIOB are not changed.
o I f this check is passed, the OSAR content is added
to the OSDR base and a new base is generated. If
carry occurs, a bound fault occurs and the register
content is not changed.
o The new base (OSAR + OSDR base) is then loaded into
the ORn base field and the vector SIZE (before
rounding) is loaded into the ORn bound field.
o The new flag field values are generated from the
vector flag field and the DSDR flag field following
the same method as that described for normal shrink
of standard segment descriptors.
o The content of the DSDR Wand T fields are moved to
the ORn Wand T fields.
o The corresponding ARn is set to zero.
o SEGIDB is set to be self-identifying (ORn), as with
normal shrink.
8-293
OZSl-00
LDDn
LDDn
o The following value is loaded into DSAR.
New DSAR
= DSAR
+
SIZE (rounded-up)
+
1 (byte)
wraparound is not permitted for the DSAR, a bound
faul t occurs if carry occurs with the above
addition.
As
3. SHR1 NK FOR EXTENDED
SEGMENT DESCR1 PTORS
a. V = 10100 Normal Shrink with
Type
Change
The segment descriptor indicated by the S, D fields of
a vector is fetched in the same way as by the copy
function. I f the type T of the fetched segment
descriptor is not 12 or 14, an IPR fault occurs. For a
valid segment descriptor, the shrink operation is
performed as follows.
o The following check is made.
12 bits
BASE ADDER + SIZE <= bound (ll ••••••••• l)
I f the sum of the BASE ADDER and SIZE exceeds the
value obtained by extending the bound of the fetched
segment descriptor 12 "1" bits to the right, or if
the addition produces a carry from the most
significant bit, a bound fault occurs.
)
/
o After this check, a new base and bound are created.
New base
= old
base
+ BASE
ADDER
I_Bound fault occurs if carry
is generated.
New bound
o
A
= SIZE
new flag field is created in the same way as for
V = OlXXX normal shrink.
o A new type T is set as follows.
If old T
= 12,
then new T
= O.
If old T = 14, then new T = 2.
(' '\
\_--_/
8-294
DZ5l-00
LDDn
LDDn
o
S~Dn
and ARn are set in the same way as for normal
shrink.
b. v
= 10101
Normal Shrink with No Type Change
The segment descriptor indicated by the S, D fields of
a vector is obtained in the same way as for the copy
function. An IPR fault occurs if the type T of the
fetched segment descriptor is not 12 or 14. For a
valid descriptor, the shrink operation is performed as
follows.
12 bits
BASE ADDER + (SIZE OO ••••••• O+base lower-order 12 bits)
12 bits
<= bound 11 •••••••• 1
where the base denotes the value of the base field of
the fetched segment descriptor.
First, the sum of the value obtained by extending the
SIZE 12 bits to the right and the low-order 12 bits of
the base is obtained. I f this sum plus the BASE ADDER
exceeds the value obtained by extending the bound of
the descriptor 12 bits to the right, or if a carry is
generated by the addition, a Bound fault occurs.
o After the check, a new base and bound are created.
New base = old base + BASE ADDER
LBound fault occurs if carry
is generated.
New bound = SIZE
o SEG[Dn and ARn are set in the same way as for normal
shrink.
-
8-295
DZ51-00
LDDn
LDDn
c. V = 10110 Extended
S~rink
with Type Change
The segment descriptor indicated by the S, D fields of a
vector is obtained in the same way as for the copy
function. An 1PR fault occurs if the type T of the
fetched segment descriptor is not 12 or 14. For a valid
segment descriptor, the shrink operation is performed as
follows.
o The following checks are made on the BASE ADDER and
SIZE fields of the vector.
12 bits
(BASE ADDER + SCPT) + (SI ZE - SCPT) <= bound 1l. ..••• l
'_Bound fault occurs if '.
a borrow is generated.
Bound fault occurs if
-a carry is generated
_carry is ignored.
o After the check, a new base and bound are created.
New base = old base
+
(BASE AnDEER
+
SCPT)
'_carry is
ignored.
_Bound fault occurs if a carry
is generated.
New bound
= S1 ZE
- sePT
I_Bound fault occurs if a borrow
is generated.
o A new flag field is created in the same way as for a
normal shrink (v = OlXXX).
o A new type is set as follows.
If old T
= 12,
then new T = O.
IF old T
= 14,
then new T
= 2.
o SEGIDn and ARn are set in the same way as for a normal
shrink.
-
8-296
DZ51-00
)
/'
LDDr;
LDDn
d. v
= 10111
Extended Shrink with No Type Change
The segment descriptor indicated by the S, D fields of a
vector is obtained as for the copy function. An IPR
fault occurs if the type T of the fetched segment
descriptor is not 12 or 14. For a valid descriptor the
shrink operation is performed as follows.
o The following check is made on the BASE ADDER and
SIZE fields of the vector.
(BASE ADDER
+
+
SCPT)
I__carry is ignored.
12 bits
[(SIZE 00 •••••••• 0
+
base low-order 12 bits)-SCPT]
Bound fault occurs iL I
a borrow is generated.
I
__Bound fault occurs if a carry is generated.
<=
12 bits
bound 11 •••••••• 1
First, the sum of the value obtained by extending
SIZE 12 bits to the right and the low-order 12 bits
of the base of the fetched segment descriptor is
obtained. The difference between this sum and SCPT
is obtained. The difference is added to the sum of
the BASE ADDER and SCPT.
second, this sum is compared to the value obtained by
extending the bound of the fetched descriptor 12 bits
to the right. This operation is illustrated as
follows.
8-297
DZ5l-00
LDDn
LDDn
4b
1___
3...1.110:0(
B_AS_E_AD_D_ER
___
SIZE
0000
BOUND
11 •• 1
+
+
=
=
o
19 12b
0
35 .:r-0_ _ _ _ _ _ _ _....;3~5
BASE ADDER + SCPT
SIZE 00 ••• 0 +
I
Alcarry is
BASEl2b1
(- )
ignored
\
1
\
\
\
o
\
\
\
SCPT
=
35
(SIZE 00 ••• 0 + BASE12b
-SCPT
\
\
I f borrow, Bound fault occurs
\
\
\1
+
BASE ADDER + SCPT
31
=
(SIZE 00 ••• 0 + BASEl2b
---->
- SCPT + (BASE ADDER -+
SCPT)
BOUND
CHECK
If a carry is generated, Bound fault occurs.
o After the check, a new base and bound are created.
8-298
DZ51-00
(
LDDn
LDDn
New base = old base
+ (BASE ADDER + SCPT)
I_carry
is
ignored.
I_BoUnd fault occurs if a carry
is generated.
New bound
12 bits
11 •••••••• 1
- (old baselow-order 12 bits
+ BASE ADDERlow order 12 bits}
- SCPT]4-23
= [{SIZE
I_Bound fault occurs if a borrow
is generated.
The following illustrates locating the new bound.
8-299
DZ5l-00
LDDn
LDDn
_____~1*2
(-)
SCPT
=
2_3-"-:12:-4_~r
Ignored ___ >.....1O--:-_______
I
.
I f borrow I _ I .
Bound f a u l t .
occurs.
0
1
.\
I
. --r...l gnored
•
19
NEW BOUND
I
*1:
(Old base + BASE ADDR)low-order 12 bits
12 bits
*2:
SIZE 11 •••••••• 1 - (old base + BASE ADDER)low 12 bits
Flag fields are handled as a normal shrink.
o A new type T is the same as the original (old) type T.
o SEGIDn and ARn are set in the same way as for normal
shrink.
-
8-300
DZ51-00
(
LDDn
LDDn
e. v
= 10010
Normal Base Shrink with No
Type
Change
The segment descriptor indicated by the S, D fields-of a
vector is obtained in the same way as for the copy
function. An IPR fault occurs if the type T of the
fetched segment descriptor is not 0, 2, 12, -or 14.
The SIZE field of the vector is ignored in the
processing for a valid descriptor illustrated below.
o The following check is made on the BASE ADDER of the
vector.
16 bits
BASE ADDER <= 00 ••••••••• 0 bound
If the condition in the abgve check is not met, a
Bound fault occurs.
o After the check, a new base and bound are created as
follows.
New base
= old base
(
+ BASE
ADDER
'_Bound fault occurs
is generated.
16 bits
New bound
o
= [00 ••••••••••• 0 bound
- BASE ADDER]l6-35
new flag field is created the same as for a normal
shrink (v = OlXXX).
A
o A new type T is the same as the original (old) type
T.
o SEGJDn and ARn are set in the same way as for a
normal shrink.
For a segment descriptor with T = 12 or 14, the shrink
operation is performed as follows.
(
8-301
DZ51-00
LDOn
LDDn
o The following check is made on BASE ADDER of the
vector.
4 bits
12 bits
BASE ADDER+baselow-ord 12 bit~=OOOO bound 11 •••• 11
I_Bound fault occurs if a
carry is generated.
where the low-order 12 bits of base are the low-order
12-bits of the base field of the fetched segment
descriptor.
If the above condition is not met, a Bound fault occurs.
o After the check, a new base and bound are created as
follows.
New base = old base + BASE ADDER
1__ Bound fault occurs if a carry is
generated.
4 bits
12 bits
New bound = [(0000 old bound 11 ••••••• 1
- old base low-order 12 bits)
- BASE ADDER]4-23
o A new flag field is created in the same way as for a
normal shrink (v = OlXXX).
o The new type T is the same as the original (old) type
T.
o SEGIDn and ARn are set in the same way as for the
normal shrink.
f. v
= 10011
Extended Base Shrink with No Type Change
The segment descriptor indicated by the S, D fields of a
vector is located in the same way as for the copy
function. An IPR fault occurs if the type T of the
fetched descriptor is not 0, 2, 12, or 14.
/"
I
8-302
DZ51-00
'~
LDDn
LDDn
The SIZE field of the vector is ignored in the processing
described below.
For a segment descriptor with T = 0 or 2, the shrink
operation is performed as follows.
o The following check is made on the BASE ADDER and the
SCPT of the vector.
BASE ADDER
+
16 bits
SCPT<= 00 •••••••••• 0 bound
I_carry is ignored.
If these conditions are not met, a Bound fault occurs.
o After the check, a new base and bound are created as
follows.
New base
= old
base
+
(BASE ADDER
+ sePT)
I_carry is ignored.
Bound fault occurs if a carry
-is generated.
16 bits
New bound = 00 •••••••••• 0 bound - (BASE ADDER
SCPT)l6-35
+
carry is ignored._1
new flag field is created in the same way as for a
normal shrink (v = OlXXX).
A
The new type
T.
T
is the same as the original (old) type
SEGIDn and ARn are set in the same way as for normal
shrink.
For a segment descriptor with T = 12 or 14, the shrink
operation is performed as follows.
o The following check is made on the BASE ADDER and
SUBSCRI PT (SCPT) of the vector.
8-303
DZ51-00
LDDn
LDDn
(BASE ADDER
+
SCPT)
base low-order 12 bits
+
I_Bound fault occurs if a carry
is generated.
is ignored.
_Carry
4 bits
12 bits
<= 0000 bound 11 •••••••• 1
below. )
* (Referred to by NOTE
Where the base low-order 12 bits are the low-order 12
bits of the base field of the fetched segment
descriptor. If this condition is not met, a bound
fault occurs.
o After the check, a new base and bound are created as
follows.
New base
= old
base
+
(BASE ADDER
+
SCPT)
I_carry is ignored.
Bound fault occurs if a carry
-is generated.
4 bits
New bound
12 bits
old bound 11 •••••••• 1
old base low-order 12 bits)
- (BASE ADDER + SCPT)] 4-23
= [(0000
I_carry is ignored.
Bound fault occurs if a borrow is
-generated.
NOTE:
o
A
o
A
This Bound fault will never occur
if the starred (*) check condition
above has been met.
new flag field is created in the same way as for a
normal shrink (v = OlXXX).
new type T is the same as the original type T.
o SEGIDn and ARn are set in the same way as for a normal
shrink.
-
8-304
DZ51-00
LODn
LODn
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, IR, RI, IT, CI, SC, SCR (See NOTES for explanation.)
I LLEGAL
RPT, RPD, RPL
REPEATS:
INDICATORS:
None affected
NOTES:
1. Illegal Procedure (IPR) Faults can be caused by any of the
following conditions:
a. Modifications RI, IR, IT, DU, and DL when the DRm
segment descriptor type T = 1 or 3
b. Modifications DU, DL, CI, SC, SCR when the DRm segment
descriptor type T = 0, 2, 4, 6, 12, or 14
c. Illegal repeats
d. Vector fields S
= 0 and D = 1760
(octal)
e. If vector bits 29 and 30 are 01 or 10 and descriptor
obtained is type T=5 or 7-15
f. If a carry occurs when a T = 4 or 6 super descriptor is
loaded into DRn, and it is converted by hardware to a
standard segment descriptor. (Refer to description of
"Super Descriptors" in Section 3.>
g. When instruction word bit 29 = 1 and DRm segment
descriptor is type T = 5 or 7-11, 13, 15
2. Command Faults can be caused by any of the following
conditions:
a. If the CPU is not in Privileged Master mode, when S
and D = 1761, 1763, or 1764 (octal)
=0
b. If the CPU is not in Privileged Master mode, when bits
29 and 30 of the first word in the vector do not
specify data stack shrink (v = llXXX) and the vector S
and D fields specify DSDR
.
NOTE: When CPU is in the Privileged Master mode, the
segment descriptor from DSDR is used to execute
the specified operation. In this instance, DSDR
and DSAR remain unchanged.
8-305
DZ51-00
LDDn
LDDn
"r'-\
j
3. Bound Faults can be caused by any of the following
conditions:
a. When S = 0 and D > PSR bound
b. When S = 2 and D > ASR bound
c. When S = 1 or 3 and D >
l.SR
bound
d. When BASE ADDER + vector SIZE> DRn bound with shrink
operation for standard descriptors
e. When DRn location + vector BASE ADDER + vector SIZE >
DRn bound with shrink operation for super descriptors
f. When an illegal carry or borrow occurs while a base and
bound are generated, while a size check is performed,
or while a new DSAR is generated
g. In addition, general fault conditions also apply when
segment descriptors and page tables are accessed.
These conditions are noted in the individual vector
procedures descriptions.
4. Security Fault, Class 1 can be caused by the following
condition:
a. If the housekeeping bit of the page which includes the
selected descriptor is OFF when a descriptor is loaded
with the LDD instruction -
8-306
DZSl-OO
~
\,
\
LDDn
LDDn
EXAMPLES:
Direct Load:
1
8
16
32
LDDO
0,,7
Load ORO from location zero
of descriptor segment
framed by DR7 1770 -> SEGIDO
zeros --> ARO
8
16
32
LDDO
CPYDR7
Copy DR7 into DRO 1777-->SEGIDO
zeros-->ARO
Copy:
1
.
CRYDR7 CVEC
.DR7
Normal Shrink:
1
(
8
16
LDDO
BUFVEC
BUFFER BSS
BUFLEN EQU
BUFVEC VEC
(--
32
320
*-BUFFER
. I SR, BUFFER, BUFLEN , READ
.
8-307
DZ51-00
LDDR
LDDR
',,-
433 (1)
Load Double Register to Register Pair
LDDR
FORMAT:
o
1 1
7 B
0 0
I
Not Used
CODI NG
FORMAT:
1
222 3 3
7 B9 1 2
B
16
LDDR
Rl, ,R2
OPERATI NG MODES:
Executes in ES mode only
SUMMARY:
Rl, R2, = 0, 2, 4, 6, AQ
OP CODE
3
5
III I I
MHZ
R2
C(R2-pair) --> C(Rl-pair)
C(R2) unchanged
/
ILLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
zero
-
Negative NOTES:
If C(Rl-pair)
If C(Rl-pair)O
= 0,
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
B-30B
DZ51-00
LDDSA
LDDSA
Load Data Stack Address Register
LDDSA
170 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
Bits 0-16 of C(Y) -> C(DSAR)
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
'None affected
NOTES:
1. The DSAR is a 17-bit register that holds an even-word
address.
2.
IPR fault occurs if illegal address modifications and
illegal repeats are executed.
An
3. If the processor is not in the Privileged Master mode, the
execution of this instruction causes a Command fault.
EXAMPLE:
1
8
16
LDP
P,PSH,SD.PSH,DL
P,PSH,.CTYP,DL
PH.ADS"P.PSH
TEMP, ,P.DSR
TEMP, ,P.DSR
LDP
LDDSD
STZ
LDDSA
(
8-309
DZ51-00
LDDSD
LDDSD
LDDSD
Load Data Stack Descriptor Register
571 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
C(Y-pair) --> C(DSDR)
EXPLANATION:
The double-word memory operand is fetched from even and odd
memory locations Y and Y+l. The operand must be in standard
descriptor format with a type field of T = O. The lower
three bits of the base of this segment descriptor must be
zero (i.e., the descriptor in the DSDR specifies the segment
beginning from the boundary of an even word). The flag bit
22 must be zero.
When these conditions are met, the obtained descriptor is
loaded into the DSDR. If one or more of the above conditions
are not met, an IPR fault occurs and the DSDR content remains
unchanged.
The lower three bits of the descriptor bound field should all
be ones to ensure that the area specified with the DSDR is a
multiple of word pairs. Hardware does not check these three
bits.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. Any of the following conditions causes an IPR fault (the
DSDR remains unchanged):
a. Illegal address modification
b. Illegal repeats
c. If type field T is not equal to O.
d. If the base is not modulo 2 words.
e. If the descriptor flag bit 22 is not = O.
8-310
DZ5l-00
(
LDDSD
LDDSD
-
2. If the processor is Master or Slave mode, the execution of
this instruction causes a Command fault.
EXAMPLE:
8
16
EKP
LDP
LDD
LDP
STA
LDD
LDAS
LDPS
LDDSD
LDDSA
LDSS
PO,SD.PSH,DL
PO ,PH. USL, ,PO
PO , •crY? , DL
UL.ISR+1, ,PO
S.ISR+1,QU,P4
P1,S.ISR,QU,P3 P1 = sub-dispatch I SR
S.APR, ,P4
load special registers
S.APR, ,P4
S.DSR, ,P4
SBDH
.KLSDS,PN*,P.KL load SSR for sub-disp by processor number
STX6
SXL3
LDD
LCQ
ANSQ
.KLPRG,7,P.KL
.KLPRG,7,P.KL
P2,S.ENT,QU,P3
=0204020,DL
.QFST,3,P6
ADLA
(
32
1
set processor flags for sub-disp
P2 = entry descriptor to climb with
clear fault status bits
(
8-311
DZ51-00
WE
WE
WE
Load Exponent Register
411 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y)0-7 -> C(E);
I LLEGAL ADDRESS
MODI FI CATl ONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
setOFF
Negative
-
setOFF
NOTE:
C(Y)
unchanged
An Illegal Procedure fault occurs if illegal address
modification is used.
8-312
DZ5l-00
(
LDEAn
LDEAn
Load Extended Address n
(
61n (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y) -->
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CA'TORS :
None affected
NOTES:
1. This set of eight instructions enables the loading of the
location field of a descriptor register (DRn) from memory
address Y. The DR!! must contain a super descriptor (type
field T must be 4 or 6): otherwise, an IPR fault occurs.
location field of Descriptor Register (DR!!)
2. If T = 4 or 6, if a carry occurs when creating the base (DRn
base+location field) or, if a borrow occurs when creating the
bound (DRn bound-location field), an IPR fault occurs.
3. Any of the following conditions causes an IPR fault:
a. Illegal address modifications·
b. Illegal repeats
c. If descriptor type field T of DRn is not 4 or 6
8-313
DZ5l-00
EXAMPLE:
1
MSCN7
8
NULL
EAX2
CMPX2
TZE
LDA
ANA
AOS
CMPA
TZE
16
1,2
4,DU
ESCN
• KLMSZ, , KLS
=0777777,DL
ADDRS
ADDRS
ESCN
LDEA
LDA
RMS,SUPAD
ASA
TRA
SUPAD
1K*4,DL
MSCN2
32
is defective memory table full?
yes
no
isolate real memory size
advance page number
is this page the last?
yes
loading location field of super descriptor
adjust byte
next page scan
8-314
DZ51-00
(
LDI
LDI
LDI
Load I ndicator Register
634 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y)18-32 --> C(IR); C(Y) unchanged
EXPLANATION:
The relation between bit positions of C(Y) and the indicators
is as follows:
Bit Position
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33-35
Indicator (or Mask)
Zero
Negative
carry
Overflow
Exponent overflow
Exponent underflow
Overflow mask
Tally runout
Parity error
Parity mask
Master mode
Truncation
Multiword instruction interrupt
Reserved for exponent underflow mask
Hexadecimal mode
Undefined
ILLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Master mode (IR bit 28) not affected
All others: If corresponding bit in C(Y)
OFF
= 1,
then ON; otherwise,
(
8-315
DZ5l-00
LDI
LDI
NOTES:
1. The Tally Runout indicator reflects bit 25 of C(Y)
regardless of what address modification is performed on
the LDI instruction for tally operations.
2. Master Mode cannot be changed by the LO! instruct ion.
Overflow Fault does not occur when the overflow
indicator, exponent overflow indicator, or exponent
underflow indicator is set ON via the LDI instruction,
even if the overflow mask indicator is OFF.
3.
An
4.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is uSed.
5. Hexadecimal mode is controlled by bit 32 of the IR and
bit 33 of the mode register.
6. The parity mask, bit 27, masks
errors and internal CPU parity
Slave mode, only SCU interface
The test mode register control
internal parity errors.
8-316
SCU interface parity
errors in Master mode. In
parity errors are masked.
can be used to mask
DZ5l-00
(
LDO
LDO
LDO
Load Option Register
FORMAT:
Single-word instruction format (see Figure 8-1).
OPERATING MODES:
Any.
EXPLANATION:
When the CPU is in Privileged Master mode:
172
(1)
See Explanation below.
Data Stack Clear Flag (DSCF) is loaded from C(Y)18.
DSCF controls memory clear operation when data stack
shrink is executed with the CLIMB instruction.
o = do
1
not clear
= clear
safe Store Bypass Flag (SSBF) is loaded from C(Y)19.
SSBF controls ICLIMB safe store bypass.
o = bypass safe store
= perform safe store
1
If the CPU is in Master or Slave mode, DSCF and SSBF are
unchanged.
I LLEGAL ADDRESS
MODI FI CATIONS:
CI,
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. Although this instruction is legal in all processor modes,
SC, SCR
the setting of the two flag bits occurs only in Privileged
Master mode.
2. An IPR fault occurs if illegal address modification or
illegal repeats are executed.3l9
8-317
DZ5l-00
LOO
LOO
EXAMPLE:
16
32
1
8
*
LOAD SAFE STORE REGISTER AND OPTION REGISTER; Privileged Master
SLVSS
LOSS
LOO
cross
TRA
MSFRM
CPNOSS
LOSS
LOO
=0200000,DL
=0400000,DL
mode only
SSBF ON
DSCF ON
8-318
DZ51-00
(
LDPn
LDPn
Load Pointer Register
n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
This set of eight instructions is similar to the LODg
instruction with the copy option; however, no vector is
required and ARn may be loaded with a value other than all
zeros.
Processing for these instructions differs between
modes.
NS
NS
and
ES
Mode
If DU or DL modifications are not used
C(Y)0-23 --> C(ARn)
C(descriptor specified by S, D) --> C(DRn)
or the DRn type field
is changed.
C(Y)24-35
interpreted as S,D field
If DU modification is used
YO-17 -->
C(ARn)0-17
00 ••• 0 --> C(ARn)18-23
00 ••• 0
interpreted as S,D field
If DL modification is used
00 ••• 0 -->
C(ARn)0-17
YO-5 -->
C(ARn)18-23
Y6-l7
interpreted as S,D field
8-319
DZ51-00
LDPn
LDPn
ES Mode
If DU or DL modifications are not used
C(Y)0-35 --> C(ARn)
C(descriptor specified by S, D) --> C{DRn)
or the DRn type field
is changed.
C{Y+l)O-ll
interpreted as S,D field
C(Y+l)12-35
ignored
If DU modification is used
Y16-33
-->
C{ARn)0-17
00 ••• 0
-->
C{ARn)18-35
00 ••• 0
interpreted as S,D field
If DL modification is used
YO-2l
-->
.C{AR)14-35
00 ••• 0
-->
C(ARn)0-13
Y22-33
interpreted as Sand D
In both the NS and ES modes, interpretation of the S and D
fields and the corresponding operation is the same as that
for the LDDn instruction vector Sand D fields specified by
the copy function. The descriptor is loaded into DRn.
(When S = 0 and D = 1761, the type in DRn is changed; the
value described with the LDDn instruction copy function is
loaded into SEGIDn.)
The Sand D fields of the pointer locate the descriptor to be
loaded into DRn as follows:
8-320
DZ51-00
LDPn
LDPn
(
When S = 0:
For D = 0000 through 1757 (octal) and D <= PSR bound, the
descriptor is loaded from the ~\Tameter segment and D is used
as an index to the desired descriptor. The value in D is the
number of the descriptor to be loaded and can be treated as a
modulo 8 index; that is, D can be converted to a byte address
by appending three zeros as the three least significant bits. For D = 1760 through 1777 (octal), the descriptors referenced
by S, D are contained in selected registers and copied to
DRg.
D = 1760
D = 1761
D = 1762
D = 1763
D = 1764
D = 1765
D = 1766
D = 1767
D = 1770
D = 1771
D = 1772
D = 1773
D = 1774
D = 1775
D = 1776
D = 1777
Undefined, IPR fault
Change Descriptor Type Field in DRn
Instruction Segment Register (ISR)
Data Stack Descriptor Register (DSDR)
safe Store Register (SSR)
Linkage Segment Register (LSR)
Argument Stack Register (ASR)
Parameter Segment Register (PSR)
DRO, Descriptor Register 0
DR1, Descriptor Register 1
DR2, Descriptor Register 2
DR3, Descriptor Register 3
DR4, Descriptor Register 4
DRS, Descriptor Register 5
DR6, Descriptor Register 6
DR7, Descriptor Register 7
NOTE: when D = 1761 (octal) and the processor is in
Privileged Master mode, if the descriptor contained
in DRg is type 1 or 3, the type is changed to 0 or
2, respectively; however, if the descriptor is not
type 1 or 3, no change is made and no fault occurs.
When S
= 2:
The Dg descriptor of the current argument segment is
selected. A relative byte offset is formed by extending the
D field by 3 zeros.
(
..
8-321
DZ51-00
LDPn
LDPn
When S = 1 or 3:
The Dn descriptor of the current linkage segment is selected.
A relative byte offset is formed by extending the D field by
3 zeros.
For all values of S, the loading of DRg affects the nth
address register (ARn) and the nth segment identity register
(S~Dn) as follows:
a. ARn is set to zero.
b. If DRn was loaded from another DR or the instruction
segment register (lSR), the associated segment identity
content is transferred to S~Dn; otherwise, s~Dn is set
to the S and D value contained in the poin~er.
c. If an IPR or Bound fault occurs, DRg, ARn, and SEGIDn are
not changed.
The segment descriptor (SD) compare funtionality increases
the averrage speed of this instruction in both NS and ES
modes. A comparison is made between the SD number of the
instruction and the SD number in the SEGIDn register. If a
match occurs, the memory access for the descriptor and the
descriptor register load is bypassed, because the match
indicates that the descriptor register is already correctly
loaded. The address register level load is independent of a
match.
The compare is not done if SD - 00,1760 to 00,1777.
A compare flag is provided for each descriptor register. All
flags are set OFF, disallowing compares by instructions which
can store descriptors, change characteristics of virtual
spac, or change mode to slave. No provision is made for
broadcasting this action to other processors within these
instructions.
8-322
DZ5l-00
\, /
LDPn
LDPn
(
The instructions which set these flags off follow.
ICLIMB
LTRAS
LTRAD
OCLIMB
LDAS
LDPS
LDWS
LPDBR
PAS
STDn if DRm type
= 1,3
RET
TSS
Flag n is set ON by execution of LDPn.
In addition, the instruction, SPCF, turns the flags OFF.
The compare function is enabled or disabled under control of
the CPU mode registers bits 24 and 25. Bit 24 enables
compares in Slave mode: bit 25 enables compare in Master and
Privileged Master modes. (Two controls are provided to allow
the GODS 8 software flexibility in removing code which would
cause erroneous SD number matches.)
I LLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
1.
An
2.
An
IPR fault occurs if bit 29=1 and the operand segment is
not type T = 0, 2, 4, or 6.
Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
3. A Command fault occurs as with the LDDn instruction copy
function.
4. Other faults occur as with the LDDn copy function.
(8-323
DZ51-00
LOPn
LDPn
EXAMPLE:
1
8
'l'PUTEX SZN
TZE
32
TRAPTR
test for trap in use
no trap enabled
trapping -- get location (ensuring that
address register has offset and
descriptor is type 0) of cell to be
monitored in AR via P6: mask it for
desired pattern, and compare it with bad
value
LOP6
TRAPOK
TRAPTR
SAR6
TRAPCT
LDP6
TRAPCT
LOA
ANA
0, ,P6
TRAPMK
TRAPVL
CMPA
TZE
TRAPOK LOP6
*
16
TRA
GOTCHA
SD.SSA,DL
0,4
trap has sprung
reload P.SSA (here if no/OK trap)
TRA monitor if monitor active
exit
8-324
DZ51-00
(
LDPR
LDPR
LDPR
Load Positive Register to Register
432 (1)
FORMAT:
1 1
000
Not Used
CODI NG FORMAT:
1
22233
3
OP CODE
8
16
LDPR
Rl, ,R2
OPERATING MODES:
Executes only in ES mode.
SUMMARY:
Rl, R2 : 0, 1, 2, 3, 4, 5, 6, 7, A, Q
IC(R2)1 --> C(Rl)
C(R2) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
Zero
-
Negative NOTES:
If C(Rl)
= 0,
then ON; otherwise, OFF
Set to OFF
l. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
(
8-325
DZ51-00
LDPS
LDPS
LDPS
Load Parameter Segment Register
771 (l)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C('!l-pair} --> C(PSR): C(Y-pair) unchanged
EXPLANATION:
The descriptor is fetched from even/odd memory locations Y
and Y+l. The hardware performs the following checks on the
descriptor.
o
Type
field must have a value of T
= 1.
o Base must be 0 modulo B bytes.
o If flag bit 27
bytes.
=1
(bound valid), bound must be 7 modulo 8
If these conditions are met, the descriptor is loaded into
PSR. During PSR load, PSR bound field bits 0-6 are forced to
zero by the hardware rather than being loaded from the memory
operand. Also, if flag bit 27 of the operand descriptor is
equal to zero, the entire bound field of the PSR is forced to
zero, independent of any value the operand descriptor bound
field may contain, and the bound check is bypassed.
This instruction is identical with LDAS, except that it loads
the parameter segment register (PSR) instead of the argument
stack register (ASR).
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
8-326
DZS1-00
)
LDPS
LDPS
1. Any of the following conditions cause an IPR fault:
NOTES:
a. Illegal. address modifications
b. Illegal repeats
c. Descriptor type field T is not 1
d. If the base and bound limits of the operand descriptor
are not modulo 2 words (only when flag bit 27 = 1).
2. If the processor is in Master or Slave mode, the execution
of this instruction causes a Command fault.
EXAMPLE:
1
8
16
32
LDP
P.SSR, .SSR,DL
LDP
LDAS
LDPS
P.SSR, .CTYP ,DL
(Load descriptor of fault
frame in safe store stack)
(Change to type 0>
(Restore ASR from safe store)
(Restore PSR from safe store)
.WASR, ,P.SSR
.WPSR, ,P.SSR
(
8-327
DZ5l-00
LDQ
LDQ
LDQ
Load Q-Register
236 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y) --> C(Q); C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
None
ILLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C C(Rl)
(
C(R2) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD RPL
The address modification is not executed.
I
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS:
Zero
-
Negative NOTES:
If C(Rl) = 0, .then ON; otherwise, OFF
If C(Rl)O
= 1,
then ON: otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
(
8-329
DZ5l-00
LOSS
LOSS
LDSS
773
Load safe Store Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'l'1 NG MODES:
Pr i vileged Master Mode
SUMMARY:
C(Y)O-35
-->
(1)
C(SSR)O-35
C(Y+l)O-32 --> C(SSR)36-68
000
EXPLANATION:
-->
C(SSR)69-7l
The operand is fetched from even and odd memory locations Y
and Y+l. The operand must be a standard descriptor with type
T = 1 or 3. The following checks are performed on the
descriptor:
a. For T = 1, flag bits 20, 21, 27, and 28
25 and 26 = O.
b. For T
= 3,
flag bits 20 and 21
= 1 and
flag bits
= 1.
If these conditions are met, the descriptor is loaded into
the safe store register (SSR). The lower three bits of the
SSR base are forcibly set to zero. If one or more of the
above conditions is not satisfied, the instruction is
terminated and an IPR fault is generated. In this case, the
SSR remains unchanged.
Each successful execution of LOSS initializes the 2-bit stack
control register (SCR) as follows. (The SCR is associated
with the SSR and contains a code that denotes the size of the
last frame on the stack.)
If C(Y+l)34 35 = 00/01/11, then 11 --> C(SCR)
(size'of save store frame = 64 words)
If C(Y+1)34 35 = 10, then 10 --> C(SCR)
(size'of save store frame = 80 words)
(Refer to safe Store Stack in discussion of ClJMB
instruction. )
8-330
DZ5l-00
,7
I
LDSS
LDSS
(
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. Any of the following conditions causes an IPR fault:
a, SC, SCR
a. Illegal address modification
b. Illegal repeats
c. If T is not equal to 1 nor 3.
d. If either the flag bit or the base checks fail.
2. If the processor is not in Master or Slave mode, the
execution of this instruction causes a Command fault.
EXAMPLE:
1
8
16
FANY
STZ
LDXO
.SVFLT, ,P.SSA
.ST2CS, ,P.SSA
TZE
NEPRA
STSS
LDAQ
ADLAQ
STAQ
.STEMP+6"P.SSA
. LDSS
LDP
LDXO
STXO
TRA
32
Not type 2 critical
SSRXX
.STEMP+6"P.SSA backup safe store to prior frame
.STEMP+6"P.SSA
.STEMP+6"P.SSA
PO,.SSR,DL
=0377001,DU
.WREGS, ,PO
RETOUT
(
8-331
DZ5l-00
LOT
LOT
LOT
Load Timer Register
637 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Y)0-26 -> C(TR); C(Y) unchanged
I LL!X;AL ADDRESS
MODI FI CATI ONS :
Cl, SC, SCR
ILL!X;AL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. The use of this instruction in the Master or Slave mode
causes a Command fault.
2. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
/\
8-332
DZ51-00
(
LOWS
LOWS
LDWS
772
Load Working.Space Registers
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
When EA17 (NS Mode) or EA33 (ES Mode)
C(Y)O-8
-->
C(WSRO)
C(Y)9-17
-->
C(WSR1)
(1)
=0
C(Y)18-26 --> C(WSR2)
C(Y)27-35 --> C(WSR3)
When EA17 (NS Mode) or EA33 (ES Mode)
(
C(Y)O-8
-->
C(WSR4)
C(Y)9-17
-->
C(WSR5)
=1
C(Y)18-26 --> C(WSR6)
C(Y)27-35 --> C(WSR7)
EXPLANATION:
The contents of memory location Y replace the contents of
working space registers (WSRs) 0, 1, 2, and 3 or WSR 4, 5, 6,
and 7 based on the value of bit 17 (NS mode) or 33 (ES mode)
of the effective address.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
(
8-333
DZ51-00
LDWS
LDWS
1.
NOTES:
\.
IPR fault occurs if illegal address modification or
illegal repeats are used.
An
2. If the processor is not in the Privileged Master mode, the
execution of this instruction causes a COmmand fault.
3. If the LDWS instruction is used to change the contents of
the WSR that is currently the WSR for the instruction
segment, then the LOWS must be followed immediately by a
TRA *+1 to ensure that the new contents of the WSR take
effect immediately.
EXAMPLE:
32
1
8
16
WS03
WS47
EVEN
VFD
VFD.
9/001, 9/001, 9/013, 9/27
9/45, 9/45, 9/63, 9/510
LDWS
LDWS
WS03
WS47
Load WSR 0-3 from EVEN word
Load WSR 4-7 from Odd word
8-334
DZ51-00
\
(
LDXn
LDXn
Load Index Register n from Upper
Single-word instruction format (see Figure 8-1)
FORMAT:
OPERATI NG
22n (O)
MODES:
SUMMARY:
Any
NS
Mode
For n
= 0,1, ••• ,7
as determined by op code
C(Y}0-17 --> C(Xn): C(Y) unchanged
ES Mode
For n
= 0,1, ••• ,7
as determined by op code
C(Y)0-35 --> C(GXn): C(Y) unchanged
ILLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD,
I NDI CATORS:
Zero
-
If C(Xn/GXn)
Negative
-
If C(Xn/GXn)o = 1, then ON: otherwise, OFF
NOTES:
or
RPL of LDXO
= 0,
then ON: otherwise, OFF
1. DL modification executes with all zeros for data in the NS
mode.
2.
Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used.
An
(
8-335
DZSI-OO
LIMR
LIMR
LIMR
FORMAT:
553
Load I nterrupt Mask Register
(0)
single-word instruction format (see Figure 8-1)
OPERATING MODES: Privileged Master mode
SUMMARY:
C(A)O-7 -->
Port interrupt level masks: 1 enables
interrrupts
C(A)8
-->
All mask, conditionally as described in
Explanation below: 1 enables interrupts
C(A)9
-->
Port connect mask: 1 enables connects
C(A)lO
-->
All mask load control
C(A), C(Y) --> Unchanged
EXPLANATION:
The SCU is selected by the control SCU bit.
configuration register in Section 4.)
(Refer to SCU
The operation of the All mask control is as follows:
C(A)lO
C(A)8
x
1
1 --> All mask
o
o
o
All mask is unchanged
1
The effective address
o -->
(y)
All mask
is not used by the LIMR instruction.
Orily masks associated with the issuing port are loaded.
The all mask bit is a single. mask, associated with all ports.
All masks are set to enable interrupts and connects at
initialization.
Processor behavior on the next and all other instructions
following the execution of LIMR is consistent with the mask
setting indicated by the LIMR.
8-336
DZ51-00
LIMR
LIMR
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, C1, SC, SCR
ILLEGAL REPEATS: RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
1. Prior to executing this instruction, the SCU must be
"selected" by using the LCPR instruction to set or reset
bi t 22 in the CPU mode register.
2. The use of this instruction in other than Privileged Master
mode causes an IPR fault.
3.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-337
,
-----~-~.-----
....
~
--
-.-.-----.-~------
.. --..,
~--
.. ---
-
-._-._.' ,_...
~--
DZ51-00
LLR
LLR
777 (0)
Long Left Rotate
LLR
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
Rotate C(AQ) left by the number of positions indicated by
bits 11-17 of Y (y modulo 128) (NS mode) or Y27-33 (ES
mode). Enter each bit leaving bit position 0 of AQ in bit
position 71 of AQ.
I LLEGAL ADDRESS
MODIFICATIONS:
I LLEGAL
REPEATS:
INDICATORS:
NOTES:
DU, DL, CI, SC, SCR
RPL
= 0, then ON: otherwise, OFF
C(AQ)O = 1, then ON: otherwise, OFF
Zero
-
If C(AQ)
Negative
-
If
1. The rotate count comes from the value of Y.
"right-rotate" n bits, use LLR 72-n.
To
2. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
\~
8-338
DZ5l-00
LLS
LLS
(
LLS
737 (0)
Long Left Shift
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
Shift C(AQ) left by the number of positions indicated by bits
11-17 of Y (y modulo 128) (NS mode) or Y27-33 (ES mode): fill
vacated positions with zeros.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(A}
Negative
-
If C(A)O
carry
-
If bit a of C(AQ) changes during the shift,
then ON: otherwise OFF.
NOTES:
= 0,
= 1,
then ON: otherwise, OFF
then ON: otherwise, OFF
1. The shift count in the instruction must be a decimal
number.
2. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-339
DZ51-00
LPDBR
LPDBR
LPDBR
Load Page Table Directory Base Register
171 (1»
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Y)0-18 --> C(PDBR)
EXPLANATION:
The contents of bits 0-18 of Yare loaded into the 19-bit
PDBR. Associative memory (AM) is cleared, if it is enabled,
and C(Y) is unchanged.
(Mod 512)
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. An IPR fault occurs when illegal address modifications or
illegal repeats are used.
/
2. If the processor is in Master or Slave mode, the execution
of this instruction causes a Command fault.
8-340
DZ5l-00
(
LPL
LPL
LPL
FORMAT:
COOl NG FORMAT:
467
Load Pointers and Lengths
Single-word instruction format (see Figure 8-1)
1
8
LPL
16
LOCSYM, R,AM
OPERATI NG MODES:
Any
SUMMARY:
C(Y}, C(Y+l}, ••• ,C(Y+5) --> C(P&L)
C(Y+6), C(Y+7)
EXPLANATION:
(
(1)
-->
C(LOR}
Pointer and length storage (P&L) is used by hardware to store
control information to continue execution after an
interruptible multiword instruction has been interrupted
during execution. The low operand register (LOR) is a
register used with quadruple-precision instructions.
The location of Y must be a multiple of 8. A fault does not
occur when the lower 3 bits of Yare not 000. Forpurposes
of execution, the hardware forces these bits to 000 (modulo
8) •
In the LPL instruction, the contents of the eight words
beginning at location Yare stored into scratch pad memory.
(Refer to SPL for a description of the contents of these
words. )
(
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, RI, IR, IT
I LLEGAL REPEATS:
RPT, RPD, RPL
I ND! CATORS:
None affected
NOTES:
1. An I llegal Procedure fault occurs if illegal address
modifications or illegal repeats are used. The contents
of the pointer and lengths storage is changed when the
illegal execution of RPT, RPD, RPL, XEC, XED, and indirect
modification IT occurs.
2. The pointer and length storage is used to recover from an
interrupt or a Missing Page fault. Because the content
depends upon hardware, the software must not change the
contents of the pointer and lengths storage.
8-341
DZ51-00
LREG
LREG
!.REG
Load Registers
073
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
Bits
Bits
Bits
Bits
Bits
Bits
Bits
Bits
Bits
Bits
Bits
ES
0-17
18-35
0-17
18-35
0-17
18-35
0-17
18-35
0-35
0-35
0-7
of
of
of
of
of
of
of
of
of
of
of
C(Y)
C(Y)
C(Y+l)
C(Y+l)
C(Y+2)
C(Y+2)
C(Y+3)
C(Y+3)
C(Y+4)
C(Y+5)
C(Y+6)
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
(O)J
C(XO)
C(Xl)
C(X2)
C(X3)
C(X4)
C(X5)
C(X6)
C(X7)
C{A)
C(Q)
C(E)
Mode
C(Y)
--> C(XO)
C(Y+I) --> C(XI)
C(Y+2) --> C(X2)
C(Y+3) --> C(X3)
C(Y+4) --> C(X4}
C(Y+5) --> C(X5)
C(Y+6) --> C(X6)
C(Y+7) --> C(X7)
C(Y+8) --> C(A)
C{Y+9) --> C(Q)
Bits 0-7 of C(Y+IO) --> C(E)
EXPLANATION:
Memory (location y) is accessed on a double-word boundary by
setting the lower three bits of the effective address Y to
zero, adding a base address to it, and truncating the
least-significant word address bit.
8-342
DZ51-00
LREG
LREG
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
Q,
SC, SCR
modifications or illegal repeats are used.
(
(
8-343
DZ5l-00
LRL
LRL
LRL
Long Right Logical Shift
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATI ON:
NS Mode
773 (0)
Shift C(AQ) right by the number of positions indicated by
bits 11-17 of Y (y modulo 128): fill vacated positions with
zeros.
ES
Mode
Shift C(AQ) right by the number of positions indicated by
bits 27-33 of Y (y modulo 128); fill vacated positions with
zeros.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If
NOTES:
= 0, then ON: otherwise, OFF
C(AQ)O = 1, then ON; otherwise, OFF
1. The shift count in the instruction must be a decimal
number.
2.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-344
DZ51-00
LRMB
LRMB
(
Load Reserve.Memory Base
(
712 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Y)
EXPLANATION:
This instruction places the contents of the effective address
into the Reserve Memory Base Register (RMBR). The RMBR is
located in the PATROL half of processor scratch pad memory at
location 73. Initialization firmware sets RMBR to zero.
GODS software sets the RMBR to zero when the processor is
released as required by the CAMP instruction. (Refer to RMBR
in Section 4.)
-->
C(RMBR)
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
ILLEGAL REPEATS:
RPD, RPL, and RPT
INDICATORS:
None affected
NOTES:
1.
An IPR fault occurs if execution is attempted in Master or
Slave mode.
2.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-345
DZ51-00
LRS
LRS
~~__~__~____Lo__n_g_R_i_9_h_t_S_h_i_ft____~__________________~__7_3_3__(0_>__•
FORMAT: .
Single-word instruction format (see Figure 8-1>
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
Shift C(AQ) right by the number of positions indicated by
bits 11-17 of Y (y modulo 128): fill vacated positions with
the content of bit 0 of C(AQ).
ES
Mode
Shift C(AQ) right by the number of positions indicated by
bits 27-35 of Y (y modulo 128): fill vacated positions with
the content of bit 0 of (AQ).
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
INDICATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
NOTES:
= 0,
= 1,
then ON: otherwise, OFF
then ONi otherwise, OFF
1. The shift count in the instruction must be a decimal
number.
2.
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
An
8-346
DZ51-00
(
LXLn
LKLn
Load Index Register g from Lower
72n (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,1, ••• ,7
as determined by op code
C(Y)l8-35 --> C(Xg): C(Y) unchanged
ES Mode
For n
= 0,1 •••• ,7
as determined by op code
C(Y)18-35 with sign extended --> C(GXg): C(Y) unchanged
Bit 18 of C(Y) is extended to bits 0-17 and loaded into GXn.
C
ILLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, or RPL of LKLO·
I ND! CATORS:
Zero
-
If C(Xg/GXn}
Negative
-
If C(Xg/GXn}0
NOTES:
= 0,
= 1,
then ON: otherwise, OFF
then ON: otherwise, OFF
1. DU modification executes with all zeros for data.
2.
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
(
8-347
DZ5l-00
MLR
MLR
\""
Move Alphanumeric Left to Right
MLR
100 (1)
FORMAT:
a a
a
8 9
FILL
a
a
1
1
1
a
a
IT I I
1 1
7 8
MF2
Op
I
0 a
2 3
Code
2
8
100(1}
I
1 1 2 2 222
7 8 o 1 234
Y1
CN1 TAl 0
AR#
3
2
3
5
N1
R1
a aa
1122222
7 B 0 1 234
Y2
CN2 TA2
CODI NG FORMAT:
NFl
Yl
023
AR#
I I
3
3
3
2
5
N2
\----
0
Y2
R2
The MLR instruction is coded as follows:
1
B
16
(NFl), (MF2) ,FILL, T
LOCSYM,CN,N,AM
LOCSYM,CN,N,AM
(Refer to Section 7 under Mu1tiword Instructions for description
of Mu1tiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 1) --> C(string 2)
8-348
DZ51-00
MLR
MLR
EXPLANATION:
Starting at location yel, the alphanumeric characters of data
type TAl of string 1 replace, from left to right, the
alphanumeric characters of data typeTA2 of string 2 that
starts at location YC2. If TAl and TA2 differ, each
character has high-order truncation or zero-fill, as
appropriate.
If Ll is greater than L2, the least significant (Ll-L2)
characters are not moved and the Truncation indicator is
set. If Ll is less than L2, bits 0-8, 3-8, or 5-8 of the
FILL character (depending on TA2) are inserted as the least
significant (L2-Ll) characters. If Ll is less than L2, bit 0
of C(FILL) = 1, TAl = 01, and TA2 = 10 (6-4 move); the
hardware looks for a 6-bit overpunched sign. If a negative
overpunch sign is found, a negative sign (octal 15) is
inserted as the last FILL character. If a negative overpunch
sign is not found, a positive sign (octal 14) is inserted as
the last FI LL character.
L2 = 0 does not necessarily mean that the instruction
functions as a no-op, because the Truncation indicator may be
affected.
The contents of string 1 remain unchanged except in cases of
string overlap.
MFI and MF2 (Multiword Modification Fields) are 7-bit fields
specifying address modifications to be performed on the
operand descriptors. They are broken into four subfields
represented as (bitl, bit2, bit3, Index-register) in the
instruction. They may be coded as follows:
If bitl = 0
bitl = 1
No address register is used
The address register is defined in the
operand descriptor address field (e.g.,
ADSC9 ,,, AR )
If bit2
==
0
Operand length is specified in the N
field of the operand descriptor (e.g.,
ADSC6 , ,24, )
bit2
=1
Operand length is contained in the
register specified by the code in the N
field of the operand descriptor (e.g.,
ADSC4 , ,X4, )
(
8-349
DZ5l-00
MLR
MLR
If bit3
=0
The operand descriptor follows the
instruction word in its memory location.
bit3
=1
The operand descriptor location
following the instruction in memory
points to the operand descriptor.
Index-register
The address modification register is
defined as 0, 1, 2, 3, 4, 5, 6, 7, AU,
QU, A, or Q.
See "Multiword Modification Field" and "Alphanumeric Operand
Descriptors" in Section 5, and "Alphanumeric Instructions"
under "Multiword Instructions" in Section 7 for additional
information.
For speed, the MLR and MRL instructions operate 6n four
double-words at a time. This mode of operation does not
cause a problem when moving between either nonoverlapped
strings or between any normal combination of any length
overlapped strings. (In the latter case, software must
choose between MLR and MRL to ensure that the overlapped
sending characters are moved before they are moved into
because they are also receiving characters.) This mode of
operation can cause a problem when MLR or MRL is used to
replicate a pattern across a string.
For example, one procedure used to replicate a pattern of K
characters across a string of L characters is to
o store the K characters into character positions 1 through
K of the string
o move" a string of length L - K and starting position 1 to
the same length string starting at position K + 1. In
this way, the last L - K sending characters are created
"on the fly".
The mode of operating on four double-words at a time does not
allow this creation "on the fly" for K less than four
double-words of characters (when K starts on a word boundary
or is less than eight double-words of characters and does not
start on a word boundary).
8-350
DZ5l-00
MLR
MLR
(
To replicate a pattern between two characters and four
double-words of characters, additional instructions must be
used to initialize the first four double-words -of the string
of L characters. To replicate a I-character pattern (most
common application), a simple move with fill from a
zero-length string can be used. (See examples below.)
ILLEGAL ADDRFSS
MODIFICATIONS:
DU, DL for MFI and NF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Truncation - If Ll is > L2, then ON; otherwise, OFF
NOTE:
An Illegal Procedure fault occurs if DU or DL modification is
used for NFl or MF2 or if illegal repeats are used. A
Truncation fault occurs if the Truncation indicator is set
and the truncation fault enable (T) bit is a 1. A fault does
not occur even when L2 = 0. L2 = does not mean NOP; the
truncation indicator may be affected.
°
EXAMPLES:
1
FLDI
FLD2
8
16
32
MLR
ADSC6
ADSC6
USE
,,20
FLDl, ,12
FLD2,4,l4
CONST.
2, ABCDEFGHI JKL
3
move with blank fill
sending descriptor
receiving descriptor
memory contents
, ,400
FLDl,3,9
FLD2,6,lO
CONST.
move with sign captured
sending descriptor
receiving descriptor
BCI
BSS
USE
MLR
ADSC6
ADSC4
USE
xxxxABCDEFGHIJ~
(Result)
FLOI
BCl
2,~l2345678R
FLD2
BSS
USE
2
xxxxxxl23456789-
1
8
16
32
MLR
ADSC9
ADSC9
(1,O,O,),(",QU) move 24 words from P.IOQ to A+QU bytes.
0,0,24,P.IOQ
A, ,24
(Result)
(
8-351
DZ51-00
MME
MME
NNE
Master Mode Entry Fault
001 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'l'I NG MODES:
Any
EXPLANATION:
This instruction generates a MNE fault which causes the
processor to switch to Privileged Master mode and to execute
an Inward CLIMB using the entry descriptor from the word pair
in memory locations 32 and 33 (octal).
If the safe store bypass flag in the option register = 1, a
safe store frame is generated. The size of this safestore
frame is determined by the type of the entry descriptor. A
code of 00010 in bits 12-16 of word 5 in the safe store frame
indicates the occurrence of the MME fault.
The wired-in CLIMB instruction functions as though the second
word of the CLIMB instruction had the following
characteristics:
E= 0
C18
C19
C22-23
S, D
No parameters
Do not load XO
No effect. Turn Master mode indicator
ON.
= 0 Inward CLI MB
No effect
The entry descriptor specifies a descriptor to be obtained
from the linkage segment for loading into the instruction
segment register (ISR). The entry descriptor also specifies
the value to be loaded into the instruction counter (ID).
The processor is placed in Privileged Master mode for the
execution of the wired-in CLIMB. Upon completion of the
CLI MB the processor remains in Privileged Master mode if
flag bit 26 of the new ISR = 1 (privileged); otherwise, the
processor changes to Master mode.
I
8-352
DZSl-OO
MNE
MME
I LLEGAL ADDRESS
MODIFICATIONS:
Not executed. CI, SC, SCR generate an illegal condition that
causes the history registers to be locked if mode register
bit 31 = 1. No IPR fault occurs because the MME fault has
higher priority.
I LLEGAL REPEATS:
RPT I RPD I RPL
I NDI CATeRS:
Master mode - ON
NOTE:
An
IPR fault occurs if an illegal repeat is used.
(
8-353
DZ51-00
MP2D
MP2D
Multiply Using Two Decimal Operands
MP2D
206 (l)
FORMAT:
0 0
0 1
001 1
890 1
1 1
Iploo--+H
0
0
I
MF2
1 1
0
2
7 8
Yl
CNl
Code
206(1)
2 2
o1
222
789
5
II
222
234
TNl Sl
3
MFl
2 3
9 0
SFl
I
3
5
Nl
Yl
AR#
o
o
Op
7 8
1 1
0
2
7 8
Y2
AR#
CODING FORMAT:
CN2
2 2
0 1
222
234
TN2 S2
2 3
3
9 0
SF2
5
N2
Y2
The MP2D instruction is coded as follows:
1
8
16
MP2D
NDSCn
NDSCn
(MF1),(MF2),RD,P,T
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
8-354
DZ51-00
(
MP2D
MP2D
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) *·C(string 1) --> C(string 2)
EXPLANATION:
Same as for MP3D except that the product is stored using YC2,
TN2, S2 and, if S2 indicates a scaled format, SF2.
I LLl!X7AL ADDRESS
MODIFICATIONS:
DU, DL for NFl and MF2
I LLEGAL REPEATS:
RPT L RPD, RPL
I NDI CATORS:
Zero
-
If result equals zero, then ON; otherwise, OFF
Negative
-
If result is negative, then ON; otherwise, OFF
Truncation -
If, in the preparation of the final result,
one or more least significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON. Otherwise (i.e., no least
significant digits lost or rounding is
specified), OFF
Exponent
Overflow
-
Exponent
Underflow
Overflow
NOTES:
If exponent of floating-point result is > 127,
then ON; otherwise, unchanged
If exponent of floating-point result is <
-128, then ON; otherwise, unchanged
-
If data is lost in most significant positions
then ON; otherwise, unchanged
1. A Truncation fault occurs if the Truncation indicator is
set and the truncation fault enable (T) bit is a 1.
2.
An
Illegal Procedure fault OCcurs if:
a. Illegal address modification is specified for NFl or
MF2, or illegal repeats are used.
b.
character (least four bits) other than 0000 - 1001
is detected where digits are defined, or any character
(least four bits) other than 1010 - 1111 is detected
where the sign is defined by the numeric descriptor.
Any
(
8-355
DZ51-00
MP2D
MP2D
\"
The values for the number of characters (Nl or N2) of
the data descriptors are not large enough to hold the
number of characters required for the specified sign
and/or exponent, plu~ at least one digit.
3. If an illegal digit or sign is detected, part or all of
the receive field may be changed before the IPR fault
occurs.
EXAMPLES:
1
FLDl
FLD2
8
16
, ,1,1
MP2D
NDSC9 FLDl,0,4,2,-3
NDSC4 . FLD2, 0,8,1,-2
CONST.
USE
4A2+
EDEC
8P+l234567
EDEC
USE
rounding and plus sign options
multiplier operand descriptor
multiplicand operand descriptor
memory contents
o 02+
+1234567
+0002469 (Product)
indicators on? none
,,1
FLD1,0,8,3,-2
FLD2,0,8
CONST.
8P10
8P+123.45
rounding option
multiplier operand descriptor
multiplicand operand descriptor
memory contents
00000010
+12345-2
+12345-3
(Product)
' indicators on? none
*
FLDl
FLD2
*
32
MP2D
NDSC4
NDSC4
USE
EDEe
EDEC
USE
8-356
"-
DZ51-00
-
(
MP2DX
MP2DX
MP2DX
246
Multiply Using Two Decimal Operands Extended
(1)
FORMAT:
0 o 0
0 1 2
o0
I
890
I
I 1
7 8
1
MF2
Icslasloo---------OINIRDI
0
0
I 1
7 8
0
2
Yl
o
o
CNI
246(1)
2 2
o1
222
789
MFI
!xl
222
234
TNI SXl
3
5
2 3
9 0
SFI
I
3
5
Nl
Yl
AR#
,:
I
Op Code
1 1
0
2
7 8
2 2
0 1
222
234
2 3
9 0
3
5
Y2
CN2
AR#
CODING FORMAT:
TN2 SX2
SF2
N2
Y2
1
8
16
MP2DX (MFl},(MF2),RD,CS,T,NS
NOSen LOCSYM,CN,N,SX,SF,AM
NDSCn LOCSYM, CN , N, SX, SF , AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
(
8-357
DZ5l-00
MP2DX
MP2DX
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) * C(string 1) --> C(string 2)
EXPLANATION:
same as for MP3DX except that the product is stored using
YC2, TN2, SX2 and, if SX2 indicates a scaled fonnat, SF2.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATeRS:
same as for MP2D.
NOTES:
1. Notes of MP3D apply.
for NFl or NF2
2. See MVNX for information about coding of overpunched
signs.
',,-
8-358
DZ5l-00
/
(
MP3D
MP3D
226 (1)
Multiply Using Three Decimal Operands
MP3D
FORMAT:
o0 1 1
890 1
0 0 0
0 1 2
Ip 0 I
1
0
0
HRDI
MF3
1 1
7 8
MF2
I
1 1
7 8
0
2
Op Code
226(1)
2 2
o1
222
789
3
5
H
222
234
MFl
2 3
9 0
I
3
5
Yl
CN1
!(
SF1
Nl
Y1
AR#
o
o
TNl Sl
1 1
7 8
0
2
2 2
0 1
222
234
2 3
9 0
3
5
Y2
CN2
SF2
N2
Y2
AR#
o
o
TN2 S2
1 1
7 8
0
2
2 2
0 1
222
234
2 3
9 0
3
6
Y3
CN3
AR#
CODI NG FORMAT:
TN3 S3
SF3
N3
Y3
The MP3D instruction is coded as follows:
1
8
16
MP3D
(MFl), (MF2), (MF3),RD,P,T
LOCSYM , CN , N, S, SF , AM
LOCSYM,CN,N,S,SF,AM
LOCSYM ,CN , N, S, SF , AM
NOSC!!
NOSC!!
NOse!!
8-359
DZ51-:00
MP3D
MP3D
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) * C(string 1) --> C(string 3)
EXPLANATION:
The decimal number of ~ta type TN2, sign and decimal type
S2, and starting location YC2, is multiplied by the decimal
number of data type TN1, sign and decimal type Sl, and
starting location YC1. The product is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type S3.
If S3 indicates a fixed-point format, the results are stored
using SF3, which may cause leading or trailing zeros (4 bits
- 0000, 9 bits - 000110000) to be supplied and/or
most-significant digit overflow or least-significant digit
truncation to occur •.
If S3 indicates a floating-point format, the result is
right-justified to preserve the most significant nonzero
digits even if this causes least significant truncation. In
this case, the most-significant-digit of the mantissa (except
for the sign digit) is set to a number digit other than O.
If P=l, positive signed 4-bit results are stored using octal
13 as the plus sign. If P=O, positive signed 4-bit results
are stored with octal 14 as the plus sign. If RD is a 1,
rounding takes place prior to storage.
Provided that string 1, string 2, and string 3 are not
overlapped, the contents of strings 1 and 2 remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1, MF2,· and MF3
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Zero
-
If result equals zero, then ON; otherwise, OFF
Negative
-
If result is negative, then ON; otherwise, OFF
8-360
DZ51-00
MP3D
MP3D
(
Truncation -
NOTES:
If, in the preparation of the final result,
one or more least-significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON; otherwise (i.e., no
least-significant digits lost or rounding
specified), OFF
Exponent
Overflow
-
If exponent of floating-point result is > 127,
then ON; otherwise, unchanged
Exponent
Underflow
-
If exponent of floating-point result is <
-128, then ON; otherwise, unchanged
Overflow
-
If data is lost in most-significant positions,
then ON; otherwise, unchanged
1. A Truncation fault occurs if the Truncation indicator is
set and the truncation fault enable
(T)
bit is a 1.
2. An Illegal Procedure fault occurs if:
a. DU or DL modification is specified for NFl, MF2, or
MF3, or if illegal repeats are used.
b. Any character (least four bits) other than 0000 - 1001
is detected where digits are defined, or any character
(least four bits) other than 1010 - 1111 is detected
where the sign is defined by the numeric descriptor.
c. The values for the number of characters (Hl or H2) of
the data descriptors are not large enough to hold the
number of characters required for the specified sign
and/or exponent, plus at least one digit.
3. If an illegal digit or sign is detected, part or all of
the receive field may be changed before the IPR fault
occurs.
8-361
DZ51-00
MP3D
MP3D
EXAMPLES:
1
FLDl
FLD2
FLD3
8
16
32
MP3D
NDSC4
NDSC4
NDSC9
USE
, , ,1
FLDl,6,2,2
FLD2,0,8,1,-3
FLD3,1,7,1,-2
CONST.
8P5+
8P+1234567
2
with rounding option
multiplier operand descriptor
multiplicand operand descriptor
product operand descriptor
memory contents
0000005+
+1234567
+617284
(Product)
indicators on? none
EDEC
EDEC
BSS
USE
MP3D
NDSC4
NDSC4
NDSC4
USE
FLDl
FLD2
FDL3
*
EDEC
EDEC
EDEC
USE
, , , ,1
FLD1,0,2,3,-2
FLD2,0,8,1,-3
FLD3,1,7
CONST.
2PL25
8P-1234567
8P+0
multiplier operand descriptor
multiplicand operand descriptor
product operand descriptor
memory contents
25000000
-1234567
+-3086-1
(Product)
instruction fault? no
indicators on? truncation and negative
\,
8-362
DZ5l-00
..
../
MP3DX
MP3DX
Multiply Using Three Decimal Operands Extended
MP3DX
266 (1)
FORMAT:
HRDI
MF3
o
o
1 1
7 8
001 1
890 1
000
MF2
I
1 1
7 8
0
2
Op Code
222
789
II I
266(1)
2 2
o1
222
234
3
MF1
2 3
9 0
3
5
Yl
CNl
SF1
Nl
Yl
AR.#
o
o
TNI SXl
1 1
7 8
0
2
2 2
0 1
222
234
2 3
3
5
9 0
Y2
CN2
SF2
N2
Y2
AR.#
o
o
TN2 SX2
1 1
7 8
0
2
2 2
0 1
222
234
2 3
9 0
3
5
Y3
CN3
AR.#
CODI NG FORMAT:
TN3 SX3
SF3
N3
Y3
1
8
16
MP3DX
NDSCn
NDSCn
NDSCn
(MF1), (MF2), (MF3),RD,CS,T,NS
LOCSYM,CN,N,SX,SF,AM
LOCSYM,CN,N,SX,SF,AM
LOCSYM,CN,N,SX,SF,AM
8-363
DZ51-00
MP3DX
MP3DX
)
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATING MODES:
Any
SUMMARY:
C(string 2} * C(string 1) --> C(string 3)
EXPLANATION:
The decimal number of data type TN2, sign and decimal type
S2, and starting location YC2, is multiplied by the decimal
number of data type TNl, sign and decimal type Sl, and
starting location YC1. The product is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type S3.
If SX3 indicates a fixed-point format, the results are stored
using SF3, which may cause leading or trailing zeros (4 bits
- 0000, 9 bits - 000110000) to be supplied and/or
most-significant-digit overflow or least-significant-digit
truncation to occur.
If SX3 indicates a floating-point format, the result is
right-justified to preserve the most-significant-nonzero
digits even if this causes least-significant truncation. In
this case, the most-significant digit of the mantissa (except
for the sign digit) is set to a number digit other than O.
The character set is defined by CS. Placement of over
punched sign in the output is controlled by NS. (Refer to
introductory pages of this section for definition of NS.) If
RD is 1, rounding takes place prior to storage.
Provided that string 1, string 2, and string 3 are not
overlapped, the contents of strings 1 and 2 remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl, MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Same as for MP3D.
NOTES:
1. Notes of MP3D apply.
2. See MVNX for information about coding of overpunched
signs.
8-364
DZ5l-00
(
MPF
MPF
MPF
401 (0)
Multiply Fraction
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(A) * C(Y) --> C(AQ), left justified: C(Y) unchanged
EXPLANATION:
This instruction multiplies two 36-bit fractional factors
(including sign) to form a 7l-bit fractional product
(including sign). The product is stored in AQ,
left-justified. Bit 71 of C(AQ) is filled with a zero bit.
Overflow can occur only when A and Y both
exceeds the range of the AQ-register.
o
o
3
0
factor
(
= -1
and the result
0
3
factor
*
C(A)
C(Y)
yielding:
o
0
7 7
product
C(AQ)
ILLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
zero
-
If C(AQ)
Negative
-
If bit 0 of C(AQ)
Overflow
-
I f range of AQ is exceeded, then ON
NOTE:
= 0, .then ON; otherwise, OFF
= 1,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-365
- - --------
----
DZ5l-00
MPRR
MPRR
Multiply Register Pair by Register
530 (1)
FORMAT:
1 1
000
22233
OP CODE
Not Used
CODING FORMAT:
1
3
8
16
MPRR
Rl, ,R2
OPERATING MODES:
Executes only in ES mode.
SUMMARY:
for Rl-odd Rl: 1, 3, 5, 7, Q
for Rl-pair Rl: 0, 2, 4, 6, A
C(Rl-odd) x C(R2)
--> C(Rl-pair)
C(R2) unchanged
EXPLANATION
register pair is specified in Rl. The product of the
content of the odd-numbered register (Q if A,Q specified) and
that of R2 is taken and the result is loaded, right-justified
into the Rl-pair.
A
x
C{Rl-odd)
C(R2)
71
0
Product
S S
C(Rl-pau)
8-366
DZ51-00
MPRR
MPRR
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
ILLEGAL
The address modification is not executed.
EXECUTES: Execution in NS mode
INDICATORS:
Zero
-
Negative NOTES:
If C(Rl-pair) = 0, then ON: otherwise, OFF
If C(Rl-pair)O
= 1,
then ON: otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
8-367
DZ5l-00
MPRS
MPRS
MPRS
Multiply Single Register by Register
531 (l)
FORMAT:
1 1
000
Not Used
CODING FORMAT:
1
3
OP CODE
8
16
MPRS
R1, ,R2
OPERATING MODES:
Executes in ES mode only
SUMMARY:
R1, R2
= 0,
22233
1, 2, 3, 4, 5, 6, 7, A, Q
C(R1) x C(R2)
-->
C(R1)
C(R2} unchanged
EXPLANATION
The product of the content of Rl and R2 is taken. The
low-order 36 bits of the result are loaded into R1.
In;:~~iatel:1
34,:1
\,_________ _--------1.
I
Truncated
(TR bits>
Resultant C(R1)
8-368
DZ51-00
MPRS
MPRS
(
The multiplication is performed on the two's complement data
to obtain 7l-bit two's complement data as an intermediate
result. The low-order 36 bits of this intermediate result
are loaded into Rl.
I LLEGAL ADDRESS
MODIFICATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
INDICATORS:
Zero
-
Negative NOTES:
If the intermediate result is 0, then ON;
otherwise OFF
If the intermediate result)O is 1, then ON,
otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7
for a description of the fields in the instruction word.
3. No overflow check for the final result is performed;
therefore, the Zero and Negative indicators are set by the
state of the intermediate result.
(
8-369
DZ51-00
MPX
MPX
MPX
FORMAT:
CODING FORMAT:
Multiply GXn
Single-word instruction format (see Figure 8-1)
1
8
16
MPX
n,Y,R,AM
OPERATING MODES:
Executes in ES mode only
SUMMARY:
C(GXn} x C(Y) --> GXn
EXPLANATION:
The product of the content of GXn and that of the one word at
memory location Y is taken. The low-order 36 bits of the
resul t is loaded into GXn •
C(Y)
Intermediate
result
\.----------~----------
The multiplication is performed on the two's complement data
to obtain 71-bit two's complement data as an intermediate
result. The low-order 36 bits of this intermediate result
are loaded into the GXn.
8-370
DZ5l-00
(
MPX
MPX
ILLEGAL ADDRESS
MODI FI CATIONS:
0,
I LLEGAL REPEATS:
None
SC, SCR
ILLEGAL EXECUTES: If the instruction is executed in NS mode
I NDI CATORS:
NOTES:
Zero
If the intermediate result is 0, then ON;
otherwise OFF.
Negative
If the C(AQ}, right justified; C(Y) unchanged
EXPLANATION:
This instruction multiplies two 36-bit integral factors
(including sign) to form a 7l-bit integral product (including
sign). The product is stored in AQ, right-justified. Bit 0
of C(AQ) is filled with an "extended sign" bit.
0
0
3
5
0
1
I 51
factor
0
I
C(A)
3
5
0
0 1
*
I 51
factor
I
C(Y)
yielding:
/
0 0 0
0 1 2
7
7
0 1
I 51 51
product
C(AQ)
I 01
When (-2**35) * (-2**35) = +2**70, bit 1 of AQ is used to
represent the product rather than the sign and no overflow
occurs.
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(AQ)
Negative
-
If bit 0 of C(AQ) = 1, then ON; otherwise, OFF
NOTE:
= 0,
then ON; otherwise, OFF
Illegal Procedure fault occurs if illegal address
modification is used.
An
8-372
DZ5l-00
MRL
MRL
Move Alphanumeric Right to Left
101 (1)
FORMAT:
o0 1 1
890 1
o
FILL
1+1
1 1
7 8
MF2
Op Code
1
101(1)
023
Yl
CNI TAl 0
AR#
3
5
Nl
Rl
1 1 2 2 222
7 8 0 1 234
023
Y2
CODING FORMAT:
3
2
Yl
000
AR#
NFl
1 1 2 2 222
7 8 o 1 234
000
3 _
2
CN2 TA2 0
3
3
2
5
N2
Y2
R2
The MRL instruction is coded as follows:
1
8
16
MRL
(NFl), (MF2),FILL,T
LOCSYN,CN,N,AM
LOCSYN, CN , N,AM
ADSCg
ADSCg
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERAT! NG NODES:
Any
SUMMARY:
C(string 1) --> C(string 2)
8-373
DZ51-00
MRL
MRL
EXPLANATION:
This instruction is identical with MLR except that the
starting locations are YCI + (Ll-l) and YC2 + (L2-1) and the
movement is from right to left (from least-significant
character towar.d most-significant character). Consequently,
any truncation or fill is of the most-significant characters.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for NFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Truncation -
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used.
If Ll is > L2, then ON; otherwise, OFF
2. A Truncation fault occurs if the Truncation indicator is
set and the truncation fault enable (T) bit is a 1.
3. Refer to Note 3 of the MLR instruction for information on
string replication.
4. L2 = 0 does not necessarily mean that the instruction
functions is a no-op because the truncation indicator may·
be affected.
EXAMPLE:
1
FLDl
FLD2
FLDl
FLD2
8
16
32
MRL
ADSC6
ADSC6
USE
,,20
FLD1,,12
FLD2,4,14
CONST.
2,ABCDEFGHIJKL
move with blank fill
sending descriptor
receiving descriptor
memory contents
BSS
USE
3
xxxxti~ABCDEFGHIJKL
MRL
ADSC6
ADSC4
USE
Bel
BSS
USE
, ,400
FLD1,3,9
FLD2,4,12
CONST.
move with sign and fill
sending descriptor
receiving descriptor
memory contents
BCI
(Result)
2,~~~12345678R
2
xxxx-00123456789
8-374
(Result)
DZ51-00
' -.._
j
(
MTM
MTM
MTM
365
Move to Memory
(1)
FORMAT:
o
1 1
3 4
I
1 1
7 8
RECR
Y
I
2 2 2 2
o1 2 3
CN
I lsi
222
789
!xl
3
5
MFl
I
3
3
3
5
ILI
The MTM instruction is coded as follows:
1
8
16
MTM
(MF1) ,RECR
Y,CN,L, ,AM
SDSCn
EXPLANATION:
Code
365(1)
I
1 1
7 8
000
CODING FORMAT:
Op
This instruction moves one, two, three, or four 9-bit characters
into memory from the register specified in the RECR field of the
instruction. MTM is the inverse of MTR.
The move from the register into memory is done from right to left
beginning at YCN + (L-l). (L must be 0-4.)
The setting of the B field shown in the descriptor diagram above,
is determined by the contents of the n in SDSCn. (A 9 in the n
field sets B = 0; an 8 sets B = 1.) This setting determines the
functions of the move operation as follows.
o If B = 0
The 9-bit characters are fetched at once from the
specified register and moved into memory without
modification.
8-375
-----.~~~.
DZ5l-00
MTM
MTM
o
8-bits (1 byte) are fetched from the specified
register and 0 is concatenated to the
most-significant bit position to form a 9-bit
character. Then the character is moved to
memory. Up to L characters can be moved.
If B = 1
An A, Q, or
RECR field.
XO-X7, GXO-GX7
register may be specified in the
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL specified in MF
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. Refer to "Character Move To/From Register Instructions" in
section 7 for a description of the fields in the operand
descriptor (SDSC).
2.
An
IPR fault occurs under the following conditions.
o If RECR specifies
hold 2 bytes.)
XO-X7
and L > 2.
o I f RECR spec if ies A or Q or
GX-GX7
(XO-X7
can only
and L > 4.
o If illegal address modifications or illegal repeats are
used.
3. The RL bit of the MF field is ignored. The character
length must be specified in the L field of the operand
descriptor.
4. When L = 0, the MTMinstruction functions as a NOP.
5. Refer to Explanation under the MTR instruction for the
codes allowed in the RECR field.
8-376
DZSI-00
(
MTR
MTR
Move to Register
361 (1)
FORMAT:
o
1
4
0
1
o
1 1
7 8
1 1
7 8
0
Y
I
222
7 8 9 .
II I
3
5
NFl
2 2 2 2
012 3
CN
1;181
33
2 3
0-----------------0
I
3
5
IL I
The MTR instruction is coded as follows:
1
EXPLANATION:
Code
361(1)
I RECR I
Hot Used
CODING FORMAT:
Op
8
16
MTR
SDSCn
(MF1),RECR
Y,CN,L,SE,AM
This instruction moves one, two, three, or four 9-bit characters
from the memory location beginning at YCN + (L-1) to a register
specified by the RECR field (bits 14-17) of the instruction
word. MTR is the inverse of MTM.
The moved characters are right-justified in the specified
register.
The setting of the B field shown in the descriptor diagram above,
is determined by the contents of the n in SDSCn. (SOSC9 sets B =
0: SDSC8 sets B = I.> The SE field is specified by the user.
These settings determine the character positioning functions of
the move operation as follows.
o If
B
=0
The 9-bit
specified
less than
specified
character
follows.
characters from memory are moved to the
register without modification. If L is
the character size capacity of the
register, the vacant high-order
positions of the register are filled as
DZ51-00
8-377
~~~
.
-~---.---------
----------- -------
--- --------
MTR
MTR
SE
=0
The remaining character positions are filled
with O.
SE
=1
Bi t 0 of the last character moved is regarded
as a sign and the value of this bit is
extended to fill the remaining character
positions of the register.
o If B = 1
Bit 0 of each 9-bit character moved from
memory is removed and the resulting 8-bit
bytes are moved in a right-justified string
into the specified register. The SE field
affects the result of the move as follows.
SE = 0
The remaining bit positions of the specified
register are filled with O.
SE = 1
Bit 0 of the last 8-bit byte moved to the
specified register is extended to fill the
remaining high-order bits of the register.
A, Q, or XO-X7 I GXO-GX7 register may be specified in the
RECR field. The code of these registers is the same as for
An
the register code specified in the REG portion of the MF
field. An invalid specification results in an IPR fault.
The RECR codes are displayed below.
Register
RECR Code
(NS Mode)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
8-378
(BS Mode)
IPR
IPR
A
A
Q
Q
IPR
IPR
IPR
IPR
IPR
IPR
IPR
IPR
IPR
IPR
XO
Xl
X2
X3
X4
X5
X6
X7
GXO
GX1
GX2
GX3
GX4
GX5
GX6
GX7
DZ51-00
\.~j
MTR
MTR
The number of characters to be moved is specified in the L
field of the operand descriptor.
I LLEX;AL ADDRESS
MODIFICATIONS:
DU, DL specified in MF
ILLEGAL REPEATS:
RPT, RPD, RPL
I
NDI CATORS:
NOTES:
Zero
-
ON if C(register)
Negative
-
ON if bit
OFF.
= 0;
otherwise, OFF.
°of C(register) =
1; otherwise,
1. Refer to "Character Move To/From Register Instructions" in
Section 7 for a description of the fields in the operand
descriptor (SOSC).
2.
An
IPR fault occurs under the following conditions.
o If RECR specifies XO-X7 and L
hold 2 bytes.)
> 2.
(XO-X7 can only
o If RECR specifies A or Q or GX-GX7 and L > 4.
'0
If illegal address modifications or illegal repeats are
used.
2. The RL bit of the MF field is ignored. The character
length must be specified in the L field of the operand
descriptor.
3. If L = 0, the contents of the receiving register is set to
0, the Zero indicator to ON, and the Negative indicator to
OFF.
8-379
DZ51-00
MVE
MVE
Move Alphanumeric Edited
MVE
020 (1)
FORMAT:
a011
890 1
aa a
o1 2
00
1 1
NF3
1 1
7 8
I
NF2
1+1
a a0
Yl
CNl TAl
2 3
9
a
3
2
3
5
Nl
not
interpreted
1 1 2 2 2 2 2
7 8 a1 2 3 4
CN2 TA2
a
233
9 a 2
3
5
N2
not
interpreted
Y2
R2
1 1 222 2 2
7 8 a1 2 3 4
000
023
Y3
CODING FORMAT:
I
NFl
Rl
Y2
AR#
3
5
III
020(1)
a
222
789
Yl
000
023
AR#
Code
1 1 2 2 2 2 2
7 8 o 1 234
0 2 3
AR#
Op
CN3 TA3 a
233
9 a 2
not
interpreted
Y3
3
5
N3
R3
The MVE instruction is coded as follows:
1
8
16
MVE
ADSCn
ADSC9
ADSCn
(MF1),(MF2),(MF3)
LOCSYM,CN,N,AM
LOCSYM,CN ,·N,AM
LOCSYM,CN,N,AM
8-380
DZ5l-00
(
MVE
MVE
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
string 2 control
C(string 1)
EXPLANATION:
----------> C(string 3)
Starting at location YC1, the string of alphanumeric
characters of data type TAl is moved to the string of
alphanumeric characters of data type TA3 starting at location
YC3. The move is under control of the micro operation
sequence of length 12 and type TA2 = 00 that starts at
location YC2. (Refer to "Micro Operations" in this section.)
Maximum allowable length for Ll, L2, and L3 is 63: they are
not checked for length greater than 63. Only the rightmost
six bits (30-3S) are interpreted for length. Likewise, when
a register is specified as containing the length, only the
rightmost six bits of the register are interpreted.
The operation stops when L3 is exhausted.
The result is unpredictable when strings are overlapped.
The contents of the alphanumeric character string that starts
at YCI and the micro operation sequence that starts at YC2
remain unchanged.
On the processor, L3 = 0 is the normal termination: thus, at
the start of the instruction, if L3 = 0 and there are no
faults (see Note), no operation is performed and the
instruction terminates normally, independently of whether Ll
or L2 equals zero, because the hardware does not access these
fields when L3 = O.
1 LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl, MF2, and MF3
1 LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
8-381
-_._---_._._-.---
-..
---~.~~.
DZS1-OO
MVE
MVE
NOTE:
1.
Illegal Procedure fault occurs under the following
conditions.
An
o If illegal address modification is used
o I f illegal repeats are used.
o If an illegal mirco operation is executed.
o If TA2 is not = O.
= O.
o If an attempt is made to access string 2 when L2
2. Refer to "Micro Operations for Edit Instructions" in
Section 7.
\
8-382
DZ5l-00
'--
.
-~-./
MVE
MVE
C(string 2)
8-385
DZ51-00
MVN
MVN
EXPLANATION:
starting at location YC1, the decimal number of data type TNl
and sign and decimal type Sl is moved, properly scaled, to
the decimal number of data type TN2 and sign and decimal type
S2 that starts at location YC2.
If S2 indicates a fixed-point format, the results are stored
as L2 digits using scale factor SF2, and thereby may cause
most-significant-digit overflow and/or
least-significant-digit truncation.
If P = 1, positive signed 4-bit results are stored using
octal 13 as the plus sign. Rounding is legal for both
fixed-point and floating-point formats. If P = 0, positive
signed 4-bit results are stored using octal 14 as the plus
sign.
Provided that string 1 and string 2 are not overlapped, the
contents of the decimal number that starts in location YCl
remain unchanged.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Zero
-
If result equals zero, then ON; otherwise, OFF
Negative
-
If result is negative, then ON: otherwise, OFF
j
Truncation -
NOTES:
If least significant truncation without
rounding, then ON; otherwise, OFF
Exponent
Overflow
-
If exponent of floating-point result is > 127,
then ON; otherwise, unchanged
Exponent
Underflow
-
If exponent of floating-point result is <
-128, then ON; otherwise, unchanged
Overflow
-
If fixed point integer overflow, then ON:
otherwise, unchanged.
1. Truncation fault occurs if the truncation indicator is set
and the truncation fault enable (T) bit is 1.
8-386
DZ51-00
.-
MVN
MVN
(
2.
An
Illegal Procedure fault occurs if:
0
Illegal address modification is specified or illegal
repeat is used.
0
Any character (least four bits) other than 0000 - 1001
is detected where digits are defined, or any character
(least four bits) other than 1010 - 1111 is detected
where the sign is defined by the numeric descriptor.
0
The values for the number of characters (Nl or N2) of
the data descriptors are not large enough to hold the
number of characters required for the specified sign
and/or exponent, plus at least one digit.
3. Refer to Explanation of the MLR instruction for
information on string replication.
4. If an illegal digit or sign is detected, part or all of
the receive field may be changed before the IPR fault
occurs.
EXAMPLES:
I(
1
FLDl
FLD2
FLDl
FLD2
8
16
32
MVN
NDSC4
NDSC4
USE
IDEC
IDEe
USE
, ,1
FLD1,0,8,2,-3
FLD2,l,7,1,-2
CONST.
8P1234567+
8PO
with rounding option
sending field operand descriptor
receiving field operand descriptor
memory contents
1 2 3 456 7 +
o + 1 2 3 457 (Result)
no indicators set ON
MVN
NDSC9
NDSC4
USE
IDEC
BSS
USE
, , , ,1
FLDl,3,9,2,-2
FLD2,0,8,O
CONST.
l2A123456781
with truncation fault enable option
sending field operand descriptor
receiving field operand descriptor
memory contents
o 0 0 1 2 3 4 567 8 - 1 2 3 4 5 + 1 (Result)
negative and truncation set ON
8-387
DZSl-OO
MVN
MVN
EXAMPLE WI TH ADDRESS MOD! FI CAT! ON:
1
16
EAX1
EAX2
EAX7
EAX4
AWDX
NVN
1
load character address into Xl
2
load address modifier into X2
7
load FLD1 length into X7
FLD1
load FLDl address into X4
0,4,4
put FLD1 address into AR4
(1,1,,1),(,,1),1,1 - with rounding and plus sign options
0"X7,2,-2,4
FLD1's operand descriptor (FLD1,1,7,2,-2)
NDSC9
FLD1
FLD2
32
8
ARG
USE
EDEe
EDEe
NDSC4
USE
FLD2+1
CONST.
8Al23456+
8PO
FLD2,2,6,3,-2
pointer to indirect operand descriptor
memory contents
o1 2 3 4 5 6 +
o 0 0 0 1 2 3 5 (Result)
recg. field indirect operand descriptor
no indicators set ON
8-388
DZ51-00
Y1
N1
CN1
AR#
TN1 Sl
not
interpreted
Y1
R1
1 1
7 8
000
023
222
0 1 2
3
2 2
4
TA2
0
233
9 0
2
Y2
N2
CN2
AR#
not
interpreted
Y2
R2
1 1 222 2 2
7 8 0 1 2 3 4
000
023
233
9 0
2
Y3
CODING FORMAT:
3
5
N3
CN3
AR#
3
5
TA3
0
not
interpreted
Y3
R3
The MVNE instruction is coded as follows:
1
8
16
MVNE
NDSCn
ADSC9
ADSCn
(MFl),(MF2),(MF3)
LOCSYM,CN,N,S"AM
LOCSYM,CN,N,AM
LOCSYM,CN,N,AM
(
8-389
DZ5l-00
!NNE
!NNE
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
string 2 control
C(string 1) .
. ---> (string 3)
EXPLANATION:
Starting at location YC1, the string of numeric characters of
data type TNl is moved to the string of alphanumeric
characters of data type TA3 starting at location YC3. The
move is under control of the micro-operation sequence of
length L2 and type TA2 = 00 that starts at location YC2.
(Refer to "Micro Operations" in this section).
Maximum allowable length for Ll, L2, and L3 is 63; they are
not checked for length greater than 63. Only the rightmost 6
bits (30-35) are interpreted for length. Likewise when a
register is specified as containing the length, only the
rightmost 6 bits of the register are interpreted.
The operation stops when L3 is exhausted.
The results are not guaranteed when strings are overlapped.
The sign and decimal type of the sending field is given by
51. The contents of the numeric character string that starts
at YCl and the micro-operation sequence that starts at YC2
remain unchanged.
On the processor, L3 = 0 is the normal termination; thus, at
the start of the instruction, if L3 = a and there are no
faults (see Note 1), no operation is performed and the
instruction terminates normally, independently of whether L1
or L2 equals zero, because the hardware does not access these
fields when L3 = O.
ILLEGAL ADDRESS
MODIFICATIONS:
I
LLEGAL REPEATS:
I NDI CATORS:
OU, OL for MF1, MF2, and MF3
RPT, RPD, RPL
None affected
8-390
OZ51-00
(
MVNE
MVNE
NOTES:
1.
Illegal Procedure fault occurs under the following
conditions.
An
o If illegal address modification is used
o I f illegal repeats are used
o I f an illegal micro operation is used
o If TA2 is not = 0
o If an attempt is made to access string 2 when L2
=0
2. Refer to Micro Operations for Edit Instructions in Section
7.
8-391
DZ51-00
MVNE
EXAMPLES:
1
8
16
32
with ($) float and (.) inserted
FLDl,0,10,2
sending field operand descriptor
FLD2,0,14
micro-op string operand descriptor
FLD3,0,12
receiving field operand descriptor
CONST.
memory contents in ASCI I characters
10A300405000300405-00
EDEC
MICROP (CHT,0),8HM*+-$,.0,(MFLC,7),(ENF,8),(INSB,7)
MICROP (MVC,2) , (I NSN , 4) memory contents in BCD characters
MVNE
NOSC9
ADSC9
ADSC6
USE
FLOl
FL02
FL03
BSS
2
~ ~ ~
$ 3 004 • 05-
(Result)
USE
with (*) protection and (.) insertion
FLDl,0,8,2
sending field operand descriptor
FLD2,0,6
micro-op string operand descriptor
FLD3,0,12
receiving field operand descriptor
CONST.
memory contents in packed decimal
8P250509025059EDEC
MICROP (MVZA,5),(SES,8),(INSA,7),{MVC,2)
MICROP (INSN,4), (INSM,3)
memory contents in ASCII characters
BSS
3
* 2 5 5 • 9 - ~ ~ ~ (Result)
USE
MVNE
NOSC4
ADSC9
ADSC9
USE
FLOl
FL02
*
FL03
° °
MVNE
NDSC4
ADSC9
ADSC6
MVT
ADSC6
ADSC9
6PACK,3,5,1
MOPS,0,6
PRTOUT,0,4
+1234 ----> 1234
. -1234 ----> 123M
PRTOUT,0,4
APRINT,0,4
TABLE
ARG
CONST.
USE
MOPS MICROP (MVC,3), (LTE,3),10000, (LTE,4),10040,(MORS,1)
2,01234567
OX
TABLE ASCII
Al8/89,18/0,36/0 lX
VFD
0,0
2X
OCT
0,0
3X
OCT
2, JKLMNOP
4X
UASCI
U18/QR,18/0,36/0 5X
VFD
0,0
6X
OCT
0,0
7X
OCT
USE
8-392
DZ51-00
./
(
MVNEX
MVNEX
Move Numeric Edited Extended
MVNEK
004
(1)
FORMAT:
o0 1 1
890 1
000
012
I
E
I
0
0
1 1
7 8
I 001
MF3
I
MF2
Op
Code
004(1)
222
789
H
1 1 222 2 2
7 8 0 1 2 3 4
0
2
3 -
NFl
3
0
3
5
Y1
CN1 TN1 SX1
Y1
AR#
(
o
o
1 1 222 2 2
7 801 2 3 4
0
2
Y2
CN2 TA2 0
N1
3
3
o
not
interpreted
5
N2
Y2
AR#
o
o
not
interpreted
1 1 222 2 2
7 B 012 3 4
0
2
Y3
3
not
interpreted
5
N3
Y3
AR#
COD! NG
CN3 TA3 0
3
o
FORMAT:
1
8
16
MVNEX
(MF1),(MF2),(MF3),E
LOCSYM,CN,N,S"AM
LOCSYM, CN , N, AM
LOCSYM,CN,N,AM
NDSCn
ADSC9
NOSCn
8-393
DZ51-00
MVNEX
MVNEX
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES: Any
string 2 control
C(string
SUMMARY:
EXPLANATION:
1)
------->
(string 3)
The function of this instruction is similar to the MVNE
instruction, but with the added capability of initializing an
edit insertion table. (see Table 7-2). A 2-bit code entered
in field E (bits 0 and 1) specifies the character set
associated with the edit insertion table as follows.
E-Bits 0 and 1
00
01
10
.11
EBCDIC
BCD
ASCII
Illegal, IPR fault
TNI determines whether the input data is unpacked (0) or
packed (I). TA3 determines the character size (9, 6, or 4
bits) of the output data. It is the user's responsibility to
make TA3 consistent with bits 0 and 1 of the instruction. S
determines the location of the sign of the input data
(leading, trailing, overpunched, separate). Refer to the
Explanation for MVNE for additional information.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL for MFl, MF2, and MF3
ILLEGAL REPEATS: RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
1. Notes for MVNE apply to MVNEX.
2.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
3. Refer to "Micro Operations for Edit Instructions" in
Section 7.
8-394
DZ51-00
(
MVNX
MVNX
MVNX
Move Numeric Extended
340 (1)
FORMAT:
000
1 1
0 011
MF2
o
o
340(1)
1 1 2 2
780 1
0
2
Y1
MF1
222
2 3
234
9 0
CN1 TN1 SX1
3
SF1
3
5
N1
Y1
AR#
o
o
222
Op Code
1 1 2 2
780 1
0
2
Y2
AR#
CODING FORMAT:
222
2 3
9 0
234
CN2 TN2 SX2
SF2
3
5
N2
Y2
1
8
16
WNX
NDSCn
NDSCn
(MF1 ) , (MF2) , RD , C:S, T, NS
LOCSYM , CN , N, SX ,SF, AM
LOCSYM, CN , N,SX, SF, AM
(Refer to Section 7 under Multiword Instructions for description
of Multiword Modification Field.)
OPERATI NG MODES:
Any
(
8-395
DZ51-00
MVNX
MVNX
SUMMARY:
C(string 1)
EXPLANATION:
Starting at location YC1, the decimal number of data type TNl
and sign and decimal type SXl is moved, properly scaled, to
the decimal number of data type TN2 and sign and decimal type
SX2 that starts at location YC2.
-->
C(string 2)
The character set is defined by CS (EBCDIC/ASCII). Placement
of an overpunched sign in the output is controlled by NS.
(Refer to the definition of the NS field in the beginning of
Section 8.)
If SX2 indicates a fixed-point format, the result is stored
as L2 digits using scale factor SF2, and thereby may cause
most-significant-digit overflow and/or
least-significant-digit truncation.
Rounding is legal for both floating and scaled formats. The
contents of the decimal number that starts in location YCl
remain unchanged.
The SX field is interpreted as follows:
TN
= 0:
Unpacked data (9 bits)
SX
TN
00:
01:
10:
11:
LS*, OVP*, scaled
LS, separate, scaled
TS*, separate, scaled
TS, OVP, scaled
= 1:
Packed data (4 bits)
SX
00:
01:
10:
11:
LS, separate, floating-point
LS, separate, scaled
TS, separate, scaled
No sign, scaled
* LS •••• Leading sign
OVP. •• Overpunched
TS •••• Trailing sign
Bits 0 and 1 of the instruction word are interpreted as
follows:
8-396
DZ51-00
MVNX
MVNX
(
Bit 0 of instruction word: Specifies the character set.
=0:
=1:
EBCDIC data (but not the strict EBCDIC sign)
ASCII data (but not the strict ASCII sign)
Bit 1 of instruction word: Specifies no-sign output.
=0:
=1:
The instruction execution is not affected.
The sign character in the receive field where the
result is to be placed is affected as follows:
If the operand descriptor of the receive field contains
TN = 0 and SX = 00 or 11 (indicating that output is an
overpunched sign), the overpunched sign is not placed
in the specified field. Instead, an appropriate
decimal number (0-9) is placed in the receive field
irrespective of whether the sign of the calculated
result is positive or negative. This is a no-sign
output.
For values of SX and TN, bit 1 is ignored.
applies both to EBCDIC and ASCII.
This
The hardware recognizes an implied plus sign on input data.
For unpacked data (TN=O) with indicated overpunched sign (SXl
= 00 or 11), if the hardware does not find a plus or minus
overpunched sign character in the overpunched sign character
position, the hardware checks for a numeric digit (0-9). The
zone bits are not included in the check; only the lower-order
4 bits are checked. If this check indicates a numeric digit
from the appropriate character set, the hardware accepts the
digit and assumes the sign to be plus. Oth~rwise an IPR
fault is generated.
Table 8-2 shows the character codes for ASCII and EBCDIC
overpunched signs.
(
8-397
DZS1-00
MVNX
MVNX
Table 8-2.
Character Codes For ASCI 1 and EBCD! C Overpunched Signs
card Punch Normal
Interp.
Code
Ovrpnch ASCII
Interp. Code
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
060
061
062
063
064
065
066
067
070
071
360
361
362
363
364
365
366
367
370
371
12
space
12-0
12-1
12-2
12-3
12-4
12-5
12-6
12-7
12-8
12-9
+
space
+0
+0
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
053
040
173
101
102
103
104
105
106
107
110
111
NA
NA
300
301
302
303
304
305
306
307
310
311
-0
-0
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
055
136
175
112
113
114
115
116
117
120
121
122
NA
NA
320
321
322
323
324
325
326
327
330
331
11
11-0 (GBCD)
11-0 (ASCII )
11-1
11-2
11-3
11-4
11-5
11-6
11-7
11-8
11-9
{
A
B
C
D
E
F
G
H
I
1\
}
J
K
L
M
N
0
p
Q
R
8-398
EBCDIC
Code
/
DZ51-00
MVNX
MVNX
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL for MFl or MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
zero
-
If result is zero, then
Negative
-
If result is negative, then
NOTES:
ON~
otherwise, OFF
ON~
otherwise, OFF
Truncation -
If least-significant truncation without
rounding, then ON~ otherwise, OFF
Overflow
-
If fixed-point integer overflow, then
otherwise, unchanged
Exponent
Overflow
-
If exponent of floating-point result> 127,
then ON~ otherwise, unchanged
Exponent
Underflow
-
If exponent of floating-point result
then ON~ otherwise, unchanged
ON~
<
-128,
1. A Truncation fault occurs if the truncation indicator is
set and the truncation fault enable bit (T) is a 1.
2. An IPR fault occurs if any character (least four bits)
other than 0000 - 1001 is detected where digits are
defined, or any character (least four bits) other than
1010 - 1111 is detected where the sign is defined by the
numeric descriptor.
3. An IPR fault occurs if the values for the number of
characters (Nl or N2) of the data descriptors are not
large enough to hold the number of characters required for
the specified sign and/or exponent, plus at least one
digit.
4. An IPR fault occurs illegal address modifications or
illegal repeats are used.
5. Refer to Note 3 of MLR for information on string
replication.
6. If an illegal digit or sign is detected, part or all of
the receive field may be changed before the IPR fault
occurs.
(
8-399
DZ51-00
MVT
Move Alphanumeric with Translation
MVT
160
(1)
FORMAT:
o0
0
0
1
FILL
1 1
7 8
1 1
o1
8 9
MF2
1+1
Op. Code
160(1)
1
0 o0
0 2 3
3
5
H
1 1 2 2 222
7 8 o 1 234
CNl TAl
NFl
3
2
Yl
AR#
222
789
3
5
Nl
0
Yl
00---------0
1 1 2 2 222
7 8 0 1 234
000
023
1
Y2
Rl
3
3
2
5
N2
CN2 TA2 0
AR#
Y2
00-------0
1 1 2 2 222
7 8 0 1 234
000
023
Y3
2 2 333
8 9 012
CODING FORMAT:
5
00
REG
Y3
The MVT instruction is coded as follows:
1
8
16
MVT
ADSCn
ADSCn
(MF1),(MF2),FILL,T
LOCSYM, CN ,N , AM
LOCSYM, CN , N, AM
TABLE, REG, AM
ARG
OPERATI NG MODES:
3
A
00-------------0 R
AR#
R2
kny
8-400
DZ51-00
MVT
MVT
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
EXPLANATION:
starting at location YC1, the alphanumeric characters of data
type TAl are used as an index to a table of contiguous 9-bit
characters that start at location Y3 (character position 0).
The octal code of the character of string-l is used as an
index to string-3. The indexed 9-bit characters (or
right-justified 4- or 6-bit characters) of string-3 replace
the contents of string 2, starting at location YC2. If TAl
and TA2 are dissimilar, each character will have higb-order
truncation. If Ll is less than L2, the FILL character (the
entire 9 bits) is used as the index to the table to replace
the L2-Ll least significant characters of string 2. The
contents of string 1 remain unchanged except in cases of
string overlap. When the 9-bit character translate table and
the string are overlapped, the result is unpredictable.
L2 = 0 does not necessarily mean that the instruction
functions as a NOP because the truncation indicator may be
affected.
If Ll < L2, and type TAl is 4 or 6-bit, the low-order 4 or 6
bits of the fill character (9-bit) in the instruction word
are defined as a table index.
The translation table must begin at a word boundary at
character position O. The index (expressed by the number of
9-bit characters) is added to the starting word address of
the table. It is computed in the same way as for normal
address modification: however, the computed address is then
used as a word address (with character position ignored).
The index is added to this word address as a 9-bit number.
The translation table length is determined by the highest
possible index character octal value that may be found in the
indexing data string. The table is always indexed in 9-bit
increments, regardless of the data type being moved. The
9-bit character represented in the table must be the same
data type as the receiving field. (See Examples for MVT.)
When address register modification is specified, the
translation table address is generated as follows.
(8-401
DZ5l-00
MVT
MVT
1<-1
y
Operand descriptor
y field
+
WORD
CHAR
Address Register
WORD and CHAR
+
WB
CB
Segment descriptor
BASE
\/
W=y+WORD+WB
CHAR
+CB
.
Addition result. If a
carry occurs as result
of CHAR+CB, it is transferred to word portion •
The above character position is then forcibly set to
O.
The translage table
start address
W
+
Iw
Ic
Index (9-bit character
number)
Ic
Word address
W+ Iw
\/
W+ Iw
\
I Specifies
content of
I table
translate
used
>
Olaracter
position Ic
/
When index register modification is specified, the content of
that register is added to the word portion.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1, MF2, and REG field for Y3
I LLEGAL REPEATS:
RPT, RPD, RPL
8-402
DZ5l-00
MVT
MVT
(
I NDI CATORS :
Truncation - If Ll is > L2, then ON; otherwise, OFF
NOTES:
l. An Illegal.Procedure fault occurs if illegal address
modification or illegal repeats are executed.
2. A Truncation fault occurs if the truncation indicator is
set and the truncation fault enable (T) bit is a 1.
3. Refer to Explanation of the MLR instruction for
information on string replication.
EXAMPLES:
1
8
16
32
MVT
ADSC6
ADSC4
,,52
FLDl,4,7
FLD2,O,8
TABLE
CONST.
2,kSkSkSkSkS123456
1
with fill index a minus
indexing operand descriptor
receiving operand descriptor
pointer to 4-bit table
memory contents
202020202001020304050620
0123456- (Result)
ARG
USE
FLDI BCl
FLD2 BSS
TABLE NULL
(
000001002003,004005006007
010011017017,017017017017
000017017017,017017017017
017017017017,017017017017
017017017017,017017017017
017017015017,017017017017
014017017017,017017017017
017017017017,017017017017
3X
4X
5X
6X
7X
BSS
FLD3,,8
FLD4,,8
TAB
CONST.
022064126317
1
(Result)
NULL
OCT
OCT
000001002003,004005006007
010011014014,014015014014
OCT
OCT
OCT
OCT
OCT
OCT
OCT
OCT
".
USE
MVT
ADSC4
ADSC4
ARG
USE
F103
FLD4
TAB
OCT
123456++
022064126314
OX
IX
2X
USE
8-403
---------_._-_.
--.'-"'--~'-
-------
DZ51-00
MVT
MVT
1
8
16
MVT
,,040
blank fill
FLDl,0,18
FLD2,0,20
TABLE9
pointer to translation table
CONST.
3,TTYMESSAGE201
ADSC6
ADSC9
ARG
USE
BCI
FLDI
FLD2 ass
TABLE9 EDI TP
UASCI
UASCI
UASCI
UASCI
UASCI
UASCI
UASCI
UASCI
EDITP
USE
32
5
SAVE, ON
2,01234567
2,89[#@:>?
OX
2, ~ABCDEFG
2,Hl'.](<\
2X
3X
2,AJKLMNOP
4X
IX
2,QR-$*)i'
5X
2,/STUVWX
6X
2,YZ_,%="!
7X
RESTORE
NOTE: The translation table length in the above example is determined by
the highest octal value for the characters of the indexing string
(Field 1). The characters in the above translation table are
represented in 9-bit ASCII code, the same data type as the
receiving field (Field 2). Also, the table is 64 characters in
length, in direct relation to the BCD character set (highest value
octal 77).
8-404
DZ5l-00
/
(
NARn
NARn
NARn
FORMAT:
CODING FORMAT:
Numeric Descriptor to Address Register n
66n (1) )
Single-word instruction format (see Figure 8-1)
1
8
16
NARn
LOCSYM,RM,AM
OPERATING MODES:
Execution in NS mode only
SUMMARY:
For n
= O,l, ••• ,or
7 as determined by op code
C(Y)0-17 --> C(ARn)0-17
translated
C(Y)18-20
EXPLANATION:
---------> C(ARn)18-23i
C(Y) unchanged
The numeric descriptor is fetched from the computed effective
address Y and the TN bit is examined. If TN = 0 (9-bit
characters), bits 18 and 19 of the CN field go to the
corresponding positions of ARn and zeros fill bits 20-23 of
ARn. If TN = 1, the 4-bit character contained in the CN
field, is converted to bit string representation and placed
in bits 18-23 of ARn. In either case, the descriptor word
address field (0-17) goes to bits 0-17 of ARn.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
2.
IPR occurs if an attempt is made to execute this
instruction in the ES mode.
An
8-405
DZ5l-00
NARn
NARn
EXAMPLES:
1
DESCR
.,..
8
16
32
NAR2
DESCR
load data string address into AR2
FLDl,7,8,3,2
o3
o3
.
NDSC4
2 4 2 6 7 7 0 2 1 0 - descriptor
2 4 2 6 6 5
- result in AR2
'''\
8-406
DZ51-00
NEG
NEG
NEG
Negate (A-Register)
531 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
-C(A)
EXPLANATION:
This instruction changes the number in A to its negative (if
~ 0).
The operation is executed by forming the two's
complement of the string of 36 bits.
-->
C(A} if C(A)
~
0
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
RPL
I NDI CATORS :
Zero
-
If C(A)
= 0,
then ON; otherwise, OFF
Negative
- If C(A)O
= 1,
then ON: otherwise, OFF
Overflow
- I f range of A is exceeded, then ON
NOTE:
An Illegal Procedure fault occurs when an illegal repeat is
used.
(
8-407
DZ5l-00
NEGL
NEGL
NEGL
Negate Long (AQ-Register)
533 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY
- C(AQ) --> C(AQ) if C(AQ) F 0
EXPLANATION:
This instruction changes the number in AQ to its negative (if
F 0). The operation is executed by forming the two's
complement of the string of 72 bits.
LLEGAL ADDRESS
MODI FI CATIONS:
None
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Overflow
-
I f range of AQ is exceeded, then ON
I
NOTE:
= 0,
= 1,
then
then
ONi
ONi
otherwise, OFF
otherwise, OFF
An Illegal Procedure fault occurs when an illegal repeat is
used.
8-408
DZ51-00
(
NOP
NOP
NOP
(
No Operation·
011 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
No operation takes place; the effective address is always
prepared.
EXPLANATION:
No operation takes place but address preparation is performed
according to the specified modifier, if any. If modification·
other than DU or DL is used, the generated addresses may
cause faults.
ILLEGAL ADDRESS
MODIFICATIONS:
None
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
The use of Indirect then Tally modifiers ID, DI, IDe, DIC,
SCR, or SC changes the address and tally fields of the
referenced indirect words; the Tally Runout indicator may be
set ON.
NOTES:
1. An Illegal Procedure fault occurs when an illegal repeat
is used.
2. Because address preparation takes place, modification may
result in a Bounds fault.
8-409
DZ51-00
ORA
ORA
ORA
OR to A-Register
275 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
= 0 to
35,
C(A)i OR C(Y)i --> C(A)i; C(Y) unchanged
LLEGAL ADDRESS
MODIFICATIONS:
None
ILLEGAL REPEATS:
None
I NDI CATeRS:
Zero
-
If C(A)
Negative
-
If C(A)O
I
= 0,
= 1,
8-410
then ON: otherwise, OFF
then ON: otherwise, OFF
DZ51-00
ORAQ
OUQ
OUQ
OR to AQ-Register
277 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
=0
to 71,
C(AQ)i OR C(Y-pair)i --> C(AQ)i: C(Y-pair) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
NOTE:
(
= 0,
= 1,
then ON; otherwise, OFF
then ON: otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-411
DZ51-00
ORQ
ORQ
ORQ
OR to Q-Register
276 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i
= 0 to
35,
C(Q)i OR C(Y)i --> C(Q>i; C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(Q>
Negative
-
If
= 0, then ON; otherwise, OFF
C(Q)O = 1, then ON; otherwise, OFF
8-412
DZ51-00
ORRR
ORRR
ORRR
OR Register to Register
536
(1)
FORMAT:
1 1
000
Not Used
CODI NG FORMAT:
1
OP CODE
8
16
ORRR
Rl, ,R2
OPERATING MODES:
Executes in ES mode only
SUMMARY:
Rl, R2
= 0,
1, 2, 3, 4, 5, 6, 7, A, Q
C(Rl)i OR C(R2)i
(
--> C(Rl)I
i
= 0,1,2, ••• ,35
C(R2) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
Zero
-
Negative NOTES:
If C(Rl) = 0, then ON; otherwise, OFF
If C(R1)0
= 1,
then ON; otherwise, OFF
1. An IPR fault occurs if illegal repeats are executed or if the
instruction is executed in NS mode.
2. Refer to "Register to Register Instructions" in Section 7 for
a description of the fields in the instruction word.
8-413
DZ51-00
ORSA
ORSA
/
ORSA
OR to Storage from A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For
1
255 (0)
= 0 to 35,
C(A)i OR C(Y)i --> C(Y)i; C(A) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(Y)
Negative
-
If
NOTE:
= 0, then ONi otherwise, OFF
C(Y)o = 1, then ONi otherwise, OFF
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
An
8-414
\ . " ~/'
DZ51-00
(
ORSQ
ORSQ
ORSQ
OR to Storage from Q-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
For i =
a to
C(Y)i~
C C(Y)i
C(Xn} and C(Y)18-35 unchanged
ES Mode
For n = O,l, ••• ,or 7 as determined by op code
For i
=0
to 35, C(GXn)i OR C(Y)i --> C(Y)i;
C(GXn) unchanged
',,--
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, or RPL of ORSXO
I NDI CATORS:
NS Mode
= 0,
zero
-
If C(Y)0-17
Negative
-
If C(Y)O
Zero
-
If C(Y)
Negative
-
If C(Y)O = 1, then OFF; otherwise, OFF
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
ES Mode
NOTE:
~
0, then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-416
DZ5l-00
ORXn
ORXn
(
OR to Index Register g
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES
Any
SUMMARY:
NS Mode
26g (0)
For n=O,l, ••• ,or 7 as determined by op code
For i = 0 to 17, C(Xn)i OR C(Y)i --> C(Xn)i;
C(y) unchanged
ES Mode
For n=O,l, ••• ,or 7 as determined by op code
For i = 0 to 35, C(GXn)i OR C(Y)i --> C(GXn)i;
C(y) unchanged
I LLEGAL ADDRESS
MODI FI CATI ONS:
CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, or RPL of ORXO
INDICATORS:
Zero
-
If C(Xn/GXn) = 0, then ON; otherwise, OFF
Negative
-
If C(XN/GXn)O = 1, then ON; otherwise, OFF
NOTES:
1. DL modification is flagged illegal but executes with all
zeros for data.
2. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-417
DZ51-00
PAS
PAS
PAS
Pop Argument Stack
176 (1)
FORMAT:
Single-word instruction format (see Figure B-1)
OPERATI NG MODES:
Any
SUMMARY:
Modifies bound field of the argument stack register (ASR).
EXPLANATION:
This instruction provides a means of modifying the bound
field of the ASR. The l-word operand is obtained from memory
location Y. The memory operand has the following format:
o
o
1 1
6 7
2 2
6 7
3
5
IIIIIIIII 0 IIIIIIII
IIIIIIIII or IIIIIIII
IIIIIIIII 1 IIIIIIII
SIZE
If ASR flag bit 27 = 0 nothing occurs. The argument segment
is empty and the instruction terminates.
If ASR flag bit 27 = 1, the instruction proceeds. The SIZE
field is the number of descriptors to be framed, minus 1
(i.e., the number of double-word memory locations).
The descriptor SIZE field is converted to number of bytes by
appending three 1-bits as the least-significant bits,
producing a 20-bit byte size (SIZE-bytes). Accordingly, a
memory operand SIZE field of zero means frame one
descriptor. using the 20-bit SIZE-bytes, the instruction
proceeds as follows (shaded area is ignored):
II memory operand bit 27 = 0, ASR flag bit 27 and ASR bound
field are set to zero and the instruction terminates.
If memory operand bit 27 = 1, the SIZE-bytes is compared to
the bound field of the ASR as follows:
o If SIZE-bytes < Bound, then SIZE-bytes replaces
contents of ASR Bound field.
o I f SIZE-bytes
>=
Bound, then ASR remains unchanged.
B-41B
DZ51-00
-"
!
/'
PAS
PAS
(
o C(HWMR) is unchanged for all cases.
oBits 17-26 and 28-35 of the operand are ignored by the
hardware.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An
IPR fault occurs if illegal address modifications or
illegal repeats are executed.
EXAMPLE:
16
32
INHIB
SVPTRI STAS
SDR
STP
TRA
ON
SAVEl
Pl,O
Pl,SAVll
0,5
store argument stack
save descriptor register 1
store pointer to descriptor register 1
RTPTRI NULL
LOP
PAS
TRA
Pl,SAVll
SAVEl
0,5
locates and restores descriptor register 1
restores argument stack
1.
(
8
(
8-419
DZ51-00
PULSl
PULSl
PULSl
012 (0)
Pulse One
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'l'l NG MODES:
Any
SUMMARY:
No operation takes place
EXPLANATION:
The PULSl instruction is identical to the NOP instruction
except that it causes certain unique external hardware
monitoring synchronization signals to appear in the processor
logic circuitry.
ILLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
RPT,
INDICATORS:
The use of Indirect then Tally modifiers ID, DI, IOC, DIe,
SCR, or SC changes the address and tally fields of the
referenced indirect words; the Tally Runout indicator may be
set ON.
NOTES:
1. An Illegal Procedure fault occurs when illegal repeats are
RPD, RPL
used.
2. This instruction is for use only in external hardware
monitoring equipment and not in normal coding.
8-420
DZSl-OO
(
PULS2
PULS2
PULS2
Pulse Two
013 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
No operation takes place
EXPLANATION:
The PULS2 instruction is identical to the NOP instruction
except that it causes certain unique external hardware
monitoring synchronization signals to appear in the processor
logic circuitry.
.
ILLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
The use of Indirect then Tally modifiers ID, DI, IOC, DIC,
SCR, or SC changes the address and tally fields of the
referenced indirect words: the Tally Runout indicator may be
set ON.
NOTES:
1. An Illegal Procedure fault occurs when illegal repeats are
. used.
2. This instruction is for use only in external hardware
monitoring equipment and not in normal coding.
(
8-421
DZ51-00
QFAD
QFAD
QFAD
Quadruple-Precision Floating Add
476 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ, LOR) + C(Y 4 words)] normalized -> C(EAQ, LOR)
EXPLANATION:
The exponent underflow indicator is not set when the
low-order exponent (EL) is in underflow (Eu-15 < -128). At
this time, the correct value + 256 is loaded into EL and the
correct value into the low-order mantissa (ML - LOR8-71).
When the mantissa (both the high-order and the low-order
portions) of the operation result is 0, then -128 is loaded
into EU and EL.
When the low-order mantissa, but not the high-order mantissa,
of the operation result = 0, then -128 is loaded into EL.
In any other case, EU -15 is loaded into EL.
In quadruple-precision arithmetic operations, an additional
digit (4 bits) called a guard digit, is assumed next to the
low-order position. An operation is performed in which the
intermediate result that includes the guard digit is
normalized. The high-order 124 bits are loaded into the EAQ
and LOR registers.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, SC, SCR, CI
I LLEGAL REPEATS:
RPT, RPD, RPL
8-422
DZ5l-00
QFAD
QFAD
I NDI CATORS :
NOTE:
Zero
-
If [C(AQ)O-63, C(LOR)8-71] = O,then ON;
otherwise, OFF
Negative
-
If C(A)O = 1, then ON: otherwise OFF
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent < -128, then ON
Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
An
(
(
8-423
DZ51-00
QFLD
QFLD
I
.
,,~/
QFLD
I
Quadruple-Precision Floating Load
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(Y 4 words) --> C(EAQ, LOR)
432 C(E)
Bits 8-71 of C(Y 4 words) --> Bits 0-63 of C(AQ)
00 ••••• 0 --> bits 64-71 of C(AQ)
Bits 72-143 of C(Y 4 words) --> C(LOR)
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, SC, SCR, Cl
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Zero
-
If [C(AQ)0-71, C(LOR)l2-71'] = 0 ,then ON;
otherwise OFF
Negative
-
If C(A)O
NOTE:
= 1,
then ON; otherwise OFF
Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
An
8-424
DZ5l-00
QFMP
QFMP
462 (0)
Quadruple-Precision Floating Multiply
QFMP
FORMAT:
Single-word instruction format (see Figure 8-1).
OPERATI NG MODES:
Any
SUMMARY:
[C (EAQ,
EXPLANATION:
The exponent underflow indicator is not set when the
low-order exponent (EL) is in underflow (EU-1S < -128). At
this time, the correct value + 256 is loaded into EL and the
correct value into the low-order mantissa (ML - LOR8-7l).
LOR) x
C (y
4 words)] normal ized ->
C( EAQ,
LOR)
When the mantissa (both the high-order and the low-order
portions) of the operation result is 0, then -128 is loaded
into EU and EL'
When the low-order mantissa, but not the high-order mantissa,
of the operation result = 0, then -128 is loaded into EL.
In any other case, EU -15 is loaded into EL.
In quadruple-precision arithmetic operations, an additional
digit (4 bits), called a guard digit, is assumed next to the
low-order position. An operation is performed in which the
intermediate result which includes the guard digit are
normalized. The high-order 124 bits are loaded into the EAQ
and LOR registers.
I LLEGAL ADDRESS
NODI FI CATIONS:
DU, DL, SC, SCR, CI
ILLEGAL REPEATS:
RPT, RPD, RPL
(
8-425
_.
----------~--------~
. . . . -.
~~
DZS1-OO
QFMP
QFMP
I NDI CATORS:
NOTE:
= a,then
Zero
-
If [C(AQ)O-63, C(LOR)S-71]
otherwise, OFF
Negative
-
If C(A)O
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent < - 128, then ON
= 1,
ON;
then ON; otherwise OFF
An Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
8-426
DZ51-0a
QFSB
(
QFSB
Quadruple-Precision Floating Subtract
576
(0)
FORMAT:
Single-word instruction format (see Figure 8-1).
OPERATI NG MODES:
Any
SUMMARY:
[C (EAQ,
EXPLANATION:
The exponent underflow indicator is not set when the
low-order exponent (EL) is in underflow (EU-15 < -128). At
this time, the correct value + 256 is loaded into EL and the
correct value into the low-order mantissa (ML - LOR8-71).
LOR) - C(y 4 words») normalized -> C(EAQ, LOR)
~~en
the mantissa (both the high-order and the low-order
portions) of the operation result is 0, then -128 is loaded
into EU and EL.
When the low-order mantissa, but not the high-order mantissa,
of the operation result = 0, then -128 is loaded into EL.
In any other case, EU -15 is loaded into EL.
In quadruple-precision arithmetic operations, an additional
digit (4 bits), called a guard digit, is assumed next to the
low-order position. An operation is performed in which the
intermediate result that includes the guard digit is
normalized. The high-order 124 bits are loaded into the EAQ
and LOR registers.
During the operation, a two's complement of the subtrahend is
justified and added.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, SC, SCR, C!
1LLEGAL REPEATS:
RPT, RPD, RPL
8-427
QFSB
QFSB
/
I ND! CATORS:
NOTE:
Zero
-
If [C(AQ)O-63, C(LOR)S-71] =0 ,then ON;
otherwise, OFF
Negative
-
If C(A)O
Exponent
Overflow
-
I f exponent > +127, then ON
Exponent
Underflow
-
If exponent < - 128, then ON
= 1,
then ON: otherwise, OFF
An Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
8-428
DZ51-00
QFST
QFST
QFST
Quadruple-Precision Floating Store
FORMAT:
single-word instruction format (see Figure 8-1).
PROCEDURE MODE:
Any
SUMMARY:
[C(EAQ, LOR} --> C(Y 4 words}] normalized
453 (O)
C(E} --> bits 0-7 of C(Y 4 words)
Bits 0-63 pf C(AQ) --> bits 8-71 of C(Y 4 words)
Bits 64-71 of C(AQ) are ignored
C(LOR} --> bits 72-143 of C(Y 4 words)
(
ILLl!XiAL ADDRESS
MODI FI CATIONS:
DU, DL, SC, SCR, CI
I LLl!XiAL REPEATS:
RPT, RPD, RPL
I NDr CATORS :
None affected
NOTE:
An Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
8-429
DZ51-00
QFSTR
QFSTR
QFSTR
Quadruple-Precision Floating Store Rounded
FORMAT:
single-word instruction format (see Figure 8-1)
PROCEDURE MODE:
Any
SUMMARY:
[Bits 0-63 of C(AQ), bits 12-71 of C(LOR)] rounded,
normalized --> C(Y-pair)
EXPLANATION:
Arithmetic operation procedure
[C(AQ)O~63
466 (0)
+ carry] normalized --> C(Y-pair)
If C(AQ, LOR) is positive then carry
=0
If C(AQ, LOR) is negative;
if C(LOR}13-71
= 0,
if C(LOR)13-71
~
then carry
0, then carry
=0
= C(LOR}12
Using the above processing, positive and. negative data with
an equal absolute value are rounded to glve values with equal
absolute value.
If the mantissa of the result
in C(Y-pair)0-7.
=0
by rounding, -128 is stored
ILLEGAL ADDRESS
MODI PI CATIONS:
DU, DL, SC, SCR, CI
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
zero
-
If C(Y-pair)8-71
otherwise, OFF
Negative
-
If C(Y-pair)a
Exponent
Overflow
-
If exponent> +127, then ON
Exponent
Underflow
-
If exponent < -128, then ON
NOTE:
= O,then
= 1,then
ONi
ON; otherwise, OFF
An Illegal Procedure fault occurs when illegal address
modifications or illegal repeats are used.
8-430
DZ51-00
\,,-j
QLR
QLR
QLR
'.(
"
Q-Register Left Rotate
776 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
Rotate C(Q) left by the number of positions indicated by bits
11-17 (NS mode) or 27-33 (ES mode) of Y (y modulo 128).
Enter each bit leaving bit position 0 of Q into bit position
35 of Q.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL
INDICATORS:
Zero
-
If CO changes during the shift, then ON;
otherwise, OFF. When the carry indicator is
ON, the algebraic range of Q.has been exceeded.
NOTE:
= 0, then ON; otherwise, OFF
CO = 1, then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-432
DZ5l-00
I
QRL
QRL
QRL
(
Q-Register Right Logical Shift
772 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
Shift C right by the number of positions indicated by bits
11-17 or 27-33 (ES mode) of Y (y modulo 128). Fill vacated
positions with bit 0 of C(Q). The shift count in the
instruction must be a decimal number.
I LLEGAL ADDRESS·
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
INDICATORS:
zero
-
If C(Q)
Negative
-
If
NOTE:
= 0, then ON; otherwise, OFF
C(Q)O = I, then ON; otherwise, OFF
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
./
An
8-434
DZ51-00
,
QSMP
QSMP
QSMP
Quadruple-Precision Floating Multiply
with Double-Precision Operands
460 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATl NG MODES:
Any
SUMMARY:
[C(EAQ) x C(Y 4 words)] normalized --> C(EAQ, LOR)
EXPLANATION:
The exponent underflow indicator is not set when the
low-order exponent (EL) is in underflow (EU-15 < -128). At
this time, the correct value + 256 is loaded into EL and the
correct value into the low-order mantissa (ML - LOR8-71).
When the mantissa (both the high-order and the low-order
portions) of the operation result is 0, then -128 is loaded
into EU and EL.
When the low-order mantissa, but not the high-order mantissa,
of the operation result = 0, then -128 is loaded into EL.
(
In any other case, EU -15 is loaded into EL.
In quadruple-precision arithmetic operations, an additional
digit (4 bits), called a guard digit, is assumed next to the
low-order position. An operation is performed in which the
intermediate result which includes the guard digit are
normalized. The high-order 124 bits are loaded into the EAQ
and LOR registers.
The 72 bits of C(AQ)0-71 are used for the mantissa of the
multiplicand.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, SC, SCR, CI
ILLEGAL REPEATS:
RPT, RPD, RPL
8-435
DZ51-00
QSMP
QSMP
I NDI CATORS:
NOTE:
Zero
-
If [C(AQ)O-63, CO.QR)8-7l1 = O,then ON:
otherwise, OFF
Negative
-
If C(A)O
Exponent
OVerflow
-
I
Exponent
Underflow
-
I f
= 1,
then ON; otherwise, OFF
f exponent > +127, then ON
exponent < - 128, then ON
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-436
DZ51-00
(
RCW
RCW
Read Connect Word Pair
250 (O)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C (Connect
Queue Entry)
->
C (AQ)
If the queue is empty
o -->
C(AQ)
The SCU selected is the control SCU.
(
EXPLANATION;
The SCU is selected by the control SCU bit.
configuration register in Section4.)
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0,
ILLEGAL REPEATS:
RPD, RPL, and RPT
I NDI CATORS:
zero
-
Negative NOTES:
(Refer to SCU
If C(A) = 0, then ON; otherwise, OFF
If C(A)O = 1, then ON; otherwise, OFF
1.
An Illegal Procedure fault occurs' if illegal address
modification or an illegal repeat is used.
2.
An
IPR fault occurs if this instruction is executed in
Master or Slave modes.
3. The SCU connect masks are not applied.
4. Bound checks on the address are not made.
8-437
DZ51-00
RET
RET
IRFr
630 (0)
Return
~--------~--------------------------------------------~--------~
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Y)0-17 --> C(IC)
C(Y)18-32 --> C(IR)
C(Y)33-35 are ignored
C(Y) unchanged
EXPLANATION:
This instruction loads the content of the location specified
by y into the instruction counter and indicator register with
bit 29 = O. The RET instruction does not load the
instruction segment register (ISR) and the SEGID(IS). The
return is then within the current instruction segment. The
RET instruction may be thought of as an 101 instruction
followed by a transfer to the location specified by C(Y)0-17.
The relation between the bit positions of C(Y) and the
indicators is as follows:
C{Y) Bit Position
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33-35
Indicator (or Mask)
zero
Negative
carry
Overflow
Exponent overflow
Exponent underflow
Overflow mask
Tally runout
Parity error
Parity mask
Master mode
Truncation
Multiword instruction interrupt
Reserved for exponent underflow mask
Hexadecimal exponent mode
000
8-438
DZ5l-00
RET
RET
(
With unconditional transfer of control instructions, bit 29 of
the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not affected. An IPR fault does not occur.
o When bit 29 of the instruction word = 1, and if any form
of indirect addressing is specified in the tag field, then
the base, bound, and working space from DR!! (not the ISR)
are used in developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transter does not
equal to bit 24 of the segment descriptor from the DRg, an IPR
fault occurs. The ISR bit can be altered only with the CLIMB
instruction.
(
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Master mode - If C(Y)28 is 1, then no change: otherwise, OFF
All other
indicators
NOTES:
- If corresponding bit in C(Y)
otherwise, OFF
is 1,
then ON;
1.
Overflow Fault does not occur when the overflow
indicator, exponent overflow indicator, or exponent
underflow indicator is set ON via the RET instruction, even
if the Overflow Mask Indicator is OFF.
2.
An
An
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-439
DZSl-OO
RET
RET
3. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
4. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
5. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
8-440
DZS1-00
(
R1MR
RIMR
RIMR
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Privileged Master mode
SUMMARY:
Port interrupt level masks --> C(A)0-7
All mask
-->
C(A)8
Port connect mask
-->
C(A)9
0 ••• 0
(
233 (0)
Read Interrupt Mask Register
-->
C(A)10-35
EXPLANATION:
This instruction reads the masks in the SCU corresponding to
the issuing port; the All Mask is also read.
ILLEGAL ADDRESS
MODI F1 CATIONS:
DU DL, a, SC, and SCR
I
I
LLEGAL REPEATS:
RPT, RPD, RPL
I
ND1 CATORS:
None affected
NOTES:
1. The SCU is selected by the control SCU bit.
2. An IPR fault occurs when an attempt is made to execute
this instruction in Slave or Master mode.
3. An Illegal Procedure fault occurs if illegal address
modification or an illegal repeats are used.
8-441
DZ5l-00
RIW
RIW
/'
Read I nterrupt Word Pair
RIW
412 CO)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
I
f an unmasked interupt queue in the SCU has an entry then,
C(Word Pair from queue) --> C(AQ)
I f no unmasked queue has an entry then,
0 •.• 0
EXPLANATION:
-->
C(AQ)
If any unmasked interrupt queue in the control S:U has an
entry, then the contents of the entry from the interrupt queue
are moved into the AQ register. The entry from the
interrupt queue contains the level number. If there is no
unmasked queue from an entry, then zeros are moved into the AQ
register.
The SCU interrupt-connect mask register (ICMR) allows masking
of each port's interrupts and connects. Queues are maintained
in the SCU for each of the eight interrupt levels. The queues
are circular, first-in/first-out priority. No CPU address
information is used.
I LLEGAL ADDRESS
MODIFICATION:
DU,
I LLEGAL REPEATS:
RPD, RPL,
INDICATORS:
Zero
-
If C(A)
Negative
-
If
NOTES:
DL,
1.
An
2.
An
CI
RPT
= 0, then ON; otherwise OFF
C(A)O = 1, then ON; otherwise OFF
IPR fault occurs if this instruction is executed in
Master or Slave mode.
IPR fault occurs if illegal address modification or an
illegal repeat is used.
3. Bound checks on the address are not made.
8-442
DZSl-OO
\
)
RMID
RMID
RMID
Read Memory ID Register
273 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Memory ID Register)
EXPLANATION:
This instruction provides program access to the memory ID
register. SCU selection is based on the Control SCU bit (22)
in the CPU mode register.
-->
C(AQ)
Address development is followed
select the correct memory unit.
that is selected by the address
physical ID or logical ID based
configuration register.
and transferred to the SCU to
The physical memory unit
is dependent upon the SCU's
on the setting of the SCU
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, SC, SCR
ILLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None affected
NOTES:
1. An IPR fault occurs if execution is attempted in the Slave
or Master mode.
2. An IPR fault occurs if illegal address modification or an
illegal repeat is used.
(
8-443
DZ5l-00
RMR
RMR
RMR
Read Memory Register
270 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(Memory Status Register)
-->
C(AQ)
0 ••• 0 --> C(Memory Status Register)
EXPLANATION:
This instruction provides program access to the memory status
register. This register consists of 8 bits (40-47) in a
72-bit register. (Refer to "Memory Error Status Register" in
Section 4.) SCU selection is based on the control SCU bit in
the CPU mode register.
Address development is followed and transferred to the SCU to
select the memory unit. The memory unit is selected by
physical ID or logical ID based on the setting of the SCU
configuration register.
I
/
/
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, sc, SCR
ILLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None affected
NOTES:
1.
An IPR fault occurs if execution is attempted in the Slave
or Master mode.
2.
An
IPR fault occurs if illegal address modification or an
illegal repeat is used.
8-444
DZ51-00
(
RPAT
RPAT
RPAT
611 (0)
Run PATROL
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode and Master mode; NS mode only
EXPLANATION:
This instruction operates like the DIS instruction. When
PATROL is enabled, a full cycle of all test pages is run.
The sampling for interrupts at completion of each test page
is not done. Upon completion of the full cycle, the CPU
returns to the execution of the next instruction.
When PATROL is disabled, no operation takes place.
continues with the next instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
(
I LLEGAL REPEATS:
I
NDI CATeRS:
NOTES:
The
CPU
None. Modification is performed, including modification of
any indirect words specified. However, the effective address
has no effect on the operation, including the final value of
the instruction counter.
RPT, RPD, RPL
None affected
1. A Command fault occurs if execution is attempted in the
Slave or Master modes.
2.
IPR fault occurs if this instruction is executed in ES
mode.
3.
An
An
IPR fault occurs if illegal repeats are executed.
(8-445
DZ51-00
RPD
RPD
RPD
Repeat Double
560 (0)
FORMAT:
1 1
000 0 1 1
TERM. CONDo
Op
Code
2 2 223
3
560(0)
OPERATING MODES:
Executes in NS mode only
CODI NG FORMAT:
RPD N,I,kl,k2, ••• ,k7. (A=B=C=l.) The command generated by
the assembler from this format will cause the two
instructions immediately following the RPD instruction to be
iterated N times and the effective addresses of those two
instructions to be incremented by the value I for each of N
iterations. The meaning of the termination conditions of
kl,k2, ••• ,k7 are the same as for the RPT instruction. Since
the repeat-double must fall in an odd location, the assembler
will force this condition and a NOP instruction is used for a
filler when needed.
RPDX ,I. (A=B=C=O.) This instruction operates just as the
RPD instruction with the exception that A,B,N and the
conditions for termination are loaded by the user into index
register zero.
RPDA N,I,kl,k2, ••• ,k7. (A=C=l. B=O.) This instruction
operates just as the RPD instruction with the exception that
only the effective address of the first instruction following
the RPDA instruction will be incremented by the value of I
for each of N iterations.
RPDB N,I,kl,k2, ••• ,k7. (A=O. B=C=l.) This instruction
operates just as the RPD instruction with the exception that
only the effective address of the second instruction
following the RPDB instruction will be incremented by the
value I for each of N iterations.
EXPLANATION:
The instructions from the next Y-pair are fetched and saved
in the processor; they are executed repeatedly until a
specified termination condition is met.
8-446
DZ51-00
RPD
RPD
1. The RPD instruction must be stored in an odd memory
location except when accessed via the XEC or XED
instructions. In this case, the RPD instruction can be
either even or odd, but the XEC or XED instruction must be
in an odd memory location.
2. If C = 0, the tally and terminate conditions are loaded
from XO/GXO.
NS Mode
Tally, terminate condition
= C(XO)0-17
ES Mode
Tally, terminate condition
C(GXO)0-17 unchanged
= C(GXO)18-35
3. If C = 1, then bits 0-17 of the RPD instruction are loaded
into XO/GXO.
NS Mode
Bits 0-17 of the RPD instruction --> C(XO/GXO)
ES Mode
Bits 0-17 of the RPD instruction --> C(GXO>18-35
00 •••• 0 --> C(GXO)0-17
4. The terminate condition(s) and tally from Xo control the
repetition for the instructions following the RPD
instruction. An initial tally of zero is interpreted as
256. A fault also causes an exit from the cycle.
5. The repetition cycle consists of the following steps:
a. Execute the pair of repeated instructions.
b. C(XO)0-7 - 1 --> bits 0-7 of C(XO)
or C(GXO)l8-25 - 1 --> C(GXO)l8-25
c. If a terminate condition is met, set the Tally Runout
indicator OFF and exit.
(
8-447
DZ5l-00
RPD
RPD
d. If bits 0-7 of C(XO) or bits 18-25 of C(GXO) = 0, set
the Tally Runout indicator ON and exit.
e. If conditions in c. or d. are not met, go to a.
6. Many instructions cannot be repeated. If an instruction
cannot be repeated, an illegal repeat causes on IPR fault
to occur. Refer to the individual instruction
descriptions to determine whether or not a particular
instruction can be repeated.
7. Address modification for the pair of repeated instructions
is as follows.
For each of the two repeated instructions, only the
modifiers Rand RI and only the designators specifying
Xl, ••• ,X7/GX1, ••• ,GX7 are permitted. Address register
modification is also permitted. All other modifier
designations result in an IPR fault.
When the effective address for R modification is Y, and
when the indirect word address for RI modification is
YI, the address is determined as follows.
a. When
AR
modification is not indicated (bit 29 =
0)
o For the first execution of each of the two repeated
instructions:
Y + C(R) --> Yl or YIl
Y1 or YI1 --> C(R)
o For any subsequent execution of the two repeated
instructions:
For the first instruction of the pair
If A=l, then DELTA
+
C(R) --> Yn or YIn
Yn or YIn --> C(R)
If A=O, then C(R) --> Yn or YIn' where n>l
For the second instruction of the pair
If B=l, then DELTA + C(R) --> Yn or YIn:
Yn or YIn --> C(R)
8-448
DZ51-00
RPD
RPD
(
If B=O, then C(R) --> Yn or YIn' where n>l
b. When AR modification is indicated (bit 29 = 1)
a
For the first execution of each of the two repeated
instructions:
(se)Y
+
C(R)
(se)Y
+
C(R) --> C(R)
+
C(ARm) -> Y1 or Yll
(se) is the extended address with bit 3 of y.
ARm is the address register m selected by
instruction bits 0, 1, 2.
o For any subsequent execution of the two repeated
instructions:
For the first instruction of the pair
(
If A=l, then DELTA + C(R) + C(ARm) --> Yn or
YIn;
DELTA
+
C(R) --> C(R)
If A=O, then C(R)
+
C(AR) --> Yn or YIn
For the second instruction of the pair
If B=l, then DELTA + C(R) + C(ARm) -> Yn or
Yl n
DELTA + C(R) --> C(R)
If B=O, then C(R) + C(ARm) -> Yn or Yl n
A and B are the contents of the XO bits 8 and 9 or
the GXO bits 26 and 27.
(
8-449
DZ51-00
RPD
RPD
When RI modification is specified in the repeated
instruction, indirect reference is performed only
once for each repeat. The tag field of the indirect
word is ignored and processed as R modification (R =
N) •
8. The Exit Conditions:
exit is made from the repeat cycle if one of the
terminate conditions exists or if tally = 0 after the
execution of the odd instruction of the repeated pair.
Also, an exit is made when a fault occurs.
An
The program-controlled exit conditions are:
a. Tally = 0
b. Terminate Conditions:
The bit configuration in bit positions 11-17 of the RPD
instruction defines the terminate conditions. If more
than one condition is specified, the repeat terminates
if anyone of the specified conditions is met.
The carry, negative, and zero indicators each use two
bits, one for the OFF condition and one for ON. A zero
in both positions for one indicator causes this
indicator to be ignored as a terminate condition. A 1
in both positions causes an exit after the first
execution of the repeated instruction pair.
Bit
17 = 0:
Ignore all overflows. The respective
overflow indicator is not set ON, and
an Overflow fault does not occur.
Bit
17
= 1:
Process overflows. If overflow mask
indicator is ON when an overflow
occurs, then exit from the repetition
cycle. If the overflow mask indicator
is OFF when an overflow occurs, then
an Overflow fault occurs.
8-450
.DZ5l-00
/i
(
RPD
RPD
Bit
16
Bit
15
Bit
14
Bit
13
= 1:
= 1:
= 1:
= 1:
Bit
12
= 1: Terminate if zero indicator
Bit
11
= 1:
Terminate if carry indicator is OFF.
Terminate if carry indicator is ON.
Terminate if negative indicator is OFF.
Terminate if negative indicator ON.
OFF.
Terminate if zero indicator ON.
c. Overflow Fault:
If bit 17 = 1 and an overflow occurs with the overflow
mask indicator OFF, an Overflow fault occurs and an
exit is made from the repetition cycle after the
execution of the current instruction when the fault
processor returns control.
A non-program-controlled exit from the repetition cycle
occurs if any fault other than an Overflow occurs. If
any fault (Overflow, Divide Check, Parity error on
indirect word or operand fetch, etc.) occurs on the
even instruction, the odd instruction will not be
executed.
9. Status at termination of repeat
Bits 0-7 of C(XO} or bits 18-25 of C(GXO} contain the
tally residue (i.e., the number of repeats remaining until
a tally runout would have occurred). The terminate
conditions in bits 11-17 remain unchanged.
If the exit was due to tally = 0 or a terminate condition,
the Xn/GXn specified by the designator of each of the two
repeated instructions will contain either:
a. The contents of the designated Xg/GXn after the last
execution of the repeated pair plus the DELTA
associated with each instruction, as A or B, the DELTA
designators (bits 8 and 9 of XO) = 1, or
8-451
DZ5l-00
RPD
RPD
b. The contents of the designated Xg/GKg after the last
execution of the repeated pair if A or B, respectively,
is zero.
10. When XOO-7/GK018-25 contain zeros and the terminate
condition is not satisfied, the tally runout indicator set
to ON: otherwise, it is set to OFF.
I LLEGAL ADDRESS
MODIFICATIONS:
None. Address modification is not executed.
ignored.
Bit 29 is
ILL]!X;AL REPEATS:
RPT, RPD, RPL
INDICATORS:
The RPD instruction itself does not affect any of the
indicators. However, the execution of the repeated
instructions may affect indicators. The repeat mode entered
as a result of the instruction affects the Tally Runout
indicator.
NOTES:
1.
repeat-double of instructions that have long execution
times may cause a Lockup fault (LUF) if the time involved
is greater than the lockup time interval, which may be 2,
4, 8, or 16 milliseconds.
A
2. The repeated instruction must be modified by an index
register.
3. The following conditions cause an IPR fault to occur.
o If illegal repeats are used.
o If the repeated instruction uses
XO/~O.
o If R or RI modification is attempted with the repeated
instruction with other than Xl-X7/GKl-GX7.
o If the RPD instruction (or the XEC instruction
accessing the RPD instruction) is not at an odd
location.
'\,
)
8-452
DZ5l-00
(
RPD
RPD
If the exit was due to a fault, the Xn/GXn specified by
the designator of each of the two repeated instructions
may contain either:
a. The contents of the designated xn/GXn when the fault
occurred plus the DELTA associated with each
instruction A and B = 1, or
b. The contents of the designated Xn/GXn when the fault
occurred.
EXAMPLE:
I
8
16
EAX6
EAX7
FROM
TO
100,2
0,6
0,7
RPD
,
LDAQ
STAQ
EVEN
FROM
TO
BSS
BSS
200
200
8-453
DZ51-00
RPL
RPL
500(0)
Repeat Link
RPL
FORMAT:
o
0 0 011
1 1
TERM.
Op
Code
2 2 2 2 3
3
500(0)
CONDo
OPERATING MODES:
Executes in NS mode only
CODING FORMAT:
RPL N,kl,k2, ••• ,k7. (C = 1.) This format causes the
instruction immediately following the RPL instruction to be
repeated N times or until one of the conditions specified in
kl, ••• ,k7 is satisfied, or until the link address of zero is
detected. The range of N is 0-255. If N = 0, the instruction
will be iterated 256 times. If N is greater than 255, the
instruction will cause an error flag (A) to be printed on the
assembly listing. The fields kl, k2, ••• , k7 mayor may not
be present. They represent conditions for termination which,
when needed, are declared by the conditional transfer
instructions TMI, TNC, TNZ, TOV, TPL, TRC, and TZE. These
instructions affect the termination condition bits in
position 11-17 of the Repeat instruction.
octal number can be used rather than the transfer
instructions to denote termination conditions. Thus, if the
field for kl, k2, ••• , k7 is found to be numeric, it will be
interpreted as octal, and the low-order 7 bits will be ORed
into bit positions 11-17 of the Repeat instruction. The
variable field scan is terminated with the octal field.
An
RPLX (C = O). This instruction operates just as the RPL
instruction except that N and the conditions for termination
are loaded by the user into index register zero.
EXPLANATION:
The next instruction is executed either a specified number of
times until a specified termination condition is met, or
until the link address of zero is detected.
8-454
DZ5l-00
(
RPL
RPL
1. If C = 0, the tally and terminate conditions are those
loaded from XO/GXO.
NS Mode
Tally, terminate condition
= C(XO)O-17
ES Mode
Tally, terminate condition
= C(GKO)18-35
C(GKO )0-:-17 is unchanged
2. If C
= 1,
then bits 0-17 of the RPL instruction--> C(XO)/(GKO)
NS Mode
Bits 0-17 of the RPD instruction --> C(XO/GKO)
ES Mode
Bits 0-17 of the RPD instruction --> (GKO)18-35
(
00 ••• 0 --> C(GXO)0-17'
3. The terminate condition(s) and tally from XO control the
repetition for the instruction following the RPL
instruction. An initial tally of zero is interpreted as
256. A fault also causes an exit from" the cycle.
4. The repetition cycle consists of the following steps:
a. Execute the repeated instruction.
b. C bits 0-7 of C(XO)
or C(GXO}18-25 -1 --. > C(GKO)18-35'
c. If a terminate condition is met, set the Tally Runout
indicator OFF and exit.
d. If bits 0-7 of C(XO) or bits 18-25 of C(GXO} = 0, or
the link address bits 0-17 of C(Y) = 0 and no terminate
condition is met, set the Tally Runout indicator ON and
exit.
(
e. If conditions in c. or d. are not met, the effective
address C(Y} is used as a link address to determine the
C(Y) to be used in the next iteration. Go to a.
8-455
DZ51-00
RPL
RPL
5. Many instructions cannot be repeat-linked. I f an
instruction cannot be repeated, an illegal repeat causes
an IPR fault to occur. Refer to the individual
instruction descriptions to determine whether or not a
particular instruction can be repeated.
6. Address modification for the repeated instruction is as
follows.
Only address register (AR) modification and R modification
specifying Xl-X7/GX1-GX7 are permitted for repeated
instructions.
R modification is valid only for the first execution of
the repeated instruction, AR modification is valid for all
executions.
The effective address is generated as follows.
a. When
AR
modification is not indicated (bit
29 =
0)
o For the first execution of the repeated instruction
Yl
= yl
+
Yl
-->
C(R)
C(R)
o For each successive execution of the repeated
instruction
Yn
= C(Yn-l)O-17
Yn --> C(R)
8-456
(when YnO-17 does not contain zeros)
DZ51-00
RPL
RPL
b. When AR modification is indicated (bit 29
= 1)
o For the first execution of the repeated
instruction
Y1 = (se)y
(se)y
+
+
C(R)
C(ARm)
+
C(R) --> C(R)
(se)y is the extended address with bit 3 of y.
is the address register m selected by
instructions bits 0, 1, 2.
ARm
o For each successive execution of the repeated
instruction
Yn = C(Yn-1)0-l7
+
C(AR)
C(Yn-l)0-17 --> C(R)
when YnO-17 does not contain zeros
The effective address Y is the address of the next
list word. The lower portion of the list word
contains the operand to be used for this execution
of the repeated instruction.
The operand is handled in one of the following
formats.
Bits 0-17:
00 ••• 0
Bits 18-35: C{Y)18-35 for single-precision (1
word)
or as
Bits 0-17:
00 ••• 0
Bits 18-71: C{Y}18-71 for double precision (2
words)
The upper 18 bits of the list word contain the link
address; that is, the address of the next successive
list word, and thus the effective address for the
next successive execution of the repeated
instruction.
8-457
DZ51-00
RPL
RPL
/
7. Repeat Exit Conditions:
exit is made from the repeat cycle if one of the
terminate conditions exists or if tally = 0 or link
address = 0 after the execution of the repeated
instruction. Also, an exit is made when a fault occurs.
An
The program-controlled exit conditions are:
a. Tally = 0
b. Link Address
=0
c. Terminate Conditions:
The bit configuration in bit positions 11-17 of the RPL
instruction defines the terminate conditions. If more
than one condition is specified, the repeat terminates
if any of the specified conditions is met.
The carry, negative, and zero indicators each use two
bits, one for the OFF condition and one for ON. A zero
in both positions for one indicator causes this
indicator to be ignored as a terminate condition. A 1
in both positions causes an exit after the first
execution of the repeated instruction.
Bit
17
= 0:
Ignore all overflows. The respective
overflow indicator is not set ON, and
an Overflow fault does not occur.
Bit
17
= 1:
Process overflows. If the overflow
mask indicator is ON when an overflow
occurs, exit from the repetition
cycle. If the overflow mask indicator
is OFF when an overflow occurs, then
an Overflow fault occurs.
Bit
16
Terminate if carry indicator is OFF.
Bit
15
= 1:
= 1:
Bit
14
= 1:
Terminate if negative indicator is
OFF.
Bit
13
= 1:
Terminate if negative indicator is
ON.
Terminate if carry indicator is ON.
8-458
DZ51-00
""\
RPL
RPL
(
= 1:
Bit
12
Bit
11 = 1:
Terminate if zero indicator is OFF.
Terminate if zero indicator is ON.
d. Overflow Fault:
If bit 17 = 1 and an overflow occurs with the overflow
mask indicator OFF, an Overflow fault occurs and an
exit is made from the repetition cycle when the fault
processor returns control.
A non-program-controlled exit from the repetition cycle
occurs if any fault other than an Overflow occurs
(Divide Check, Parity error on indirect word or operand
fetch, etc.).
8. Status at termination of repeat
Bits 0-7 of C(XO) or bits 18-25 of C(GXO) contain the
tally residue (i.e., the number of repeats remaining until
a tally runout would have occurred). The terminate
conditions in bits X01l-17/GX029-35 remain unchanged.
The Xn/GXn specified by the designator of the repeated
instruction contains the address of the list word that
contains:
a. In its lower-half, the operand used in the last
execution of the repeated instruction
b. In its upper-half, the address of the next list word.
9. When XOO-7/GX018-25 contain zeros, or when the link
address {Y)0-17 contains zeros, and the terminate
condition is not satisfied, the Tally runout indicator is
set to ON; otherwise, it is set to OFF.
10.
ILLEGAL ADDRESS
MODIFICATIONS:
I
LLEGAL REPEATS:
exit will not occur if the effective address is 0 for
the first execution of the linked instruction. This
address specifies the location of the first word in the
link table and is not interpreted as a link address.
An
None. Address modification is not executed.
ignored.
Bits 29-35 are
RPT, RPD, RPL
(
8-459
DZ5l-00
RPL
RPL
I NDI CATeRS :
TheRPL instruction itself does not affect any of the
indicators. However, the execution of the repeated
instruction may affect the indicators. The repeat mode
entered as a result of the instruction affects the tally
runout indicator.
NOTES:
1. The repeated instruction must be modified by an index
register.
2. The following conditions cause an Illegal Procedure fault.
o I f illegal repeats are used.
o If the repeated instruction uses
xo/mw.
o If other than AR or R modification is attempted with
the repeated instruction.
o If R modification other than Xl-X7/GX1-GX7 is attempted
with the repeated instruction.
EXAMPLE:
S
16
EAX7
A
LDQ
CMK
=0777777,DU
=3HIDD,DL
S,TZE
0,7
TNZ
ERROR
A
VFD
lS/B,H1S/IDA
B
VFD
lS/C,H1S/IDB
C
VFD
lS/D,H1S/IOC
D
VFD
lS/E,H1S/IDD
E
VFD
lS/O,H1S/IDE
1
LDA
RPL
S-460
DZS1-00
RPT
RPT
(
520
Repeat
RPT
(O)]
FORMAT:
o
1 1
7 8
0 0 011
TERM. CONDo
(
I
Op
Code
520(0)
2 222 3
6 7 890
II II
DELTA
3
5
I
OPERATING MODES:
Executes in NS mode only
CODING FORMAT:
RPT N,I,kl,k2, ••• ,k7. (Bit C=l.) The command generated by
the assembler from this format will cause the instruction
immediately following the RPT instruction to be iterated N
times and that instruction's effective address to be
incremented by the value I for each of N iterations. The
range for N is 0-255. If N = 0, the instruction will be
iterated 256 times. If N is greater than 256, the instruction
will cause an error flag (A) to be printed on the assembly
listing. The fields kl,k2, ••• k7 mayor may not be present.
They represent conditions for termination which, when needed,
are declared by the conditional transfer instructions TMI,
TNC, TNZ, TOV, TPL, TRC, and TZE. These instructions affect
the termination condition bits in positions 11-17 of the
Repeat instruction. See discussion of terminate conditions
below.
In addition, an octal number can be used rather than the
transfer instructions to denote termination conditions.
Thus, if the field for kl,k2 ••• ,k7 is found to be numeric, it
will be interpreted as octal and the low-order 7 bits will be
ORed into bit positions 11-17 of the Repeat instruction. The
variable-field scan will be terminated with the octal field.
RPTX ,I (Bit C = 0). This instruction operates just as the
RPT instruction with the exception that N and the conditions
for termination are loaded by the user into bit positions 0-7
and 11-17, respectively, of index register zero (instead of
being embedded in the instruction).
<:
8-461
DZ51-00
RPT
RPT
EXPLANATION:
The next instruction is executed either a specified number of
times or until a specified termination condition is met.
1. If C = 0, the tally and terminate conditions are those
loaded from XO/GXO.
NS Mode
Tally, terminate condition
= C(XO)0-17
ES Mode
Tally, terminate condition
= C(GXO)18-35
C(GXO)0-17 unchanged
2. If C = 1, then bits 0-17 of the RPT instruction are loaded
into C(XO)/(GXO}.
NS Mode
Bits 0-17 of the
RPT
instruction --> C(XO/GXO)
ES Mode
Bits 0-17 of the RPT instruction --> (GXO)18-35
00--0 --> C(GXO)0-17
3. The terminate condition(s) and tally from XO control the
repetition for the instruction following the RPT
instruction. An initial tally of zero is interpreted as
256. A fault also causes an exit from the cycle.
4. The repetition cycle consists of the following steps:
a. Execute the repeat instruction.
b. C(XO)0-7 - 1 --> bits 0-7 of C(XO)
or C(GXO)18-25 - 1 --> C(GXO)18-25
c. If a terminate condition is met, set the tally runout
indicator OFF and exit.
d. If bits 0-7 of C(XO) or bits 18-25 of C(GXO)
the tally runout indicator ON and exit.
= 0,
set
e. If conditions in c. or d. are not met, go to a.
8-462
DZ51-00
RPT
RPT
(
5. Many instructions cannot be repeated. For such
instruc~ions, an illegal repeat causes an IPR fault to
occur. Refer to the individual instruction descriptions
to determine whether or not a particular instruction can
be repeated.
6. Address modification for the repeated instruction is as
follows.
For the repeated instruction, only the modifiers Rand RI
and only the designators specifying Xl, ••• ,X7/GXl, ••• ,GX7
are permitted. Address register modification is also
permitted.
All other modifier designations result in an IPR fault.
When the effective address for R modification is Y, and
when the indirect word address for RI modification is YI,
the address are determined as follows.
When AR modification is not indicated (bit 29 = 0)
a. For the first execution of the repeated instruction:
(/
Y + C(R) --> Yl or YIl
Yl or YIl --> C(R)
b. For each successive execution of the repeated
instruction
DELTA
+
C(R) --> Yn or YIn
Yn or YIn --> C(R)
DELTA is bits 30 to 35 of the RPT instruction.
(_.
8-463
DZ51-00
RPT
RPT
When AR modification is indicated (bit 29 = 1)
a. For the first execution of the repeated instruction
(se)Y + C(R) + C(ARm) --> Yl or Y1l
(se)Y + C(R) --> C(R)
(se) is the extended address with bit 3 of y.
ARm is the address register m selected by instruction
bits 0, 1, 2.
b. For any subsequent execution of the the repeated
instruction
DELTA + C(R) + C{ARm) --> Yn or YIn
DELTA + C(R) --> C(R)
When RI modification is specified in the repeated
instruction, indirect reference is performed only once
for each repeat. The tag field of the indirect word is
ignored and processed as R modification (R = N).
7. Repeat Exit Conditions:
An exit is made from the repeat cycle if one of the
terminate conditions exists or if tally = 0 after the
execution of the odd instruction of the repeated pair.
Also, an exit is made when a fault occurs.
The program-controlled exit conditions are:
a. Tally
=0
8-464
DZ5l-00
RPT
RPT
(
b. Terminate Conditions:
The bit configuration in bit positions 11-17 of the RPT
instruction defines the terminate conditions. If more
than one condition is specified, the repeat terminates if
any of the specified conditions is met.
The carry, negative, and zero indicators each use two
bits, one for the OFF condition and one for ON. A zero
in both positions for one indicator causes this indicator
to be ignored as a terminate condition. A 1 in both
positions causes an exit after the first execution of the
repeated instruction pair.
(
Bit
17
= 0:
Ignore all overflows. The respective
overflow indicator is not set ON, and
an Overflow fault does not occur.
Bit
17
= 1:
Process overflows. If the overflow
mask indicator is ON when an overflow
occurs, exit from the repetition cycle.
I f the overflow mask indicator is OFF
when an overflow occurs, an Overflow
fault occurs.
Bit
16 = 1: Terminate if carry indicator is OFF.
Bit
15
Bit
14
Bit
13
Bit
12
Bit
11
= 1:
= 1:
= 1:
= 1:
= 1:
Terminate if carry indicator is ON.
Terminate if negative indicator is OFF.
Terminate if negative indicator is ON.
Terminate if zero indicator is OFF.
Terminate if zero indicator is ON.
c. Overflow Fault:
If bit 17 = 1 and an overflow occurs with the Overflow
Mask indicator OFF, an Overflow fault occurs and an
exit is made from the repetition cycle when the fault
processor returns control.
A non-program-controlled exit from the repetition cycle
occurs if any fault other than Overflow occurs.
8-465
DZ5l-00
RPT
RPT
8. Status at termination of repeat
Bits 0-7 of C(XO) or bits 18-25 of C(GXO) contain the
tally residue
C(SCU Register)
In VMS Privileged Master mode,. if both SCU ports are enabled
and the least-significant bit of the effective address (word
address) is 1, the control SCU bit is temporarily changed to
permit selection of the non-control SCU. (Reference section 4
for CPU configuration register and ASR control.) The control
SCU bit is then reset to its original value.
Real Memory Address:
0 ••• 21
Bits
22-24
25-27
Function
X ••• X
0
X
Not used
X ••• X
1
X
Configuration
X ••• X
2
X
Fault
X ••• X
3
X
History
X ••• X
4
X
calendar Clock
X ••• X
5
X
Not used
X ••• X
6
X
Syndrome
X ••• X
7
X
Not used
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, 0, SC, SCR
I LLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None affected
",
8-468
DZ51-00
RSCR
RSCR
(
NOTES:
1. A Command fault occurs if address bits 22-24 are 0, 5, or 7
(octal).
2. A Command fault occurs if execution is attempted in Slave
or Master mode.
3. The SCU registers are defined in Section 4.
4. Bits 25-27 of the configuration register are the SCU port
number. These bits must be zero in an SSCR instruction, in
order that a subsequent RSCR instruction returns the port
number; otherwise, the OR of bits 25-27 and the port number
are returned.
5.
IPR fault occurs if illegal address modification or
illegal repeats are executed.
An
8-469
DZ5l-00
RSW
RSW
RSW
231 (0)
Read Processor Model Characteristics
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUHMARY:
C(model char.)
0 ••• 0
-> C(A)
->
C(A)0-3
Processor type --> C(A)4-6 (DPS 8000 type
= 101)
Test Mode Register Bit 13 (Transfer Trace Mode) -> C(A)30
1 = enable
Performance submodel type --> C(A)31-32
CPU Number
EXPLANATION:
-->
C(A)33-35
This instruction reads system model characteristics previously
set by the firmware and loads them into the A register.
The submodel field is interpreted as follows:
C(A)31-32
Performance
00
1,5
01
2.3
10
3.0
11
Undefined
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, Rt, IR, IT
ILLEGAL REPEATS:
None
I NDI CATORS:
None affected
NOTES:
1. Address development occurs but has no effect on the
execution of this instruction.
2. Additional model characteristics may be defined by the
firmware.
I
3. An IPR fault occurs if illegal address modification is
executed.
8-470
DZS1-00
j
S4BD
S4BDX
S4BD
S4BDX
S4BD
S4BDX
Subtract 4-Bit Displacement from Address Register
522 (1)
special arithmetic instruction format (see Figure 8-3)
FORMAT:
CODI NG FORMAT:
1
16
8
{S4BD 1
{s4BDxl word displacement,R,AR
OPERATI NG MODES:
Any
EXPLANATION:
Description is the same as for A4BD except that y and C(DR)
are added and the sum is subtracted from the content of ARn.
When the mnemonic is cOded with an X (S4BDX), bit 29 is
forced to O. If bit 29 is 0, the content of ARn is assumed
as o.
(
ILLEGAL ADDRESS
MODIFICATIONS:
If DU, DL, or Ie are specified in DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLES:
1
Applies to
~S
mode only
8
16
32
EAX3
S4BDX
S4BD
10
2,3,4
0,3,4
AR4 octal contents
AR4 octal contents
-
7777746 0
77777 340
EAX6
S4BDX
S4BD
7
3,6,2
0,6,2
AR2 octal contents
AR2 octal contents
-
77777 405
77777 320
(
8-471
DZ5l-00
S6BD
SGBDX
S6BD
S6BDX
/
S6BD
S6BDX
Subtract 6-Bit Displacement from Address Register
521 (1)
Special arithmetic instruction format (see Figure 8-3)
FORMAT:
CODI NG FORMAT:
8
1
16
{S6BD }
{S6BDX} word displacement,R,AR
OPERATI NG MODES:
Any
EXPLANATION:
Description is the same as for A6BD except that y and C(DR)
are added and the sum is subtracted from the content of ARn.
When the mnemonic is coded with an X (S6BDX), bit 29 is
forced to zero. If bit 29 is 0, the content of ARn is
assumed as O.
-
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, or IC specified in DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An I Hega1 Procedure fault occurs if illegal address
modifications or illegal repeats are used.
,
,~
EXAMPLES:
1
Applies to NS mode only
8
16
32
EAX5
SGBDX
S6BD
14
0,5,2
2,5,2
AR2 octal contents
AR2 octal contents
--
7 7 7 7 7 546
7 7 7 7 7 1 2 3
EAX6
SGBDX
SGBD
5
1,6,7
0,6,7
AR7 octal contents
AR7 octal contents
--
7 7 7 7 7 6 0 5
7 7 777 523
8-472
DZ51-00
(
S9BD
S9BDX
S9BD
S9BDX
I
II
:i
11
I'
I
S9BD
S9BDX
Subtract 9-Bit Displacement from Address Register
520 (1)
Special arithmetic instruction format (see Figure 8-3)
FORMAT:
CODING FORMAT:
8
1
16
{S9BD }
{S9BDX} word displacement,R,AR
OPERATI NG MODES:
Any
SUMMARY:
Description is the same as for A9BD except that y and C(DR)
are added and the sum is subtracted from the content of ARn.
When the mnemonic is coded with an X (S9BDX), bit 29 is
forced to zero. If bit 29 is 0, the content of ARn is
assumed as O.
-
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, or I C sped tied in DR.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
EXAMPLES:
1
Applies to NS mode only
8
16
32
EAX7
S9BDX
S9BD
9
1,7,5
1,,5
AR5 octal contents
AR5 octal contents
-
7777746 0
77777 360
EAX2
S9BDX
S9BD
7
2,2,6
0,2,6
AR6 octal contents
AR6 octal contents
-
7 7 7 7 7 420
777 7 7 2 4 0
8-473
DZ5l-00
SARn
SARn
Store Address Register
n
Single-word instruction format (see Figure 8-1)
FORMAT:
CODING FORMAT:
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
SAR£
LOCSYM,R,AM
For n=0,1, •• ,7 as determined by op code
C(ARn) --> C(Y)0-23: C(Y)24-3S, C(ARn) unchanged
ES
Mode
For n=0,1, •• ,7 as determined by op code
C(ARn) -> C(Y), C(ARn) unchanged
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, "RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLES:
1
Applies to NS mode only
8
16
32
SARS
ADDRWS
o0
1 7 5 0 2 7 ARS contents
1
o0
1 7 5 0 2 7 x x x x memory after
ADDRWS BSS
8-474
DZSl-OO
(
SAREG
SAREG
Store Address Registers
SAREG
Single-word instruction format (see Figure 8-1)
FORMAT:
CODI NG FORMAT:
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
SAREG
LOCSYM,R,AR
C(ARO,ARl, ••• ,AR7) --> C(Y,Y+l, ••• ,Y+7)O-23
Zeros --> C(Y,Y+l, ••• ,Y+7)24-35
ES Mode
C(ARO,ARl, ••• ,AR7) --> C{Y,Y+l, ••• ,Y+7)
The lower 3 bits of Yare assumed as 000 and the 8 words
beginning from the 8-word boundary are accessed for storage.
No check is performed to determine whether the lower 3 bits
of Yare actually 000.
EXPLANATION:
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLE:
1
8
16
SAREG
REGWS
EIGHT
REGWS BSS
32
8
8-475
DZ51-00
SB2D
SB2D
Subtract Using Two Decimal Operands
SB2D
203 (1)
FORMAT:
00
1 1
0011
Op
Code
222
3
203(1)
MF2
a a
a 2
1 1
7 8
2 2
a1
MFl
222
2 3
234
3
9 0
5
Yl
CNl
a
Sl
SFl
Nl
Yl
AR#
a
TNl
1 1
7 8
0
2
2 2
0 1
222
2 3
9 0
234
3
5
Y2
CN2
AR#
CaDI NG FORMAT:
TN2 S2
SF2
N2
Y2
The SB2D instruction is coded as follows:
1
8
16
SB2D
NDSC!!
NDSC!!
(MF1),(MF2),RD,P,T
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
(Refer to Section 7 under Multiword Instructions for description
of Multiword Modification Field.)
OPERATI NG MODES:
Any
8-476
DZ51-00
SB2D
SB2D
SUMMARY:
C(string 2) - C(string 1)
EXPLANATION:
same as SB3D except that the difference is stored using YC2,
TN2, S2, and, if S2 indicates a scaled format, SF2.
-->
C(string 2)
The zero indicator is set when the decimal number is zero; it
does not indicate that all bits are zeros.
Refer to AD3D, for a description of justifying the scaling
factors.
Independent of the data type being used (either packed
decimal or 9-bit numeric; floating-point or scaled)
significant digits in the result may be lost if:
1. The difference between the scaling factors (exponents) of
the source operands is large enough to cause the expected
length of the intermediate result to exceed 63 digits
after decimal-point alignment of source operands, followed
by subtraction.
2. The result field as defined by the result descriptor is
not large enough to contain the calculated result after it
has been aligned.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFI and MF2
I LLEGAL REPEATS:
RPT,
RPD, RPL
I NDI CATORS:
Zero
-
If result equals zero, then ON; otherwise, OFF
Negative
-
If result is negative, then ON; otherwise, OFF
Truncation -
Exponent
Overflow
(-
If, in the preparation of the final result,
one or more least significant digits (zero or
nonzero) are lost and rounding is not
specified, then ON; otherwise (i.e., no least
significant digits lost or rounding is
specified), OFF
If exponent of floating-point result is > 127,
then ON; otherwise, unchanged
/
8-477
DZSI-OO
SB2D
SB2D
Exponent
Underflow
-
If exponent of floating-point result is <
-128, then ON: otherwise, unchanged
Overflow
-
Iff ixed-point in':eger, or internal register
overflow, then ON ~ otherwise, unchanged
1. Truncation fault same as for AD3D.
NOTES:
2. Illegal Procedure fault same as for MVN.
3. If an illegal digit or sign is detected, part or all of
the receiving field may be changed before the IPR fault
occurs.
EXAMPLES:
Applies to NS mode only
1
FLD1
FLD2
FLD1
FLD2
8
16
32
SB2D
NDSC4
NDSC9
USE
, ,1
FLDl,O,4,2,-3
FLD2,O,8
CONST.
4P125+
8A+6543.2l
with rounding option
subtrahend operand descriptor
minuend operand descriptor
memory contents
125 +
+ 6 5 4 3 2 1 -2
+ 6 5 4 3 0 9 -2 (Result)
SB2D
NDSC4
NDSC9
USE
, , ,1
FLD1,0,8,3,-4
FLD2,0,8,3,-2
CONST.
with truncation enable option
subtrahend operand descriptor
minuend operand descriptor
memory contents
EDEC
EDEC
8P12345678
8A8765432l
EDEC
EDEC
USE
USE
*INSTRUCTION FAULT?
YES
12345678
87654321
87530864
WHAT KIND?
8-478
/'
"--
(Result)
truncation fault
DZ51-00
SB2DX
SB2DX
(
SB2DX
243
Subtract Using Two Decimal Operands Extended
(1)
FORMAT:
1 1
7 8
1 1
o1
0 0 0
0 1 2
MF2
Icslxsloo------------ool
0
0
1 1
7 8
0
2
Yl
CNl
243(1)
2 2
o1
222
789
5
H
222
234
TNl SXl
3
NFl
2 3
9 0
SFl
I
3
5
Nl
Yl
AR#
o
o
I
Op Code
1 1
7 8
0
2
2 2
0 1
222
234
2 3
3
5
9 0
Y2
CN2
AR#
CODl NG FORMAT:
TN2 SX2
SF2
N2
Y2
1
8
16
SB2DX (MF1),(MF2),RD,CS,T,NS
NDSCn LOCSYM, CN , N, SX , SF, AM
NDSCn LOCSYM,CN,N,SX,SF ,AM .
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
8-479
DZ51-00
SB2DX
SB2DX
\~" J
OPERATl NG MODES:
Any
SUMMARY:
C(string2) -
EXPLANATION:
same as for SB3DX except that the difference is stored using
YC2, TN2, SX2 and, if SX2 indicates a scaled format, SF2.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for NFl or MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
same as for AD3DX
NOTES:
1. All notes for AD3DX apply to SBZDX.
~(stringl) -->
C(string2)
2. See MVNX for information about coding of overpunched
signs.
8-480
DZ5l-00
SB3D
SB3D
-
If
,;
Subtract Using Three Decimal Operands
SB3D
223 (1)
FORMAT:
0
a
o0
1 2
Ip
H
0
0
0
2
001 1
890 1
HRDI
MF3
1 1
7 8
MF2
Op
222
789
Code
I
223(1)
1 122
7 801
222
234
II I
3
5
MF1
2 3
9 0
I
3
5
Y1
CN1 TNI Sl
a
o
SF1
N1
Y1
AR#
(
I
it
1 122
7 801
0
2
222
234
2 3
9 0
3
5
Y2
CN2 TN2 S2
N2
Y2
AR#
o
o
SF2
1 122
7 801
0
2
222
234
2 3
9 0
3
5
Y3
CN3 TN3 S3
AR#
CODI NG FORMAT:
SF3
N3
Y3
The SB3D instruction is coded as follows:
1
8
16
SB3D
NDSCn
NDSCn
NDSCn
(MF1),(MF2),(MF3),RD,P,T
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
LOCSYM,CN,N,S,SF,AM
(
8-481
DZS1-00
SB3D
SB3D
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
lmy
SUMMARY:
C(string 2) - C(string 1) --> C(string 3)
The decimal number of data type TN1, sign and decimal type
Sl, and starting location YC1, is subtracted from the decimal
number of data type TN2, sign and decimal type S2, and
starting location YC2. The difference is stored starting in
location YC3 as a decimal number of data type TN3 and sign
and decimal type S3.
If S3 indicates a fixed-point format, the results are stored
using scale factor SF3, which may cause leading or trailing
zeros (4 bits - 0000, 9 bits - 000110000) to be supplied
and/or most-significant-digit overflow or
least-significant-digit truncation to occur.
If S3 indicates a floating-point format, the result is
right-justified to preserve the most significant nonzero
digits even if this causes least-significant truncation.
If P=1, positive signed 4-bit results are stored using octal
13 as the plus sign. If P=O, positive signed 4-bit resu1ts_
are stored with octal 14 as the plus sign. If RD is a 1,
rounding takes place prior to storage.
Provided that strings 1, 2, and 3 are not overlapped, the
contents of the decimal numbers that start in locations YCl
and YC2 remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl, MF2, and MF3
I LLEGAL REPEATS:
RPT,
INDICATORS:
same as for SB2D
NOTES:
1. Truncation fault same as for AD3D.
RPD, RPL
2. Illegal Procedure fault same as for MVN.
3. The zero indicator is set when the decimal number is zero.
)
8-482
DZSl-OO
SB3D
SB3D
(
4. Independent of the data type being used (either packed
decimal or 9-bit numeric; floating-point or scaled)
significant digits in the result may be lost if:
a. The difference between the scaling factors (exponents)
of the source operands is large enough to cause the
expected length of the intermediate result to exceed 63
digits after decimal-point alignment of source
operands, followed by subtraction
b. The result field as defined by the result descriptor is
not large enough to contain the calculated result after
it has been aligned
5. If an illegal digit or sign is detected, part or all of
the receiving field may be changed before the IPR fault
occurs.
EXAMPLES: Applies to NS mode only
1
FLOl
FLD2
FLD3
1
FLDl
FLD2
FLD3
8
16
32
SB3D
NDSC4
NDSC4
NDSC9
USE
EDEe
EDEC
BSS
USE
, , ,1
FLD1,O,4,2
FLD2,O,4,l
FLD3,3,5
CONST.
4P1234P-123
2
with rounding option
subtrahend operand descriptor
minuend operand descriptor
operand descriptor for result field
memory contents
123-123
X X X + 0 0 0 +127
(Result)
zero indicator ON
8
16
32
SB3D
NDSC9
NDSCS
NDSC4
USE
EDEe
EDEC
BSS
USE
FLD1,O,8
FLD2,O,8
FLD3,O,8,l,-2
CONST.
8A-123456E-3
8A-987654E-3
with truncation enable option
subtrahend operand descriptor
minuend operand descriptor
result operand descriptor
memory contents
- 1 2 3 4 5 6 -3
- 9 8 7 6 5 4 -3
-0086419 (Result)
indicators on? - negative and truncation
1
8-483
DZ5l-00
SB3DX
SB3DX
263
Subtract Using Three Decimal Operands Extended
SB3DX
(1)
FORMAT:
0 o 0
0 1 2
HHSI
0
1 1
o1
1 1
7 8
I
MF3
I
MF2
1 1
7 8
0
2
0
Op Code
263(1)
2 2
o1
222
789
3
5
III
222
234
MFI
2 3
9 0
I
3
5
Yl
CNl
SFI
Nl
Yl
AR#
o
o
TNI SXl
1 1
7 8
0
2
2 2
0 1
222
234
2 3
9 0
3
5
Y2
CN2
SF2
N2
Yl
AR#
o
o
TN2 SX2
1 1
0
2
7 8
2 2
0 1
222
234
2 3
9 0
3
5
Y3
CN3
AR#
CODING FORMAT:
TN3 SX3
SF3
N3
Y3
1
8
16
SB3DX (MF1),(MF2),(MF3),RD,CS,T,NS
NDSCn LOCSYM, CN , N,SX, SF, AM
NDSCn LOCSYM,CN,N,SX,SF,AM
NDSCn LOCSYM, CN , N, SX, SF , AM
8-484
DZ51-00
SB3DX
SB3DX
(
I
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
I
I
OPERATI NG MODES:
Any
SUMMARY:
C(string 2) - C(string 1) --> C(string 3)
EXPLANATION:
The decimal number of data type TN1, sign and decimal type
SXl, and starting location YC1, is subtracted from the
decimal number of data type TN2, sign and decimal type SX2,
and starting location YC2. The difference is stored starting
in location YC3 as a decimal number of data type TN3 and a
sign and decimal type SX3.
!
I
If SX3 indicates a fixed-point format, the difference is
stored using scale factor SF3, which may cause leading or
trailing zeros (4 bits - 0000, 9 bits - 000110000) to be
supplied and/or most-significant-digit overflow or
least-significant-digit truncation to occur.
If SX3 indicates a floating-point format, the result is
right-justified to preserve the most-significant-nonzero
digits even if this causes least-significant truncation. The
character set is defined by CS. Placement of overpunched
sign in the output is controlled by NS. (Refer to definition
of NS in introductory pages of this section.)
(
If
RD
= 1,
rounding takes place prior to storage.
Provided strings 1, 2, and 3 are not overlapped, the contents
of the decimal numbers that start in locations YC1 and YC2
remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
I
LLEGAL REPEATS:
I
DU, DL for NFl, MF2, or MF3
RPT, RPD, RPL
I NOI CATORS:
Same as for AD3D
NOTES:
1. All notes for AD3D apply to SB3DX.
2. See MVNX for information about coding of overpunched
signs.
(
8-485
DZ5l-00
SBA
SBA
/
SBA
Subtract from A-Register
175 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) - C(Y) -> C(A); C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I
NDI CATORS:
Zero
-
If C(A) = 0, then ON; otherwise, OFF
Negative
-
If C(A)O
Overflow
-
I f range of A is exceeded, then ON
carry
-
If a carry out of bit 0 of C(A) is generated,
then ON: otherwise, OFF
= 1,
8-486
then ON: otherwise, OFF
DZ51-00
SBAQ
SBAQ
SBAQ
Subtract from AQ-Register
177 (0)
I
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(AQ) - C(Y-pair) --> C(AQ): C(Y-pair) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
-
If C(AQ) = 0, then ONi otherwise, OFF
Negative
-
If C(AQ)O
Overflow
-
I f range of AQ is exceeded, then ON
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON: otherwise, OFF
NOTE:
= 1,
then ON: otherwise, OFF
Illegal Procedure fault occurs if illegal address
modification is used.
An
(~/
8-487
DZ51-00
SBAR
SBAR
'\
/
SBAR
Store Base Address Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(BAR)
->
550 (0)
C(Y)0-17
C(Y)18-35 unchanges
EXPLANATION:
The relationship between C(Y) and the BAR follows.
Bits
Interpretation
0-7
Base Address/l024
8
Not used
9-16
(Unrelocated Address Limit)/I024
17
Not used
"\
The base address is a zero modulo 1024 word address that is
the first valid address allocated to the slave program. The
unrelocated address limit is a zero modulo 1024 word address
that is the first invalid address relative, relative to the
base address, beyond the memory space allocated to the slave
program. (The unrelocated address limit/l024 is also the
quantity of 1024-word blocks allocated to the slave program.)
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, sea
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None
NOTE:
An I llegal Procedure fault occurs if illegal address
modifications or illegal repeats are executed.
8-488
DZ51-00
(
SBD
SBDX
SBD
SBDX
SBD
Subtract Bit Displacement from Address Register
SBDX
523 (l)
Special arithmetic instruction format (see Figure 8-3)
FORMAT:
CODING FORMAT:
8
1
{SDB }
{SBDXl
16
word displacement,R,AR
OPERATI NG MODES:
Any
EXPLANATION:
Description is the same as for ABD except that y and C(DR)
are added and the sum is subtracted from the AR.
When the mnemonic is coded with an X (SBDX), bit 29 is forced
to zero. If bit 29 is 0, the content of ARn is assumed as O.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, and IC specified in DR.
I LLEGAL REPEATS:
RPT RPD RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLES:
1
I
I
Applies to NS mode only
8
16
32
EAXI
48
2,1,6
0,1,6
AR6 octal contents AR6 octal contents -
7 7 7 7 7 4 4 6
7 7 7 7 7 3 2 3
75
1,2,3
0,2,3
AR2 octal contents AR2 octal contents -
7 7 7 7 7 4 6 6
7 7 7 7 7 2 6 3
SBDX
SBD
EAX2
SBDX
SBD
('
8-489
DZ51-00
SBL]..
SBLA
/~\
/
SBLA
Subtract Logical from A-Register
135
(0)
I
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) - C(Y) -> C(A): C(Y) unchanged
EXPLANATION:
This instruction is identical to SBA except that the overflow
indicator is not affected and an Overflow fault does not
occur. Operands and results are treated as unsigned,
positive binary integers.
ILLEGAL ADDRESS
MODI FI CATIONS:
None
ILLEGAL REPEATS:
None
INDICATORS:
Zero
-
Negative
carry
If
-
= 0, then ON; otherwise, OFF
C(A)O = 1, then ON; otherwise, OFF
If C(A)
If a carry out of bit 0 of C(A) is generated,
then ON: otherwise, OFF. When the carry
indicator is OFF, the range of A has been
exceeded.
8-490
DZ51-00
(
SBLAQ
SBLAQ
SBLAQ
Subtract Logical from AQ-Register
137 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(AQ) - C(Y-pair) -> C(AQ); C(Y-pair) unchanged
EXPLANATION:
This instruction is identical to SBAQ except that the
overflow indicator is not affected and an Overflow fault does
not occur. Operands and results are treated as unsigned,
positive binary integers.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF. When the carry
indicator is OFF, the range of AQ has been
exceeded.
NOTE:
= 0,
= 1,
then ON: otherwise, OFF
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modification is used.
8-491
DZ51-00
SBLQ
SBLQ
SBLQ
Subtract Logical from Q-Register
136 (O)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C(Q} - C(Y) --> C(Q}; C(Y} unchanged
EXPLANATION:
This instruction is identical to SBQ except that the overflow
indicator is not affected and an Overflow fault does not
occur. Operands and results are treated as unsigned,
positive binary integers.
I LLEGAL ADDRESS
MODI FI CATIONS:
None
I LLEGAL REPEATS:
None
I NDl CATORS:
Zero
-
If C(Q)
Negative
-
If C(Q)o
carry
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
If a carry out of bit 0 of C(Q) is generated,
then ON; otherwise, OFF. When the carry
indicator is OFF, the range of Q has been
exceeded.
8-492
DZ5l-00
j
(
SBLR
SBLR
SBLR
Subtract Logical Register from Register
437 (1)
FORMAT:
Not Used
CODING FORMAT:
222333,
1 1
000
1
OP CODE
8
16
SBa
R1, ,R2
OPERATING MODES:
Executes in ES mode only.
SUMMARY:
R1, R2
= 0,
1, 2, 3, 4, 5, 6, 7, A, Q
C(R1) - C(R2) --> C(R1}
C(R2) unchanged
ILLEGAL ADDRESS
MODIFICATIONS:
None.
I LLEGAL REPEATS:
RPT, RPD, RPL
The address modification is not executed.
ILLEGAL EKECUTES: Execution in NS mode
INDICATORS:
NOTES:
Zero
-
= 0, then ON; otherwise, OFF
C(R1}O = 1, then ON; otherwise, OFF
If C(R1}
Negative -
If
carry
If a carry out of bit 0 of C(R1) is generated,
then ON; otherwise, OFF
-
1. An I PR fault occurs if illegal repeats are executed or if
the instruction is executed in NS mode.
2. Refer to Register to Register Instructions in Section 7
for a description of the fields in the instruction word.
(
8-493
DZS1-00
SBLXn
SBLXn
Subtract Logical from Index Register n
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS
12!! (0)
Mode
For n
= 0,1, ••• ,
or 7 as determined by op code
C(Xn) - C(Y>0-17 --> C(Xn): C(Y} unchanged
ES Mode
For n
= 0,1, ••• ,
or 7 as determined by op code
C(GXn) - C(Y) --> C(GXn); C(Y} unchanged
EXPLANATION:
This instruction is identical to SBXn except that the
overflow indicator is not affected and an Overflow fault does
not occur. Operands and results are treated as unsigned,
positive binary integers.
ILLEGAL ADDRESS
MODIFICATIONS:
a,
ILLEGAL REPEATS:
RPT, RPD, RPL of SBLXO
I NDI CATeRS:
Zero
-
If C(Xn/GXg)
Negative
-
If C(Xn/GXn)o
carry
-
If a carry out of bit 0 of C(Xn/GXn) is
generated, then ON; otherwise, OFF
NOTES:
SC, SCR
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
1. If DL modification is specified in the NS mode, all data
is processed as O.
2.
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
An
I
/'
8-494
DZ51-00
SSO
SBO
I
;
I
I
SBQ
subtract from Q-Register
176 (0)
FORMA'!':
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
C C is generated,
then ON; otherwise, OFF
= 0,
then ON: otherwise, OFF
= 1, then ON; otherwise, OFF
(
8-495
DZ51-00
I
SBRR
SBRR
/
SBRR
Subtract Register from Register
436 (1)
FORMAT:
000
Not Used
CODING FORMAT:
22233
1 1
1
OP CODE
8
16
SBRR
R1, ,R2
OPERATING MODES:
Executes in ES mode only.
SUMMARY:
R1, R2
= 0,
3
1, 2, 3, 4, 5, 6, 7, A, Q
C(R1) - C(R2)
--> C(R1)
C(R2) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
None.
ILLEGAL REPEATS:
RPT, RPD, RPL
/
The address modification is not executed.
ILLEGAL EXECUTES: Execution in NS mode
I NDI CATORS :
NOTES:
Zero
-
If C(R1) = 0, then ON; otherwise, OFF
= 1,
Negative -
If C(R1)0
Overflow -
If the range of R1 is exceeded, ON
carry
If a carry out of bit 0 of C(R1) is generated, then
ON; otherwise, OFF
1.
-
then ON; otherwise, OFF
IPR fault occurs if illegal repeats are executed or if the
instruction is executed in NS mode.
An
2. Refer to "Register to Register Instructions" in Section 7 for
a description of the fields in the instruction word.
,/
8-496
DZ51-00
SBXn
SBXn
,
II
Subtract from I ndex Register n
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,
16n iO}
1, ••• ,7 as determined by op code
C(Xn) - C(Y)0-17 --> C(Xn): C(Y) unchanged
ES Mode
For n
= 0,
1, ••• ,7 as determined by op code
C(GXn) - C(Y) -> C(GXn): C(Y) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
a,
I LLEGAL REPEATS:
RPT, RPD I RPL of SBXO
INDICATORS:
Zero
-
I f C (Xn/GXn) = 0 I then ON; otherwise I OFF
Negative
-
If C(XnGXn)o = 1, then ON; otherwise, OFF
Overflow
-
If range of Xn/GXn is exceeded, then ON
carry
-
If a carry out of bit 0 of C(xnGXn) is
generated, then ON: otherwise, OFF
NOTES:
SC, SCR
1. If DL modification is specified in the NS mode, all data
is processed as O.
2.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(~
8-497
DZ51-00
SCD
SCD
sa>
Scan Characters Double
120 (1)
FORMAT:
1 1
7 8
1 1
o1
0
0
MF2
1 00- - -0 1
I
0 o0
0 2 3
Code
3
5
H
120(1)
NFl
1 1 2 2 222
7 8 0 1 234
2 3
3
5
N1
00---------0
000
I
2 3 3
9 0 2
CNl TAl 0
Y1
AR#
222
789
1 1 2 2 222
7 8 o 1 234
Y1
o
Op
R1
233
902
3
5
Y2
CN2
Y2
AR#
o
o
not
interpreted
1 1 2 2 222
7 8 0 1 234
0 0
2 3
2 2 333
8 9 012
3
5
Y3
00---------------0 AR 00
AR#
CODING FORMAT:
REG
Y3
The SCD instruction is coded as follows:
1
8
16
SCD
ADSC!!
ADSCn
(MFl ) , (NF2)
ARG
LOCSYM, CN , N, AM
LOCSYM , CN I I AM
LOCSYM, RM I AM
8-498
DZ5l-00
(
SCD
SCD
(Refer to Section 7 under Mu1tiword Instructions for
description of Mu1tiword Modification Field.)
I
II
11
~ ..
I
OPERATI NG MODES:
Any
EXPLANATION:
When N1 = 0 or 1, starting at location YC1, L1-1 concatenated
pairs of type TAl characters are compared with the two
assumed type TAl characters that are either stored in
location YC2 and YC2 + 1 or contained in bits 0-7, bits 0-11,
or; when the REG field of MF2 specifies DU modification, bits
0-17 of the address field of operand descriptor 2.
The compare continues until an identical match is found or
until the Ll-1 tally is exhausted. A count of compares is
kept and for each unsuccessful match the count is incremented
by 1. When a match is found or the tally is exhausted, the
compare count is stored in bits 12-35 of Y3 and bits 0-11 of
Y3 are zeroed.
(
I
I LLEGAL ADDRESS
MODIFICATIONS:
DU, OL for MF1 or the Y3 REG field; OL for MF2
ILLEGAL REPEATS:
RPT, RPO, RPL
I NDI CATORS:
Tally
NOTES:
1. The RL bit in the MF2 field is not used.
-
If the tally (L1-1) is exhausted without a
successful match, then ON; otherwise, OFF
2. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-499
OZ51-00
SeD
SCD
EXAMPLES:
1
8
seD
FLD1
FLD2
FLD3
1
16
32
ADSC6
ADSC6
ZERO
TTF
USE
BCI
BCI
BSS
USE
FLD1, ,6
FLD2,3
FLD3
8
16
HAVEl
CONST.
1,123456
1,654321
1
32
seD
ADSC6
ADSC6
DATA, ,24
COMPmm2
ARG
COUNT
*
*
DATA
BCI
BCI
COUNT BSS
COMP BCI
with no options
scanned string operand descriptor
character pair operand descriptor
FLD3 operand descriptor pointer
match found - tally runout OFF
characters compared
123456
32
unmatched count - 5
Result - no match found
with no options
24 characters fetched from lower DATA
in units of 2 chars. and compared with
HH.
when HH found in DATA, count stored as
binary number before HH detection and
instruction terminated.
.
2, AABBCCDDEEFF
2, GGHHIIJJKKLL
COUNT countains decimal 14
1
1,HH
8-500
DZ51-00
SCD
SCD
EXAMPLE WI TH ADDRESS MODI FI CATION:
1
16
EAX5
EAX7
EAX4
5
load 5 into X5
7
load 7 into X7
FLDl
load FLDl address into X4
0,4,4
put FLDl address into AR4
(l,l"S),(",DU) - with address modification
0,0,X7,4
FLOl operand pointer (FLD1+l,l,7)
AlB/45
FLD2 operand
FLD3
pointer to count FL03
*+2
no match found
match found
CONST.
characters compared
000001234567
l2Al234567
unmatched count - 3
o
Result - match found on 4th pair
AWOX
seD
ADSC9
FLD2
VFD
ARG
TTN
NULL
USE
FLDl
FLD3
32
B
EDEC
DEC
USE
(
8-501
DZ51-00
SCDR
SCDR
SCDR
Scan Characters Double in Reverse
FORMAT:
same as Scan Characters Double
CODING FORMAT:
The SCDR instruction is coded as follows:
1
8
16
SCDR
ADSCn
ADSen
(NFl), (NF2)
ARG
(SCI»
format
LOCSYM,CN,N,AM
LOCSYM, CN , ,AM
LOCSYM, RM, AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
EXPLANATION:
same as for SCD except that start is at location YCl +
(L1-1) and pairs are scanned in reverse to location YC1.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1 or the Y3 REG field; DL for MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS :
Tally
NOTES:
1. The RL bit in the MF2 field is not used.
2.
-
./
If the tally (L1-l) is exhausted without a
successful match, then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
"\
8-502
DZ51-00
SCDR
SCDR
(
EXAMPLES:
1
8
16
32
SCDR
ADSC9
,(",DU)
FLDl,0,8
U18/AB
FLD3
HAVEl
CONST.
2,ABCDE
1
DU modification of FLD2 operand descriptor
scanned string operand descriptor
FLD2 character pair - A B
pointer count word
match found - tally runout OFF
characters compared
A,B,C,D,E,l!\,l!\,l!\
unmatched count - 6
Result - match found on 7th pair
VFD
FLDI
FLD3
ARG
TTF
USE
UASCl
BSS
USE
EXAMPLE WI TH ADDRESS MODI FI CATION:
1
8
16
KO
K7
EQU
EQU
EAX2
EAX3
AWDX
SCDR
ADSC4
EDEC
ARG
TTN
NULL
USE
EDEe
BSS
USE
°17
ie
FLDI
FLD3
FLD1
0,3,4
( 1 , , , 2 ) , ( , , , DU )
0,KO,K7,4
2PL23
FLD3
OOPS
CONST.
8P123456
1
32
load FLD1 address into X3
put FLDI address into AR4
- with address modification
FLDI operand descriptor (FLO 1,1,7)
FLD2 operand descriptor pointer
pointer to count word
no match - tally runout ON
match found
characters compared
0123456 VS 23
unmatched count - 3
Result - match found on 4th pair
(
8-503
DZ51-00
SCM
SCM
SCM
124
Scan with Mask
(1)
FORMAT:
o
o0 1 1
890 1
1+1
1 1
7 8
I
MF2
Code
222
789
Y1
CN1 TAl
MF1
2 3 3
9 0 2
3
5
H1
0
Y1
00--
-0
1 1 2 2 222
7 8 0 1 234
000
023
3
H
120(1)
1 1 2 2 222
7 8 o 1 234
000
023
AR#
Op
R1
233
902
3
5
Y2
CN2
AR#
Y2
1 1 2 2 222
7 8 0 1 234
000
023
Y3
AR#
CODING FORMAT:
not
interpreted
2 2 333
8 9 012
00--------------------0 AR 00
3
5
REG
Y3
The SCM instruction is coded as follows:
1
8
16
SCM
(MF1), (MF2) ,MASK
LOCSYM, CN, N, AM
LOCSYM, CN , ,AM
LOCSYM, RM, AM
ADSQ!
ADSCn
ARG
8-504
DZ51-00
SCM
SCM
(
I
II
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
'1
",
i'l
I~
I~
OPERATI NG MODES:
Any
EXPLANATION:
Starting at location YC1, the Ll type TAl characters are
masked and compared with the assumed type TAl character
contained either in location YC2 or in bits 0-8 or 0-5 of the
address field of operand descriptor 2 (when the REG field of
MF2 specifies DU modification). The mask is right-justified
in bit positions 0-8 of the instruction word. Each bit
position of the mask that is a 1 prevents that bit position
in the two characters from· entering into the compare.
The masked compare operation continues until either a match
is found or the tally (Ll) is exhausted. For each
unsuccessful match, a count is incremented by 1. When a
match is found or when the Ll tally runs out, this count is
stored right-justified in bits 12-35 of location Y3 and bits
0-11 of Y3 are zeroed. The contents of location YC2 and the
source string remain unchanged. The RL bit of the MF2 field
is not used.
(
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl or Y3 REG field; DL for MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATeRS:
Tally
NOTES:
1. If Ll = 0, zero is stored in Y3 (bits 12-35) and the tally
indicator is affected.
-
If the tally (Ll) is exhausted without a
successful match, then ON; otherwise, OFF
2. If Ll ~ 0 and a match is found in the first character,
zero is stored in Y3 (bits 12-35) and the tally indicator
is set to OFF.
3.
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
An
(
8-505
DZ51-00
i
1
SCM
SC~
(-\
~
EXAMPLES:
1
8
16
32
SCM
ADS:9
ADSC9
ARG
TTF
,,76O
FLD1,0,4
FLD2,3
FLD3
GOT .IT
mask to eliminate zone bits
character string operand descriptor
compare character operand descriptor
pointer to unmatched count word
match found
no match - tal1yrunout ON
octal representation of scanned characters
141 142 143 144 (before masking)
001 002 003 004
(after masking)
octal representation of compare character
064 (before masking)
004 {after masking}
unmatched compare count - 3
Result - match found on 4th character
NULL
FLD1
USE
ASCII
CONST.
l,ABCD
FLD2
FLD3
ASCII
BSS
USE
1,0004
1
SCM
ADSC4
EDEC
ARG
TTF
, ( , , , DU)
FLD1,3,5
8PL-l
FLD3
GOT .IT
NULL
FLD1
FLD3
EXAMPLE
~~TH
1
USE
EDEC
BSS
USE
CONST.
8P-1234
1
DU type REG modifier on FLD2
character string operand descriptor
FLD2's compare character pointer to unmatched count word
match found
no match - tally runout ON
character scanned
0,1,2,3,4
unmatched compare count - 5
Result - no match found
ADDRESS MODIFICATION:
32
8
16
EAXl
EAX2
1
load FLD2 character modifier into Xl
2
load FLDl character modifier into X2
FLDl
load FLDl address into X4
0,4,4
put FLD1 address into AR4
(1,1,1,2), (1, ,1,1) ,010 with all options
INOSC1
pointer to FLDl indirect descriptor
INDSC2
pointer to FLD2 indirect descriptor
FLD3
pointer to unmatched count word
oy
no match - tally runout ON
CONST.
character compared
8PL4321
2 1
4P0987
1
1
unmatched compare count - 1
0"X2,4
FLDl operand descriptor (FLD1,2,2)
FLD2,0
FLD2 operand descriptor (FLD2,l)
Result - match found on 2nd character
EAX4
AWDX
SCM
ARG
ARG
ARG
TTN
USE
FLD1 EDEC
FLD2 EDEC
FLD3 BSS
I NOSCl ADSC4
I NOSC2 ADSC9'
USE
8-506
DZ5l-00
/
(
SCMR
SCMR
SCMR
Scan with Mask in Reverse
FORMAT:
same as Scan with Mask (saO format
CODI NG FORMAT:
The SCMR instruction is coded as follows:
1
SCMR
ADSCn.
ADSCn.
ARG
125 (1)
16
8
(MFl),(MF2),MASK
LOCSYM,CN,N,AM
LOCSYM, CN , , AM
LOCSYM, RM, AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
EXPLANATION:
same as SCM except starts at location YCl + (Ll-l) and
progresses toward location YC1.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MFl or the Y3 REG; DL for MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Tally
NOTES:
1. If Ll = 0, zer9 is stored in Y3 (bits 12-35) and the tally
indicator is affected.
-
If the tally (Ll) is exhausted without a
successful match, then ONi otherwise, OFF
2. If Ll > 0 and a match is found in the first character,
zero is stored in Y3 (bits 12-35) and the tally indicator
is set to OFF.
3. The RL bit of the MF2 field is not used.
4. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-507
DZ5l-00
SCMR
SCMR
EXAMPLES:
1
8
16
32
SCMR
,(",DU),760
FLDl,0,6
1P4
FLD3
*+2
DU type register modification with mask
character string operand descriptor
FLD2 t s compare character - 4
pointer to unmatched count word
match found
no match - tally runout ON
characters scanned
6,5,4,3,2,1
unmatched count - 3
Result - match found on 4th character
ADSC4
EDEC
ARG
TTF
NULL
FLD1
FLD3
USE
EDEC
DEC
USE
CONST.
8PL6543210
EXAMPLE WI TH ADDRESS MODI FI CATION:
1
FLD1
FLD3
FLD2
8
16
32
EAX6
EAX2
EAX4
AWDX
SCMR
ARG
ADSC4
ARG
TTN
TRA
USE
EDEC
DEC
ADSC4
EDEC
USE
6
2
FLD1
0,4,4
(1,1,1,2),,760
FLD3+1
FLD2,0
FLD3
OUCH
load FLD1 length into X6
load character modifier into X2
load FLD1 address into X4
put FLDl address into AR4
with all options
pointer to FLD1 indirect descriptor
pointer to compare character
pointer to unmatched count word
no match - tally runout ON
match found
characters compared
2,3,4,5,6,unmatched compare count - 4
FLD1 operand descriptor(FLD 1,2,6)
FLD2 compare character 3
Result - match found on 5th compare
WHEW
CONST.
8P01234560
0, ,X6, 4
4PL3
8-508
DZ51-00
/
"
(
SCPR
SCPR
SCPR
Store Central Processor Register
452 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(CPU Reg.)
EXPLANATION:
This instruction selects CPU registers based upon the
instruction's tag field, and stores them in memory or loads
them into the A register
-->
C(Y-pair}, or
C(Y-Block 4), or
C(A), or
C(Y, Y+l, ••• Y+7)
The tags and register/operand stored are as follows:
Octal
~
(
Register/Operand
01
Fault Register
0 ..•. 0
03
Extended Fault Register
O•••• 0
06
CPU Mode Register
C(Y-Pair) Bits
0-35
36-71
0-7
8-71
Lockup Fault Register
0-35
36-53
54-61
62-69
70-71
10
Reserve Memory Base
0 ..•• 0
0-35
36-71
11
Port Configuration Register
0 ..•• 0
0-17
18-71
12
Address Trap Register
0-30
31-71
O•••• 0
cache Mode Register
O•••• 0
o..•. 0
(
8-509
DZ51-00
SCPR
SCPR
j
Octal
~
C(Y-Pair) Bits
Register/Operand
0-32
33-35
36-71
0 •••• 0
CPU Number Register
13
0 •••• 0
14
Virtual Address Trap Register
0 •••• 0
0-35
36-71
C(Y-Block) 4 Bits
History Register
20
0-35
36-58
59-71
72-79
80-107
108-143
0 •••• 0
History Register
O• ••• 0
History Register
0 •••• 0
C(Y,Y+1, ••• Y+7) Bits
Connect Table,
secondary Connect Table
07
0-143
144-287
The following tags load the contents of the cache
directory, PTWAM directory and PTWAM registers into the
A-register. The entry location is specified by the Y
address field in the instruction.
I
Tag
Ent~ Select
Column Level
15
Y3-14 Y2
cache Directory
0-35
16
Yll-16 Y17
P'l'WAM Register
0-35
17
Yll-16 Y17
PTWAM Directory
0-35
Ent~
ILLEGAL ADDRESS
MODIFICATIONS:
Tag field defines the operation.
I LLEGAL REPEATS:
RPD, RPL RPT
INDICATORS:
None affected
CCA} Bits
I
8-510
DZ51-00
,,_/
(
S~R
S~R
I"
II
NOTES:
1. A Command fault occurs if execution is attempted in Slave
or Master mode.
2. For SCPR tags 15, 16, and 17, if bit 29 is ON, C(AR) is
added to the Y field and the sum forms the entry select
value. The full virtual address development is not used.
3. The address trap register values are read from scratch
pad locations 66, 67 rather than from the register
itself.
4.
IPR fault occurs if illegal tag fields or illegal
repeats are executed.
An
(
(
8-511
DZ5l-00
I~
I
!
SDRn
SDRn
save Descriptor Register
~
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(DRn) -> Argument Stack (AS)
Argument stack bound
S~Dn
EXPLANATION:
HWMR
-->
(Refer to Explanation
item 4.)
is set to indicate the stored segment descriptor.
This instruction stores the descriptor from DRn in the next
available location of the argument stack, and adjusts the
argument stack bound and high water mark register (HWMR).
The y field of this instruction is not interpreted by the
hardware. No address bound checks are made. The argument
segment is the operand segment.
The instructions are executed as follows.
1. The following checks are performed.
a. The ASR (Argument Stack Register) flag bit 28 is
checked. If it is zero, the argument segment is not
present, a Missing Segment fault occurs, and the
instruction is terminated.
b. If the ASR bound + 8
generated.
~
8192 bytes, a BND fault is
2. If the conditions described under (1) are satisfied,
execution continues. It generates the effective byte
address indicating the next available double-word location
on the AS. The ASR flag bit 27 is then checked.
a. If the ASR flag bit 27 = 0, the argument segment is
empty. The ASR base indicates the first double-word
location.
b. If the ASR flag bit 27 = 1, ASR bound + base
executed to generate a virtual address.
+
1 is
NOTE: The descriptor is stored relative to the argmuent
stack bound. The HWMR does not influence this
storage location. (Refer to the description of the
ClJMB instruction for more information on the HWMR.)
8-512
DZSI-OO
(
SDRn
SDRn
3. After the DRn content has been stored in AS, the following
operations are executed and the instruction is completed.
If ASR bit 27 = 1, 8 is added to the ASR bound field.
It indicates that the new segment has been stored and
the segment size has increased.
If ASR bit 27 = 0, the argument segment indicates that
it was empty when the instruction was begun. The bound
field is then set to seven bytes to indicate that a
segment descriptor has been stored. The ASR flag bit
27 is set to 1 to indicate that this segment is no
longer empty.
b. SEGIDn is set to indicate the location in which the
segment descriptor is stored.
For example, if the ASR bound field is 117 (octal)
bytes (= 80 bytes = 20 words = 10 double-words) after 8
is added, S~Dn is set as follows.
S
D
2
9
.
.
Indicates the tenth segment
descriptor
Indicates the argument segment
4. The HWMR is set to indicate the maximum ASR bound
following any sequence of SDRn and PAS instructions.
I f the new ASR bound > C( HWMR), then the new ASR
bound --> C(HWMR).
I LLEGAL ADDRESS
MODIFICATIONS
DU, DL, RI, IR, IT
8-513
j
1,
a. The ASR flag bit 27 is checked.
(
\•
DZ51-00
SDRn
SDRn
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. A Missing Working Space, Missing Segment, or Missing Page
fault may occur.
2. If a save is attempted to a nonhousekeeping page, a
security Fault, Class 1 occurs.
3.
BND fault occurs if the ASR bound + 1 byte
(before the ASR is updated).
An
4. A Security Fault, Class
violation is attempted,
have write permission.
required to have either
5.
~
8192 bytes
2 fault occurs if a working space
or if the specified page does not
The descriptor itself is not
write or store permission.
An Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used.
8-514
DZ5l-00
SIW
SIW
SIW
t
451
Set Interrupt Word Pair
forma~
(0)
FORMAT:
Single-word instruction
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(AQ)
EXPLANATION:
A double-word write occurs to the designated control SCU.
The SCU stores the double word in the level interrupt queue
and informs all of the receiving ports. The SCU looks at
bits 27-30 of the data to determine the interrupt queue
level. The eight queues are circular, first-in/first-out,
with queue lengths of 256 word pairs per port. If the queue
level number exceeds 256, a bit is set in the SCU fault
register.
-->
(see Figure 8-1)
C(Interrupt Queue)0-7l
ILLEGAL ADDRESS
MODI FI CATI ONS :
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None affected
NOTES:
1. Prior to executing this instruction, the SCU must be
"selected" by using the LCPR instruction to set or reset
bit 22 in the CPU mode register.
2. An IPR fault occurs if illegal address modification or an
illegal repeat is used.
3. An IPR fault occurs if execution is attempted in Slave or
Master mode.
(
8-515
DZ5l-00
SMID
SMID
smD
Set Memory 1D Register
272 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'l'ING MODES:
Privileged Master mode
SUMMARY:
C(AQ)
EXPLANATION:
This instruction sets the memory 1D registers. The physical
memory unit that is selected by the address is dependent upon
the SCU' s physical 1D or logical 1D based on the setting of
the SCU configuration register.
->
C(Memory 1D Register)
ILLPX;AL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None Affected
NOTES:
1.
scu
2.
An
3.
An IPR fault occurs if execution is attempted in Slave or
Master mode.
selection is based upon the control SCU bit in the CPU
mode register.
IPR fault occurs if illegal address modification or an
illegal repeat is executed.
8-516
DZ51-00
(
SMR
SMR
SMR
Set Memory Register
271 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(AQ) inverted --> C(Memory Status Register)
EXPLANATION:
This instruction provides a means of setting the memory
status registers. SCU selection is based upon the control
SCU bit in the CPU mode register.
Address development is followed and transferred to the SCU to
select the memory unit. The physical memory unit that is
selected by the address is dependent upon the SCU's physical
ID or logical ID based on the setting of the SCU
configuration register.
LLEGAL ADDRESS
MODI Fl CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPD, RPL, RPT
I NDI CATORS :
None affected
NOTES:
1. An IPR fault occurs if illegal address modification or an
I
(
illegal repeat.is used.
2.
IPR fault occurs if execution is attempted in Slave or
Master mode.
An
3. The contents of the AQ register are inverted (one's
complement).
8-517
DZ5l-00
SPCF
SPCF
SPCF
set Pointer Compare Flags Off
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
1 -->
SD
251 (l)
I
Compare F1agn
where n = 0, 1, ••• 7
EXPLANATION:
This instruction provides a means to turn segment descriptor
(SD) compare flags OFF, and to inhibit the compare.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT,
INDICATORS:
None
NOTE:
Disabled by GODS
RPD, RPL
8-518
DZS1-OO
SPDBR
SPDBR
~
I
SPDBR
Store Page Table Directory Base Register
lSl
(1)
I
I
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(PDBR)
00 ••• 0
-->
C(Y)0-18 (Mod S12)
--> C{Y)19-3S
C(PDBR) unchanged
EXPLANATION:
The PDBR content is stored in bit 0-18 of location Y. Zero
is stored in C(Y)19-3S. The PDBR content remains unchanged.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
2. A Command fault occurs if execution of this instruction is
attempted in Slave or Master Mode.
(
8-Sl9
DZSl-OO
SPL
SPL
FORMAT:
CODI NG FORMAT:
SPL
Store Pointers and Lengths
447 (1)
Single-word instruction format (see Figure 8-1)
1
8
16
SPL
LOCSYM,R,AR
OPERATI NG MODES:
Any
SUMMARY:
C(Pointer and Length storage) --> C(Y), C(Y+1), ••• C(Y+S)
C(LOR} --> C(Y+6), C(Y+7)
EXPLANATION:
The pointers and lengths storage are used by hardware to
store control information when an interruptible mu1tiword
instruction is interrupted during execution. These registers
enable hardware to resume processing an interrupted
instruction after a return from servicing the interrupt.
Y must be a multiple of 8. However, a fault does not occur
when the lower 3 bits of Yare not 000. For purposes of
execution, the hardware forces these bits to 000 (modulo 8).
/
The format of the eight words is the same as words 48 through
55 of the safe Store Stack format (see Figures 8-7 and 8-8
under CLIMB). The contents of the first four words depend
upon whether the multiword instruction is alphanumeric or bit
string.
For an SPL execution, the eight words are stored into scratch
pad memory and the first flag is set or reset.
The format of the first four words follows.
,
" ' - __ J
8-520
DZ5l-00
,
(
SPL
SPL
II
35
012
I~J ~
10------
-
- --- -
_.. --
-
-0
Ll (Riqht-;ustified zero f HIed on left)
L2 (Riqht-justified zero f HIed on left)
Not Used
where
First Flag
F
If = 1, indicates the start of a
multiword instruction execution
for which the data from the
instruction operands is used.
If = 0, if bit 30 in the indicator
register is = 1, and, if the next
instruction is an EIS instruction,
the P&L data stored in scratch pad
memory is used. (Refer to
Indicator Register, Section 4.)
(
L
Length
Indicator
If = 0, only the length in
Ll is valid
.
If = 1, only the length in L2 is
valid
The firmware uses this bit to
determine whether Ll or L2
contains the valid length.
The length of Ll and 12 varies
depending upon whether NS or ES
mode are being used. For NS mode
alphanumeric, the length is 21
bits for 4- and 6-bit characters
and 20 bits for 9-bit characters.
For ES mode the maximum length is
36 bits.
8-521
t
II11
Alphnumeric Instructions
F
i
DZ51-00
SPL
SPL
Sign
Negative
SN
This indicator is used only if
the interrupted instruction is an
MLR in which a 6- or4-bit move is
being done. (Refer to Explanation
under description of MRL for use
of overpunch sign on 6-4 moves.)
Bit String Instructions
o
Temporary
Effective Address
Temporary
Effective Address
Ll
17 18
(Ri~ht-iustified
35
111111111111111111111111
111111111111111111111111
111111111111111111111111
111111111111111111111111
zero-filled on left)
L2 (Richt-iustified zero-filled on left)
The fi~st effective address relates to Ll: the
second effective address relates to L2.
The length of Ll and L2 varies, depending upon
whether NS or ES mode are being used. For NS mode,
the length is 24 bits for bit strings. For ES mode
the maximum length is 36 bits.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, Rl, IR, IT
ILLEGAL REPEATS:
RPT, RPD, RPL
ILLEGAL
EXECUTIONS:
XEC, XED
INDICATORS:
Multiword Instruction Interrupt indicator (bit 3D), reset to
OFF
8-522
DZ51-00
/
(
SPL
SPL
NOTES:
1.
An Illegal Procedure fault occurs if illegal address
modifications, illegal repeats, or illegal executions are
used.
2. The content of the pointer and length storage is changed
if RPT, RPD, RPL, XEC, or XED or indirect modification
(I T) are executed.
3. The SPL instruction is normally only used by routines that
process interrupts.
4. After an interrupt, the SPL must be executed before any
multiword instruction to avoid destruction of the pointer
and length information.
(
8-523
DZ51-00
SREG
SREG
SREG
Store Registers
753 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
NS Mode
The registers are stored as follows:
C(XO)
C(Xl)
C(X2)
C(X3)
C(X4)
C(XS)
C(X6)
C(X7)
C(A)
C(Q)
C(E)
C(TR)
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
-->
C(Y)0-l7
C(Y)lS-35
C(Y+l)0-l7
C(Y+l)l8-35
C(Y+2}0-17
C(Y+2)l8-35
C(Y+3)0-17
C(Y+3)l8-35
C(Y+4)0-35
C(Y+5)0-35
C(Y+6)0-7i 0 ••• 0 --> C(Y+6)S-35
C(Y+7)0-26i 0 ••• 0 --> C(Y+7)27-35
/
ES Mode
The registers are stored as follows:
C(GXO)
C(GX1)
C(GX2)
C(GX3)
C(GX4)
C(GX5)
C(GX6)
C(GX7)
C(A)
C(Q)
C(E)
C(TR)
-> C(Y)
C(Y+l)
C(Y+2)
C(Y+3)
C(Y+4)
C(Y+5)
C(Y+6)
C(Y+7)
C(Y+8)
C(Y+9)
-> C(Y+10)0-7i 0 ••• 0 --> C(Y+IO)8-35
--> C(Y+ll): 0 ••• 0 --> C(Y+ll)27-35
-->
-->
-->
-->
-->
-->
-->
->
-->
In both NS and ES modes the register content remains
unchanged.
8-524
DZ51-00
SREG
SREG
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. Location Y must be forced to a multiple of 8 by entering
an 8 in column 7 of the statement that defines Y, or by
means of the EIGHT pseudo-operation.
2.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(-
8-525
DZ51-00
SSA
SSA
55A
Subtract Stored from A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C{A) - C(Y) -> C(Y); C(A) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPL
I
NDI CATORS:
NOTE:
155 (C)
= 0, then ON; otherwise, OFF
C(Y)O = 1, then ON: otherwise, OFF
Zero
-
If C(Y)
Negative
-
If
Overflow
-
I f range of C(Y) is exceeded, then ON
carry
-
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-526
DZ5l-00
(
SSCR
Set System Controller Register
057 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(AQ}
EXPLANATION:
This instruction provides program access to all system
controller registers. SCU selection is based upon the control
SCU bit in the CPU mode register. Address development is
followed, and is transferred to the SCU to select the general
register.
-->
C(SCU Register)
In VMS Privileged Master mode, if both SCU ports are enabled
and the least-significant bit of the effective address (word
address) is 1, the control SCU bit is temporarily changed to
permit selection of the non-control SCU. (Reference Section 4
for CPU configuration register and ASR control.) The control
SCU bit is then reset to its original value.
(
(
SSCR
SSCR
Real Memory:
0 ••• 21
Bits
22-24
25-27
Function
X ••• X
0
X
Not used
X ••• x
1
X
Configuration
x••• x
2
X
Not used
x ••• x
3
X
Not used
x ••• X
4
X
calendar Clock
X ••• x
5
X
Not used
x ••• x
6
X
Not used
x•.• X
7
X
Not used
I LLEGAL ADDRESS
MODI Fl CATIONS:
DU, DL, CI, SC,
I LLEGAL REPEATS:
RPD, RPL, RPT
INDICATORS:
None affected
SCR
8-527
DZ51-00
SSCR
SSCR
NOTES:
l.
A Command fault occurs if address bits 22-24 are 0, 2, 3,
5, 6, or 7 (octal).
2. A Command fault occurs if execution is attempted in Slave
or Master mode.
3. The SCU registers are defined in Section 4.
4. Bits 25-27 of the configuration register are the SCU port
number. These bits must hazero in an SSCR instruction,
in order that a subsequent RSCR instruction returns the
port number: otherwise bits 25-27 are OR'ed with the port
number returned.
5.
IPR fault occurs if illegal address modification or
illegal repeats are executed.
An
/"
8-528
DZ51-00
(
SSQ
SSQ
SSQ
Subtract Stored from Q-Register
FORMAT:
OPERATI NG MODES:
Single-word instruction format (see Figure 8-1)
Any
SUMMARY:
C(Q) - c(y) --> C(y): C unchanged
I LLEGAL ADDRESS
a, SC,
156 (0)
I
"I'
I
DU, DL,
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
-
If C(Y)
Negative
-
If
Overflow
-
If range of C(Y) is exceeded, then ON
carry
-
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
SCR.
= 0, then ON: otherwise, OFF
C(Y)o = 1, then ON: otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-529
I
i
MODIFICATIONS:
NOTE:
:.
DZ51-00
ssXn
SSXn
Subtract Stored from I ndex Register n
FORMAT:
Single-word instruction format (see Figure B-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
For n
= 0,1, ••• ,7
l4n (0)
as determined by op code
C{Xn) - C(Y)0-17 --> C(Y)0-17; C(Xn) unchanged
ES Mode
For n
= 0,1, ••• ,7
as determined by op code
C(GXn) - C(Y} -> C(Y); C(GXn) unchanged
LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
ILLEGAL REPEATS:
RPT, RPD, or RPL of SSXO
I
I
NDI CATORS:
0,
SC, sea
NS Mode
Zero
-
If C(y)0-17 = 0, then ON; otherwise, OFF
Negative
-
If C(Y)O
Overflow
-
If range of C(Y) is exceeded, then ON
carry
-
If a carry out of bit 0 of C(Y) is generated,
then ON; otherwise, OFF
Zero
-
If C(Y)
Negative
-
If C(Y}O = 1, then ON: otherwise, OFF
Overflow
-
If range of C(Y) is exceeded, then ON
carry
-
If a carry out of bit 0 of C(Y) is generated,
then ON: otherwise, OFF
= 1,
then ON; otherwise, OFF
ES Mode
NOTE:
= 0,
then ON; otherwise, OFF
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-530
DZ5l-00
(
STA
STA
STA
Store A-Register
755 (0)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(A) -> C(Y): C(A) unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL
ILLEGAL REPEATS:
RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-531
DZ51-00
STAC
STAC
STAC
Store A Conditional
354 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
If C(Y) = 0, C(A)
EXPLANATION:
This instruction issues a read-lock, write-unlock sequence to
memory. cache is bypassed; if a cache hit occurs and the
conditional test is satisfied, the cache block is updated.
-->
C(Y)
If write does not occur, the next command to memory from the
same processor port performs unlock.
.
Execution of STAC is delayed until all outstanding stores to
memory from the processor have been completed.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
-
If initial C(Y)
8-532
= 0,
then ON; otherwise, OFF
DZ51-00
(
STACQ
STACQ
STACQ
Store A Conditional on Q
654 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
If C(Y} = C(Q), C(A) --> C(Y)
If C(Y) # C(Q), C(Y) is unchanged
EXPLANATION:
This instruction issues a read-lock, write-unlock sequence.
cache is bypassed; if a cache hit occurs and the conditional
test is satisfied, the cache block is updated.
If write does not occur, the next command to memory from the
same processor port.performs unlock.
Execution of STACQ is delayed until all outstanding stores to
memory from the processor have been completed.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, SC, SCR
ILLEGAL REPEATS:
RPL
INDICATORS:
Zero
NOTE:
An
-
If initial C(Y)
OFF
= C(Q),
then ON; otherwise,
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-533
DZ5l-00
STAQ
STAQ
STAQ
757 (0)
Store AQ-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(AQ) --> C(Y-pair); C(AQ) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
a,
SC, SCR
8-534
DZSI-00
STAS
STAS
Store Argument Stack Register
STAS
750 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(ASR) -> C(Y-pair): C(ASR) unchanged
EXPLANATION:
The execution of this instruction causes the current contents
of the argument stack register (ASR) to be stored in even and
odd memory locations Y and Y+l. The contents of the ASR
remain unchanged.
I LLEX7AL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEX7AL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLE:
1
8
16
STAS
SDR
STP
SDR
STP
SVASR
PO
PO,SVPO
PI
Pl,SVPl
LOP
LOP
PAS
PO,SVPO
Pl,SVPl
SVASR
.
8-535
DZ5l-00
STBA
STBA
Store 9-bit Bytes of A-Register
STBA
551 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
9-bit bytes of C(A) -> corresponding characters of C(Y); the
byte positions affected are specified in the tag field; C(A)
is unchanged.
EXPLANATION:
Binary ones in the tag field specify the byte positions of A
and Y affected as indicated in the diagram below. The tag
field is entered as one 2-digit octal number. Bit positions
34 and 35 are ignored.
Tag
Field
-\
9-Bit Byte
positions' of
A and Y
I LLEGAL ADDRESS
o
o0
1 1
2 2
3
6 7
8 9
7 8
5
0
Character Character Character Character
2
1
0
3
MODIFICATIONS:
The tag field cannot be used for address modification.
modification is permitted.
I LLEGAL REPEATS:
RPT RPD RPL
INDICATORS:
None affected
NOTE:
An
EXAMPLE:
The instruction
I
AR
I
Illegal Procedure fault occurs if an illegal repeat is
used.
STBA
LOC,04
moves byte 3 of C(A) to the corresponding byte position of
C(LOC) <04 octal = 000100 binary). All other byte positions
of C(LOC) are unaffected.
8-536
DZ51-00
(
STBQ
STBQ
Store 9-bit Bytes of Q-Register
STBQ
552 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
9-bit bytes of C(Q> --> corresponding bytes of C(Y); the byte
positions affected are specified in the tag field; C(Q) is
unchanged
EXPLANATION:
Binary ones in the tag field specify the byte positions of Q
and Y affected as indicated in the diagram below. The tag
field is entered as one 2-digit octal number. Bit positions
34 and 35 are ignored.
Tag
Field
(
6-Bit Char.
positions of
A and Y
I LLEGAL ADDRESS
MODIFICATIONS:
1 1
aa
2 2
3
7 8
6 7
8 9
5
Character Character Character Character
1
2
a
3
a
a
The TAG field cannot be used for address modification.
modification is permitted.
AR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if an illegal repeat is
used.
EXAMPLE:
The instruction STBQ LOC,04 moves byte 3 of C{Q) to the
corresponding byte position of C(LOC) (04 octal = 000100
binary). All other byte positions of C(LOC) are unaffected.
(
8-537
DZ51-00
STCI
STCI
STCl
Store Instruction Counter Plus 1
554 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATl NG MODES:
Any
SUMMARY:
C(IC) + 1 --> C(Y); C(IR) --> C(Y)18-32; 000 --> C(Y)33-35;
C(IC), C(IR) unchanged
EXPLANATION:
The relation between bit positions of C(Y) and the indicators
is as follows:
Bit Position
Indicator
18
19
20
zero
Negative
.21
Overflow
Exponent overflow
Exponent underflow
Overflow mask
Tally runout
Parity error
Parity mask
Master mode
Truncation
Multiword instruction interrupt
Exponent underflow mask
Hexadecimal exponent mode
000
22
23
24
25
26
27
28
29
30
31
32
33-35
carry
The ON state corresponds to a 1 bit; the OFF state
corresponds to a 0 bit. Bit 25 of C(Y) will contain the
state of the Tally Runout indicator prior to address
modification of the STCI instruction (for tally operations).
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-538
DZ5l-00
(
STC2
STC2
STC2
Store Instruction Counter Plus 2
750 (0)
FORMAT:
single-word instruction format _(see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C{IC)
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDICA'l'ORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
+
2 --> C(Y)0-17i C(Y)18-35, C(IC) unchanged
a, SC,
SCR
(
8-539
DZ5l-00
STCA
STCA
STCA
Store 6-bit Characters of A-Register
751 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
6-bit characters of C(A) --> corresponding characters of C(Y);
the character positions affected are specified in the tag
field; C{A) is unchanged
EXPLANATION:
Binary (l) bits in the tag field specify the affected A and Y .
character locations as follows. The TAG field is entered as
one 2-digit octal number. (See Example below.)
Tag
Field
o
o0
1 1
2 2
2 3
3
1 2
5 6
3 4
9 0
6-Bit Char.
0
5
Positions of Character Character Character Character Character Character
1
2
0
3
4
A and Y
5
The CPU reads one word from memory, embeds a character
specified in the CPU into the word, and writes this word back
in memory. Therefore, while the CPU reads a word and writes
it, the word's content can be lost if another CPU writes the
same word. To prevent multiprocessor contention, gating is
necessary.
j'
8-540
DZ51-00
(
STCA
STCA
I LLEGAL ADDRESS
MODIFICATIONS:
No modification except AR allowed.
I LLEGAI J REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. The tag field cannot be used for address modification.
AR
modification is permitted.
2.
EXAMPLE:
An Illegal Procedure fault occurs if illegal repeats are
used.
The instruction STCA LOC,07 moves characters 3, 4, and 5 of
C(A) to corresponding character positions of C(LOC) (07 octal
= 000111 binary). Character positions 0, 1, and 2 of C(LOC)
are unaffected.
8-541
DZ51-00
STCQ
STCQ
STCQ
Store 6-bit Characters of Q-Register
752 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
6-bit characters of C(Q> -> corresponding characters of
C(Y): the character positions affected are specified in the
tag field.
EXPLANATION:
Binary (1) bits in the tag field specify the affected Q and Y
character locations as follows. The tag field is entered as
one 2-digit octal number. (See Example below.)
Tag
Field
1 1
1 1
o
o0
2 2
2 3
3
7 8
1 2
3 4
5 6
9 0
5
6-Bit Char.
0
positions of Character Character Character Character Character Character
1
2
3
4
0
A and Y
5
The CPU reads one word from memory, embeds a character
specified in the CPU into the word. and writes this word back
in memory. Therefore, while the CPU reads a word and writes
it, it is possible that the word's content can be lost if
another CPU writes the same word. To prevent multiprocessor
contention, gating is necessary.
8-542
DZ51-00
STCQ
STCQ
(
ILLEGAL ADDRESS
MODIFICATIONS:
No modification except AR allowed.
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. The tag field cannot be used for address modification.
AR
modification is permitted.
2. An lllegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
EXAMPLE:
The instruction STCQ LOe,07 moves characters 3, 4, and 5 of
C(Q) to corresponding character positions of C(LOe) (07 octal
= 000111 binary). Character positions 0, 1, and 2 of C(LOC)
are unaffected.
(
(.
8-543
DZ5l-00
STDn
STDn
Store Descriptor Register n
05n (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(DRn) --> C(Y),C(Y+1): C(ORn) unchanged
EXPLANATION:
This instruction stores the ORn content in an even/odd
location of the segment descriptor segment or the operand
segment.
If instruction bit 29
instruction segment.
=0
then C(DRn) --> C(Y-pair) in the
If instruction bit 29 = 1 and ORm descriptor type T = 1,3 (m
is selected by instruction bits 0,1,2) then C(DRn) -->
C(Y-pair) of descriptor segment.
NOTE: ORn store permission is required.
If instruction bit 29 = 1 and ORm descriptor type T = 0, 2,
4, 6, 12, 14 then C(DRn) --> C(Y-pair) in the operand
segment.
NOTE: ORn store permission is not required.
To summarize the differences in processing performed due to
the differing types of segment descriptors:
o If the ORn segment descriptor is stored in a segment
descriptor segment (T = 1 or 3), the page must be a
housekeeping page (PTW bit 32 must = 1). When all other
conditions (e.g., write permission) are satisfied, the
segment descriptor is stored, irrespective of the CPU
mode.
o I f an attempt is made to store in the operand segment, the
write operation for the housekeeping page is dependent
upon the CPU mode as the store flag is not examined by
hardware.
8-544
DZ51-00
STDn
ILLEGAL ADDRESS
MODIFICATIONS:
STDn
If the DRm type T = 1 or 3, only R type modification is
permitted. An IPR fault occurs if DU, DL, Rl, IR, or IT is
specified.
If the DRm type T = 0, 2, 4, 6, 12, or 14, an IPR fault
occurs when DU, DL, SC, SCR, or CI is specified.
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
An Illegal Procedure fault occurs when illegal address
modification or an illegal repeat is used.
2. If DRn does not have store permission (bit 18 for T = 8,
9, 11: bit 22 for all other types), an SCL2 fault occurs.
3. If DRm page is not housekeeping, an seLl fault occurs.
4. If DRm segment or page does not have write permission, an
SCL2 fault occurs.
(
5. If processor is in Master or Slave mode and DRm page is
housekeeping, an SCLl fault occurs.
6. If DRm segment or page does not have write permission, an
SCL2 fault occurs.
= 1 and DRm descriptor type T = 5 or
7-11, 13, 15, an IPR fault occurs.
7. If instruction bit 29
8-545
DZ5l-00
STDSA
STDSA
Store Data Stack Address Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(DSAR) -> C(Y)0-16
/
150 (1)
00 ••• 0 --> C(Y)17-35
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
IPR fault occurs if illegal address modifications or
illegal repeats are used.
An
2. A Command fault occurs if this instruction is executed in
Slave or Master mode.
EXAMPLE:
1
78
STDSO
STDSA
LOXO
16
SVREG
SVREG+2
SVREG+2
ADLXO
NWPS,DU
CMPXO
SVREG
TPNZ
NOGOOD
P.DS,DSVEe
LOD
SVREG 8BSS
DSVEC NEe
8
NWDS, (ALL)
,/
8-546
DZ51-00
--,\
(
STDSD
Store Data Stack Descriptor Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Privileged Master mode
SUMMARY:
C(DSDR) --> C(Y-pair); C(DSDR) unchanged
I LLEGAL ADDRESS
(
STDSD
STDSD
551 (1)
MODI FI CATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATeRS:
None affected
NOTES:
1. An IPR fault occurs if illegal address modifications or
illegal repeats are used.
2. A Command fault occurs if this instruction executed in
Slave or Master mode.
8-547
DZ51-00
STE
STE
STE
456 (0)
Store Exponent Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(E) -->
C(Y)0-7~
00 •••• 0 -->
C(Y)8-17~
C(Y)18-35, C(E) unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS: . RPL
I NDI CATeRS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used.
8-548
DZ5l-00
STI
STI
C(Y)18-32
754 (0)
00 ••• 0--> C(Y)33-35i
C(Y)0-171 C{IR) unchanged
EXPLANATION:
The content of the indicator register is stored in C(Y)18-32
after address modification. The value stored in C(Y)25 is
the Tally Runout status before address modification. The
relation between bit positions of C(Y) and indicators is as
follows:
Bit Location
(
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33-35
Indicator
Zero
Negative
carry
Overflow
Exponent overflow
Exponent underflow
Overflow mask
Tally runout
Parity error
Parity mask
Master mode
Truncation
Multiword instruction interrupt
Reserved for exponent underflow mask
Hexadecimal exponent mode
000
The ON state corresponds to a 1 bit; the OFF state to a 0
bit.
(
8-549
DZ51-00
STI
STI
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure .fault occurs if illegal address
modifications or illegal repeats are used.
8-550
DZ5l-00
(
STO
STO
STO
Store Option Register
152 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(DSCF) --> bit 18 of C(Y)
C(SSBF) --> bit 19 of C(Y)
00 ••• 0
EXPLANATION:
(
-->
remaining
34
bits of C(Y)
This instruction stores the two flag bits of the option
register in memory.
DSCF
Data stack clear flag
o = do not clear
1 = clear
SSBF
safe store bypass flag
o = bypass safe store dur ing I CLl MB
1 = perform safe store during ICLIMB
I LLEGAL ADDRESS
MODIFICATIONS:
DU DL, CI
I LLEGAL REPEATS:
RPT, RPD RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
I
I
SC, SCR
I
8-551
DZ51-00
STO
STO
EXAMPLES:
1
8
ORNCHE BOOL
MPOR EQU
LDO
S10
STO
LDA
ERSA
TRA
•
*SAVE VIRTUAL
STREG NULL
STWS
STWS
SPDBR
STO
SZN
16
32
4000
*CRCF bit of option register
*
.SORSV, ,P.SSA
.CRORR,PN,P.CR *set with CRCF ON
.CRORS,PN ,P.CR
ORNCHE,DL
•CRORS, PN P. CR *reset CRCF to OFF
X.RED+1
I
UNIT REGISTERS
REG+12
REG+13
REG+40
REG+41
SSFALT+. WID
safe store frame saved?
8-552
DZ51-00
STPn
STPn
Store Pointer n
45n (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
C(ARn) --> C(Y)0-23
C(SEGIDn) --> C(Y)24-35
ES Mode
C(ARn) --> C(Y)
C(SEGIDn) --> C(Y+l)O-ll
'00 ••• 0
(
EXPLANATION:
-->
C(Y+l)12-35
These instructions store the address register (ARn) and the
associated segment identity register, (SEGIDn), in memory.
The contents of the registers remain unchanged.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
ILLEGAL REPEATS:
RPT, RPD,
INDICATORS:
None affected
NOTE:
An
RPL
Illegal Procedure fault occurs if illegal address
modification or an illegal repeat is used.
8-553
DZ5l-00
STPn
STPn
EXAMPLE:
1
8
16
32
NEPR
EPPR
PO,FANY
error handler
STP
10P
10P
100
100
10A
PO,.SVFLT"P.SSA
PO,.PS,OL
Pl,.SSR,OL
PO,O"PO
Pl,.WLSR"Pl
0, ,PO
=020160,OL
FANY
store pointer 0
old argument segment
safe store
get argument 0
get original linkage segment
get EPPA pointer
test null descriptor
CNAA
TZE
/
8-554
OZ51-00
STPDW
STPDW
STPDW
Store PTWAM Directory Word
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
C(PTWAM DirectorY)n -> C(Y)00-29
00 ••• 0
-> C(Y)30-35
where: n
EXPLANATION:
(
= Yll-17
155 (1)
Yll-16 specifies row
Y17 specifies column of
associative memory
The contents of the PTWAM directory word n are stored in
memory location Y bits 00-29; zeros are stored in bits 30-35.
Bits 00-26 represent the combination of working space number
and virtual address that is stored in the directory word for
future association. Bits 28 and 29 specify the round robin
counter for the row in which this directory word is stored in
the AM. Bit 27 = 1 specifies that the row in which this
directory word is stored is full.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
l. The PTWAM is 64 rows by 2 columns.
Bits 25-30 of the
virtual address select a row. Thus, the two entries in
each row have the same six least-significant bits.
2. This instruction functions whether the PTWAM is ON or OFF.
(Refer to the CAMP instruction.>
3. The STPDW instruction inhibits the CPU from carrying out
the execute interrupt procedure when the STPDW instruction
is executed from an odd memory location, even though the
interrupt condition is present and waiting for execution.
4. An IPR fault occurs if illegal address modifications or
illegal repeats are used.
5. A Command fault occurs if this instruction is executed in
Slave or Master mode.
8-555
DZ5l-00
STPS
STPS
Store Parameter Segment Register
STPS
751 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(PSR) -> C(Y, Y+l}
EXPLANATION:
This instruction stores the current contents of the parameter
segment register (PSR) in even and odd memory locations Y and
Y+l. The contents of the PSR remain unchanged.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An
IPR fault occurs if illegal address modifications or
illegal repeats are used.
(PMME processing>
EXAMPLE:
1
"
8
16
32
STPS
LOA
.STEMP, ,P.SSA
•STEMP "P •SSA
STASH PSR
CANA
.FBT27,DL
ANY
TZE
LOP
NOPARM
Pl, .PS
o,DL+YES,
PARAMETERS?
NO,XFER
8-556
GET FIRST
DZ5l-00
I
/
STPTW
STPTW
Store PTWAM Register
157 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
C(PTWAM)n --> C(Y)00-35
where: n
EXPLANATION:
= Yll-17
Yll-16 specifies row
Y17 specifies column of
associative memory
The contents of the PTWAM word n are stored in memory location
Y. The absolute memory address (mod 1024) of the referenced
page is stored in bits 4-17. Bits 0-3 and 18-29 are stored as
zeros. Bits 30-35 are the hardware control field bits in the
PTW (bits 30 and 35 are stored as ones).
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS :
None affected
NOTES:
1. The PTWAM is 64 rows by 2 columns. Bits 25-30 of the
virtual address select a row. Thus, the two entries in
each row have the same six least-significant bits.
2. This instruction functions whether the PTWAM is ON or OFF.
(Refer to the CAMP instruction.)
3. The STPTW instruction inhibits the CPU from carrying out
the execute interrupt procedure when the STPTW instruction
is executed from an odd memory location, even though the
interrupt condition is present and waiting for execution.
4. An IPR fault occurs if illegal address modifications or
illegal repeats are used.
5. A Command fault occurs if this instruction is executed in
Slave or Master mode.
(
8-557
DZ51-00
STQ
STQ
STQ
Store Q-Register
756 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(Q> -> C(Y): C unchanged
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL
ILLEGAL REPEATS:
RPL
I NDI CATeRS:
None affected
NOTE:
An IPR fault occurs if illegal address modifications or an
illegal repeats are used.
8-558
DZ5l-00
(
STSS
STSS
STSS
Store safe Store Register
FORMAT:
Single-word instruction format (see Figure B-1)
OPERATING MODES:
Privileged Master mode
SUMMARY:
C(SSR)O-35 --> C(Y)O-35
753 (1)
C(SSR)36-69 --> C(Y+l)0-33
The following value is stored in C{Y+l)34,35 in accordance
with the SCR value.
If C(SCR)
= 00101/11
11 --> C(Y+l)34,35
If C(SCR)
(
(64-word frame)
= 10
10 --> C(Y+l)34,35
ILLEGAL ADDRESS
MODIFICATIONS:
DU , DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT RPD, RPL
INDICATORS:
None affected
NOTES:
1.
(80-word frame)
I
An Illegal Procedure fault occurs when illegal address
modification or an illegal repeat is used.
2. A Command fault occurs if the processor is in Slave or
Master mode and this instruction is executed.
8-559
DZ51-00
STSS
STSS
EXAMPLES:
1
8
SOVTE NULL
LOP
LOP
STSS
LOA
ADA
ORA
STA
SBA
EAX2
LDQ
QRL
ADO
CMPQ
EAX2
SBA
ALS
STA
LOP
LOP
LOP
LXLO
LDAQ
STAQ
STSS
LOA
ANA
ORA
STA.
LDD
16
32
PO,SD.PSH,DL
PO,.CTYP,DL
.SSSR"P.SSA
.SSSR+1"P.SSA
1K*4,DL
-07777,DL
.SVFLT+1"P.SSA
192*4,DL
1,3
PH.SS, ,PO
16
PH.SS+1"PO
.SVFLT+1, ,P.SSA
copy push segment descriptor to PO
change push descriptor type
store SSR
SSR base
+ 1K words
adjust page bound
save it
.SSSR+1"P.SSA
16
.SVFLT+1"P.SSA
P1,SD.DGS,DL
PO,SD.DGS,DL
PO,.CTYP,DL
POINT,7
O,O,PO
.SSSR, ,P.SSA
O,O,PO
O,O,PO
=0177777,DL
.SVFLT+1"P.SSA
O,O,PO
P2,0,O,P1
get new bound
a
original SSR bound + base
get max virtual address for safe store
store new bound
load DGS segment descriptor
change type GDS descriptor
store current contents
store SSR to generate page load segment
set new bound
load new safe store descriptor
8-560
DZ51-00
STT
STT
STT
Store Timer Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(TR)
454 (0)
-> C(Y)0-26
00 ••• 0 --> C(Y}27-35
(
ILLEGAL ADDRESS
MODIFICATIONS:
DU , DL, CI
ILLEGAL REPEATS:
RPT I RPD I RPL
I NDI CATeRS:
None affected
NOTES:
1. Bit 26 has a significance of 1/512 millisecond.
I
SC, SCR
2. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-561
DZ51-00
STTA
STTA
STTA
Store Test Address Registers
553 (I)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
C{Test Register 0,1)
EXPLANATION:
Contents of test registers 0 and 1 are stored in even/odd
memory locations Y and Y+l. Contents of test registers
remain unchanged.
-->
C(Y-pair)
This instruction inhibits the processor from carrying out the
execute interrupt procedure when the STTA is executed from an
odd memory location, even though the interrupt condition is
present and waiting for execution.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NOI CATORS:
None affected
NOTES:
1.
An Illegal 'Procedure Fault occurs if illegal address
modification or illegal repeats are executed.
2. A Command fault occurs if execution is attempted in Master
or Slave mode.
8-562
DZ51-00
(
STTD
STTD
S'l"l'D
Store Test Descriptor Registers
550 (1)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
C(Test Register 0,1) --> C(Y-pair)
EXPLANATION:
Contents of test registers 2 and 3 are stored in even/odd
memory locations Y and Y+l. Contents of test registers
remain unchanged.
This instruction inhibits the processor from carrying out the
execute interrupt procedure when the STTD is executed from an
odd memory location, even though the interrupt condition is
present and waiting for execution.
(.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC t SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. An Illegal Procedure Fault occurs if illegal address
modification or illegal repeats are executed.
2. A Command fault occurs if execution is attempted in Master
or Slave mode.
(
8-563
DZ51-00
STWS
STWS
STWS
Store Working Space Registers
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Privileged Master Mode
SUMMARY:
When EA17 (NS Mode) or EA33 (ES Mode) = 0
C(WSRO)
->
C(Y)O-8
C(WSR1)
->
C(Y)9-17
C(WSR2)
-->
C(Y)18-26
C(WSR3)
-->
C(Y)27-35
752 (1)
When EA17 (NS Mode) or EA33 (ES Mode)= 1
EXPLANATION:
C(WSR4)
->
C(Y)O-8
C(WSR5)
->
C(Y)9-17
C(WSR6)
-->
C(Y)18-26
C(WSR7)
-->
C(Y)27-35
The contents of WSRO to WSR3, or WSR4 to WSR7 are stored in
memory location Y, in accordance with the setting of the
EA17/EA33 value.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
8-564
DZ51-00
STWS
STWS
1. An Illegal Procedure fault occurs if illegal address
NOTES:
modification or an illegal repeat is used.
2. A Command fault occurs if the processor is in Slave or
Master mode and this instruction is executed.
EXAMPLE:
1
8
TODES NULL
STWS
STWS
16
32
WSR
WSR+l
store WSR 0-3
store WSR 4-7, store contents
EVEN
WSR
BSS
2
(
(
8-565
DZ51-00
STXn
STXn
Store Index Register B in Upper
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Any
SUMMARY:
NS Mode
For n
c
74n (0)
0,1, ••• ,7 as determined by op code
C(XB) --> C(Y)O-17
C(Y)18-35 unchanged
ES Mode
For n
I
c
0,1, ••• ,7 as determined by op code
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, Cl, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, or RPL of STXO
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-566
DZ5l-00
(
STZ
STZ
STZ
Store Zero
450 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
00 ••• 0 --> C(Y)
I LLEGAL ADDRESS
MODI PI CATIONS:
DU, DL
I LLEGAL REPEATS:
RPL
I NDI CATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-567
DZ51-00
SWCA
SWCA
SWCA
Subtract with carry from A-Register
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
If carry indicator is ON
171 (0)
C(A) - C(Y) --> C(A)
C (y) unchanged
I f carry indicator is OFF
C(A) - C(y) - 00 ••• 1 --> C{A)
CCy) unchanged
EXPLANATION:
This instruction is identical to SBA except that, when the
carry indicator is OFF at the beginning of the instruction, a
positive 1 is subtracted from the least-significant position.
This instruction is intended for use with multiword-precision
arithmetic. Thus, the summary above can be reworded as
follows:
If carry indicator is ON, then C(A) + one's complement of
C(y) + 00 ••• 1 --> C(A)
If carry indicator is OFF, then CCA) + one's complement of
C(y) -> CCA)
The positive 1 is added when ON represents the carry from the
next less-significant part of the multiword subtraction.
ILLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
8-568
DZ51-00
SWCA
SWCA
I NDI CA'l'ORS :
= 0,
Zero
-
If C(A)
then ON; otherwise, OFF
Negative
-
If C(A)O = 1, then ON: otherwise, OFF
Overflow
-
I f range of A is exceeded, then ON
carry
-
If a carry out of bit 0 of C(A) is generated,
then ON: otherwise, OFF
(.
(
8-569
DZ51-00
SWCQ
SWCQ
SWCQ
Subtract with carry from Q-Register
172 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
If carry indicator is ON
C(Q> - C(Y> --> C(Q>
C(y > unchanged
If carry indicator is OFF
C(Q) - C C
C(y > unchanged
EXPLANATION:
This instruction is identical to SBQ except that, when the
carry indicator is OFF at the beginning of the instruction, a
positive 1 is subtracted from the least-significant position.
This instruction is intended for multiword-precision
arithmetic. Thus, the summary above can be reworded as
follows:
If carry indicator is ON, then C
C(Y> + 00 ••• 1 --> C
+
one's complement of
If carry indicator is OFF, then C + one's complement of
C(Y> --> C(Q>
The positive 1 is added when ON represents the carry from the
next less-significant part of the multiword subtraction.
ILLEGAL ADDRESS
MODI FI CATl ONS:
None
I LLEGAL REPEATS:
None
8-570
DZ51-00
(
SWCQ
SWCQ
Zero
-
Negative
- If C(Q>O = 1, then ONi otherwise, OFF
Overflow
-
carry
- If a carry out of bit 0 of C is generated,
INDICATORS:
If C = 0, then ON: otherwise, OFF
If range of Q is exceeded, then ON
then ONi otherwise, OFF
(Triple-precision binary fixed-point subtraction)
EXAMPLE:
1
8
16
32
STI
LDA
ORSA
LDI
C
=lB24,DL
C
C
A+2
B+2
C+2
A+l
B+1
C+l
C
=0733777,DL
C
C
A
B
C
set overflow mask ON
LDQ
SBLQ
STQ
LDQ
SWCQ
STQ
STI
LDA
ANSA
LDI
LDQ
SWCQ
STQ
(
A
B
C
DEC
DEC
BSS
subtract low-order bits
subtract intermediate bits
set overflow and overflow mask OFF
subtract high-order bits
9,8,7
6,5,4
3
(
8-571
DZ5l-00
SWD
SWDX
SWD
SWDX
S~
SWDX
Subtract Word Displacement from Address Register
FORMAT:
CODING FORMAT:
527
(1)
Special arithmetic instruction format (see Figure 8-3)
1
16
8
{SWD}
{SWDX}
word displacement,R,AR
When the mnemonic is coded with X (AWDX), bit 29 is forced to
zero.
OPERATI NG MODES:
Any
SUMMARY:
If bit 29 = 1:
If bit 29
= 0:
C(ARn)0-17 -(y
- y
+
+
C(DR»
-->
ARnO-17
C(DR) --> ARnO-17
In either case, 00 ••• 0 --> ARn18-23
EXPLANATION:
The y field (with bit 3 extended) is added to the contents of
the register specified by the code in the DR field. Then, if
bit 29 = 0, this value replaces bits 0-17 of the AR specified
by bits 0-2 of the y field. If bit 29 = 1, this value is
subtracted from bits 0-17 of the specified AR and the result
is stored in bits 0-17 of the specified AR. In either case,
bits 18-23 of the specified AR are zeroed.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, or Ie specified in DR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTE:
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-572
DZ5l-00
/
(
SWD
SWDX
SWD
SWDX
EXAMPLE:
1
Applies to NS mode only
8
16
EAX5
SWDX
SWD
2
2,5,4
0,5,4
AR4 octal contents
AR4 octal contents
-
7 7 7 7 7 4 0 0
7 7 7 7 7 2 0 0
EAX4
SWDX
SWD
1
4,4,7
1,4,7
AR7 octal contents AR7 octal contents -
7 7 7 7 7 3 0 0
7 7 7 7 7 1 0 0
(
8-573
DZ51-00
SXLn
SXLn
Store Index Register
n in
Lower
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
44n (0)
For N=0,1, ••• ,7 as determined by op code
C(Xn) --> C(Y)18-35
C(Y)O-17 unchanged
ES Mode
For N=0,1, ••• ,7 as determined by op code
C( GXn 18-35) --> C(Y)18-35
C(Y)O-17 unchanged
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, or RPL of SXLO
INDICATORS:
None affected
NOTE:
An
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-574
DZ5l-00
(
SYNC
SYNC
SYNC
Gate Synchronize
014 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
This instruction operates as a NOP; no operation takes place.
I LLEX;AL ADDRESS
MODIFICATION:
Address modifications are performed, but have no effect on
the operation.
ILLEX;AL REPEATS:
RPD, RPL, RPT
INDICATORS:
Address modifications cause defined changes to address and
tally. The tally runout indicator may be set ON as a result.
NOTE:
An
IPR fault occurs if an illegal repeat is executed.
8-575
DZ5l-00
SZN
SZN
SZN
Set Zero and Negative Indicators from Storage
234 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATl NG MODES:
Any
EXPLANATION:
C(Y) is tested and the indicators are set in accordance with
the result
I LLEGAL ADDRESS
MODIFICATIONS:
None
I LLEGAL REPEATS:
None
I NDI CATORS:
Zero
-
If C(Z)
Negative
-
If
Negative
o
1
o
o
o
1
= 0, then ON: otherwise, OFF
C 0
Number C(Y) = 0
Number C(Y) < 0
8-576
DZ5l-00
(
SZNC
SZNC
SZNC
Set zero and Negative Indicators from Storage
and Clear
214 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
EXPLANATION:
This instruction provides test-and-set operation, required
for setting and releasing locks, or for closing and opening
gates. C(Y) is tested and the indicators are set in
accordance with the result. C(Y) is then zeroed.
This instruction is used for a gating operation in multiple
CPU systems. Execution of the next instruction is delayed
until the cache-flush request applied to all CPUs has
completed.
I LLEGAL ADDRESS
(
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
None
I NDI CATORS :
Zero
- If C(Z)
Negative
- If C(Z)O = 1, then ON; otherwise, OFF
NOTE:
0,
SC, SCR
zero
N~ative
0
1
0
0
0
1
= 0,
then ON; otherwise, OFF
Relationshi12
Number C(Y) > 0
Number C(Y) = 0
Number C{Y) < 0
An Illegal Procedure fault occurs if illegal address
modification is used.
(
8-577
DZ5l-00
SZTL
SZTL
Set Zero and Truncation Indicators with Bit
Strings Left
SZTL
064 (1)
FORMAT:
o0
o1
000
4 5
o 011
1 1
7 8
8 901
HDDDD IBOLR 1+1
MF2
Op
2
8
064(1)
1
0 o0
0 2 3
Code
1 1 1 2
7 8 9 0
AR#
3
3
2
5
0----------------0
1 1 1 2
7 8
2 2
3 4
9 0
Y2
C2
CODING FORMAT:
1
N1
B1
Y1
000
023
AR#
NFl
2 2
3 4
Y1
C1
H
3
5
3
2
3
5
N2
B2
Y2
0-------------0
1
R1
8
16
SZTL
BDSC
BDSC
(NFl), (MF2),BOLR,F,T
LOCSYM,N,C,B,AM
LOCSYM,N,C,B,AM
R2
(Refer to Section 7 under Nultiword Instructions for description
of Multiword Modification Field.)
OPERATING MODES:
Any
SUMMARY:
C(string 1) : (BOLR) : C(string 2)
8-578
DZ5l-00
SZTL
SZTL
(
The string of bits starting at location YCBl is evaluated,
bit by bit, with the string starting at location YCB2 until
either the resultant bit from the BOLR field is a 1 or until
L2 is exhausted. If U is greater than 12, the Truncation
indicator is set.
EXPLANATION:
If Ll is less than L2, the fill bit (F) is used as the L2-L1
least-significant bits of string 1. The contents of both
strings remain unchanged.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL for MFl and MF2
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Zero
-
Truncation NOTES:
(
If all the resultant bits generated are zero,
then ON; otherwise, OFF
If Ll is > 12, then ON; otherwise, OFF
1. An Illegal Procedure fault occurs when illegal address
modification or illegal repeats are used.
2. An IPR fault does not occur even when Ll = 0 or L2 = O. In
this case, the zero and truncation indicators are affected.
(
8-579
DZ5l-00
SZTL
SZTL
EXAMPLES:
1
8
16
32
SZTL
Bose
Bose
, ,6
FLDl,36,O,O
FLD2,35,O,1
ALLOFF
TRUNe
CONST.
-1
-1
exclusive OR operation
FLDI operand descriptor
FLD2 operand descriptor
zero indicator ON
truncation indicator ON
memory contents in octal
777777777777
777777777777
indicators set? - zero and truncation
TZE
FLOI
FLD2
TRTN
USE
OEC
OEC
USE
LDI
LDX7
STI
SZTL
Bose
Bose
TNZ
FL01
FLD2
USE
BSS
OEC
USE
O,OL
-l,OU
FLDI
,,1
FLDl,1,2,1
FLD2,1,2,1
190N
eONST.
1
IB19
load negative value into X7
store processor indicators
AND operation
FLDI operand descriptor
FLD2 operand descriptor
not zero - negative indicator ON
memory contents in octal
x x x x x x 2 0 0 0 0 0
o 0 0 0 0 020 0 0 0 0
indicators set? - none
8-580
"'-.
OZ51-00
SZTR
SZTR
Set zero and Truncation Indicators with Bit
Strings Right
SZTR
065 (1)
FORMAT:
o0 o0
o1 4 5
Hoooa
0
0
001
B9 0
IBOLR
1 1
7 B
1
1
1+ I
Op
I
MF2
o0
Code
III 2
NFl
2
3
0
Yl
Cl
AR#
3
2
5
Rl
0-------0
III 2
2
789
3
0
3
2
Y2
3
5
N2
C2
B2
0---
Y2
COD! NG FORMAT:
3
Nl
Bl
Yl
000
023
AR#
3
065(1)
789
2 3
2
1
8
16
SZTR
BDSC
BDSC
(MFl),(NF2),BOLR,F,T
LOCSYM,N,C,B,AM
LOCSYN,N,C,B,AM
0
R2
(Refer to Section 7 under Multiword Instructions for description
of Multiword Modification Field.)
OPERATI NG MODES:
Any
SUMMARY:
C(string 1)
(BOLR)
C(string 2)
8-581
DZ51-00
SZTR
SZTR
EXPLANATION:
same as for SZTL except that starting locations are YCBl +
(Ll-l) and YCB2 + (L2-1) and the evaluation is from right to
left (least-significant bit to most significant bit). Any
fill (used in comparison) is of most-significant bits.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1 and MF2
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
same as for SZTL
NOTE:
Notes for SZTR are the same as for SZTL.
EXAMPLES:
1
8
16
32
SZTR
,,3,1
FLD1,1,2,1
0,1
190N
eONST.
1B19
evaluate FLD1 as is (move)
FLDl operand descriptor (bit 19)
FLD2 operand descriptor
BOSC
BOse
TNZ
USE
F101 DEC
USE
101
LDX7
STI
SZTR
F10l
1,14
USE
FLD1,1,2,0
0,1
l80N
CONST.
BSS
1
BOSC
BDSe
TZE
F10l
O,DL
O,DU
USE
memory contents in octal
o0 0 0 0 0 2 0 0 0 0 0
indicators set? - none
clear processor indicators
load zeros into X7
store processor indicators
invert
FLDl operand descriptor (bit 18)
FLD2 operand descriptor
zero indicator ON
memory contents in octal
xxxxxx400000
indicators set? zero
8-582
DZ5l-00
(
TCT
TCT
164
Test Character and Translate
TCT
(1)
FORMAT:
o0
o1
000
4 5
0
1
oa1
890
1 1
7 8
1
1
Op
-01
---------
0 o0
0 2 3
Code
164(1)
35
MF1
3
2
3
5
Nl
CNl
(
!xl
1 1 2 2 222
7 8 o 1 234
Y1
AR#
2
8
TAl 0
Y1
0------0
1 1
000
023
7 8
R1
22333
89012
3
5
Y2
0---AR#
-----0 AR 00
REG2
Y2
1 1
000
023
7 8
22333
89012
3
5
Y3
0----AR#
CODING FORMAT:
(
---0 AR 00
REG3
Y3
1
8
16
TCT
ADSCn
ARG
ARG
(MF1)
LOCSYM,CN,N,AM
LOCSYM, RM, AM
LOCSYM, RM, AM
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
8-583
DZ51-00
TeI'
TCT
OPERATI NG MODES:
Any
EXPLANATION:
Starting at location Yel, each type TAl character is used as
an index to a table of 9-bit characters that starts at
location Y2. If the table entry is zero, a counter is
incremented by 1.
The operation terminates if a nonzero table entry is found or
if the tally (Ll) is exhausted. At the conclusion of the
instruction, the counter contents are stored right-justified
in bits 12-35 of Y3. The last accessed table entry is placed
in bits 0-8 of Y3. Zeros are placed in bits 9-11 of Y3.
Except in cases of string overlap, the contents of the source
field and the table remain unchanged. (Refer to Explanation
under MVT.)
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL for NFl, REG2, REG3
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Tally - If the tally (Ll) is exhausted and table entry is
zero, then ON; otherwise, OFF
NOTES:
1. If Nl=O, zero is stored in Y3 (bits 12-35) and the tally
indicator is affected.
2. If Nl>O and a match is found in the first character, zero
is stored in Y3 (bits 12-35) and the tally indicator is
not affected.
3. An Illegal procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-584
DZ51-00
TCT
TCT
EXAMPLE:
1
16
32
BCl
FLD1,0,12
TABLE
FLD3
FOUND
CONST.
2, 1234567890#
BSS
1
no modification
indexing string operand descriptor
pointer to table
pointer to character and count word
nonzero character found
memory contents
200102030405060710110013 (octal)
character and count - 020000000013
8
TCT
ADSC6
ARG
ARG
TTF
USE
FLD1
FLD3
TABLE OCT
OCT
OCT
USE
NOTE:
Octal
1 2 3 456 7
Index
000000000000,000000000000 OX
000000020020,020020020020 IX
000000000000
2X
Result - nonzero character found
o
The highest possible value in FLD1 is an octal 20, a "blank".
EXAMPLE WI TH ADDRESS MODI FI CATION:
1
8
16
X6
BOOL
EAX2
EAX3
EAX6
AWDX
TCT
ARG
ARG
ARG
TTF
NULL
USE
16
2
FLDl
6
0,3,7
{1,1,1,2}
INDSCR
TABLE
FLD3
*+2
FLD1 ASOl
FLD3 BSS
INDSCR ADSC9
TABLE BSS
OCT
OCT
USE
NOTE:
32
CONST.
2,
put 2 into X2
put FLDl address into X3
put FLD1 length into X6
put FLD1 address into AR7
with all modification options
pointer indirect operand descriptor
pointer to table
pointer to FLD3
nonzero found
tally runout ON
memory contents
1234;5
040040061062063064073065 (octal)
character and count 040000000004
0,0,x6,7
indexing FLDl operand descriptor
(FLD1,2,6)
generate 60 (octal) table characters
12
000000000000,000000000000 (060-067)
000000000040
(070-073)
Result - nonzero found
1
,
The highest possible value in FLDl is an octal 073, a "."
8-585
.
DZ5l-00
TCTR
TCTR
Test Character and Translate in Reverse
TCTR
165 (I)
Same as Test Character and Translate (TCT) format
FORMAT:
COD! NG FORMAT:
1
8
16
TCTR
ADSCn
(MF1)
LOCSYM,CN,N,AM
LOCSYM, RM, AM
LOCSYM, RM, AM
ARG
ARG
(Refer to Section 7 under Multiword Instructions for
description of Multiword Modification Field.)
OPERATI NG MODES:
Any
EXPLANATION:
Same as TCT except start at location YC1 + (L1-1) and
progress toward YC1.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL for MF1,
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Tally - If the tally (L1) is exhausted and table entry is
zero, then ON; otherwise, OFF
NOTE:
Notes for TCTR are the same as for TCT.
REG2~
REG3
EXAMPLE:
1
8
16
TCTR
ADSC4
ARG
ARG
FLD1
FLD3
TTF
NULL
USE
EDEC
BSS
FLD1,6,10
TABLE
FLD3
*+2
CONST.
l6P1234567890
1
32
no modification
indexing string operand descriptor
pointer to table
pointer to character and count word
nonzero found
nonzero not found - tally runout ON
memory contents
0000001234567890
character and count 000000000012 (octal)
TABLE OCT
0,0
OCT
000000014014,000000014014
*Highest possible value (in 4-bit field) in FLDl is octal 17
USE
Result - no illegal character found
8-586
DZ5l-00
(-
TEO
TEO
TOO
FORMAT:
CODING FORMAT:
Transfer on Exponent Overflow
614 (0)
single-word instruction format (see Figure 8-1)
1
OPERATING MODES:
Any
SUMMARY:
NS
8
16
TEO
LOCSYM, RM, AM
Mode
If exponent overflow indicator ON, then Y --> C(IC)
If exponent overflow indicator ON and instruction bit 29=1
then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn -> C(SEGID(IS»
ES Mode
If exponent overflow indicator ON, then Y16-33 --> C(IC)
If exponent overflow indicator ON and instruction bit 29=1
then
n
= YO-2
C(DRn) -> C(ISR); C(SEGIDn -> C(SEGID(IS»
EXPLANATION:
with conditional transfer instructions, if the transfer
condi tion is not satisfied (transfer does not occur), the I SR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGI D(I S) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(IS). The transfer in this
case, is the transfer to another segment.
I
(
8-587
DZ51-00
TEO
TEO
/
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the I SR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
IPR fault occurs. The ISR bit can be altered only with the
eLI MB instruction.
I LLEGAL ADDRESS
MODI FI CATl ONS :
DU, DL I CI,
I LLEGAL REPEATS:
RPT ,RPD, RPL
lNDlCA1ORS:
Exponent Overflow - Set OFF
NOTES:
1. An IPR fault occurs if instruction bit 29=1 and the
sc, SCR
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
2. A Security Fault, class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3.
A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the lSR from a descriptor
for which flag bit 27=0.
4.
A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the lSR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
,/
8-588
DZ51-00
(
TEU
TEU
TEO
FORMAT:
CODI NG FORMAT:
Transfer on Exponent Underflow
615 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TEU
lOCSYM,RM, AM
If exponent underflow indicator ON, then Y --> C(IC)
If exponent underflow indicator ON and instruction bit 29=1
then
n
= YO-2
C(DRn) --> C(ISR): C(SEGIDn) --> C(SEGID(IS»
ES Mode
If exponent underflow indicator ON, then Y16-33 --> C(IC)
If exponent underflow indicator ON and instruction bit 29=1
then
n
= YO-2
C(DRn} --> C(ISR}; C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGI D(I S) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn, are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
(
8-589
DZ51-00
TEV
TEV
/
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DRn (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the I SR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRB, an
IPR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
I LLPX;AL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLPXiAL REPEATS:
RPT, RPD, RPL
INDICATORS:
Exponent Underflow - Set OFF
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-590
DZ51-00
(
TMI
TMI
TMI
FORMAT:
CODING FORMAT:
Transfer on Minus
604 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TMI
LOCSYM,RM,AM
If negative indicator ON, then Y --> C(IC)
If negative indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR): C(SEGIDn) --> C(SEGID(IS»
(
ES Mode
If negative indicator ON, then Y16-33 _> C(IC)
If negative indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR): C(SEGIDn) -> C(SEGIDUS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGIDCIs) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGI D(IS) are not changed.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn; are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
(
8-591
DZ51-00
TMI
TID
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the I SR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DR!!, an
IPR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
An
2.
A Security Fault, class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O: or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the I SR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An I llegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-592
DZ5l-00
TMOZ
TMOZ
TMOZ
FORMAT:
CODI NG FORMAT:
Transfer on Minus or Zero
604 (1)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMMARY:
NS Mode
8
16
TMOZ
LOCSYM,RM,AM
If negative indicator ON or Zero indicator ON, then
Y --> C(IC)
If negative indicator ON or Zero indicator ON; and instruction
bit 29=1 then
n = YO-2
C(DRn) --> C(ISR); C(SEGIDn) -> C(SEGID(IS»
ES Mode
If negative indicator ON or Zero indicator ON, then
Y16-33 --> C(IC)
If negative indicator ON or Zero indicator ONi and instruction
bit 29=1 then
n = YO-2
C(DRn) --> C(ISR); C(SEGIDn) -> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGID(IS) are not changed.
= 0,
the ISR and
(
8-593
DZ51-00
TMOZ
TMOZ
''"-
/
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn, are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
!PR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATeRS:
None affected
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-594
DZ51-00
'"
/
TMOZ
TMCZ
EXAMPLES:
1
8
16
LeQ
TMOZ
2,DL
NOPLUS
32
transfer on minus or zero
plus routine
NULL
*DID TRANSFER OCCUR?
YES
TO WHAT LOCATION?
NOPLUS
(
8-595
DZ51-00
TNC
TNC
THC
FORMAT:
CODING FORMAT:
Transfer on No carry
602 (0)
Single-word instruction format (see Figure 8-1)
1
OPERA'l'I NG NODES:
Any
SUNMARY:
NS
8
16
TNC
LOCSYN,RM,AM
Node
If carry indicator OFF, then Y --> C(IC}
If carry indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR}: C(SEGIDn} -->
C(S~D(IS)}
ES Node
If carry indicator'OFF, then Y16-33 --> C(IC)
If carry indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR}:
EXPLANATION:
C(S~Dn}
->
C(S~D(IS)}
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the ~D(IS} are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGID(IS} are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn:- are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
8-596
DZ51-00
(~
TNC
TNC
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DRn (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the I SR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not equal to bit 24 of the segment descriptor from the DRB, an
IPR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the I SR from a descriptor
that is not type T=O: or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-597
DZ5l-00
TNZ
TNZ
-/'
TNZ
FORMAT:
CODI NG FORMAT:
601 (0)
Transfer on Nonzero
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TNZ
LOCSYM ,Rl-1, AM
If zero indicator OFF, then Y --> C(IC)
If zero indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR)i C(SEGIDn) --> C(SEGID(IS»
ES Mode
If zero indicator OFF, then Y16-33 --> C(IC)
If zero indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR)i C(SEGIDn) -> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
S~D(IS) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDB, are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
8-598
DZ51-00
TNZ
TNZ
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DRn (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRB, an
IPR fault occurs. The ISR bit can be altered only with the
ClJMB instruction.
ILLEGAL ADDRESS
('
MODIFICATIONS:
DU, DL, CI, SC,
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
S~
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An I llegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-599
DZ51-00
TOV
TOV
Transfer on Overflow
TOV
Single-word instruction format (see Figure 8-1)
FORMAT:
CODI NG
617 (0)
FORMAT:
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TOV
LOCSYM, RM, AM
If overflow indicator ON, then Y --> C(IC)
If overflow indicator ON and instruction bit 29=1 then
n = YO-2
C(DRn) -> C(ISR); C(SEGIDn) -> C(SEGID(IS»
ES
Mode
If overflow indicator ON, then Y16-33 -> C(IC)
If overflow indicator ON and
n
inst~uction
bit 29=1 then
=YO-2
C(DRn) --> C(ISR)i C C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGI D(I S) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding ~Dn~ are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
8-600
DZ51-00
(
TOV
TOV
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRg, an
IPR fault occurs. The ISR bit can be altered only with the
ClJMB instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
ILLEGAL REPEATS:
RPT ,RPD, RPL
INDICATORS:
Overflow - Set OFF
NOTES:
1. An IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
a,
SC, SCR
2.
A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3.
A
Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag ·bit 28=0.
5. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-601
DZ5l-00
TPL
TPL
I
TPL
FORMAT:
CODI NG FORMAT:
Transfer on Plus
/
605 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TPL
LOCSYM, RM, AM
If negative indicator OFF,. then Y --> C(IC)
If negative indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR): C(SEGIDn) --> C(SEGID(IS»
ES Mode
If negative indicator OFF, then Y16-33 --> C(IC)
If negative indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR): C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not changed.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
(j
8-602
DZ5l-00
TPL
TPL
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DRn (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the I SR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
IPR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
ILLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT RPD RPL
INDICATORS:
None affected
NOTES:
1.
An
2.
A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
I
I
IPR fault occurs if instruction bi~ 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
(
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
---.
8-603
DZ5l-00
TPNZ
TPNZ
TPNZ
FORMAT:
CODI NG FORMAT:
Transfer on Plus and Nonzero
605
(1)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TPNZ
LOCSYM, RM, AM
If negative indicator OFF and Zero indicator OFF, then
Y --> c(Ic)
If negative indicator OFF and Zero indicator OFF
and instruction bit 29=1 then
n = YO-2
C(DRn) -> C(ISR); C(SEGIDn) --> C(SEGID(IS»
ES Mode
If negative indicator OFF and Zero indicator OFF, then
Y16-33 --> C(IC)
If negative indicator OFF and Zero indicator OFF
and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR}; C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not changed.
8-604
DZ51-00
-"
\
(
TPNZ
TPNZ
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGaD~~ are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DR~, an
IPR fault occurs. The ISR bit can be altered only with the
CLIMB instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O: or has a base that is not 0 modulo
32 bytes: or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-605
DZ5l-00
TPNZ
TPNZ
/~-\
-,_
J
EXAMPLES:
1
8
16
32
EAX5
EAX6
AWDX
LDA
TPNZ
NULL
6
PLUSRT
0,6,6
5,DL
0,5,6
load address modifier into X5
load transfer address into X6
put transfer address into AR6
load +5 into A-register
transfer on plus and nonzero
zero and negative routine
*DI D TRANSFER OCCUR?
EAX2
LDX?
TPNZ
NULL
YES
PLUSRT+6
load address modifier into X2
load +4 into X?
transfer on plus and nonzero
zero and negative routine
3
4,DU
TRANS, 2
"'DID TRANSFER OCCUR?
TO WHAT LOCATION?
YES
TO WHAT
LOCATION?
TRANS+3
/
8-606
DZ51-00
I
(
TRA
TRA
TRA
FORMAT:
CODI NG FORMAT:
Transfer Unconditionally
710 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TRA
LOCSYM, RM, AM
Y --> C(IC)
If instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn) --> C(SEGID(IS»
ES Mode
Y16-33 --> C(IC)
If instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR); C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
With unconditional transfer of control instructions, bit 29
of the instruction word affects the operation as follows:
a When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not affected. An IPR fault does not occur.
a When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(IS). The transfer in this
case is the transfer to another segment.
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
8-607
DZ51-00
TRA
TRA
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
IPR fault occurs. The ISR bit can be altered only with the
CLI MB instruction.
LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
None affected
NOTES:
1.
I
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type 1=0; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag-bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-608
DZ51-00
TRC
TRC
TRC
FORMAT:
CODI NG FORMAT:
Transfer on carry
603 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG NODES:
My
SUMMARY:
NS
8
16
TRC
LOCSYN, RN, AN
Mode
If carry indicator ON, then Y --> C(IC)
If carry indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn) --> C(SEGIDUS»
ES Node
If carry indicator ON, then Y16-33 --> C(IC)
If carry indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn) -> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not changed.
o When bit 29 of the instruction word = 1, the DRn selected
with bits a, 1, 2, and the corresponding SEGIDg; are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
8-609
DZ51-00
TRC
TRC
If instruction bit 29=1, and if any form of indirect addressing
is specified in the tag field, then the base, bound, and working
space from DR!! (not the ISR) are used in developing the
addresse:s of indirect words.
When the transfer instruction attempts to load the ISR, the ISR
bit 24 (NS/ES mode specification bit) cannot be altered. If bit
24 of the ISR before execution of the transfer is not equal to
bit 24 of the segment descriptor from the DR!!, an IPR fault
occurs. The ISR bit can be altered only with the CLIMB
instruction.
I LLEGAL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1. An IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor that
is not type T=O: or has a base that is not 0 modulo 32 bytes:
or has a bound that is not 31 modulo 32 bytes.
2. A Security Fault, Class 2 occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor for
which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-610
DZSI-OO
TRCTn
TRCTn
TRC'l'n
FORMAT:
CODI NG FORMAT:
Transfer on COunt n
54n (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TRCTn
LOCSYM, RM, AM
For n = 0,1 ••• ,7 as determined by op code
If zero indicator OFF and negative indicator ON
then C(Xn) - 1 --> C(Xn)
If C(Xn) # 0, Y --> C(IC)
(/
If zero indicator OFF and negative indicator ON
and instruction bit 29=1 then
m = YO-2
C(DRm) --> C(ISR); C(SEGIDm) --> C(SEGID(IS»
ES Mode
For n
= 0,1 ••• ,7 as determined by op code
If zero indicator OFF and negative indicator ON
then C(GXn) - 1 --> C(Xn)
IF C(GXn) # 0, Y16-33 --> C(IC)
If zero indicator OFF and negative indicator ON
and instruction bit 29=1 then
m = YO-2
C(DRm) --> C(ISR); C(SEGIDm) --> C(SEGID(IS»
8-611
DZ51-00
TRTCn
TRTCn
EXPLANATION:
A 1 is subtracted from the content of Xn/GXn and the result is
loaded into Xn/GXn. Unless the content of the result in Xn/GXn
is zero, control is transferred to the location specified by the
y field. If the result is 0, the next instruction is executed.
With conditional transfer' instructions, if the transfer condition
is not satisfied (transfer does not occur), the ISR and the
SEGID{IS) are not changed. When transfer occurs, bit 29 of the
instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and SEGID(IS)
are not changed.
o When bit 29 of the instruction word = 1, the DRm selected with
bits 0, 1, 2, and the corresponding S~Dm, are loaded into'
the ISR and SEGID{S). The transfer, in this case, is the
transfer to another segment.
If instruction bit 29=1, and if any form of indirect addressing
is specified in the tag field, then the base, bound, and working
space from DRm (not the ISR) are used in developing the addresses
of indirect words.
When the transfer instruction attempts to load the ISR, the ISR
bit 24 (NS/ES mode specification bit) cannot be altered. If bit
24 of the ISR before execution of the transfer is not equal to
bit 24 of the segment descriptor from the DRm, an IPR fault
occurs. The ISR bit can be altered only with the CLIMB
instruction.
LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, Cl, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I
I LLEGAL EXECUTES: XEC, XED
I NDI CATORS:
Zero
Negative
NOTES:
-
If C(Xn/GXn) = 0, then ON; otherwise, OFF
If C(Xn/GXn) = 1, then ON; otherwise, OFF
1. An IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor that is
not type T=O; or has a base that is not 0 modulo 32 bytes; or
has a bound that is not 31 modulo 32 bytes.
2. A Security Fault, Class 2 occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor for
which flag bit 25=0.
8-612
DZ51-00
(
TRTCn
TRTCn
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications, illegal repeats, or illegal executes are
used.
EXAMPLE:
1
A
(
8
16
LDXO
10,DU
32
LDA
TRTCO
A
8-613
DZ51-00
TRTF
TRTF
TRTF
FORMAT:
CODI NG FORMAT:
Transfer on Truncation I ndicator OFF
601 (1)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TRTF
LOCSYM, RN, AN
If truncation indicator OFF, then Y --> C(IC)
If truncation indicator OFF and instruction bit 29=1 then
n = YO-2
C(DRn) -> C(ISR) i C(SEGIDn) --> C(SEGID(IS»
ES Mode
If truncation indicator OFF, then Y16-33IC)
If truncation indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR)i
EXPLANATION:
C(~Dn)
--> C{SEGID(IS»
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not changed.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDg~ are
loaded into the ISR and SEGID(S). The transfer, in this
case, is the transfer to another segment.
8-614
DZ51-00
TRTF
TRTF
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the I SR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
IPR fault occurs. The ISR bit can be altered only with the
CLI ME instruction.
(
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, 0, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(
8-615
DZ51-00
TRTF
TRTF
EXAMPLE:
1
8
16
32
FLDl,O,4
FLD2,O,4
NTRUNC
move alphanumeric left to right
sending operand descriptor
receiving operand descriptor
truncation indicator OFF
MLR
ADSC9
ADSC4
TRTF
NULL
*
*
*Did transfer to NTRUNC occur?
YES
*State of truncation indicator after?
OFF
8-616
DZ51-00
(
TRTN
TRTN
TRTN
FORMAT:
CODING FORMAT:
600
Transfer on Truncation Indicator ON
(1)
Single-word instruction format (see Figure a-I)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TRTN
LOCSYM,RM,AM
If truncation indicator ON, then Y --> C(IC)
If truncation indicator ON and instruction bit 29=1 then
n = YO-2
C(DRn) --> C(ISR); C(SEGIDn) -> C(SEGID(IS»
(
ES Mode
If truncation indicator ON, then Y16-33 --> C{IC)
If truncation indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C{ISR); C(SEGlDn) -> C(SEGlD(IS»
EXPLANATION:
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS} are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGID(IS) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGlDn: are
loaded into the ISR and SEGlD(S). The transfer, in this
case, is the transfer to another segment.
8-617
DZ51-00
TRTN
TRTN
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the I SR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an IPR
fault occurs. The ISR bit can be altered only with the CLIMB
instruction.
I LLEX;AL ADDRESS
MODI Fl CATIONS:
DU, DL, Cl, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATeRS:
Truncation - I f ON, it is turned OFF
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor that
is not type T=O; or has a base that is not 0 modulo 32
bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
.
-. /
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
-'
8-618
DZ5l-00
/
(
TRTN
TRTN
EXAMPLE:
1
8
MLR
ADSC4
ADSC6
TRTN
TRA
16
32
FLDl,O,8
FLD2,O,6
TRUNC
TRUNC+6
move alphanumeric left to right
sending operand descriptor
receiving operand descriptor
truncation indicator ON
truncation indicator OFF
*To where was transfer?
TRUNC
*State of truncation indicator after?
MLR
ADSC9
ADSC4
TRTN
NULL
FLD1,O,8
FLD2,O,4
TRUNC
OFF
move alphanumeric left to right
sending operand descriptor
receiving operand descriptor
truncation indicator ON
no truncation routine
*Did transfer of control occur?
yes
*State of truncation indicator after?
where to?
TRUNC
OFF
(
8-619
DZS1-OO
TSS
TSS
TSS
FORMAT:
CODI NG FORMAT:
Transfer After Setting Slave
715 (0)
Single-word instruction format (see Figure 8-1)
1
OPERA'!'I NG MODES:
Any
SUMMARY:
NS Mode
8
16
TSS
LOCSYM,RM,AM
Y -> C(IC)
If instruction bit 29=1 then
n =
YO-2
C(DRn) -> C(ISR); C(SEGIDn) --> C(SEGID(IS»
ES Mode
Y16-33 --> C(IC)
If instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn) --> C{SEGID(IS»
EXPLANATION:
All outstanding memory requests are checked for completion
before the Master Mode indicator is reset on the TSS
instruction.
with unconditional transfer of control instructions, bit 29
of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not affected. An IPR fault does not occur
even when bit 29 of the TSS instruction word is o.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGI~, are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
8-620
DZ51-00
TSS
TSS
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRB, an
IPR fault occurs. The ISR bit can be altered only with the
ClJMB instruction.
(
I LLEX;AL ADDRESS
MODIFICATIONS:
DU, DL, CI, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
I NDI CATORS:
Master Mode - Set OFF
NOTES:
1.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
An
(
8-621
DZ51-00
TSS
TSS
6. For a fault that occurs as a result of execution of a TSS
instruction in Master mode, the state of bit 28 (Master
Mode indicator) in the copy of the indicator register
stored in the safe store frame is as follows:
o If IPR or Fault Tag fault, caused by the tag field in
the instruction or indirect word, then IR28 = 1.
o If Bound fault, caused by attempt to access an indirect
word, then IR28 = 1.
o I f Bound fault, caused by attempt to access the target
location then IR28 = 1.
7. Use of the TSS instruction does not change the contents of
the DR or AR registers which may have been set by previous
Master Mode Entry (MNE/PMME) and/or user code.
8-622
DZ51-00
(
...
TSXn
TSXn
Transfer and Set I ndex Register n
FORMAT:
CODI NG FORMAT:
70n C(Xn); Y --> C{IC)
If instruction bit 29=1 then
n
(
= YO-2
C(DRn) --> C(!SR); C(SEGlDn) -> C(SEGlD(rS»
ES Mode
For n
= 0,1, ••• ,7
as determined by op code
00 ••• 0--> C(GXn)O-17
c(rc) + 0 ••• 01 --> C(GXn)18-35;
(no transfer of a carry from bit 18 of GXn to high-order bit)
Y16-33 --> C(IC)
If instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGlDn) --> C(SEGlD{IS»
(
8-623
DZ51-00
TSXn
TSXn
EXPLANATION:
with unconditional transfer of control instructions, bit 29
of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not affected. An IPR fault does not occur.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(IS). The transfer, in this
case, is the transfer to another segment.
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DRB (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the D~, an
IPR fault occurs. The ISR bit can be altered only with the
CLI MB instruct ion.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL,
I LLEGAL REPEATS:
RPT,
INDICATORS:
None affected
NOTES:
1. An IPR fault occurs if instruction bit 29=1 and the
CI, SC, SCR
RPD, RPL
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A'Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the I SR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-624
DZ5l-00
TTF
TTF
TTF
Transfer on Tally Runout Indicator OFF
607 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
CODING FORMAT:
1
OPERATI NG MODES:
Any
SUMMARY:
NS
8
16
TTF
LOCSYM,RM,AM
Mode
If tally runout indicator OFF, then Y --> C(IC)
If tally runout indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR); C(SEGIDn) --> C(SEGID(IS»
(
ES Mode
If tally runout indicator OFF, then Y16-33 --> C(IC)
If tally runout indicator OFF and instruction bit 29=1 then
n
= YO-2
C(DRn) --> C(ISR): C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGI D(I S) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(S). The transfer, in this
case, is the transfer to another segment.
(-'
8-625
DZ51-00
TTF
TTF
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the I SR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRn, an
IPR fault occurs. The ISR bit can be altered only with the
ClJMB instruction.
LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT,
INDICATORS:
None affected
NOTES:
1. An IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O: or has a base that is not 0 modulo
32 bytes: or has a bound that is not 31 modulo 32 bytes.
I
RPD, RPL
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 2B=0.
5. An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
I
\
,
~j
B-626
DZ51-00
(
..
TTN
TTN
TTN
606 (l)
Transfer on Tally Runout Indicator ON
FORMAT:
Single-word instruction format (see Figure 8-1)
CODI NG FORMAT:
The TTN instruction is coded as follows:
1
OPERATING MODES:
Any
SUMMARY:
NS Mode
8
16
TTN
LOCSYM,RM,AM
If tally runout indicator ON, then
Y -->
C(IC)
If tally runout indicator ON and instruction bit 29=1 then
n
(
= YO-2
C(DRn) -> C(ISR): C(SEGIDn} -> C(SEGID(IS»
ES Mode
If tally runout indicator ON, then Y16-33 -> C(IC)
If tally runout indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) -'> C(ISR); C(SEGIDn) --> C(SEGID(IS»
EXPLANATION:
with conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word = 0, the ISR and
SEGID(IS) are not changed.
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDg~ are
loaded into the ISR and SEGID(S). The transfer, in this
case, is the transfer to another segment.
8-627
DZ5l-00
TTN
If instruction bit 29=1, and if any form of indirect addressing
is specified in the tag field, then the base, bound, and working
space from D~ (not the ISR) are used in developing the
addresses of indirect words.
When the transfer instruction attempts to load the ISR, the ISR
bit 24 (NS/ES mode specification bit) cannot be altered. If bit
24 of the ISR before execution of the transfer is not equal to
bit 24 of the segment descriptor from the DRg, an IPR fault
occurs. The ISR bit can be altered only with the CLIMB
instruction.
ILLEGAL ADDRESS
MODIFICATIONS:
DU, DL, a, SC, SCR
I LLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
None affected
NOTES:
1.
2.
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor that
is not type T=O; or has a base that is not 0 modulo 32 bytes;
or has a bound that is not 31 modulo 32 bytes.
An
Security Fault, Class 2 occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 25=0.
A
3. A Store or Bound fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor for
which flag bit 27=0.
4.
A
Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An
Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
8-628
DZ5l-00
/'
-\
\,- )
(
TTN
TTN
EXAMPLES:
1
8
16
32
F101,0,12
TABLE
F103
NMATCH
test character and translate
indexing string operand descriptor
pointer to table
operand pointer to count word
tally runout ON - nonzero entry
tally runout OFF
TO
ADSC6
ARG
ARG
TTN
NULL
USE
TABLE OCT
FLD1 BCI
BSS
F103
USE
CONST.
,,20020,020020020020,0
2, 1234567890#
1
*Did transfer occur?
no
TCT
TTN
F101,0,8
TABLE
F103
CHAROK
TRA
ERROR
ADSC4
ARG
ARG
USE
TABLE OCT
F10l
OCT
USE
test character and translate
indexing string operand descriptor
pointer to table
pointer to character and count word
tally runout ON
tally runout OFF
CONST.
,,14014,14014
022064126317
*To what location was transfer made?
8-629
ERROR
DZ51-00
TZE
TZE
TZE
FORMAT:
CODING FORMAT:
Transfer on Zero
600 (0)
Single-word instruction format (see Figure 8-1)
1
OPERATI NG MODES:
Any
SUMMARY:
NS Mode
8
16
TZE
LOCSYM,RM,AM
If zero indicator ON, then Y --> C(IC)
If zero indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn)
ES
~->
C(ISR); C(SEGIDn) --> C(SEGID(IS»
Mode
If zero indicator ON, then Y16-33 --> C(IC)
If zero indicator ON and instruction bit 29=1 then
n
= YO-2
C(DRn) -> C(ISR); C(SEGIDn) -> C(SEGID(IS»
EXPLANATION:
With conditional transfer instructions, if the transfer
condition is not satisfied (transfer does not occur), the ISR
and the SEGID(IS) are not changed. When transfer occurs, bit
29 of the instruction word affects the operation as follows:
o When bit 29 of the instruction word
SEGI D(I S) are not changed.
= 0,
the ISR and
o When bit 29 of the instruction word = 1, the DRn selected
with bits 0, 1, 2, and the corresponding SEGIDn~ are
loaded into the ISR and SEGID(S). The transfer, in this
case, is the transfer to another segment.
8-630
DZ5l-00
TZE
TZE
If instruction bit 29=1, and if any form of indirect
addressing is specified in the tag field, then the base,
bound, and working space from DR!! (not the ISR) are used in
developing the addresses of indirect words.
When the transfer instruction attempts to load the ISR, the
ISR bit 24 (NS/ES mode specification bit) cannot be altered.
If bit 24 of the ISR before execution of the transfer is not
equal to bit 24 of the segment descriptor from the DRg, an
IPR fault occurs. The ISR bit can be altered only with the
ClJMB instruction.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, 0 ,
ILLEX;AL REPEATS:
RPT, RPD, RPL
NOTES:
1.
SC, SCR
IPR fault occurs if instruction bit 29=1 and the
instruction attempts to load the ISR from a descriptor
that is not type T=O; or has a base that is not 0 modulo
32 bytes; or has a bound that is not 31 modulo 32 bytes.
An
2. A Security Fault, Class 2 occurs if instruction bit 29=1
and the instruction attempts to load the ISR from a
descriptor for which flag bit 25=0.
3. A Store or Bound fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 27=0.
4. A Missing Segment fault occurs if instruction bit 29=1 and
the instruction attempts to load the ISR from a descriptor
for which flag bit 28=0.
5.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
(~
8-631
DZ51-00
UFA.
UFA
UFA
Unnormalized Floating Add
435 CO)
FORMAT:
single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) + C(Y)]
I LLEGAL ADDRESS
MODIFICATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(AQ)
Negative
-
If
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent is < -128, then ON
Carry
-
If a carry out of bit 0 of C(AQ) is generated,
then ON; otherwise, OFF
NOTES:
not normalized --> C(EAQ)
= 0, then ON; otherwise OFF
C(AQ)O = 1, then ON; otherwise OFF
1. When indicator "blt 32=1, the floating-point alignment is
hexadecimal. Otherwise, the floating-point alignment is
binary.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-632
DZS1-00
(
UFA
UFA
(Convert from floating to fixed)
EXAMPLE:
1
8
FIXIT
MACRO
INE
FLD
FCMP
TMI
NOP
FCMP
TMI
UFA
lHE
STQ
ENDM
FIXIT
16
#1, '.EAQ. ' ,1
#1
-Ol10400,DU
2,IC
,F
=OlO7000,DU
02,IC
=71B25,DU
#2, '.QR. ' ,1
#2
FIXIT
X,I
32
2**35
-2**35
l=X
8-633
DZ51-00
UFM
UFM
UFM
Unnormalized Floating Multiply
421 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERA'1'I NG MODES:
Any
SUMMARY:
[C(EAQ) * C(Y)]
EXPLANATION:
This multiplication is executed like the FMP instruction
except that the final normalization is performed only if both
factor mantissas are = - 1.00 ••• 0. The definition of
normalization is located under the description of the FNO
instruction.
not normalized --> C(EAQ)
ILLEGAL ADDRESS
MODI FI CAT1 ONS:
a, SC, SCR
I LLEGAL REPEATS:
None
1NDI CATORS :
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
I f exponent is
NOTES:
= 0,
= 1,
then ON; otherwise, OFF
then ON; otherwise, OFF
<
-128, then ON
1. When indicator bit 32=1, the floating-point alignment and
normalization is hexadecimal. Otherwise, the
floating-point alignment and normalization are binary.
2.
An Illegal Procedure fault occurs if illegal address
modification is used.
8-634
DZ51-00
(/
UFS
UFS
UFS
Unnormalized Floating Subtract
535 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
[C(EAQ) - C(Y)l
EXPLANATION:
The two's complement of the subtrahend is first taken and the
smaller value is then right-shifted to equalize it. The
shifted-out portion is truncated and addition is executed.
not normalized --> C(EAQ)
ILLEGAL ADDRESS
MODI FI CATIONS:
CI, SC, SCR
I LLEGAL REPEATS:
None
INDICATORS:
Zero
-
If C(AQ)
Negative
-
If C(AQ)O
Exponent
Overflow
-
If exponent is > +127, then ON
Exponent
Underflow
-
If exponent is < -128, then ON
carry
-
If a carry out of bit 0 of C(AQ} is generated,
then ON; otherwise, OFF
(- ~
NOTES:
= 0,
= I,
then ON; otherwise, OFF
then ON; otherwise, OFF
1. When indicator bit 32=1, the floating-point alignment is
hexadecimal. Otherwise, the floating-point alignment is
binary.
2. An Illegal Procedure fault occurs if illegal address
modification is used.
8-635
DZ5l-00
UFTR
UFTR
UFTR
Unnormalized Floating Truncate Fraction
434 (0)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
C(EAQ)
EXPLANATION:
This instruction truncates the fraction part of the
floating-point data of C(EAQ) to obtain an integer. The
result is unnormalized and stored into C(EAQ). A proper
truncation to an integer is such that truncating the fraction
parts of two numbers with the same absolute and different
sign and adding the results produces O.
I LLEGAL ADDRESS
fraction-truncated --> C(EAQ)
MODIFICATIONS:
None. The address modification does not affect instruction
operations, but the modification is executed.
I LLEGAL REPEATS:
RPL
I NDI CATORS:
Zero
Negative
NOTE:
If C(AQ)
-
= 0,
then ON; otherwise, OFF
If C(AQ)O = 1, then ON: otherwise, OFF
An Illegal Procedure fault occurs if an illegal repeat is
used.
8-636
DZ51-00
(
XEC
XEC
XEC
716 (0)
Execute
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATI NG MODES:
Any
SUMMARY:
Obtain and execute the instruction stored at memory location Y.
EXPLANATION:
The next instruction to be executed is obtained from C(IC)+l.
This is the instruction located in memory immediately following
the location containing the XEC instruction. This does not
apply if the execution of the instruction obtained from
location Y changes the content of the IC.
To execute a repeat instruction with the XEC instruction, the
XEC must reside at an odd location. The instructions to be
repeated using the RPT, RPD, or RPL instructions must
immediately follow the XEC instruction.
With the exceptions noted in Note 1, an XEC instruction may
point to a multiword instruction. However, the descriptors for
the multiword instruction must be stored immediately following
the XEC instruction. The next instruction to be executed is
obtained from C(IC)+n+l, where n is the number of descriptors
for the multiword instruction.
(
If IC modification is used with the instruction being executed,
the value of IC will be the same as the location of the XEC
instruction.
I LLEGAL ADDRESS
MODI FI CATIONS:
DU, DL, CI, SC, SCR
ILLEGAL REPEATS:
RPT, RPD, RPL
INDICATORS:
The XEC instruction itself does not affect any indicator.
However, the execution of the instruction from Y may affect
indicators.
NOTES:
1. An Illegal Procedure fault occurs if illegal address
modification or illegal repeats are used when the XEC
instruction is executing an SPL, LPL, CLIMB, or TRCTn
2.'An Illegal Procedure fault occurs if a CLIMB is executed via
an XEC instruction.
8-637
DZ5l-00
XEC
XEC
EXAMPLE:
1
8
16
REM
REM
XEC
USE
DOlT
ADO
SBQ
USE
XEC
USE
BRANCH NOP
AOS
TRA
TRA
TRA
OOIT,7
SMARTS
FF
FF
BRANCH-l,6
32
X7 has value 0 or 1
X6 has value 1, 2, 3, 4 or 5
add or subtract
5-way branch
YERHED
FLAG2
.53
.54
WRAPUP
USE
8-638
DZ5l-00
(
~
KED
XED
...
XED
Execute Double
717 CO)
FORMAT:
Single-word instruction format (see Figure 8-1)
OPERATING MODES:
Executes in NS mode only
SUMMARY:
Obtain and execute the two instructions stored at the memory
Y-pair locations (must be even and next odd location).
EXPLANATION:
The first instruction obtained from Y-pair must not alter the
memory location from which the second instruction is
obtained, and must not be another KED instruction.
If the first instruction obtained from Y-pair alters the
contents of the instruction counter, this transfer of control
is effective immediately, and the second instruction of the
pair is not executed.
After execution of the two instructions obtained from the
Y-pair, the next instruction to be executed is obtained from
C(IC)+l. This location immediately follows the XED
instruction. This does not apply if the execution of the two
instructions obtained from the y-pair alters the content of
the IC.
To Execute Double (XED) the RPD instruction, the RPD must be
the second instruction at an odd-numbered address. When RPD
is at the odd-numbered address of the pair, the XED
instruction must be at an odd location. In this case, the
repeated instructions are those that immediately follow the
XED instruction. If RPD is specified within a sequence of
XEDs, the original and all subsequent XEDs in the sequence
must be in odd locations.
When repeat instructions RPT or RPL are executed with an XED
instruction and the first instruction specified by the XED
resides an an even-numbered location, the repeated
instruction is that immediately following the RPT or RPL.
When the RPT or RPL instruction resides at an odd-numbered
address, the repeated instruction is that immediately
following the XED instruction.
8-639
DZ51-00
XED
XED
With the exceptions noted in Note 1, multiword instructions
are executed with the XED instruction. The multiword
instruction (second instruction) must be located at an
odd-numbered address. I fit is not, an I PR fault occurs.
The data descriptors for this multiword instruction
immediately follow the XED instruction.
If IC modification is used with either of the instructions
being executed, the value of IC will be the same as the
location of the XED instruction.
I LLEGAL ADDRESS
MODI PI CATIONS:
DU, DL, CI, SC, SCR
I LI.J!XiAL REPEATS:
RPT, RPD, RPL
INDICATORS:
The XED instruction itself does not affect any indicator.
However, the execution of the two instructions from Y-pair
may affect indicators.
NOTES:
1.
An
IPR fault occurs if XED instruction is used with SPL,
or TRCTn.
LPL, CLI MB,
2. When multiword instructions other than those indicated in
Note 1 are executed with an XED instruction, the multiword
instruction must be located at an odd-numbered address
(second instruction). If it is not, an IPR fault occurs.
The data descriptors for this multiword instruction are
those immediately following the XED instruction as
indicated below:
-- XED
Descriptor-l \
Descriptor-2 > as for an SB3D instruction
Descriptor-3 /
--> LDA
SB3D
3.
An Illegal Procedure fault occurs if illegal address
modifications or illegal repeats are used.
4.
An Illegal Procedure fault occurs if execution is
attempted in ES mode.
8-640
DZ51-00
/"
-........\
XED
XED
EXAMPLES:
1
8
REM
XED
16
ENTRY, 7
32
X7 0 = 0,2,4, or 6
EVEN
ENTRY NULL
STC1
SAVEl
TRA
FIRST
STC1
SAVE2
TRA
SECOND
STC1
STC1
SAVE3
THIRD
SAVE4
TRA
FOURTH
TRA
(
8-641
DZS1-00
APPENDIX A
OPBRATI ON CODE MAPS
The operation code maps for the processor are shown in in Tables A-l and A-2.
The operation codes are separated into sections: the first section lists
operation codes with bit 27 = 0 and the second section with bit 27 = 1.
...
(
~
..
'
A-l
DZ51-00
Table A-1.
\ Lower
\3 bits
Operation Code Map (Bit 27
= 0)
S
0
1
2
ADLXO
MME
NOP
ADLX1
DRL
PULS1
ADLX2
3
4
SYNC
ADLX4
LDAC
ASX4
AOS
ADX4
6
7
\
\
\
Upper\
6 bits\
\
00
01
02
03
04
05
06
07
10
11
12
ASXO
ASX1
ASX2
PULS2
ADLX3
ADL
ASX3
ADXO
ADX1
AWCA
ADX2
AWCQ
ADX3
LREG
CMPXO
CMPX1
CMPX2
CMPX3
CMPX4
LDQC
CWL
SBLXO
SBLX1
SBLX2
SBLX3
SBLX4
SSXO
SSX1
SSX2
SSX3
SSX4
SBXO
SBX1
SWCA
SBX2
SWCQ
SBX3
SBX4
20
21
22
23
24
25
26
27
CNAXO
CNAX1
CMK
LDX1
RSW
ORSX1
CNAX2
CNAX3
LDX2
WRES
ORSX2
LDX3
RIMR
ORSX3
CNAX4
SZNC
LDX4
ORX1
SMR
ORX2
SMID
ORX3
RMID
ORX4
30
31
32
33
34
35
36
37
CANXO
CANX1
CANX2
CANX3
CANX4
LOW
LCX1
LCX2
LCX3
LCX4
ANSXO
ANSX1
ANSX2
ANSX3
ANXO
ANX1
ANX2
ANX3
ANSX4
STAC
ANX4
13
14
15
16
17
LDXO
ORSXO
RCW
ORXO
RMR
A-2
SZN
ORSX4
DOC
LCON
ADLX6
ADLQ
ASX6
ADLXS
ADLA
ASXS
ASA
ADX5
ADA
ADX6
ADO
CMPX5
CMPA
SBLXS
SBLA
SSX5
SSA
SBX5
SBA
CMPX6
CMPQ
SBLX6
SBLQ
SSX6
SSQ
SBX6
SBQ
CMPX7
CMPAQ
SBLX7
SBLAQ
SSX7
CNAXS
CNAA
LDXS
LDA
ORSX5
ORSA
ORXS
ORA
CNAX6
CNAQ
LDX6
·CNAX7
CNAAQ
LDX7
LDAQ
ORSX7
CANXS
CANA
LCXS
LCA
ANSX5
ANSA
ANXS
ANA
ASQ
LDQ
ORSX6
ORSQ
ORX6
ORQ
CANX6
CANQ
LCX6
LCQ
ANSX6
ANSQ
ANX6
ANQ
ADLX7
ADLAQ
ASX7
SSCR
ADX7
ADAQ
SBX7
SBAQ
ORX7
ORAQ
CANX7
CANAQ
LCX7
LCAQ
ANSX7
ANX7
ANAQ
DZ51-00
Table A-I (cont).
\ Lower
\3 bits
a
I
2
Operation Code Map (Bit 27 = 0)
3
4
5
6
7
\
\
\
Upper\
6 bits\
\
40
41
42
43
44
45
46
47
MPF
LDE
UFM
FSZN
SXLO
STZ
QSMP
FSTR
50
51
52
53
54
55
56
57
RPL
60
61
62
63
64
65
66
67
TZE
70
71
72
73
74
75
76
77
TSXO
RPT
FLP
TRCTO
SBAR
RPD
FLO
SXLI
SIW
FMP
FRO
MPY
RIW
SCPR
QFLO
SXL2
SFR
QFMP
DFSTR
CMG
ADE
RSCR
DUFM
DFLO
SXL3
QPST
DFMP
DFRO
FCMG
UFTR
SXL4
STT
FTR
FNEG
BCD
FCMP
NEGL
UFS
DFLP
TRCT2
STBQ
TRCT3
UMR
TNZ
RPAT
EAXI
TNC
TRC
EAX2
EAX3
ERSXI
ERSX2
ERSX3
RET
ERSXO
ERXO
ERXI
TSX1
STCA
ARt
QRL
LXLI
ARS
STXO
STC2
ERX2
TSX2
LRMB
LXL2
QRS
STX2
STCQ
TRA
LXLO
SXL6
STE
QFSTR
QFAD
TRCT4
STC1
STX1
ERX3
TSX3
LXL3
TMI
TEO
EAX4
LDI
ERSX4
STACQ
ERX4
LCPR
TSX4
LXL4
TRCT5
FDV
FSB
TPL
TEO
EAX5
EAA
ERSX5
ERSA
ERX5
ERA
TSX5
TSS
LXL5
ALS
LRS
SREG
STX4
STI
STX5
STA
LRL
GTB
ALR
STX3
A-3
DFCMG
DUFA
SXL7
DPST
DFSBI
DFAD
TRCT6
DVF
DFCMP
DFDI
DUFS
TRCT7
QFSB
DFDV
DFSB
DIV
FDI
NEG
TRCTI
STBA
FNO
EAXO
UFA
SXL5
PST
FSBI
FAD
DIS
EAX6
EAQ
ERSX6
TTF
TOV
EAX7
LOT
ERSX7
ERSQ
ERX6
ERQ
ERX7
ERAQ
TSX6
TSX7
XEC
XED
LXL6
QLS
STX6
STQ
LXL7
LLS
STX7
STAQ
QLR
LLR
DZ51-00
Table A-2.
\ Lower
\3 bits
0
1
Operation Code Map (Bit 27
2
3
= 1)
5
6
7
MPX4
STD4
MPXS
S105
MPX7
STD7
SZTL
SZTR
MPX6
S106
CMPB
SDR4
SCM
SDRS
SDR6
4
\
\
\
Upper\
6 bits\
\
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
MVNEX
MVE
MPXO
S100
MPX1
STD1
CSL
CSR
MVNE
MPX2
STD2
MPX3
STD3
CMPC
MLR
MRL
SDRO
SCD
SDR1
SCDR
GSTDO
S10SA
SPDBR
STO
LPDBR
LDO
SDR2
SDR3
sam
GS104
GS102
TC'l'
MVT
LDDSA
20
21
22
23
24
25
26
27
30
31
32
33
34
35
36
37
CCAe
GSTD6
TCTR
AD2D
SB2D
MP2D
DV2D
AD3D
SB3D
MP3D
DV3D
AD2DX
SB2DX
MP2DX
DV2DX
AD3DX
SB3DX
MP3DX
DV3DX
GLDD6
GLDD4
GLDD2
MVNX
DTB
CMPN
B10
GLDDO
CMPC'l'
PAS
SPCF
MVN
SDR7
CMPNX
M'l'M
MTR
A-4
DZ51-00
)
Table A-2 (cont).
\ Lower
\3 bits
0
1
2
Operation Code Map (Bit 27 = 1)
3
4
5
6
7
ADRR
ADLR
SBRR
SBLR
SPL
STP7
LPL
LOP7
\
\
\
Upper\
6 bits\
\
40
41
42
43
EPAT
LDCR
LDPR
45
46
47
STPO
STPI
STP2
LDDR
SAREG
STP3
STP4
STP5
STP6
GRS
GRL
GIS
LAREG
GLRS
GLRL
GLLS
LDPO
LDPI
LDP2
LDP3
LOP4
LOPS
LOP6
50
51
52
53
54
55
56
57
A9BD
A6BD
A4DB
ABD
S9BD
MPRR
ARAO
STTD
MRO
S6BD
S4BD
MPRS
CAMP
ARA1
STDSD
AAR1
LODSD
ARA2
AAR2
SBD
DVRR
ARA3
STTA
AAR3
TRTN
LOEAO
TRTF
LOEAl
LOEA2
EPPRO
ARNO
EPPR1
ARN1
NARO
LDDO
NARI
LDD1
LDRR
44
(
60
61
62
63
64
65
66
67
70
71
72
73
74
75
76
77
AWD
SWD
ARA5
ORRR
ARA6
ARA7
AAR4
MRS
MR6
AAR7
LOW
TMOZ
LOEA4
TPNZ
LOEA5
TTN
LOEA6
LDEA7
EPPR2
ARN2
EPPR3
ARN3
EPPR4
ARN4
EPPR5
ARNS
EPPR6
ARN6
EPPR7
ARN7
NAR2
LDD2
NAR3
LDD3
NAR4
LOD4
NARS
LDD5
NAR6
LDnG
NRA7
LOD7
SAR4
SAR5
SAR6
SAR7
LAR4
LARS
LAR6
LAR7
CMRR
ANRR
ARA4
ERRR
CLIMB
SARO
STAS
LARO
LDAS
SARI
STPS
LARI
LDPS
SAR2
STWS
LAR2
LOWS
SAR3
STSS
LAR3
LDSS
A-5
DZ51-00
APPENDIX B
OBSOLETE IHS'l'RUCl'IOH CDDES
This appendix lists instruction mnemonic codes which have either (1) been
obsoleted by new instructions or (2) been deleted from the DPS 8000 instruction
repertoire.
All hardware instructions pointed out with an (*) are not supported by the GMAP
software. Use of these opcodes are only valid in ES mode.
1. GMAP instructions which replace former instructions yielding the same opcode.
Valid DPS 8000 Instruction
Former Usage
* AHRR 535(1) AND Register to Register
CAMSl Clear Associative Memory
Segment
CAMP 532(1) Clear Associative Mem. Paged
CAMP2 Clear Associative Memory
Pages
* CMRR 534(1) Compare Register to Register
CAMSO Clear Associative Memory
Segment
* DVRR 533(1) Divide Register
CAMP3 Clear Associative Memory
Pages
by Register
SSCR 057 ( 0) set System Controller Reg.
LeCL Load calendar Clock
LIMR 553(0) Load Interrupt Mask Register
SMCM Set Memory COntinuous Mask
Reg.
LCPR 674(0) Load Central Processor Reg.
LLUF Load Lockup Fault Register
* MPPR 530(1) Multiply Reg. Pair
by Reg
* MPRS 531(1) Multiply Reg. by Reg
CAMPO Clear Associative Memory
Pages
CAMPl Clear Associative Memory
Pages
RSCR 413(0) Read System Controller Reg
RCCL Read calendar Clock
RI MR 233 ( 0) Read I nterrupt Mask Reg.
RMCM Read Memory Controller Mask
Reg.
B-1
DZ5l-00
Valid DPS 8000 Instruction
Former Usage
231 (0) Read Processor Model
Characteristics
RSW
RRES
Read Reserved Memory
--
/
"
/
SCPR 452 (0) Store CPU Register
SFR Store Fault Registers
SIW 451(0) set Interrupt Word Pair
SMIC set Memory Controller
Interrupt Cells
2. The GMAP instructions in the following list are not valid for DPS 8000 and
if executed result in an IPR fault.
ABSA 212(0)
CCAC0376(1)
CCAa 377 (1)
LBAR
230(0)
572(0)
WAB 374(1)
WAT 336(1)
LDCB
375(1)
LDFB 314(1)
LDHB 334(1)
LDBC 337(1)
LFR
316(1)
LGCOS
356(1)
LBFER 317(1)
LBPT
335(1)
LBTR
315(1)
LMBA
570(0)
LMBB 571(0)
LMSD
354(1)
LVMS 355(1)
MLDA 235(1}
MLDAQ 237(1)
MLDQ 236(1)
MMF
MR.F
360(1)
MSTA 755(1)
MSTAQ 757(1)
MSTQ 756(1)
saER
157(O}
5MBA 555(0)
5MBB 556(0)
STAC 354(0)
STBZ
157(0)
STTA 553{1}
STTD 550(1)
TTFS
524(0)
TTTL 522(0)
TTTU
LBER
TTEZ
B-2
364(1)
521(0)
523(0)
DZ51-00
/
'\
,--j
~\
~,
~
UNIFIED CHARACTER SET - ASCII SEQUENCE
MGTE
SVPeat.
HAft!
ASCII
CtlOE
t8 8
ESCDIC
CODE
t8 8
GeCD
CODE
t8 8
HBCD
CODE
t8 •
ASCII/E.CDIC
CARD CODE
GeCD
CARD
CtlOE
HBCD
CARD
CtlOE
-------------------------.------------------------------------------------------------------------------------------NUL Hu"
00 000
00 000
'I" lI7
'E lI' '2-0-'·.·.
StlH I,.,., 0' Heeding .
ot 00'
Ot 00'
IE lI. '2""
'I" lI7
II
II
II
f(
......
:t
3
3
3
:t
3
:t
3
3
3
3
et
3
3
3
3
3.8
It
3
3
3
3
:t
.3
3
3
3
3
3
Snt
£TIC
EtlT
ENG
ACK
BEL
SS
liT
LI"
VT
FI"
CR
SO
SI
OU
DC'
DCIt
DC3
DC4
HIIK
.VH
ETI
CAH
Eft
SUI
ESC
IFS
letS
IRS
IUS
I.' •
f.' •
I
2
7
•
••
7
I,.,., 0' T... t.
Ind 0' T... t.
End 0' T,..no~l.olon
E"qulr.,
Ackno,",Iedge
1.11 (Audible Signel)
leekopee.
Horlzon,.1 Tab (~unch C.rd Skip)
Line I".ed
V.,.'lc.' Tabul."on
I"o,.~ F.ed
C.,.,.le. . R.t.u,.n
Shlf, 0U't
Ihlf' In
De,. L I.. Eoc..,.
Device Con,,.ol I
Devlc. Con,,.ol I
Devlc. Cont.rol 3
D.vlc. Con,,.ol 4 (S,op)
Ho. .t.lv. Ackno,",Iodg.
SlInchronouo Idle
End 0' T,.ena~laoion I.ock
C.nce'
End 0' ....,,,....
Suba,It.U'te
Eac4Ipo
1"1 'e Sapor.'er
troup Soper.t.er
R.cord Sop.,..'or
Unl' Sop.,..,o,.
epeee. BI ...
E.. c'~.'lon '01", (ASCII)
Doubl. Guo'.
HUIIIbor • I an
00' I.r SIgn
r.,.cen' Sign
A"'PO,.o.nd
ApoOt.ropho
Le', ,.,..n,hool.
Rlgh, ,.,..n,hoala
Aa,.rlo'"
~Iuo
Co_
Hyph.". "In_
~."Iod
{:3
U1
I-'
I
oo
I
.I.ah
02
Oll
04
08
O.
07
O.
O.
OA
OS
DC
00
DE
0 ..
.0
11
.1
tll
.4
'8
,.
17
,.
,.
.A
'1
'0
'0
IE
,,.
10
.,
22
III
14
I.
I.
27
2.
I.
IA
18
IC
10
2E
2F
002
003
004
008
008
007
Oto
0"
0,2
Ot3
0'4
0'8
0'.
0.7
020
021
022
023
024
028
028
Of7
030
0"
03f
0"
034
038
Oll.
031
040
04'
04f
0411
044
048
04.
047
0.0
0.1
082
083
084
088
08.
087
02
03
37
20
2E
2F
,.
08
28
OS
DC
00
OE
OF
.0
11
.2
13
3C
3D
32
2.
•8
002
003
087
085
088
087
02.
008
048
0'3
0'4
0'8
01.
0"
020
02'
022
02:1
074
018
082
04.
030
I I 0"
3F 011
17 041
'C 034
'0 Oll8
t! 03.
tl" 031
40 'DO
41" " ,
7,. '17
7B '73
. . 133
.C "'4
.0 120
70 1,.
40 "8
.0 .38
8C "4
4E II.
88 183
80! '40
48 113
81 141
I .. 37
II" 37
II" 37
IF 37
I" 37
IF 37
tl" :t7
'I" lI7
'I" :t7
'I" 37
'I" :t7
II" lI7
.F 31
'1" 31
'1" n
'1" lI1
'1" 37
II" 37
II" lI7
'I" 37
'I"n
'1" 31
II" 31
'1" :t1
'I" lI7
'I" :t1
'I" 31
II" 31
II" lI1
'I" 31
10 20
01 lIl" 77
3E 7.
OS 'li
2a 1J:I
3C
IA
I,.
.0
20
2C
30
:t8
2A
18
31
74
32
87
3.
.8
84
.0
13
82
33
81
'E ,.
lI.
IE 3t
tE 3.
IE 38
'E :t.
IE :t.
IE :t.
IE 3t
'E :t.
IE lI.
'E lI.
.E 3.
.E 3t
.E lI.
.E lI.
• E 3t
IE 3.
,E 3.
.E 3.
IE 3t
.E lI.
.E :t.
.E 3t
1l3t
'E "
'E 3t
IE lI.
,E lI.
IE :t.
00 ,.
" liD 78
10 .8
fA 82
n 83
'0 lI8
OF 17
OA II
3C 74
'C lI4
2C 84
10 10
:t8 13
20 40
lB 33
31 81
II[
t2'2"
'2-:t·.
7"
O·S·.·.
0'8-8-.
0'7'8"
tl·.·.
'2'8-'
0-8-'
'2-3-.·.
'2-4'.-'
'2-8'.-'
12-.-'-'
12-1-'-'
.2-11-.·.·.
11-'"
I.-It- •
"'3-'
4-.·.
8-'"
1-'
0-.·.
!I
.. -.-.
~
11"-.,,
7"-'
0-1-.
11'4-'"
"'8-."
... .,... .....
" ....
,,-.'t-7-.·.
BI."
'2-7"
7-'
lI-'
It'3-'
0-4-'
12
.-.
'2-8"
'1-5"
11-4-'
'2-8-.
0-3-8
11
12-3-'
0-1
0'1-'
0"-.
lI-.
"'3-'
0-4"
'I
1"7-'
'1-.-'
0-.-'
11'f-'
"-3-'
'2-.-'
7-'
1-'
0-4-'
11-8'. 'f-4"
11-4'8 "'4-'
111-01( 'I)
'2-0
0-3-. 0-3-'
11
(11'0)(1"
12-lI-' '2-3-'
0-'
0-'
H
~
n
A'CII
COD!
18
NAME
HGT!
•
SYPeat.
..
E!IC~OI C
CODE
Ie
GeCO
caDE
,
•
..co
CaD!
Ie •
ASCII,9COIC
CARD caDE
GeCO
CARD
CODE
teeD
CARD
eaDE
--------------------------------------------------------------------------------------------------------------------0
3D 010
I
,.
,
•
••
t
7
J
(
,•
)
7
2.t •
A
B
C
D
Colon
'_I·Co'on
Lo•• Then
Equel
Gr_tor Then
QUe.tlon Mark
At Sign
,
n
£
I
N
•
H
I
J
It
L
""
G
I"
0
I'
I
T
U
v
"X
y
2
• ,
I
2
241' J
• .
Lo,t Brockot
Rovorao S'ant
Rlgh~
BrllCko~
Clrc~'lo"
Underline
Aceont
I
,
J
•
_
31 0.1
32 Ge2
33 0.3
34 0.4
31' oe8
3.088
37 081
38 010
31 011
3A 072
311 013
3C 014
3D 078
3E 078
3F 071
40 100
.. I 101
.. I 102
43 103
4 .. 104
48 IDe
4e 101
.. , 101
... 110
... 111
.. A 112
..II 11 3
"C 114
.. D lH'
.. E III
.. F It7
80 110
II 121
82 122
83 123
8 .. 12..
81 III
I I 121
87 127
81 130
I,. 131
8A 131
88 133
ee 134
eo 138
BE 138
8F 137
'0
'1
'2
'3
'4
F8
F.
"
F8
FI
1A
8E
4C
7!
IE
8F
1C
CI
C2
C3
C4
ee
CI
C7
e.
C'
01
D2
D3
D4
08
01
01
01
O'
!2
!3
E"
Ee
!I
£1
£1
EI
. . ."
, EO
1 8A
8F_ .0
310
"I
"2
383
"4
38'
".
381
370
371
172
138
114
118
188
HI?
174
301
302
303
30..
:J08
301
301
310
311
321
322
323
32..
328
321
321
330
331
342
3 .. 3
344
3 .. '
341
'41
380
3151
112
:'40
13a
'37
1815
00
01
02
03
04
08
oe
01
O'
01
OD
2E
11
3D
DE
OF
OC
11
11
13
I"
"
1.
17
"
Ie
II
22
23
24
28
28
27
2.
2.
31
00
01
02
03
04
08
08
01
'0
11
18
88
38
78
18
17
14
al
II!
23
24
28
2.
27
30
31
.. I
.. 2
.. 3
.. 4
..8
.. I
.. 7
10
"
.2
3:J 83
34 . .
38 18
I
,
J
t
•
01 01
02 02
03 03
04 0 ..
08 08
O' 08
01 01
O' 10
01 11
OC , ..
lA 32
30 10
0813
DE "
'F 37
3A 72
11 21
la 22
13 23
14 24
II 21
" 21
17 27
" 30
II 31
11 .. 1
22 .. 1
13 .. 3
2.. 4 ..
2. ...
21 .. I
27 .. ,
28 10
II 81
32 12
33 13
3 .. 14
3S 18
.. " ..
"37 81
,.
3.
OA
'F
Ie
aD
3"
00 00
10
71
12
37
341
410
72
37 11
3e 10
3t 71
I: :IF 77
, 2E 8.
I IF 87
IE 38
3E 7.
0
1
a
3
°,
..
•..
•7
••
•
I
2"
II·.·.
12-.. ••
I·.
0-'-'
0-7-8
4-'
12-1
12-a
12-3
12-..
12-'
12-.
12-7
12-.
12-e
" -1
11-1
II .,
II ...
II"
11-1
11-7
II·.
"-1
0-1
0-3
0-"
0-1
0-'
0-1
o-e
0-.
12-2-'
0-1-'
11-2-e
"·7-e
0-8-e
3
I
I
7
I
8-.
II·.·.
12-1-'
0-.·.
0
I
•
,..
3
•
.•
7
t
..
12-2-.
•••
3-'
,., •••
....
1-.
12-1
12-'
11-3
12-..
12-1
11-.
12-7
11-.
la·.
" -1
11'3
II· ..
(12HII-Ot
0-2-.
II-I
11-1
12-3
12-"
1t·1
It·.
It-7
II·.
12-t
"U·I.,
"-1 11-3
11-...
11-'
11-'
11-. 11-1
11-' 11-7
II·.
II·.
II·e
o·a
0-'
0-..
0-8
0-1
0-7
0'1
0"
1-1
l1-e
0-1
0-3
0-"
0-'
0-1
0-7
o·e
o·t
0-7-.
11-.·.
I.· .. •• (11)(11-0)
II '0
12-8-'
0-2-e 0·.·.
tt·,·.
~
111
I-'
I
0
0
"
'.
j
/\
;
/
/
~:
~,
(~
'
,
NaT!
IIYHlIeL
NAHI!
ASCII
CODE
18
•
.,.08. ,', .......0,
,.. ,....
.,".7 ,,1.....,,7
mtDlc
CODE
18
•
_CD
COOl!
18 8
teCD
CODE
18 8
ASCII/mCDIC
CARD CODE
GeCD
CARD
CODE
teCD
CARD
CODE
,--------------------------------------------------------------------------------------------------------------------'.t _
Grevo Accont
'.' b
'I.'
. ' cd
..
'3 ' .. 3
' ,
' •• 0
'.' D
' ••
'. t
'.'
'.'
' ••
, . '110
,. 'III
'A 1112
h
I
J
k
I
8Ct 'III
I
"..'
'.'
'"
'.' n
.0
.E
,F
70
'.' 0
'.' p
'.' q
'.t r
n
I
W
.
'71 " '
'.'
'.' t
I.' u
'.' v
'.' w
...
'. I
'.'
' ~,
1.2
Ie
2,' :
127 )
'.3 ~
3
DEL
Noto.
Lo't Broco
Brokon Vortlc.1 Line
"Ight Broco
Tilde
o.I.to
~
I-'
I
o
o
.72
73
7..
711
71
77
71
7.
7A
7B
7C
70
7E
'.2
'83
II..
,.S
II.
,.7
170
171
'72
173
17..
178
17.
7r: '77
17'
'0'
202
203
20..
205
20'
207
210
21 I
221
222
223
2U
225
228
227
230
231
242
2.. 3
2....
24"
2...
2.. 7
2110
2S1
300
'S'
320
2.. '
007
'F 37
""
1222
," .. 23
2..
Ie 2"
,. 2.
17 27
II '0
""
21 .. ,
22 .. 2
23 .. ,
2.. .. ..
."2.27 ...8.."7
2t '0
II .,
32 .2
:1:1 83
:I.....
,,, ."
:til . .
37
:I.
3.
o 00
'F
t 20
'F
'F
t7
70
71
00
37
..0
37
37
'E 3.
""
12"
," .. 2'
2..
'8 2"
,. 2.
17 27
,. '0
""
.1 "I
" .. 2
2' .. ,
2.. .. ..
28 .. "
28 "t
27 .. 7
2t 110
IItI
32 . ,
,:I".....••
33 . ,
3. . .
:17 t7
31 70
31 71
• '0 20
'I! ,.
- 20 "0
'E :til
'I! :til
,-t
12-0- ,
'2-0-'
'2-0-'
'2-0-"
'2-0-8
12-0-'
'2-0-7
'2-0-t
12-0-'
,a-H-'
12- II-a
"-11-3
ta-II-"
12-" -II
ta- I1-t
"-11-7
II!- II-t
12- H-'
"-0-'
"-0-3
"-0-"
"-0-"
"-0-'
" -0-7
'I-O-t
1'-0-'
12-0
12-' ,
-0
," , -0-'
12-7-'
'2-7-t
If-'
'2-2
'2-3
'2-"
'2-11
'2-'
'2-7
l2-t
'2-'
II -I
"II -a
-3
II - ..
-8
"II -t
II -7
II -t
II -I
0-'
0-3
0-4
0-'
0-'
0-7
0-'
0-'
0
12-1-1
11-0
'2-7-'
'2-t-t
12-'
'2-2
12-'
'2-"
'2-8
'2-'
12-7
If-t
12-'
11-'
" -a
" -3
II - ..
II -II
II-t
11-7
II -t
II-I
0-'
0-3
0-"
0-'
0-1
0-1
o-t
0-'
"2-0HII'
'2-'-1
CH -OH " '
'2-'-'
,. FrOlll mCDIC or A.CII to HeCD or _CD th'. ,. _ one_w_~corro.pondonco.
I. ,se do"no. tho.o ASCI' code. o. vorloblo 'or notlono' u.ogo.
3. SInco thoro I. no corro.pondlng'choroctor _ do'ou't choroctor I • •ub.t'tutod hero,
38 Cocto"Ca) 'or teCD end 37 Cocto"C\' 'or GeCO •
... In HeCD tho code '7 Coctol' !!lOy ropro.ont "2 or I
,. TH occuplo. tho • .-0 po.ltlon o. DC3. TH I. on E8CDIC control choroctor
whl'o DC' I. on ASCI' control choroctor.
e. Tho Intornol ond punchod cord codo• • hown 'or teCD ond GeCD oro 'or copltol _Iph~t'co.
7. Thoro oro tvo teeD cord code .ot. CHaCDI ond HeCD2'. tho dlf'erenco being tho cord punch ropro._tet'en
'or
~nd C-'. ond 'or C"
Ond CI'. For tho HeCDI .ot C., ond C-' oro
ropro.ontod with punch codo. '2-0 Ond "-0. whl'o C" ond CI' oro ropre.entod b~ 12 Ond 1'.
For thO HBCD2 .ot C., ond C-' oro repre.ented wIth punch code. I' ond 11,
whIle I" ond I" oro repre.ented by 12-0 ond 11-0 .
•. Tho.o oro E8CDIC control choroctor. ond ore not defined In thO ASCII .tenderd .
•. IBM do'ine. the.e E8CDIC code. o. notlon.l olphebetlc eNtend.r •.
c.,
U1
11111
I'"
'''7
ItO
7.
.,
.2
83
...
.,
II
87
,.
••
"
.2
.3
...
.S
..
.7
..
.,
A2
A:I
A..
AS
A8
A7
A8
AI
CO
.A
DO
A'
07
UNIFIED CHARACTER SET - EBCDIC SEQUENCE
NeTE
SVPWlOL
HAPfI!
mCDIC
COD£
18 8
ASCII
COOl!
18 I
nco
COol!
"I
HltCD
COD£
18 I
ASCll/mCDIC
CARD CODl!:
nco
CARD
cool!
HltCD
CARD
COOl!
--------------------------------------------------------------------------------------------------------------------NUL Nu"
00000
00000
II! :tl 11-0-1-1-'
" 37
St.rt 0' HeedIng
01 001
01 001
IE :tl 12-1-'
n
I
p
3
3
:t
$
:t,1
:t
3,1
:t
$
:t,1
3, a
3
:t
:t
:t
3
3
:t
:t
$,8
3.1
S ••
3
3,1
3
:t
3.1
S.I
3
3
3
3
3.'
:t.S
:t,.
3
:t,.
3
3
S
3
3
3,'
3,.
3
3
3
:t
~H
STI<
I!TI<
I"F
"T
LC
DEL
GI!
RL'
SI1M
VT
"soCR
SI
DLE
DCI
DC2
TM
RES
"'8S
IL
CAN
EM
CC
CUI
IfS
lOS
IRS
IUS
OS
SOS
FS
8VI"
L'
ETa
ESC
8M
CUI
ENa
ACK
BEL
.tert of T.lCt
End
TelCt
I"unch 0"
Horlzonte' Teb
Low_ C••e
Delete
Orephlc I!ec.Reveree LIne Feild
Stert
Menuel He. . . . .
Vertlcel Teb
Forlll Feild
Cerrl . . . Return
Sl:>lft Out
Shift In
Oete Link I!eo_e
Device Control I
DevIce Control I
Tepe Merk
Re.tore
New LIne
8eckepece
Idle
Cenee'
End
MIld I UIII
Cureor Contro'
CuetOlller Uee 1
Interchenge 'Ile leperator
Interchange GrouP Seperetor
Intercheng. Record Seperetor
Interchenge Unit Seperetor
DIg" Select
Stert
Slgnl'lcence
"eld Seper.tor
UNOEFI NED CODES
8¥Pe••
Line Feild
End
Tren.IIII •• Ion 810ck
Eecepe
UNDEFINED CODl!:S
UND£FINED coon
S.t "ode
Cu.tOlll.r U.. 2
UNOEF I NED CODES
I!nqulr)'
Aokn_tedge
8e"
0'
0'
0'
0'
0'
02
03
04
08
os
07
01
O'
01'
oe
OC
00
OE
OF
10
11
II
13
14
111
la
17
11
It
lA
III
IC
10
II!
"
20
2'
22
23
R4
28
2.
27
2.
21
2/\
n
2C
20
2E
2F
002
003
004
008
00.
007
010
OIl
012
013
014
018
01S
011
020
021
022
023
024
028
021
021
030
031
032
033
034
0311
03e
037
040
041
042
043
044
048
04.
041
080
081
082
08:t
084
088
08S
087
02 002
0$ 003
.e 234
0.011
•• 20S
7F 111
. , t27
10 2111
8£ 2'.
011 013
DC 014
00 018
DE D'S
OF 011
10 020
II 021
12 022
13 02:1
.0 235
a8 208
01 010
17 207
II 030
" 031
II 222
.F 217
IC 034
10 038
IE 038
IF 037
10 200
" 101
.2 202
13 R03
.4 204
OA 012
17 027
18 033
•• 110
•• 211
./\ 212
." 213
.C 214
08 008
08 008
07 001
~
U1
.....
" 31
l' 31
"
"
I'
"
"
I'
.,
l'
"
"
'I'
.,
"
IF
I'
I'
:t1
:t1
31
:t1
:t7
37
:t7
:t1
:t1
:t7
31
37
:t1
:t7
31
37
'I' 37
I' :t1
" 37
I' :t1
" 37
I' 37
I' :t1
"
l'
I'
l'
I'
"IF
'I'
l'
"
:t1
:t7
31
37
S7
37
37
37
37
:t1
" :t1
:t1
l'
"
"
"
l'
l'
'I'
'I'
IF
IF
I'
:t1
37
37
37
37
37
37
:t7
37
37
IE
IE
It
IE
IE
IE
IE
'E
IE
'E
1£
'I!
11
II!
II!
IE
II!
II!
11
II!
IE
II!
IE
IE
IE
IE
IE
IE
IE
IE
'E
IE
IE
'E
IE
IE
IE
IE
'E
IE
'E
'E
IE
'E
IE
IE
:tl
3_
:t_
:t_
:t.
31
31
:la
3a
:t_
38
3_
3a
3e
3e
:te
:tS
3e
3_
3e
31
3e
3e
3e
3e
38
38
:te
3S
3S
3.
:te
:tS
3S
3.
3.
:t.
:ts
"
:t.
3.
"3.
3.
3.
38
12-2-.
'2-:t-.
12-4-1
12-8-'
12-1-'
12-7-'
12-1-'
'1-1-1-.
11-2"1-'
12-3-1-'
12-4-1-.
12-.-_-'
12-8-'-'
12-1-S·'
12-11-1-.·.
" -1-.
'1-1-.
" -So,
"·4-.
"-11-.
1'-S-1
11-1-1
11-1-.
11-1-1-'
1'-1-1-'
ll-S-I-'
11-4-1-'
11-11-1-'
I.-e·I-'
"-7-S-'
"-0-1-.·'
0-1-.
0-2-'
0-3-'
0-4-.
0-8-'
O-S-'
0-7-'
0-1-'
0-1-1-'
0-1-.·.
0-3-.-'
0-4-1-'
0-8-1-'
0-8-.-.
0-7-8'.
I
0
0
)
"
/J
\,
NOTE:
SYMBOl.
________ 4
3
3
3
3
3,'
3,'
3,1
3
3
3
3
3,1
3
3
3
3
n
I
tn
SYN
PM
RS
UC
I!OT
CU3
DC4
NAI(
SUB
3
3
3
3
3
3
3
3
:I
•
~
7
•,
,
·
e
C
a
3
3
3
3
3
•
3
3
"7S I
2,S •
•I
t='
N
tn
~
I
0
0
~
/~
~
NAM:
!eCDIC
CODIt
. ..
,. •
ASOII
COD!
3D
"
32
33
3..
10 liD
II 221
Ie 021
13 223
I .. 22..
lIS 225
Ie 22e
0.. 00..
I. 230
II 23'
IA 232
18 233
'4 02"
'" 02B
.E
238
'A 032
10 0"0
AD 2.. 0
A, 241
AI 242
A3 2"3
A" 2....
AB 2.. 1S
A. 2"8
A1 2.. ,
AI 2BO
BII 133
2E ose
3C 01"
21 0"0
18 083
21 0.. ,
tID".
AI 2BI
AA 252
A8 1153
AC IB"
AD IBIS
AE 2'8
A,. 2B1
80 180
.1 2.,
BO 131S
14 044
2A OBI
II OBI
3B 013
SE 138
IJBCD
CODE
, •
,
HBCD
CODE
,e •
ASCII/E8CDIC
CARD CODE
'I!
II!
IE
'E
'E
'E
'E
'E
'2-"-0-'-1-'
1-'
t-I
3-'
GBCD
CARD
COD!
teCD
CARD
CODE
8'e"
8'."
1-'
'1-'-1
It-I-S
It-e-I
'2-0
0-1-1
II
0-7-'
12-'-'
,,- •
0-4-1
(12-0J ClIJ
o-e-I
7-.
11-4-1
11-'-.
,,-,,-.
"-8-.
'I -1-.
11-0
"""1-0'
11-3-.
11-4-.
It-.. -.
It-I-I
12-.-1
____________________________________________________________________________________________________________
UNDIt,.INED CODES
UNDE,.INED CODES
Synchronou. Idle
UND!FINED CODES
Punch On
"eeder Stop
Upper Ce.e
End of Trene_l.elon
UNDE,.I N!D cobn
UNDEFINED CODES
UNDE,.INED CODES
Cu.t_er U.. 3
DevIce Control 4
Negetlve Acknowledge
UNDEFINED CODES
&ub.tltute
Spece, "Ie,.
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
Cente SIgn
PerIod, Decl_e' PoInt
Le.e Then
Left Perentheel.
P'u. SIgn
Loglce' OR
A"'Per.end
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFIN!D COD!S
UNDEFINED COOES
EMcI.-etlon PoInt E8CDIC
Doller SIgn
Aeterl.k
RIght Perenthe.l.
S.-I-Colon
Loglc.' Not
31'
3e
31
"
3t
3A
38
3C
3D
3E
3F
"0
'"
'"
"3
" ..
"B
...
'"
...
DID
De,
oe2
083
oe..
oe8
Dee
0.,
010
011
012
013
014
01"
011
011
100
101
101
'03
'0"
'08
'0.
'01
"0
... ",
" "A 112
"8 .13
"C0 ""
..
Its
"E 1'"
"F
'"
eo .10
" .21
BI It I
83 123
"" II..
'B lIB
B. II.
B1 117
B•• 30
'8
'"
BA 132
811
8C
8D
e!
"F
'33
'34
"8
13.
137
,,,.t .... ""31
,,.
,,.
, ..
,,.
I ..
, ..
,,.
IF
,,.
,,.
,,.
31
31
31
31
31
31
31
31
31
31
31
,,.,,. "31
'0
,,.
, ..
,,.
1,.
,,.
,,.
, ..
, ..
, ..
OA
'8
•E
lD
30
CI 3F
.A
IF
, ..
,,.
, ..
1,.
,,.
,,.
,,.
10
31
31
31
31
31
37
:11
31
31
'I
33
3"
3B
eo
71
:12
31
31
31
31
31
31
31
31
,IC. "'4
t
18
IC
10
2E
20
83
'4
BIS
".
.0
IE
'I!
'E
'E
'E
,.
,.
,.
38
,.
3e
38
3.
31
3.
3.
38
38
31
'E
OD
IE
'E
'E
IE
'E
"
I"
3.
3.
3'
38
38
lit
lit , .
lit"
'E 38
n: 38
'E 38
" 3F
11
.8 33
3D 10
3C
'"
10 20
R 30 1e
OF 17
IE 3.
IE 3.
IE 38
IE 3.
IE 3.
'E 3.
IE 38
IE 3.
IE 38
IF 81
211 83
2C B"
'C 3"
'A 32
IE 38
.-.-.
..
eo'
1-'
'-S
1-1-'
I-I'.
3-1-.
4-t-S
"-I-S
.-1-'
1-.-.
8'e"
'I-O-I-S
'I-O-I-S
'1-0-3-S
1t-0-4-8
'2-0-8-S
'1-0-8-S
'1-0-7-S
'I-O-S-'
'1-'-8
'1-1-8
'1-3-'
'1-4-S
It-e-.
It-I-'
11-1-1
It
It-It -1-S
'1-\1-1-'
'1-11-3-.
11-11-"-.
1t-\1-e-1
1t-11-1-'
'I-It-1-'
It-" -.-.
11-1-.
"-1-1
'1-'-1
"-"-1
l1-B-.
11-.-1
11-1-.
I
..,T!
'BCDIC
CODE
NAM
HI
•
AS.II
CODE
•
oeCD
COD!
HeCD
CODE
18.
ASCI JlEBCDIC
CARD CODE
oeCD
CARD
CODE
""CD
CARD
CODE
20 ..0
3...
.E 3.
.E 36
.E 36
'E 3.
'E 3.
'E 3.
.E 38
.E 36
IE 3.
38 73
10 38
3E 7.
DE I.
IF 31
IE 38
,E 38
'E 38
'E 38
IE 3t
IE 3t
.E 3t
.E 3t
.E 3.
IE 3t
OC , ..
2A 8'
3A 12
OA I'
0813
20 '"
IE 31
11 2t
12 22
.3 t3
.4 24
.11 211
18 28
11 21
18 30
1831
IE 31
IE 3e
IE 38
IE 36
IE 3•
IE '"
11
0-1
"-0-1-1
"-0-3-1
11-0-4-1
"-0-8-1
'1-0-'-1
11-0-7-1
"-0-6-1
0-' -t
11
0-'
CII-0ttlt)
0-'
'1-1-1
0-3-t
0-4-t
O-I-t
t-t
7-'
12-t-t
0-3-t
11-8-t
O-t-.
t-.
112H.I-0'
"
-------------------------------------.------.----------------------------------------------------------------.------7
I'1lnuo Slon, Hyphon
.0 .40
8Y""CIl.
,
3
3
3
3
3
3
:I
:I
:I
i
;
n
I
CJ'\
7
3
3
3
3
3
3
3
3
3
3
,
2,1 •
2,' •
I
•
:I
Slooh
UNDEFINED CODES
UNDEFINED CODES
UNDEF I NED CODES
UNDEF I NED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
VorUce' LIne
C_
P.rcent Ston
Underocoro
Grootor Thon Slon
Quoot'on "'ork
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
Greve Accont.
Colon
NUlllbor SIgn
At Slon
Pr ,_, Apootropho
!quel Slon
Quot.etlo" "'ark.
UNDEFINED CODES
I,' e
I,' b
I,' c
',t d
• ,e e
I,'
f
I.' 0
1.' h
I,' I
,
3
3
3
3
3
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
COD!I
CODES
CODES
CODES
CODES
CODES
••• 41
.2· '42
. , 143
64 144
68 '40
6. '48
67 .41
ee "'0
al "'.
.A .82
6B 183
6C 184
60 "'8
aE '8e
.F .87
70 ,eo
11 181
72 182
73 183
74 114
78 188
18 ,ee
17 ,.,
16 '70
7. ''72
"
1A
,. 113
1C 114
70 118
7!: .78
71" .77
10 200
" 201
82 202
83 203
... 204
a8 208
a. 20.
., 207
a. 210
. . 211
.A 212
ea 213
ec 214
aD 218
.E 218
• F 2'7
20
2F
82
83
84
88
86
87
8a
8.
1C
2C
28
8F
3E
3F
BA
BB
80
80
8E
81"
CO
CI
C2
10
3A
23
40
21
3D
22
C3
'"~
088
081
262
263
264
268
26.
281
270
21.
174
084
048
137
018
077
272
213
214
218
27.
277
300
301
302
'40
012
043
100
041
078
042
303
IA t2
3...
'1" 31
'1" 37
II" 37
'1" 37
'I" 37
'1" 37
'1" 37
'1" 37
'1" 37
38 73
3C 7..
• 3A 12
DE 18
01" 17
II" 37
'1" 37
'I" 37
'I" 37
II" 37
II" 31
'1" 37
'I" 37
'1" 37
, .. 37
00
'"
08 13
OC 14
21" 11
3D 78
3! 78
IF 37
It
"
t2 '.42
12 22
""
13 .43
.4 .44
.8 148
••• 4.
t1 .41
.e 180
e. 304
""
C4
C8 308
C. 308
C7 307
C' 310
C' 311
~
....I
(J"I
0
0
\
)
1323
14
18
1.
11
18
II
IF
IF
II"
'1"
IF
IF
24
28
2t
27
30
31
:J1
31
31
37
31
37
II-tt
0-3-t
0-4-'
0-8-'
0-'-'
0-7-'
'2-11-0
12-11-0-' -I
12-11-0-1-1
'2-" -0-3-1
12- 11-0-4-1
11-"-0-1-1
11-" -0-1-1
'2-tl-0-7-1
• 2- 11-0-t-1
'-I
1-'
3-'
4-'
I-t
.-.
7-'
12-0-1-'
12-0-1
12-0-1
'2-0-3
"-0-4
'2-0-8
'2-0-t
11-0-7
12-0-'
IZ-O-'
12-0-2-1
12-0-3-e
12-0-4-'
12-0-11-'
12-0-'-'
12-0-7-'
12-7-' 11-1-'
4-t
0-'
'1-2-'
3-'
0-2-'
'1-7-' 2-'
0-8-' 3-'
0-'-' 1'-8-'
..
-.
11-1
12-1
12-3
'2-4
'2-8
'2-'
'2-7
12-t
12-1
11-1
12-1
11-'
'2-4
11-8
12-'
12-1
12-t
11-'
......
;
\
~,
'
NeTI!
SYI'I80L
!8CDIC
C"DE
18 8
NAMI!
Asdll
C"DE
18 8
/..-.."
OBCD
CODE
18 8
. .CD
COOl!
18 8
ASCII/!8CDIC
CARD CODI!
OBCD
CARD
C(JDE
. .CD
CARD
C(JOE
---------------------------------------------------------------------------------------------------------------------
It
I,' J
"e k
UNDEFINED C"DES
',. I
I,e
I,'
1,.
I,'
I,'
I,e
3
:t
3
3
:t
3
:t
n
I
-...J
1,'
I,'
I,'
I,'
l,e
1, e
I,'
I,'
3
3
It
3
It
3
It
t:1
lJ1
I-'
I
a
a
0
p
q
r
UHDI!FINED
UNDEF I NED
UND!FINED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
It
It
N
III
"
3
3
3
3
3
3
3
3
3
3
3
3
3
3
CODES
CODES
CODES
C(JDES
C(JDES
CODES
C(JDES
Tilde
•
,
U
v
v
Ie
W'
.:
UNDEFINED
UNDEFINED
UNDEFINED
UNDEF I NED
UNDEFINED
UNDEFINED
UNDEF I NED
UNDEFINED
UNDEF. NED
UNDEFINED
UNDEFINED
UNDEF I NED
UNDEF I NED
UNDEF I NED
UNDEF I NED
UNDEFINED
UNDEFINED
UND!FINED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
C"OE8
C(JDE.
C"DES
C"CIE.
CODE.
CODES
C"DES
CODES
C"DES
C"DES
C"DES
C"CIES
CODES
CODES
CODES
C"DES
C"DES
C"DES
C"DES
C"DES
C"DES
C"DES
.0
11
.2
13
...
.e
•e
11
..
II
.A
18
.C
.0
'I!
'1'
AO
AI
A2
A3
A..
Ae
Ae
A1
Aa
AI
AA
A8
AC
AD
AE
AI'
80
81
82
8:t
8..
8e
8.
81
81
8.
8A
88
lie
80
8E
III'
220
221
122
22:t
22..
228
22e
221
230
231
232
233
23..
238
238
231
240
241
2.2
2.3
2....
24.,
2.e
2.. ,
280
lei
1112
283
284
288
2811
187
2110
1.1
2112
2113
2114
2e8
21111
2111
210
211
212
213
21..
218
218
211
CA
eA
e8
ec
eo
eE
eF
10
11
12
C8
tt
CD
CE
CF
DO
D.
1E
1:t
:t12
le2
1113
III ..
11111
11111
1111
leo
'"
182
313
314
31 e
31e
:t11
320
321
11e
183
,.. ".
,., Ie.,
18 lee
n le1
71 110
71 171
1A 112
02 322
D:t 323
0.. 32.
Oil 325
011 328
01 321
DI :t:to
O. :t31
OA 332
DB :t33
DC 33..
DO :t:te
DI! 3311
OF 331
EO 3 .. 0
E I 3.. I
EI :t.. 2
E:t :t.. 3
E.. :t4"
E8 :t .. s
Ell 3411
E1 341
IF :t1
21 .. 1
21 42
23 43
24 ....
211 48
2e ...
21 .. ,
2.80
21 81
I I' :t1
"I' :t1
:t1
I' :t1
IF :t1
I' :t1
IF :t1
I' 31
32.,
:t:t e3
3.. e.
38 a.,
:te ee
:t1 81
:te
:tt
IF
tF
IF
IF
'I'
'I'
'I'
.,
IF
IF
10
11
37
37
:t:t
3..
3e
3a
:t1
:t1
:te
:tt
IE
II!
II!
IE
31
'I!
:t1
:t1
:t1
31
:t7
31
"IF :t1
37
IF
IF
I'
I'
IF
I'
IF
I'
l'
.F
II!
21
22
23
2..
25
2e
21
2.
2.
IE
II!
II!
II!
II!
IE
II!
IE
32
37
:t7
31
31
:t1
31
:t1
31
31
31
II!
II!
IE
IE
IE
II!
U:
IE
IE
IE
IE
IE
IE
IE
IE
IE
IE
3.
.. I
.. 2
.. :t
.. ..
.. e
...
41
80
el
:t.
:t.
:te
3e
:te
:te
:te
3e
e2
.3
• ..
e8
.e
e7
10
71
:te
:te
3'
31
31
311
:te
:te
:te
:t.
:tl
311
311
311
311
3.
311
311
311
311
311
311
12-11-1-'
12-11-1
12-1I-a
'2- 11-3
12-11-"
12-II-e
12-1 - •
12-" -1
12-11-'
12-11-'
12-11·2-'
I!·" -3-'
1!-I1-"-'
12-I1-e-.
12·" -e-a
12-11-1-a
11-0-1-'
11-0· I
11-0-'
11-0·3
11-0-4
" ·0-8
11-0-'
11-0-7
II-o-a
" -0-'
It-0-2-'
11-0-3·'
11-0-.. ••
'I-o·e·.
" -0·.·.
11·0·7-11
11·11-0-1-1
12·11-0· ,
12-II·0·!
12-" -D-3
12-" -0-"
12·" ·0-8
12-" -0-11
12-" -0-7
12-11·0·'
12-11-0-'
12-11-0-2-'
12-II-O-:t-'
12-" -0-"-'
12-11-0-8-11
12- II -o-e-I
12-11-0-7-1
" -1
11-2
1I-:t
"II-a
-1
11-'
11-1
11-.
II-:t
II -..
l1-e
11-'
" -1
12·7·.
o-a
0-3
0-4
o-e
0-'
0-7
0-'
0-'
,,-.·a
0-1
0·3
0· ..
o-e
0-,'
0-1
0-'
0-'
11-"
l1-e
...
" -. "" -
...,TE
Syl't!lClL
EBCDIC
CODE
18 8
NAHE
ASt:1 I
CODE
18 8
"CD
COOlE
18 8
HeCD
CODE
18 8
ASCI JlEBCDIC
CARD CODE
"CD
CARD
CODE
teCD
CARD
CODE
--------------------------------------------------------------------------------------------------------------------Open I no Brece
•
A
B
C
0
E
P'
,
II
H
I
3
3
3
3
3
1,1 I
UNDEF I HIED CODES
UNOIEFI NED CCIOES
UNDEFI NED COOES
UNDEFlm:O CODES
UNDEFINED CODES
UNDEFINED CODES
C\oelna Brece
.J
K
L
H
N
n
I
CD
,.
CI
Q
3
3
3
3
3
3
3
R
,
UNDIEF I HIED coon
UNDEFINIED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
UNDEFINED CODES
Reveree SIen~
UNDEFINED CODES
S
T
U
!3
E4
IES
Ell
1E7
y
W
M
y
,,
,,
3
3
~
U1
2
CO
CI
C2
C3
C..
C8
C8
C7
C8
C.
CA
Cit
CC
CO
CIE
CF
DO
01
02
03
0 ..
011
D.
07
D.
D.
DA
DB
DC
00
DIE
Of'"
\ EO
El
lEI
U
UNDEFINIED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
UNDEFINED
COOIES
COOES
CODES
CODES
CODES
CODES
U
EA
£8
Ee
lEO
:tOO
:t01
:t02
303
30"
308
308
307
310
311
"2
3"
" ..
318
31.
317
320
321
322
323
32"
32S
328
327
330
331
332
333
33"
33S
338
331
3 .. 0
34.
342
3"3
3 ....
34e
3...
3 .. 7
3eO
"
"
382
3e3
3e..
311e
!E 388
IEF 387
7B
41
42
4:t
....
.. 8
.. 8
.. 7
.. 8
...
Ell
U
EA
IEB
EC
lEO
70
.. A
.. B
"C
.. 0
.. E
4,.
eo
e1
S2
IEIE
IEF
FO
F'
,.2
P'3
\ SC
'F
S3
S"
liS
Sll
e7
el
ee
eA
F..
Fe
F8
F1
F.
F.
17:t
101
102
10:t
10..
108
108
107
110
III
3eo
3e1
382
383
38"
3""
1711
112
113
, ...
1111
11.
117
120
121
122
3S.
387
3.0
381
382
3.3
13..
237
tl3
12"
lIa
'28
127
130
131
"2
, ...
38e
3••
387
310
371
o 00
11
12
"
1"
18
18
17
00
'I
22
23
2"
28
28
17
It :to
I. 31
1F 37
I,. 37
IF 37
I,. 37
I,. :t7
I,. 37
t 20 .. 0
21 "I
22 .. 2
23 "3
2.. 4..
211 ..a
2... 8
27 .. 7
21 eo
28 SI
I,. 31
I,. 31
I,. 31
,,. 31
,,. 31
I,. 37
\ 'F 31
.,. 37
32 et
33 t3
3.. I"
3' 'S
38 ••
37 87
38 70
3. 11
IF 31
IF 31
IF 37
IF 37
'F 37
.F 37
• 10 20
11 21
12 22
13 23
, .. 2..
"' 28
1.
28
17 27
II 30
1831
1IE 3.
:Ie
'E :Ie
IE 3.
IE 3.
11E 38
- 20 .. 0
21 '"
22 .. 2
23 .. 3
'E
12-0
12-1
12-2
12-3
12-"
12-8
12-.
12-7
II-t
12-.
12-0-2-t-t
'2-0-'-t-t
12-0-.. -.-t
tI-0-a-8-.
tI-0-.-8-.
12-0-7-8-.
11-0
II - I
11-2
" -3
lI-e
11-.
11-1
11-1
,...... " -..
2S
2.
27
28
2.
IE
11E
IE
IE
"S
"8
.. 7
eo
SI
3.
38
31
3.
38
3.
8.
38
.2
11E
.IE
, 2E
lIE
32
33 t3
.
,..'5 .,.
38 .1
37 81
38 70
3811
IE
.IE
.E
IE
IE
IE
3.
38
3.
38
38
38
11-.
12-11-'-t-'
12-"-3-'-'
12-11-"-'-.
, 2-11-S-'-.
'2-'1-8-1-.
12-It-7-.-.
0-2-8
" -O-I-t
0-2
0-'
0-4
o-e
o-e
0-7
O-AI
0-.
1'-0-1-'-'
11-0-'-t-'
1'-0-.. -t-'
It -O-II-t-t
1'-0-8-1·'
'1-0-7-8-'
0
12-1
12-2
12-:t
12-"
12-e
12-.
12-7
12-t
12-.
(12-0H 11'
12-1
12-2
12-3
tI-..
12-e
12-.
12-7
12-t
12-.
11-0
11-'
H -I
" -3
11-"
11-.
11-.
" -7
" -I
.11-0)(11)
H -,
H -I
" -3
H-"
11-.
"
-.
11-'
11-7
II -t
H-.
11-7-' It-.-t
0-'
0-'
0-"
0-'
o-e
0-7
O-t
0-.
0-1
0-3
0-"
0-'
o-e
0-7
o-t
0-'
~
I
0
0
('
\
"
./
./
~TI!:
NAMP:
SYI180l
0
e•
3
•
••
8
8
7
3
3
3
3
3
3
[Ill
No~e.
n
I
~
~
U1
I-'
I
o
o
..-...
d"iii',
.~
long Ver~Icel Herk
UNOE'" NED CODES
UNOE'" NED CODES
UNDE'" NED CODES
UNDEFINED CODES
Elah~ One.
!8COIC
CODE
18 II
Alltll
CODE
III II
08CO
CODE
18 8
HaCO
CODE
111 II
ASCII/E8CDIC
CARD CODE
08CD
CARD
CODE
. .CD
CARD
I'D 3110
1'1 381
1'2 382
1'3 3113
I'.3U
1'8 388
1'8 388
'7 387
I'. 370
'1 371
I'A 372
'8 313
I'C 374
I'D 318
I'E 378
1'1' 377
30 080
00
01
02
03
O.
08
08
07
O'
01
I'
.,.
.,.
11'
'1'
'1'
00
01
02
03
04
Oll
08
07
O'
01
IE
'E
'E
.E
'E
IE
0
0
0
31
32
33
34
38
38
37
3.
31
FA
1'8
I'C
I'D
FE
1'1'
081
082
083
084
088
086
087
070
071
372
313
314
31"
318
377
00
01
02
03
O.
08
08
07
10
11
37
37
37
31
37
37
00
01
02
03
O.
Oll
08
07
10
11
38
38
31
31
38
38
I
2
3
4
8
8
7
••
le-l'-O-I-II-'
'2-11-0-'-11-'
'2-1'-0-.-'-'
12-n -0-8-'-'
12-1'-0-1-'-'
12-1'-0-7-'-1
e•
3
4
8
I
7
••
coot!:
I
e
3
4
It
I
7
•
1
.: I'rOM [8CDIC or ASOII ~o HaCD or -BeCD ~hl. I. e one-wev corre.pondence.
2. ISO de'ln•• ~h••• ASCII cod•• e. v.rl.ble 'or ne~lonel u •• ge.
3. SInce ~here I. no corre.pondlng ch.r.c~er e de'eul~ cherecter I • • ub.tl~uted here:
38 loc~el'(~' for HeCD end 31 (octel'I\' 'or 08CD.
•. In HaCD ~he code '" (octell mev repre.ent 1/2 or I
8. TM occuple. the .eme po. It Ion e. DC3.
TH I. en E8CDIC control cheracter
while DC3 I. en ASCII control cherecter .
•. The Internel end punched cerd code • • hown 'or HaCD end 08CD ere 'or cepltel elphebe~lc••
7. There ere two HaCO cerd code .et. CHaCDI end HeCD21, ~he dl"erence being the cerd punch repre.entetlon
'or 1+' end I-I, end for ITI end III.
I'or ~he HeCOI .e~ 1+' end 1-' ere
repre.ented with punch code. 12-0 end "-0, while IT' end (I) ere repre.ented bV .2 end ••.
I'or the HeCD2 .e~ 1+1 end 1-' ere repre.en~ed wl~h punch code. 12 end 11,
whIle '" end (!I ere repre.en~ed bV 12-0 end II-D .
•. The.e ere EBCDIC con~rol cherecter. end ere not,de'lned In the ASCII .tenderd .
•. IBM de'lne. ~he.e EBCDIC code. e. netlonel .Iph.betlc .M~ender •.
UNIFIED CHARACTER SET - GBCD SEQUENCE
HClrr
SVI18tn.
G8CO
CtlDE
18 8
NAME
HBcd
Ctlot
18 8
ASCII
CtlOE
18 8
E8COIC
CtlDE
18 II
IJ8CD
CARD
CtlDE
HBCD
CARD
CODE
ASCII/EBCDIC
CARD ccmE
------------------------------------------------------------------------------------------------------------ ---------
,
,.•
0
e
•
•
••
7
8
t
.,
)
7
Lett .r""'e~
NUlllber SID...
A~ SIO'"
Colon
Greeter Then
Que.~lo... Mark
Spece, 81 ....11.
A
•
.
C
D
n
I
It
I-'
0
G
H
I
a
4,7
c
"
t
Al!lper ••nd
".rlod
RIOh~ 8reck.~
Lef~ ".r.nthe.l.
L... Tha"
Rev.r •• St .... ~
Upward Arrow
J
K
L
".,N
,.
Q
R
7
••
J
~
Hyphan, .. I nus
Dot tar lID...
A.~.rl.k
RIOh~ Par."~ha.l.
I_I-Coto ...
Apoatrophe
,
t
00
01
02
03
04
08
De
07
O'
O.
OA
08
OC
00
OE
OF
10
11
12
13
14
18
III
17
III
I.
lA
18
'C
10
It
00
01
02
03
04
08
De
07
10
11
12
13
14
18
1.
17
20
21
22
23
24
28
28
27
30
31
32
33
34
38
311
, ... 37
20 40
II 41
22 4.
23 43
24 44
t8 48
2. 4 •
27 47
2880
28 III
IA 82
28 e3
2C 114
20 1111
2E 1111
2F 87
~
f
00
01
02
03
04
08
08
07
De
00
01
02
03
04
08
08
07
10
31'"
2A
3A
OC
OE
IF
00
11
It
13
14
'"
18
17
18
I.
OF
18
21"
3C
30
77
82
72
14
1.
37
18
II
22
23
24
28
2e
27
30
31
17
33
87
14
.0
811
38
41
42
43
44
48
4.
47
80
81
40
113
114
34
32
12
o.
2£
IE
tl
22
23
24
28
28
27
28
28
20
28
2C
lC
lA
OA
11
'0
31
32
3'
34
'"
3.
37
"
3.
88
23
40
3A
3E
3 ..
to
41
.. ,
43
44
48
4.
.. 7
411
48
211
2t
80
.11
3C
, 8C
• 8E
4A
48
4C
40
4t
4F
80
81
82
20
24
2A
211
38
27
oeo
081
082
083
084
oln,
088
0.7
070
071
133
043
100
072
07e
077
040
101
lot
103
10..
10e
10.
101
110
III
0411
0811
'38
080
074
134
1311
112
113
114
118
111
117
120
121
122
0811
044
0112
081
073
047
FO
Fl
F2
F'
F4
1'"11
1'"8
1'"7
1'".
....
, 4A
78
7C
7A
eE
eF
40
Cl
CI
C3
C4
C8
ce
C1
CII
C.
80
4.
8A
40
4C
, EO
8F
DI
Ot
03
D4
Oil
De
07
0'
011
80
118
IIC
80
5!
70
'80
381
382
383
384
365
388
387
370
371
112
173
'74
172
11'.
1117
100
301
30t
303
304
308
30e
301
310
31 I
120
1'3
132
118
114
340
137
321
321
323
324
328
328
327
330
331
140
133
134
1311
138
175
,
.
,
•
•7
•7
8
t-II'
3-11
4-11
e-II
e-.
7-.
8t.,.,
It-I
1'-t
12-3
12-4
1.-e
12-'
11-7
12-11
12-.
12
11-3-8
12-4-11
12-8-11
12-'-'
11-7-11
11-0
11 -1
11-t
11-3
11 -4
l1-e
11-'
11-7
II-II
II-II
11
'1-3-'
11-4-11
11-11-11
II-II-II
11-7-11
8
0-7-11
11-2-11
0-1-11
4-11
II-II
CltlClt-OJ
"-II
'-11
o-e-II
0-7-11
.lenk
.lenk
0
t
3
e
•
0
3
4
e
•
It-I
11-1
It-3
12-"
11-8
1.-'
11-1
1.-'
12-.
7·11
'2-3-11
(11)111-0)
0-4-11
8-'
11-11-'
12-11-11
11 -1
,
0
•
3
4
e
•7
••12-2-8
:J-II
12-1
12-t
11-3
12-"
12-e
It-.
11-1
I.-II
It-8
It
11-3-11
II-I-II
12-8-'
U!-4-.
0-2-11
11-7-11
11-1
l1-t
11-3
11-3
11-4
11-"
11-8
l1-e
II-II
" -II
11-7
11-7
11-11
11 -II
11-.
11-11
"'-0)(11) 11
11-3-e
11-3-'
11-4-11
11-4-'
12-4-'
'1-8-11
12-2-11
11-.-11
2-11
e-II
11-'
01
I-'
I
0
0
'"
/
;,"--'\
tmTE
GeCO
CODE
18 8
NAME
SYt180l
......
Hecl)
COD6
18 8
/"..,..
ASCII
CODE
18 8
EeCOIC
CODE
18 8
IJ8CO
CARD
CODE
HBCO
CARD
CODE
ASCII/BCOIC
CARD CODE
,--------------------------------------------------------------------------------------------------------------------+
I
S
T
U
"'U.
SI •• h
V
W
II
..,
.
l
,
•
Not ••
n
I
I-'
I-'
l.ft A,.,.ow
C_.
p.,.c.nt SIgn
Equ.I
Ooubl. Ouot.
Exclam.tlon "oInt CASCIII
30 80
31 .1
32 82
33 83
3 .....
38 .8
38 8'
37 .7
3' 70
38 71
.. 3,. 12
38 73
3C 7"
30 78
3E 7e
3F 77
10 20
31 .1
32 .2
33 .3
3 .....
38 .8
38 8'
37 87
3. 70
38 71
3E 7.
38 73
10 3"
08 13
20 88
.. 30 78
'0,.
CO,.,.••
'0,.
'0,.
r.
~
I
o
o
083
2F 081
83 In
84 12 ..
""
S.
'"
S8
S8
"A
SF
2C
2"
30
22
CI 21
128
12'
127
130
131
132
137
0""
0 .. "
0711
0 .. 2
04'
4E
.1
E2
E3
E..
E"
E.
E7
E.
U
.0
'8
'C
7E
7F
4F
'"
141
3 .. 2
3"3
3 ....
3 .. 8
3 .. '
3 .. ,
3"0
3"1
IS"
1"3
HI"
17.
177
1"
12-0
0-1
0-2
0-3
0-"
0-8
0-.
0-'
0-1
0-1
0-2-1
0-3-e
0-"-.
0-8-1
o-e-e
0-7-.
'12-01'121
0- I
0-2
0-3
0-"
0-8
0-.
0-7
0-1
0-1
o-e-I
0-3-e
12-8-1
3-a
II-e-I
o-e-.
12-e-8
0-1
0-2
0-3
0-"
0-8
o-e
0-'
0-1
0-1
0-"-1
0-3-1
0-"-.
e-I
7-8
12-'-.
1. F"~ EeCOIC or ASCII to HBCO or GeCO thl. I • • on.-w.v corr •• pond.nc•.
I. ISO d.' In•• the •• ASCII cod• • • • v.,.Iebl. fo,. n.tlon.' u •• ge.
3. Slnc. th.,.. I. no
pondlng ch.,.ect.,. • de'.ult ch.,..ct.,. I • • ub.tltuted he,.e:
38 Cocte'Icdl
HeCO end 37 (oct.'I(\I for GBCO.
... In HeCO tho cod. e7 (octell Mev ,..p,. ••• nt 1/2 0,. I
e. TH occupl •• the .am. po. It Ion •• DC:).
TH I • •n EBCDIC control cherect.r
whll.OC3 I • •n ASCII control ch.,..ct.,..
I. The Int.,.n.' .nd punch.d c.rd cod• • • hown
HBCO .nd tJeCO er. 'or ceplt.1 elphebetlc •.
1. Th.,. • •,.. two HeCO c.,.d cod• • • t . CHBCDI .nd HBC02l, the dl".,..nc. b.lng the c.,.d punch repr •••nt.tlon
C+I .nd (-I, .nd
('I .nd (II.
Fo,. the HeCOl •• t (+1 .nd (-I .,..
rep,. ••• nt.d with punch cod•• 12-0 .nd 11-0, whll. ('I .nd (II er. rep,. ••• nted bV 12 .nd II.
Fo,. tho HBC02 •• t (+1 .nd (-I
,..p,. ••• nt.d with punch cod•• 12 .nd 1',
whll. (tl .nd (!I .,.. r.pr ••• nt.d by 12-0.nd 11-0.
e. Th••• •
EBCDIC control ch.,..ct.,. • •nd .,.. not d.'ln.d In the ASCII .t.nd.,.d .
•. IBH d.' In•• tho . . EBCDIC cod• • • • n.tlon.I .Iph.b.tlc .Mt.nd.,. •.
'0,.
U1
f-J
n
.r.
UNIFIED CHARACTER SET - BBeD SEQUENCE
HaTE
SYMBOL
sectl
coot
•• e
HeCO
CODE
NAP'IE
•• e
ASCII
CODE
I. e
E8COIC
CODE
•• •
HeCD
CARD
CODE
seco
CARD
CODE
ASCII/BCOIC
CARD CODE
--------------------------------------------------------------------------------------------------------------------00 00
01 01
0202
03 03
04 04
00 00
08 O.
01 01
O. 10
01 "
OA 11
08 13
OC 14
00 18
OE 18
OF 11
10 20
11 21
II 22
13 23
14 2.
III 20
18 28
11 R1
18 30
IS 31
I,. 32
0
1
a
3
4
e
a
1
•S
•·
~
7
•,.•
•
Apo.~"ophe
Ique'
Colon
Spltee, 81e. .
Gree~er Then
Ah!per.end
,.Iu.
C
n
I
......
0
E
F
N
II
H
I
1_I'Coion
,.."Iod
)
•,
IS
7
1
, . 33
IUah~ "_.n~he.l.
"."c.n~ Sign
elo••d 80M
Que.~ I on "'rk
Hyphen, "Inu.
J
K
L
",.
N
D
Q
R
•8
•
f
4,7 I
~
U1
Nwober Sign
Ooller SIgn
A.~.rl.k
Double Quo~e
No~ Equel
EMcl.~.~lon Poln~
(E8COIC)
Ie
10
IE
IF
20
21
22
13
24
2e
28
27
2.
21
2A
28
2C
20
f 2E
I 2F
34
3e
3.
31
40
41
42
43
44
4e
.e
.,
80
el
82
e3
84
81'
oe
01
t
00 00
01 01
02 02
03 03
04 04
OS o.
O. 0.
01 01
O. 10
01 11
2F e1
30 111
00 18
10 20
01 18
1A3I
30 .0
11 21
11 22
13 23
14 2.
10 til
•• 2.
11 27
1. 30
It 'I
2E "
18 33
20 88
3C 14
20 40
OF 11
2A e2
21 41
t2 U
23 .3
24 44
211 4e
2. 48
21 41
2. 80
2S el
08
2&
2C
3E
\ IF
J IC
"
83
8.
,.
31
..
30
31
32
33
34
3S
3.
31
3.
3S
21
30
3A
20
Itt
t.
28
41
.2
.3
•4
40
4.
41
••
4S
31
2t
2S
2e
• 8E
3F
20
4A
48
4C
40
4t
4'
eo
el
e2
23
2.
2A
22
\ SC
J SO
oeo
0.,
0.2
083
084
08e
088
0.,
010
011
041
0111
012
040
01.
04.
003
101
102
102
104
108
108
107
110
III
013
08S
081
o.e
138
011
oee
III
113
" ..
118
11.
1t1
120
121
122
043
0 ••
082
0.2
13.
13S
FO
Fl
F2
'3
F4
F.
F8
F1
F.
FS
10
71
7A
40
.E
00
4E
Cl
C2
C3
C4
CO
C'
C1
C'
CS
8E
48
'0
ae
8F
8F
.0
01
02
03
04
De
O.
01
08
Ot
18
ee
.SC
7F
\ EO
I SA
3.0
3.,
3.2
3.3
384
38S
3 ••
381
310
311
l1e
118
112
100
18.
120
118
301
302
303
30•
3011
30.
301
310
311
"e
113
138
le4
131
187
140
321
322
323
32.
318
328
321
330
331
173
133
13.
117
3.0
132
0
1
2
3
0
•
a
3
..
..
.
••
••
e
a
7
It
a
7
•
S
t· • .
3-.
....
0""
81."
1-.
'12'01,1t1
12-1
12'2
12'3
12'4
II-e
12-a
12-7
11"
12-S
12'2-1
12'3"
12'4"
12'8-'
12-8-.
Cl21 Cl2-0I
,11-0IClIl
" -1
11'2
11'3
11-4
" -e
11'1
11-.
l1-a
11-2-'
11-3-'
11-.·.
11-0-.
ll-e-8
111111'-0)
12'0
1.'1
11'1
12-3
11'4
12'&
12-a
12-1
12"
II'S
II-e·,
11'3"
11-8-.
0-4-.
"-0
7-t
II
11 .,
11-a
11'3
11'4
11'8
l1-e
11-7
11'.
l1'S
3'.
11-3"
11'.-.
0-.·.
12-7-.
12-.-.
"
-.
e
a
1
11-1,' e·.
e·.
.1 . . .
•••
0
1
I
3
•••
11
•••
2-.
.,enk
0-.· •
11
••••••
1.-1
II-a
12-3
11'4
lZ"
12'.
12-7
Ilr-.
lI-S
"-S"
11'3"
11'8"
0'4-.
11-7-.
0-7"
"
" -1
11'2
11-3
"'4
11-8
11-.
11-7
11-.
l1-S
3-a
11,3-.
11-.·.
7'.
0-2-t
I'-2-t
I-'
I
0
0
r-"
\"
""'-
/)
',.
........:
Ntln
(
I
•
L...
Th.n
SI •• h
T
U
V
W
)(
Y
Z
•,
C
CR
•
ko~ ••
I
I-'
W
C_.
A~
C,.edl~
I
<:)
<:)
81an
C.nt. SIan
,. ",.OM
3.
4.
II.
tHlcll
ASCII
PlICDI C
CODE
18 8
16 8
18
16
I.
30
31
32
33
34
3e
3"
31
38
38
3A
38
3C
R 30
3E
.. 31'
80
81
82
83
84
8e
88
81
10
11
12
13
14
111
78
71
coot:
IE
31
32
33
34
3e
3"
31
38
38
DC
38
10
3F"
.3A
[ OA
38
81
82
83
"4
"e
"8
81
10
71
14
73
3e
11
12
12
ceDE
3e
2..
e3
e4
88
118
81
118
118
8A
40
2C
2"
CI 21
8
014
oe1
123
124
12e
12"
121
130
131
132
100
0114
0110
041
_ II.. 131
[ e8 133
.,
8
4C 114
141
[2 342
~3 343
~4 344
E8 3415
E8 34"
E7 341
E8 380
U 381
7C 114
88 1113
40 1111
41' 111
_ eo 11111
~ "A 112
HeCD
CARD
oeco
8-8
0-1
0-2
0-3
0-4
0-8
12-8-8
0-1
0-1
0-3
0-4
0-11
0-8
0-1
0-1
0-.
4-"
0-3-"
12-11-"
0-1-1
0-2-e
2-1
CODE
o-e
0-7
0-1
0-.
0-2-.
0-3-8
0-4-"
0-8-'
0-8-'
0-1-e
CARD
CODE
ASCII/PlICDI C
CARD CCO~
12-4-1
0-1
0-1
0-3
0-4
0-8
0-'
0-7
0-'
0-.
4-'
0-3-8
11-8-1
12-7-8
0-8-"
12-2-1
EBCDIC or A8CII ~o HeCD or oeco thl. I • • one-w.v corr ••pond.nc•.
~he •• ASCII cod•••• v.rl.bl. 'or n.tlon.1 u ••a •.
Slnc. ~h.r. I. no corr •• pondlna ch.r.ct.r • d.'.ul~ ch.ract.r I • • ub.tltuted her.:
38 10ct.,)ID) 'or HeCO .nd 37 loc~.')I') for 08CD.
In HltCD the cod. e1 10ct.11 ~v r.pr ••• nt 1/2 or I
TM occupl •• ~h• •em. po. It Ion •• DC3.
TM I • •n EBCDIC control chereet.r
whll.DC3 I • •n ASCII control ch.r.ct.r .
Th. Int.rnel .nd punched c.rd cod• • • how" for HeCD .nd 08CO . r . for ceplt.1 .,phebe~lc•.
Th.r • •r. two HeCO c.,.d co bits 2-1
BLANK
Insert Blank on Suppression 7-46
Move with Zero Suppression and Blank
Replacement 7-55
BLANK-WHEN-ZERO
Blank-when-zero flag
BOLR
BOLR 7-34
BOLR control field
7-43
BOOLEAN
Boolean Expressions 7-13
Boolean Operation Instruc~ions 7-13
Boolean Operations 7-2
Boolean operations 7-34
Evaluation of Boolean Expressions
7-13
BOUND
Bound 3-8
Bound address 3-11
Bound Check Equations 5-85
bound field 8-277
bound value 5-58
Bounds Checking 5-83
Locating New Bound for Shrink 8-300
modifying the bound field 8-418
BOUND FAULTS
Bound Faults 8-306
BTD
BTD 8-81
BUFFER
buffer instructions 1-1
Translation look-aside buffer
5-71
BYPASS
Safe Store Bypass Flag (SSBF)
4-19
BYTE
byte checks 5-86
Byte Operations 5-85
byte positions 8-536, 8-537
BYTES
9-Bit Bytes 2-2
Store 9-bit Bytes of A-Register
8-536
Store 9-bit Bytes of Q-Register
8-537
CACHE
Clear cache 8-91
CONTROL 5-82
CALENDAR
calendar Clock Register
4-20
8-163
CAMP
BOOL
BOOL 7-13
CAMP 8-84
i-7
DZ5l-00
CANA
CANA 8-87
CANAQ
CANAQ 8-88
CANQ
CANQ 8-89
CANXN
CANXn
8-90
CARRY
Add with Carry to A-Register 8-71
Add with Carry to Q-Register 8-73
Carry 4-8
Carry indicator 2-4
Subtract with Carry from A-Register
8-568
Subtract with Carry from Q-Register
8-570
Transfer On Carry 8-609
Transfer On No Carry 8-596
CATEGORIES
Fault Categories
6-4
CC
Calendar ClocK Register
4-20
CENTRAL
Load Central Processor Register
8-270
5-59
CHANGE
Change Table 7-44
CHANNEL
Connect I/O Channel
CHARACTER-MOVE
Character Move to/from Register
Instructions 7-28
Descriptor for Character Move
Instructions 7-29
CHARACTER! STI CS
Read Processor Model Characteristics
8-470
CCAC
CCAC 8-91
CHAIN
indirect chain
CHARACTER (cont )
Character Indirect (0) variation
5-17
Character Move To/From Register.
Instructions 8-11
Character Operations 5-48
Character Positions 2-2
character positions 8-543
Character-Strings 2-2
Compare Alphanumeric Character
Strings 8-142
Decimal Data Character Codes 2-9
Sequence character 5-14
Sequence Character (SC) variation
5-18
Sequence character reverse 5-14
Sequence Character Reverse (T) 5-19
Test Character and Translate 8-583
CHARACTERS
4-Bit Characters 2-2
6-Bit Characters 2-2
6-bit characters 5-19
Compare Characters and Translate
8-145
Ignore Source Characters 7-45
Move SOurce Characters 7-54
Scan Characters Double 8-498
Scan Characters Double in Reverse
8-502
Store 6-bit Characters of A-Register
8-540
Store 6-bit Characters of Q-Register
8-542
8-92
CHARACTER
Alphanumeric Character Number (CN)
Codes 7-27
character codes for ASCII and EBCDIC
overpunched sign 8-397
Character indirect 5-14
CHT
CHT 7-44
o
Character Indirect (0) variation
5-17
o 5-14
C1 variation 5-17
i-8
DZ51-00
aoc
CMPNX
CMPNX
CIOC 8-92
CIRCUITRY
processor logic circuitry
8-421
CLEAP
Clear Associative Memory Pages 8-84
Clear cache 8-91
Data Stack Clear Flag (DSCF) 4-19
Load A-Register and Clear 8-275
Set Zero and Negative Indicators
from Storage and Clear 8-577
CLIMB
CLIMB 3-7, 4-15, 4-23, 4-24, 4-26,
8-96
Climb five versions fields 8-130
Domain Transfer (CLIMB) 7-58
ICLIMB (Inward CLIMB) - 00 8-101
Inward CLIMB Interrupts 6-24
OCLIMB (Outward CLIMB) - 01 8-121
Outward CLIMB 8-121
(
.•
CMPO
CMPQ
CMPXN
CMPXn
8-151
8-153
8-15'
CMRR
CMRR 8-156
CN
Alphanumeric Character Number (CN)
Codes 7-27
CNAA
CNAA 8-158
CNAAQ
CNAAQ 8-159
C),AQ
CNAQ 8-160
CLOCK
Calendar Clock Register 4-20
free running clock 4-12
CNAXN
CNAXn
CMG
CMG 8-134
CODE
FLOATABLE CODE 5-27
CMK
CMK 8-135
CODES
ADDRESS MODIFICATION OCTAL CODES
5-25
Alphanumeric Character Number (CN)
Codes 7-27
Alphanumeric Data Type (TA) Codes
7-27
character codes for ASClI and EBCDIC
overpunched sign 8-397
Decimal Data Character Codes 2-9
Micro Operation Code Assignment Map
7-57
mnemonic code 8-1
octal value of the operation code
8-2
Operation Code Map (Bit 27 = 0) A-2
Operation Code Map (Bit 27 = 1) A-4
Processor Faults By Fault Code 6-3
Register Codes 5·33
System Controller Illegal Action
Codes 4-36
CMPA
CMPA 8-137
CMPAQ
CMPAQ 8-138
CMPB
CMPB 8-139
CMPC
CMPC 8-142
CMPer
CMPCT
8-145
CMPN
CMPN 8-148
i-9
8-161
DZ51-00
COMBINE
Combine Bit Strings Left 8-162
Combine Bit Strings Right 8-165
COMMAND
Command Faults
8-305
COMPARATIVE
Comparative AND with A-Register
8-87
Comparative AND with AQ-Register
8-88
Comparative AND with Index Register
n 8-90
Comparative AND with Q-Register
8-89
Comparative NOT AND with A-Register
8-158
Comparative NOT AND with AQ-Register
8-159
Comparative NOT AND with Index
Register n 8-161
Comparative NOT AND with Q-Register
8-160
COMPARE
Compare Alphanumeric Character
Strings 8-142
Compare Bit Strings 8-139
Compare Characters and Translate
8-145
Compare Magnitude 8-134
Compare Masked 8-135
Compare Numeric 8-148
Compare Numeric Extended 8-151
Compare Register to Register 8-156
Compare with A-Register 8-137
Compare with AQ 8-138
Compare with Index Register n 8-154
Compare with Limits 8-167
Compare with Q-Register 8-153
Comparison Operations 7-2
Data Comparison 7-7
Double-Precision Floating Compare
8-170
Double-Precision Floating Compare
Magnitude 8-169
Floating Compare 8-229
Floating Compare Magnitude 8-228
Set Pointer Compare Flags Off 8-518
COMPLEMENT
Load Complement into A-Register
8-267
Load Complement intoAQ-Register
8-268
Load Complement into Index Register
n 8-273
Load Complement into Q-Register
8-272
Load Complement Register from
Register 8-279
CONFIGURATION
Configuration Register Port
Assignment 4-30
SCU Configuration Register 4-47
CONNECT
Connect I/O Channel 8-92
Load Connect Table Register 8-269
Read Connect Word Pair 8-437
CONSTANTS
conversion constants 8-78
CONTINUE
Decrement Address, Increment Tally,
and Continue 5-23
Decrement Address, Increment Tally,
and Continue (T) 5-21
Increment Address, Decrement Tally,
and Continue 5-22
CONTROL
Stack Control Register (SCR)
4-22
CONTROLLER
Read System Controller Register
8-468
Set System Controller Register
8-527
System Controller Illegal Action
Codes 4-36, 4-38
SYSTEM CONTROLLER INTERRUPTS 6-23
CONVERSION
Binary to Decimal Convert 8-81
Binary-To-BCD Conversion 7-67
Binary-to-BCD Convert 8-77
conversion constants 8-78
Conversion instructions 7-6
conversions between binary and
decimal numbers 7-36
i-10
DZ5l-00
<-"
CONVERSION (cont)
Data Conversion InstTuctions 7-36
Decimal to Binary Convert 8-188
Radix conversion 7-7
COpy
Copy 8-284
copy option 8-319
COUNT
Transfer On Count
8-611
COUNTER
I NSTRUCTI ON COUNTER (I C) 4-13
Store Instruction Counter Plus 1
8-538
Store Instruction Counter Plus 2
8-539
CPU
CPU Mode Register 4-26, 4-28
CPU Number Register 4-34
CPU SCU IMX 3-1
CSL
CSL
(/
8-162
CSR
CSR 8-165
CURRENCY
Move with Floating Currency Symbol
Insertion 7-48
OiL
CWL 8-167
DATA
Alphanumeric Data Type (TA) Codes
7-27
Data Comparison 7-7
Data Conversion Instructions '7-36
Data Manipulation 7-7
Data Movement 7-7
Data Movement Instructions 7-2
Data Shifting Instructions 7-3
DATA STACK ADDRESS REGISTER (DSAR)
4-25
Data Stack Clear Flag (DSCF) 4-19
DATA STACK DESCRIPTOR REGISTER
(DSDR) 4-25
Decimal Data Character Codes 2-9
double-precision data 2-1
DATA (cont)
Load Data Stack Address Register
8-309
Load Data Stack Descriptor Register
8-310
processing of scattered data 5-22
processing of tabular data 5-13
single-precision data 2-1
Store Data Stack Address Register
8-546
Store Data Stack Descriptor Register
. 8-547
DECIMAL
Add Using Three Decimal Operands
8-31
Add Using Three Decimal Operands
Extended 8-36
Add Using Two Decimal Operands 8-25
Add Using Two Decimal Operands
Extended 8-28
ADSC4 - Packed decimal alphanumeric
descriptor 5-36
Binary to Decimal Convert 8-81
conversions between binary and
decimal numbers 7-36
Decimal Arithmetic 7-7
Decimal Data Character Codes 2-9
Decimal Number Ranges 2-11
Decimal Numbers 2-8
Decimal to Binary Convert 8-188
Divide Using Three Decimal Operands
8-200
Divide Using Three Decimal Operands
Extended 8-205
Divide Using Two Decimal Operands
8-196
Divide Using Two Decimal Operands
Extended 8-198
Floating-Point Decimal Numbers 2-10
Multiply Using Three Decimal
Operands 8-359
Multiply Using Three Decimal
Operands Extended 8-363
Multiply Using Two Decimal Operands
8-354
Multiply Using Two Decimal Operands
Extended 8-357
NDSC4 - Packed decimal numeric
descriptor 5-37
Packed Decimal 2-2
Packed Decimal (4-bit) 2-9
i-11
DZ5l-00
DECIMAL (cont)
Subtract Using Three Decimal
Operands 8-481
Subtract Using Three Decimal
Operands Extended 8-484
Subtract Using Two Decimal Operands
8-476
Subtract Using Two Decimal Operands
Extended 8-479
DECREMENT
Decrement address 5-14
Decrement Address, Increment Tally
(T) 5-21
Decrement Address, Increment Tally,
and Continue 5-23
Decrement Address, Increment Tally,
and Continue (T) 5-21
Increment address decrement tally
5-14
Increment Address, Decrement Tally
(T) 5-20
Increment address, decrement tally,
and continue 5-15
Increment Address, Decrement Tally,
and Continue 5-22
DELAY
Delay Until Interrupt Signal
8-184
DELTA
Add Delta (AD) variation 5-24
Subtract delta 5-15
Subtract Delta (SO) variation 5-25
DENSE
Dense Page Table 5-72
DERAIL
Derail
8-187
DESCRIPTOR
Address Register n to Alphanumeric
Descriptor 8-62
Address Register n to Numeric
Descriptor 8-65
ADSC4 - Packed decimal alphanumeric
descriptor 5-36
ADSC6 - BCI alphanumeric descriptor
5-36
ADSC9 - ASCII alphanumeric
descriptor 5-36
DESCRIPTOR (cont)
Alphanume~ic Descriptor To Address
Register n 8-21
ALPHANUMERI C OPERAND DESCRI PTOR
FORMAT 7-26
Alphanumeric Operand Descriptors
5-36
BOSC - Bit descriptor - 5-36
Bit String Operand Descriptor 5-35
BI T STRI NG OPERAND DESCRI PTOR FORMAT
7-35
DATA STACK DESCRIPTOR REGISTER
(DSDR) 4-25
Descriptor for Character Move
Instructions 7-29
DESCRI PTOR REGI STER I NSTRUCTI ONS
7-58
Descriptor Segment Descriptor 8-101
descriptor storage 3-6
Descriptor Types 3-8
Descriptors 3-6
Dynamic Linking Descriptor 3-15
Entry Descriptor 3-14, 8-101
Extended Descriptor 3-12
Extended Descriptor With Working
Space Number 3-13
ID - Indirect Operand Descriptor
5-32, 7-24
Load Data Stack Descriptor Register
8-310
Load Descriptor Register n 8-280
NDSC4 - Packed decimal numeric
descriptor 5-37
NDSC9 - ASCII numeric descriptor
5-37
Numeric Descriptor to Address
Register n 8-405
NUMERIC OPERAND DESCRIPTOR FORMAT
7-31
Numeric Operand Descriptors 5-37
Operand Descriptor Address
Preparation 5-41
OPERAND DESCRI PTOR I NDI RECT POI NTER
FORMAT 7-25
Operand Descriptor Modification (ES)
5-55
Operand Descriptors 5-35
Operand Descriptors and Indirect
Pointers 7-25
Save Descriptor Register n 8-512
segment descriptor 3-1, 5-58
SEGMENT DESCRI PTOR REGI STERS (DRn)
4-16
i-12
DZ51-00
DESCRIPTOR (cont)
SEGMENTS 3-6
Shrunken Descriptor 3-16
Standard Descriptor 3-8, 5-60,
8-101
standard descriptor 8-330
Standard Descriptor (ES) 5-64
Standard Descriptor With Working
Space Number 3-10
Store Data Stack Descriptor Register
8-547
Store Descriptor Register n 8-544
Super Descriptor 3-11
Super Descriptor With Working Space
Number 3-12
Vector for Standard Descriptor,
Super Descriptor 8-281
Virtual Address Generation, Super
Descriptor 5-61
DESCRI PTOR REGI STERS
Store Test Descriptor Registers
8-563
DESCRI PTORS
Shrink for Extended Descriptors
8-294
Shrink for Standard and Super
Descriptors 8-284
DESIGNATOR
register designator 5-2
tag designator (td) 5-2
tally designator 5-2
Tally Designators 5-16
DFLP
D~·p
• l."l
8-176
DFMP
DFMP 8-177
DFRD
DFRD 8-178
DFSB
DFSB 8-179
DFSBI
DFSBI
8-180
DFST
DFST 8-181
DFSTR
DFSTR 8-182
DI
DI 5-14
DI Variation
DIC
DIC Variation
5-21
5-23
DIRECT
direct operand address modification
5-4
NS Direct Lower (DL) 5-4
NS Direct Upper (DU) 5-4
DFDV
DFDV 8-173
DIRECTORY
Load Page Table Directory Base
Register 8-340
Locating the page table directory
word 5-72
Page Directory Base Register (PDBR)
1-7
PAGE DIRECTORY BASE REGISTER (PDBR)
4-26
page table directory 3-2
Page Table Directory Word 5-72
Page Table Directory Word (PTDW)
Format 5-68
Store Page Table Directory Base
Register 8-519
Store PTWAM Directory Word 8-555
DFLD
DFLD 8-175
DIS
DIS 4-13, 8-184
DFAD
DFAD 8-168
DFCMG
DFCMG
8-169
DFCMP
DFCMP 8-170
DFDI
DFDI
8-171
i-13
DZ51-00
DI SPLACEMENT
Add 4-Bit Displacement To Address
Register 8-15
Add 6-Bit Displacement To Address
Register 8-17
Add 9-Bit Displacement to Address
Register 8-19
Add Bit Displacement To Address
Register 8-23
Add Word Displacement To Address
Register 8-75
Displacement register 8-11
Subtract 4-Bit Displacement from
Address Register 8-471
Subtract 6-Bit Displacement from
Address Register 8-472
Subtract 9-Bit Displacement from
Address Register 8-473
Subtract Bit Displacement from
Address Register 8-489
Subtract Word Displacement from
Address Register 8-572
DIV
DIV 8-185
DIVIDE
Divide Fraction 8-208
Divide Integer 8-185
Divide Register by Register 8-210
Divide Using Three Decimal Operands
8-200
Divide Using Three Decimal Operands
Extended 8-205
Divide using Two Decimal Operands
8-196
Divide Using Two Decimal Operands
Extended 8-198
Double-Precision Floating Divide
8-173
Double-Precision Floating Divide
Inverted 8-171
Floating Divide 8-232
Floating Divide Inverted 8-230
DIVISION
division
7-3
DL
NS Direct Lower (DL;
DOMAIN
domain registers
3-4
5-4
DOMlJ N ( cont )
Domain Transfer 8-96
Domain Transfer (ClJMB) 7-58
Domains 3-3
interdomain references 8-97
OOUBLE
Execute Double 8-639
Load Double Register to Register
Pair 8-308
Load Double to GKn 8-249
Repeat Double 8-446
Scan Characters Double 8-498
Scan Characters Double in Reverse
8-502
Store Double from GXn 8-262
DOUBLE PREClSION OPERANDS
Quadruple-Precision Floating
Multiply with Double-Precision
Operands 8-435
DOUBLE-PRECISION
double-precision data 2-1
Double-Precision Floating Add 8-168
Double-Precision Floating Compare
8-170
Double-Precision Floating Compare
Magnitude 8-169
Double-Precision Floating Divide
8-173
Double-Precision Floating Divide
Inverted 8-171
Double-Precision Floating Load
8-175
Double-Precision Floating Load
Positive 8-176
Double-Precision Floating Multiply
8-177
Double-Precision Floating Round
8-178
Double-Precision Floating Store
8-181
Double-Precision Floating Store
Rounded 8-182
Double-Precision Floating Subtract
8-179
Double-Precision Floating Subtract
Inverted 8-180
Double-Precision Unnorma1ized
Floating Add 8-193
Double-Precision Unnormalized
Floating Multiply 8-194
i-14
DZ5l-00
DV2DX
DV2DX
DOUBLE-PRECISION (cant)
Double-Precision Unnormalized
Floating Subtract 8-195
DOUBLE-WORD
Word and Double-Word Operations
5-84
DR
8-198
DV3D
DV3D 8-200
DV3DX
DV3DX
8-205
DVF
DVF 8-208
DR 8-11
DRL
DRL 8-187
DVRR
DVRR
DRn
DRn 4-17
Loading DRn 8-123
SEGMENT DESCRI PTOR REGI STERS (DRn)
4-16
8-210
DYNAMIC
Dynamic Linking Descriptor
E
EXPONENT REG! STER (E)
DSAR
DATA STACK ADDRESS REGISTER (DSAR)
4-25
DSCF
Data Stack Clear Flag (DSCF)
DSDR
DATA STACK DESCRIPTOR REGISTER
(DSDR) 4-25
4-19
8-188
EAA 8-212
EAQ
EAQ 8-213
EXPONENT ACCUMULATOR QUOTIENT
REGI STER (EAQ) 4-5
EAXN
5-4
DU/DL
DU/DL Modification (ES)
DUFA
DUFA 8-193
DUFM
DUFM
8-194
DUFS
DUFS
8-195
DV2D
DV2D
8-196
8-214
EBCDIC
character codes for ASCII and EBCDI C
overpunched sign 8-397
DU
NS Direct Upper (DU)
4-5
EM
EAXn
DTB
DTB
3-15
5-55
EDAC
EDAC (Error Detection and
Correction) bits 2-1
EDIT
ALPHANUMERI C EDI T (MVE) 7-41
Edit Flags 7-42
Edit Insertion Table 7-39
Edited Move Micro Operations 7-6
MICRO OPERATIONS FOR EDIT
INSTRUCTIONS MVE AND MVNE 7-38
Move Alphanumeric Edited 8-380
Move Numeric Edited 8-389
Move Numeric Edited Extended 8-393
NUMERI C EDI T (MVNE And MVNEX) 7-40
(/
i-15
DZ51-00
EFFECTIVE
Effective Address Generation 5-52
Effective Address to A-Register
8-212
Effective Address to Index Register
n
ERSA
ERSA 8-223
8-214
Effective Address to Q-Register
8-213
Effective Address to Register
Instructions 7-3
Effective Pointer and Address to
Test 8-215
Effective Pointer To Pointer
Register n 8-216
ERSQ
ERSQ 8-224
ERSXN
ERSXn
ERXN
ERXn
8-225
8-226
ES
EIGHT
EIGHT 8-265, 8-341, 8-343, 8-525
END
End Floating Suppression 7-44
End suppression flag 7-42
ENF
ENF
ERRR
ERRR 8-222
7-44
ENTRY
Entry Descriptor 3-14, 8-101
Entry Location 3-14
Insert Table Entry One Multiple
7-46
Master Mode Entry 8-352
EPAT
EPAT 8-215
EPPRN
EPPRn 8-216
EQUATIONS
Bound Check Equations
EXCLUSIVE
Exclusive OR
8-222
EXCLUSIVE OR
EXCLUSIVE OR
EXCLUSIVE OR
8-226
EXCLUSIVE OR
EXCLUSIVE OR
A-Register
EXCLUSIVE OR
Register n
EXCLUSIVE OR
Q-Register
5-85
ERA
ERA 8-219
ERAQ
ERAQ 8-220
ERQ
ERQ 8-221
ERROR
Memory Error Status Register
parity error 4-10
DU/DL Modification (ES) 5-55
Effective Address Generation 5-51
ES A/Q/GXn Modification 5-52
ES Address Modification with AR
5-50
ES Address Modification with no AR
5-49
ES Instruction Address Field 5-49
ES Mode Address Generation 5-49
ES Mode Instructions 7-62
IC Modification ES 5-54
NS ES Segmentation Modes 5-1
Operand Descriptor Modification (ES)
5-55
Standard Descriptor (BS) 5-64
Tag Field Modification ES 5-52
Virtual Address Generation (ES)
5-64
4-51
Register to Register
to A-Register 8-219
to AQ-Register. 8-220
to Index Register n
to Q-Register 8-221
to Storage with
8-223
to Storage with Index
8-225
to Storage with
8-224
EXECUTE
Execute (XEC) 8-637
Execute Double 8-639
i-16
DZ51-00
EXECUTE (con t )
Execute Instructions
EXPANSION
binary expansion
F
7-67
2-8
EXPONENT
Add to Exponent Register 8-41
exponent 2-5
EXPONENT ACCUMULATOR QUOTI ENT
REG! STER (EAQ) 4-5
Exponent overflow 4-9
EXPONENT REGI STER (E) 4-5
Exponent underflow 4-9
hexadecimal exponent mode 4-12
Load Exponent Register 8-312
Store Exponent Register 8-548
Transfer On Exponent Overflow 8-587
Transfer On Exponent Underflow
8-589
EXPRESSIONS
Boolean Expressions 7-13
Evaluation of Boolean Expressions
7-13
EXTENDED
Add Using Three Decimal Operands
Extended 8-36
Add Using Two Decimal Operands
Extended 8-28
Compare Numeric Extended 8-151
Divide Using Three Decimal Operands
Extended 8-205
Divide Using Two Decimal Operands
Extended 8-198
Extended Descriptor 3-12
Extended Descriptor With Working
Space Number 3-13
Extended Fault Register 4-40
Load Extended Address n 8-313
Move Numeric Edited Extended 8-393
Move Numeric Extended 8-395
Multiply Using Three Decimal
Operands Extended 8-363
Multiply Using Two Decimal Operands
Extended 8-357
Shrink for Extended Descriptors
8-294
Subtract Using Three Decimal
Operands Extended 8-484
Subtract Using Two Decimal Operands
Extended 8-479
F Variation
5-17
FACTOR
scaling factor
Scaling factor
5-39, 8-34
7-32
FAD
FAD 8-227
FAULT
Extended Fault Register 4-40
Fault categories 6-4
Fault Priority 6-2
Fault Procedures 6-1
Fault Recognition 6-2
FAULT REGISTER FORMAT 4-36
Fault trap 5-14
Fault variation 5-17
Missing Page fault 5-71
SCU FAULT REGISTER 4-44
FAULTS
Command Faults 8-305
Faults And Interrupts 1-2
Hardware-Generated Faults 6-16
IC Values Stored on Faults and
Interrupts 6-25
Illegal Procedure (IPR) Faults
8-305
Instruction-Generated Faults 6-4
Miscellaneous Faults 6-18
Mode Faults 6-17
Processor Faults By Fault Code 6-3
Program-Generated Faults 6-7
Virtual Memory-Generated Faults
6-10
FCMG
FCMG 8-228
FCMP
FCMP
FDI
FDI
8-229
8-230
FDV
FDV 8-232
FIELD
BOLR control field
bound field 8-277
8-163
(
i-17
DZS1-OO
FIELD (cant)
ES Instruction Address Field 5-49
flags field 3-8, 3-10, 3-11, 3-12
modifying the bound field 8-418
Mu1tiword Modification Field 5-31,
7-24
Tag Field 5-2
Tag Field Modification ES 5-52
FI XED-POI NT
Fixed-Point Arithmetic Instructions
7-3
FIXED-POINT INSTRUcrlONS 7-16
Fixed-point Instructions 7-65
Fixed-Point Numbers 2-3
Ranges Of Fixed-Point Numbers 2-4
FLAG
Blank-when-zero flag 7-43
Data Stack Clear Flag (DSCF) 4-19
Edit Flags 7-42
End suppression flag 7-42
flags field 3-8, 3-10, 3-11, 3-12
Safe Store Bypass Flag (SSBF) 4-19
Sign flag 7-43
Zero flag 7-43
FLAGS
Set Pointer Compare Flags Off
8-518
FLD
FLD 8-234
FLOATABLE
FLOATABLE CODE 5-27
FLOATING
Double-Precision Floating
Double-Precision Floating
8-170
Double-Precision Floating
Magnitude 8-169
Double-Precision Floating
8-173
Double-Precision Floating
Inverted 8-171
Double-Precision Floating
8-175
Double-Precision Floating
Positive 8-176
Double-Precision Floating
8-177
Add 8-168
Compare
Compare
Divide
Divide
Load
Load
~!ultiply
FLOATING (cont)
Double-Precision Floating Round
8-178
Double-Precision Floating Store
8-181
Double-Precision Floating Store
Rounded 8-182
Double-Precision Floating Subtract
8-179
Double-Precision Floating Subtract
Inverted 8-180
Double-Precis ion Unnormal ized
Floating Add 8-193
Double-Precision Unnormalized
Floating Multiply 8-194
Double-Precision Unnormalized
Floating Subtract 8-195
End Floating Suppression 7-44
Floating Add 8-227
Floating Compare 8-229
Floating Compare Magnitude 8-228
Floating Divide 8-232
Floating Divide Inverted 8-230
Floating Load 8-234
Floating Load Positive 8-235
Floating Multiply 8-236
Floating Negate 8-237
Floating Normalize 8-238
Floating Round 8-240
Floating Set Zero and Negative
Indicators from Storage 8-247
Floating Store 8-244
Floating Store Rounded 8-245
Floating Subtract 8-242
Floating Subtract Inverted 8-243
Floating Truncate Fraction 8-248
Move with Floating Currency Symbol
Insertion 7-48
Move with Floating Sign Insertion
7-50
Quadruple-Floating Add 8-422
Quadruple-Floating Load 8-424
Quadruple-Precision Floating
Multiply 8-425
Quadruple-Precision Floating
Multiply with Double-Precision
Operands 8-435
Quadruple-Precision Floating Store
8-429
Quadruple-Precision Floating Store
Rounded 8-430
Quadruple-Precision Floating
Subtract 8-427
i-18
DZ51-00
FLOATING (cant)
Unnormalized Floating
Unnormalized Floating
8-634
Unnormalized Floating
8-635
Unnormalized Floating
Fraction 8-636
FORMAT (cant)
Page Table Base Word (PBW) Format
5-69
Page Table Directory Word (PTDW)
Format 5-68
Page Table Word (PTW) Format 5-70
Add 8-632
Multiply
Subtract
Truncate
FORMATS
Bit Formats
FLOATING-POINT
Floating-Point Arithmetic
Instructions 7-4
Floating-Point Decimal Numbers 2-10
FLOATING-POINT INSTRUCTIONS 7-20
Floating-point Numbers 2-5
Hexadecimal Floating-Point Numbers
2-5
Normalized Floating-Point Numbers
2-7
Quadruple-Precision Floating-Point
Instructions 7-4
Ranges of Binary Floating-Point
Numbers 2-7
FLOWCHART
Address Modification Flowchart
FLP
FLP
5-26
2-1
FOUR-STAGE
Four-stage pipeline 1-2
FRACTION
Divide Fraction 8-208
Floating Truncate Fraction 8-248
Multiply Fraction 8-365
Unnormalized Floating Truncate
Fraction 8-636
FRACTIONAL
Binary Representation of Fractional
Values 2-8
fractional mantissa 2-5
FRAMED
framed stack space 8-104
8-235
FRD
FRD 8-240
8-236
FREE
free running clock
Ft.fl'
FMP
FNEG
FNEG
8-237
FNO
FNO 8-238
FORMAT
ALPHANUMERIC OPERAND DESCRIPTOR
FORMAT 7-26
BIT STRING OPERAND DESCRIPTOR FORMAT
7-35
FAULT REGISTER FORMAT 4-36
FORMAT OF INSTRUCTION DESCRIPTION
8-1
Indirect Word Format 5-16
INSTRUCTION WORD FORMATS 8-7
NUMERIC OPERAND DESCRIPTOR FORMAT
7-31
OPERAND DESCRI PTOR I NDI RECT POI NTER
FORMAT 7-25
4-12
FSB
FSB 8-242
FSBI
FSBI
8-243
FST
FST 8-244
FSTR
FSTR 8-245
FSZN
FSZN 8-247
FTR
FTR 8-248, 8-636
i-19
DZ5l-00
GATE
Gate Synchronize 8-575
GSTD
GSTD 8-262
GCLIMB
GCLIMB 8-125
GCLIMB (Lateral Transfer LTRAS) - 10
8-125
GTB
GTB 8-263
GENERAL
General Description· 3-1
GENERAL INDEX REGI STERS
General Index Registers (GXn)
4-7
GENERATED
Hardware-Generated Faults 6-16
Instruction-Generated Faults 6-4
Program-Generated Faults 6-7
Virtual Memory-Generated Faults
6-10
GENERATION
Effective Address Generation 5-51
ES Mode Address Generation 5-49
NS Mode Address Generation 5-1
Virtual Address Generation (ES)
5-64
Virtual Address Generation, Super
Descriptor 5-61
GLDD
GLDD 8-249
HARDWARE
hardware rounding option 7-7
Hardware-Generated Faults 6-16
HEXADECl MAL
hexadecimal exponent mode 4-12
Hexadecimal Floating-Point Numbers
2-5
HIGH
(HWMR) 4-24
High Water Mark Register
8-109
HISTORY
History Register 4-49
History Registers 4-41
GLLS
GLLS 8-250
HOUSEKEEPING
housekeeping bit 7-59
housekeeping pages 3-7
GLRL
GLRL 8-252
GLRS
GLRS
GXN
General Index Registers (GXn) 4-7
Gr.n Left Shift 8-256
GXn Long Left Shift 8-250
GXn Long Right Logic 8-252
GXn Long Right Shift 8-254
GXn Register In R Modification 5-50
GXn Right Logic 8-258
GXn Right Shift 8-260
Load Double to GXn 8-249
Multiply GXn 8-370
Store Double from GXn 8-262
8-254
I
5-14
I Variation 5-19
Indirect (I) variation 5-19
I
GLS
GLS 8-256
GRAY-To-BINARY
Gray-to-B i nary
GRL
GRL 8-258
GRS
GRS 8-260
7-67, 8-263
I/O
Connect I/O Channel
8-92
IC
IC Modification ES 5-54
IC Values Stored on Faults and
Interrupts 6-25
INSTRUCTION COUNTER (Ie> 4-13
i-20
DZ5l-00
IC
4-17
Set System Controller Register
8-527
Special Address Register
Instructions 7-12
stack control register (SCR) 4-22,
8-330
Stack Control Register (SCR) 4-22
Store Address Register n 8-474
Store Address Registers 8-475
Store Argument Stack Register 8-535
Store Base Address Register 8-488
Store Data Stack Address Register
8-546
Store Data Stack Descriptor Register
8-547
Store Descriptor Register n 8-544
Store Exponent Register 8-548
Store Index Register n in Lower
8-574
Store Index Register n in Upper
8-566
Store Indicator Register 8-549
Store Option Register 8-551
Store Page Table Directory Base
Register 8-519
Store Parameter Segment Register
8-556
Store PTWAM Register 8-557
Store Registers 8-524
Store safe Store Register 8-559
Store Timer Register 8-561
Store Working Space Registers .8-564
Subtract 4-Bit Displacement from
Address Register 8-471
Subtract 6-Bit Displacement from
Address Register 8-472
Subtract 9-Bit Displacement from
Address Register 8-473
Subtract Bit Displacement from
Address Register 8-489
Subtract from Index Register n
8-497
Subtract Logical from Index Register
n 8-494
i-37
DZ51-00
REGI STER (cont)
Subtract Logical Register from
Register 8-493
Subtract Register from Register
8-496
Subtract Stored from Index Register
n 8-530
Subtract Word Displacement from
Address Register 8-572
Syndrome Register 4-46
TI MER REGI STER (TR) 4-12
Transfer And Set Index Register n
8-623
Virtual Address Trap Register 4-33
working space register 3-14
working space registers 3-9
WORK! NG SPACE REGI STERS (WSRn) 4-21
REPLICATE
replicate a pattern across a string
8-350
RESERVE
Load Reserve Memory Base 8-345
Reserve Memory Base Register 4-43
RESERVED
Reserved memory space 1-8
RET
RET
4-11, 4-16, 8-438
RETURN
Return 8-438
REVERSE
REGI STER BY REG! STER
Divide Register by Register
Scan Characters Double in Reverse
8-502
Scan with Mask in Reverse 8-507
Sequence character reverse 5-14
Sequence Character Reverse (T) 5-19
Test Character and Translate in
Reverse 8-586
8-210
REGI STER FROM REGI STER
Load Complement Register from
Register 8-279
Load Register from Register 8-329
REGISTER TO REGISTER
Add Logical Register to Register
8-46
AND Register to Register 8-56
Compare Register to Register 8-156
Exclusive OR Register to Register
8-222
Load Double Register to Register
Pair 8-308
Load Positive Register to Register
8-325
RI
NS REGISTER THEN INDIRECT (RI) 5-7
Register then Indirect (RI) 5-1
RIGHT
GXn
GXn
GXn
GXn
RIMR
RIMR
Long Right Logic 8-252
Long Right Shift 8-254
Right Logic 8-258
Right Shift 8-260
8-441
REGISTER-To-REGISTER
Register to register Instructions
7-62, 8-12
RIW
RIW 8-442
REGISTERS
History Registers
RL
RL - Register or Length 5-32, 7-24
4-41
RELATIVE
Location relative to base 3-11
RMID
RMID 8-443
REPEAT
Repeat 8-461
Repeat Double 8-446
Repeat Instructions 7-68
Repeat Link 8-454
RMR
RMR 8-444
ROTATE
A-Register Left Rotate
i-38
8-51
DZ51-00
ROTATE (cont)
Long Left Rotate 8-338
Q-Register Left Rotate 8-431
ROUND
true round
S4BD(X)
S4BD(X)
8-471
S6BD(X)
S6BD ex)
8-472
S9BD(X)
S9BD(X)
8-473
8-182, 8-240, 8-245
ROUNDED
Quadruple-Precision Floating Store
Rounded 8-430
SAFE
Load safe Store Register
ROUNDING
hardware rounding option 7-7
rounding operation 8-240
8-330
Bypass Flag (SSBF) 4-19
Operation 8-104
REG! STER (SSR) 4-21
Stack Format 8-107,
RPAT
RPAT 8-445
safe Store
safe Store
SAFE STORE
safe Store
8-108
Store safe
RPD
RPD 8-446
SAREG
SAREG 8-475
RPDA
RPDA 8-446
SARN
SARn 8-474
RPDB
RPDB
8-446
SAVE
Save Descriptor Register n 8-512
RPDX
RPDX
8-446
SB2D
SB2D 8-476
RPL
RPL 4-10, 8-454
SB2DX
SB2DX
RPT
RPT 8-461
SB3D
SB3D 8-481
RSCR
RSCR
SB3DX
SB3DX
RSW
RSW
8-468
8~470
Store Register
8-559
8-479
8-484
SBA
SBA 8-486
RUN
Run PATROL 8-445
SBAQ
SBAQ 8-487
RUNOUT
Tally runout 4-10
Transfer on Tally Runout Indicator
OFF 8-625
Transfer an Tally Runout Indicator
ON 8-627
SBAR
SBAR 8-488
SBD
SBD 8-489
SBLA
SBLA 8-490
i-39
DZ5l-OO
SBLAQ
SBLAQ 8-491
SCR
SCR 5-14
SCR variation 5-19
stack control register (SCR)
8-330
Stack Control Register (SCR)
SBLQ
SBLQ 8-492
SBLR
SBLR 8-493
4-22,
4-22
scu
3-1
History Register 4-49
SCU Configuration Register 4-47
SCU FAULT REGISTER 4-44
CPU SCU 1M}{
SBLXN
SBLXn 8-494
SBQ
SBQ 8-495
SD
SD 5-15
SD variation 5-25
Subtract Delta (SD) variation
SBRR
SBRR 8-496
SBXN
SBXn
SDRN
SDRn
8-497
SC
SC 5-14
SC Variation 5-18
Sequence Character (SC) variation
5-18
SCALING
scaling factor
Scaling factor
5-39, 8-34
7-32
SCAN
Scan Characters Double 8-498
Scan Characters Double in Reverse
8-502
Scan with Mask 8-504
Scan with Mask in Reverse 8-507
SCD
SCD
8-498
SCDR
SCDR
8-502
SCM
SCM
8-504
SCMR
SCMR 8-507
SCPR
SCPR
5-25
4-23, 8-512
SECOND-LEVEL
second-level indexing 5-27
Second-Level Indexing 7-8
SECTION
Section Table 5-75
SEGID
I NSTRUCTI ON SEGMENT I DENTI TY
REGISTER - SEGID (IS) 4-18
SEG!DN
SEGMENT I DENTI TY REGI STERS
4-17
(sn;r Dn )
SEGMENT
Descriptor Segment Descriptor 8-101
I NSTRUCTI ON SEGMENT REG! STER (I SR )
4-15
LI NKAGE SEGMENT REGI STER (LSR) 4-15
Load Parameter Segment Register
8-326
segment base 3-1
segment descriptor 3-1, 5-58
SEG~!ENT DESCRI PTOR REG! STERS (DRn)
4-16
SEGMENT I DENTI TY REG! STERS (SEG! Dn )
4-17
Store Parameter Segment Register
8-556
8-509
i-40
DZ5l-00
(-
SEGMENTS
Layout of Segments on Pages 3-5
Operand Segments 3-6
Segments 5-58
Segments division of working space
3-4
SHIFT (cont)
Q-Register Left Shift 8-432
Q-Register Right Logical Shift
8-433
Q-Register Right Shift 8-434
SEQUENCE
Sequence
Sequence
5-18
Sequence
Sequence
SHRINK
Locating New Bound for Shrink 8-300
Shrink for Extended Descriptors
8-294
Shrink for Standard and Super
Descriptors 8-284
Shrink Operation 8-297
Shrunken Descriptor 3-16
character 5-14
Character (SC) variation
character reverse 5-14
Character Reverse (T) 5-19
SES
SES 7-56
('-
SET
Floating Set Zero and Negative
Indicators from Storage 8-247
Move and Set Sign 7-53
Set Interrupt Word Pair 8-515
set Memory ID Register 8-516
set Memory Register 8-517
Set Pointer Compare Flags Off 8-518
Set System Controller Register
8-527
Set zero and Negative Indicators
from Storage 8-576
Set Zero and Negative Indicators
from Storage and Clear 8-577
Set Zero and Truncation Indicators
with Bit Strings Left 8-578
Set zero and Truncation Indicators
with Bit Strings Right 8-581
Transfer And Set Index Register n
8-623
SET END SUPPRESSSION
Set End Suppression 7-56
SHRINKING
Shrinking 3-16
SIGN
sign and magnitude operands 7-30
Sign flag 7-43
SI NGLE REG! STER
Multiply Single Register by Register
8-368
SINGLE-PRECISION
single-precision data 2-1
SINGLE-WORD
Single-Word Address Modification
5-27
SINGLE-WORD INSTRUCTIONS 7-1
Single-Word Instructions 8-7
SIW
SIW 8-515
SLAVE
Slave mode 1-4
Transfer After Setting Slave 8-620
SHIFT
A-Register Left Shift 8-52
A-Register Right Logical Shift 8-64
A-Register Right Shift 8-66
Data Shifting Instructions 7-3
GXn Left Shift 8-256
GXn Long Left Shift 8-250
GXn Long Right Shift 8-254
GXn Right Shift 8-260
Long Left Shift 8-339
Long Right Logical Shift 8-344
Long Right Shift 8-346
SMID
SMID 8-516
SMR
SMR
8-517
SOURCE
Ignore Source Characters 7-45
Move Source Characters 7-54
i-4l
DZ51-00
SPACE
Base working space address 3-10
framed stack space 8-104
Load Working Space Registers 8-333
Standard Descriptor With Working
Space Number 3-10
Store Working Space Registers 8-564
Super Descriptor With Working.Space
Number 3-12
Working Space 0 1-8.
working space number (WSN) 3-2
working space register 3-14
working space registers 3-9
WORKING SPACE REGISTERS (WSRn) 4-21
working spaces 3-1
Working Spaces 5-58
Working Spaces and Pages 3-2
SPCF
SPCF
8-518
SPDBR
SPDBR 8-519
SPEC! AL-ADDRESS
Special Address Register
Instructions 7-12
SPECIFIER
Address Register Specifier 5-31,
7-24
SPL
SPL 8-520
SSA
SSA 8-526
SSCR
SSCR 8-527
SSQ
SSQ 8-529
STA
STA 8-531
STAC
STAC 8-532
STACK
ARGUMENT STACK REG! STER (ASR) 4-23
DATA STACK ADDRESS REGISTER (DSAR)
4-25
Data Stack Clear Flag (DSCF) 4-19
DATA STACK DESCRIPTOR REGISTER
(DSDR) 4-25
framed stack space 8-104
Load Argument Stack Register 8-277
Load Data Stack Address Register
8-309
Load Data Stack Descriptor Register
8-310
PARAMETER STACK REG! STER (PSR) 4-23
Pop Argument Stack 8-418
stack control register (SCR) 4-22,
8-330
Stack Control Register (SCR) 4-22
Store Argument Stack Register 6-535
Store Data Stack Address Register
8-546
Store Data Stack Descriptor Register
8-547
STACQ
STACQ 8-533
SREG
SREG 5-84, 8-524
SSBF
safe Store Bypass Flag (SSBF)
SSXN
SSXn 8-530
4-19
STANDARD
Shrink for Standard and Super
Descriptors 8-284
Standard Descriptor 3-8, 5-60,
8-101
standard descriptor 8-330
Standard Descriptor (ES) 5-64
Standard Descriptor With Working
Space Number 3-10
Vector for Standard Descriptor,
Super Descriptor 8-281
STAQ
STAQ 8-534
SSR
SAFE STORE REG! STER (SSR ) 4-21
STAS
STAS 8-535
i-42
DZ51-00
(-
STATUS
Memory Error Status Register
4-51
STBA
STBA 8-536
STBQ
STBQ 8-537
STC1
STCl 8-538
STC2
STC2 8-539
STCA
STCA 8-540
STCQ
STCQ 8-542
STDN
STDn 8-544
STDSA
STDSA 8-546
STDSD
STDsn 8-547
STE
STE 8-548
STI
STI
8-549
STO
STO 4-19, 8-551
STORAGE
Add One to Storage 8-61
Add To Storage From A-Register 8-67
Add To Storage From Index Register n
8-69
Add To Storage Frorn Q-Register 8-68
AND to Storage from A-Register 8-57
AND to Storage frorn Index Register n
8-59
AND to Storage from Q-Register 8-58
descriptor storage 3-6
EXCLUSIVE OR to Storage with
A-Register 8-223
STORAGE (cont)
EXCLUSIVE OR to Storage with Index
Register n 8-225
EXCLUSIVE OR to Storage with
Q-Register 8-224
Floating Set Zero and Negative
Indicators frorn Storage 8-247
operand storage 3-6
OR to Storage from A-Register 8-414
OR to Storage from Index Register n
8-416
OR to Storagefrorn Q-Register 8-415
Set Zero and Negative Indicators
from Storage 8-576
Set Zero and Negative Indicators
from Storage and Clear 8-577
STORE
Double-Precision Floating Store
8-181
Double-Precision Floating Store
Rounded 8-182
Floating Store 8-244
Floating Store Rounded 8-245
Load Safe Store Register 8-330
Quadruple-Precision Floating Store
8-429
Quadruple-Precision Floating Store
Rounded 8-430
safe Store Bypass Flag (SSBF) 4-19
safe Store Operation 8-104
SAFE STORE REGI STER (SSR ) 4-21
safe Store Stack Format 8-107,
8-108
Store 6-bit Characters of A-Register
8-540
Store 6-bit Characters of Q-Register
8-542
Store 9-bit Bytes of A-Register
8-536
Store 9-bit Bytes of Q-Register
8-537
Store A Conditional 8-532
Store A Conditional on Q 8-533
Store A-Register 8-531
Store Address Register n 8-474
Store Address Registers 8-475
Store AQ-Register 8-534
Store Argument Stack Register 8-535
Store Base Address Register 8-488
Store Data Stack Address Register
8-546
(
i-43
DZ51-00
STORE (cont)
Store Data Stack Descriptor Register
8-547
Store Descriptor Register n 8-544
Store Double from GXn 8-262
Store Exponent Register 8-548
Store Index Register n in Lower
8-574
Store Index Register n in Upper
8-566
Store Indicator Register 8-549
Store Instruction Counter Plus 1
8-538
Store Instruction Counter Plus 2
8-539
Store Option Register 8-551
Store Page Table Directory Base
Register 8-519
Store Parameter Segment Register
8-556
Store Pointer n 8-553
Store Pointers and Lengths 8-520
Store PTWAM Directory Word 8-555
Store PTWAM Register 8-557
Store Q-Register 8-558
Store Registers 8-524
Store safe Store Register 8-559
Store Test Address Registers 8-562
Store Test Descriptor Registers
8-563
Store Timer Register 8-561
Store Working Space Registers 8-564
Store Zero 8-567
Subtract Stored from A-Register
8-526
Subtract Stored from Index Register
n 8-530
Subtract Stored from Q-Register
8-529
STQ
STQ 8-558
STRING
BIT STRING ADDRESS PREPARATION 5-43
Bit string instructions 7-6
Bit String Instructions 7-34
Bit String Operand Descriptor 5-35
BIT STRING OPERAND DESCRIPTOR FORMAT
7-35
Bit Strings and Index Table of
Translate Instruction 5-85
Character-S~rings 2-2
Combine Bit Strings Left 8-162
Combine Bit Strings Right 8-165
Compare Alphanumeric Character
Strings 8-142
Compare Bit Strings 8-139
replicate a pattern across a string
8-350
Set Zero and Truncation Indicators
with Bit Strings Left 8-578
Set Zero and Truncation Indicators
with Bit Strings Right 8-581
STSS
STSS 4-22, 8-559
STT
STT 8-561
STTA
STTA 8-562
STTD
STTD 8-563
STWS
STWS 4-21, 8-564
STPDW
STPDW 8-555
STXN
STXn 8-566
STPN
STPn 8-553
STZ
STZ
STPS
STPS 8-556
SUBTRACT
Double-Precision Floating Subtract
8-179
Double-Precision Floating Subtract
Inverted 8-180
Double-Precision Unnormalized
Floating Subtract 8-195
STPTW
STPTW 8-557
i-44
8-567
DZSl-OO
(
(
SUBTRACT (can t )
Floating Subtract 8-242
Floating Subtract Inverted 8-243
Quadruple-Precision Floating
Subtract 8-'27
Subtract 4-Bit Displacement from
Address Register 8-471
Subtract 6-Bit Displacement from
Address Register 8-472
Subtract 9-Bit Displacement from
Address Register 8-473
Subtract Bit Displacement from
Address Register 8-489
Subtract delta 5-15
Subtract Delta (SO) variation 5-25
Subtract from A-Register 8-486
. Subtract from AQ-Register 8-487
Subtract from Index Register n
8-497
Subtract from Q-Register 8-495
Subtract Logical from A-Register
8-490
Subtract Logical from AQ-Register
8-491
Subtract Logical from I ndex Register
n 8-494
Subtract Logical from Q-Register
8-492
Subtract Logical Register from
Register 8-493
Subtract Register from Register
8-496
Subtract Stored from A-Register
8-526
Subtract Stored from Index Register
n 8-530
Subtract Stored from Q-Register
8-529
Subtract Using Three Decimal
Operands 8-481
Subtract Using Three Decimal
Operands Extended 8-484
Subtract Using Two Decimal Operands
8-476
Subtract Using Two Decimal Operands
Extended 8-479
Subtract with Carry from A-Register
8-568
Subtract with carry from Q-Register
8-570
Subtract Word Displacement from
Address Register 8-572
SUBTRACT (cant)
Unnormalized Floating Subtract
8-635
SUPER
Shrink for Standard and Super
Descriptors 8-284
Super Descriptor 3-11
Super Descriptor With Working Space
Number 3-12
Vector for Standard Descriptor,
Super Descriptor 8-281
Virtual Address Generation, Super
Descriptor 5-61
SUPPRESSION
End Floating Suppression 7-44
End suppression flag 7-42
Insert Asterisk on Suppression 7-45
Insert Blank on Suppression 7-46
Move with Zero Suppression and
Asterisk Replacement 7-54
Move with Zero Suppression and Blank
Replacement 7-55
SWCA
SWCA 8-568
SWCQ
SWCQ 8-570
SWD(X)
SWD(X)
8-572
SXLN
SXLn 8-574
SYMBOLS
ABBREVIATIONS AND SYMBOLS 8-3
index register symbols 5-35
Move with Floating Currency Symbol
Insertion 7-48
SYNC
SYNC 8-575
SYNCHRONIZE
Gate Synchronize 8-575
SYNDROM
Syndrome Register
i-45
4-46
DZ51-00
SYR
Syndrome Register
4-46
SYSTElJ.
Read System Controller Register
8-468
Set System Controller Register
8-527
System Controller Illegal Action
COdes 4-36, 4-38
SYSTEM CONTROLLER INTERRUPTS 6-23
SZN
SZN
TABLE (cont)
page table directory 3-2
Page Table Directory Word 5-72
Page Table Directory Word (PTDW)
Format. 5-68
Page Table Word (PTW) Format 5-70
Section Table 5-75
Store Page Table Directory Base
Register 8-519
translation table length 8-401
TABLES
Page Tables 3-2
8-576
TABULAR
processing of tabular data 5-13
processing tabular operands 5-20
SZNC
SZNC 8-577
TAG
asterisk placed in the tag 5-8
tag designator (td) 5-2
Tag Field 5-2
Tag Field Modification ES 5-52
tag modifier (tm) 5-2
SZTL
SZTL 8-578
SZTR
'SZTR 8-581
T
Decrement Address,
(T) 5-21
Decrement Address,
and Continue (T)
Increment Address,
(T) 5-20
Sequence Character
TA
Increment Tally
Increment Tally,
5-21
Decrement Tally
Reverse (T)
5-19
Alphanumeric Data Type (TA) Codes
7-27
TABLE
Bit Strings and Index Table of
Translate Instruction 5-85
Change Table 7-44
Dense Page Table 5-72
Edit Insertion Table 7-39
Insert Table Entry One Multiple
7-46
Load Connect Table Register 8-269
Load Page Table Directory Base
Register 8-340
Load Table Entry 7-48
Locating the page table directory
word 5-72
Page Table Base Word (PBW) Format
5-69
TALLY
Decrement Address, Increment Tally
(T) 5-21
Decrement Address, Increment Tally,
and Continue 5-23
Decrement Address, Increment Tally,
and Continue (T) 5-21
Increment address decrement tally
5-14
Increment Address, Decrement Tally
(T) 5-20
Increment address, decrement tally,
and continue 5-15
Increment Address, Decrement Tally,
and Continue 5-22
increment tally 5-14
Indirect Then Tally (IT) 5-1
NS Indirect Then Tally (IT) 5-13
TALLY 5-14
tally designator 5-2
Tally Designators 5-16
Tally runout 4-10
Transfer on Tally Runout Indicator
OFF 8-625
Transfer On Tally Runout Indicator
ON 8-627
i-46
DZ51-00
('
TALLYB
TALLYB 5-14
TPL
TPL 8-602
TALLYD
TALLYD 5-15
TPNZ
TPl-o'Z 8-604
TCT
TCT 8-583
TR
TCTR
TCTR 8-586
TRA
TD
TI MER REGI STER
TRA
4-12
8-607
TRANSFER
tag designator (td)
5-2
TEO
TEO 4-9, 8-587
TEST
Store Test Address Registers 8-562
Store Test Descriptor Registers
8-563
Test Character and Translate 8-583
Test Character and Translate in
Reverse 8-586
TEU
TEO 4-9, 8-589
C"
(TR)
TIMER
Interval Timer 1-8
Load Timer Register 8-332
Store Timer Register 8-561
T1 MER REGI STER (TR ) 4-12
'I'M
tag modifier (tm)
TMI
'I'M!
8-591
TMOZ
TMOZ 8-593
TNC
TNC 8-596
TNZ
TNZ 8-598
TOV
TOV 8-600
5-2
Domain Transfer 8-96
Domain Transfer (ClJMB) 7-58
GCLIMB (Lateral Transfer LTRAS) - 10
8-125
Lateral Transfer - LTRAS 8-125
Transfer After setting Slave 8-620
Transfer And Set Index Register n
8-623
Transfer Instructions 7-66
Transfer On Garry 8-609
Transfer On Count 8-611
Transfer On Exponent Overflow 8-587
Transfer On Exponent Underflow
8-589
Transfer On Minus 8-591
Transfer On Minus Or Zero 8-593
Transfer On No carry 8-596
Transfer on Nonzero 8-598
Transfer On Overflow 8-600
Transfer On Plus 8-602
Transfer On Plus And Nonzero 8-604
Transfer on Tally Runout Indicator
OFF 8-625
Transfer On Tally Runout Indicator
ON 8-627
Transfer On Truncation Indicator OFF
8-614
Transfer On Truncation Indicator ON
8-617
Tra~sfer On Zero 8-630
Transfer Unconditionally 8-607
TRANSLATE
Bit Strings and Index Table of
Translate Instruction 5-85
Compare Characters and Translate
8-145
Test Character and Translate 8-583
Test Character and Translate in
Reverse 8-586
(i-47
DZ5l-00
TRANSLATION
address translation 5-68
Address Translation Process 5-68
Move Alphanumeric with Translation
8-400
Translation look-aside buffer 5-71
translation table length 8-401
TRANSLI TERATION
transliteration
TTF
TTF 8-625
TTN
TTN
8-627
TYPE
Alphanumeric Data Type (TA) Codes
7-27
7-7
'l'ZE
TZE
TRAP
Address Trap Register 4-32
Virtual Address Trap Register
4-33
TRC
TRC 8-609
UNDERFLOW
Exponent underflow 4-9
Transfer on Exponent Underflow
8-589
TRTN
TRTN 8-617
UNNORt·~ALI ZED
8-182, 8-240, 8-245
TRUNCATE
Floating Truncate Fraction 8-248
Unnormalized Floating Truncate
Fraction 8-636
TRUNCATION
Address Truncation 5-83
Set Zero and Truncation Indicators
with Bit Strings Left 8-578
Set Zero and Truncation Indicators
with Bit Strings Right 8-581
Transfer On Truncation Indicator OFF
8-614
Transfer On Truncation Indicator ON
8-617
TSS
TSS 4-11, 8-620
TSXN
TSXn 8-623
8-634
UFS
UFS 8-635
TRTF
TRTF 8-614
TRUE ROUND
true round
UFA
UFA 8-632
UFM
UFM
TRCTn
TRCTn 8-611
8-630
Unnormalized Floating Truncate
Fraction 8-636
UPPER
Load Index Register n from Upper
8-335
NS Direct Upper (OU) 5-4
Store Index Register n in Upper
8-566
UPPER-BOUND
upper-bound check
5-85
VALID
valid mnemonics for address
modification 5-2
VALUE
base value 5-58
Binary ~epresentation of Fractional
Values 2-8
bound value 5-58
octal value of the operation code
8-2
i-48
DZ5l-00
(
(
VALUES
IC Values Stored on Faults and
Interrupts 6-25
VIRTUAL (cont)
Virtual Memory-Generated Faults
6-10
VARIATION
AD Variation 5-24
Add Delta (AD) variation 5-24
Character Indirect (CI) variation
5-17
CI Variation 5-17
DI Variation 5-21
DIC Variation 5-23
F Variation 5-17
Fault variation 5-17
I Variation 5-19
ID Variation 5-20
ID variation 5-21
IOC Variation 5-22
Indirect (I) variation 5-19
SC Variation 5-18
SCR variation 5-19
SO Variation 5-25
Sequence Character (SC) variation
5-18
Subtract Delta (SD) variation 5-25
variations under IT modification
5-13
variations Under IT t·iodif ication
5-17
WATER
(HWMR) 4-24
High Water Mark Register 8-109
VECTOR
Vector for Standard Descriptor,
Super Descriptor 8-281
vectors 3-4
VFD
VFD 7-13
VIRTUAL
Mapping The Virtual Address To A
Real Address 5-71
Virtual address 3-2
Virtual Address 5-72
Virtual Address Generation (ES)
5-64
Virtual Address Generation (NS)
5-59
Virtual Address Generation, Super
Descriptor 5-61
Virtual Address Trap Register 4-33
Virtual Memory 3-1
Virtual Memory Addressing 5-57
Virtual Memory Instructions 7-58
WORD
Indirect Word 5-40
Indirect Word Format 5-16
INSTRUCTION WORD FORMATS 8-7
Locating the page table directory
word 5-72
Machine Word 2-1
Page Table Base Word (PBW) Format
5-69
Page Table Directory Word 5-72
Page Table Directory Word (PTDW)
Format 5-68
Page Table Word (PTW) Format 5-70
Store PTWAM Directory Word 8-555
Subtract Word Displacement from
Address Register 8-572
word address 5-35
Word and Double-Word Operations
5-84
WORD PAIR
Read Connect Word Pair 8-437
Read Interrupt Word Pair 8-442
Set Interrupt Word Pair 8-515
WORKING
Base working space address 3-10
Load Working Space Registers 8-333
Standard Descriptor With Working
Space Number 3-10
Store working Space Registers 8-564
Super Descriptor With working Space
Number 3-12
Working Space 0 1-8
working space number (WSN) 3-2
working space register 3-14
working space registers 3-9
WORKING SPACE REGISTERS (WSRn) 4-21
working spaces 3-1
Working Spaces 5-58
Working Spaces and Pages 3-2
WSN
Extended Descriptor With Working
Space Number 3-13
(
i-49
DZ51-00
\
WSN (cont)
working space number (WSN)
WSN 5-68
3-2
WSPTD
WSPTD 5-68, 5-72
WSR
WSR 3-9
WSRN
WORKING SPACE REGISTERS (WSRn)
4-21
XO/GXO
XO/GXO Loading Xn/GXn 8-123
XEC
XEC 8-637
XED
XED 8-639
XN
! NDEX REG! STERS (Xn)
Y-PAIR
Y-pair
4-6
2-2
ZERO
Floating Set Zero and Negative
Indicators from Storage 8-247
Move with Zero Suppression and
Asterisk Replacement 7-54
Move with Zero Suppression and Blank
Replacement 7-55
Set Zero and Negative Indicators
from Storage 8-576
Set Zero and Negative Indicators
from Storage and Clear 8-577
Set Zero and Truncation Indicators
with Bit Strings Left 8-578
Set Zero and Truncation Indicators
with Bit Strings Right 8-581
Store Zero 8-567
Transfer On Minus Or Zero 8-593
Transfer On Zero 8-630
Working Space 0 1-8
Zero flag 7-43
\1.
i-50
DZ51-00
(
(
• ..
'
67 A2
DZ51-00
".
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Create Date : 2018:03:05 16:49-08:00 Modify Date : 2018:03:05 17:35:14-08:00 Metadata Date : 2018:03:05 17:35:14-08:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:2987f9fc-9458-5741-8314-14e8d175e590 Instance ID : uuid:244a9042-3c09-1140-984f-b04b88a0bb83 Page Layout : SinglePage Page Mode : UseNone Page Count : 1010EXIF Metadata provided by EXIF.tools