THE IBM System/360
INSTRUCTION SET PRESENTED AS A PERIODIC SYSTEM
DECEMBER 2014 by Johan E. Mebius
The
IBM System/360 instruction set belongs to the simplest and clearest
processor instruction sets in past and present computers. This is
because of three main reasons: (A) there are only four addressing
modes; (B) there is no hardware stacking mechanism; (C) there is a
strong orthogonal aspect as regards the actual operation (arithmetical,
logical) on the one hand and the kinds of operands and addressing modes
on the other hand.
A knowledge of the System/360 architecture as defined in the IBM System/360 Principles of
Operation (WWW
link) is assumed in what follows.
(A)
the addressing modes are register-to-register (RR), register-to-storage
(RX and RS), instruction-to-storage (SI) and storage-to-storage (SS).
(B)
Stacking operations, necessary in the correct treatment of subroutines
and interrupt routines within subroutines and interrupt routines, have
to be implemented entirely in software.
(C) Machine operation codes
take one byte in storage. In many instructions the front half-byte
represents the addressing mode, while the rear half-byte represents the
specific operation to be performed, for instance, the four Compare Logical
operations, with opcodes X'15', X'55', X'95' and
X'D5', are in the
same column; all full-word RX operations, with X'5' as their
leftmost
half-bytes, are in the same row; on the intersection of column and row
we find the opcode X'55', mnemonic CL,
Compare
logical register and full word in main storage.
It
is foremost this orthogonal design, the separation of addressing modes
from functions performed, that gives the instruction set the looks of a
periodic system, very much like the periodic system of chemical
elements (my favourite WWW link - JEM).
In the first table below the opcodes are arranged in ascending order
row-wise; so
the rows are numbered by the front half-byte of the opcode, running
from 0− to F− , and the columns by the rear half-byte of the opcode,
running from −0 to −F. The grey
cells represent
invalid operation codes.
The second table is the first table transposed, so the opcodes are
ordered column-wise, in line with the IBM handbooks and reference cards.
The tables are based on the pocket
reference card on the System/360 and the supplementary card on the
Model 67, affectionately known as the Green Card (WWW
link) and Blue
Card (WWW
link), and for the Model 44 information on the Model 44 Functional
Characteristics handbook (WWW
link).
NOTES on the Model 44: (a) storage protection (controlled by the SSK
and ISK
instructions) is not standard but is an optional feature; (b) none of
the decimal and variable-field instructions (rows D− and F−
in
the first table below) are available.
tooltips:
roll the mouse cursor over the mnemonic to read the name of the
instruction in full
|