Beruflich Dokumente
Kultur Dokumente
Copies of this and other IBM publications can be obtained through IBM Branch Offices.
Address comments concerning the contents of this publication to:
IBM Corporation, Customer Manuals, Dept. 898, PO Box 390, Poughkeepsie, N. Y. 12602
Contents
IBM System/360 .................................................................. ..
5
5
5
5
6
6
6
6
~1~;~!~~;n p~~iti~'~i~g"::::::::::::::::::::::::::::::::::::::::::::::::::::::
7
8
8
8
9
9
9
10
10
11
11
12
12
13
15
15
15
16
18
18
18
18
19
19
19
19
19
20
20
21
21
21
21
22
22
22
Fixed-Point Arithmetic ......................................................... . 23
Data Format ........................................................................... . 23
Number Representation ......................................................... . 23
Condi~ion
Code ...................................................................... ..
Instruction Format ................................................................. .
Instructions ............................................................................. .
Load .................................................................................. ..
Load Halfword ................................................................. .
Load and Test ................................................................... .
Load Complement ............................................................. .
Load Positive ..................................................................... .
Load Negative .................................................................. ..
Load Multiple ................................................................... .
Add ..................................................................................... .
Add Halfword ................................................................... .
Add Logical ....................................................................... .
Subtract ............................................................................... .
Subtract Halfword ............................................................. .
Subtract Logical ................................................................. .
g~~~:~: H~if~~~d"'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Multiply ............................................................................. .
Multiply Halfword ............................................................. .
Divide ................................................................................. .
Convert to Binary ............................................................... .
Convert to Decimal .................... " ........ ,.......................... .
Store .............................................................................. .
Store Halfword .............................................................. .
Store Multiple ...................................................... .
Shift Left Single .......................................................... .
Shift Right Single ............................................................. .
Shift Left Double ............................................................. .
Shift Right Double ........................................................... .
Fixed-Point Arithmetic Exceptions ......... ,.. ,...... ,................ ..
24
24
25
25
25
25
26
26
26
26
27
27
27
28
28
28
29
29
29
30
30
30
31
31
31
31
32
32
32
33
33
......................................................
34
34
34
35
35
35
35
36
36
37
37
37
38
38
38
39
40
40
40
41
41
41
42
43
43
43
43
44
44
45
45
46
46
47
47
48
49
49
50
50
51
51
52
52
53
53
53
54
54
55
55
55
55
56
56
56
57
58
59
59
59
60
60
61
61
62
62
62
63
63
64
64
64
65
65
65
Status-Switching
................................................................... .
................................. .
67
67
67
67
68
68
69
69
69
69
69
70
70
71
71
71
71
72
72
72
72
73
73
73
74
74
74
76
76
77
77
77
78
78
78
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
80
80
80
81
81
82
83
83
83
83
84
85
86
87
87
88
88
90
90
92
92
92
93
94
95
96
96
96
96
97
97
98
100
100
101
104
104
105
108
109
112
114
117
117
117
117
118
118
119
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
122
128
132
133
135
136
141
142
142
142
142
144
145
147
147
148
148
148
153
153
153
155
156
159
160
162
IBM System/360
The IBM System/360 is a solid-state, program compatible, data processing system providing the speed,
precision, and data manipulating versatility demanded by the challenge of commerce, science, and industry. System/360, with advanced logical design implemented by microminiature technology, provides a
new dimension of performance, flexibility, and reliability. This dimension makes possible a new, more
efficient systems approach to all areas of information
processing, with economy of implementation and ease
of use. System/360 is a single, coordinated set of new
data processing components intended to replace the
old logical structure with an advanced creative design for present and future application.
The logical design of System/360 permits efficient
use at several levels of performance with the preservation of upward and downward program compatibility. Extremely high performance and reliability requirements are met by combining several models into
one multisystem using the multisystem feature.
General-Purpose Design
System/360 is a general-purpose system designed to
be tailored for commercial, scientific, communications,
or control applications. A Standard instruction set provides the basic computing function of the system .. To
this set a decimal feature may be added to provide a
Commercial instruction set or a floating-point feature
may be added to provide a Scientific instruction set.
When the storage protection feature is added to the
commercial and scientific features, a Universal set is
obtained. Direct control and timer features may be
added to satisfy requirements for TELE-PROCESSINC@
systems to allow load-sharing or to satisfy real-time
needs.
System/360 can accommodate large quantities of
addressable storage. The markedly increased capacities over other present storage is provided by the
combined use of high-speed storage of medium size
and large-capacity storage of medium speed. Thus,
the requirements for both performance and size are
satisfied in one system by incorporating a heirarchy
of storage units. The design also anticipates future
development of even greater storage capacities. System/360 incorporates a standard method for attaching
input/output devices differing in function, data rate,
Compatibility
All models of System/360 are upward and downward
program compatible, that is, any program gives identical results on any model. Compatibility allows for
ease in systems growth, convenience in systems backup, and simplicity in education.
The compatibility rule has three limitations.
1. The systems facilities used by a program should
be the same in each case. Thus, the optional CPU features and the storage capacity, as well as the quantity,
type, and priority of I/O equipment, should be equivalent.
2. The program should be independent of the relation of instruction execution times and of I/O data
rates, access times, and command execution times.
3. The compatibility rule does not apply to detail
functions for which neither frequency of occurrence
nor usefulness of result warrants identical action in
all models. These functions, all explicitly identified in
this manual, are concerned with the handling of invalid programs and machine malfunctions.
System Program
Interplay of equipment and program is an essential
consideration in System/360. The system is designed
to operate with a supervisory program that coordinates and executes all I/O instructions, handles exceptional conditions, and supervises scheduling and execution of multiple programs. System/360 provides for
IBM
System/360
System Alerts
The interruption system permits the CPU automatically
to change state as a result of conditions arising outside of the system, in 1/0 units, or in the CPU itself.
Interruption switches the CPU from one program to
another by changing not only the instruction address
but all essential machine-status information.
A storage protection feature permits one program to
be preserved when another program erroneously attempts to store information in the area assigned to
the first program. Protection does not cause any loss
of performance. Storage operations initiated from the
CPU, as well as those initiated from a channel, are subject to the protection procedure.
Programs are checked for correct instructions and
data as they are executed. This policing-action identifies and separates program errors and machine errors.
Thus, program errors cannot create machine checks
since each type of error causes a unique interruption.
In addition to an interruption due to machine malfunction, the information necessary to identify the
error is recorded automatically in a predetermined
storage location. This procedure appreciably reduces
the mean-time to repair a machine fault. Moreover,
operator errors are reduced by minimizing the active
manual controls. To reduce accidental operator errors,
operator consoles are 110 devices and function under
control of the system program.
Input/Output
Channels provide the data path and control for 1/0
devices as they communicate with the CPU. In general,
channels operate asynchronously with the CPU and, in
some cases, a single data path is made up of several
sub channels. When this is the case, the single data
path is shared by several low-speed devices, for example, card readers, punches, printers, and terminals.
This channel is called a multiplexor channel. Channels that are not made up of several such subchannels
can operate at higher speed than the multiplexor
channels and are called selector channels. In every
case, the amount of data that comes into the channel
in parallel from an 110 device is a byte. All channels
or subchannels operate the same and respond to the
same 110 instructions and commands.
Each 110 device is connected to one or more channels by an 110 interface. This 110 interface allows attachment of present and future 110 devices without
altering the instruction set or channel function. Control units are used where necessary to match the internal connections of the 110 device to the interface.
Flexibility is enhanced by optional access to a control
unit or dcvice from either of two channels.
Multisystem Operation
Technology
System/360 employs solid-logic integrated components, which in themselves provide advanced equipment reliability. These components are also faster and
smaller than previous components and lend themselves to automated fabrication.
System Structure
Main Storage
Storage units may be either physically integrated with
the CPU or constructed as stand-alone units. The storage cycle is not directly related to the internal cycling
of the CPU, thus permitting selection of optimum storage speed for a given word size. The physical differences in the various main-storage units do not affect
the logical structure of the system.
Fetching and storing of data by the CPU are not affected by any concurrent I/O data transfer. If an I/O
operation refers to the same storage location as the
CPU operation, the accesses are granted in the sequence in which they are requested. If the first reference changes the contents of the location, any subsequent storage fetches obtain the new contents. Concurrent I/O and CPU references to the same storage
location never cause a machine-check indication.
Information Formats
The system transmits information between main storage and the CPU in units of eight bits, or a multiple
of eight bits at a time. An eight-bit unit of information
is called a byte, the basic building block of all formats.
A ninth bit, the parity or check bit, is transmitted
with each byte and carries parity on the bytes. The
parity bit cannot be affected by the program; its only
effect is to cause an interruption when a parity error
is detected. References to the size of data fields and
registers, therefore, exclude the associated parity bits.
All storage capacities are expressed in number of bytes
provided, regardless of the physical word size actually
used.
Bytes may be handled separately or grouped together in fields. A halfword is a group of two consecutive bytes and is the basic building block of instructions. A word is a group of four consecutive bytes; a
double word is a field consisting of two words (Figure
2). The location of any field or group of bytes is specified by the address of its leftmost byte.
The length of fields is either implied by the operation to be performed or stated explicitly as part of
the instruction. When the length is implied, the information is said to have a fixed length, which can be
either one, two, four, or eight bytes.
When the length of a field is not implied by the
Main
Storage
1c
c
....c:
U
f---t
....
~Q)
f-----t
f---i
1""5
f---i
::E
Control
Unit
'--
c--
f-----t
f----i
Central
Processing
Unit
t-
W
c
f------\
c
....c:
f---t
f---t
....
--I
Q)
--I
--I
.8u
W
Vl
Input/
Output
Device
Control
Unit
t-I--
tt--
Input/
Output
Device
--I
operation code, but is stated explicitly, the information is said to have variable field length. Variablelength operands are variable in length by increments
of one byte.
Within any program format or any fixed-length operand format, the bits making up the format are consecutively numbered from left to right starting with
the number O.
Byte
Halfword
11 0 0 1 Jo 0 0 1 11 0 1 0 KO 0 1 01
15
Word
24
~ 0 1 11
0010 0011
1000 1001
1010
Byte
Byte Byte
Byte Byte
Byte
31
Byte Byte
Byte
Byte
Byte
,
l
Addressing
Halfword
Halfword
Halfword
Halfword
Halfword
,
l
Word
Word
Word
-(
Double-Word
Double-Word
)
Storage Address
MAIN STORAGE
r - -'- -lOll(
I
I
I
I
Co mputer
Sys tem
Co ntrol
Instructions
I
I
Indexed
Address
.....
I
I
Variable
Field Length
Operations
Fixed Point
Operations
Floating Point
Operations
I
I
L_ _ _ .-J
I
16
General
Registers
4
Floating Point Registers
General Registers
The CPU can address information in 16 general registers. The general registers can be used as index registers, in address arithmetic and indexing, and as accumulators in fixed-point arithmetic and logical operations. The registers have a capacity of one word (32
bits). The general registers are identified by numbers
0-15 and are selected by a four-bit field in the instruction called the R field (Figure 5).
R Field
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Reg No.
0
1
2
3
4
5
6
General Registers
!i32 Bits.
8
9
10
11
12
13
14
15
Bits :::':":::::::::::::::;1I!l:1
.......,,'
.. ..':1
Four floating-point registers are available for floatingpoint operations. These registers are two words (64
bits) in length and can contain either a short (one
word) or a long (two word) floating-point operand.
A short operand occupies the high-order bits of a
floating-point register. The low-order portion of the
register is ignored and remains unchanged in shortprecision arithmetic. The floating-point registers are
identified by the numbers 0, 2, 4, and 6 (Figure 5).
The operation code determines which type of register
is to be used in an operation.
Integer
15
Integer
31
Because the 32-bit word size conveniently accommodates a 24-bit address, fixed-point arithmetic can
be used both for integer operand arithmetic and for
address arithmetic. This combined usage provides
economy and permits the entire fixed-point instruction
set and several logical operations to be used in address computation. Thus, multiplication, shifting, and
logical manipulation of address components are possible.
The absence of recomplementation and the ease of
extension and truncation make two's-complement notation desirable for address components and fixedpoint operands. Since integer and addressing algorisms
often require repeated reference to operands or intermediate results, the use of multiple registers is advantageous in arithmetic sequences and address calculations.
Additions, subtractions, multiplications, divisions,
and comparisons are performed upon one operand in
a register and another operand either in a register or
from storage. Multiple-precision operation is made
convenient by the two's-complement notation and by
recognition of the carry from one word to another. A
10
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Sign Code
+ 1010
+
-
+
+
1011
1100
1101
1110
1111
I I I
C-_-
~~] Digit
I I I I
Zone Digit
Sign
Digit
Decimal numbers may also appear in a zoned format as a subset of the eight-bit alphameric character
set (Figure 8). This representation is required for
character-set sensitive I/O devices. The zoned format
is not used in decimal arithmetic operations. Instructions are provided for packing and unpacking decimal
numbers so that they may be changed from the zoned
to the packed format and vice versa.
Floating-Point Arithmetic
Floating-point numbers occur in either of two fixedlength formats - short or long. These formats differ
only in the length of the fractions (Figure 9).
Logical Operations
Short Floating-Point Number
IS I Characteristic I
o
Fraction
7 8
31
~IS~I_C_h_a_r_ac_t_e_ri_st_ic~I_________F_ra_c_ti_o_n______~~~~______~
o
78
63
11
Program Execution
Logical Data
31
Character
Character
I-~~
~~]
Character
Instruction Format
16
LU:-
~------01------~
00
BLANK
NUL
01
10
&
11
0001
0010
0011
0100
0101
0110
0111
1000
PF
HT
LC
DEL
RES
NL
.BS
IDL
BYP
LF
EOB
PRE
PN
RS
UC
EOT
--
1001
1010
1011
1100
1101
!
$
4---
"
:
ry-..
+
-
1110
1111
C7
12
~------10---~
00
01
~-----11----------,
00
01
10
11
>
<
:j:
10
11
i
r
1----- _._---
Bit Positions - - - - 76
X5
4321
00
0000
NULL
DCa
0001
50M
DC
0010
EOA
DC
0011
EOM
DC
0100
EOT
0101
WRU
ERR
0110
RU
5YNC
0111
BELL
LEM
01
10
11
..----10-------.1
01
00------,
00
b
blank
01
10
11
00
---
, - - - - -----
---
10
11
00
41=
6
&
- - ,------
----"-
I - - - + - - - - t - - - - - - - f -------C
d
--
-- -
f-------f----J-----j
- ---
- f---
~---
11
- - 1------+----+ ----~
1----
-----
10
--
----
01
~-~-~-~----~
P
(a)
- r---- - --- --Q
A
3
DC4
5TOP
01
'--1- - - - 1 1 - - - - - - - .
--
v
-------
~--+--_+--T_-~
1000
BK5P
50
1001
HT
51
Y
-
I-- - -
1010
LF
52
i
z
r------ ------+----__j - - -
--f-- -
1011
VT
53
1100
FF
54
1101
CR
55
1110
50
56
---- 1----:- --
f-----
----
I
-~
-----f-----,
r------r--+---~--__j
~
-~--
1111
51
57
----
"
::J
f
4--
--~
r----r---+--1-r----- r- -
-f-
m
-- -
n
1---
---
E5C
r- -- ----1--- - I ----------
DEL
Figure 12. Eight-Bit Representation for American Standard Code for Information Interchange
for Use in Eight-Bit Environment
ter-to-storage operation; SI, a storage and immediateoperand operation; and SS, a storage-to-storage operation.
For purposes of describing the execution of instructions, operands are designated as first and second operands and, in the case of BRANCH ON INDEX, third operands. These names refer to the manner in which the
operands participate. The operand to which a field in
an instruction format applies is generally denoted by
the number following the code name of the field, for
example, Rl, Bl, L 2 , D 2
In each format, the first instruction halfword consists of two parts. The first byte contains the operation code (op code). The length and format of an
instruction are specified by the first two bits of the
operation code.
<0-1)
00
01
10
11
INSTRUCTION
LENGTH
One halfword
Two halfwords
Two halfwords
Three halfwords
INSTRUCTION
FORMAT
RR
RX
RS or SI
SS
Address Generation
13
H_aTf_w_o_rdByte 2
L -____
F_ir_s.t__
r
Byte'
H_a_f_W_O_rd
______- ;____s_ec_o_n_d__
________
~----Th-i_rd--H_a_lf~
~
I
I
Register
Register
Operand' Operand 2
~
I:0
Op Code
R1
7 8
1
R2
I RR Format
15
11 12
I
I
Address
Operand 2
Register
Operand'
"
Op Code
R,
X,
11 12
7 8
D2
B2
1516
RX Format
31
1920
Register
Operand'
r---'
Register
Operand 3
Address
Oper~ _ _ __
..---A-----y
RS Format
7 8
1516
11 12
I
Ope~and
Op Code
I
I
Address
Oper?nd 1
Immediate
10
31
1920
SI Format
12
78
I
I
31
1920
1516
1
I
Length
Address
Address
Op~____----O-p_e-ra~An-d--'------~~----__O--p-e~r?-n-d-2------~
Op Code
I
7 8
L,
I
11 12
L2
I
15 16
B,
SS Format
D,
1920
------.-31-'--------1----------------'47
struction stream in main storage, and operands located in the general or floating-point registers.
To permit the ready relocation of program segments and to provide for the flexible specifications of
input, output, and working areas, all instructions referring to main storage have been given the capacity
of employing a full address.
The address used to refer to main storage is generated from the following three binary numbers:
Base Address (B) is a 24-bit number contained in a
general register specified by the program in the B
field of the instruction. The B field is included in
every address specification. The base address can be
used as a means of static relocation of programs and
data. In array-type calculations, it can specify the location of an array and, in record-type processing, it
can identify the record. The base address provides for
addressing the entire main storage. The base address
may also be used for indexing purposes.
Index (X) is a 24-bit number contained in a general
register specified by the program in the X field of the
instruction. It is included only in the address speci14
Add
7
78
9
1112
15
Store
3
7 8
10
11 12
14
15 16
300
19 20
31
A double word, the program status word (psw), contains the information required for proper program
execution. The psw includes the instruction address,
condition code, and other fields to be discussed. In
general, the psw is used to control instruction sequencing and to hold and indicate the status of the
system in relation to the program being executed. The
active or controlling psw is called the "current psw."
By storing the current psw during an interruption, the
status of the CPU can be preserved for subsequent inspection. By loading a new psw or part of a psw, the
state of the CPU can be initialized or changed. Figure
14 shows the psw format.
System Structure
15
14
15
16-31
32-33
34-35
36-39
36
37
38
39
40-63
Interrupti~.n
o 0000
8
16
24
32
40
48
56
64
72
76
80
84
88
96
104
112
120
128
0000
0001
0001
0010
0010
0011
0011
0100
0100
0100
0101
0101
0101
0110
011 a
0111
0111
1000
0000
1000
0000
1000
0000
1000
0000
1000
0000
1000
1100
0000
0100
1000
0000
1000
0000
1000
0000
length
double
double
double
double
double
double
double
double
double
word
word
word
word
double
double
double
double
double
word
word
word
word
word
word
word
word
word
word
word
word
word
word
Purpose
Initial program loading PSW
Initial program loading CCWI
Initial program loading CCW2
External old PSW
Supervisor call old PSW
Program old PSW
Machine check old PSW
Input/output old PSW
Channel status word
Channel address word
Unused
Timer
Unused
External new PSW
Supervisor call new PSW
Program new PSW
Machine check new PSW
Input/output new PSW
Diagnostic scan-out area *
Interruptions are taken only when the CPU is interruptable for the interruption source. The system mask,
program mask, and machine check mask bits in the
psw may be used to mask certain interruptions. When
masked off, an interruption either remains pending or
is ignored. The system mask may keep I/O and external interruptions pending, the program mask may
cause four of the 15 program interruptions to be ignored, and the machine-check mask may cause machine-check interruptions to be ignored. Other interruptions cannot be masked off.
An interruption always takes place after one instruction execution is finished and before a new instruction execution is started. However, the occurence
of an interruption may affect the execution of the current instruction. To permit proper programmed action
following an interruption, the cause of the interruption is identified and provision is made to locate the
last executed instruction.
Input /OutPIJt Interruption
An
CPU
Program Interruption
5
6
7
8
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
0000101 I
00001100
000011 01
00001 110
00001111
Program Interrupti on
Cause
Operation
Privileged operation
Execute
Protection
Addressing
Specification
Date
Fixed-point overflow
Fixed-point divide
Decimal overflow
Decimal divide
Exponent overflow
Exponent underflow
Significance
Floating-point divide
10
11
12
13
14
15
16
Supervisor-Call Interruption
External
Interrupti on Cause
Timer
Interrupt key
External signal
External signal
External signal
External signal
External signal
External signal
Mask Bit
6
5
4
3
2
1
7
7
7
7
7
7
7
During execution of an instruction, several interruption requests may occur simultaneously. Simultaneous
interruption requests are honored in the following predetermined order:
Machine Check
Program or Supervisor Call
External
Input/Output
The program and supervisor-call interruptions are
Over-all CPU status is determined by four types of program-state alternatives, each of which can be changed
independently to its opposite and most of which are
indicated by a bit or bits in the psw. The programstate alternatives are named stopped or operating,
running or waiting, masked or interruptable, and supervisor or problem state. These states differ in the way
they affect the CPU functions and the manner in which
their status is indicated and switched. All program
states are independent of each other in their functions,
indication, and status-switching.
Stopped or Operating States: The stopped state is
entered and left by manual procedure. Instructions are
not executed, interruptions are not accepted, and the
timer is not updated. In the operating state, the CPU
is capable of executing instructions and being interrupted.
Running or Waiting State: In the running state, instruction fetching execution proceeds in the normal
manner. The wait state is normally entered by the
program to await an interruption, for example, an I/O
interruption or operator intervention from the console.
In the wait state, no instructions are processed, the
timer is updated, and 110 and external interruptions
are accepted, unless masked. Running or waiting state
is determined by the setting of bit 14 in the psw.
Masked or Interruptable State: The CPU may be interruptable or masked for the system, program, and
machine interruptions. \Vhen the CPU is interruptable
for a class of interruptions, these interruptions are accepted. When the CPU is masked, the system interruptions remain pending, while the program and machine-check interruptions are ignored. The interruptable states of the CPU are changed by changing the
mask bits of the psw.
System Structure
17
Timer f'eature
The timer is provided as an interval timer and may
be programmed to maintain the time of day. The
timer consists of a full word in main storage location
80. The timer word is counted down at a rate of 50
or 60 cycles per second, depending on line frequency.
The timer word is treated as a signed integer following the rules of fixed-point arithmetic. An external interruption condition is signaled when the value of the
18
Multisystem feature
The design of System/360 permits communication between individual cpu's at several transmission rates.
The communication is possible through shared control units, through a channel connector and through
shared storage. These features are further augmented
by the direct control feature and the multisystem
feature. The direct control feature, described in
the previous section, can be used to signal from one
CPU to another. The multisystem feature provides direct address relocation, malfunction indications, and
electronic CPU initialization.
The relocation procedure applies to the first 4,096
bytes of storage. This area contains all permanent
storage assignments and, generally, has special significance to supervisory programs. The relocation is accomplishcd by inserting a 12-bit prefix in each address
which has the high-order 12 bits set to zero and hence,
pertains to location 0-4095. Two manually set prefixes
are available to permit the use of an alternative area
when storage malfunction occurs. The choice between
the prefixes is determined by a prefix trigger set during initial program loading.
To alert one CPU to the possible malfunction of another CPU, a machine check-out signal is provided,
which can serve as an external interruption to another
cpu.
Finally, the feature includes provision for initial
program loading initiated by a signal from another
CPU.
Input jOutput
Input / Output Devices and Control Units
Input/output operations involve the transfer of information to or from main storage and an I/O device.
Input/output devices include such equipment as card
read punches, magnetic tape units, disk storage, drum
storage, typewriter-keyboard devices, printers, TELEPROCESSINC@ devices, and process control equipment.
Many I/O devices function with an external document, such as a punched card or a reel of magnetic
tape. Some I/O devices handle only electrical signals,
such as those found in process-control networks. In
either case, I/O device operation is regulated by a
control unit. The control-unit function may be housed
with the I/O device, as is the case with a printer, or a
separate control unit may be used. In all cases, the
control-unit function provides the logical and buffering capabilities necessary to operate the associated
I/O device. From the programming point of view,
most control-unit functions merge with I/O device
functions.
Each control unit functions only with the I/O device for which it is designed, but each control unit
has standard-signal connections with regard to the
channel to which it is attached.
I/O
instructions:
START I/O
TEST CHANNEL
TEST I/O
HALT I/O
Channels
Test Channel
The
HALT I/O
19
All
I/O
Command
Code
Data Address
7 8
1000~
Flags
3637
3940
Count
4748
63
1 Key 10000 1
o
34
7 8
Write
Command Address
31
Control Units
and
I/O Devices
Channels
(Execute
Commands)
f..---
(Execute
Orders)
Read
Sense
The transfer-in-channel command specifies the location of the next ccw to be used by the channel whenever the programmer desires to break the existing
chain of ccw's and cause the channel to begin fetching a new chain of ccw's from a different area in
main storage.
External documents, such as punched cards or magnetic tape, may carry ccw's that the channel can use
to govern reading of the external document being
read.
Input / Output Termination
Input/output operations normally terminate with device-end signal and channel-end conditions and an interruption signal to the CPU.
A command can be rejected during execution of
START I/O, however, by a busy condition, program
check, etc. The rejection of the command is indicated
in the condition code in the psw, and the details of
the conditions that precluded initiation of the I/O operation are provided in the channel status word stored
when the command is rejected.
Channel Status Word
34
31
7 8
Status
32
Count
47 48
Command Address
o
CPU
63
The store-and-display function permits manual intervention in the progress of a program. The function
may be provided by a supervisory program in conjunction with proper I/O equipment and the interrupt
key. Or, the system-control-panel facilities may be
used to place the CPU in the stopped state, and then
to store and display information in main storage, in
general and floating-point registers, and in instructionaddress portion of the psw.
Initial Program Loading
21
22
Load light
Load-unit switches
T.oad key
Fixed-Point Arithmetic
The fixed-point instruction set performs binary arithmetic on operands serving as addresses, index quantities, and counts, as well as fixed-point data. In general,
both operands are signed and 32 bits long. Negative
quantities are held in two's-complement form. One
operand is always in one of the 16 general registers;
the other operand may be in main storage or in a
general register.
The instruction set provides for loading, adding,
subtracting, comparing, multiplying, dividing, and
storing, as well as for the sign control, radix conversion, and shifting of fixed-point operands. The entire
instruction set is included in the standard instruction
set.
The condition code is set as a result of all signcontrol, add, subtract, compare, and shift operations.
Data Format
Fixed-point numbers occupy a fixed-length format
consisting of a one-bit sign followed by the integer
field. When held in one of the general registers, a
fixed-point quantity has a 31-bit integer field and occupies all 32 bits of the register. Some multiply, divide,
and shift operations use an operand consisting of 64
bits with a 63-bit integer field. These operands are
located in a pair of adjacent general registers and are
addressed by an even address referring to the leftmost register of the pair. The sign-bit position of the
rightmost register contains part of the integer. In register-to-register operations the same register may be
specified for both operand locations.
Fullword Fixed-Point Number
Integer
151
o
31
Ios\
Integer
1
15
Number Representation
All fixed-point operands are treated as signed integers.
Positive numbers are represented in true binary notation with the sign bit set to zero. Negative numbers
are represented in two's-complement notation with a
one in the sign bit. The two's complement of a number is obtained by inverting each bit of the number
and adding a one in the low-order bit position.
This type of number representation can be considered the low-order portion of an infinitely long representation of the number. When the number is positive, all
bits to the left of the most significant bit of the number, including the sign bit, are zeros. When the number is negative, all these bits, including the sIgn bit,
are ones. Therefore, when an operand must be extended with high-order bits, the expansion is achieved
by prefixing a field in which each bit is set equal to
the high-order bit of the operand.
Two's-complement notation does not include a negative zero. It has a number range in which the set of
negative numbers is one larger than the set of positive
numbers. The maximum positive number consists of
an all-one integer field with a sign bit of zero, whereas
the maximum negative number consists of an all-zero
integer field with a one-bit for sign.
The CPU cannot represent the complement of the
maximum negative number. When an operation, such
as a subtraction from zero, produces the complement
of the maximum negative number, the number remains
unchanged, and a fixed-pOint overflow exception is
recognized. An overflow does not result, however,
when the number is complemented and the final resuIt is within the representable range. An example of
this case is a subtraction from minus one. The product
of two maximum negative numbers is representable as
a double-length positive number.
Fixed-Point Arithmetic
23
Instruction Format
Programming Notes
7 8
Add H/F
Add Logical
Compare H/F
Load and Test
Load Complement
Load Negative
Load Positive
Shift Left Double
Shift Left Single
Shift Right Double
Shift Right Single
Subtract H/F
Subtract Logical
24
0
zero
zero
< zero
> zero
not zero
equal
zero
zero
zero
zero
zero
zero
zero
zero
zero
< zero
< zero
< zero
< zero
< zero
< zero
< zero
< zero
zero,
carry
high
> zero
> zero
low
not zero
> zero
> zero
> zero
> zero
> zero
> zero
zero,
carry
3
overflow
carry
overflow
overflow
overflow
overflow
overflow
carry
Rl
Op Code
B2
2
1516
11 12
7 8
1920
31
1920
31
RS Format
R3
Rl
7 8
15
RX Format
Op Code
Conditic)n Code
11 12
11 12
B2
1516
In these formats, RJ specifies the address of the general register containing the first operand. The second
operand location, if any, is defined differently for each
format.
In the HR format, the R2 field specifies the address of
the general register containing the second operand.
The same register may be specified for the first and
second operand.
In the RX format, the contents of the general registers specified by the X 2 and B2 fields are added to
the content of the D2 field to form an address designating the storage location of the second operand.
In the RS format, the content of the general register
specified by the B2 field is added to the content of the
D.) field to form an address. This address designates
th~ storage location of the second operand in LOAD
MULTIPLE and STORE MULTIPLE. In the shift operations,
the address specifies the amount of shift. The R:~ field
specifics the address of a general register in LOAD
MULTIPLE and STORE MULTIPLE and is ignored in the
shift operations.
A zero in an X2 or B2 field indicates the absence of
the corresponding address component.
An instruction can specify the same general register
both for address modification and for operand location. Address modification is always completed before
operation execution.
Results replace the first operand, except for STORE
and CONVERT TO DECIMAL, where the result replaces
the second operand.
The contents of all general registers and storage
locations participating in the addressing or execution
part of an operation remain unchanged, except for the
storing of the final result.
Instructions
Load
The fixed-point arithmetic instructions and their mnemonics, formats, and operation codes are listed in the
following table. The table also indicates which instructions are not included in the small binary instruction
set, when the condition code is set, and the exceptional
conditions that cause a program interruption.
LR
RR
18
RX
58
NAME
MNEMONIC
Load
Load
Load Halfword
Load and Test
Load Complement
Load Positive
Load Negative
Load Multiple
Add
Add
Add Halfword
Add Logical
Add Logical
Subtract
Subtract
Subtract Halfword
Subtract Logical
Subtract Logical
Compare
Compare
Compare Halfword
Multiply
Multiply
Multiply Halfword
Divide
Divide
Convert to Binary
Convert to Decimal
Store
Store Halfword
Store Multiple
Shift Left Single
Shift Right Single
Shilt Left Double
Shift Right Double
LR
L
LH
LTR
LCR
LPR
LNR
LM
AR
A
All
ALR
AL
SR
S
SH
SLR
SL
CR
C
CH
MR
M
MH
DR
D
CVB
CVD
ST
STH
STM
SLA
SRA
SLDA
SRDA
TYPE
RR
RX
RX
RR
RR
RR
RR
RS
RR
RX
RX
RR
RX
RR
RX
RX
RR
RX
RR
RX
RX
RR
RX
RX
RR
RX
RX
RX
RX
RX
RS
RS
RS
RS
RS
EXCEPTIONS
A,S
A,S
C
C
C
C
IF
IF
A,S
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
A,S,
A,S,
IF
IF
IF
A,S
A,S,
A,S,
IF
IF
IF
A,S
A,S
A,S
S
A,S
A,S
S, IK
A,S, IK
A,S,D,IK
P,A,S
P,A,S
P,A,S
P,A,S
IF
S,
S
IF
P
S
15
11 12
CODE
18
58
48
12
13
10
11
98
lA
5A
4A
IE
5E
IB
5B
4B
IF
5F
19
59
49
Ie
5C
4C
ID
5D
4F
4E
50
40
90
8B
8A
8F
8E
NOTES
C
D
IF
IK
R2
R1
7 8
Addressing exception
Condition code is set
Data exception
Fixed-Point overflow exception
Fixed-point divide exception
Protection exception
Specification exception
X
2
R1
7 8
11 12
B2
1516
D2
1920
31
The second operand is placed in the first operand location. The second operand is not changed.
Condition Code: The code remains unchanged.
Program Interruptions:
Addressing (L only)
Specification (L only)
Load Halfword
LH
RX
48
7 8
11 12
15 16
19 20
31
RR
12
7 8
11 12
15
Programming Note
The second operand is placed in the first operand location, and the sign and magnitude of the second operand determine the condition code. The second operand is not changed.
Fixed-Point Arithmetic
25
Program Interruptions:
Fixed-point overflow
Programming Note
Load Negative
LNR
RR
11
Load Complement
LCR
78
78
1112
15
3
Program Inten'uptions: None.
Load Multiple
LM
RS
98
7 8
Programming Note
1112
15
15
RR.
13
LPR
1112
11 12
15 16
19 20
31
Program Interruptions:
Addressing
Specification
Programming Note
AR
RR
lA
7 8
11 12
15
7 8
11 12
15 16
RX
5A
1920
31
11 12
15 16
ALR
RR
1E
AL
78
11 12
15
78
1112
1516
RX
5E
Programming Note
AH
Add Logical
1920
31
1920
31
27
The halfword second operand is expanded to a fullword before the subtraction by propagating the signbit value through 16 high-order bit positions.
Subtraction is performed by adding the one's complement of the expanded second operand and a loworder one to the first operand. All 32 bits of both operands participate, as in ADD. If the carries out of the
sign-bit position and the high-order numeric bit position agree, the difference is satisfactory; if they disagree, an overflow occurs. The overflow causes a program interruption when the fixed-point overflow mask
bit is one.
Program Interruptions:
Addressing (AL only)
Specification (AL only)
Subtract
SR
RR
1B
RX
5B
R2
R1
15
11 12
78
X2
R1
7 8
11 12
B2
1516
D2
1920
31
The second operand is subtracted from the first operand, and the difference is placed in the first operand
location.
Subtraction is performed by adding the one's complement .of the second operand and a low-order one to
the first operand. All 32 bits of both operands participate, as in ADD. If the carries out of the sign-bit position and the high-order numeric bit position agree, the
difference is satisfactory; if they disagree, an overflow
occurs. The overflow causes a program interruption
when the fixed-point overflow mask bit is one.
ResulUng Condition Code:
o Difference is zero
1 Difference is less than zero
2 Difference is greater than zero
3 Overflow
Program Interruptions:
Addressing (S only)
Specifications (S only)
Fixed-point overflow
Program Interruptions:
Addressing
Specifica tion
Fixed-point overflow
Subtract Logical
SLR
RR
1F
SL
78
1112
15
7 8
11 12
15 16
RX
5F
19 20
31
Programming Note
RX
4B
7 8
11 12
15 16
19 20
31
The second operand is subtracted from the first operand, and the difference is placed in the first operand
location. The occurrence of a carry out of the sign
position is recorded in the condition code.
Logical subtraction is performed by adding the one's
complement of the second operand and a low-order
one to the first operand. All 32 bits of both operands
participate, without further change to the resulting
sign bit. The instruction differs from SUBTRACT in the
meaning of the condition code and in the absence of
the interruption for overflow.
If a carry out of the sign position occurs, the leftmost bit of the condition code (psw bit 34) is made
one. In the absence of a carry, bit 34 is made zero.
When the sum is zero, the rightmost bit of the condition code (psw bit 35) is made zero. A nonzero sum
is indicated by a one in bit 35.
3
Program Interruptions:
Addressing
Specification
Programming Note
Compare
CR
Multiply
RR
19
RX
59
MR
R,
7 8
1C
15
11 12
X2
R,
7 8
R2
11 12
1516
1920
31
Compare Halfword
RX
49
7 8
11 12
78
1112
15
7 8
11 12
15 16
RX
B2
The first operand is compared with the second operand, and the result determines the setting of the
condition code.
Comparison is algebraic, treating both comparands
as 32-bit signed integers. Operands in registers or
storage are not changed.
Resulting Condition Code:
o Operands are equal
1 First operand is low
2 First operand is high
3
Program Interruptions:
Addressing (C only)
Specification (C only)
CH
RR
15 16
1920
5C
19 20
31
31
Programming Note
29
Multiply Halfword
MH
RX
7 8
11 12
15 16
1920
31
The product of the halfword multiplier (second operand) and multiplicand (first operand) replaces the
multiplicand.
Both multiplicand and product are 32-bit signed
integers and may be located in any general register.
The half word multiplier is expanded to a fullword
before multiplication by propagating the sign-bit value
through the 16 high-order bit positions. The multiplicand is replaced by the low-order part of the product. The bits to the left of the 32 low-order bits are
not tested for significance; no overflow indication is
given.
The sign of the product is determined by the rules
of algebra from the multiplier and multiplicand sign,
except that a zero result is always positive.
Condition Code: The code remains unchanged.
Program Interruptions:
Addressing
Specification
Programming Note
RR
1D
7 8
11 12
15
7 8
11 12
15 16
RX
5D
19 20
31
Convert to Binary
eva
RX
4F
7 8
11 12
15 16
1920
31
The radix of the second operand is changed from decimal to binary, and the result is placed in the first
operand location. The number is treated as a rightaligned signed integer both before and after conversion.
The second operand has the packed decimal data
format and is checked for valid sign and digit codes.
Improper codes are a data exception and cause a program interruption. The decimal operand occupies a
double-word storage field, which must be located on
an integral boundary. The low-order four bits of the
field represent the sign. The remaining 60 bits contain
15 binary-coded-decimal digits in true notation. The
packed decimal data format is described under "Decimal Arithmetic."
The result of the conversion is placed in the general
register specified by R l The maximum number that
can be converted and still be contained in a 32-bit
register is 2,147,483,647; the minimum number is
-2,147,483,648. For any decimal number outside this
range, the operation is completed by placing the 32
low-order binary bits in the register; a fixed-point
The 32 bits in the general register are placed unchanged at the second operand location.
Condition Code: The code remains unchanged.
Program Interruptions:
Protection
Addressing
Specification
Store Halfword
5TH
RX
Convert to Decimal
eVD
RX
40
7 8
4E
7 8
1 1 12
15 16
19 20
31
Store
5T
RX
50
Rl
7 8
11 12
B2
2
1516
D2
1920
31
11 12
15 16
19 20
31
Store Multiple
5TM
R5
90
78
11 12
1516
1920
31
RS
8B
7 8
11 12
1516
1920
31
1516
1920
31
SLDA
78
78
8F
Programming Note
SRA
Programming Note
]]/]2
1516
1920
31
Program Interruptions:
Specification
Fixed-point overflow
RS
8E
78
1112
1516
1920
31
3
Program Interruptions:
Specification
Programming Note
Fixed-Point Arithmetic
33
Decimal Arithmetic
I I I
Zone Digit
Digit Digit
Digit
I I I I
Digit
Digit
Digit
Sign
~~] Digit
I I I
Zone
Digit
Sign
I~
Data Format
Decimal operands reside in main storage only. They
occupy Helds that may start at any byte address and
are composed of one to 16 eight-bit bytes.
Lengths of the two operands specified in an instruction need not be the same. If necessary they are considered to be extended with zeros to the left of the
high-order digits. Results never exceed the limits set
by address and length specification. Lost carries or
lost digits from arithmetic operations are signaled as
a decimal overflow exception. Operands arc either in
the packed or zoned format.
I I I
Zone [-_-
I
Number Representation
Numbers are represented as right-aligned true integers with a plus or minus sign.
The digits 0-9 have the binary encoding 0000-1001.
The codes 1010-1111 are invalid as digits. This set of
Condition Code
The results of all add-type and comparison operations
are used to set the condition code. All other decimal
arithmetic operations leave the code unchanged. The
condition code can be used for deciSion-making by
subsequent branch-on-condition instructions.
The condition code can be set to reflect two types
of results for decimal arithmetic. For most operations
the states 0, 1, and 2 indicate a zero, less than zero,
and greater than zero content of the result field; the
state 3 is used when the result of the operations overflows.
For the comparison operation, the states 0, 1, and 2
indicate that the first operand compared equal, low,
or high.
CONDITION CODE SETTING FOR DECIMAL ARITHMETIC
Add Decimal
Compare Decimal
Subtract Decimal
Zero and Add
0
zero
equal
zero
zero
< zero
low
< zero
< zero
2
> zero
high
> zero
> zero
Instructions
The decimal arithmetic instructions and their mnemonics and operation codes follow. All instructions
use the ss format and assume packed operands and
results. The only exceptions are PACK, which has a
zoned operand, and UNPACK, which has a zoned result.
The table indicates the feature to which each instruction belongs, when the condition code is set, and the
exception that causes a program interruption.
NAME
MNEMONIC
Add Decimal
Subtract Decimal
Zero and Add
Compare Decimal
Multiply Decimal
Divide Decimal
Pack
Unpack
Move with Offset
AP
SP
ZAP
CP
MP
DP
PACK
UNPK
MVO
TYPE
SS
SS
SS
SS
SS
SS
SS
SS
SS
T,C
T,C
T,C
T,C
T
T
EXCEPTIONS
CODE
P,A, D,DF
P,A, D,DF
P,A, D,DF
A, D
P,A,S,D
P,A,S,D,DK
P,A
P,A
P,A
FA
FB
F8
F9
FC
FD
F2
F3
Fl
NOTES
3
overflow
overflow
overflow
Addressing exception
Condition code is set
Data exception
Decimal-overflow exception
Decimal-divide exception
Protection exception
Specification exception
Decimal feature
C
D
DF
DK
P
S
Instruction Format
B1
7 8
11 12
1516
I ~? I
D1
1920
31 32
B2
1~[5]
35 36
The moving, editing, and logical comparing instructions may also be used in decimal calculations.
47
Add Decimal
AP
55
FA
B1
7 8
11 12
1516
~? D1 1
1920
31 32
B2
IJ[5]
35 36
47
35
Subtract [ecimal
5P
55
FB
78
11 12
1516
The second operand is subtracted from the first operand, and the difference is placed in the first operand
location.
Subtraction is algebraic, taking into account sign
and all digits of both operands. The SUBTRACf DECIMAL
is similar to ADD DECIMAL, except that the sign of the
second operand is changed from positive to negative
or from negative to positive after the operand is obtained from storage and before the arithmetic.
The sign of the result is determined by the rules of
algebra. A zero difference is always positive. When
36
Note
ZAP
F8
78
11 12
1516
Compare Decimal
CP
55
F9
B1
7 8
11 12
1516
I~? I
D1
1920
3132
B2
IJ[5J
35 36
47
Fe
78
Programming Note
55
FD
Programming Note
MP
11 12
1516
7 8
11 12
1516
37
55
F2
7 8
11 12
1516
Unpack
SS
UNPK
F3
7 8
11 12
1516
55
~__
Fl __~L_l~I~L2~_B~1~1~J?~~Dl~I_B_2~1~~
7 8
11 12
15 16
1920
31 32
35 36
47
The second operand is placed to the left of and adjacent to the low-order four bits of the first operand.
The low-order four bits of the first operand are attached as low-order bits to the second operand, the
second operand bits are offset by four bit positions,
and the result is placed in the first operand location.
The first and second operand bytes are not checked
for valid codes.
The fields are processed right to left. If necessary,
the second operand is extended with high-order zerO's.
Addressing: An address designates a location outside the available storage for the installed system.
In the two preceding exceptions, the operation is
terminated. The result data and the condition code
are unpredictable and should not be used for further
computation.
These address exceptions do not apply to the components from which an address is generated - the
contents of the Dl and D2 fields and the contents of
the registers specified by Bl and B2
Specifications: A multiplier or a divisor size exceeds 15 digits and sign or exceeds the multiplicand
or dividend size. The instruction is suppressed;
therefore, the condition code and data in storage and
registers remain unchanged.
Data: A sign or digit code of an operand in ADD
DECIMAL, SUBTRACT DECIMAL, ZERO AND ADD, COMPARE
DECIMAL, MULTIPLY DECIMAL, or DIVIDE DECIMAL is incorrect, a multiplicand has insufficient high-order
zeros, or the operand fields in these operations overlap
incorrectly. The operation is terminated. The result
data and the condition code are unpredictable and
should not be used for further computation.
Decimal Overflow: The result of ADD DECIMAL, SUBTRACT DECIMAL, or ZERO AND ADD overflows. The program interruption occurs only when the decimal-overflow mask bit is one. The operation is completed by
placing the truncated low-order result in the result
field and setting the condition code to 3. The sign and
low-order digits contained in the result field are the
same as they would have been for an infinitely long
result field.
Decimal Divide Check: The quotient exceeds the
specified data field, including division by zero. Division is suppressed. Therefore, the dividend and
divisor remain unchanged in storage.
Decimal Arithmetic
39
Data Format
Floating-point data occupy a fixed-length format,
which may be either a fullword short format or a
double-word long format. Both formats may be used
in main storage and in the floating-point registers. The
four floating-point registers are numbered 0, 2, 4,
and 6.
Short Floating-Point Number
Is I Characteristic I
o
40
78
Fraction
31
~ls~I~C_h_a_ra_c_t_e_ri_st_iC-LI_________Fr_a_c_ti_o_n______~SS~____~
o
7 8
63
The first bit in either format is the sign bit (S). The
subsequent seven bit positions are occupied by the
characteristic. The fraction field may have either six
or 14 hexadecimal digits.
The entire set of floating-point instructions is available for both short and long operands. When shortprecision is specified, all operands and results are 32bit floating-point words, and the rightmost 32 bits of
the floating-point registers do not participate in the
operations and remain unchanged. An exception is the
product in MULTIPLY, which is a 64-bit word and occupies a full register. When long-precision is specified,
all operands and results are 64-bit floating-point words.
Although final results in short-precision have six
fraction digits, intermediate results in addition, subtraction, and division may extend to seven fraction
digits. Thc low-order digit of a seven-digit fraction is
called the guard digit and serves to increase the precision of the final result. Intermediate results in longprecision do not exceed 14 fraction digits.
Number Representation
The fraction of a floating-point number is expressed in
hexadecimal digits. The radix point of the fraction is
assumed to be immediately to the left of the highorder fraction digit. To provide the proper magnitude
for the floating-point number, the fraction is considered to be multiplied by a power of 16. The characteristic portion, bits 1-7 of both floating-point formats, indicates this power. The characteristic is treated as an
excess 64 number with a range from -64 through +63,
coresponding to the binary values 0-127.
Both positive and negative quantities have a true
fraction, the difference in sign being indicated by the
sign bit. The number is positive or negative accordingly as the sign bit is zero or one.
The range covered by the magnitude (M) of a
normalized floating-point number is
in short preciSion 16- 65 L. M L. (1 -16- 6 ) 1663 , and
in long precision 16- 65 L. M L. (1 -16- 14 ) 1663 ,
or approximately 2.4 . 10- 78 L. M L. 7.2 . 1075
in either precision.
Normalization
A quantity can be represented with the greatest precision by a floating-point number of given fraction
length when that number is normalized. A normalized
floating-point number has a nonzero high-order hexadecimal fraction digit. If one or more high-order
fraction digits are zero, the number is said to be unnormalized. The process of normalization consists of
shifting the fraction left until the high-order hexadecimal digit is nonzero and reducing the characteristic by
the number of hexadecimal digits shifted. A zero fraction can not be normalized, and its associated characteristic therefore remains unchanged when normalization is called for.
Normalization usually takes place when the intermediate arithmetic result is changed to the final result.
This function is called postnol'malization. In performing multiplication and division, the operands are
normalized prior to the arithmetic process. This function is called prenol'malization.
Floating-point operations may be performed with
or without normalization. Most operations are performed in only one of these two ways. Addition and
subtraction may be specified either way.
When an operation is performed without normalization, high-order zeros in the result fraction are not
eliminated. The result mayor may not be normalized,
depending upon the original operands.
In both normalized and unnormalizcd operations,
the initial operands need not be in normalized form.
Also, intermediate fraction results are shifted right
Condition Code
The results of floating-point sign-control, add, subtract, and compare operations are used to set the condition code. Multiplication, division, loading, and
storing leave the code unchanged. The condition code
can be used for dec i s ion -m a kin g by sub seq u e n t
branch-on-condition instructions.
The condition code can be set to reflect two types
of results for floating-point arithmetic. For most operations, the states 0, 1, or 2 indicate the content of the
result register is zero, less than zero, or greater than
zero. A zero result is indicated whenever the result
fraction is zero, including a forced zero. State 3 is used
when the exponent of the result overflows.
For comparison, the states 0, 1, or 2 indicate that the
first operand is equal, low, or high.
CONDITION CODE SETTING FOR FLOATING-POINT ARITHMETIC
0
zero
zero
equal
zero
zero
zero
zero
< zero
< zero
> zero
> zero
high
> zero
> zero
> zero
> zero
> zero
low
< zero
< zero
< zero
zero
< zero
zero
< zero
3
overflow
overflow
overflow
overflow
Instruction format
Floating-point instructions use the following two
formats:
RR Format
Op Code
R,
78
R2
1112
15
RX Format
I
o
Op Code
R,
7 8
X2
11 12
B2
15 16
19 20
31
In these formats, Rl designates the address of a floating-point register. The contents of this register will be
Floating-Point Arithmetic
41
Instructi,ons
The floating-point arithmetic instructions and their
mnemonics, formats, and operation codes follow. All
operations can be specified in short and long precision
and are part of the floating-point feature. The following table indicates when normalization occurs, when
the condition code is set, and the exceptions that
cause a program interruption.
TYPE
NAME
MNEMONIC
Load (Long)
Load (Long)
Load (Short)
Load (Short)
Load and Test
(Long)
Load and Test
(Short)
Load Complement
(Long)
Load Complement
(Short)
LDR
LD
LER
LE
RR
RX
RR
RX
LTDR
42
F
F
F
F
EXCEPTIONS
A,S
CODE
28
68
A,S
38
78
RR F,C
22
LTER
RR F,C
32
LCDR
RR F,C
23
LCER
RR F,C
33
NAME
MNEMONIC
TYPE
RR
BR
RR
RR
F,C
F,C
F,C
F,C
CODE
20
30
21
31
S
S
S
RR F,C
S,U,E,LS 2A
RX F,C
A,S, U ,E,LS 6A
RR F,C
S,U,E,LS 3A
RX F,C
A,S,U,E,LS 7A
RR F,C
S,
RX F,C
A,S,
RR F,C
S,
RR F,C
A,S,
E,LS 2E
E,LS
6E
E,LS 3E
E,LS
7E
RR F,C
S,U,E,LS 2B
RX F,C
A,S,U,E,LS 6B
RR F,C
S,U,E,LS 3B
RX F,C
A,S,U,E,LS 7B
RR F,C
S,
E,LS
2F
RX F,C
A,S,
E,LS
6F
RR F,C
S,
RX
RR
RX
RR
RX
RR
RR
RR
RX
RR
RX
RR
RX
RR
RX
RX
RX
F,C
F,C
F,C
F,C
F,C
F
F
F
F
F
F
F
F
F
F
F
F
NOTES
A
C
E
F
FK
LS
N
P
S
U
EXCEPTIONS
Addressing exception
Condition code is set
Exponent-overflow exception
Floating-point feature
Floating-point divide exception
Significance exception
Normalized operation
Protection exception
Specification exception
Exponent-underflow exception
E,LS 3F
A,S, E,LS
S
A,S
S
A,S
S
S
S,U,E
A,S,U,E
S,U,E
A,S,U,E
S,U,E,FK
A,S,U,E,FK
S,U,E,FK
A,S,U,E,FK
P,A,S
P,A,S
7F
29
69
39
79
24
34
2C
6C
3C
7C
2D
6D
3D
7D
60
70
Program Interruptions:
Operation (if floating -point feature is not installed)
Specification
Load
RR
LER
(Short Operands)
38
Rl
78
R2
15
11 12
Programming Note
LE
RX
(Short Operands)
78
Rl
RR
B2
1920
31
(Long Operands)
Rl
28
7 8
1516
11 12
7 8
LOR
X2
R2
RR
LCER
(Short Operands)
15
11 12
33
LO
RX
(Long Operands)
68
Rl
7 8
I X2 I
11 12
78
1920
31
(Short Operands)
32
Rl
7 8
RR
LTOR
R2
11 12
15
B2
1516
LTER
1112
15
RR
LCOR
(Long Operands)
23
78
1112
15
(Long Operands)
22
Rl
78
I
11 12
Load Positive
R2
15
RR
LPER
(Short Operands)
30
78
LPOR
RR
1112
15
(Long Operands)
20
Rl
78
I
1112
R2
I
15
43
1
2 Result is greater than zero
3
Program Interruptions:
Operation (if floating-p@int feature is not insta.lled)
Specification
Load Negative
RR
LNER
(Short Operands)
31
11 12
7 8
RR
LNDR
15
(Long Operands)
21
78
1112
15
3
Program Interruptions:
Operation (if floating-point feature is not installed)
Specification
Add Normalized
AER
3A
I
0
44
R1
RX
I R2 I
11 12
78
AE
(Short Operands)
RR.
15
(Short Operands)
Rl
7A
78
I X2 I
11 12
1516
D2
B2
1920
31
RR
ADR
I
0
Rl
2A
78
AD
(Long Operands)
RX
R2
15
11 12
(Long Operands)
Rl
6A
7 8
11 12
X2
1516
D2
B2
1920
31
Add Unnormalized
RR
AUR
Subtract Normalized
(Short Operands)
SER
3E
Rl
78
R2
15
11 12
RR
3B
RX
SE
RX
Rl
X2
11 12
78
B2
1516
D2
1920
31
RR
Rl
I
0
I X2 I B2
11 12
78
Rl
78
15
11 12
RR
SDR
I R2 I
1516
D2
1920
31
RX
1920
31
(Long Operands)
2B
Rl
78
AW
15
(Long Operands)
2E
R2
(Short Operands)
7B
AWR
11 12
(Short Operands)
7E
Rl
78
AU
(Short Operands)
I R2 I
11 12
15
(Long Operands)
Rl
6E
78
I
11 12
X2
I B2
1516
SD
1920
31
RX
(Long Operands)
6B
7 8
11 12
1516
The second operand is subtracted from the first operand, and the normalized difference is placed in the
fi'rst operand location.
Floating-Point Arithmetic
45
In short-precision, the low-order halves of the Hoating-point registers are ignored and remain unchanged.
The SUBTRACT NORMALIZED is similar to ADD NORMALIZED, except that the sign of the second operand is
inverted before addition.
The sign of the difference is derived by the rules of
algebra. The sign of a difference with zero result
fraction is always positive.
Resulting Condition Code:
o Result fraction is zero
1 Result is less than zero
2 Result is greater than zero
3 Result exponent overHows
Program Interruptions:
Operation (if Hoating-point feature is not installed)
Addressing (SD and SE only)
Specification
Significance
Exponent overHow
Exponent underHow
The
is similar to ADD UNNORMALIZED, except for the inversion of the sign of the
second operand before addition.
The sign of the difference is derived by the rules of
algebra. The sign of a difference with zero result
fraction is always positive.
Resulting Condition Code:
o Result fraction is zero
1 Result is less than zero
2 Result is greater than zero
3 Result exponent overHows
Program Interruptions:
Operation (if Hoating-point feature is not installed)
Addressing (sw and su only)
Specification
Significance
Exponent overHow
Compare
RR.
RR
CER
7 8
CE
78
11 12
15
RX
(Short Operands)
15
79
Rl
7 8
RX
11 12
(Short Operands)
3F
SU
(Short Operands)
39
Subtract Unnormalized
SUR
SUBTRACT UNNORMALIZED
X2
11 12
CDR
D2
7 8
11 12
1516
1920
31
RR
1920
31
1920
31
(Long Operands)
29
Rl
78
I R2
11 12
15
(Long Operands)
SWR
CD
RX
(Long Operands)
2F
7 8
11 12
15
RX
(Long Operands)
6F
7 8
11 12
1516
1920
31
The second operand is subtracted from the first operand, and the unnormalized difference is placed in
the first operand location.
In short-precision, the low-order halves of the Hoating-point register are ignored and remain unchanged.
46
B2
(Short Operands)
7F
SW
1516
69
Rl
7 8
I
11 12
X
2
I B2
1516
The first operand is compared with the second operand, and the condition code indicates the result.
In short-precision, the low-order halves of the Hoating-point registers are ignored.
Comparison is algebraic, taking into account the
sign, fraction, and exponent of each number. An exponent inequality is not decisive for magnitude determination since the fractions may have different numbers
of leading zeros. An equality is established by following the rules for normalized Hoating-point subtraction.
When the intermediate sum, including a possible
Multiply
I
ME
HER
RR
(Short Operands)
(Short Operands)
3C
R]
7 8
RX
R]
RR
I
0
15
B2
1516
1920
31
1920
31
(Long Operands)
2C
R]
RX
R2
15
11 12
7 8
R2
11 12
7 8
MDR
11 12
(Short Operands)
7C
MD
Halve
RR
MER
(Long Operands)
6C
R]
7 8
I
11 12
1516
B2
34
11 12
7 8
RR
HDR
15
(Long Operands)
24
7 8
11 12
15
Program Interruptions:
Operation (if floating-point feature is not installed)
Specification
Programming Note
The normalized product of multiplier (the second operand) and multiplicand (the first operand) replaces
the multiplicand.
The multiplication of two floating-point numbers
consists of a characteristic addition and a fraction
multiplication. The sum of the characteristics less 64 is
used as the characteristic of an intermediate product.
The sign of the product is determined by the rules of
algebra.
The product fraction is normalized by prenormalizing the operands and postnormalizing the intermediate
product, if necessary. The intermediate product characteristic is reduced by the number of left-shifts. For
long operands, the intermediate product fraction is
truncated before the left-shifting, if any. For short
operands (six-digit fractions), the product fraction has
the full 14 digits of the long format, and the two loworder fraction digits are accordingly always zero.
Exponent overflow occurs if the final product characteristic exceeds 127. The operation is terminated,
and a program interruption occurs. The overflow exception does not occur for an intermediate product
characteristic exceeding 127 when the final characteristic is brought within range because of normalization.
Exponent underflow occurs if the final product char-
Floating-Point Arithmetic
47
RR.
(Short Operands)
30
78
DE
RX
Rl
RR
DD
I
0
48
Rl
78
RX
X
2
I B2
1516
1920
31
1920
31
(Long Operands)
20
I
11 12
7 8
DDR
15
(Short Operands)
70
11 12
11 12
R2
15
(Long Operands)
Rl
60
7 8
X
2 I B2
I
11 12
1516
Store
STE
I
0
R, I
70
7 8
STD
(Short Operands)
RX
11 12
B2
1516
1920
31
1920
31
(Long Operands)
RX
R, I
60
7 8
11 12
I
1516
B2
Floating-Point Arithmetic
49
Logical Operations
A set of instructions is provided for the logical manipulation of data. Generally, the operands are treated
as eight-bit bytes. In a few cases the left or right four
bits of a byte are treated separately or operands are
shifted a bit at a time. The operands are either in
storage or in the general register. Some operands are
introduced from the instruction stream.
Processing of data in storage proceeds left to right
through fields which may start at any byte position. In
the general registers, the processing, as a rule, involves the entire register contents.
Except: for the editing instructions, data are not
treated as numbers. Editing provides a transformation
from packed decimal digits to alphanumeric characters.
The set of logical operations includes moving, comparing, bit connecting, bit testing, translating, editing,
and shift operations. All logical operations other than
editing are part of the standard instruction set. Editing instructions are pali of the decimal feature.
The condition code is set as a result of all logical
comparing, connecting, testing, and editing operations.
Data Format
Logical Data
31
Character
Character
I ~~
~~]
Character
16
Instruction format
Logical instructions use the following five formats:
RR Format
Op Code
R1
78
15
RX Format
R1
Op Code
B2
11 12
7 8
1920
31
1516
1920
31
15 16
1920
31
1516
R5 Format
Op Code
R3
R1
7 8
11 12
B2
51 Format
Condition Code
The results of most logical operations are used to set
the condition code in the psw. The LOAD ADDRESS, INSERT CHARACTERS, STORE CHARACTER, TRANSLATE, and
the moving and shift operations leave this code unchanged. The condition code can be used for decisionmaking by subsequent branch-on-condition instructions.
The condition code can be set to reHect five types
of results for logical operations: For COMPARE LOGICAL
the states 0, 1, or 2 indicate that the first operand is
equal, low, or high.
For the logical-connectives, the states
or 1 indicate a zero or nonzero result field.
For TEST UNDER MASK, the states 0, 1, or 3 indicate
that the selected bits are all-zero, mixed zero and one,
or all-one,
For TRANSLATE AND TEST, the states 0, 1, or 2 indicate an all-zero function byte, a nonzero function byte
with the operand incompletely tested, or a last function byte nonzero.
For editing the states 0, 1, or 2 indicate a zero, less
than zero, or greater than zero content of the last result field.
And
Compare Logical
Edit
Edit and Mark
Exclusive Or
Or
Test Under Mask
Translate and Test
R2
1112
0
zero
equal
zero
zero
zero
zero
zero
zero
1
2
not zero
low
high
< zero > zero
< zero > zero
not zero
not zero
mixed
incomplete complete
one
Op Code
7 8
5S Format
Op Code
L
78
B1
1516
I~?D11
19 20
31 32
B2
IJ3J
35 36
47
In the RR, RX, and RS formats, the content of the register specified by Rl is called the first operand.
In the SI and ss formats, the content of the general
register specified by Bl is added to the content of the
Dl field to form an address. This address deSignates
the leftmost byte of the first operand field. The number of bytes to the right of this first byte is specified
by the L field in the ss format. In the SI format the
oper~nd size is one byte.
In the RR format, the R2 field specifies the register
containing the second operand. The same register may
be specified for the first and second operand.
In the RX format, the contents of the general registers specified by the X2 and B2 fields arc added to the
content of the D2 field to form the address of the second operand.
In the RS format, used for shift operations, the content of the general register specified by the B2 field
is added to the content of the D2 field. This sum is not
used as an address but specifies the number of bits of
the shift. The RH field is ignored in the shift operations.
Logical Operations
51
MNEMONIC
NAME
TYPE
EXCEPTIONS
CODE
SLL
RS
89
SRL
RS
88
SLDL
RS, X
8D
SRDL
RS, X
8C
NOTES
Addressing exception
Condition code is set
Data exception
Protection exception
Specification exception
Decimal feature
A
C
D
P
S
T
Programming Note
Move
TEST.
MVI
51
Instructions
The logicalinstructions, their mnemonics, formats, and
operation codes follow. The table also indicates the
feature to which the instruction belongs, when the
condition code is set, and the exceptions that cause
a program interruption.
NAME
Move
Move
Move Numerics
Move Zones
Compare Logical
Compare Logical
Compare Logical
Compare Logical
AND
AND
AND
AND
OR
OR
OR
OR
Exclusive OR
Exclusive OR
Exclusive OR
Exclusive OR
Test Under Mask
Insert Character
Store Character
Load Address
Translate
Translate and Test
Edit
F:dit and Mark
,52
MNEMONIC
MVI
MVC
MVN
MVZ
CLR
CL
CLI
CLC
NR
N
NI
NC
OR
0
01
OC
XR
X
XI
XC
TM
IC
STC
LA
TR
TRT
ED
EDMK
TYPE
SI
SS
SS
SS
RR
C
RX
C
SI
C
SS X,C
RR
C
RX
C
SI
C
SS
C
RR
C
RX
C
SI
C
SS
C
RR
C
RX
C
SI,
C
SS
C
SI
C
RX
RX
RX
SS
SS
C
SS, T,C
SS, T,C
EXCEPTIONS
P,A
P,A
P,A
P,A
A,S
A
A
A,S
P,A
P,A
A,S
P,A
P,A
A,S
P,A
P,A
A
A
P,A
P,A
A
P,A, D
P,A, D
CODE
92
D2
Dl
D3
15
55
95
D5
14
54
94
D4
16
56
96
D6
17
57
97
D7
91
43
42
41
DC
DD
DE
DF
92
MVC
7 8
1516
7 8
1516
1920
31
55
D2
Compare Logical
Move Numerics
CLR
SS
MVN
Dl
L
1516
7 8
78
CLI
B1 I ~{D11 B2 11m
L
1516
19 20
31 32
35 36
47
2 B2
D2
X
11 12
1516
1920
31
15 16
1920
31
SI
95
78
SS
B1 I ~{D11 B2 11m
L
78
SS
Program Interruptions:
Addressing
Protection
R1
55
D5
Move Zones
78
15
11 12
RX
CLC
Program Interruptions:
Protection
Addressing
D3
78
CL
R2
R1
15
The low-order four bits of each byte in the second operand field, the numerics, are placed in the low-order
bit positions of the corresponding bytes in the first
operand fields.
The instruction is storage to storage. Movement is
left to right through each field one byte at a time, and
the fields may overlap in any desired way.
The numerics are not changed or checked for validity. The high-order four bits of each byte, the zones,
remain unchanged in both operand fields.
MVZ
RR
1516
19 20
31 32
35 36
47
The first operand is compared with the second operand, and the result is indicated in the condition code.
The instructions allow comparisons that are register
to register, storage to register, instruction to storage,
and storage to storage.
Comparison is binary, and all codes are valid. The
operation proceeds left to right and terminates as soon
as an inequality is found.
Resulting Condition Code:
o Operands are equal
1 First operand is low
2 First operand is high
3
Program Interruptions:
Addressing (CL, CLI, CLC only)
Specification (CL only)
Programming Note
Logical Operations
53
AND
OR
NR
RR.
OR
RR
14
16
78
1112
15
78
RX
7 8
11 12
15 16
19 20
31
51
RX
7 8
01
94
1516
7 8
NC
1920
31
55
1516
7 8
19 20
15 16
31
19 20
31
55
06
Bill? 0 1 I B2
L-------7~8- - - - - 1 . . . J
5 "-16--
1920
31 32
3
Program Interruptions:
Protection (01, oc only)
Addressing (0, 01, oc only)
Specification (0 only)
Programming Note
Programming Note
The
The
Ijl3J
35 36
47
The logical sum (OR) of the bits of the first and second operand is placed in the first operand location.
Operands are treated as unstructured logical quantities, and the connective inclusive OR is applied bit by
bit. All operands and results are valid.
Resulting Condition Code:
o Result is zero
1 Result not zero
3
Program Interruptions:
Protection (NI, NC only)
Addressing (N, NI, NC only)
Specification (N only)
AND
15 16
~___96____~____1_2__~~B_1~~_____0_1____~
L
78
11 12
51
OC
04
54
15
~1___5_6____~__Rl~__X_2~~B_2~_______0_2____~
54
NI
1112
OR
Exclusive OR
RR
XR
R2
R1
17
78
15
11 12
RX
11 12
7 8
XI
R1
57
D2
B2
2
1516
31
1920
The byte of immediate data, 12 , is used as an eightbit mask. The bits of the mask are made to correspond
one for one with the bits of the character in storage
specified by the first operand address.
A mask bit of one indicates that the storage bit is
selected. When the mask bit is zero, the storage bit is
ignored. When all storage bits thus selected are zero,
the condition code is made O. The code is also made
o when the mask is all-zero. When the selected bits
are all-one, the code is made 3; otherwise, the code is
made 1. The character in storage is not changed.
51
97
1516
7 8
XC
31
1920
55
D7
L
78
B1
1516
I ~?D11
1920
31 32
I~rn
B2
35 36
47
OR
7 8
11 12
15 16
19 20
31
RX
42
7 8
51
91
78
43
5TC
RX
IC
Store Character
Programming Note
The exclusive
Insert Character
1516
1920
31
11 12
15 16
19 20
31
Program Interruptions:
Protection
Addressing
Logical Operations
55
Load Address
LA
RX
41
7 8
11 12
15 16
19 20
31
S5
DC
L
78
B1
15 16
I~?Dll
19 20
31 32
B2
IU3J
35 36
. 47
55
DD
L
7 8
B1
1516
I~{Dll
1920
3132
B2
I}~
3536
47
Programming Note
The TRANSLATE AND TEST is useful for scanning an input stream and locating delimiters. The stream can
thus be rapidly broken into statements or data fields
for further processing.
Edit
ED
55
DE
L
78
Bl
1516
I ~?Dli
19 20
31 32
B2
I~~
35 36
47
Logical Operations
57
58
CHARNAME AND
ACTER
CODE
PURPOSE
0010 0000
digit select
other
TRIG-
INE
GER
yes
s=l
s=O
s=O
s=l
s=O
s=O
DIGIT
DIGIT STATUS STATUS
significance
start
yes
field
separator
message
insertion
no
00100001
00100010
EXAM-
no
dnotO
d=O
d nota
d=O
RESULT TRIGGER
CHARSET
ACTER
digit
digit
fill
digit
digit
fill
fill
s=l
s=l
s=l
s=O
leave
fill
s=l
s=O
NOTES
d
digit
fill
leave
Source digit
S trigger (1: minus sign, digits, or pattern used; 0:
plus sign, fill used)
A source digit replaces the pattern character.
The fill character replaces the pattern character.
The pattern character remains unchanged.
As a rule the source operand is shorter than the pattern since it yields two digits or a digit and a sign for
each source number.
When a single instruction is used to edit several
numbers, the zero-field identification is provided only
for the last field.
Edit and Mark
EDMK
55
DF
7 8
B1
15 16
I~?D11
19 20
31 32
B2
IJ~
35 36
47
The operation is identical to EDIT, except for the additional function of inserting a byte address in general
register 1. The use of general register 1 is implied.
The byte address is inserted in bits 8-31 of this register. The byte address is inserted each time the S trigger is in the zero state and a nonzero digit is inserted
in the result field. The address is not inserted when
significance is forced by the significance-start character of the pattern. Bits 0-7 are not changed.
Resulting Condition Code:
o Result field is zero
1 Result field is less than zero
2 Result field is greater than zero
3
Program Interruptions:
Operation (if decimal feature is not installed)
Protection
Addressing
Data
Programming Notes
RS
89
7 8
11 12
1516
1920
31
RS
88
7 8
11 12
1516
1920
31
RS
80
7 8
11 12
1516
1920
31
Logical Operations
59
RS
8e
7 8
11 12
1516
1920
31
60
Branching
Instructions are performed by the central processing unit primarily in the sequential order of their
locations. A departure from this normal sequential
operation may occur when branching is performed.
The branching instructions provide a means for making a two-way choice, to reference a subroutine, or to
,repeat a segment of coding, such as a loop.
Branching is performed by introducing a branch address as a new instruction address.
The branch address may be obtained from one of
the general registers or it may be the address specified
by the instruction. The branch address is independent
of the updated instruction address.
The detailed operation of branching is determined
by the condition code which is part of the program
status word (psw) or by the results in the general registers which are specified in the loop-closing operations.
During a branching operation, the rightmost half of
the psw, including the updated instruction address,
may be stored before the instruction address is replaced by the branch address. The stored information
may be used to link the new instruction sequence with
the preceding sequence.
The instruction EXECUTE is grouped with the branching instructions. The branch address of EXECUTE designates a single instruction to be inserted in the instruction sequence. The updated instruction address normally is not changed in this operation, and only the instruction located at the branch address is executed.
All branching operations are provided in the standard instruction set.
Instructions occupy a halfword or a multiple thereof. An instruction may have up to three halfwords.
The number of halfwords in an instruction is specified
by the first two instruction bits. A 00 code indicates a
halfword instruction, codes 01 and 10 indicate a twohalfword instruction, and code 11 indicates a threehalfword instruction.
Hallword format
OpCode
~
78
15
Two-Ha/fword format
Op Code
Three-Ha/fword format
Io
Op Code
Bl
7 8
1516
ID1~~ I
1920
3132
Storage wraps around from the maximum addressable storage location, byte location 16,777,215, to byte
location O. An instruction having its last halfword at
the maximum storage location is followed by the instruction at address O. Also, a multiple-halfword instruction may straddle the upper storage boundary; no
special indication is given in these cases.
Conceptually, an instruction is fetched from storage
after the preceding operation is completed and before
execution of the current operation, even though physical storage word size and overlap of instruction execution with storage access may cause actual instruction
fetching to be different.
A change in the sequential operation may be caused
by branching, status-switching, interruption, or manual intervention. Sequential operation is initiated and
terminated from the system control panel.
Branching
61
Programming Note
Decisiol1l-Making
Branching may be conditional or unconditional. Unconditional branches replace the updated instruction
address with the branch address. Conditional branches
may use the branch address or may leave the updated
instruction address unchanged. When branching takes
place, the instruction is called successful; otherwise, it
is called unsuccessful.
62
Instruction Formats
Branching instructions use the following three formats:
RR Format
7 8
15
11 12
RX Format
Op Code
I Rl/Mll
B2
11 12
7 8
1516
1920
31
1920
31
RS Format
Op Code
R3
Rl
7 8
11 12
B2
1516
In these formats Rl specifies the address of a general register. In BRANCH ON CONDITION a mask field
( M 1 ) identifies the bit values of the condition code.
The branch address is defined differently for the three
formats.
In the RR format, the R2 field specifies the address of
a general register containing the branch address, except when R2 is zero, which indicates no branching.
The same register may be specified by Rl and R2.
In the RX format, the contents of the general registers specified by the X2 and B2 fields are added to
the content of the D2 field to form the branch address.
In the RS format, the content of the general register
specified by the B2 field is added to the content of the
D2 field to form the branch address. The Rg field in
this format specifies the location of the second operand
and implies the location of the third operand. The first
operand is specified by the Rl field. The third operand
location is always odd. If the Rg field specifies an even
register, the third operand is obtained from the next
higher addressed register. If the Rg field specifies an
odd register, the third operand location coincides with
the second operand location.
A zero in a B2 or X 2 field indicates the absence of
the corresponding address component.
An instruction can specify the same general register
for both address modification and operand location.
The order in which the contents of the general registers are used for the different parts of an operation
is:
1. Address computation.
2. Arithmetic or link information storage.
3. Replacement of the instruction address by the
branch address obtained under step 1.
Results are placed in the general register specified
by R 1 . Except for the storing of the final results, the
contents of all general registers and storage locations
participating in the addressing or execution part of an
operation remain unchanged.
Programming Note
Branching Instructions
The branching instructions and their mnemonics, formats, and operation codes follow. The table also shows
which instructions are not part of the small binary instruction set and the exceptions that cause a program
interruption. The subject instruction of EXECUTE follows its own rules for interruptions. The condition
code is never changed for branching instructions.
MNEMONIC
NAME
Branch on
Condition
Branch on
Condition
Branch and Link
Branch and Link
Branch on Count
Branch on Count
Branch on Index
High
Branch on Index
Low or Equal
Execute
TYPE
EXCEPTIONS
CODE
BCR
RR
07
BC
BALR
BAL
BCTR
BCT
RX
RR
RX
RR
RX
47
05
45
06
46
BXH
RS
86
BXLE
EX
RS
RX
A,S,
EX
87
44
NOTES
A
EX
S
Addressing exception
Execute exception
Specification exception
Branch On Condition
BCR
I
BC
RR
07
78
1112
15
7 8
11 12
15 16
RX
47
31
19 20
INSTRUCTION
CODE
BIT
8
9
1
2
3
10
11
63
Programming Note
When all four mask bits are ones, the branch is unconditional. When all four mask bits are zero or when
the R2 field in the RR format contains zero, the branch
instruction is equivalent to a no-operation.
Branch all1d Link
I~R
SALR
05
78
1112
15
SAL
RX
45
7 8
11 12
15 16
19 20
31
The rightmost 32 bits of the PSW, including the updated instruction address, are stored as link information in the general register specified by R I . Subsequently, the instruction address is replaced by the
branch address.
The branch address is determined before the link
information is stored. The link information contains
the instruction length code, the condition code, and
the program mask bits, as well as the updated instruction address. The instruction-length code is 1 or 2,
depending on the format of the BRANCH AND LINK.
Condition Code: The code remains unchanged.
Program Interruptions: None.
Programm.'ng Note
RR
06
SCT
78
1112
15
7 8
11 12
15 16
RX
46
19 20
31
8XH
86
7 8
11 12
15 16
19 20
31
RS
7 8
11 12
15 16
19 20
31
Branching Exceptions
RX
44
7 8
11 12
15 16
19 20
31
The single instruction at the branch address is modified by the content of the general register specified by
R" and the resulting subject instruction is executed.
Bits 8-15 of the instruction designated by the branch
address are oR'ed with bits 24-31 of the register specified by R 1 , except when register 0 is specified, which
indicates that no modification takes place. The subject instruction may be 16, 32, or 48 bits in length.
The oR'ing does not change either the content of the
register specified by R] or the instruction in storage
and is effective only for the interpretation of the instruction to be executed.
The execution and exception handling of the subject instruction are exactly as if the subject instruction
were obtained in normal sequential operation, except
for instruction address and instruction-length recording.
Exceptional instructions cause a program interruption. When the interruption occurs, the current psw is
stored as an old psw, and a new psw is obtained. The
interruption code in the old psw identifies the cause.
Exceptions that cause a program interruption in
branching are:
Execute: An EXECUTE instruction has as its subject
instruction another EXECUTE.
Addressing: The branch address of EXECUTE designates an instruction-halfword location outside the
available storage for the particular installation.
Specification: The branch address of EXECUTE is odd.
The last three exceptions occur only for EXECUTE.
The instruction is suppressed. Therefore, the condition
code and data in registers and storage remain unchanged.
Exceptions arising for the subject instruction of EXECUTE are the same as would have arisen had the subject instruction been in the normal instruction stream.
However, the instruction address stored in the old
Branching
65
Programming Note
Logical Operations
And
Compare Logical
Edit
Edit and Mark
Exclusive Or
Or
Test Under Mask
Translate and Test
zero
equal
zero
zero
zero
zero
zero
zero
not zero
high
low
zero
zero
< zero > zero
not zero
not zero
mixed
incomplete complete
I nput-Output Operations
not
Halt I/O
working
Start I/O
available
Test Channel
not
working
Test I/O
available
Fixed-Point Arithmetic
Add H/F
zero
< zero
> zero
Add Logical
zero
not zero
overflow
carry
Compare H/F
Load and Test
Load Complement
Load Negative
Load Positive
Shift Left Double
Shift Left Single
Shift Right Double
Shift Right Single
Subtract H/F
equal
zero
zero
zero
zero
zero
zero
zero
zero
zero
low
< zero
< zero
< zero
zero,
carry
high
> zero
> zero
Subtract Logical
< zero
< zero
< zero
< zero
< zero
not zero
> zero
> zero
> zero
> zero
> zero
> zero
zero
equal
zero
zero
< zero
low
< zero
< zero
carry
overflow
overflow
overflow
overflow
66
zero
zero
equal
zero
< zero
< zero
overflow
carry
zero,
carry
carry
> zero
overflow
> zero
> zero
overflow
overflow
> zero
overflow
> zero
overflow
high
low
< zero
high
> zero
zero
zero
zero
< zero
zero
< zero
zero
< zero
> zero
> zero
> zero
> zero
< zero
available
busy
carry
complete
CSW ready
CSW stored
equal
Floating-Point Arithmetic
Add Normalized
S/L
Add Unnormalized
S/L
Compare S/L
Load and Test S/L
Load Complement
S/L
Load Negative S/L
Load Positive S/L
Subtract Normalized SIL
Subtract Unnormalized S/L
halted
CSW
stored
CSW
ready
CSW
stored
>
one
stopped
not oper
busy
not oper
working
not oper
working
not oper
NOTES
Decimal Arithmetic
Add Decimal
Compare Decimal
Subtract Decimal
Zero and Add
<
> zero
H
halted
high
incomplete
L
< zero
low
mixed
not oper
not working
not zero
one
overflow
S
stopped
working
zero
overflow
overflow
Status-Switch ing
Program States
The four types of program-state alternatives, which
determine the over-all CPU status, are named Problem/
Supervisor, Wait/Running, Masked/Interruptable, and
Stopped/Operating. These states differ in the way they
affect the CPU functions and in the way their status is
indicated and switched. Each state, except masked,
has one alternative.
All program states are independent of each other in
their function, indication, and status-switching. Statusswitching does not affect the contents of the arithmetic registers or the execution of I/O operations but
may affect the timer operation.
Problem State
The choice between supervisor and problem state determines whether the full set of instructions is valid.
The names of these states reflect their normal use.
In the problem state all I/O, protection, and direct-
Programming Note
67
running state may be achieved by the privileged instruction LOAD psw, by an interruption such as for
SUPERVISOR CALL, or by initial program loading. Switching from the wait state may be achieved by an I/O or
external interruption or, again, by initial program
loading. The new psw may introduce the wait or running state regardless of the preceding state. No explicit operator control is provided for changing the
wait state.
Timer updating is not affected by the choice between running and wait state.
Programming Note
masked status may be achieved by the privileged instruction LOAD psw, by an interruption such as for supERVISOR CALL, or by initial program loading. The new
psw may introduce a new masked state regardless of
the preceding state. No explicit operator control is
provided for changing the masked state.
Timer updating is not affected by the choice between masked or interruptable states.
Programming Note
To prevent an interruption-handling routine from being interrupted before necessary housekeeping steps
are performed, the new psw for that interruption
should mask the CPU for further interruptions of the
kind that caused the interruption.
Stopped State
When the CPU is in the stopped state, instructions and
interruptions are not executed. In the operating state,
the CPU executes instructions (if not waiting) and intelTui1tions (if not masked off).
The stopped state is indicated on the operator control section of the system control panel by the manual
light. The stopped state is not identified by a bit in
the psw.
A change in the stopped or operating state can be
effected only by manual intervention or by machine
malfunction. No instructions or interruptions can stop
or start the CPU. The CPU is commanded to stop when
the stop key on the operator intervention section of
the system control panel is pressed, when an address
comparison indicates equality, and when the rate
switch is set to INSTRUCTION STEP. In addition, the CPU
is placed in the stopped state after power is turned on
or following a system reset, except during initial program loading. The CPU is placed in the operating state
when the start key on the operator intervention panel
is pressed. The CPU is also placed in the operating
state when initial program loading is commenced.
The transition from operating to stopped state occurs at the end of instruction execution and prior to
starting the next instruction execution. When the CPU
is in the wait state, the transition takes place immediately. All interruptions pending and not masked off
are taken while the CPU is still in the operating state.
They cause an old psw to be stored and a new psw to
be fetched before entering the stopped state. Once the
CPU is in the stopped state, interruptions are no longer
takcn but remain pending.
The timer is not updated in the stopped state.
Programming Notes
Except for timing considerations, execution of a program is not affected by stopping the CPU.
Storage Protection
Storage protection is provided to protect the contents
of certain areas of storage from destruction caused by
erroneous storing of information during the execution
of a program. This protection is achieved by identifying blocks of storage with a storage key and comparing this key with a protection key supplied with the
data to be stored. The detection of a mismatch is a
protection exception and results in a program interruption.
Area Identification
System Mask
31
Instruction Address
32
33 34 35 36
63
39 40
Status Switching
69
o
1
2
3
4
5
6
7
7
7
INTERRUPTION SOURCE
Multiplexor channel
Selector channel 1
Selector channel 2
Selector channel 3
Selector channel 4
Selector channel 5
Selector channel 6
Timer
Interrupt key
External signal
PROGHAM EXCEPTION
36
37
38
39
Fixed-point overflow
Decimal overflow
Exponent underflow
Significance
Instruction Address: Bits 40-63 of the psw are the instruction address. This address specifies the leftmost
eight-bit byte position of the next instruction.
Multisystem Operation
Various fcatures are provided to permit communication between individual systems. Messages may be
transmitted by means of a shared I/O device, a channel connector, or a shared storage unit. Signaling may
be accomplished when the direct control feature is installed by WRITE DIRECT and READ DIRECI' and by the
signal-in lines of the external interruption.
The multisystem feature adds to these facilities the
ability to relocate direct addressed locations, to signal
the machine malfunction of one system to another,
and to initiate system operation from another system.
Direct Address Relocation
Instruction format
Status-switching instructions use the following two
formats:
RR
Format
78
R2
Rl
Op Code
11 12
15
51 Format
Op Code
Dl
Bl
12
78
1516
1920
31
In the RR format, the Rl field specifies a general register, except for SUPERVISOR CALL. The R2 field specifies a general register in SET STORAGE KEY and INSERT
STORAGE KEY. The Rl and R2 fields in SUPERVISOR CALL
contain an identification code. In SET PROGRAM MASK
the R2 field is ignored.
In the SI format the eight-bit immediate field (1 2 )
of the instruction contains an identification code. The
h field is ignored in LOAD psw and SET SYSTEM MASK.
The content of the general register specified by Bl is
added to the content of the Dl field to form an address
designating the location of an operand in storage.
Only one operand location is required in status-switching operations.
A zero in the Bl field indicates the absence of the
corresponding address component.
Instructions
The status-switching instructions and their mnemonics,
formats, and operation codes follow. The table also
indicates the feature to which an instruction belongs
and the exceptions that cause a program interruption.
NAME
MNEMONIC
Load PSW
Set Program Mask
Set System Mask
Supervisor Call
Set Storage Key
Insert Storage Key
Write Direct
Read Direct
Diagnose
LPSW
SPM
SSM
SVC
SSK
ISK
WRD
RDD
TYPE
SI
RR
SI
RR
RR
RR
SI
SI
SI
L
L
EXCEPTIONS
CODE
M, A,S
82
04
80
OA
08
09
84
85
83
M, A
Z
Z
Y
Y
M, A,S
M, A,S
M, A
M,P,A
M, A,S
NOTES
A
L
M
P
S
Y
Z
Addressing exception
New condition codc loaded
Privileged-operation exception
Protection exception
Specification exception
Direct control feature
Protection feature
Programming Note
71
Load PSW
LP5W
5PM
51
04
82
78
1516
1920
78
31
The CPU enters the problem state when LOAD psw loads
a double word with a one in bit position 15 and similarly enters the wait state if bit position 14 is one.
The LOAD psw is the only instruction available for
entering the problem state or the wait state.
72
RR
11 12
15
51
~B]I
80
78
1516
1920
31
SVC
I
o
OA
R]
78
R2
11 12
I
15
Program Interruptions:
Operation (if protection feature is not installed)
Privileged operation
Addressing
Specification
RR
Write Direct
WRD
08
7 8
11 12
Program Interruptions:
Operation (if protection feature is not installed)
Privileged operation
Addressing
Specification
Insert Storage Key
15K
RR
09
7 8
11 12
51
15
15
The key of the storage block addressed by the register designated by R2 is inserted in the register designated by R 1 .
The storage block 2,048 bytes, located on a multiple of the block length, is addressed by bits 8-20 of
the register designated by the R2 field. Bits 0-7 and
__L-_B~l-L__._____
D_l______ ]
84
78
1516
1920
31
Program Interruptions:
Operation (if direct control feature is not installed)
Privileged operation
Addressing
Programming Note
Status Switching
73
Read Direct
Diagnose
51
RDD
51
85
83
78
15 16
1920
31
78
1516
1920
31
Programming Note
74
Status-Switching Exceptions
Exceptional instructions or data cause a program interruption. When the interruption occurs, the current
psw is stored as an old PSW, and a new psw is obtained.
Thc interruption code inserted in the old psw identifies the cause of the interruption. The following exception conditions cause a program interruption in
status-switching operations.
Operation: The direct control feature is not installed,
and the instruction is READ DIRECT or WRITE DIRECT; or,
the protection feature is not installed and the instruction is SET STORAGE KEY or INSERT STORAGE KEY.
Privileged Operation: A LOAD PSW, SET SYSTEM MASK,
SET STORAGE KEY, INSERT STORAGE KEY, WRITE DIRECT,
READ DIRECT,
Status Switching
75
Interru ptions
Interruption Action
An interruption consists of storing the current psw as
an old psw and fetching a new psw.
Processing resumes in the state indicated by the
new psw. The old psw contains the address of the instruction that would have been executed next if an
interruption had not occurred and the instructionlength code of the last-interpreted instruction.
Interruptions are taken only when the CPU is interruptable for the interruption source. Input/output and
external interruptions may be masked by the system
mask, four of the 15 program interruptions may be
masked by the program mask, and the machine-check
interruptions may be masked by the machine-check
mask.
An interruption always takes place after one instruction interpretation is finished and before a new instruction interpretation is started. However, the occurrence of an interruption may affect the execution
of the current instruction. To permit proper programmed action following an interruption, the cause of the
interruption is identified and provision is made to
locate the last-interpreted instruction.
When the CPU is commanded to stop, the current
instruction is finished, and all interruptions that are
pending or become pending before the end of the
instruction, and which are not masked, are taken.
The details of instruction execution, source identification, and location determination are explained in
later sections and are summarized in the following
table.
76
SOURCE
TION
JDENTlFICA TlON
16-31
BITS
ILC
EXE-
SET
CUTION
00000000 aaaaaaaa
00000001 aaaaaaaa
00000010 aaaaaaaa
00000011 aaaaaaaa
00000100 aaaaaaaa
00000101 aaaaaaaa
00000110 aaaaaaaa
0
1
2
3
4
5
6
x
x
x
x
x
x
x
CPU
complete
complcte
complete
complete
complete
complete
completc
Operation
Privileged opcration
Executc
Protcction
0000000000000001
0000000000000010
0000000000000011
0000000000000100
Addressing
00000000 00000101
Specification
Data
Fixed-point overflow
Fixcd-point divide
00000000 00000110
00000000 00000111
00000000 00001000
00000000 00001001
Dccimal overflow
Decimal divide
Exponent overflow
Exponcnt underflow
Significance
Floating-point divide
00000000 00001010
0000000000001011
00000000 00001100
00000000 000011 0 1
0000000000001110
0000000000001111
36
37
38
39
1,2,3 supprcss
supprcss
1,2
suppress
2
0,2,3 suppress/
terminate
1,2,3 suppress/
terminate
1,2,3 suppress
2,3 terminate
1,2 complete
1,2 suppress/
complete
complete
3
suppress
3
1,2 terminate
1,2 complcte
1,2 complete
suppress
1,2
00000000 r rr r r 1'1' r
complete
00000000 xxxxxxx 1
00000000 xxxxxx1x
00000000 xxxxx lxx
00000000 xxxxlxxx
00000000 xxxlxxxx
00000000 xxlxxxxx
00000000 xlxxxxxx
00000000 lxxxxxxx
7
7
7
7
7
7
7
7
x
x
x
x
x
x
x
x
complete
complete
complete
complete
complete
complete
complete
complete
13
NOTES
Programming Note
INSTRUCINTERRUPTION
a
r
x
SUPERVIson CALL
terminate
Instruction Execution
Location Determination
For some interruptions, it is desirable to locate the instruction being interpreted when the interruption occurred. Since the instruction address in the old psw
designates the instruction to be executed next, it is
necessary to know the lcngth of the preceding instruction. This length is recorded in bit positions 32 and
33 of the psw as the instruction-length code.
The instruction-length code is predictable only for
program and supervisor-call interruptions. For I/O
and external interruptions, the interruption is not
caused by the last-interpreted instruction, and the
code is not predictable for these instructions. For
machine-check interruptions, the setting of the code
may be affected by the malfunction and, therefore, is
unpredictable.
For the supervisor-caB interruption, the instructionlength code is 1, indicating the halfword length of
SUPERVISOR CALL. For program interruptions, the codes
1, 2, and 3 indicate the instruction length in halfwords.
The code 0 is reserved for program interruptions
where the length of the instruction is not available because of certain overlapping conditions in struction
fetching. In code-O cases, the instruction address in
the old psw does not represent the next instruction
address. Instruction-length code 0 can occur for a
program interruption only when the interruption is
caused by a protected or an unavailable data address.
The following table shows the states of the instructionlength code.
Source Identification
INSTRUCINSTRUCTION
TJON
J.ENGTH psw BITS
BITS 0-1
32-33
CODE
a
1
2
2
3
00
01
10
10
11
00
01
10
11
INsTRUCTION
LENGTH
INSTRUCTION
FORMAT
Not available
One halfword
Two halfwords
Two halfwords
Three halfwords
RR
RX
RS or SI
SS
Programming Notes
77
Input/Output Interruption
The 1/() interruption provides a means by which the
CPU responds to signals from I/O devices.
A request for an I/O interruption may occur at any
time, and more than one request may occur at the
same time. The requests are preserved in the I/O
section until accepted by the CPU. Priority is established among requests so that only one interruption
request is processed at a time.
An I/O interruption can occur only after execution
of the current instruction is completed and while the
CPU is interruptable for the channel presenting the
request. Channels are masked by system mask bits 0-6.
Interruptions masked off remain pending.
The I/O interruption causes the old psw to be stored
at location 56 and causes the channel status word associated with the interruption to be stored at location
64. Subsequently, a new psw is loaded from location
120.
The interruption code in the old psw identifies the
channel and device causing the interruption in bits
21-23 and 24-31, respectively. Bits 16-20 of the old psw
are made zero. The instruction-length code is unpredictable.
When an operation code is not assigned or the assigned operation is not available on the particular
model, an operation exception is recognized. The operation is suppressed.
The instruction-length code is 1, 2, or 3.
Privileged-Operation Exception
Program Interruption
Exceptions resulting from improper specification or
use of instructions and data cause a program interruption.
The current instruction is completed, terminated, or
suppressed. Only one program interruption occurs for
a given instruction and is identified in the old psw.
The occurrence of a program interruption docs not
preclude the simultaneous occurrence of other program-interruption causes. Which of several causes is
identified may vary from one occasion to the next and
from one model to another.
A program interruption can occur only when the
corresponding mask bit, if any, is one. When the mask
bit is zero, the interruption is ignored. Program interruptions do not remain pending. Program mask bits
36-39 permit masking of four of the 15 interruption
causes.
The program interruption causes the old psw to be
stored at location 40 and a new psw to be fetched
from location 104.
The cause of the interruption is identified by interruption-code bits 28-31. The remainder of the interruption code, bits 16-27 of the PSW, are made zero. The
instruction-length code indicates the length of the
preceding instruction in halfwords. For a few cases,
78
When an address specifies any part of data, an instruction, or a control word outside the available
storage for the particular installation, an addressing
exception is recognized.
The operation is terminated for an invalid data
address. Data in storage remain unchanged, except
when designated by valid addresses. The operation is
suppressed for an invalid instruction address.
The instruction-length code normally is 1, 2 or 3;
but may be 0 in the case of a data address.
Specification Exception
Decimal-Overflow Exception
Data Exception
When a high-order carry occurs or high-order significant bits are lost in fixed-point add, subtract, shift, or
sign-control operations, a fixed-point-overflow exception is recognized.
The operation is completed by ignoring the information placed outside the register. The interruption
may be masked by psw bit 36.
The instruction-length code is 1 or 2.
Fixed-Point-Divide Exception
Decimal-Divide Exception
When the result characteristic exceeds 127 in floatingpoint addition, subtraction, multiplication, or division,
an exponent-overflow exception is recognized. The
operation is terminated.
The instruction-length code is 1 or 2.
Exponent-U nderflow Exception
When the result of a floating-point addition or subtraction has an all-zero fraction, a significance exception is recognized.
The operation is completed. The interruption may
be masked by psw bit 39. The manner in which the
operation is completed is determined by the mask bit.
The instruction-length code is 1 or 2.
Floating-Point-Divide Exception
79
Programming Notes
External Interruption
The external interruption provides a means by which
the CPU responds to signals from the timer, from the
interrupt key, and from external units.
A request for an external interruption may occur at
any time, and requests from diHerent sources may
occur at the same time. Requests are preserved until
honored by the CPU. All pending requests are presented simultaneously when an external interruption
occurs. Each request is presented only once. When
several requests from one source are made before the
interruption is taken, only one interruption occurs.
An external interruption can occur only when system mask bit 7 is one and after execution of the current instruction is completed. The interruption causes
the old psw to be stored at location 24 and a new
psw to be fetched from location 88.
The source of the interruption is identified by interruption-code bits 24-31. The remainder of the interruption code, psw bits 16-23, is made zero. The instruction-length code is unpredictable for external interruptions.
Timer
23
24
25
26
27
28
29
30
31
FREQUENCY
300 cps
600 cps
1.2 kc
2.4 kc
4.8 kc
9.6 kc
19.2 kc
38.4 kc
76.8 kc .
RESOLUTION
3.33 ms
1.67 ms
833 fLS
417 fLS
208 fLS
104 fLS
52 fLS
26 fLS
13 fLS
23 24 25 26 27 28 29 30 31
Timer
80
111111111
Interrupt Key
Programming Note
Priority of Interruptions
During execution of an instruction, several interruption-causing events may occur simultaneously. The
instruction may give rise to a program interruption, an
external interruption may occur, a machine check may
occur, and an I/O interruption request may be made.
Instead of the program interruption, a supervisor-call
i~terruption might occur; however, both cannot occur
since these two interruptions are mutually exclusive.
Simu1taneous interruption requests are honored in a
predetermined order.
The machine-check interruption has highest priority.
When it occurs, the current operation is terminated.
Program and supervisor-call interruptions that would
have occurred as a result of the current instruction are
eliminated. Every reasonable attempt is made to limit
the side-effects of a machine check. Normally, I/O and
external interruptions, as well as the progress of the
I/O data transfer and the updating of the timer, remain unaffected.
When no machine check occurs, the program interruption or supervisor-call interruption is taken first, the
external interruption is taken next, and the I/O interruption is taken last. The action consists of storing the
old psw and fetching the new psw belonging to the
interruption first taken. This new psw is subsequently
stored without any instruction execution, and the next
interruption psw is fetched. This storing and fetching
continues until no more interruptions are to be serviced. The external and I/O interruptions are taken only
if the immediately preceding psw indicates that the
CPU is interruptable for these causes.
Instruction execution is resumed using the lastfetched psw. The order of executing interruption subroutines is therefore the reverse of the order in which
the psw's arc fetched.
Interruptions
81
Interruption Exceptions
The only exception that can cause a program interruption during an interruption is a specification exception.
Specification: The protection feature is not installed,
and a new psw with nonzero protection kcy is loaded.
A program interruption is taken immediately upon
82
loading thc new PSW, regardless of the type of interruption introducing thc erroneous protection key and
prior to any other pending interruptions. The protection key is made zero when the psw is stored.
If the new psw for the program interruption has a
nonzero protection key, another program interruption
occurs. Since this second program interruption introduces the same unacceptable protection key in the
new PSW, the process is repeated with the CPU caught
in a string of program interruptions. This string can be
broken only by initial program loading or system reset.
The instruction address in a new psw is not tested
for availability or resolution as the psw is fetched
during an interruption. However, an unavailable or
odd instruction address is detected as soon as the
instruction address is used to fetch an instruction.
These exceptions are described in the section on
normal sequential operation.
If the new psw for the program interruption has an
unacceptable instruction address, another program
interruption occurs. Since this second program interruption introduces the same unaccept'able instruction
address, a string of program interruptions is established. This string may be broken by an external or
I/O interruption. If these interruptions also have an
unacceptable new psw, new supervisor information
must be introduced by initial program loading or by
manual intervention.
The control unit provides the logical capability necessary to operate and control an 110 device and adapts
the characteristics of cach device to the standard form
of control provided by the channel.
All communications betwccn the control unit and
the channel take place over the 110 interface. The
control unit accepts control signals from the channel,
controls the timing of data transfer over the 110 interface, and provides indications concerning thc status
of the device.
The 110 interface provides an information format
and a signal sequence common to all 1/0 devices. The
interface consists of a set of lines that can connect a
number of control units to the channel. Except for the
signal used to establish priority among control units,
all communications to and from the channel occur
over a common bus, and any signal provided by the
channel is available to all control units. At anyone
instant, however, only one control unit is logically
connected to the channel. Thc selection of a control
unit for communication with the channel is controlled
by a signal that passes serially through all control units
and permits, sequentially, each control unit to respond
to the signals provided by the channel. A control unit
remains logically connected on the interface until it
has transferred the information it needs or has, or until
the channel signals it to disconnect, whichever occurs
earlier.
The 110 device attached to the control unit may be
designed to perform only certain limited operations.
A typical operation is moving the recording medium
and recording data. To accomplish these functions, the
device needs detailed signal sequences peculiar to the
type of device. The control unit decodes the commands received from the channel, interprets them for
the particular type of device, and provides the signal
sequence required for execution of the operation.
A control unit may be housed separately or it may
be physically and logically integral with the 110 device. In the case of most electromechanical devices, a
well-defined interface exists betwecn the device and
the control unit because of the difference in the type of
equipment the control unit and the device contain.
These electromechanical devices often are of a type
where only one device of a group is rcquired to opInput/Output Operations
83
Types of Channels
85
Termination of the I/O operation normally is indicated by two conditions: channel end and device end.
The channel-end condition indicates that the I/O device has received or provided all information associated with the operation and no longer needs channel
facilities. The device-end signal indicates that the
I/O device has terminated execution of the operation.
The device-end condition can occur concurrently with
the channel-end condition or later.
Operations that tie up the control unit after releasing
channel facilities may, under certain conditions, cause
a third type of signal. This signal, called control unit
end, may occur only after channel end and indicates
that the control unit is available for initiation of another operation.
The conditions signaling the termination of an I/O
operation can be brought to the attention of the program by I/O interruptions or, when the channel is
masked, by programmed interrogation of the I/O device. In either case, these conditions cause storing the
csw, which contains additional information concerning the execution of the operation. At the time the
channel-end condition is generated, the channel provides an address and a count that indicate the extent
of main storage used. Both the channel and the device
can provide indications of unusual conditions. The
device-end and control-unit-end conditions can be accompanied by error indications from the device.
Facilities are provided for the program to initiate
execution of a chain of commands with a single START
I/O. When command chaining is specified, the receipt
of the device-end signal causes the channel to fetch
a new ccw and to initiate a new command at the
device. A chained command is initiated by mcans of
the same sequence of signals over the I/O interface as
the first command specified by START I/O. The conditions signaling the termination of an operation are
not made available to the program when command
chaining occurs.
Conditions that initiate I/O interruptions are asynchronous to the activity in the CPU, and more than one
condition can occur at the same time. The channel and
the CPU establish priority among the conditions so that
only one interruption request is processed at a time.
The conditions are preserved in the I/O devices and
subchannels until accepted by the CPU.
Execution of an I/O operation or chain of operations
thus involves up to four levels of participation. Except
for the effects of shared equipment, the CPU is tied up
for the duration of execution of START I/O, which
86
The organization of the I/O system provides for a uniform method of controlling I/O operations. The capacity of a channel, however, depends on its use and on
the model to which it belongs. Channels are provided
with different data-transfer capabilities, and an I/O
device designed to transfer data only at a specific rate
(a magnetic tape unit or a disk storage for example)
can operate only on a channel that can accommodate
at least this data rate.
The data rate a channel can accommodate depends
also on the way the I/O operation is programmed. The
channel can sustain its highest data rate when no data
chaining is specified. Data chaining reduces the maximum allowable rate, and the extent of the reduction
depcnds on the frequency at which new ccw's are
fetched and on the address resolution of the first byte
in the new area. Furthermore, since the channel may
share main storage with the CPU and other channels,
activity in the rest of the system affects the accessibility of main storage and, hence, the instantaneous
load the channel can sustain.
In view of the dependence of channel capacity on
programming and on activity in the rest of the system,
an evaluation of the ability of a specific I/O configuration to function concurrently must be based on a
consideration of both the data rate and the way the
I/O operations are programmed. Two systems employing identical complements of I/O devices may be able
to executc certain programs in common, but it is possible that other programs requiring, for example, data
chaining, may not run on one of the systems.
The instruction
addresscs a channel;
device. The other three I/O
instructions address a channel and a device on that
channel.
TEST CHANNEL
I/O
An
I/O
ADDRESS
ASSIGNMENT
Devices
Devices
Devices
Devices
Devices
Devices
Devices
Invalid
ADDRESS
00000000
to
0111 1111
1000 xxxx
1001 xxxx
1.010 xxxx
1011 xxxx
1100 xxxx
1101. xxxx
1110 xxxx
1111 xxxx
ASSIGNMENT
Input/Output Operations
87
the device on the control unit is fixed and does not depend on the path of communications.
In models in which more than 128 sub channels are
available, the shared subchannels can optionally be replaced by sets of unshared subchannels. When the
option is implemented, the additional unshared subchannels are assigned sequential addresses starting at
128.
Except for the rules described, the assignment of device addresses is arbitrary. The assignment is made at
the time of installation and normally is fixed.
Programmill1g Notes
I/O DEVICE
Available
Interruption pending
Working
Not operational
SUDCHANNEL
ADBREV
A
I
W
N
ADDREV
Available
Interruption pending
A
I
Working
Not operational
W
N
CHANNEL
A
I
Working
Not operational
W
N
DEFINITION
ADDREV
Available
Interruption pending
DEFINITION
DEFINITION
A channel, subchannel, or I/O device that is available, that contains a pending interruption condition, or
that is working, is said to be operational. The states of
containing an interruption condition, working, or being not operational are collectively referred to as "not
available."
In the case of the multiplexor channel, the channel
and subchannel are easily distinguishable and, if the
channel is operational, any combination of channel and
subchanncl states are possible. Since the selector channel can have only one subchannel, the channel and
subchannel are functionally coupled, and certain states
of the channel are related to those of the subchannel.
In particular, the working state can occur only concurrently in both the channel and subchannel and, whenever an interruption condition is pending in the subchannel, the channel also is in the same state. The
channel and sub channel, however, are not synonymous, and an interruption condition not associated
with data transfer, such as attention or device end,
does not affect the state of the subchannel. Thus, the
subchanne.1 may be available when the channel has
an interruption condition pending. Consistent distinction between the subchannel and channel permits
both types of channels to be covered uniformly by a
single description.
The device referred to in the preceding table includes both the device proper and its control unit. For
some types of devices, such as magnetic tape units, the
working and the interruption-pending states can be
caused by activity in the addressed device or control
unit. A shared control unit imposes its state on all devices attached to the control unit. The states of the devices are not related to those of the channel and subchannel.
When the response to an I/O instruction is determined on the basis of the states of the channel and
subchannel, the components further removed are not
interrogated. Thus, ten composite states are identified
89
Execution of malfunction reset in the channel depends on the type of error and the model. It may
cause all operations in the channel to be terminated
and all operational subchannels to be reset to the
available state. The channel may send either the malfunction-reset signal to the device connected to the
channel at the time the malfunctioning is detected,
or channels sharing common equipment with the
CPU may send the system-reset signal to all devices
attached to the channel.
When the channel signals malfunction reset over
the interface, the device immediately disconneots
from the channel. Data transfer and any operation
using the facilities of the control unit are immediately
terminated, and the I/O device is not necessarily positioned at the beginning of a block. Mechanical motion not involving the control unit, such as rewinding
magnetic tape or positioning a disk access mechanism,
proceeds to the normal stopping point, if possible.
The device remains unavailable until the termination
of mechanical motion or the inherent cycle of operation, if any, whereupon it becomes available. Status
information associated with the addressed device is
reset, but an interruption condition may be generated
upon completing any mechanical operation.
When a malfunction reset occurs, the program is
alerted by an I/O interruption or, when the malfunction is detected during the execution of an I/O instruction, by the setting of the condition code. In either
case the csw identifies the condition. The device addressed by the I/O instruction or the device identified
by the I/O interruption, however, is not necessarily
the one placed in the malfunction-reset state. In channels sharing common equipment with the CPU, malfunctioning detected by the channel may be indicated
by a machine-check interruption, in which case a csw
is not stored and a device is not identified. The
method of identifying malfunctioning depends upon
the model.
Condition Code
Available
Interruption pend. in device
Device working
Device not operational
Interruption pend. in sub channel
For the addressed device
For another device
Subchannel working
Subchannel not operational
Interruption pend. in channel
Channel working
Channel not operational
Error
Channel equipment error
Channel programming error
Device error
I/O
AAA
AAI
AAW
AAN
AIX
O,P~
1~
I/O
I/O
CHAN
0
0
0
0
0
0
0
0
1~
1~
1~
1~
2
0
2
2
0
1~
AWX
2
2
ANX
3
3
3
IXX
sce note below
WXX
2
2
2
NXX
3
3
3
0
0
0
0
1
2
3
1~
1~
1~
1~
~The
[nput/Output Operations
91
Instruction Format
Start I/O
5/0
OpCode
78
B1
1516
9C
Instructionls
SIO
TIO
HIO
TCH
TYPE
SI, C
SI, C
SI, C
SI, C
EXCEPTION
CODE
M
M
M
M
9C
9D
9E
9F
NOTES
C
M
Programming Note
92
1516
1920
31
31
NAME
~B1
7 8
1920
Start 110
Test 110
Halt 110
Test Channel
51
A write, read, read backward, control or sense operation is initiated at the addressed I/O device and subchannel. The instruction START I/O is executed only
when the CPU is in the supervisor state.
Bit positions 21-31 of the sum formed by the addition of the content of register Bl and the content of
the Dl field identify the channel, sub channel, and I/O
device to which the instruction applies. The CAW at
location 72 contains the protection key for the subchannel and the address of the first ccw. The ccw so
designated specifies the operation to be performed,
the main-storage area to be used, and the action to
be taken when the operation is completed.
The I/O operation specified by START I/O is initiated
if the addressed I/O device and subchannel are available, the channel is available or is in the interruptionpending state, and errors or exceptional conditions
have not been detected. When the addressed part of
the I/O system is in any other state or when the channel or device detect any error or exceptional condition
during exccution of the instruction, the I/O operation
is not initiated.
When any of the following conditions occurs, START
I/O causes the status portion, bit positions 32-47, of
the csw at location 64 to be replaced by a new set of
status bits. The status bits pertain to the device addressed by the instruction. The contents of the other
fields of the csw at location 64 are not changed.
1. An immediate operation was executed, and no
command chaining is taking place. An operation is
called immediate when the I/O device signals the
channel-end condition immediately on receipt of the
command code. The csw contains the channel-end bit
and any other indications provided by the channel or
the device. The busy bit is off. The I/O operation has
been initiated, but no information has been transferred
to or from the storage area designated by the ccw. No
interruption conditions are generated at the device or
snbchannel, and the sub channel is available for a
new I/O operation.
2. The I/O device contains a pending interruption
condition due to device end or attention, or the con-
rio
51
9D
~Bll
78
1516
1920
31
93
51
9E
~Bl
78
1516
1920
31
Execution of the current I/O operation at the addressed sub channel or channel is terminated. The subse94
not interrupted, and any pending attention and device-end conditions in these devices are not reset.
When any of the following conditions occurs, HALT
I/O causes the status portion, bit positions 32-47, of
the csw at location 64 to be replaced by a new set of
status bits. The status bits pertain to the device addressed by instruction. The contents of the other fields
of the csw at location 64 are not changed. The extent
of data transfer and the conditions of termination of
the operation at the subchannel are provided in the
csw associated with the termination.
1. The device on the addressed subchannel currently involved in data transfer in the multiplex mode has
been signaled to terminate the operation. The csw
contains z,eros in the status field.
2. The addressed subchannel on the multiplexor
channel is working, and no burst operation is in progress, but the control unit or the I/O device is executing
a type of operation or is in such a state that it cannot
accept the halt-I/o signaI. The device has not been
signaled to terminate the operation, but the subchannel has been set up to signal termination to the device
the next time the device requests or offers a byte of
data. The csw unit-status field contains the busy and
status-modifier bits. The channel-status field contains
zeros.
3. The channel detected an equipment malfunction
during the execution of HALT I/O. The status bits in
the csw identify the error condition. The state of the
channel and the progress of the I/O operation are unpredictable.
When the subchannel on the multiplexor channel is
shared and no burst operation is in progress, HALT I/O
causes the operation to be terminated as long as the
instruction is addressed to a device on the currently
working control unit. If another device is addressed, a
malfunction has occurred, or the operator has changed
the state of the operating control unit, no device may
recognize the address. If the device appears not operational during execution of HALT I/O, condition code
3 is set, and the subchannel is set up to signal termination to the device the next time the device offers
or requests a byte of data.
2
3
51
9F
~Bl
78
1516
1920
31
Input/Output Operations
95
Blocking of Data
Data recorded on an external document may be divided into blocks. A block of data is defined for each
type of 110 device as the amount of information recorded in the interval between adjacent starting and
stopping points of the device. The length of a block
depends on the documents; for example, a block can
be a card, a line of printing, or the information recorded between two consecutive gaps on tape.
The maximum amount of information that can be
transferred in one I/O operation is one block. An I/O
operation is terminated when the associated storage
area is exhausted or the end of the block is reached
whichever occurs first. For some operations, such a~
writing on a magnetic tape unit or on an inquiry station, blocks are not defined, and the amount of information transferred is controlled only by the program.
The channel address word ( CAW) specifies the storage
protection key and the address of the first ccw associated with START I/O. It appears at location 72. The
channel refers to the CAW only during the execution
of START I/O. The pertinent information thereafter is
stored in the channel, and the program is free to
change the content of the CAW. Fetching of the CAW
by the channel does not affect the contents of location
72.
The CAW has the following format:
Key
0 () 0 0
34
78
Command Address
31
The fields in the CAW are allocated for the following purposes:
96
The channel command word (ccw) specifies the command to be executed and, for commands initiating
I/O operations, it designates the storage area associated with the operation and the action to be taken
whenever transfer to or from the area is completed.
The ccw's ~an be located anywhere in main storage,
and more than one can be associated with a START
I/O. The channel refers to a ccw in main storage only
once, whereupon the pertinent information is stored
in the channel.
The first ccw is fetched during the execution of
START I/O. Each additional ccw in the chain is obtained when the operation has progressed to the point
where the additional ccw is needed. Fetching of the
CCw's by the channel does not affect the contents of
the location in main storage.
The ccw has the following format:
I.o
I I
Command
Code
Flags
32
Data Address
78
looO~
36 37
3940
4748
Count
63
The command code in the ccw specifies to the channel and the I/O device the operation to be performed.
The two low-order bits or, when these bits are
00, the four low-order bits of the command code identify the operation to the channel. The channel distinguishes among the following four operations:
Output forward (write, control)
Input forward (read, sense)
Input backward (read backward)
Branching (transfer in channel)
xxxx
1000
MMMM 1100
MMMMMMOI
MMMMMM10
MMMMMM11
COMMAND
Invalid
Sense
Transfer in channel
Read hackward
\Vritc
Read
Control
The main-storage area associated with an I/O operation is defined by ccw's. A ccw defines an area by
specifying the address of the first eight-bit hyte to be
transferred and the number of consecutive eight-bit
bytes contained in the area. The address of the first
hyte appears in the data-address field of the ccw. The
number of bytes contained in the storage area is specified in the count field.
In write, read, control, and sense operations storage
locations are used in ascending order of addresses. As
information is transferred to or from main storage, the
content of the address field is incremented, and the
content of the count field is decrementcd .. The readbackward operation causes data to be placed in storInput/Output Operations
97
the operation is not initiated, and the status portion of the csw with the program-check indication is
stored during execution of START I/O. When a count
of zero is detected during data chaining, the I/O device is signaled to terminate the operation. Detection
of a count of zero during command chaining suppresses initiation of the new operation and generates
an interruption condition.
CAW,
Chaining
When the channel has performed the transfer of information specified by a ccw, it can continue the activity initiated by START I/O by fetching a new ccw.
The fetching of a new ccw upon the exhaustion of the
current ccw is called chaining and the ccw's belonging
to such a sequence are said to be chained.
Chaining takes place only between ccw's located
in successive double-word locations in storage. It proceeds in an ascending order of addresses; that is, the
address of the new ccw is obtained by adding eight
to the address of the current ccw. Two chains of
ccw's located in noncontiguous storage areas can be
coupled for chaining purposes by a transfer in channel command. All ccw's in a chain apply to the I/O
device specified in the original START I/O.
Two types of chaining are provided: chaining of
data and chaining of commands. Chaining is controlled by the chain-data (CD) and chain-command
(cc) flags in the ccw. These flags specify the action
to be taken by the channel upon the exhaustion of
the current ccw. The following code is used:
CD
CC
o
o
0
1
0
1
1
1
ACTION
The specification of chaining is effectively propagated through a transfer in channel command. When
in the process of chaining a transfer-in-channel command is fetched, the ccw designated by the transfer
in channel is used for the type of chaining specified
in the ccw preceding the transfer in channel.
The CD and cc flags are ignored in the transfer-inchannel command.
Data Chaining
device. Data chaining also permits a block of information to be transferred to or from noncontiguous areas
of storage, and, when used in conjunction with the
skipping function, it permits the program to place in
storage selected portions of a block of data.
When during an input operation, the program
specifies data chaining to a location into which data
have been placed under the control of the current
ccw, the channel fetches the new contents of the location, even if the location contains the last byte
transferred under thc control of the current ccw.
The program, therefore, can use self-describing records; that is, it can chain to a ccw that has been read
under the control of the current ccw. However,
since the program is not notified of any data errors
until the end of the operation, there is no assurance
that the ccw is correct. The ccw in main storage may
be invalid even though its parity is good.
Command Chaining
99
Programming Note
either initially or upon command chaining, the interruption may occur as early as immediately upon the
initiation of the operation. The PCI flag in a ccw
fetched on data chaining causes the interruption to
occur after all data designated by the preceding ccw
have been transferred. The time of the interruption,
however, depends on the model and the current activity in the system and may be delayed even if the
channel is not masked. No predictable relation exists
between the time the interruption due to the PCI Hag
occurs and the progress of data transfer to or from the
area designated by the ccw.
If chaining occurs before the interruption due to
the PCI flag has taken place, the PCI condition is carried over to the new ccw. This carryover occurs both
on data and command chaining and, in either case,
the condition is propagated through the transfer-inchannel command. The PCI conditions are not stacked;
that is, if another ccw is fetched with a PCI Bag before
the interruption due to the PC! Hag of the previous
ccw has occurred, only one interruption takes place.
A csw containing the PCI bit may be stored by an
interruption while the operation is still proceeding or
upon the termination of the operation.
When the csw is stored by an interruption before
the operation or chain of operations has been terminated, the command address is eight higher than the
address of the current ccw, and the count is unpredictable. All unit-status bits in the csw are off. If the
channel has detected any unusual conditions, such as
channel data check, program check, or protection
check by the time the interruption occurs, the corresponding channel-status bit is on, although the condition in the channel is not reset and is indicated
again upon the termination of the operation.
Presence of any unit-status bit in the csw indicates
that the operation or chain of operations has been
terminated. The csw in this case has its regular format with the PCI bit added.
The setting of the PCI Bag is inspected in every ccw
except those specifying transfer in channel. In a ccw
specifying transfer in channel, the setting of the Bag
is ignored. The PCI Hag is ignored also during initial
program loading.
Programming Notes
Since no unit-status bits are placed in the csw associated with the termination of an operation on the selector channel by HALT I/O, the presence of a unitstatus bit with the PCI bit is not a necessary condition
for the operation to be terminated. When the selector
channel contains the PCI bit at the time the operation
is terminated by HALT I/O, the csw associated with
the termination is indistinguishable from the csw pro-
Read Backward
Commands
Write
Read
Read backward
Control
Sense
Transfer in channel
FLAG
CD
CD
CD
CD
CD
CC
CC
CC
CC
CC
SLI
PCI
SLI SKIP PCI
SLI SKIP PCI
SLI
PCI
SLI SKIP PCI
CODE
MMMMMMOI
MMMMMM10
MMMM 1100
MMMMMMII
MMMM 0100
x x x x 1000
NOTES
CD
CC
SLI
SKIP
PCI
Chain data
Chain command
Suppress incorrect length
Skip
Program-controlled interruption
A read-backward operation is initiated at the I/O device, and the subchannel is set up to transfer data
from the device to main storage. On magnetic tape
units, read backward causes reading to be performed
with the tape moving backwards. The bytes of data
within a block are sent to the channel in a sequence
opposite to that on writing. The channel places the
bytes in storage in a descending order of address, starting with the address specified in the ccw. The bits
within an eight-bit byte are in the same order as sent
to the device on writing.
A ccw used in a read-backward operation is inspected for everyone of the five Hags - CD, cc, SLI,
skip, and PCI. Bit positions 0-3 of the ccw contain
modifier bits.
Programming Note
Programming Note
Control
Write
Read
Input/Output Operations
101
o
1
2
3
4
5
DESIGNATION
Command reject
Intervention required
Bus-out check
Equipment check
Data check
Overrun
Input/Output Operations
103
Types of Termination
104
Immediate Operations
When command chaining is specified and is not suppressed because of error conditions, channel end and
device end do not cause interruption conditions and
are not made available to the program. Unit-check and
unit-exception conditions cause interruption to be requested only when the conditions are detected during
the initiation of a chained command. Once the command has been accepted by the device, unit check
and unit exception do not occur in the absence of
channel end, control unit end, or device end.
When the channel detects any of the following conditions, it initiates a request for an I/O interruption
without having received the status byte from the device:
flag in a ccw.
Execution of HALT
PCI
I/O
on selector channel.
pending on the type of channel. To stack the interruption condition in the device, as occurs on the
multiplexor channel, the channel signals the device to
respond with a unit-status byte consisting of all zeros
on a subsequent scan for interruption conditions. The
error indication is preserved in the subchannel.
The method of processing a request for interruption
due to equipment malfunctioning, as indicated by the
presence of the channel-control-check and interfacecontrol-check conditions, depends on the model.
More than one interruption condition can be cleared
concurrently. As an example, when the PCI condition
exists in the subchannel at the termination of an operation, the PCI condition is indicated with channel end
and only one I/O interruption occurs, or only one TEST
I/O is needed. Similarly, if the channel-end condition
is not cleared until device end is generated, both conditions may be indicated in the csw and cleared at
the device concurrently.
However, at the time the channel assigns highest
priority for interruptions to a condition associated with
an operation at the subehannel, the channel accepts
the status from the device and clears the condition at
the device. The interruption condition is subsequently
preserved in the snbchannel. Any subsequent status
generated by the device is not included with the condition at the suhchannel, even if the status is generated
before the CPU accepts the condition.
Priority of Interruptions
105
Programming Note
107
occur immediately after the termination of the instruction removing the mask. This delay can occur regardless of how long the interruption condition has existed
in the device or the subchannel.
The interruption causes the current program status
word (psw) to be stored as the old psw at location 56
and causes the csw associated with the interruption to
be stored at location 64. Subsequently, a new psw is
loaded from location 120, and processing resumes in
the state indicated by this psw. The I/O device causing
the interruption is identified by the channel address
in bit positions 21-23 and by the device address in bit
positions 24-31 of the old psw. The csw associated
with the interruption identifies the condition responsible for the interruption and provides further details
about the progress of the operation and the status of
the device.
Programming Note
The channel status word (csw) provides to the program the status of an I/O device or the conditions
under which an I/O operation has been terminated.
The csw is formed, or parts of it are replaced, in the
process of I/O interruptions and during execution of
START I/O, TEST I/O, and HALT I/O. The csw is placed in
main storage at location 64 and is available to the program at this location until the time the next I/O interruption occurs or until another I/O instruction causes
its content to be replaced, whichever occurs first.
When the csw is stored as a result of an I/O interruption, the I/O device is identified by the I/O address
in the old psw. The information placed in the csw by
START I/O, TEST I/O, or HALT I/O pertains to the device
addressed by the instruction.
The csw has the following format:
---------.J
I~K_e_Y~I_o_o__o_o~I__________C_om_m_a_n_d_A__dd_r_es_s__
34
7 8
31
Status
Count
4748
63
BIT
DESIGNATION
32
Attention
DESIGNATION
40
33
34
35
36
37
38
39
Status modifier
Control unit end
Busy
Channel end
Device end
Unit cheek
Unit exception
41
42
43
44
45
46
47
The following conditions are detected by the I/O device or control unit and are indicated to the channel
over the I/O interface. The timing and causes of these
conditions for each type of device are specified in the
SRL publication for the device.
When the I/O device is accessible from more than
one subchannel, status is signaled to the sub channel
that initiated the associated I/O operation. The handling of conditions not associated with I/O operations
depends on the type of device and condition and is
specified in the SRL publication for the device.
The channel does not modify the status bits received
from the I/O device. These bits appear in the csw as
received over the interface.
Attention
Attention is caused upon the generation of the attention signal at the I/O device. The attention signal can
be generated at any time and is interpreted by the
program. Attention is not associated with the initiation,
execution, or termination of any I/O operation.
The attention condition cannot be indicated to the
program while an operation is in progress at the I/O
device, control unit, or subchannel. Otherwise, the
handling and presentation of the condition to the channel depend on the type of device.
Status Modifier
109
Busy indicates that the I/O device or control unit cannot execute the command or instruction because it is
executing a previously initiated operation or because
it contains an interruption condition. The interruption
condition for the addressed device, if any, accompanies the busy indication. If the busy condition applies
to the control unit, busy is accompanied by status
modifier.
The following table lists the conditions when the
busy bit (B) appears in the csw and when it :is accompanied by the status-modifier bit (SM). A double
hyphen (--) indicates that the busy bit is off; an
asterisk (~) indicates that csw status is not stored or
an I/O interruption cannot occur; and the (cl) indicates that the interruption condition is cleared and
the status appears in the csw. The abbreviation DE
stands for device end, while cu stands for control unit.
CSW STATUS STORED BY:
CONDITION
Subchannel available
DE or attention in device
Device working, CU available
CU end or channel end in CU:
for the addressed device
for another device
CU working
Interruption pend. in subchannel
for the addressed device
because of:
chaining terminated by
attention
other type of termination
Subchannel working
CU available
CU working
START
TEST
HALT
I/O
I/O
I/O
I/O
INT.
B,cl
--,cl
B,cl
B,SM
B,SM
--,cl
B,SM
B,SM
--,cl
--,cl
,cl
--,cl
B,cl
--,cl
--,cl
~
B,SM
Channel end is caused by the completion of the portion of an I/O operation involving transfer of data or
control information between the I/O device and the
channel. The condition indicates that the sub channel
has become available for use for another operation.
Each I/O operation causes a channel-end condition
to be gencrated, and there is only one channel end for
an operation. When command chaining takes place,
only the channel end of the last operation of the chain
is made available to the program. The channel-end
condition, however, is not made available to the program when a chain of commands is prematurely terminated because of an unusual condition indicated
with control unit end or device end. The channel-end
condition is not generated when programming or
equipment errors are detected during initiation of the
operation.
The instant within an I/O operation when channel
end is generated depends on the operation and the
type of device. For operations such as writing on magnetic tape, the channel-end condition occurs when the
block has been written. On devices that verify the
writing, channel end mayor may not be delayed until
verification is performed, depending on the device.
When magnetic tape is being read, the channel-end
condition occurs when the gap on tape reaches the
read-write head. On devices equipped with buffers,
such as a line printer, the channel-end condition occurs upon completion of data transfer between the
channel and the buffer. During control operations,
channel end is generated when the control information
has been transferred to the devices, although for short
operations the condition may be delayed until completion of the operation. Operations that do not cause
any data to be transferred can provide the channelend condition during the initiation sequence.
A channel-end condition pending in the control unit
causes the control unit to appear busy for initiation of
new operations. Unless the operation has been performed on the selector channel and has been terminated by HALT I/O, channel end causes the subchannel
to be in the interruption-pending state.
Device End
Device end is caused by the completion of an I/O operation at the device or, on some devices, by manually
changing the device from the not-ready to the ready
state. The condition indicates that the I/O device has
become available for use for another operation.
Each I/O operation causes a device-end condition,
and there is only one device end to an operation.
When command chaining takes place, only the device
end of the last operation of the chain is made available to the program. The device-end condition is not
generated when any programming or equipment errors are detected during initiation of the operation.
The device-end condition associated with an I/O
operation is generated either simultaneously with the
channel-end condition or later. On data transfer operations on devices such as magnetic tape units, the
device terminates the operation at the time channel
end is generated, and both device end and channel
end occur together. On buffered devices, such as a
line printer, the device-end condition occurs upon
Unit check is caused by any programming or equipment errors detected by the I/O device or control unit.
The errors responsible for the unit check are detailed
by the information available to a sense command. The
unit-check bit provides a summary indication of the
errors identified by sense data.
The unit-check condition is generated only when
the error is detected during the execution of TEST I/O
or a command. The device does not alert the program
of any equipment malfunction occurring at a time
when the device is not executing an operation and
does not have a pending interruption condition. Malfunctioning detected at this time may cause the device
to become not ready; unit check in this case is signaled to the program the next time the device is
selected.
If the device detects during the initiation sequence
that the command cannot be executed, unit check is
presented to the channel and appears in the csw without channel end, control unit end, or device end. Such
unit status indicates that no action has been taken at
the device in response to the command. If the condition precluding proper execution of the operation
occurs after execution has been started, unit check is
accompanied by channel end, control unit end, or device end, depending on when the condition was detected.
Termination of an operation with the unit-check
indication causes command chaining to be suppressed.
Unit Exception
III
The program-controlled-interruption condition is generated when the channel fetches a ccw with the program-controlled-interruption (PCI) flag on. The interruption due to the PC! flag takes place as soon as
possible after fetching the ccw but may be delayed an
unpredictable amount of time because of masking of
the channel or other activity in the system.
Detection of the PCI condition does not affect the
progress of the I/O operation.
Incorrect Length
Incorrect length occurs when the number of bytes contained in the storage areas assigned for the I/O operation is not equal to the number of bytes requested or
offered by the I/O device. Incorrect length is indicated
for one of the following reasons:
l.Jong blocl( on Input: During a read, read-backward,
or sense operation, the device attempted to transfer
one or more bytes to storage after the assigned storage
areas were filled. The extra bytes have not been placed
in main storage. The count in the csw is zero.
IJong Block on Output: During a write or control
operation the device requested one or more bytes from
the channel after the assigned main-storage areas were
exhausted. The count in the csw is zero.
Short Block on Input: The number of bytes transferred during a read, read hackward, or sense operation is insufficient to fill the storage areas assigned to
the operation. The count in the csw is not zero.
Short Block on Output: The device terminated a
write or control operation before all information contained in the assigned storage areas was transferred to
the device. The count in the csw is not zero.
The incorrect-length indication is suppressed when
112
the current ccw has the SLI flag and does not have the
CD flag. The indication does not occur for immediate
operations and for operations rejected during the initiation sequence.
Presence of the incorrect-length condition suppresses
command chaining unless the SLI flag in the ccw is on
or unless the condition occurs in an immediate operation.
The following table lists the effect of the incorrectlength condition for all combinations of the CD, CC,
and SLI flags. It indicates for the two types of operations when the operation at the sub channel is terminated (stop) and when the command chaining takes
place. The entry "incorrect length" (IL) means that
the indication is made available to the program; a
double hyphen (--) means that the indication is suppressed. For all entries, the current operation is assumed to have caused the incorrect-length condition.
ACTION AND INDICATION
FLAGS
CD
CC
SLI
IMMEDIATE OPEHATION
0
0
0
0
1
I
I
I
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Stop,IL
Stop, -Stop,IL
Chain command
Stop,IL
Stop,IL
Stop,IL
Stop,IL
Program Check
Channel control check is caused by any machine malfunctioning affecting channel controls. The condition
includes parity errors on ccw and data addresses and
parity errors on the contents of the ccw. Conditions
responsible for channel control check usually cause the
contents of the csw to be invalid and conflicting.
The csw as generated by the channel has correct
parity. The channel either forces correct parity on the
csw fields or sets the invalid fields to zero.
Detection of the channel-control-check condition
causes the current operation, if any, to be immediately
terminated and may cause the channel to perform the
malfunction-reset function. The recovery procedure in
the channel and the subsequent state of the subchannel
upon a malfunction reset depend upon the model.
Interface Control Check
113
The content of the csw depends on the condition causing the storing of the csw and on the programming
method by which the information is obtained. The
status portion always identifies the condition that
caused storing of the csw. The protection key, command address, and count fields may contain information pertaining to the last operation or may be set to
zero, or the original contents of these fields at location
64 may be left unchanged.
Information Provided by Channel Status Word
Conditions associated with the execution or termination of an operation at the subchannel cause the
whole csw to be replaced.
Such a csw can be stored only by an I/O interruption
or by TEST I/O. Except for conditions associated with
command chaining, the storing can be caused by the
PCI or channel-end condition, by the execution of
HALT I/O on the selector channel, or by equipment
malfunction. The contents of the csw are related to the
current values of the corresponding quantities, although the count is unpredictable after programming
errors and after an interruption due to the PCI flag.
A csw stored upon the execution of a chain of operation pertains to the last operation the channel executed or attempted to initiate. Information concerning
the preceding operations is not preserved and is not
made available to the program.
When an unusual condition causes command chaining to be suppressed, the premature termination of the
chain is not explicitly indicated in the csw. A csw
associated with a termination due to a condition occuring at channel-end time contains the channel-end bit
and identifies the unusual condition. When the device
signals the unusual condition with control unit end or
device end, the channel-end indication is not made
available to the program, and the channel provides the
current protection key, command address, and count,
as well as the unusual indication, with the controlunit-end or device-end bit in the csw. The command
address and count fields pertain to the operation that
was executed.
When the execution of a chain of commands is terminated by an error detected during initiation of a
new operation, the command address and count fields
pertain to the rejected command. Termination at initiation time can occur because of attention, unit check,
unit exception, program check, or equipment malfunctioning and causes both the channel-end and device-end bits in the csw to be off.
114
CONDITION
CONTENT
CONDITION
Unpredictable
Unchanged
Unchanged
Address of TIC
Address of TIC
+8
+8
+8
+8
+8
+8
+8
Count
CONTENT
Unpredictable
Unchanged
Unchanged
Unpredictable
Unpredictable
Correct
Correct
Correct
Correct
Correct. Residual count of last
CCW used in the completed
operation.
Correct. Original count of
CCW specifying the new
operation.
Unpredictable
Correct
Zero
Zero
Zero
Zero
Zero
Zero
Status
Input/Output Operations
115
WHEN
I/O IS
SUB CHANNEL
AT
AT CONTROL
IDLE
WORKING
SUBCIIANNEL
UNIT
AT
DEVICE
DURING
BY
BY
BY
BY I/O
COMMAND
START
TEST
HALT
INTER-
I/O
I/O
I/O
RUPTION
CHAINING
----------
Attention
Status modifier
Control unit end
Busy
Channel end
Device end
Unit check
Unit exception
Co
C1)
Co
C1)H
C
C
C
C
Co
Program-controlled interruption
Co
Incorrect length
Program check
Protection check
Channel data check
Channel control check
Interface control check
Chaining check
C
C
C
Co
Co
Co
C
C
C
C
C
Co
Co
C
Co
Co
NOTES
116
C1)
C1)
C
C
Co
C
Co
C
C
C
COt
C l'
Co
Co
S
S
CS
CS
CS
CS
CS
CS
S
Ct S
s
C1' S
CS
CS
CS
S
CS
Co
CS
Co
Co
CS
Cs
Co
Co
CS
CS
CS
S
S
S
S
S
S
CS
S
S
S
S
S
CS
CS
S
S
S
S
S
CS
CS
S
CS
Cs
The store-and-display function permits manual intervention in the progress of a program. The store-anddisplay function may be prOVided by a supervisor
program in conjunction with proper I/O equipment
and the interrupt key.
In the absence of an appropriate supervisor program, the controls on the operator intervention panel
permit the CPU to be placed in the stopped state and
subsequently to store and display information in main
storage, in general and floating-point registers, and in
the instruction-address part of the psw. The stopped
state is achieved at the end of the current instruction
when the stop key is pressed, when single instruction
execution is specified, or when a preset address is
reached. Once the desired intervention is completed,
the CPU can be started again.
All basic store-and-display functions can be simulated by a supervisor program. The stopping and starting of the CPU in itself does not cause any alteration
in program execution other than the time element involved (the transition from operating to stopped state
is described under "Stopped State" in "Status-Switching").
Interruption checks occurring during store-and-display functions do not interrupt or log immediately but
may, in some cases, create a pending interruption. This
interruption request can be removed by a system reset. Otherwise, the interruption, when not masked off,
is taken when the CPU is again in the operating state.
System Control Panel
117
Initial program loading (IPL) is provided for the initiation of processing when the contents of storage or
the psw are not suitable for further processing.
Initial program loading is initiated manually by selecting an input device with the load-unit switches
and subsequently pressing the load key. When the
multisystem feature is installed, initial program loading may be initiated electronically by a signal received
on one of the IPL in-lines.
Depressing the load key causes a system reset, turns
on the load light, turns off the manual light, sets the
prefix trigger (if present), and subsequently initiates
a read operation from the selected input device.
When reading is completed satisfactorily, a new psw
is obtained, the CPU starts operating, and the load
light is turned off.
When a signal is received on one of the IPL in-lines,
the same sequence of events takes place, except that
the read operation is omitted.
System reset suspends all instruction processing, interruptions, and timer updating and also resets all
channels, on-line nonshared control units, and I/O devices. The contents of general and floating-point registers remain unchanged, except that the reset procedure may introduce correct parity.
The prefix trigger is set after system reset. In manually initiated IPL, the trigger is set according to the
state of the prefix-select key switch. When IPL is initiated by a signal on one of the two IPL in-lines, the
trigger is set according to the identity of each line.
The prefix trigger is part of the multisystem feature.
118
I/O
Programming Notes
NAME
(I<
Emergency Pull
Power On
Power Off
Interrupt
Wait
Manual
System
Test
Load
Load Unit
Load
Prefix Select\)
Multisystem feature
IMPLEMENTATION
Pull switch
Key, backlighted
Key
Key
Light
Light
Light
Light
Light
Three rotary switches
Key
Key switch
Manual Light
CPU
MANUAL
WAIT
CPU
I/O
LIGHT
LIGHT
LIGHT
STATE
STATE
off
off
off
off
off
off
on
on
off
on
off
on
on
on
on
on
off
off
on
on
off
on
off
on
Test Light
119
The leftmost rotary switch has eight positions labeled 0-7. The other two are 16-position rotary switches
labeled with the hexadecimal characters 0-9, A-F.
Stop Key
Load Key
The load key is pressed to start initial program loading, and is effective while power is on the system.
Prefix-Select Key Switch
The prefix-select key switch provides the choice between main prefix and alternate prefix during manually initiated initial program loading.
The setting of the switch determines the state of the
prefix trigger following the system reset after the load
key is pressed.
The switch is part of the multisystem feature.
System Reset
Stop
Rate
Start
Storage Select
Address
Data
Store
Display
Set IC
Address Compare
Alterna te Prefix ~
Multisystem feature
IMPLEMENT A TI ON
Key
Key
Rotary
Key
Rotary
Rotary
Rotary
Key
Key
Key
Rotary
Light
switch
or key switch
or key switches
or key switches
or key switches
System-Re!;et Key
The system-reset key is pressed to cause a system reset; it is effective while power is on the system. The
reset function does not affect any off-line or shared
device.
120
Programming Note
This rotary switch indicates the way in which instructions are to be performed.
The switch has two or more positions, depending
on model. The vertical position is marked PROCESS. In
this position, the system starts operating at normal
speed whcn the start key is pressed. The position
left of vertical is marked INSTRUCTION STEP. When the
start key is pressed with the rate switch in this position, one complete instruction is performed, and all
pending, not masked interruptions are subsequently
taken. The CPU next returns to the stopped state.
Any instruction can be executed with the rate
switch set to INSTRUCTION STEP. Input/output operations are completed to the interruption point. When
the CPU is in the wait state, no instruction is performed, but pending interruptions, if any, are taken
before the CPU returns to the stopped state. Initial
program loading is completed with the loading of the
new psw before any instruction is performed. The
timer is not updated while the rate switch is set to
INSTRUCTION STEP.
PROCESS.
CPU
is in the
Storage-Select Switch
This key is pressed to enter an address into the instruction-address part of the current psw.
The key is effective only while the CPU is in the
stopped state.
The address in the address switches is entered in
bits 40-63 of the current psw. In some models the address is obtained from the data switches.
Address Switches
Address-Compare Switches
These rotary or key switches provide a means of stopping the CPU on a successful address comparison.
When these switches are set to the stop position,
the address in the address switches is compared
against the value of the instruction address on all
models and against all addresses on some models. An
equal comparison causes the CPU to enter the stopped
state. Comparison includes only the part of the instruction address that addresses the physical word size
of storage.
Comparison of the entire halfword instruction address is provided in some models, as is the ability to
compare data addresses.
The address-compare switches can be manipulated
without disrupting CPU operation other than by causing the address-comparison stop. When they are set
to any position but normal, the test light is on.
Programming Note
121
Compare
The contents of register 4 are to be algebraically compared with the contents of register 2.
Assume:
00 00 03 92
00 00 03 47
Reg 2
Reg 4
The instruction is:
Op Code
CR
Condition code
LCR
( 1st Word)
= +2270
= + 50
(.2ndWord)
Op Code
DR
Reg 2 (after)
1111111111111111 1011011000101011
Reg 2 contains the two's complement of Reg 4.
Condition code setting
1; less than zero.
Load Multiple
00
00
00
00
00
00
73
00
00
32
00
12
00
26
75
01
76
30
57
25
00
63
26
45
00
27
63
12
LM
R.
Reg 5 (after)
Reg 6 (after)
Reg 7 (after)
Condition code: unchanged.
122
D2
12
200
00 12 57 27
00 00 25 63
73 26 00 12
= +20
= +45
Convert to Binary
Heg 6 (after)
000000000000000000000000 00010100 ( remainder)
Heg 7 (after)
00000000 000000000000000000101101 (quotient)
Condition code: unchanged.
The signed, packed decimal field at double-word location 1000-1007 is to be converted into a binary integer
and placed in general register 7.
Assume:
Reg
Reg
Loe
Reg
5
6
1000-1007
7 (before)
00 00 00
00 00 09
00 00 00
11111111
50
00
00 00 25 59 4+
111000001111011110111111
x,
Op Code
CVB
0,
Op Code
L,
L,
B,
0,
50
20
i'U
Reg 7 (after)
00000000000000000110001111111010
Condition code: unchanged.
Convert to Decimal
The signed, packed decimal field at location 45004502 is to be moved to location 4000-4004 with four
leading zeros in the result field.
Assume:
Reg
Reg
Reg
Loc
4
15
3
2000 (before)
00 00 00
00 00 18
00000000
01 47 63
40
60
00000000 010 11 0 11 01000001
27 42 73 21 17
Reg 9
Loc 4000-4004 (before)
Loc 4500-4502
00 00 40 00
12 34 56 78 90
38 46 0-
CVD
R,
x,
OpC~e
100
15
O2
0,
500
i'U
Compare Decimal
Store Multiple
00
00
12
73
00
63
17
07
00
01
43
26
00
25
25
16
98 67
(before)
(before)
(before)
(before)
25
27
00
12
40
41
63
32
45
63
36
62
57
00
32
42
71
21
Condition code
50____
00
00
12
73
00
01
43
26
25
27
00
12
63
36
62
57
Decimal Add
00
00
25
72
05
04
35
1.4
50
00
6+
2+
i'U
0,
Ra
00
00
1.7
06
100
c=i_TM__~1_14~1__~_6~_____
Reg
Reg
Loc
Loc
Reg 12
Reg 13
Loc 700-703
Loc 500-503
The instruction is:
00 00 20
00 00 04
38 46
01 1.2 34
00
80
05+
Multiply Decimal
00 00 12 00
00 00 02 50
00 00 38 46 032 1-
L,
Bl
a
Loc 1200-1204 (after)
Condition code: unchanged.
~~
I I
6
250
01 23 45 66 0+
Appendix A
123
Divide Decimal
Reg
Reg
Loc
Loc
12
13
2000-2004 (before)
3000-3001
00 00 18 00
00 00 25 00
01 23 45 67 8+
32 1-
Reg 12
Reg 15
Loc 5600-5603 (before)
Loc 4500-4502
L,
L,
00
00
77
12
00
00
88
34
50 00
40 00
99 0+
56
o.
0,
200
~~
113
500
Op Code
i'iJ
L,
L2
8,
IMVO~~13121121
Loc 5600-5603 (after)
Condition code: unchanged.
0,
O2
B.
~~
600
500
115 1
i'iJ
01 23 45 6+
Move Immediate
Pack
00 00 10 00
00 00 25 00
ZI Z2 Z3 Z4 S5
MVI
ABC D
00 00 20 00
ZO ZI Z2 Z3 Z5 ZO
8,
0,
12
100
0,
$ ZI Z2 Z3 Z5 ZO
o
Move Numeric
00 12 34 5S
Unpack
12
13
2501-2503
10001004 (before)
~D
ABC D E
4121121
0,
00
00
Yl
Z3
00
00
Y2
Z6
60
80
Y3
Z9
00
00
Y4 Y5
Z7 Z8
Y3 Y6 Y9 Y7 Y8
B.
and results in
Loc 1000-1004 (after)
ZI Z2 Z3 Z4 S5
where Z is a four-bit zone code.
Condition codc: unchanged.
124
Reg 12
Beg 15
Loc 6070-6074 (before)
Loc 8080-8084
00 00 10 00
00 00 25 00
12 34 5S
Move Zones
Assume:
Reg
Reg
Loc
Loc
00
00
Zl
Y8
12
15
2006-2010 (before)
3007-3011
00
00
Z4
Y7
20
30
Z7
Y4
00
00
Z8 Z5
Y6 Y8
D,
B,
6
Loc 2006-2010 (after)
Condition codc: unchanged.
Y1 Y4 Y7 Y8 Y5
00000000000000000000000001011011
00000000000000000000000001110110
RJ
NR
Reg 5
Condition code
6
00000000 00000000 00000000 01010010
1; not all-zero result.
OR
Op Code
R,
XR
Beg 5 (after)
Condition code
6
00000000 00000000 00000000 01011010
Beg 10
The instruction is:
D,
Op Code
'"
TM
178
10
50
10110010
01101101
0- 10 -- 01; some selected hits are 0, some selected
t-.1ask from TM
Byte testcd
Selected result
Condition code
bits are 1.
Insert Character
Ie
R,
x,
1000
Reg 7 (after)
00000000 101101101100010100001011
Condition code: unchanged.
OR
Heg 5 (after)
Condition code
6
00000000 00000000 00000000 11111111
1; not all-zero result.
Exclusive OR
Reg 6
Reg 5 (before)
Load Address
Reg 4 (before)
Reg 3
Reg 2
The instruction is:
Op Code
LA
Reg 4 (after)
Condition code: unchanged.
1000
00 03 12 10
Appendix A
125
Assume:
TranslatEt
00 00 20 00
00 00 10 00
JOliN JONES 257 W. 95
0,
100 ;) 115
1015
1----t--4--t---+---t--+--+-+--+--,-' --"""t---+--+'-+----+----t
1016
f---l---+-+----+-.--I-,-,- --, ---, -,-,,'
1032
~-
_. -_.--+--t---"-+-"-'j-'--
-"'-,
""'--"-,--,
- ,
----~
1048
+-'-+"""I-"--~--+---
1080 &
1096
t"""--+-
-'j-'-+-"-
-; %
- - -- ,-- - r'-
1128
1144
1160
abc
de
",,--,1,--
o
P,
I---t--_--t_-t-__--+-_m_-t-n--t__ t -
q ,',' 1,~-
...
--
--,--""
ABC
I---t----j--I---t---t--t---t----t"-"-,-,--,
1208
LMNOP
, - - ----
1224
U V
-_.
__.
,"- ,,"--
----
,-,-
,-,--""-""
-,-
8 ,',-,-""9
.... _--
00 00 30 11
00 00 00 20
1; scan not completed.
2000 0
2016 0
2032 0
2048 0
2064 0
2080 90
2096 80
85
0
-10 15 20 25
-30 35 40 45
-50 55
0
0
0
--0
-0
--0
-0
2112 0
60 65 70
f--- -
2128 0
Z
'""""'"
~~r-r-1-2-9---"I:o---r-1--o---;),--,-1"""-1=15===0=--'J~
--
QR
,""",,--
12
""
--
0
~---
'""-
--
2144 0
1--- I--
2176 0
2192 0
2208 0
0
0
0
Assume that an Autocoder statement, located on 30003029, is to be scanned for various punctuation marks.
A translate and test table is constructed with zeros in
all positions except where punctuation marks are
assigned.
- "
0
0
0
0
0
0
0
0
0
-0
0
0
0
r---0
0
--_.
1---- - -
0
_-
0
0
0
--r---0
0
0
0
0
0
0
-
-"'"
0
0
0
----
--
------
0
-
I - - - - , - - - r----
-,-- - -
75
-_.-
..
1256
2160 0
126
0,
""
1176
1192
0,
"""-
",'
u v
w
x
y
z
I----t---j--t---t---t--/-----' - - ---t-'-+' "-f --- "-,-
Op Code
2015
,','
hi
f---t----t---j---+---I---j---- --"
5)
t----+---t-----jf----c-I--='
1112
WORD (
00
00
00
00
PHOUT (9),
UNPK
00
00
30
20
,--'-
1064 BI
12
15
3000-3029
00
00
00
00
In general,
Translate Table
r----
00
00
00
00
1 (before)
2 (before)
Reg 1 (after)
Reg 2 (after)
Condition code
1000
Reg
Reg
Reg
Reg
Loc
,-"-"
0
-0
0
--,-
'"
2224 0
2240 0
0
0
:-:-
2256
Branch On Condition
SYMDOL
MEANING
blank character
significance start character
field separator character
digit-select character
(
)
Reg 5
Reg 12
Assume:
00000100
00040000
bdd,dd ( .ddbCR
02 57 42 6+
00 00 10 00
Op Code
Ml
X2
B2
D,
Be
12
100
D.
~~~1-1-2~1-12~1---o~I~I-12~1--20-0~~
b
d
d
S TRIGGER
o
o
0
2
5
7
d
d
b
2
6+
1
1
1
1
1
1
1
o
R
Thus:
Loc 1000-1012 (after)
o
o
o
RULE
LOCATION 1000-1012
leave(l)bdd, dd(. ddbCR
fill
hhd, dd(. ddbCR
digit bh2, dd(. ddbCR(2)
leave same
digit bh2, 5d(. ddbCR
digit bb2, 57 (. ddbCR
digit bh2, 574. ddbCR
leave same
digit bb2, 574. 2bdCR
digit bb2, 574. 26bCR (3)
fill
same
fill
bh2, 574, 26bbR
fill
bb2,574,26bbb
00 00 00 10
00 00 03 30
AR 4,6
EX
X2
D2
12
10
bb2,574.26bCR
NOTES
Execute
00 12 34 56
00 00 10 02
01110000
11210
00 00 00 50
00 00 10 50
MVC 0, 15, 100, 12, 1000
00000000
Rl
X2
B2
EX
13
100
127
Op Code
IMvclIT
112 1151
0,
B.
100 ?~1121
D.
100 ~LJ
+4
12
12
12
01
34
34
34
23
56
56
56
45
Source
78 9S 00
78 9S 00
78 90 00
67 89 00
00
OS
OS
OS
Source
00 01 23 45 6S
+
+
128
Issues
Record Description
NI aster Record:
Item #: 6 alphameric characters
Description: 20 alphabetic characters
Quantity: 7 digits plus sign
Total cost: 11 digits plus sign (2 decimal places)
Average unit cost: 7 digits plus sign (3 decimal places)
Reorder level: 5 digits plus sign
Transaction Record:
Type code: 1 digit plus sign
(plus 1 == receipt)
( plus 2 == issue)
Item #: 6 alphameric characters
Quantity: 5 digits plus sign
Receipt unit cost: 6 digits plus sign (2 decimal places)
IB14
MASTER
PROGRAM
PUNCHING INSTRUCTIONS
PAGE
:3
OF
-'-1-'-1--.-1-+-------
------,I,---~II~I-
I-------------+-G-RAPH-'C
~P-RO-G-R-AM-M-ER-----------------------------------'----------~-P-U-NC-H---------I~-~I-~I-~I-+-I-+-I-+-I-4
I DATE
STATEMENT
Operation
Nome
10
STA R T X.
t f-- -f.-
Ml4-S fC-
--L
M~T )7TO TC
os
.,+C--H--~~
fr~1
uc YcDS
IPI? 00
DS
1
OI V
40
..-
PL6
X.
- -..
CL6
Ii
1-
...
-I-'
HIr~ H~
-I---
PL7
I
T
~~rSl~ xci:
PiT
IdentificatlonSequence
,8Q
f
i---
,.
cos l7
i-
1-
1+
f.-
..
f- -
1-
1+-
1-1--+--+--1-++--+ t--
IA 0 JUS T
I
I
I
~g Z~~~L,kFM:~~~~rJ~~r~Y~!
r 0 EX c'IE P Tit q~ ~R A NI5 .1 L Ol~
Iv. R 1 T E MAS 7 c R (laC 5) I
2."HIGH
JoIN
M~6IT
MASTE.R INVENTORY
PROGRAM
1--1-
6,EQUAL.
Be
Be.
PUT
G"T
-"t
--L_
I'Ll
~~C
I ~ .. ~
COST
I I
R S 0 Rip E R LEveL
I
I
+ - TRANSAC-TlrON wOfqK A~IIEA
TYPE COOS
ITEM Nu1M.8ER
- - QU ANITI TY
I I.
UNIT COS7
-1-1-PRO 0 U C 7 WOR J< ARE AI
I
DIVISION
.
I
PJ.7
T'O TAL
173
AVERAGE
P \5 I
S1A RT I
GE
~~~-H'-+-+-+--+-~=-i-!C"H-+
.~I'-~~~
A 5 i c--t--I-X
I
E. T X
GET
CO MP .-"tI TE M; ~Arstr--
- +--+--
c-
-1-
f60
~TEM O~SCRIPT
~UANTI TV
-I
!Pili
Oc T I ..-
IFIT VE
.. _..
START
1-
--
35
PL3
OS
05
IDli VA
30
- Pi..4
eQU
15
c. i.. -20
1-
05
0
I 5
PJ.4
OS
*)
CL6
. 0 5
BJl &12
X
TV PE
Comments
25
/5,1
]05
DS
IAVG
18
USI NG
8 C
OS
16
BA LR
f.--
Operand
12
READ
MA~TER
._ .
FILE. MAINTE.NANCE.
(laCS)
II
PUNCHING INSTRUCTIONS
GRAPHIC
2...
PAGE
~P-RO-G-R-AM-M-E-R----------------------------------'I-DA-T-E--------~-PU-N-CH-----------~I~--+---~I-+I--4--+----l
OF
.3
STATEMENT
Nome
Operation
10
12
'---i-t--t---f--+=:B_+C
~Q"u A L -:
~--l---Ie--+-+--L
-f- -
c-:_t
_I-- _I
I 5
8 C.
eLI
AP
SP
I--I--f.- __ .
8c
IJC
R'+C Ii I!P~T
1--+--+-+-+---+
+1-
+
"t
_ /-_1..
PROGRAM
)( ...
C 1I
MQTY-!.TQTY
!~.G.XCg.P.I'ON
ROD , A V G
J'- ROD ) T <n:. Y
PROD FI VE
p~ ~ 9 D ~ t'R q D C ~
15)GET~
ZAP
ION
", Q TV) T Q T Y
p I V J TOT C
DIVA)OlV+6
DI V(S)l.D I Y
MVe>
D I \I A, I!)
Dlvced"MQTY
NI
OP
~VC
_L_l_
40
45
50
1 t T1--I42
55
co,., PAR e
T Y pelT 0
COMPUTE
NeW
III
_.
TO ISS U E l F T Y P E IE Qlu A L 5 2
COM PAR E Tly peT 0
I
TO R e eel P T 1FT" P E IE QUA L I
Toe XC E P T ~ 0 N e R ROIR Ie A R 0
II
QUANTII
r1"l1"
II I
Tlv
AVG)DIV
HALf ADJUST
I
SH'F~. RE6U.
L.T TO~Al
RI~~T_IO.
~E_PLA
CO~PUTE
N61w
COST
CHECK IGlil~ v~hReo oelR POl Nl
II
I
I
of.
TO 1: R R 0 R 1 1= N
H 1 GIH
Fl e T II R N ToG E Tlx.
I I
A V & T 01'" 0 R KARlE A.I I
I
co,..,? U T Ii -RG c. e 1 pIT ~IO SiT
NE
TOT ALe 0 5 T,
I
I
colMPUTE NEW QTY
I
Iw
~O~AL
COST
TO
II
I~ORK
ISH1 fT DI V A ReA
1-' PLACE
C 011>1 PUT E. HE. W Avie
ADJUST MASTER
PUNCHING INSTRUCTIONS
I-P-RO-G-RA-M-M-ER-----------------------------------.--IDA-TE----------l-:-:-::-:-IC------------"If--+---t--l~
II
~REA
LIEF!T
II elI
RAIG
I
ONE.
Cos T
I +:.'-
,3
PAGE
OF
-.--~----------~-----
71
A P T 0 T C. ) PRODoj- I ( 6 )
MVN
Comments
35
PROD I U C.
PROD)TQTY
/tiP
1--+--+-+-+---+-,
8 ) 1? E eEl P T
1!i:1i; ~ K : ~ j:J T I 01111
_+-
-~
~ ... C Z
TOTC,PROO+I(6)
1--1-- _
AP
I--+--+-+---+---+--+-' --+---I_-_I_--+"Z ~e
-+--~-
COM P
ISS U E-
..... ~9 T Y , R Q R. 0
rep
1
30
l'
1-+--_-I-~-+----I-~--+-._'~-+I--++--l-+-~~I'o'M,~V;'-+O -I--+--+-+-+---i
25
TV P E )
f
~Z'ACp.
I-+----l---II--++-t---+-++--+---jl~
I-+----l---If--+--I---I---+-++ + M P
18
eLI.... T y ~ E .J.
~+--l---+--+--l-__I_--I----I--I~ii,t
ISSUE I
SP
Identification-
Operand
16
"''''0 '""'"
IdentlficationSequence
Appendix A
129
6. Assume that record read into dcfincd storage contains a field labeled "date." This field is stored in six
character positions as follows:
Day - two characters
Month - two characters
Year - two characters
Place the date an item is ordered (year, month,
day) into a record field labeled "key."
--
--------
IBM
PROGRAM
INSTRUCTION
X28-6S09
Prinled in U,S.A.
PUNCHING INSTRUCTIONS
I
I
GRAPHIC
PROGRAMMER
PUNCH
DATE
PAGE
I I
I I
OF
STATEMENT
Name
10
1
r-~
1--- -- -:-~-]--
r-~I
scr RE A~!-
f- ...... , ...
130
I
I
Operation
12
16
KE Y , ST R AM
KE Y 3 DA TE
M VC
iT R
_B C t
18
Operand
25
..
XL 6 '
IdentificctionComments
30
35
40
45
50
55
Sequence
65
71
73
80
--
-1-
00000000
lxxxxxxx
01xxxxxx
001xxxxx
0001xxxx
00001xxx
000001xx
0000001x
00000001
fetches
fetches
fetches
fetches
fetches
fetches
fetches
fetches
fetches
00000000
01111111
10111111
11011111
11101111
11110111
11111011
11111101
11111110
8
..
10 11
12
13 14 15
_.-
--r--
16
254 253 253 251 251 251 251 247 247 247 247 247 247 247 247
--. " - ---239 239 239 239 2392 39239239 239 239 239 239 239 239 239 239
32
223 223 223 223 223223223223 223 223 223 223 223 223 223 223
48
223 223 223 223 2232 23223223 223 223 223 223 223 223 223 223
64
160
191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191
- - 1---- f------- -- - - - f.--- 1 - 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191
- - 1---- f.---- - I191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191
--- --- -- I - -1----1--- - 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191 191
1----- f.-- f---" -127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
-- ---- - - - I---- I-- --- - 127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
--1------ --- - - f---- 1--- --127 127 127 127 1271 27127127 127 127 127 127 127 127 127 127
176
127 127 127 127 1271 27127127 127 127 127 127 127 127 127 127
---
(OJO)
(127 10 )
(191 10 )
(223 10 )
(239 10 )
(24710)
(25110)
(253 10 )
(254 10 )
80
96
-----
--~
-- ---
--(----
I---
~-
112
128
144
1-----
192
208
224
1---- - - -
1----
1----- 1-- - t - -
127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
---- I-- 1----1--127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
- - - [----J- 127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
---------- -- --- t 127 127 127 127 1271 27 127 127 127 127 127 127 127 127 127 127
-
240
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
All Decimal Numbers Represent an 8-Bit Binary Value
IBM
TEST
PROGRAM
AND
Cf/AN(j
BIT STREAMS
PUNCHiNG iNSTRUCTiONS
GRAPHiC
I DATE
PROGRAMMER
t-FF
ti
T T
PUNCH
PAGE
---
OF
.-
STATEMENT
Name
Operation
Operand
IdentificationSequence
Comments
1--!-r-...,,---,-,--,;-r-~,-'I'-"10----I-'-'12T-,_~-~1~6_+-"',18
_T_-.--T2=,5,--,-,--r-r=3.:;-0--.--,,-,=35.-,-,-,-,4.:;-0-c::-r-.-T----r=45'-r---,--.-- ,__ 50 ___ "~ ~ _
_ ,Q.Q _ _ _ _ 45"r-r---.--,-,-_~71f-----l-'-7",3-,--,,---,--_,-_, -i?O
I-~~ I?- ~- T:_
0 J'l Ii
fP Ii M 0 R L G I II POI
T
i_
ii
I-~_I_ 1-1
B A L R
I " , 0
_ I-I-__ I- 0 A P.c-: R E (j
I S
I-I- I
U S_ I II Cj
oS"
D f J II E 13 A S
R. E <i
1 SI
B
_
START ~_
START
l'<iM
~~(}NS7};--=i~ DC
F' 249'
S;L8EAM
I
L ENg Ttf
-1-q 0 IV. S Tl~1C
f=- -A ( S T R ~ A M - I ) _
1__
C 0 (II ~ TAN TAD D R
r~ B L 1 1-__ 1_ D C
X L 2 oS" 6 - - - foO - - -
__ _
T RAN S ~ ATE T A 'B L .
.. T R. A;M
i - _ D S 7 SO C S T REA M- S TO 1( A q . ARE A
"t'19 ,
*, /
Iv
__
+-
--
- -- --
----f---I---
.s: LA ~ 7) -I-lc--}---I--l,L""-\
-'_
AR
i&-0t-t---!
I
1-
__ .
LR
S(R
EX
BC
EX
~-l---+---+-+--+-:_C R
f---f-I---+-Ih-I +-+_I---+"~ L
TRANSII-AND
r
TR T
NI
ST~AM
( 1 C Q IV. ~tI- 2
I--
0) I
t/,O
t/,I
j-
-i--
'I, TR.,4 N i
I
R'~ M
LGTH
TO
RO
S TAR TAD D R
- ITO
E
0 F
S T R AM - /
TOR 0
ENDI-0F
STREAM
R'I
LiN ~ i H 0 F S T R AM TO, R'II
X E C (j T E
T R T I N S T/ /
NiD .. 0 F 5 T R A M BRA N CH
. .
1'112+-
-/IITO
EN',Z)r-_.--.OF.
OuT
A["lv
STREAM.
LAST
-I
STREAM
IVS'
CONTiNUE
-1--
I(,I),TABL
SOO(I),O
+1-
;~A~SLATE
HT STRW
+--t-- --1---
X C (j T E
I---
OU T
LOOP
j-
8 ,ouT
Z)AND
o,
-- -
f-
- -1-iO,COi-1STI
ITEM
rEiT
Z
IT_.sT
ST'EA~
ON
POSlf I
R I
f-
...
1-
f-
-t--
f-I---j-
._-
P OS
--
I-
..
-:-
f--
-------~---
Appendix A
131
INTEGER
+26
Invert
Add 1
o 0000000 00011010
-26
1111111111100110
1 1111111 11100101
1
(Two's complement form)
+57
+35
00111001
00100011
+92
01011100
+57
-35
00111001
11011101
+22
00010110
+35
-57
00100011
11000111
-22
11101010
-57
-35
11000111
11011101
No overflow
-92
10100100
-57
-92
-149
11000111
10100100
(/01101011
+57
+92
149
00111001
01011100
(/10010101
No overflow
Ignore carry - carry into high
order position and carry out.
NUMBER
2 '0 -1
2
0
_2
__ 2]"
32,767
1
0
-1
-32,768
INTEGER
=0 1111111 11111111
= 0 0000000 00000001
= 0 0000000 00000000
=1111111111111111
= 1 0000000 00000000
231 -1
2'fl
--2"
-2'
_218
__ 281
_2 31
132
INTEGER
DECIMAL
2147483647
65536
1
-1
-2
+1 =
-65536
-2 147483647
-2 147483 648
=0
=0
=0
=0
= 1
=1
= 1
= 1
= 1
111111111111111
0000000 00000001
0000000 00000000
0000000 00000000
111111111111111
111111111111111
1111111 11111111
0000000 00000000
0000000 00000000
11111111 11111111
00000000 00000000
00000000 00000001
00000000 00000000
11111111 11111111
1111111111111110
00000000 00000000
00000000 00000001
00000000 00000000
Conversion Example
4. Combine the integral and fractional parts and express as a fraction times a power of 16 (exponent).
(0.954 X 162 ha
95.4]6
7 8
Is Characteristic
o
Fraction
l~s~I_C_h_a_ra_c_t_e_ri_st_ic~I_________F_ra_c_ti_o_n______~~S~
o
7 8
base
64
31
____~
63
+
+
exponent
2
characteristic
= 66 = 1 0 0 0 0 1 0
Char
1000010
Fraction
100101010100000000000000
Appendix C
133
The following are sample normalized short floatingpoint numbers. The last two numbers represent the
smallest and the largest positive normalized numbers.
NUMBER
1.0
0.5
1164
0.0
-15.0
2 X 10-78
7 X 1075
134
16
+1116 X 161
+8/16 X 16
+4/16 X l6-1
x l6-61
-- +0
-- -15/16 X 16611
-- +1116 x l6-- (1-16-6 ) X 1663
POWERS OF
--
=0
=0
=0
=0
=1
=0
=0
CHAR
1000001
1000000
0111111
0000000
1000001
0000000
1111111
FRACTION
2n
2-
1
2
4
8
0
1
2
3
1.0
0.5
0.25
0.125
16
32
64
128
4
5
6
7
0.062
0.031
0.015
0.007
5
25
625
812 5
256
512
1 024
2 048
8
9
10
11
0.003
0.001
0.000
0.000
906
953
976
488
25
125
562 5
281 25
11
4
8
16
32
096
192
384
768
12
13
14
15
0.000
0.000
0.000
0.000
244
122
061
030
140
070
035
517
625
312 5
156 25
578 125
65
131
262
524
536
072
144
288
16
17
18
19
0.000
0.000
0.000
0.000
015
007
003
001
258
629
814
907
789
394
697
348
062
531
265
632
5
25
625
812 5
1
2
4
8
048
097
194
388
576
152
304
608
20
21
22
23
0,000
0,000
0.000
0,000
000
000
000
000
953
476
238
119
674
8"37
418
209
316
158
579
289
406
203
101
550
25
125
562 5
781 25
16
33
67
134
777
554
108
217
216
432
864
728
24
25
26
27
0,000
0.000
0,000
0.000
000
000
000
000
059604
029 802
014 901
007 450
644
322
161
580
775
387
193
596
390
695
847
923
625
312 5
656 25
828 125
268435
536 870
1 073 741
2 147 483
456
912
824
648
28
29
30
31
0,000
0,000
0,000
0,000
000
000
000
000
003
001
000
000
725
862
931
465
290
645
322
661
298
149
574
287
461
230
615
307
914
957
478
739
062
031
515
257
5
25
625
812 5
4
8
17
34
294
589
179
359
967
934
869
738
296
592
184
368
32
33
34
35
0,000
0,000
0,000
0,000
000
000
000
000
000
000
000
000
232
116
058
029
830
415
207
103
643
321
660
830
653
826
913
456
869
934
467
733
628
814
407
703
906
453
226
613
25
125
562 5
281 25
68
137
274
549
719
438
877
755
476
953
906
813
736
472
944
888
36
37
38
39
0,000
0,000
0,000
0,000
000
000
000
000
000
000
000
000
014
007
003
001
551
275
637
818
915
957
978
989
228
614
807
403
366
183
091
545
851
425
712
856
806
903
951
475
640
320
660
830
625
312 5
156 25
078 125
Appendix D
135
The table in this appendix provides for direct conversion of decimal and hexadecimal numbers in these
ranges:
HEXADECIMAL
DECIMAL
000 to FFF
0000 to 4095
HEXADECIMAL
DECIMAL
4000
5000
6000
7000
8000
9000
AOOO
BOOO
COOO
DOOO
EOOO
FOOO
16384
20484
24576
28672
32768
36864
40960
45056
49152
53248
57344
61440
DECIMAL
1000
2000
3000
4096
8192
12288
000
010
020
030
040
050
060
070
080
090
OAO
OBO
OCO
ODO
OEO
OFO
0000
0016
0032
0048
0064
0080
0096
0112
0128
0144
0160
0176
0192
0208
0224
0240
0001
0017
0033
0049
0065
0081
0097
0113
0129
0145
0161
0177
0193
0209
0225
0241
0002
0018
0034
0050
0066
0082
0098
0114
0130
0146
0162
0178
0194
0210
0226
0242
0003
0019
0035
0051
0067
0083
0099
0115
0131
0147
0163
0179
0195
0211
0227
0243
0004
0020
0036
0052
0068
0084
0100
0116
0132
0148
0164
0180
0196
0212
0228
0244
0005
0021
0037
0053
0069
0085
0101
0117
0133
0149
0165
0181
0197
0213
0229
0245
0006
0022
0038
0054
0070
0086
0102
0118
0134
0150
0166
0182
0198
0214
0230
0246
0007
0023
0039
0055
0071
0087
0103
0119
0135
0151
0167
0183
0199
0215
0231
0247
0008
0024
0040
0056
0072
0088
0104
0120
0136
0152
0168
0184
0200
0216
0232
0248
0009
0025
0041
0057
0073
0089
0105
0121
0137
0153
0169
0185
0201
0217
0233
0249
0010
0026
0042
0058
0074
0090
0106
0122
0138
0154
0170
0186
0202
0218
0234
0250
0011
0027
0043
0059
0075
0091
0107
0123
0139
0155
0171
0187
0203
0219
0235
0251
0012
0028
0044
0060
0076
0092
0108
0124
0140
0156
0172
0188
0204
0220
0236
0252
0013
0029
0045
0061
0077
0093
0109
0125
0141
0157
0173
0189
0205
0221
0237
0253
0014
0030
0046
0062
0078
0094
0110
0126
0142
0158
0174
0190
0206
0222
0238
0254
0015
0031
0047
0063
0079
0095
0111
0127
0143
0159
0175
0191
0207
0223
0239
0255
100
110
120
130
140
150
160
170
180
190
lAO
IBO
leO
1DO
lEO
1FO
0256
0272
0288
0304
0320
0336
0352
0368
0384
0400
0416
0432
0448
0464
0480
0496
0257
0273
0289
0305
0321
0337
0353
0369
0385
0401
0417
0433
0449
0465
0481
0497
0258
0274
0290
0306
0322
0338
0354
0370
0386
0402
0418
0434
0450
0466
0482
0498
0259
0275
0291
0307
0323
0339
0355
0371
0387
0403
0419
0435
0451
0467
0483
0499
0260
0276
0292
0308
0324
0340
0356
0372
0388
0404
0420
0436
0452
0468
0484
0500
0261
0277
0293
0309
0325
0341
0357
0373
0389
0405
0421
0437
0453
0469
0485
0501
0262
0278
0294
0310
0326
0342
0358
0374
0390
0406
0422
0438
0454
0470
0486
0502
0263
0279
0295
0311
0327
0343
0359
0375
0391
0407
0423
0439
0455
0471
0487
0503
0264
0280
0296
0312
0328
0344
0360
0376
0392
0408
0424
0440
0456
0472
0488
0504
0265
0281
0297
0313
0329
0345
0361
0377
0393
0409
0425
0441
0457
0473
0489
0505
0266
0282
0298
0314
0330
0346
0362
0378
0394
0410
0426
0442
0458
0474
0490
0506
0267
0283
0299
0315
0331
0347
0363
0379
0395
0411
0427
0443
0459
0475
0491
0507
0268
0284
0300
0316
0332
0348
0364
0380
0396
0412
0428
0444
0460
0476
0492
0508
0269
0285
0301
0317
0333
0349
0365
0381
0397
0413
0429
0445
0461
0477
0493
0509
0270
0286
0302
0318
0334
0350
0366
0382
0398
0414
0430
0446
0462
0478
0494
0510
0271
0287
0303
0319
0335
0351
0367
0383
0399
0415
0431
0447
0463
0479
0495
0511
136
--
200
210
220
230
240
250
260
270
280
290
2AO
2BO
2CO
2DO
2EO
2FO
0512
0528
0544
0560
0576
0592
0608
0624
0640
0656
0672
0688
0704
0720
0736
0752
0513
0529
0545
0561
0577
0593
0609
0625
0641
0657
0673
0689
0705
0721
0737
0753
0514
0530
0546
0562
0578
0594
0610
0626
0642
0658
0674
0690
0706
0722
0738
0754
0515
0531
0547
0563
0579
0595
0611
0627
0643
0659
0675
0691
0707
0723
0739
0755
0516
0532
0548
0564
0580
0596
0612
0628
0644
0660
0676
0692
0708
0724
0740
0756
0517
0533
0549
0565
0581
0597
0613
0629
0645
0661
0677
0693
0709
0725
0741
0757
0518
0534
0550
0566
0582
0598
0614
0630
0646
0662
0678
0694
0710
0726
0742
0758
0519
0535
0551
0567
0583
0599
0615
0631
0647
0663
0679
0695
0711
0727
0743
0759
0520
0536
0552
0568
0584
0600
0616
0632
0648
0664
0680
0696
0712
0728
0744
0760
0521
0537
0553
0569
0585
0601
0617
0633
0649
0665
0681
0697
0713
0729
0745
0761
0522
0538
0554
0570
0586
0602
0618
0634
0650
0666
0682
0698
0714
0730
0746
0762
0523
0539
0555
0571
0587
0603
0619
0635
0651
0667
0683
0699
0715
0731
0747
0763
0524
0540
0556
0572
0588
0604
0620
0636
0652
0668
0684
0700
0716
0732
0748
0764
0525
0541
0557
0573
0589
0605
0621
0637
0653
0669
0685
0701
0717
0733
0749
0765
0526
0542
0558
0574
0590
0606
0622
0638
0654
0670
0686
0702
0718
0734
0750
0766
0527
0543
0559
0575
0591
0607
0623
0639
0655
0671
0687
0703
0719
0735
0751
0767
300
310
320
330
340
350
360
370
380
390
3AO
3BO
3CO
3DO
3EO
3FO
0768
0784
0800
0816
0832
0848
0864
0880
0896
0912
0928
0944
0960
0976
0992
1008
0769
0785
0801
0817
0833
0849
0865
0881
0897
0913
0929
0945
0961
0977
0993
1009
0770
0786
0802
0818
0834
0850
0866
0882
0898
0914
0930
0946
0962
0978
0994
1010
0771
0787
0803
0819
0835
0851
0867
0883
0899
0915
0931
0947
0963
0979
0995
1011
0772
0788
0804
0820
0836
0852
0868
0884
0900
0916
0932
0948
0964
0980
0996
1012
0773
0789
0805
0821
0837
0853
0869
0885
0901
0917
0933
0949
0965
0981
0997
1013
0774
0790
0806
0822
0838
0854
0870
0886
0902
0918
0934
0950
0966
0982
0998
1014
0775
0791
0807
0823
0839
0855
0871
0887
0903
0919
0935
0951
0967
0983
0999
1015
0776
0792
0808
0824
0840
0856
0872
0888
0904
0920
0936
0952
0968
0984
1000
1016
0777
0793
0809
0825
0841
0857
0873
0889
0905
0921
0937
0953
0969
0985
1001
1017
0778
0794
0810
0826
0842
0858
0874
0890
0906
0922
0938
0954
0970
0986
1002
1018
0779
0795
0811
0827
0843
0859
0875
0891
0907
0923
0939
0955
0971
0987
1003
1019
0780
0796
0812
0828
0844
0860
0876
0892
0908
0924
0940
0956
0972
0988
1004
1020
0781
0797
0813
0829
0845
0861
0877
0893
0909
0925
0941
0957
0973
0989
1005
1021
0782
0798
0814
0830
0846
0862
0878
0894
0910
0926
0942
0958
0974
0990
1006
1022
0783
0799
0815
0831
0847
0863
0879
0895
0911
0927
0943
0959
0975
0991
1007
1023
400
410
420
430
440
450
460
470
480
490
4AO
4BO
4CO
4DO
4EO
4FO
1024
1040
1056
1072
1088
1104
1120
1136
1152
1168
1184
1200
1216
1232
1248
1264
1025
1041
1057
1073
1089
1105
1121
1137
1153
1169
1185
1201
1217
1233
1249
1265
1026
1042
1058
1074
1090
1106
1122
1138
1154
1170
1186
1202
1218
1234
1250
1266
1027
1043
1059
1075
1091
1107
1123
1139
1155
1171
1187
1203
1219
1235
1251
1267
1028
1044
1060
1076
1092
1108
1124
1140
1156
1172
1188
1204
1220
1236
1252
1268
1029
1045
1061
1077
1093
1109
1125
1141
1157
1173
1189
1205
1221
1237
1253
1269
1030
1046
1062
1078
1094
1110
1126
1142
1158
1174
1190
1206
1222
1238
1254
1270
1031
1047
1063
1079
1095
1111
1127
1143
1159
1175
1191
1207
1223
1239
1255
1271
1032
1048
1064
1080
1096
1112
1128
1144
1160
1176
1192
1208
1224
1240
1256
1272
1033
1049
1065
1081
1097
1113
1129
1145
1161
1177
1193
1209
1225
1241
1257
1273
1034
1050
1066
1082
1098
1114
1130
1146
1162
1178
ll94
1210
1226
1242
1258
1274
1035
1051
1067
1083
1099
1115
1131
1147
1163
1179
1195
1211
1227
1243
1259
1275
1036
1052
1068
1084
1100
1116
1132
1148
1164
1180
1196
1212
1228
1244
1260
1276
1037
1053
1069
1085
1101
1117
1133
1149
1165
1181
1197
1213
1229
1245
1261
1277
1038
1054
1070
1086
1102
1118
1134
1150
1166
1182
1198
1214
1230
1246
1262
1278
1039
1055
1071
1087
1103
1119
1135
ll51
1167
1183
1199
1215
1231
1247
1263
1279
500
510
520
530
540
550
560
570
580
590
5AO
5BO
5CO
5DO
5EO
5FO
1280
1296
1312
1328
1344
1360
1376
1392
1408
1424
1440
1456
1472
1488
1504
1520
1281
1297
1313
1329
1345
1361
1377
1393
1409
1425
1441
1457
1473
1489
1505
1521
1282
1298
1314
1330
1346
1362
1378
1394
1410
1426
1442
1458
1474
1490
1506
1522
1283
1299
1315
1331
1347
1363
1379
1395
1411
1427
1443
1459
1475
1491
1507
1523
1284
1300
1316
1332
1348
1364
1380
1396
1412
1428
1444
1460
1476
1492
1508
1524
1285
1301
1317
1333
1349
1365
1381
1397
1413
1429
1445
1461
1477
1493
1509
1525
1286
1302
1318
1334
1350
1366
1382
1398
1414
1430
1446
1462
1478
1494
1510
1526
1287
1303
1319
1335
1351
1367
1383
1399
1415
1431
1447
1463
1479
1495
1511
1527
1288
1304
1320
1336
1352
1368
1384
1400
1416
1432
1448
1464
1480
1496
1512
1528
1289
1305
1321
1337
1353
1369
1385
1401
1417
1433
1449
1465
1481
1497
1513
1529
1290
1306
1322
1338
1354
1370
1386
1402
1418
1434
1450
1466
1482
1498
1514
1530
1291
1307
1323
1339
1355
1371
1387
1403
1419
1435
1451
1467
1483
1499
1515
1531
1292
1308
1324
1340
1356
1372
1388
1404
1420
1436
1452
1468
1484
1500
1516
1532
1293
1309
1325
1341
1357
1373
1389
1405
1421
1437
1453
1469
1485
1501
1517
1533
1294
1310
1326
1342
1358
1374
1390
1406
1422
1438
1454
1470
1486
1502
1518
1534
1295
1311
1327
1343
1359
1375
1391
1407
1423
1439
1455
1471
1487
1503
1519
1535
Appendix E
137
600
610
620
630
640
650
660
670
680
690
6AO
6BO
6CO
6DO
6EO
6FO
1536
1.552
1.568
1.584
1600
1616
1632
1648
1664
1680
1696
1'712
1'728
1'744
1760
1'776
1537
1553
1569
1585
1601
1617
1633
1649
1665
1681
1697
1713
1729
1745
1761
1777
1538
1554
1570
1586
1602
1618
1634
1650
1666
1682
1698
1714
1730
1746
1762
1778
1539
1555
1571
1587
1603
1619
1635
1651
1667
1683
1699
1715
1731
1747
1763
1779
1540
1556
1572
1588
1604
1620
1636
1652
1668
1684
1700
1716
1732
1748
1764
1780
1541
1557
1573
1589
1605
1621
1637
1653
1669
1685
1701
1717
1733
1749
1765
1781
1542
1558
1574
1590
1606
1622
1638
1654
1670
1686
1702
1718
1734
1750
1766
1782
1543
1559
1575
1591
1607
1623
1639
1655
1671
1687
1703
1719
1735
1751
1767
1783
1544
1560
1576
1592
1608
1624
1640
1656
1672
1688
1704
1720
1736
1752
1768
1784
1545
1561
1577
1593
1609
1625
1641
1657
1673
1689
1705
1721
1737
1753
1769
1785
1546
1562
1578
1594
1610
1626
1642
1658
1674
1690
1706
1722
1738
1754
1770
1786
1547
1563
1579
1595
1611
1627
1643
1659
1675
1691
1707
1723
1739
1755
1771
1787
1548
1564
1580
1596
1612
1628
1644
1660
1676
1692
1708
1724
1740
1756
1772
1788
1549
1565
1581
1597
1613
1629
1645
1661
1677
1693
1709
1725
1741
1757
1773
1789
1550
1566
1582
1598
1614
1630
1646
1662
1678
1694
1710
1726
1742
1758
1774
1790
1551
1567
1583
1599
1615
1631
1647
1663
1679
1695
1711
1727
1743
1759
1775
1791
700
710
720
730
740
750
760
770
780
790
7AO
7BO
7CO
7DO
7EO
7FO
1'792
1808
1824
1840
1856
1872
1888
1904
1920
1936
1952
1968
1984
2000
2016
2032
1793
1809
1825
1841
1857
1873
1889
1905
1921
1937
1953
1969
1985
2001
2017
2033
1794
1810
1826
1842
1858
1874
1890
1906
1922
1938
1954
1970
1986
2002
2018
2034
1795
1811
1827
1843
1859
1875
1891
1907
1923
1939
1955
1971
1987
2003
2019
2035
1796
1812
1828
1844
1860
1876
1892
1908
1924
1940
1956
1972
1988
2004
2020
2036
1797
1813
1829
1845
1861
1877
1893
1909
1925
1941
1957
1973
1989
2005
2021
2037
1798
1814
1830
1846
1862
1878
1894
1910
1926
1942
1958
1974
1990
2006
2022
2038
1799
1815
1831
1847
1863
1879
1895
1911
1927
1943
1959
1975
1991
2007
2023
2039
1800
1816
1832
1848
1864
1880
1896
1912
1928
1944
1960
1976
1992
2008
2024
2040
1801
1817
1833
1849
1865
1881
1897
1913
1929
1945
1961
1977
1993
2009
2025
2041
1802
1818
1834
1850
1866
1882
1898
1914
1930
1946
1962
1978
1994
2010
2026
2042
1803
1819
1835
1851
1867
1883
1899
1915
1931
1947
1963
1979
1995
2011
2027
2043
1804
1820
1836
1852
1868
1884
1900
1916
1932
1948
1964
1980
1996
2012
2028
2044
1805
1821
1837
1853
1869
1885
1901
1917
1933
1949
1965
1981
1997
2013
2029
2045
1806
1822
1838
1854
1870
1886
1902
1918
1934
1950
1966
1982
1998
2014
2030
2046
1807
1823
1839
1855
1871
1887
1903
1919
1935
1951
1967
1983
1999
2015
2031
2047
2048
2064
2080
2096
2112
2128
2144
2160
2176
2192
2208
2049
2065
2081
2097
2113
2129
2145
2161
2177
2193
2209
2225
2241
2257
2273
2289
2050
2066
2082
2098
2114
2130
2146
2162
2178
2194
2210
2226
2242
2258
2274
2290
2051
2067
2083
2099
2115
2131
2147
2163
2179
2195
2211
2227
2243
2259
2275
2291
2052
2068
2084
2100
2116
2132
2148
2164
2180
2196
2212
2228
2244
2260
2276
2292
2053
2069
2085
2101
2117
2133
2149
2165
2181
2197
2213
2229
2245
2261
2277
2293
2054
2070
2086
2102
2118
2134
2150
2166
2182
2198
2214
2230
2246
2262
2278
2294
2055
2071
2087
2103
2119
2135
2151
2167
2183
2199
2215
2231
2247
2263
2279
2295
2056
2072
2088
2104
2120
2136
2152
2168
2184
2200
2216
2232
2248
2264
2280
2296
2057
2073
2089
2105
2121
2137
2153
2169
2185
2201
2217
2233
2249
2265
2281
2297
2058
2074
2090
2106
2122
2138
2154
2170
2186
2202
2218
2234
2250
2266
2282
2298
2059
2075
2091
2107
2123
2139
2155
2171
2187
2203
2219
2235
2251
2267
2283
2299
2060
2076
2092
2108
2124
2140.
2156
2172
2188
2204
2220
2236
2252
2268
2284
2300
2061
2077
2093
2109
2125
2141
2157
2173
2189
2205
2221
2237
2253
2269
2285
2301
2062
2078
2094
2110
2126
2142
2158
2174
2190
2206
2222
2238
2254
2270
2286
2302
2063
2079
2095
2111
2127
2143
2159
2175
2191
2207
2223
2239
2255
2271
2287
2303
2305
2321
2337
2353
2369
2385
2401
2417
2433
2449
2465
2481
2497
2513
2529
2545
2306
2322
2338
2354
2370
2386
2402
2418
2434
2450
2466
2482
2498
2514
2530
2546
2307
2323
2339
2355
2371
2387
2403
2419
2435
2451
2467
2483
2499
25i5
2531
2547
2308
2324
2340
2356
2372
2388
2404
2420
2436
2452
2468
2484
2500
2516
2532
2548
2309
2325
2341
2357
2373
2389
2405
2421
2437
2453
2469
2485
2501
2517
2533
2549
2310
2326
2342
2358
2374
2390
2406
2422
2438
2454
2470
2486
2502
2518
2534
2550
2311
2327
2343
2359
2375
2391
2407
2423
2439
2455
2471
2487
2503
2519
2535
2551
2312
2328
2344
2360
2376
2392
2408
2424
2440
2456
2472
2488
2504
2520
2536
2552
2313
2329
2345
2361
2377
2393
2409
2425
2441
2457
2473
2489
2505
2521
2537
2553
2314
2330
2346
2362
2378
2394
2410
2426
2442
2458
2474
2490
2506
2522
2538
2554
2315
2331
2347
2363
2379
2395
2411
2427
2443
2459
2475
2491
2507
2523
2539
2555
2316
2332
2348
2364
2380
2396
2412
2428
2444
2460
2476
2492
2508
2524
2540
2556
2317
2333
2349
2365
2381
2397
2413
2429
2445
2461
2477
2493
2509
2525
2541
2557
2318
2334
2350
2366
2382
2398
2414
2430
2446
2462
2478
2494
2510
2526
2542
2558
2319
2335
2351
2367
2383
2399
2415
2431
2447
2463
2479
2495
2511
2527
2543
2559
800
810
820
830
840
850
860
870
880
890
8AO
8BO
8CO
8DO
8EO
8FO
900
910
920
930
940
950
960
970
980
990
9AO
9BO
9CO
9DO
9EO
9FO
138
2~~24
2240
2256
2272
2$~88
2:304
2320
2336
2352
2368
2384
2400
2416
2432
2448
2464
2480
2496
2512
2528
2E;44
---------
--
AOO
A10
A20
A30
A40
A50
A60
A70
A80
A90
AAO
ABO
ACO
ADO
AEO
AFO
2560
2576
2592
2608
2624
2640
2656
2672
2688
2704
2720
2736
2752
2768
2784
2800
2561
2577
2593
2609
2625
2641
2657
2673
2689
2705
2721
2737
2753
2769
2785
2801
2562
2578
2594
2610
2626
2642
2658
2674
2690
2706
2722
2738
2754
2770
2786
2802
2563
2579
2595
2611
2627
2643
2659
2675
2691
2707
2723
2739
2755
2771
2787
2803
2564
2580
2596
2612
2628
2644
2660
2676
2692
2708
2724
2740
2756
2772
2788
2804
2565
2581
2597
2613
2629
2645
2661
2677
2693
2709
2725
2741
2757
2773
2789
2805
2566
2582
2598
2614
2630
2646
2662
2678
2694
2710
2726
2742
2758
2774
2790
2806
2567
2583
2599
2615
2631
2647
2663
2679
2695
2711
2727
2743
2759
2775
2791
2807
2568
2584
2600
2616
2632
2648
2664
2680
2696
2712
2728
2744
2760
2776
2792
2808
2569
2585
2601
2617
2633
2649
2665
2681
2697
2713
2729
2745
2761
2777
2793
2809
2570
2586
2602
2618
2634
2650
2666
2682
2698
2714
2730
2746
2762
2778
2794
2810
2571
2587
2603
2619
2635
2651
2667
2683
2699
2715
2731
2747
2763
2779
2795
2811
2572
2588
2604
2620
2636
2652
2668
2684
2700
2716
2732
2748
2764
2780
2796
2812
2573
2589
2605
2621
2637
2653
2669
2685
2701
2717
2733
2749
2765
2781
2797
2813
2574
2590
2606
2622
2638
2654
2670
2686
2702
2718
2734
2750
2766
2782
2798
2814
2575
2591
2607
2623
2639
2655
2671
2687
2703
2719
2735
2751
2767
2783
2799
2815
BOO
B10
B20
B30
B40
B50
B60
B70
B80
B90
BAO
BBO
BCO
BDO
BEO
BFO
2816
2832
2848
2864
2880
2896
2912
2928
2944
2960
2976'
2992
3008
3024
3040
3056
2817
2833
2849
2865
2881
2897
2913
2929
2945
2961
2977
2993
3009
3025
3041
3057
2818
2834
2850
2866
2882
2898
2914
2930
2946
2962
2978
2994
3010
3026
3042
3058
2819
2835
2851
2867
2883
2899
2915
2931
2947
2963
2979
2995
3011
3027
3043
3059
2820
2836
2852
2868
2884
2900
2916
2932
2948
2964
2980
2996
3012
3028
3044
3060
2821
2837
2853
2869
2885
2901
2917
2933
2949
2965
2981
2997
3013
3029
3045
3061
2822
2838
2854
2870
2886
2902
2918
2934
2950
2966
2982
2998
3014
3030
3046
3062
2823
2839
2855
2871
2887
2903
2919
2935
2951
2967
2983
2999
3015
3031
3047
3063
2824
2840
2856
2872
2888
2904
2920
2936
2952
2968
2984
3000
3016
3032
3048
3064
2825
2841
2857
2873
2889
2905
2921
2937
2953
2969
2985
3001
3017
3033
3049
3065
2826
2842
2858
2874
2890
2906
2922
2938
2954
2970
2986
3002
3018
3034
3050
3066
2827
2843
2859
2875
2891
2907
2923
2939
2955
2971
2987
3003
3019
3035
3051
3067
2828
2844
2860
2876
2892
2908
2924
2940
2956
2972
2988
3004
3020
3036
3052
3068
2829
2845
2861
2877
2893
2909
2925
2941
2957
2973
2989
3005
3021
3037
3053
3069
2830
2846
2862
2878
2894
2910
2926
2942
2958
2974
2990
3006
3022
3038
3054
3070
2831
2847
2863
2879
2895
2911
2927
2943
2959
2975
2991
3007
3023
3039
3055
3071
COO
C10
C20
C30
C40
C50
C60
C70
C80
C90
CAO
CBO
CCO
CDO
CEO
CFO
3072
3088
3104
3120
3136
3152
3168
3184
3200
3216
3232
3248
3264
3280
3296
3312
3073
3089
3105
3121
3137
3153
3169
3185
3201
3217
3233
3249
3265
3281
3297
3313
3074
3090
3106
3122
3138
3154
3170
3186
3202
3218
3234
3250
3266
3282
3298
3314
3075
3091
3107
3123
3139
3155
3171
3187
3203
3219
3235
3251
3267
3283
3299
3315
3076
3092
3108
3124
3140
3156
3172
3188
3204
3220
3236
3252
3268
3284
3300
3316
3077
3093
3109
3125
3141
3157
3173
3189
3205
3221
3237
3253
3269
3285
3301
3317
3078
3094
3110
3126
3142
3158
3174
3190
3206
3222
3238
3254
3270
3286
3302
3318
3079
3095
3111
3127
3143
3159
3175
3191
3207
3223
3239
3255
3271
3287
3303
3319
3080
3096
3112
3128
3144
3160
3176
3192
3208
3224
3240
3256
3272
3288
3304
3320
3081
3097
3113
3129
3145
3161
3177
3193
3209
3225
3241
3257
3273
3289
3305
3321
3082
3098
3114
3130
3146
3162
3178
3194
3210
3226
3242
3258
3274
3290
3306
3322
3083
3099
3115
3131
3147
3163
3179
3195
3211
3227
3243
3259
3275
3291
3307
3323
3084
3100
3116
3132
3148
3164
3180
3196
3212
3228
3244
3260
3276
3292
3308
3324
3085
3101
3117
3133
3149
3165
3181
3197
3213
3229
3245
3261
3277
3293
3309
3325
3086
3102
3118
3134
3150
3166
3182
3198
3214
3230
3246
3262
3278
3294
3310
3326
3087
3103
3119
3135
3151
3167
3183
3199
3215
3231
3247
3263
3279
3295
3311
3327
DOO
D10
D20
D30
D40
D50
D60
D70
D80
D90
DAO
DBO
DCO
DDO
DEO
DFO
3328
3344
3360
3376
3392
3408
3424
3440
3456
3472
3488
3504
3520
3536
3552
3568
3329
3345
3361
3377
3393
3409
3425
3441
3457
3473
3489
3505
3521
3537
3553
3569
3330
3346
3362
3378
3394
3410
3426
3442
3458
3474
3490
3506
3522
3538
3554
3570
3331
3347
3363
3379
3395
3411
3427
3443
3459
3475
3491
3507
3523
3539
3555
3571
3332
3348
3364
3380
3396
3412
3428
3444
3460
3476
3492
3508
3524
3540
3556
3572
3333
3349
3365
3381
3397
3413
3429
3445
3461
3477
3493
3509
3525
3541
3557
3573
3334
3350
3366
3382
3398
3414
3430
3446
3462
3478
3494
3510
3526
3542
3558
3574
3335
3351
3367
3383
3399
3415
3431
3447
3463
3479
3495
3511
3527
3543
3559
3575
3336
3352
3368
3384
3400
3416
3432
3448
3464
3480
3496
3512
3528
3544
3560
3576
3337
3353
3369
3385
3401
3417
3433
3449
3465
3481
3497
3513
3529
3545
3561
3577
3338
3354
3370
3386
3402
3418
3434
3450
3466
3482
3498
3514
3530
3546
3562
3578
3339
3355
3371
3387
3403
3419
3435
3451
3467
3483
3499
3515
3531
3547
3563
3579
3340
3356
3372
3388
3404
3420
3436
3452
3468
3484
3500
3516
3532
3548
3564
3580
3341
3357
3373
3389
3405
3421
3437
3453
3469
3485
3501
3517
3533
3549
3565
3581
3342
3358
3374
3390
3406
3422
3438
3454
3470
3486
3502
3518
3534
3550
3566
3582
3343
3359
3375
3391
3407
3423
3439
3455
3471
3487
3503
3519
3535
3551
3567
3583
Appendix E
139
EOO
E10
E20
E30
E40
E50
E60
E70
E80
E90
EAO
EBO
ECO
EDO
EEO
EFO
.3584
.3600
.3616
.3632
3648
.3664
3680
:3696
:3712
3728
:3744
3760
:3776
:3792
3808
:3824
3585
3601
3617
3633
3649
3665
3681
3697
3713
3729
3745
3761
3777
3793
3809
3825
3586
3602
3618
3634
3650
3666
3682
3698
3714
3730
3746
3762
3778
3794
3810
3826
3587
3603
3619
3635
3651
3667
3683
3699
3715
3731
3747
3763
3779
3795
3811
3827
3583
3604
3620
3636
3652
3668
3684
3700
3716
3732
3748
3764
3780
3796
3812
3828
3589
3605
3621
3637
3653
3669
3685
3701
3717
3733
3749
3765
3781
3797
3813
3829
3590
3606
3622
3638
3654
3670
3686
3702
3718
3734
3750
3766
3782
3798
3814
3830
3591
3607
3623
3639
3655
3671
3687
3703
3719
3735
3751
3767
3783
3799
3815
3831
3592
3608
3624
3640
3656
3672
3688
3704
3720
3736
3752
3768
3784
3800
3816
3832
3593
3609
3625
3641
3657
3673
3689
3705
3721
3737
3753
3769
3785
3801
3817
3833
3594
3610
3626
3642
3658
3674
3690
3706
3722
3738
3754
3770
3786
3802
3818
3834
3595
3611
3627
3643
3659
3675
3691
3707
3723
3739
3755
3771
3787
3803
3819
3835
3596
3612
3628
3644
3660
3676
3692
3708
3724
3740
3756
3772
3788
3804
3820
3836
3597
3613
3629
3645
3661
3677
3693
3709
3725
3741
3757
3773
3789
3805
3821
3837
3598
3614
3630
3646
3662
3678
3694
3710
3726
3742
3758
3774
3790
3806
3822
3838
3599
3615
3631
3647
3663
3679
3695
3711
3727
3743
3759
3775
3791
3807
3823
3839
FOO
FlO
F20
F30
F40
F50
F60
F70
F80
F90
FAO
FEO
FCO
FDO
FEO
FFO
:3840
:3856
:3872
3888
:3904
3920
3936
:3952
3968
:3984
4000
4016
4032
4048
4064
4080
3841
3857
3873
3889
3905
3921
3937
3953
3969
3985
4001
4017
4033
4049
4065
4081
3842
3858
3874
3890
3906
3922
3938
3954
3970
3986
4002
4018
4034
4050
4066
4082
3843
3859
3875
3891
3907
3923
3939
3955
3971
3987
4003
4019
4035
4051
4067
4083
3844
3860
3876
3892
3908
3924
3940
3956
3972
3988
4004
4020
4036
4052
4068
4084
3845
3861
3877
3893
3909
3925
3941
3957
3973
3989
4005
4021
4037
4053
4069
4085
3846
3862
3878
3894
3910
3926
3942
3958
3974
3990
4006
4022
4038
4054
4070
4086
3847
3863
3879
3895
3911
3927
3943
3959
3975
3991
4007
4023
4039
4055
4071
4087
3848
3864
3880
3896
3912
3928
3944
3960
3976
3992
4008
4024
4040
4056
4072
4088
3849
3865
3881
3897
3913
3929
3945
3961
3977
3993
4009
4025
4041
4057
4073
4089
3850
3866
3882
3898
3914
3930
3946
3962
3978
3994
4010
4026
4042
4058
4074
4090
3851
3867
3883
3899
3915
3931
3947
3963
3979
3995
4011
4027
4043
4059
4075
4091
3852
3868
3884
3900
3916
3932
3948
3964
3980
3996
4012
4028
4044
4060
4076
4092
3853
3869
3885
3901
3917
3933
3949
3965
3981
3997
4013
4029
4045
4061
4077
4093
3854
3870
3886
3902
3918
3934
3950
3966
3982
3998
4014
4030
4046
4062
4078
4094
3855
3871
3887
3903
3919
3935
3951
3967
3983
3999
4015
4031
4047
4063
4079
4095
140
4567
00
0000
NUL
01
10
11
'I- - - - 0 1 - - - - ,
00
BLANK
01
10
&
0001
11
.------10---~
00
01
10
.-------11--------.
11
00
01
10
11
:>
<
:j:
J
_._-K
r--S
0010
0011
C
D
.-
- - ~--
0100
PF
RES
BYP
PN
0101
HT
NL
LF
RS
0110
LC
BS
EOB
UC
0111
DEL
IDL
PRE
EOT
.-
1000
1001
1010
1011
-----
E
--F
--G
--
--
-f----
1100
+--
r-.r'\
1110
==
1111
<7
~-_r---~-~----
"
1101
:
f
-B
--
- -I--
.-
- - - - - f---
- - - ----
f---
---
I
~_~
___
L__~
---
_ _ __
L'
'-----..~
X5
4321
00
01
0000
NULL
DC
0001
SOM
DC
0010
EOA
DC
0011
EOM
DC
0100
EOT
r------10---~
11
00
10
O
l
2
3
DC4
STOP
11
00
'0
blank
!
01
10
11
00
01
10
11
"
=If
- -1 - - -
00
""---
10
01
----
----
-q
b
---
--
r---- - - -
11
--
--s
---
u
._
v
0101
WRU
ERR
0110
RU
SYNC
&
0111
BELL
LEM
1000
BK5P
50
1001
HT
51
1010
LF
52
"'"
'\
==
---
-----
-'"--
VT
53
1100
FF
54
1101
CR
55
1011
--
U
V
1110
50
56
1111
51
57
>
--
.r-
-----
:::J
'4--'-
--
-----~-
E5C
-DEL
Appendix F
141
Appendix G. Instructions
Hexadecimal Representation
Data Formats
HEXADECIMAL
PRINTED
EDCDIC~
CODE
GRAPHIC
CODE
Ascnt
CODE
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
0
1
2
3
4
11110000
11110001
11110010
11110011
11110100
1111 0101
1111 0110
1111 0111
11111000
1111 1001
11000001
11000010
11000011
11000100
11000101
11000110
01010000
01010001
01010010
01010011
01010100
01010101
01010110
01010111
01011000
01011001
1010 0001
1010 0010
1010 0011
1010 0100
1010 0101
1010 0110
Fixed-Pount Numbers
Fullword Fixed-Point Number
Integer
o
31
Integer
o
15
Floating-Point Numbers
Fraction
7 8
31
I~S~I~C__ha_r_a_c_te_r_is_t_ic~I_________F_r_a_c_ti_o_n________~SS~______~
1
9
A
B
C
D
E
F
6
7
8
1111
IS I Characteristic I
7 8
63
Op Code
Decimal Numbers
R]
78
R2
1112
15
~~] Digit
I I I I
Zone Digit
Sign
Digit
Logical Information
Fixed-Length Logical Information
Fixed Point
Floating Point
Load
Load and Test
Load Complement
Load Positive
Load Negative
Add
Add Logical
Subtract
Subtract Logical
Compare
Multiply
Divide
Load S/L
Load and Test S/L
Load Complement S/L
Load Positive S/L
Load Negative S/L
Add Normalized S/L
Add Un normalized S/L
Subtract Normalized S/L
Subtract Unnormalized S/L
Compare S/L
Halve S/L
Multiply S/L
Divide S/L
E
E
Logical
Status Switching
Compare
AND
OR
Exclusive OR
Character
~~]
Character
16
142
Character
Branch on Condition
Branch and Link
Branch on Count
3
Z
Z
51 Format
RX Format
Op Code
o
7 8
11 12
15 16
31
19 20
Fixed Point
Floating Point
Input/Output
Load H/F
Add H/F
Add Logical
Subtract H/F
Subtract Logical
Compare H/F
Multiply H
Multiply F
Divide F
Convert to Binary
Convert to Decimal
Store H/F
Load S/L
Add Normalized S/L
Add Unnormalized S/L
Subtract Normalized S/L
Subtract Unnormalized S/L
Compare S/L
Multiply S/L
Store S/L
Divide S/L
Start I/O
Test I/O
Halt I/O
Test Channel
E
E
Logical
Branching
Compare
Load Address
Insert Character
Store Character
AND
OR
Exclusive OR
Branch on Condition
Branch and Link
Branch on Count
Execute
1516
11 12
1920
Fixed Point
Logical
Load Multiple
Store Multiple
Shift Left Single
Shift Right Single
Shift Left Double
Shift Right Double
2
2
E,2
E,2
Branching
Branch on High
Branch on Low-Eq
1920
31
Status Switching
4
4
LoadPSW
Set System Mask
W rite Direct
Read Direct
Diagnose
4
4
4
4
Y
Y
Move
Compare
AND
OR
Exclusive OR
Test Under Mask
55 Format
~O~p_C_od_e~_L_l_~_L2~__Bl~IJ~?L_D~11__B2~11~
7 8
Rl
7 8
1516
Dl
--=r!l
Logical
R5 Format
Op Code
12
7 8
31
1516
1920
31 32
35 36
Decimal
Logical
Pack
Unpack
Move With Offset
Zero and Add
Add
Subtract
Compare
Multiply
Divide
Move
Move Numeric
Move Zone
Compare
AND
OR
Exclusive OR
Translate
Translate and Test
Edit
Edit and Mark
2
2
E,2
E,2
11 12
T
T
T
T
T
T
47
5
5
5
5
5
5
5
5
5
T,5
T,5
FORMAT NOTES
E
Rl must be even
F
Fullword
H
Halfword
L
Long
S
Short
T
Decimal feature
Y
Direct control feature
Z
Protection feature
1
Rl used as mask Ml
2
R2 or Ra ignored
3
Rl and R2 used as immediate information
12 ignored
4
5
Ll and L2 used as eight-bit L field
All floating-point instructions are part of the floating-point feature.
Appendix G
143
Write
Read
Read Backward
Control
Sense
Transfer in Channel
NAMES
*
7 8
31
CODE
FLAGS
CD
CD
CD
CD
CD
CC
CC
CC
CC
CC
SLI
PCI
SLI SKIP PCI
SLI SKIP PCI
SLI
PCI
SLI SKIP PCI
MMMMMMOI
MMMMMM10
MMMM 1100
MMMMMMll
MMMM 0100
x x x x 1000
0-7 Ignored
8-31 Base address or index
Chain data
Chain command
Suppress length
indication
CD
CC
SLI
System Mask
I AMWP I
Key
78
1112
Interruption Code
31
1516
Instruction Address
32
33 34 35 36
63
39 40
I Key
[ 000 0 1
34
System mask
Multiplexor channel
mask
1
Selector channel 1
mask
2
Selector channel 2
mask
3
Selector channel 3
mask
4
Selector channel 4
mask
5
Selector channel 5
mask
6
Selector channel 6
mask
7
External mask
8-11 Protection key
12
ASCII mode (A)
0-7
0
13
14
15
16-31
32-33
34-35
36-39
36
37
38
39
40-63
Data Address
7 8
Flags
0-7
8-31
32-36
32
33
34
144
IOOO[
363:r
31
Command code
Data address
Command flags
Chain data flag
Chain command flag
Suppress length
indication flag
Count
3940
4748
63
Skip flag
Program-controlled
interruption flag
37-39 Zero
40-47 Ignored
48-63 Count
35
36
Skip
Programcontrolled
interruption
SKIP
PCI
0-3
4-7
8-31
Command Address
7 8
31
Protection key
Zero
Command address
31
7 8
Status
0-3
4-7
8-31
32-47
32
33
34
35
36
37
38
39
Count
47 48
32
Protection key
Zero
Command address
Status
Attention
Status modifier
Control unit end
Busy
Channel end
Device end
Unit check
U nit exception
40
41
42
43
44
45
46
47
48-63
63
Program-controlled
interruption
Incorrect length
Program check
Protection check
Channel data check
Channel control check
Interface control
check
Chaining check
Count
Operation Codes
RR Format
CLASS
------
FIXED-POINT
BRANCHING AND
FULLWORD
FLOATING-POINT
STATUS SWITCHING
AND LOGICAL
LONG
SHORT
OOOOxxxx
0001xxxx
0010xxxx
0011xxxx
Load Positive
Load Negative
Load and Test
Load Complement
AND
Compare Logical
Load Positive
Load Negative
Load and Test
Load Complement
Halve
Load Positive
Load Negative
Load and Test
Load Complement
Halve
Load
Compare
Add N
Subtract N
Multiply
Divide
Add U
Subtract U
Load
Compare
Add N
Subtract N
Multiply
Divide
Add U
Subtract U
-~--"-'"--
xxxx
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
OR
Exclusive OR
Load
Compare
Add
Subtract
Multiply
Divide
Add Logical
Subtract Logical
RX Format
CLASS
-- - - - - - - . _ - -
FIXED-POINT
FIXED-POINT
FLOA TING-POINT
FLOATING-POINT
AND BRANCHING
AND LOGICAL
LONG
SHORT
0100xxxx
010lxxxx
0110xxxx
011lxxxx
HALFWORD
FULLWORD
--"
xxxx
-----~~-
-"-~----
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Store
Load Address
Store Character
Insert Character
Execute
Branch and Link
Branch on Count
Branch/Condition
Load
Compare
Add
Subtract
Multiply
Convert-Decimal
Convert-Binary
Store
Store
Store
Load
Compare
AddN
Subtract N
Multiply
Divide
Add U
Subtract U
Load
Compare
AddN
Subtract N
Multiply
Divide
AcM U
Subtract U
AND
Compare Logical
OR
Exclusive OR
Load
Compare
Add
Subtract
Multiply
Divide
Add Logical
Subtract Logical
Appendix G
145
RS, SI FOl'mat
CLASS
BRANCHING
FIXED- POINT
STATUS SWITCHING
LOGICAL AND
AND SHIFTING
INPUT/OUTPUT
1000xxxx
100lxxxx
xxxx
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
1010xxxx
10llxxxx
Store Multiple
Test Under Mask
Move
AND
Compare Logical
OR
Exclusive OR
Load Multiple
Start I/O
Test I/O
Halt I/O
Test Channel
SS Format
CLASS
LOGICAL
xxxx
1100xxxx
1l01xxxx
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
lll0
Move Numeric
Move
Move Zone
AND
Compare Logical
OR
Exclusive OR
Translate
Translate and Test
Edit
Edit and Mark
llll
OPERATION CODE NOTES
N
SL
DL
146
Normalized
Single logical
Double logical
U
S
D
Unnormalized
Single
Double
DECIMAL
1110xxxx
llllxxxx
Move With Offset
Paek
Unpack
LENGTH
PURPOSE
zero
zero
zero
< zero
< zero
zero
< zero
< zero
zero
> zero
> zero
> zero
> zero
overflow
overflow
Logical Operaticlns
AND
Compare Logical
Edit
Edit and Mark
Exclusive OR
OR
Test Under Mask
Translate and Test
zero
equal
zero
zero
zero
zero
zero
zero
not zero
high
low
< zero > zero
< zero > zero
not zero
not zero
mixed
incomplete complete
one
not
halted
working
stopped
not oper
Start I/O
available CSW
stored
busy
not oper
Test Channel
not
CSW
working ready
working
not oper
Fixed-Point Arithmetic
Test I/O
available CSW
stored
working
not oper
AddH/F
Add Logical
Compare H/F
Load and Test
Load Complement
Load Negative
Load Positive
Shift Left Double
Shift Left Single
Shift Right Double
Shift Right Single
Subtract H/F
Subtract Logical
0
zero
zero
equal
zero
zero
zero
zero
zero
zero
zero
zero
zero
< zero
> zero
not zero
zero,
carry
high
> zero
> zero
low
< zero
< zero
< zero
< zero
< zero
< zero
< zero
< zero
not zero
> zero
> zero
> zero
> zero
> zero
> zero
zero,
carry
3
overflow
carry
overflow
overflow
overflow
overflow
overflow
carry
<
Decimal Arithmetic
Add Decimal
Compare Decimal
Subtract Decimal
Zero and Add
zero
equal
zero
zero
< zero
low
< zero
< zero
> zero
high
> zero
> zero
< zero
< zero
low
< zero
> zero
> zero
high
> zero
overflow
overflow
overflow
Floating-Point Arithmetic
Add Normalized S/L
Add Unnormalized S/L
Compare S/L
Load and Test S/L
zero
zero
equal
zero
available
Unit and channel available
busy
Unit or chanel busy
carry
A carry out of the sign position occurred
complete
Last result byte nonzero
CSW ready
Channel status word ready for test or interruption
CSW stored Channel status word stored
equal
Ope:rands compare equal
F
Fullword
> zero
Result is greater than zero
H
Halfword
halted
Data transmission stopped. Unit in halt-reset mode
high
First operand compares high
incomplete
Nonzero result byte; not last
L
Long precision
zero
Result is less than zero
low
First operand compares low
mixed
Selected bits are both zero and one
not opel'
Unit or channel not operational
not working Unit or channel not working
not zero
Result is not all zero
one
Selected bits are one
overflow
Result overflows
S
Short precision
stopped
Data transmission stopped
working
Unit or channel working
zero
Result or selected bits are zero
The condition code also may be changed by LOAD PSW, SET
SYSTEM MASK, DIAGNOSE, and by an interruption.
overflow
overflow
Appendix G
147
Interruption Action
Program Interruptions
INSTRUC-
INTERRUPTION
TION
SOURCE
IDENTIFICATION
Input / Output
PSW BITS
00000000 aaaaaaaa
00000001 aaaaaaaa
00000010 aaaaaaaa
00000011 aaaaaaaa
00000100 aaaaaaaa
00000101 aaaaaaaa
00000110 aaaaaaaa
SET
CUTION
0
1
2
3
4
5
6
x
x
x
x
x
x
x
complete
complete
complete
complete
complete
complete
complete
Operation
Privileged operation
Execute
Protection
00000000 00000001
00000000 00000010
00000000 00000011
00000000 00000100
Addressing
00000000 00000101
Specification
Data
Fixed-point overflow
Fixed-point divide
00000000 00000110
00000000 00000 III
0000000000001000
0000000000001001
Decimal overflow
Decimal divide
Exponent overflow
Exponent underflow
Significance
Floating-point divide
00000000 00001 0 10
00000000 00001011
00000000 00001100
00000000 00001101
00000000 0000 III 0
0000000000001111
Supervisol' Call
Instruction bits
External
BITS
EXE-
Multiplexor channel
Selector channell
Selector channel 2
Selector channel 3
Selector channcl4
Selector channel 5
Selector channel 6
Program
16-31
ILC
36
37
38
39
1,2,3 suppress
1,2 suppress
2
suppress
0,2,3 suppress/
terminate
1,2,3 suppress/
terminate
1,2,3 suppress
2,3 terminate
1,2 complete
1,2 suppress/
complete
complete
3
suppress
3
1,2 terminate
1,2 complete
1,2 complete
1,2 suppress
complete
External signal 1
External signal 2
External signal 3
External signal 4
External signal 5
External signal 6
Interrupt key
Timer
Machine Check
00000000 xxxxxxxi
00000000 xxxxxx1x
00000000 xxxxx1xx
00000000 xxxx1xxx
00000000 xxxlxxxx
00000000 xx1xxxxx
00000000 xlxxxxxx
00000000 lxxxxxxx
7
7
7
7
7
7
7
7
x
x
x
x
x
x
x
x
complete
complete
complete
complete
complete
complete
complete
complete
13
terminate
NOTES
a
r
INSTRUC-
CODE
~~2-33
0
1
2
2
3
00
01
10
10
11
148
TION
BITS
0-1
00
01
10
11
Addressing exception
Condition code is set
Data exception
Decimal-overflow exception
Decimal-divide exception
Exponent-overflow exception
Execute exception
Floating-point feature
Floating-point divide exception
Fixed-point overflow exception
Fixed-point divide exception
New condition code loaded
Significance exception
Privileged-operation exception
Normalized operation
Protection exception
Specification exception
Decimal feature
Exponent-underflow exception
Direct control feature
Protection feature
Operation (OP)
Diagnose
Halt 110
Insert Storage Key
Load PSW
Head Direct
Sct Storage Key
Set System Mask
Start 110
Test Channel
Test 110
Writc Direct
MNEMONIC
IIIO
ISK
LPSW
RDD
SSK
SSM
SIO
TCH
TIO
WRD
TYPE
SI
SI C
RRZ
SI L
SI Y
RRZ
SI
C
SI
C
SI
C
SI
C
SI Y
EXCEPTIONS
M, A,S
M,
M, A,S
M, A,S
M,P,A
M, A,S
M, A
M,
M,
M,
M, A
CODE
83
9E
09
82
85
08
80
9C
9F
9D
84
Execute (EX)
INSTRUCTION
A
C
D
DF
DK
E
EX
F
FK
IF
IK
L
LS
M
N
P
S
T
U
Y
Z
SUPERVISOR CALL
INSTRUCINSTRUCTION
TION
LENGTH
FORMAT
Not available
One halfword
Two halfwords
Two halfwords
Three halfwords
RR
RX
RS or SI
SS
NAME
Execute
MNEMONIC
EX
TYPE
RX
EXECUTE.
EXCEPTIONS
A,S,
EX
CODE
44
Protection (P)
Add Decimal
AND
AND
Convert to
Decimal
Divide Decimal
Edit
Edit: and Mark
Exclusive OR
Exclusive OR
Move
Move
Move Numerics
Move with
Offset
Move Zones
Multiply
Decimal
OR
OR
Pack
Read Direct
Store
Store Character
Store Halfword
Store Long
Store
Multiple
Store Short
Subtract
Decimal
Translate
Unpack
Zero and Add
MNEMONIC
TYPE
EXCEPTIONS
CODE
NOTE
AP
NI
NC
SS T,C P,A, D, DF FA
C P,A
94
SI
D4
SS
C P,A
TRM
SPR
TRM
CVD
DP
ED
EDMK
XI
XC
MVI
MVC
MVN
4E
P,A,S
RX
P,A,S,D, DK FD
SS T
DE
SS T,C P,A, D
DF
SS T,C P,A, D
97
SI
C P,A
C P,A
D7
SS
92
SI
P,A
P,A
D2
SS
D1
P,A
SS
SPR
TRM
TRM
TRM
SPR
TRM
SPR
TRM
TRM
F1
D3
TRM
TRM
FC
96
D6
F2
85
50
42
40
60
TRM
SPR
TRM
TRM
TRM
SPR
SPR
SPR
SPR
P,A,S
P,A,S
90
70
TRM
SPR
SS T,C P,A, D, DF
SS
P,A
P,A
SS
SS T,C P,A, D, DF
FB
DC
F3
F8
TRM
TRM
TRM
TRM
P,A
P,A
MVO
MVZ
SS
SS
MP
OC
PACK
RDD
ST
STC
STH
STD
P,A,S,D
SS T
SI
C P,A
C P,A
SS
SS
P,A
SI Y M,P,A
P,A,S
RX
P,A
RX
P,A,S
RX
RXF
P,A,S
STM
STE
RXF
RXF
SP
TR
UNPK
ZAP
01
SPR
TRM
= Operation suppressed
= Operation terminated
Addressing (A)
MNEMONIC
Add
A
Add Decimal
AP
Add Halfword
AH
Add Logical
AL
Add Normalized
(Long)
NAD
Add Normalized
( Short)
NAE
Add Unnormalized (Long)
AW
Add Unnormalized (Short)
AU
AND
N
TYPE
RX C
SS T,C
RX C
RX C
EXCEPTIONS
A,S,
P,A D,
A,S,
A,S,
CODE NOTE
IF 5A TRM
DF FA TRM
IF 4A TRM
5E TRM
RXF,C
A,S,U,E,LS 6A TRM
RXF,C
A,S,U,E,LS 7A TRM
RXF,C
A,S,
E,LS 6E TRM
RXF,C
RX C
A,S,
A,S,
E,LS 7E TRM
54 TRM
NAME
AND
AND
Compare
Compare
Decimal
Compare
Halfword
Compare
Logical
Compare
Logical
Compare
Logical
Compare (Long)
Compare (Short)
Convert to
Binary
Convert to
Decimal
Diagnose
Divide
Divide Decimal
Divide (Long)
Divide (Short)
Edit
Edit and Mark
Exclusive OR
Exclusive OR
Exclusive OR
Execute
Insert Character
Insert Storage
Key
Load
Load Halfword
Load (Long)
Load Multiple
Load PSW
Load (Short)
Move
Move
Move Numerics
Move with Offset
Move Zones
Multiply
Multiply
Decimal
Multiply
IIalfword
Multiply (Long)
Multiply (Short)
OR
OR
OR
Pack
Read Direct
Set Storage Key
Set System Mask
Store
Store Character
Store Halfword
Store (Long)
Store Multiple
Store (Short)
Subtract
Subtract Decimal
Subtract
Halfword
MNEMONIC
TYPE
C
C
C
EXCEPTIONS
CODE NOTE
94 SPR
D4 TRM
59 TRM
P,A,
P,A
A,S,
NI
NC
C
SI
SS
RX
CP
SS T,C
A, D
F9 TRM
CH
RX
A,S,
49 TRM
CL
RX
A,S,
55 TRM
CLI
SI
95 TRM
CLC
CD
CE
SS
C
RXF,C
RXF,C
A
A,S,
A,S,
D5 TRM
69 TRM
79 TRM
CVB
RX
A,S,D, IK 4F TRM
P,A,S,
RX
SI
M, A,S,
IK
A,S,
RX
D
P,A,S,D, DK
SS T
DP
A,S,U,E,FK
NDD
RXF
A,S,U,E,FK
NDE
RXF
SS T,C P,A, D
ED
EDMK SS T,C P,A, D
A,S,
X
RX C
SI
XI
C P,A,
SS
XC
C P,A,
EX
A,S,
RX
EX
A
IC
RX
CVD
ISK
L
LH
LD
LM
LPSW
LE
MVI
MVC
MVN
MVO
MVZ
M
RRZ M, A,S
A,S,
RX
A,S,
RX
A,S,
RXF
A,S,
RS
LM, A,S
SI
A,S,
RXF
P,A
SI
P,A
SS
P,A
SS
P,A
SS
P,A
SS
A,S
RX
MP
SS T
P,A,S,D
4E
83
5D
FO
60
70
DE
DF
57
97
D7
44
43
SPR
SPR
TRM
TRM
TRM
THM
TRM
TRM
TRM
SPR
TRM
SPR
TRM
09
58
48
68
98
82
78
92
D2
D1
Fl
D3
5C
TRM
TRM
TRM
TRM
TRM
TRM
SPR
TRM
TRM
TRM
TRM
TRM
FCTRM
4C
A,S
RX
6C
A,S,U,E
RXF
A,S,U,E
7C
RXF
A,S,
56
RX C
0
96
SI
C P,A
01
D6
SS
C P,A
OC
P,A
F2
PACK SS
85
SI Y M,P,A,
RDD
08
RRZ M, A,S
SSK
80
M, A
SI
SSM
50
P,A,S
ST
RX
42
P,A
STC
RX
40
P,A,S
RX
STH
60
P,A,S
STD RXF
90
P,A,S
STM RS
70
P,A,S
RXF
STE
A,S,
IF 5B
RX C
S
SS T,C P,A, D, DF FB
SP
MH
NMD
NME
SH
RX
A,S,
TUM
-;"'RM
TUM
TRM
SPR
TRM
TRM
TRM
TRM
SPR
SPR
SPR
SPR
TRM
SPR
TRM
TRM
IF 4B TRM
Appendix G
149
NAME
MNEMONIC
Subtract Logical
SL
Subtract Normalized (Long) N SD
Subtract Normalized (Short) N SE
Subtract Unnormalized
(Long)
SW
Subtract Unnormalized
( Short)
SU
Test Under Mask
TM
Translate
TR
Translate and
Test
TRT
Unpack
UNPK
Write Direct
'VRD
Zero and Add
ZAP
TYPE
RX
EXCEPTIONS
CODE
A,S
NOTE
5F TRM
RX F,C
A,S,U,E,LS 6B TRM
RX F,C
A,S,U,E,LS 7B TRM
RX F,C
RX F,C
SI
C
SS
A,S,
E,LS 6F TRM
A,S,
A
P,A
E,LS 7F TRM
91 TRM
DC TRM
SS
C
A
P,A
SS
SI Y M, A
SS T,C P,A, D,
DDTRM
F3 TRM
84 TRM
DF F8 TRM
SPR
TRM
Operation suppressed
Operation terminated
Specification (S)
Add
Add Halfword
Add Logical
Add Normalized
(Long)
Add Normalized
(Long)
Add Normalized
( Short)
Add NormaHzed
(Short)
150
MNEMONIC
A
AH
AL
TYPE
RX
RX
RX
EXCEPTIONS
C
C
N ADR
RRF,C
N AD
RXF,C
N AER
RRF,C
N AE
RXF,C
A,S,
A,S,
A,S
CODE NOTE
IF 5A
IF 4A
5E
4
2
4
S,U,E,LS 2A
A,S,U,E,LS 6A 3,8
S,U,E,LS 3A
A,S,U,E,LS 7A 3,4
NAME
MNEMONIC
TYPE
AWR
RRF,C
S,
AW
RX,F,C
A,S,
AUR
RRF,C
S,
AU
N
RXF,C
RX C
A,S,
A,S
RX
A,S
59
CH
RX
A,S
49
CL
RX
A,S
55
CDR
RR,F,C
29
CD
RX,F,C
A,S
CER
RR,F,C
CE
RX,F,C
A,S
CVB
RX
A,S,D,
CVD
DR
D
DP
NDDR
NDD
NDER
NDE
X
EX
RX
RX
Halve (Long)
Halve (Short)
HDR
HER
RRF
RRF
ISK
L
RRZ
RX
LTDR
Multiply
Multiply
CODE
NOTE
E,LS 2E
E,LS 6E 3,8
E,LS 3E
E,LS 7E 3,4
54 4
69 3,8
39
79 3,4
P,A,S
RX
IK 4F
4E
M, A,S
83
S,
IK ID 1
A,S,
IK 5D 1,4
P,A,S,D, DK FD 5
S,U,E,FK 2D 3
A,S, U ,E,FK 6D 3,8
S,U,E,FK 3D 3
A,S,U,E,FK 7D 3,4
SI
RR
RX
SS T
RRF
RXF
RRF
RXF
Exclusive OB
Execute
Insert Storage
Key
Load
Load and Test
(Long)
I,oad and T(~st
(Short)
Load Complement (Long)
Load Complement (Short)
Load Halfword
Load (Long)
I,oad (Long)
r,oad
Multiple
Load Negative
( Long)
Load Negative
(Short)
Load Positive
(Long)
T,oad Positive
(Short)
Load PSW
Load (Short)
Load (Short)
EXCEPTIONS
57
EX 44
24
34
3
3
M, A,S
A,S
09
58
RR F,C
22
LTER
RR F,C
32
LCDR
RR F,C
23
LCER
LH
LDR
LD
RRF,C
RX
RRF
RXF
A,S
33
3
48
2
28
3
68 3,8
LM
RS
A,S
98
LNDR
RRF,C
21
LNER
RRF,C
31
LPDR
RRF,C
20
LPER
LPS\V
LER
LE
RR F,C
S
SI
L M, A,S
RRF
S
RX F A , S
30
3
82 6,8
38
3
78 3,4
MR
RR
RX
lC 1
5C 1,4
A,S
A,S,
S
S
A,S
S
A,S
NAME
Multiply
Decimal
Multiply
Halfword
Multiply (Long)
Multiply (Long)
Multiply (Short)
Multiply (Short)
OR
Set Storage
Key
Shift Left
Double
Shift Left
Double
Logical
Shift Right
Double
Shift Right
Double
Logical
Store
Store IIalfword
Store (Long)
Store Multiple
Store (Short)
Subtract
Subtract
Halfword
Subtract
Logical
Subtract Normalized (Long)
Subtract Normalized (Long)
Subtract Normalized (Short)
Subtract Normalized (Short)
Subtract Unnormalized
(Long)
Subtract Unnormalized
(Long)
Subtract Unnormalized
( Short)
Subtract Unnormalized
( Short)
MNEMONIC
TYPE
MP
SS T
MH
N MDR
N MD
N MER
N ME
RX
RRF
RXF
RRF
RXF
RX
SSK
RRZ
SLDA
RS
EXCEPTIONS
CODE
P,A,S,D
NOTE
FC
A,S
S,U,E
A,S,U,E
S,U,E
A,S,U,E
4C 2
2C 3
6C 3,8
3C 3
7C 3,4
A,S
56
M, A,S
08
IF 8F
S,
8D
8E
SLDL
RS
SRDA
RS
SRDL
ST
STH
STD
STM
STE
S
RS
RX
RX
RXF
RS
RXF
RX C
SH
RX
A,S,
IF 4B
SL
RX
A,S
5F
S,U,E,LS 2B
NSDR
RRF,C
NSD
RXF,C
NSER
RRF,C
NSE
RXF,C
SWR
RRF,C
8C 1
50
4
2
40
60 3,8
90
4
70 3,4
IF 5B 4
S
P,A,S
P,A,S
P,A,S
P,A,S
P,A,S
A,S,
A,S,U,E,LS 6B 3,8
S,U,E,LS 3B
A,S,U,E,LS 7B 3,4
S,
E,LS 2F
MNEMONIC
Add Decimal
Compare
Decimal
Convert to
Binary
Divide Decimal
Edit
Edit and Mark
Multiply
Decimal
Subtract
Decimal
Zero and Add
SW
RXF,C
A,S,
SUR
RRF,C
S,
SU
RXF,C
A,S,
E,LS 6F 3,8
E,LS 3F
E,LS 7F 3,4
TYPE
EXCEPTIONS
AP
SST,C P,A, D,
CP
SS T,C
DF
CODE NOTE
FA
A, D
F9
CVB
DP
ED
EDMK
A,S,D
RX
P,A,S,D,
SS T
SS T,C P,A, D
SS T,C P,A, D
IK 4F
DK FD
DE
DF
MP
SS T
SP
ZAP
SS T,C P,A, D,
SS T,C P,A, D,
P,A,S,D
DF
DF
FC
1,2
FB
F8
1
1
1
2
Overlapping fields
Multiplicand length
1
2
3
4
5
6
7
8
Data (D)
Add
Add
Add Halfword
Load Complement
Load Positive
Shift Left Double
Shift Left Single
Subtract
Subtract
Subtract Halfword
MNEMONIC
AR
A
AH
LCR
LPH
SLDA
SLA
SR
S
SH
TYPE
RR
RX
RX
RR
RR
RS
RS
RR
RX
RX
C
C
C
C
C
C
C
C
C
C
EXCEPTIONS
A,S,
A,S,
S,
A,S,
A,S,
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
CODE
1A
5A
4A
13
10
8F
8B
IB
5B
4B
1. The quotient exceeds the register size in fixedpoint division, including division by zero.
2. The result of CONVERT TO BINARY exceeds 31 bits.
Division is suppressed. Conversion is completed by
ignoring the information placed outside the register.
The instruction -length code is 1 or 2.
NAME
Convert to Binary
Divide
Dividc
MNEMONIC
CVB
DR
D
TYPE
RX
RR
RX
EXCEPTIONS
A,S,D,
S,
A,S,
IK
IK
IK
Appendix G
CODE
4F
ID
5D
151
NAME
MNEMONIC
Add Decimal
Subtract Decimal
Zero and Add
AP
SP
ZAP
TYPE
SS T,C
SS T,C
SS T,C
EXCEPTIONS
P,A, D, DF
P,A, D, DF
P,A, D, DF
CODE
FA
FB
F8
Divide Decimal
MNEMONIC
DP
TYPE
SS T
EXCEPTIONS
P,A,S,D,
CODE
DK FD
Add Normalized
(Long)
Add Normalized
(Long)
Add Normalized
( Short)
Add Normalized
( Short)
Add Unnormalized (Long)
Add UnnOImalized (Long)
Add Unnormalized (Short)
Add Unnormalized (Short)
Divide (Long)
Divide (Long)
Divide (Short)
Divide (Short)
Multiply (Long)
Multiply (Long)
Multiply (Short)
Multiply (Short)
Subtract Normalized (Long)
Subtract Normalizcd (Long)
Subtract Normalized (Short)
Subtract Normalizcd (Short)
Subtract U nnormalized (Long)
Subtract Unnormalized (Long)
Subtract Un normalized (Short)
Subtract Unnormalized (Short)
152
MNEMONIC
TYPE
EXCEPTIONS
CODE
NADR
RRF,C
S,U,E,LS
2A
NAD
RXF,C
A,S,U,E,LS
6A
NAER
RRF,C
S,U,E,LS
3A
NAE
RXF,C
A,S,U,E,LS
7A
AWR
RRF,C
S,
E,LS
2E
AW
RXF,C
A,S,
E,LS
6E
AUR
RRF,C
S,
E,LS
3E
AU
NDDR
NDD
NDER
NDE
NMDR
NMD
NMER
NME
RXF,C
RRF
RXF
RRF
RXF
RRF
RXF
RRF
RXF
NSDR
RRF,C
S,U,E,LS
2B
NSD
RXF,C
A,S,U,E,LS
6B
NSER
RRF,C
S,U,E,LS
3B
NSE
RXF,C
A,S,U,E,LS
7B
A,S, E,LS 7E
S,U,E,FK 2D
A,S,U,E,FK 6D
S,U,E,FK 3D
A,S,U,E,FK 7D
S,U,E
2C
A,S,U,E
6C
S,U,E
3C
A,S,U,E
7C
SWR
RRF,C
S,
E,LS
2F
SW
RXF,C
A,S,
E,LS
6F
SUR
RRF,C
S,
E,LS
3F
SU
RXF,C
A,S,
E,LS
7F
NAME
Add Normalized
(Long)
Add Normalized
( Long)
Add Normalized
(Short)
Add Normalized
( Short)
Divide (Long)
Divide (Long)
Divide (Short)
Divide (Short)
Multiply (Long)
Multiply (Long)
Multiply (Short)
Multiply (Short)
Subtract Normalizcd (Long)
Subtract Normalized (Long)
Subtract Normalized (Short)
Subtract Normalizcd (Short)
MNEMONIC
TYPE
floatingdivision.
result of
may be
EXCEPTIONS
CODE
NADR
RRF,C
S,U,E,LS
2A
NAD
RXF,C
A,S,U,E,LS
6A
NAER
RRF,C
S,U,E,LS
3A
NAE
NDDR
NDD
NDER
NDE
NMDR
NMD
NMER
NME
RXF,C
RRF
RXF
RRF
RXF
RRF
RXF
RRF
RXF
NSDR
RRF,C
S,U,E,LS
2B
NSD
RXF,C
A,S,U,E,LS
6B
NSER
RRF,C
S,U,E,LS
3B
NSE
RXF,C
A,S,U,E,LS
7B
A,S,U,E,LS 7A
S,U,E,FK 2D
A,S,U,E,FK 6D
S,U,E,FK 3D
A,S,U,E,FK 7D
S,U,E
2C
A,S,U,E
6C
S,U,E
3C
A,S,U,E
7C
Significance (LS)
Add Normalized
( Long)
Add Normalized
(Long)
Add Normalized
(Short)
Add Normalized
( Short)
Add Unnormalizcd (Long)
Add Unnonnalized (Long)
Add Unnonnalizcd (Short)
Add Unnormalizcd (Short)
Subtract Normalizcd (Long)
Subtract Normalizcd (Long)
Subtract Normalizcd (Short)
Subtract NormaHzcd (Short)
MNEMONIC
TYPE
EXCEPTIONS
CODE
NADR
RRF,C
S,U,E,LS
2A
NAD
RXF,C
A,S,U,E,LS
6A
NAER
RRF,C
S,U,E,LS
3A
NAE
RXF,C
A,S,U,E,LS
7A
AWR
RRF,C
S,
E,LS
2E
AW
RXF,C
A,S,
E,LS
6E
AUR
RRF,C
S,
E,LS
3E
AU
RXF,C
A,S,
E,LS
7E
NSDR
RRF,C
S,U,E,LS
2B
NSD
RXF,C
A,S,U,E,LS
6D
NSER
RRF,C
S,U,E,LS
3B
NSE
RXF,C
A,S,U,E,LS
7B
NAME
MNEMONIC
TYPE
EXCEPTIONS
CODE
SWR
RRF,C
S,
E,LS
2F
SW
RXF,C
A,S,
E,LS
6F
SUR
RRF,C
S,
E,LS
3F
SU
RXF,C
A,S,
E,LS
7F
Intervention Contlrols
NAME
NAME
Divide
Divide
Divide
Divide
(Long)
(Long)
(Short)
(Short)
NDDR
NDD
NDER
NDE
TYPE
RRF
RXF
RRF
RXF
EXCEPTIONS
S,U,E,FK
A,S,U,E,FK
S,U,E,FK
A,S,U,E,FK
CODE
2D
6D
3D
7D
Editing
EXAM-
TRlG-
ACTER
CHARNAME AND
INE
GER
CODE
PURPOSE
DIGIT
00100000
digit select
yes
00100001
0010 0010
other
significance
start
yes
field
separator
message
insertion
no
no
RESULT TRIGDIGIT
CHAR-
STATUS STATUS
ACTER
s=1
s=o
s=O
s=1
s=O
s=O
digit
digit
fill
digit
digit
fill
fill
d not 0
d=O
d not 0
d=O
GER
SET
leave
fill
s=1
s=O
NOTES
d
digit
fill
leave
other
Source digit
S trigger (1: minus sign, digits, or pattern used; 0:
plus sign, fill used)
A source digit replaces the pattern character.
The fill character replaces the pattern character.
The pattern character remains unchanged.
Any other pattern character.
Timer
111111111
23 24 25 26 27 28 29 30 31
>0
Emergency Pull
Power On
Power Off
Interrupt
Wait
Manual
System
Test
Load
Load Unit
Load
Prefix Select>O
Multisystem feature
IMPLEMENTATION
Pull switeh
Key, backlighted
Key
Key
Light
Light
Light
Light
Light
Three rotary switches
Key
Key switch
>0
IMPLEMENTATION
System Reset
Stop
Rate
Start
Storage Select
Address
Data
Store
Display
Set IC
Address Compare
Alternate Prefix~
Multisystem feature
Key
Key
Rotary
Key
Rotary
Rotary
Rotary
Key
Key
Key
Rotary
Light
switch
or key switch
or key switches
or key switches
or key switches
MANUAL
WAIT
CPU
LIGHT
LIGHT
LIGHT
STATE
off
off
off
off
off
off
on
on
off
on
off
on
on
on
on
on
off
off
on
on
off
on
off
on
I/O
STATE
Input/Output ()perations
Input / Output Address Assignment
ASSIGNMENT
ADDRESS
Devices
Devices
Devices
Devices
Dcvices
Devices
Devices
Invalid
ADDRESS
00000000
to
0111 1111
1000 xxxx
1001 xxxx
1010 xxxx
1011 xxxx
1100 xxxx
1101 xxxx
1110 xxxx
1111 xxxx
153
Channel
Available
Interruption pending
Working
Not operational
W
N
Subchannel
Available
Interruption pending
A
I
Working
Not operational
W
N
CONDITION
Invalid CCW format
Invalid sequence - 2 TIC's
Protcction check
Chaining check
Termination under count
control
Termination by I/O device
Termination by HALT I/O
Suppression of command
chaining due to unit check
or unit exception with device end or control unit end
Termination on command
chaining by attention, unit
check, or unit exception
Program-controlled interruption
Interface control check
Ch. end after HIO on seI. ch.
Control unit end
Dcvice end
Attention
Busy
Status modifier
CONTENT
Address of invalid CCW
8
Address of second TIC
8
Address of invalid CCW
8
Address of last-used CCW
8
+
+
+
+
Address of last-used CCW + 8
Address of last-used CCW + 8
Address of last-used CCW + 8
Address of last CCW used in
the completed operation
8
+8
+8
The table lists the conditions when the busy bit (B)
appears in the csw and when it is accompanied by
the status-modifier bit (8M). Two hyphens (--) inclicate that the busy bit is off; an asterisk (#) indicates
that csw status is not stored or an I/O interruption
cannot occur; the (cl) indicates that the interruption
condition is cleared and the status appears in the csw.
The abbreviation DE stands for device end, and cu
stands for control unit.
Subchannel available
DE or attention in device
Device working, CD available
CU end or channel end in CU:
for the addressed device
for another device
CU working
Interruption pend. in sub channel
for the addressed device
because of:
chaining terminated by
attention
other type of termination
Subchannel working
CU available
CU working
START
TEST
HALT
I/O
I/O
I/O
I/O
INT.
B,d
B
--,d
B
B,d
B,SM
B,SM
--,d
B,SM
B,SM
'"
'"
'"
'"
'"
'"
'"
'"
'"
'"
--,d
--,d
'"
'"
B,d
--,d
'"
'"
--,d
FLAGS
CD
CC
SLI
REGULAH OPERATION
IMMEDIATE OPERATION
0
0
0
0
0
0
1
1
1
1
I
1
0
0
1
1
Stop,IL
Stop, -Stop,IL
Chain command
Stop,IL
Stop,IL
Stop,IL
Stop,IL
1
1
1
1
B,d
--,cl
'"
B,SM
'"
<I<
STATUS
~--~---
BY
BY
BY
BY I/O
I/O IS
SUBCHANNEL
AT
AT CONTROL
AT
COMMAND
START
TEST
HALT
INTER-
IDLE
WORKING
SUBCHANNEL
UNIT
DEVICE
CHAINING
I/O
I/O
I/O
RUPTION
WHEN
WHEN
DURING
--
Attention
Status modifier
Control unit end
Busy
Channel end
Device end
Unit check
U nit exception
CO
CO
CO
C"'H
C
C
C
C
CO
Program-controlled interruption
C'"
Incorrcct length
Program check
Protection check
Channel data check
Channel control check
Interface control check
Chaining check
C
C
C
C
C'"
C'"
C
CO
co
co
co
co
C
NOTES
CO
co
---~-
--- - - - -
C
C
CO
C
CO
C
C
C
C<>!
c t
C'"
C'"
S
S
CS
CS
CS
CS
CS
CS
S
Ct S
Gr S S
CS
CS
CS
S
CS
CO
CO
C'"
CS
C'"
C'"
CS
CS
CS
CS
CS
S
S
S
S
S
S
CS
S
S
S
S
S
CS
CS
S
S
S
S
S
CS
CS
S
CS
CS
Appendix G
155
Instruction Termination
Only one program interruption occurs for a given instruction. The old psw always identifies a valid cause.
This does not preclude simultaneous occurrence of
any other causes. Which of several causes is identified
may vary from one occasion to the next and from one
model to another.
When instruction execution is terminated by an interruption, all, part, or none of the result may be
stored. The result data, therefore, are unpredictable.
The setting of the condition code, if called for, may
also be unpredictable. In general, the results of the
operation should not be used for further computation.
Cases of instruction termination for a program interruption are:
Protection: The storage key of a result location does
not match the protection key in the psw. The operation is terminated in the case of STORE MULTIPLE, READ
DIRECT, and variable-length operations. Protected storage remains unchanged. The timing signals of READ
DIRECT may have been made available.
Addressing: An address specifies any part of data,
instruction, or control word outside the available storage for the particular installation. The operation is
terminated. Data in storage remain unchanged, except
when designated by valid addresses.
156
Data: The sign or digit codes of operands in decimal arithmetic, CONVERT TO BINARY, or editing operations are incorrect, or fields in decimal arithmetic overlap incorrectly, or the decimal multiplicand has too
many high-order significant digits. The operation is
terminated in all three cases. The condition code setting, if called for, is unpredictable for protection, addressing, and data exceptions.
Exponent Overflow: The result exponent of an ADD,
SUBTRACT, MULTIPLY, or DIVIDE overflows and the result fraction is not zero. The operation is terminated.
The condition code is set to 3 for ADD and SUBTRACT,
and remains unchanged for MULTIPLY and DIVIDE.
Machine-Check Interruption
Instruction-Length Code
Timer
with an interruption due to the PCI flag is unpredictable. The content of the count field depends upon the
model and its current activity.
When the channel has established which device on
the channel will cause the next I/O interruption, the
identity of the device is preserved in the channel. Except for conditions associated with termination of an
operation at the subchannel, the current assignment
of priority for interruptions among devices mayor
may not be canceled when START r/o or TEST r/o is
issued to the channel, depending upon the model.
The assignment of priority among requests for interruption from channels is based on the type of channel. The priorities of selector channels are in the order
of their addresses, with channel 1 having the highest
priority. The interruption priority of the multiplexor
channel is not fixed, and depends on the model and
the current activity in the channel.
Channel Programming Errors
157
When a programming error occurs in the inform a tion placed in the CAW or ccw and the addressed
channel or sub channel is working, either condition
code 1 or 2 may be set, depending on the model.
Similarly, either code 1 or 3 may be set when a programming error occurs and a part of the addressed
I/O system is not operational.
When a programming error occurs and the addressed device contains an interruption condition,
with the channel and sub channel in the available
state, START I/O mayor may not clear the interruption
condition, depending on the type of error and the
model. If the instruction has caused the device to be
interrogated, as indicated by the presence of the busy
bit in the csw, the interruption condition has been
cleared, and the csw contains program check, as well
as the status from the device.
When the channel detects several error conditions,
all conditions may be indicated or only one may appear in the csw, depending on the condition and the
model.
158
subsequent state of the sub channel upon a malfunction reset depend on the model.
Detection of channel control check or interface control check causes the current operation, if any, to be
immediately terminated and causes the channel to perform the malfunction-reset function. The recovery procedure in the channel and the subsequent state of the
sub channel upon a malfunction reset depend on the
model.
The contents of the csw, as well as the address in
the psw identifying the I/O device, are unpredictable
upon the detection of a channel-control-check condition.
Execution of malfunction reset in the channel depends on the type of error and model. It may cause
all operations in the channel to be terminated and all
operational subchannels to be reset to the available
state. The channel may send the malfunction-reset
signal to the device connected to the channel at the
time the malfunctioning is detected, or a channel sharing common equipment with the CPU may send the
system-reset signal to all devices attached to the channel.
The method of processing a request for interruption
due to equipment malfunctioning, as indicated by the
presence of the channel-data-check, channel-controlcheck, and interface-control-check conditions, depends
on the model. In channels sharing common equipment
with the CPU, malfunctioning detected by the channel
may be indicated by the machine-check interruption.
NAME
Addressing exception
Condition code is set
Data exception
Decimal-overflow exception
Decimal-divide exception
Exponen t -overflow exception
Execute exception
Floating-point feature
Floating-point divide exception
Fixed-point overflow exception
Fixed-point divide exception
New condition code loaded
Significance exception
Privileged-operation exception
Normalized operation
Protection exception
Specification exception
Decimal feature
Exponent-underflow exception
Direct control feature
Protection feature
NAME
Add
Add
Add Decimal
Add Halfword
Add Logical
Add Logical
Add Normalized
(Long)
Add Normalized
(Long)
Add Normalized
( Short)
Add Normalized
( Short)
Add Unnormalized (Long)
Add Unnormalized (Long)
Add Unnormalized (Short)
Add Unnormalized (Short)
AND
AND
AND
AND
Branch and Link
Branch and Link
Branch on
Condition
Branch on
Condition
Branch on Count
Branch on Count
Branch on Index
High
Branch on Index
Low or Equal
Compare
Compare
Compare Decimal
MNEMONIC
TYPE
AR
A
AP
AH
ALR
AL
RR C
RX C
SS T,C
RX C
RR C
RX C
NADR
EXCEPTIONS
CODE
IF
IF
DF
IF
lA
5A
FA
4A
IE
5E
RRF,C
S,U,E,LS
2A
NAD
RXF,C
A,S,U,E,LS
6A
NAER
RRF,C
S,U,E,LS
3A
NAE
RXF,C
A,S,U,E,LS
7A
A,S,
P,A, D,
A,S,
A,S,
AWR
RRF,C
S,
E,LS
2E
AW
RXF,C
A,S,
E,LS
6E
AUR
RRF,C
S,
E,LS
3E
AU
NR
N
NI
NC
BALR
BAL
RXF,C
RR C
RX C
SI
C
SS
C
RR
RX
A,S,
E,LS
7E
14
54
94
D4
05
45
BCR
RR
07
BC
BCTR
BCT
RX
RR
RX
47
06
46
A,S
P,A
P,A
BXH
RS
86
BXLE
CR
C
CP
RS
RR C
RX C
SS T,C
87
19
59
F9
A,S
A, D
Compare Halfword
Compare Logical
Compare Logical
Compare Logical
Compare Logical
Compare (Long)
Compare (Long)
Compare (Short)
Compare (Short)
Convert to Binary
Convert to Decimal
Diagnose
Divide
Divide
Divide Decimal
Divide (Long)
Divide (Long)
Divide (Short)
Divide (Short)
Edit
Edit and Mark
Exclusive OR
Exclusive OR
Exclusive OR
Exclusive OR
Execute
Halt 110
Halve (Long)
Halve (Short)
Insert Character
Insert Storage Key
Load
Load
Load Address
Load and Test
Load and Test
(Long)
Load and Test
( Short)
Load Complement
Load Complement
(Long)
Load Complement
( Short)
Load Halfword
Load (Long)
Load (Long)
Load Multiple
Load Negative
Load Negative
( Long)
Load Negative
( Short)
Load Positive
Load Positive
( Long)
Load Positive
(Short)
Load PSW
Load (Short)
Load (Short)
Move
Move
Move Numerics
Move with Offset
MNEMONIC
CH
CLR
CL
CLI
CLC
CDR
CD
CER
CE
CVB
CVD
TYPE
EXCEPTIONS
CODE
RX C
A,S
RR C
RX C
A,S
SI
C
A
SS
C
A
RRF,C
S
HXF,C
A,S
RRF,C
S
RXF,C
A,S
RX
A,S,D, IK
RX
P,A,S
SI
M, A,S
RR
S,
IK
A,S,
RX
IK
SS T
P,A,S,D, DK
RRF
S,U,E,FK
RXF
A,S,U,E,FK
RRF
S,U,E,FK
RXF
A,S,U,E,FK
SS T,C P,A, D,
SS T,C P,A, D,
RR C
RX C
A,S
SI
C P,A
SS
C P,A
RX
A,S,
EX
SI
CM
RRF
S
RRF
S
RX
A
RRZ M, A,S
RR
A,S
RX
RX
RR C
49
15
55
95
D5
29
69
39
79
4F
4E
83
ID
5D
FD
2D
6D
3D
7D
DE
DF
17
57
97
D7
44
9E
24
34
43
09
18
58
41
12
LTDR
RRF,C
22
LTER
LCR
RRF,C
RR C
LCDR
RRF,C
23
LCER
LH
LDR
LD
LM
LNR
RRF,C
RX
RRF
RXF
RS
RR C
S
A,S
S
A,S
A,S
33
48
28
68
98
11
LNDR
RRF,C
21
LNER
LPR
RRF,C
RR C
LPDR
RRF,C
20
LPER
LPSW
LER
LE
MVI
MVC
MVN
MVO
S
RRF,C
LM, A,S
S
RRF
A,S
RXF
P,A
SI
P,A
SS
P,A
SS
SS
P,A
30
82
38
78
92
D2
Dl
Fl
DR
D
DP
NDDR
NDD
NDER
NDE
ED
EDMK
XR
X
XI
XC
EX
HIO
HDR
HER
IC
ISK
LR
L
LA
LTR
IF
IF
SI
Appendix G
32
13
31
10
159
NAME
Move Zones
Multiply
Multiply
Multiply Decimal
Multiply Halfword
Multiply (Long)
Multiply (Long)
Multiply (Short)
Multiply (Short)
OR
OR
OR
OR
Pack
Read Direct
Set Program Mask
Set Storage Key
Set System Mask
Shift Left Double
Shift Left Double
Logical
Shift Left Single
Shift Left Single
Logical
Shift Right Double
Shift Right: Double
Logical
Shift Right: Single
Shift Right Single
Logical
Start I/O
Store
Store Character
Store Halfword
Store (Long)
Store Multiple
Store (Short)
Subtract
Subtract
Subtract Decimal
Subtract Halfword
Subtract Logical
Subtract Logical
Subtract N ormalized ( Long)
Subtract Normalized ( Long)
Subtract Normalized (Short)
Subtract Normalized (Short)
Subtract Unnormalized (Long)
Subtract Unnormalized ( Long)
Subtract U nnormalized (Short)
Subtract Unnormalized (Short)
Supervisor Call
Test Channel
Test I/O
Test Under Mask
Translate
Translate and Test
Unpack
Write Direct
Zero and Add
160
MNEMONIC
MVZ
MR
M
MP
MH
NMDR
NMD
NMER
NME
OR
0
01
DC
PACK
RDD
SPM
SSK
SSM
SLDA
TYPE
EXCEPTIONS
P,A
SS
. S
RR
A,S
RX
P,A,S,D
SS T
A,S
RX
S,U,E
RRF
A,S,U,E
RXF
S,U,E
RRF
A,S,U,E
RXF
RR C
A,S
RX C
SI
C P,A
C P,A
SS
P,A
SS
SI Y M,P,A
RR L
RRZ M, A,S
M, A
SI
S,
IF
RS C
S
SLDL
SLA
RS
RS
SLL
SRDA
RS
RS
SRDL
SRA
RS
RS
SRL
SID
ST
STC
STH
STD
STM
STE
SR
S
SP
SH
SLR
SL
RS
CM
SI
P,A,S
RX
P,A
RX
P,A,S
RX
P,A,S
RXF
P,A,S
RS
P,A,S
RXF
RR C
A,S,
RX C
SS T,C P,A, D,
A,S,
RX C
RR C
A,S
RX C
IF
CODE
D3
lC
5C
FC
4C
2C
6C
3C
7C
16
56
96
D6
F2
85
04
08
80
8F
8D
8B
89
8E
8C
8A
IF
IF
DF
IF
88
9C
50
42
40
60
90
70
IB
5B
FB
4B
IF
5F
NSDR
RRF,C
S,U,E,LS
2B
NSD
RXF,C
A,S,U,E,LS
6B
NSER
RRF,C
S,U,E,LS
3B
NSE
RXF,C
A,S,U,E,LS
7B
SWR
RRF,C
S,
E,LS
2F
SW
RXF,C
A,S,
E,LS
6F
SUR
RRF,C
S,
E,LS
3F
SU
SVC
TCH
TID
TM
TR
TRT
UNPK
WRD
ZAP
A,S, E,LS 7F
RXF,C
OA
RR
CM
9F
SI
SI
CM
9D
C
SI
A
91
P,A
SS
DC
C
A
DD
SS
P,A
F3
SS
84
SI Y M, A
SS T,C P,A, D, DF F8
Add
Add
Add Halfword
Add Logical
Add Logical
AND
AND
AND
AND
Branch and Link
Branch and Link
Branch on
Condition
Branch on
Condition
Branch on Count
Branch on Count
Branch on Index
High
Branch on Index
Low or Equal
Compare
Compare
Compare IIalfword
Compare Logical
Compare Logical
Compare Logical
Compare Logical
Convert to Binary
Convert to Decimal
Diagnose
Divide
Divide
Exclusive OR
Exclusive OR
Exclusive OR
Exclusive OR
Execute
Halt I/O
Insert Character
Load
Load
Load Address
Load and Test
Load Complcmcnt
Load Halfword
Load Multiple
Load Negative
Load Positive
LoadPSW
Move
Move
Move Numerics
Move with Offset
Movc Zones
Multiply
Multiply
Multiply I lalfword
OR
OR
OR
OR
Pack
MNEMONIC
TYPE
IF
IF
IF
CODE
lA
5A
4A
IE
5E
14
54
94
D4
05
45
RR
RX
RX
RR
RX
RR
RX
SI
SS
RR
RX
BCR
RR
07
BC
BCTR
BCT
RX
RR
RX
47
06
46
BXH
RS
86
BXLE
CR
C
CH
CLR
CL
CLC
CLI
CVB
CVD
RS
RR C
A,S
RX C
A,S
RX C
RR C
RX C
A,S
SS
C
A
SI
C
A
A,S,D,
RX
P,A,S
RX
M, A,S
SI
S,
RR
A,S,
RX
RR C
A,S
RX C
SI
C P,A
C P,A
SS
A,S,
RX
CM
SI
A
RX
RR
A,S
RX
RX
RR C
RR C
A,S
RX
A,S
RS
RR C
RR C
LM, A,S
SI
P,A
SI
P,A
SS
P,A
SS
P,A
SS
P,A
SS
RR
S
A,S
RX
A,S
RX
RR C
A,S
RX C
SI
C P,A
SS
C P,A
SS
P,A
DR
D
XR
X
XI
XC
EX
HID
IC
LR
L
LA
LTR
LCR
LH
LM
LNR
LPR
LPSW
MVI
MVC
MVN
MVO
MVZ
MR
M
MH
OR
0
01
OC
PACK
C
C
C
C
C
C
C
C
C
EXCEPTIONS
AR
A
AH
ALR
AL
NR
N
NI
NC
BALR
BAL
A,S,
A,S,
A,S,
A,S
P,A
P,A
87
19
59
49
15
55
D5
95
IK 4F
4E
83
IK ID
IK 5D
17
57
97
D7
EX 44
9E
43
18
58
41
12
13
IF
48
98
11
10
IF
82
92
D2
Dl
Fl
D3
lC
5C
4C
16
56
96
D6
F2
SPM
SSM
SLDA
SLA
RR
SI
RS
RS
SLDL
RS
SLL
SRDA
SRA
RS
RS
RS
SRDL
RS
SRL
SIO
ST
STC
STH
STM
SR
S
SH
SLR
SL
SVC
TCH
TIO
TM
TR
TRT
UNPK
RS
SI
RX
RX
RX
RS
RR
RX
RX
RR
RX
RR
SI
SI
SI
SS
SS
SS
L
M, A
C
C
S,
C
C
IF
IF
8D
89
8E
8A
8C
CM
P,A,S
P,A
P,A,S
P,A,S
C
C
C
C
C
CM
CM
C
C
04
80
8F
8B
A,S,
A,S,
IF
IF
IF
A,S
A
P,A
A
P,A
88
9C
50
42
40
90
1B
5B
4B
IF
5F
OA
9F
9D
91
DC
DD
F3
Add Normalized
( Long)
Add Normalized
(Long)
Add Normalized
( Short)
Add Normalized
( Short)
Add Unnormali zed (Long)
Add Unnormalized (Long)
Add Unnormalized (Short)
Add Unnormalized (Short)
Compare (Long)
Compare (Long)
Compare (Short)
Compare (Short)
Divide (Long)
Divide (Long)
Divide (Short)
Divide (Short)
Halve Long
Halve (Short)
Load and Test
(Long)
Load and Test
( Short)
Load Complement
(Long)
Load Complement
( Short)
MNEMONIC
TYPE
EXCEPTIONS
CODE
NADR
RRF,C
S,U,E,LS
2A
NAD
RXF,C
A,S,U,E,LS
6A
NAER
RRF,C
S,U,E,LS
3A
NAE
RXF,C
A,S,U,E,LS
7A
Load (Long)
RRF
28
LDR
S
Load (Long)
LD
RXF
A,S
68
Load Negative
(Long)
LNDR
RRF,C
21
S
Load Negative
( Short)
LNER
RRF,C
31
S
Load Positive
(Long)
LPDR
20
RRF,C
S
Load Positive
30
(Short)
LPER
RRF,C
S
Load (Short)
LER
RRF
38
S
Load (Short)
A,S
78
LE
RXF
S,U,E
Multiply (Long)
2C
NMDR
RRF
A,S,U,E
Multiply (Long)
NMD
RXF
6C
Multiply (Short)
S,U,E
3C
NMER
RRF
Multiply (Short)
A,S,U,E
RXF
7C
NME
Store (Long)
P,A,S
60
STD
RXF
Store (Short)
STE
P,A,S
70
RXF
Subtract N ormS,U,E,LS 2B
alized (Long)
NSDR
RRF,C
Subtract NormA,S,U,E,LS 6B
alized (Long)
NSD
RXF,C
Subtract NormS,U,E,LS 3B
alized (Short)
NSER
RRF,C
Subtract Normalized (Short)
A,S,U,E,LS 7B
RXF,C
NSE
Subtract Unnormdizcd (Long)
RRF,C
S, E,LS 2F
SWR
Subtract Unnormalized (Long)
A,S, E,LS 6F
RXF,C
SW
Subtract U nnormalized (Short)
S, E,LS 3F
SUR
RRF,C
Subtract Unnormalized (Short)
A,S, E,LS 7F
SU
RXF,C
The scientific instruction set includes the instructions of both
the standard instruction set and the floating-point feature.
Decimal Feature Il1structions
NAME
AWR
RRF,C
S,
E,LS
2E
AW
RXF,C
A,S,
E,LS
6E
AUR
RRF,C
S,
E,LS
3E
AU
CDR
CD
CER
CE
NDDR
NDD
NDER
NDE
HDR
HER
RXF,C
RRF,C
RXF,C
RRF,C
RXF,C
RRF
RXF
RRF
RXF
RRF
RRF
A,S, E,LS
S
A,S
S
A,S
S,U,E,FK
A,S,U,E,FK
S,U,E,FK
A,S,U,E,FK
S
S
7E
29
69
39
79
2D
6D
3D
7D
24
34
Add Decimal
Compare Decimal
Divide Decimal
Edit
Edit and Mark
Multiply Decimal
Subtract Decimal
Zero and Add
MNEMONIC
AP
CP
DP
ED
EDMK
MP
SP
ZAP
TYPE
SS
SS
SS
SS
SS
SS
SS
SS
T,C
T,C
T
T,C
T,C
T
T,C
T,C
EXCEPTIONS
P,A, D, DF
A, D
P,A,S,D, DK
P,A, D
P,A, D
P,A,S,D
P,A, D, DF
P,A, D, DF
CODE
FA
F9
FD
DE
DF
FC
FB
F8
TYPE
MNEMONIC
LTDR
RRF,C
22
LTER
RRF,C
32
LCDR
RRF,C
23
LCER
RRF,C
33
NAME
RDD
WRD
MNEMONIC
ISK
SSK
EXCEPTIONS
SI Y M,P,A
SI Y M, A
Read Direct
Write Direct
TYPE
RRZ
RRZ
EXCEPTIONS
M, A,S
M, A,S
Appendix G
CODE
85
84
CODE
09
08
161
Page
Page
AUR
27
RX
45
(Short Operands)
RR
3E
7 8
11 12
15
5A
11 12
7 8
15 16
19 20
31
AW
AD
RX
45
(Long Operands)
RX
44
(Long Operands)
6E
7 8
6A
11 12
78
1516
RR
1920
31
45
44
(Long Operands)
2E
2A
Rl
78
78
R2
1112
RX
111"l
15
15
BAL
AE
1516
(Long Operands)
RR
AWR
ADR
11 12
31
1920
64
RX
44
(Short Operands)
45
7A
7 8
7 8
AER
11 12
15 16
19 20
44
(Short Operands)
RR
11 12
15 16
19 20
31
31
BALR
64
RR
05
3A
78
78
AH
11 12
27
RX
AL
11 12
15 16
19 20
63
___
4_7__~~M~1~_X~2~~B2~~____D~2~_~
7 8
11 12
15 16
1920
31
31
27
RX
BCR
63
RR
07
5E
7 8
ALR
15
RX
BC
~l
4A
7 8
1112
15
11 12
15 16
78
31
19 20
RR
27
BCT
35
BCTR
1112
15
64
RX
1E
78
AP
1112
15
SS
06
7-_F_A__~_Ll~_L_2~~Bl~I~'?L~Dl~I_B~2~1~~
7 8
AR
11 12
15 16
1920
31 32
35 36
lA
RX
1112
45
~_R~1~L-R~3~L-B~2~L------D~2~--~
11 12
15 16
19 20
65
RS
BXLE
31
87
7E
7 8
162
15
64
7 8
15
(Short Operands)
11 12
RS
BXH
7-__8_6____
78
AU
78
47
27
RR
64
RR
11 12
15 16
19 20
31
7 8
11 12
15 16
19 20
31
Page
29
RX
Page
CR
19
59
7 8
RX
CD
11 12
15 16
19 20
7 8
31
46
(Long Operands)
RR
1112
1516
1920
46
(Long Operands)
11 12
39
46
11 12
1516
1920
31
30
(Short Operands)
46
11 12
7 8
DD
RX
1516
1920
31
48
(Lon!r;J Operands)
60
1112
15
7 8
29
RR
DDR
11 12
15 16
31
19 20
(Long Operands)
48
20
49
7 8
11 12
15 16
1920
31
RX
53
78
DE
c==i5____~_R_l~_X_2~__B2~1_______0_2____~
78
11 12
15 16
1920
RX
1112
15
(Shol,t Operands)
48
70
31
SS
CLC
1516
RX
31
1920
RX
CL
11 12
50
78
CH
31
1920
31
7 8
15
(Short Operands)
7 8
1516
RX
CVD
79
RR
11 12
4E
7 8
CER
30
7 8
31
29
RX
15
4F
7 8
CE
11 12
RX
CVB
69
CDR
29
RR
7 8
RR
DER
11 12
1516
31
1920
(Shelrt Operands)
48
30
7 8
1516
78
SI
CLI
53
1516
78
1920
37
7 8
53
DR
7 8
11 12
15
37
__
~C= F_9__~L,~I_L_2~B_,~IJ~?L_01~I_B_2~11[SJ
78
1112
1516
1920
3132
3536
47
ED
15 16
1920
31 32
35 36
47
30
R1
7 8
SS
11 12
RR
10
15
SS
31
RR
CP
15
~__
FO__~L~1.~~_L~~_5lJ_,~?~_0~,I__
B2~11[SJ
95
CLR
DP
11 12
TR2J
11 12
15
SS
57
L.__--'-_B,---LI.J~?L_O1.;. .L.I_B_2.....u11[SJ
OE
7 8
1516
1920
31 32
35 36
Appendix G
47
163
Page
Page
58
55
EOMK
13
DF
1920
1516
7 8
3132
35 36
47
65
RX
EX
78
LO
7 8
HOR
11 12
1 5 16
7 8
47
RR
11 12
43
47
LE
L ____
7_8____
15
94
SI
7 8
1516
19 20
11 12
31
43
15
43
L-_R1~~X_2__~B-2~~------D2----~
11 12
7 8
RR
LER
~Bl
9E
15 1 6
(Short Operands)
I
11 12
11 12
(Long Operands)
7 8
(Short Operands)
7 8
15 16
1920
31
43
(Short Operands)
38
31
1920
7 8
55
RX
LH
43
11 12
15
25
RX
48
7 8
11 12
15 16
19 20
RR
ISK
RR
LOR
15
34
IC
15
(Long Operands)
7 8
31
19 20
(Long Operands)
RR
HIO
RX
11 12
68
44
HER
26
RR
LCR
31
73
7 8
LM
11 12
15 16
19 20
31
26
R5
09
78
1112
15
7 8
25
RX
58
11 12
15 16
19 20
19 20
31
44
11 12
15
(Short Operands)
44
31
7 8
RR
11 12
15 16
(Long Operands)
7 8
RIl
11 12
19 20
78
31
43
LNR
(Short Operands)
15
26
7 8
43
1112
RR
15
RR
LPOR
11 12
15
(Long Operands)
20
33
7 8
164
RR
LNER
41
LCER
(Long Operands)
78
31
56
RX
LCOR
15 16
21
7 8
LA
RR
LNOR
11 12
11 12
15
7 8
11 12
15
43
Page
RR
LPER
43
(Short Operands)
78
11 12
15
RR
26
7 8
11 12
7 8
MH
11 12
72
30
7 8
MP
11 1~
1516
78
1920
31
37
7 8
25
RR
MR
1~
7 8
RR
I.TDR
11 12
15
43
(I.ong Operands)
11 12
19 20
31 32
35 36
RR
47
29
-'-----R1
78
1112
15
SS
MVC
15
52
35 36
7 8
(Short Operands)
RR
43
SI
MVI
1112
25
RR
c==='_1_2____~_R_1~__R_2~
7 8
11 12
Bl
'2
~------~---7 8
15
1516
1920
31
SS
MVN
47
52
92
78
53
~_D_1_....L---_,L __ =r2~?,--D_lI_B__
2 1}[5J
-Ll
15
78
RX
29
1516
1920
3132
3536
SS
MVO
47
38
~_F__1__....L---L_1LL2~_B_l~1~J?~_Dl~I_B_2~1}[5J
.5C
7 8
RX
11 12
1516
1920
31
47
(I.ong Operands)
7 8
RR
11 12
1516
1920
31
47
(I.ong Operands)
c===,_2_C____~_R_l~__R_2~
78
RX
11 12
L
7 8
35 36
47
....l.--B_l ~?'-D~lI_B2--LJI}[5J
-'--JI
1516
1920
3132
35 36
47
54
47
NC
7 8
19 20
31
ill 2
15 16
31
19 20
SS
54
D4
15 16
31 32
RX
7C
11 12
19 20
~1____5_4____~_R_l_~,~__B_2~________D_2______~
15
(Short Operands)
7 8
15 16
53
D3
7 8
11 12
SS
MVZ
6C
MDR
15 16
D2
7 8
I.TER
11 12
__l_C__ _,[!2J
22
ME
19 20
SS
31
18
MD
15 16
~_F_C__~Ll_L5,~I_B_l~IJ~~_Dl~I_B_2~1}[5J
82
15
RX
15
SI
LPSW
I.TR
47
~I____4_C____~_R_l_r==x2~__B_2~________D_2______~
10
I.R
(Shorj' Operands)
~I_3_C_..L...---R1_C}2 ]
30
LPR
Page
RR
MER
Bl---'IL.....I~?'---D.l. . .I_B_2--&.I}[5J
I
_L----.-
1516
1920
31'32
.35 36
Appendix G
47
165
Page
NI
51
54
1_2____L-_B1~L-______D~1____~1
15 16
19 20
RR
54
7 8
11 12
54
7 8
11 12
15 16
19 20
SH
.s;S
54
78
1516
1920
3132
3536
51
47
54
RR
11 12
15
11 12
15 16
31
19 20
51
SIO
92
1~_9_C__~~~~~~~Bl~____~Dl____.J
o
SL
IS 16
7 B
1920
31
RX
28
54
78
11 12
1516
31
1920
RS
SLA
15
32
7 8
55
38
~__F2___~_L~1~_L2~_B~1~1~~~D~1~I_B~2~IJ~
7 8
11 12
15 16
1920
31 32
35 36
51
ROO
1112
8B
PACK
1920
RX
RX
11 12
1516
(Long Operands)
1920
7 8
511
(Long Operands)
Q __~R_l~I_R_;--J]
78
11 12
15
1920
31
I~
1112
1516
31
1920
59
89
31
45
1516
RS
7 8
SLR
1516
1920
31
28
78
SP
11 12
RR
31
RR
11'12
59
8D
45
31
RS
SLOL
~____L-_R~1-L__X~2~__B~2~_______D_2______~
7 8
1920
32
7 8
31
28
1516
~___8F__~~R~1~~~~~'B_2~______D_2__~
D1
1516
7 8
11 12
RS
SLOA
47
74
85
166
45
28
7 8
---7~8------1~5-16--1-9~20-----------3~1
78
SOR
31
48
16
SO
19 20
5F
15 16
RX
31
~_D_6___~__L__~B_1~1~~?L_D~d__
B2~1~~
OR
11 12
(Short Operands)
78
15
RX
RR
SER
~____L-_R1~~X_2__~B_2~~______D2______-Jl
01
45
3B
78
OC
(Short Operands)
31
14
RX
7B
_ _ _ _L -_ _ _
7 8
NR
Page
SE
1112
15
SS
36
~_F_B__~L~1~I__L2~_B_l~IJ~?~~Dl~I_B_2~IJ~
78
1112
1516
1920
3132
3536
47
Page
SPM
72
'RR
Page
49
(Shorf Operands)
70
04
78
SR
RX
STE
1112
15
7 8
28
RR
15 16
31
15
11 12
11 12
7 8
32
RS
1516
31
RS
STM
.0;--'--=]
78
11 12
1920
1516
7 8
31
33
RS
SRDA
su
7 8
1112
1516
1920
60
I~
8e
78
11 12
7 8
1516
31
1920
73
RR
11 12
R]
13]
RX
46
(Long Operands)
R1 0
RR
SWR
15
B2
11 12
15 16
19 20
31
46
(Lon!1 Operands)
2F
1920
1516
78
31
78
31
RX
TCH
11 12
15
95
SI
9F
50
7 8
11 12
15 16
19 20
55
RX
78
31
1516
1920
7 8
RX
11 12
15 16
19 20
93
78
31
49
(Long Operands)
TM
7 8
11 12
15 16
19 20
31
1516
1920
___D_]_~
31
ss
SI
91
60
31
SI
TIO
~_9_D__~~~~~~iJ
42
STD
OA
SW
80
15
72
7 8
72
11 12
....
0 - - - - - - - - 7.....8--1--'1-1:!
15
SI
46
R113J
6F
78
31
1920
RR
SVC
08
1516
(Short Operands)
78
I~
1112
RR
SUR
31
1920
59
88
11 12
3F
1516
RS
STC
46
(Short Operands)
7 8
31
RS
SRDL
ST
RX
31
11 12
7F
8E
SSM
31
1920
8A
SSK
40
78
SRL
31
19 20
RX
STH
1B
SRA
11 12
12
78
'--=r=a!=r
1516
31
1920
Appendix G
167
A22-6821-0
Page
55
TR
56
OC
B]
7 8
1516
B]
35 36
35 36
5S
UNPK
L]
78
B]
L2
11 12
3132
35 36
73
.51
WRD
84
RX
47
D]
B]
12
1516
78
1920
55
X
2
R]
57
78
11 12
D2
B2
1516
1920
31
0]
3132
B]
12
1~13]
35 36
31
RR
55
R]
]7
78
R2
15
11 12
SS
ZAP
47
0]
1920
1516
7 8
XR
1~~ I B2
1920
1516
55
36
L]
F8
31
B]
51
97
1920
1516
XI
47
38
F3
47
0]
3132
55
7 8
1920
1516
78
3132
55
07
0]
56
00
1920
55
TRT
Page
XC
7 8
B]
L2
11 12
1516
~~ D]
1920
3132
B2
IJ13]
35 36
47