D24 1401 1_General_Information_Manual_IBM_1401_Feb60 1 General Information Manual IBM Feb60
D24-1401-1_General_Information_Manual_IBM_1401_Feb60 manual pdf -FilePursuit
D24-1401-1_General_Information_Manual_IBM_1401_Feb60 D24-1401-1_General_Information_Manual_IBM_1401_Feb60
User Manual: D24-1401-1_General_Information_Manual_IBM_1401_Feb60
Open the PDF directly: View PDF
.
Page Count: 64
| Download | |
| Open PDF In Browser | View PDF |
Jrrn~
®
General Information Manual
1401 Data Processing System
MINOR REVISION (February, 1960)
This edition D24-1401-1 is a minor revision of the preceding
edition but does not obsolete D24-1401-0. The principal
changes in this edition are:
PAGE
20
23,24
28
30
32
35
41
42
43
51
55
57
58,59
60
62
SUBJECT
Input-Output Storage Assignments
Input-Output Branch Codes
B (I) Unconditional Branch, Figure 24
Z (A) (B) Move and Zero Suppress
• (I) Stop and Branch
Figure 30 Cycles 1 through 8
Auxiliary Console
Figure 37
Printer Controls
A and B Auxiliary Registers
Figures 54 and 55 MUltiply Subroutine
Figure 57 Divide-Subroutine
Character Code Chart
1401 Timing Formulas
Magnetic Tape Timings
© 1959 by International Business Machines Corporation
Contents
INTRODUCTION
5
IBM 1401 DATA PROCESSING SYSTEM
5
THE PHILOSOPHY OF THE IBM 1401
6
The Stored Program Concept
Magnetic-Core Storage
Magnetic-Tape Storage
Language ..
Processing
Solid State Circuitry
Advanced Design
6
7
8
8
9
9
10
IBM 1401 CARD SYSTEM
11
Physical Features
Data Flow
Checking
Word Mark
12
16
18
18
STORED PROGRAM INSTRUCTIONS
Instruction Format
ADDRESSING
Input-Output Storage Assignments
Address Registers
Chaining Instructions
Loading Instructions
INPUT-OUTPUT OPERATIONS
Input-Output Codes
ARITHMETIC OPERATIONS
Arithmetic Operation Codes
19
19
LOGIC OPERATIONS ..
Logic Operation Codes
Move and Load Codes
Miscellaneous Operation Codes
EDITING
Expanded Print Edit
OPERATING FEATURES
Console Keys, Lights, and Switches
Auxiliary Console
IBM 1402 Card Read-Punch Operating Keys
and Lights
. . . . . ..
IBM 1403 Pri~ter Operating Keys, Lights
IBM 1401 MAGNETIC TAPE SYSTEMS
28
28
29
31
33
36 -----~
38
38
40
42
42
44
Data Flow
Magnetic Tape
46
46
T~eSillti~
50
51
Console Keys, Lights, and Switches
COLUMN BINARY DEVICE (Optional)
52
20
PROGRAM LOADING ROUTINE
54
20
21
21
22
CLEAR ROUTINE
55
MUL TIPLICA TION AND DIVISION SUBROUTINES
55
23
23
25
25
Multiplication
Division
IBM 1401 TIMINGS
Card Systems
Magnetic Tape
INDEX
55
56
60
60
62
63
FIGURE
1.
IBM
1401
DATA PROCESSING SYSTEM
IBM 1401 Data Processing System
Significant characteristics in the growth of data processing are the transitions from manual to mechanical, and
from mechanical to electronic methods.
Tremendous advantages accrue to business when
manual or semi-manual procedures are converted to
mechanical procedures. The curve of efficiency rises
sharply while the curve of cost declines in such a
changeover. Furthermore, important gains are realized
in quantity and accessibility of significant data when
unit-record equipment and the punched card replace
manual and semi-automatic methods.
As the volume of data to be processed increases, as
the decision-making process is refined to the point
where it requires more and more information, as the
time available for decision-making becomes shorter,
unit-record equipment continues to offer economies and
advantages, but not at the same rate of improvement
in time-saving and dollar-saving.
The next available step in the mechanization process
takes the businessman into intermediate and large-scale
data processing. Each time this step from unit-record
data processing to data processing systems is taken, it
must be preceded by a carefully planned program.
The IBM 1401 Data Processing System was specifically designed and planned in various configurations
to make this transition. Punched-card input is at much
higher rates of speed than those used in unit-record
equipment, and yet the processes in punched-card input
are very similar to the unit-record equipment. The same
appJies to punched-card and printed output. The speeds
are greater, the concepts are similar.
The processing unit of the IBM 1401 is built with a
degree of accessibility and utility that makes it the
equivalent of storage units of greater capacity.
The IBM 1401 is further enhanced by configurations
that include tape systems, and the advantages of magnetic-tape data-handling.
5
The Philosophy of IBM 1401
The IBM 1401 can be considered in two major configurations: the card systems, and the tape systems.
Card systems configurations are planned fOor procedures involving large volumes of card documents as
source data and output, with particular advantage to
applications requiring re-entry data.
Tape system configurations JProvide for the handling
of magnetic tape, which has the advantages of compact
record handling and storage medium for high-speed
data processing systems.
In data processing systems, the program is more
complex. It controls the entire flow of data in and out
of various processing units. If, for instance, original
data is punched into cards, the program would control
the reading of this data, its transport to various proc-
The Stored Program Concept
The philosophy of data processing systems is self-controlled performance of procedures, carried to various
degrees. Any such self-controlled performance involves
simply a series of actions or movements, each depending on another, and requiring no operator intervention
in the completion of the series. The series may be very
short, or very long. The series may be completely sequential, or the next action to be taken may be chosen
by the last action completed.
An automatic record player is a good example of a
series of actions, each one depending on the one immediately preceding it. When records are loaded on the
spindle and the record player turned on, the record
plays, the arm returns to a neutral position, the next
record in sequence drops into place, the playing arm returns to the starting position on the new record, the
record plays, and so on until all the records have been
played once, without any need for intervention or assistance by anyone. This series of actions is called a program (Figure 2).
6
Test Record
File for More
Records
FIGURE
2.
SCHEMATIC OF A PROGRAM
essing areas for addition, subtraction, multiplication,
division, modification, classification, recording, and any
other kind of action to which data can be subjected. ,"
A data processing system is a group of various mechanical and electronic components, interconnected. A
system of this kind must be able to handle and complete
such a program. The concept of stored programming
provides this flexibility and efficiency.
In punched-card data processing, the wires in the
control panel actually comprise the program of instructions. The requirements of the procedure are studied
carefully, and then the proper wires are placed in the
control panel. The entire program can be changed by
removing one control panel and replacing it with another for a different procedure. The limiting factors in
the extent of the program that unit-re~ord equipment
can handle is the number of program steps that can be
provided within the physical confines of the control
panel, and the number of control panels that can be
conveniently utilized.
Stored-program data processing systems use a similar, but much more flexible, concept. All the instructions
needed to complete a procedure are written in the form
of program steps. These program steps are made available to the machine by various methods, the most common of which is punched cards. The data processing
system stores these program steps in some kind of
storage medium.
Thus, when a procedure is to begin, the stored program is loaded into the system (Figure 3), and the
entire procedure can be performed from beginning to
end. The IBM 1401 Data Processing Systems make use
of three kinds of storage: magnetic-core storage, magnetic-tape storage, and the already familiar punchedcard storage.
Magnetic-Core Storage
All configurations of the 1401 Data Processing System
use magnetic-core storage for storing instructions and
data.
The magnetic-core storage unit is composed of a
number of tiny rings made of magnetic material. Several electric wires are passed through each of these
rings, and each ring is magnetized.
Every magnetic field has polarity. This can be demonstrated by the common phenomenon of two horseshoe-shaped magnets, which attract each other firmly
when turned one way, and repel each other just as
firmly when turned the other way. Similarly magnetic
cores possess a magnetic field, and its polarity can be
reversed by passing a current through the wires.
These phenomena-magnetism, reverse magnetism,
and the change from one to the other (Figure 4) --are
used by the magnetic-core storage units to store information.
No Bit
FIGURE
Storage
Stored Program
FIGURE
3.
STORED PROGRAM
4.
Bit Reversed
MAGNETIC CORE
A core magnetized in one direction contains a bit of
information which has a value of 1; when the polarity is
reversed, the value of the bit is zero. (This condition is
referred to as no-bit.) Furthermore, all data in core
storage is instantly available, and in the IBM 1401, the
core-storage units have been specifically designed for
high utility by making each location of core storage
addressable. This means that a program step can designate the exact cores needed for that step.
7
Location of Letter
1/
A"
~
I
FIGURE
5.
Data can be read from a variety of sources, and put
on the tape. The magnetic spots representing the information that has now been stored on the tape remain
until they are changed by positive action.
This means that, in addition to being us{~d as data
storage, this data itself can be part of input and output.
This makes magnetic tape an ideal storage medium
for a large volume of data, because there is no limit to
the amount of information that can be kept permanently. The reels of tape are removable from the system, and can be filed (Figure 6). They can also be
transported from place to place, and used in other
systems.
REPRESENTATION OF LETTER "A" IN CORE
STORAGE
Each location of core storage consists of a number of
planes or levels of magnetic cores. Various combinations of bits designate digits, letters, and special characters (Figure 5).
Notice that the planes are stacked, and the cores
representing a single character (in this case the letter
"A") are all at the intersection of the same two wires
in each plane.
The physical makeup of each core storage location
and its associated circuitry makes it possible for the
IBM 1401 to modify instructions and process data directly in the storage area. (This is called add-to-storage
logic. )
The design, construction, and circuitry of the corestorage unit in the IBM 1401 make it possible for this
compact but extremely powerful storage unit to do as
much or more than storage units of greater size.
FIGURE
6.
REEL OF MAGNETIC TAPE
Data stored on the magnetic tape is read sequentially.
The data proce'lsing system can search the tape to find
the data to be used. Progra r ;! steps can be stored on
magnetic tapes, and tnis mef
of storing is a common
one for collecting a library l.. Hie of procedures.
Another great ad\l~ntage of magnetic-tape storage is
that a reel of tapc that has been produced as an output
of a procedure can be removed from the data processing system, and reports written with an independent
unit, while the data processing system proceeds with
the next program to be perf?rmed.
Magnetic .. Tape Storage
Language
Magnetic tapes are made of plastic material, coated with
a metallic oxide. It has the property of being easily
magnetized in tiny spots, so that patterns of these
magnetized spots are codes for digits, alphabetic characters, and special characters.
8
In the punched-card area of data processing, the language of the machine is the holes in the card. As data
processing needs increase, the basic card language remains the hole in the card. But in the transition from
unit record systems to the 1401 Data Processing Systems, and from there into computer systems, another
faster, more flexible machine language emerges.
Just as each digit, letter in the alphabet, or special
character is coded into the card as a punched hole or a
combination of punched holes, it is coded into magnetic
storage as patterns of magnetized spots.
Obviously, many different code patterns can be set
up. The internal code used in the IBM 1401 Data Processing System is called binary-coded-decimal. All data
and instructions are translated into this code as they are
stored. No matter how information is introduced into
the system (most commonly by means of punched
cards), the binary-coded-decimal code is used in all
data flow and processing from that point on, until it is
translated into printed output as reports and documents
are written, or converted to punched-card code for
punched-card output. Converting input data to the 1401
internal code, and subsequently reconverting, is completely automatic.
Processing
The manipulation that data undergo in order to achicve
desired results is called processing, and the part of the
1401 systems that houses these operations is called
processing unit.
Processing can be divided into three general categories: logic, arithmetic, and editing.
Logic
The logic function of any kind of data processing system is comprised of its ability to execute program steps;
but even more, its ability to evaluate conditions and
select alternative program steps on the basis of those
conditions.
In unit record equipment, an example of this logic
is selector-controlled operations based on an X or
No X, or based on a positive or negative value, or
perhaps based on a comparison of I:;ontrol numbers in
a given card field.
Similarly, the logic functions of the 1401 system
control comparisons, branching (alternative decisions
similar in concept to selector-controlled procedures ) ,
move and load operations (transfer of data or instructions), and the general ability to perform a complicated
set of program steps with all variations.
Arithmetic
The 1401 processing unit has the capacity to perform
add, subtract, multiply, and divide operations. Multipli-
cation and division can be accomplished in any 1401
system, by programmed sub-routines. When the extent
of the calculations might otherwise limit the operation,
a direct multiply-divide feature is available.
Editing
As the term implies, editing adds significance to output
data by punctuating and inserting special characters and
symbols. The IBM 1401 has a unique ability to perform
this function, automatically, with very simple program
instructions.
Checking
Advanced circuit design with extremely reliable components is built into the 1401 system to provide assurance of accurate results. Self-checking within the machine is separated into three categories: parity, validity,
and hole count.
PARITY CHECKING. Achieved by testing for the proper
number of I-bits for any given character, known
as parity for that character.
VALIDITY CHECKING. Checking for the correct configuration of bits to represent each character in
storage.
HOLE COUNT. Counting the number of holes punched
in a card, to establish that it is equal to the number of holes called for in the same card at a
previous station.
Solid State Circuitry
Transistorization of 1401 components is another significant design characteristic. In addition to providing a
lower cost system, use of transistors increases reliability,
while decreasing maintenance requirements. Other advantages are carefully controlled;
space requirements
heat dissipation
power requirements
The physical arrangement of the system components
offers a less tangible, but equally important benefit, in
greater operating efficiency, in that the components requiring operator attention can be situated for accessibility and convenience. The controls and arithmetic
components are consolidated into a single set of modular cabinets.
rhus far, only the most obvious advantages offered
by the 1401 have been given. As the system components and features are described in greater detail, further advantages become evident. The power and econ9
omy of the 1401 is not derived from any single characteristic or component, but from the many considerations that led to the design of a balanced system in
which every component can operate at its optimum
rate.
Advanced Design
Advanced systems design of the IBM 1401 permits use
of the machine as a complete, independent, accounting
10
system. It can also perform low-cost, direct input and
output, and auxiliary tape-operations for large scale
data processing systems.
The entire system is operated by the stored. program.
Time saving features, such as the powerful editing function, and the elimination of control panels, provide increased flexibility for application development. The
capacity to use magnetic-tape data means economy in
recording, transporting, and storing large volumes of
information in compact form.
IBM 1401 Card System
The IBM 1401 Card Systems are completely transistorized, and utilize the modem technique of stored-program
control.
This system can perform all basic functions (such as:
read-a-card, print-a-line, compare, add, subtract, edit),
and variations of these functions.
The IBM 1401 incorporates an advanced design of
many outstanding features of existing equipment, for
improved programming and operating efficiency.
Instant access to information, and application of stored programming. Every position
CORE STORAGE.
Component
Permits a maximum utilization of the storage facility.
VARIABLE WORD-LENGTH.
HIGH SPEED PRINTING.
Model Al-A2-A3
Modlell
Modell or 2
Not Available
A medium of output efficiency.
Simplified inputoutput facilities and easy integration of the 1401
into existing accounting machine procedures.
HIGH SPEED READING AND PUNCHING.
Completeness in preparing output information
for printing, or with magnetic tape operations.
EDITING.
Card System
IBM 1401 Processing Unit
IBM 1402 Card Read Punch
IBM 1403 Printer
IBM 729 Magnetic Tape Unit
IBM J 401
is alphanumerical, and individually addressable.
Model Bl-B2-B3
Modell
Modell or 2
N ot Available
Magnetic Tape System
Model Cl-C2-C3
Modell
Model 2
Model II or IV
Model Dl-D2-D3
N ot Available
Model 2
Model II or IV
II
PROCESSING UNIT SPECIAL FEATURES
*Expanded Print Edit
*Additional Print Control
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Standard
Standard
Standard
,Standard
Standard
Not Available
Standard
Standard
Multiply-Divide
Print Storage
Column Binary
High-Low-Equal Compare
Not Available
Not Available
Not Available
Not Available
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Not Available
Optional
Not Available
Optional
*Read Punch Release
*Sense Switches
*Can be field installed
NOTES:
1403 Modell has 100 print positions.
1403 Model 2 has 132 print positions, also requires the Additional Print Control optional feature.
1401 Processing Unit Models Al-Bl-CI-Dl have 1400 storage positions.
1401 Processing Unit Models A2-B2-C2-D2 have 2000 storage positions.
1401 Processing Unit Models A3-B3-C3-D3 have 4000 storage positions.
Dual Speed Carriage is a standard feature for the 1401 DPS, Models B, C, and D. It is not available on Model A.
All Model A's provide a low cost card system-only certain special features (as indicated above) may be installed.
All Model B's provide the expanded card version-all special features except magnetic tape may be included.
All Model C's provide the full magnetic tape system with certain features standard and others optional.
All Model D's provide an edit system without card I/O-it should be noted that some options available on Model
C are not available on Model D.
FIGURE
7.
IBM
1401
DATA PROCESSING SYSTEM COMPONENTS
11
Physical Features
IBM 1401 Processing Unit
The physical features of the units that make up the card
system are compact and of modern design. All units
are mobile for convenient and efficient arrangement for
operating.
The processing unit is the only unit that is changed
in physical size when the different systems configurations (Figure 7) are required.
The 1401 Data Processing System in its card configurations is composed of three interrelated units:
1. IBM 1401 Processing unit, containing 1400 characters of alphanumerical core storage (expandable
to 2000 or 4000 positions)
2. IBM 1402 Card Read-Punch, equipped with an 800card-per-minute read feed and a 250-card-perminute punch feed
3. IBM 1403 Printer, capable of printing up to 600
lines per minute, with a print span of 100 positions
of alphanumerical data per line (expandable to 132
print positions).
FIGURE
l2
8.
IBM
1401
PROCESSING UNIT
(2 CUBE
&
4
The processing unit (Figure 8) contains the magneticcore storage unit to perform all the machine logic.
The storage capacity is 1400, 2000, or 4000 alphanumerical characters of 8-bit core storage. The eight
bits consist of six bits for alphanumerical binary code,
a redundant bit for checking, and an eighth bit for field
definition.
Three areas of storage are reserved for input and
output data. In the first, 80 storage positions receive
80 columns of card information from the card reader.
Another 80 positions are reserved for assembly of data
to be punched. The third area is reserved for the assemblyof 100 (or 132) characters of printer information. However, when these areas are not being used as
specified, they can be used for other purposes.
(N aTE: If 132-character printing is ordered, the Additional Print Control feature is required in the 1401.)
CUBE)
CODED ADDRESSES
Actual Addresses
000
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
to
to
to
to
to
to
to
to
to
to
to
999
1099
1199
1299
1399
1499
1599
1699
1799
1899
1999
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
to
to
to
to
to
to
to
to
to
to
2099
2199
2299
2399
2499
2599
2699
2799
2899
2999
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
to
to
to
to
to
to
to
to
to
to
3099
3199
3299
3399
3499
3599
3699
3799
3899
3999
>:<
IN
STORAGE
3-Character Addresses
No zone bits
000 to 999
~ +00 to +99
A-bit,
using O-zone
B-bit,
using II-zone
A-B-bit,
using 12-zone
/00
SOO
TOO
UOO
VOO
WOO
XOO
YOO
_ ZOO
to
to
to
to
to
to
to
to
to
/99
S99
T99
U99
V99
W99
X99
Y99
Z99
000
100
KOO
LOO
MOO
NOO
*000
POO
QOO
ROO
.+
000
AOO
BOO
COO
DOO
EOO
FOO
GOO
HOO
100
to
to
to
to
to
to
to
to
to
to
099
199
K99
L99
M99
N99
099
P99
Q99
R99
+
099
A99
B99
C99
D99
E99
F99
G99
H99
199
to
to
to
to
to
to
to
to
to
to
Letter 0 followed by Zero Zero
FIGURE 9.
STORAGE ADDRESS CODES
Each of the storage positions is identified by a 3character address. The first 1000 positions of storage
have' the addresses 000-999. The remaining 3000 storage positions require the use of an alphabetic or special character in the hundreds position of the address,
as in Figure 9.
The 1401 Processing Unit stores the program instructions and the data. It employs a variable word-length
concept, and each position is addressable.
Stored programming involves the concept of words.
A word is a single character, or group of characters,
that represents a complete unit of information. One of
the most important characteristics of the IBM 1401
Data Processing System is this variable word-length
principle, in which words are not limited to any predetermined number of character positions in the storage
unit.
Each word occupies only that number of character
positions actually needed for each specific instruction,
or for the specific data involved. This facility contributes to the high efficiency of the 1401 core··storage
unit.
FIGURE 10.
IBM
1402 CARD READ-PUNCH
IBM 1402 Card-Read Punch
The IBM 1402 Card Read-Punch (Figure 10) provides
the card system with simultaneous punched-card input
and output. This unit has two card feeds. The read
section has a rated reading speed of 800 cards per
minute. Actual card speed realized is governed by the
program routine for each particular run. The read feed
is equipped with a device for large capacity loading,
called a file feed. With the file feed device, the read
feed can be loaded with as many as 3000 cards, which
reduces operator-attendance requirements.
The cards feed through the read side of the machine
9-edge first, face down. The feed path is from right to
left, passing two sets of brushes. The first reading
station reads 80 columns of the card to establish a holecount for checking purposes. The second reading station also reads the 80 columns, proves the hole count,
13
and directs the data into storage. At the end of the card
transport path, three stackers are available to receive
the cards. The normal read stacker is the stacker closest
to read hopper and is used unless the cards are program-directed to stackers 1 or 2.
The punch section has a rated speed of 250 cards
per minute. The card hopper capacity is 1200 cards.
The cards feed 12-edge first, face down. The feed path
is left to right, passing a blank station, a punching station, and a reading station. The punching station consists of 80 punches for recording information. The
punch-reading station counts all the holes in all 80 columns of the card, for punch-checking. At the end of the
card transport path on the punch side, three stackers
are available to receive the cards. The normal punch
stacker is used unless the cards are program-directed to
stacker 4 or 8 (Figure 11).
IBM 1403 Printer
The printer (Figure 13) is another output medium for
the 1401 DPS Card System. This unit has a rated printing speed of 600 lines per minute. The standard printing
capacity is 100 positions, with an additional 32 positions optional.
Horizontal spacing is 10 characters to the inch. Vertical spacing of six or eight lines to the inch can be
manually selected by the operator. In the 1401 Card
System, Model A, vertical line spacing is performed by
single-speed, tape-controlled carriage directed from the
1401 stored program. In Models B, C, and D a dualspeed tape-controlled carriage is standard. This carriage
skips at the rate of 75 inches per second after the first
eight lines of any skip. The single-speed carriage has a
constant speed of 33 inches per second while skipping.
Punches
G~~;"
1~
Check
~
I
Blank
Station
Read and
Select
Stacker
Select
Stacker
C21k~
NormaIUUUUU=
Punch
Read
4
8/2
Np
FIGURE
11.
IBM
1402
CARD TRANSPORT SCHEMATIC
All these stackers are radial-type stackers (Figure
12) with a capacity of 1000 cards each. Cards can be
removed from the stackers without stopping the machine. Two stackers are assigned exclusively to the
reader and two are assigned exclusively to the punch.
The center or common stacker (8/2 stacker) can be
used by either unit, but it must be assigned by the program to one or the other, in anyone run. All stackers
other than the normal stackers are selected only. under
program control.
Both feeds are equipped with jam detection devices
and with misfeeding detection. A card jam or a misfeed
in either the read or punch feed causes the 1401 DPS to
stop, and a console light glows, indicating which feed
caused the stop.
There is no electrical or mechanical coupling between
the read and punch units. Therefore, any information
from the read side must be entered into storage and
read out of storage to. the punch unit, for operations
equivalent to reproducing or gang punching.
14
FIGURE
12.
RADIAL STACKERS
Each position can print 48 different characters: 26
alphabetic; 10 numerical; and 12 special characters,
(& , . }:! - $ * + / % # @). In tape systems, the
"+" character is replaced by a record-mark character
(:1:). The printing format is controlled by the 1401
DPS stored program. The information to be printed is
checked when it is read out to the printer.
FIGURE
13.
IBM
1403
Print Storage (Optional)
This optional feature provides 100 or .!~~.!lOn-addres.s
able extra positions of core storage. They are used III
conjunction with printer output. These extra positions
of core storage increase processing speed in applications
where printing volume is high.
The data to be printed is moved by the PRINT instruction from the area in core storage assigned to the
PRINTER
15
Type Array
1401
Processing
IS
ill
~~
Hammer
~
e
1
Armature
Hammer
Magnet
1403
Printer
Printed
Output
FIGURE
14.
SCHEMATIC OF PRINTING MECHANISM
FIGURE
printer to the optional Print Storage area. The time req uired for the transfer of data is 1.15 milliseconds for a
100-character print span; 1.52 milliseconds for a 132characte~ print span. On completion of this transfer of
data, normal program execution is resumed while the
print storage area sets up the print mechanism. During
this setup, other operations can be performed in the
normal manner. Only one instruction that involves the
printer can be executed at anyone time.
Method of Printing
The alphabetic, numerical, and special characters are
assembled in a chain (Figure 14). As the chain travels
in a horizontal plane, each character is printed as it is
positioned opposite a magnet.-driven hammer which
presses the form against the chain (Figure 14).
16
15.
GENERAL DATA FLOW SCHEMA TIC
Before a character is printed, it is checked against
the corresponding position in the print area of core
storage to insure the accuracy of printed output.
Data Flow
The IBM 1402 Card Read Punch and the IBM 1403
Printer are input and output units for the IBM 1401
Card System. All data passes through the 1401 Processing Unit, where arithmetic and logical functions are
performed (Figure 15).
Each operation code is analyzed in the operation
register. The A and B Registers contain the data characters at the storage location shown by the A and B
Address Registers. The I Address Register contains the
instruction address (Figure 16).
r
.JI
"-
l
J~
-
'of
l
Reader
Punch
'f
I
I
Printer
J
H
..--~,
Core
Storage
.....,
~
co
~
--,
.~
01
Q)
0::
<
~
,~
01
Q)
0::
,
Logic
Add, Subtract
Edit, Compare
~
-
~~
J1~
,
,
-I
""'
.--'-----I
~
....,
os::: ...
'';:
~
Q)
Storage
Address
~
'5,
Q)
8'0::
,r
t
"
1
1
1
I-Address
Register
A-Address
Register
B.Address
Register
}
FIGURE
16.
IBM
1401
I
'"'"-
f
CARD SYSTEM DETAIL DATA FLOW SCHEMATIC
17
Checking
The IBM 1401 Data Processing System contains many
important design factors to insure maximum efficiency
and reliability.
The self-checking features built into the 1401 are designed to insure a high degree of error detection. Each
data character is represented by an alphanumerical binary code consisting of 6 bits, plus 1 bit for an oddparity check, and 1 bit for field definition.~
<
Parity Check
The odd-number bit configuration is used for the parity
check. The proper number of bits for any given character is known as parity for that character. Word marks
are included in the odd-number bit configuration on a
parity check when they appear with a character.
When information is moved within the system, a
parity check is performed to test the presence of an oddnumber of bits for each character being moved.
Validity Check
A validity check is performed on all information when
it is read into storage from the card reader, to insure
that all characters are valid. A validity check is also
made on data in the op code register and address registers. If any invalid characters are detected, the machine stops and the associated c:heck light comes on.
Hole Count Check
The Hole Count feature compares the total number of
punches read in a card column at the first reading station, with the tDtal number of punches in the same card
column at the second reading station. The Hole Count
feature is also effective with the punch side to CDmpare
the total number of holes set up for punching in a column, with the number Df holes punched in the card
18
column. If in either case, the result of the Hole Count
comparison is unequal, the system stops, and check
lights indicate the unit involved. If storage is scanned,
the scanning process stops at the position corresponding
to' the card column in error.
Word Mark
The use of the variable length instruction and data format, requires a method of determining the instruction
and data-word length. This identification is provided by
a word mark.~
The word mark serves several functions:
1. indicates the beginning of an instruction -2. defines the size of a data word ~
3. signals the end of execution of an instruction. ~
The rules governing the use of word marks are:1. Predetermined locations for word marks are assigned in planning the program...- These predetermined word marks are normally expected to remain
in these locations throughout the complete program.
The word marks are set into storage location by a
loading routine.-'
2. Word marks are not moved with data during processing, except when a load instruction (see Move
and Load) is used.v
3. For an arithmetic operation, the B field must have
a defining wDrd mark; and the A field must have a
word mark only when it is shorter than the B field.
4. A load instruction moves the word mark and data
from the A field to' the B field, and clears any other
word marks in the designated B field, up to the
length of the A field.
5. When moving data from one location to another,
only one of the fields need have a defining word
mark, because the MOVE instruction implies that
both fields are the same lengtb
6. A word mark must be associated with the highorder character (Operation Code) of every instruction.
Two Dperation codes are provided for setting and
clearing word marks during program execution.
Stored Program Instructions
All arithmetic and logical functions are performed by
the instructions retained in storage. One form of an instruction consists of an operation code followed by two
3-character addresses. The 2-address instruction is required to move data from one location to another, to
perform the arithmetic operations of addition or subtraction, to compare two fields, or to edit.
Because the 1401 system uses a variable word-length
concept, the length of an instruction can vary from one
to eight characters.
Instruction Format
OP (A/I) (B) d
x xxx xxx x
OP is a I-character operation code, which defines the
basic instruction. A word mark is associated with
the Op Code position. (This word mark is set
under program control or by loading routines.)
(A/I) is a 3-character storage address. A is the location of a data word. I is the address of the next
instruction to be executed.
(B) is a 3-character storage address of a data word.
Instruction Example
OP (A) (B)
A 072 423
This is an add instruction. The operation code A,
causes the field whose units position is in storage location 072 to be added to the field whose units position
is in location 423. This operation continues until a
word mark for the high-order position of field B,
(which must have a defining word mark) is sensed. The
word mark stops the operation being performed and
causes the program to advance to the next instruction.
If field A is shorter than field B, it must also have a
defining word mark.
As stated before, not all instructions have the /2address form. Others consist of only one address, or no
address. This concept results in what is known as variable-length instructions.
Examples of the six combinations possible in variablelength instructions are:
Number of
Positions
1
2
4
READ
OP
1
ST ACKER SELECT
OP d
K 2
BRANCH
OP (I)
B 400
UNCONDITIONAL
d
is a I-character modifier to the operation code.
It can be an alphabetic, numerical or special
character. It is positioned as the last character of
the instruction and can be used in any instruction
length.
Underlining q.ny position of an instruction
or data word indicates that a word mark is associated with that position.
Instruction
Format
Operation
-
-
-
5
BRANCH UNEQUAL
OP ([) d
B 625 /
7
ADD
OP (A) (B)
A 072 423
TEST CHARACTER
OP (I) (B) d
B 650 080 4
NOTE:
8
AND BRANCH
-
-
,
19
Addressing
The 1401 processes data by following a series of stored
instructions. The storage unit stores both the instructions and the data. Each position in storage can be
addressed. The high-order positiion of a field in storage
is identified by an associated word mark.
An instruction in core storage is addressed by the location of its high-order position. The machine reads the
instruction from left to right until it senses the word
mark associated with the next instruction. The final instruction in the program must have a word mark set at
the right of the low-order position.
The high-order character is the operation code, with
an associated word mark which is set by the program
when the instruction cards are loaded. In contrast to
this, a data word is read from right to left until a word
mark is sensed with its own high-order position. In
addressing a data word, we specify its units position.
FIGURE
20
17.
STORAGE LAYOUT
Input-Output Storage Assignments
Certain areas of storage are reserved for the use of the
input-output devices. The assignments are such that a
correlation is achieved between input-output columns
and/or print positions. The storage location assignments
are:
card input 001 through 080
card output 101 through 180
print output 201 through 300 (or 332, as needed).
Storage locations 081 through 099 and 181 through
200 can store other data used for normal processing.
Storage locations 000 and 100 are also available for
normal use except during a read or punch operation
(Figure 17).
Instruction
Address Registers
Three address registers are incorporated in the IBM
1401 Processing Unit. Two address registers control the
transfer of data from one storage location to another;
the other, controls the program location sequence.
1. The A address register contains the storage location
of the data in the (A) portion of an instruction.
The number in this register is decreased by 1 after
the execution of the storage cycle that involves tlls
(A) address.
2. The B address register contains the storage location
of the data in the (B) portion of an instruction.
The number in this register is decreased by 1 after
the execution of the storage cycle that involves the
(B) address.
3. The location of the next instruction character to be
used by the stored program is contained in the I
(Instruction) Address Register.
Figure 18 is a detailed schematic for the loading of
a 7-character instruction in the operation code register,
in the A and B registers, and in the A and B address
registers. Eight storage cyc1es are required to load this
complete instruction in the registers. Each storage cycle
takes .0115 milliseconds.
Location
B Register
I Register
1011 19171
B Register
1011 \9\81
OP Register
o
2
3
4
5
6
7
8
GJ
Cycle 2
A Address Register
0
1
B Address Register
!Sf? P 1
10\119191
GJ
GJ
OP Register
A Address Register
B Register
I Register
I
A Register
A Register
B Address Regi ster
A Register
101 21 0101
OP Register
Cycle 4
A Address Register
B Register
B Address Reg is ter
A Register
I~J
OP Register
A Address Register
B Register
I Register
10
Cycle 5
B Address Register
A Register
121 121
0
OP Register
Cycle 6
A Address Register
B Register
I Register
B Address Register
A Register
Cycle 7
OP Register
A Address Register
B Register
B Address Register
A Register
10 1 2 1 014 1
OP Register
In some programs, it becomes possible to perform a
series of operations on several fields that are in sequence in storage. Some of the basic operations, such
as add, subtract, move, and load, have the ability to be
chained so that less time is required to perform the op-
I? Pi? I?
B Register
I Register
Chaining Instructions
B Address Register
I Register
Operation
Enter OP Register
Enter thousands and hundreds position of A address register; also A register.
Enter tens position of A address register; also
A register.
Enter units position of A address register; also
A register.
Enter thousands and hundreds position of B address register, as well as the A register.
Tens position of B address register, and the A
register.
Units position of B address register, and the A
register.
Next op code enters B register only.
Cycle 1
1?1?1?111
I Register
Cycle
GJ
A Address Register
I Register
A Register
FIGURE
18.
Cycle 8
A Address Register
B Address Regi ster
SCHEMA TIC OF LOADING A
7 -CHARACTER
INSTRUCTION
21
erations, and space is saved in storing instructions. Here
is an example of the chaining technique: Assume that
four 5-position fields stored in sequence are to be added
to four other sequential fields. This operation could be
done using four 7-character instructions:
A
A
A
A
700
695
690
685
850
845
840
835
At the completion of the first instruction, the A address register contains 695 and the B address register
contains 845. These are the same numbers that are in
the (A) and (B) addresses in the second instruction.
Eighty 'storage cycles would be required to execute
these instructions, thus using up . 920 ms. Also, 28 storage positions are required to store these instructions.
By taking advantage of the fact that the A and B
address registers contain the necessary information to
perform the next instruction, this same sequence of
operations can be executed as follows:
b
Example:
A
900 850
M
A
M
For example; assume that the data fields are each ten
characters long:
The ten characters at location 900 were added to
850.
The ten characters at location 890 were moved to
840.
The ten characters at location 880 were added to
830.
The ten characters at location 870 were moved to
820.
As operation codes are individually explained, instructions that can be chained are so indicated.
700 850
A
A
A
Connecting instructions together in this manner is
called chaining. The first add instruction contains both
the (A) and the (B) addresses. The following three
instructions contain only the operation code for those
instructions. The (A) and the (B) addresses are the
results left in the A and B address registers from the
previous instruction. This type of operation requires
62 storage cycles, and takes .713 milliseconds to execute. Only ten storage positions are required to store
these chained instructions.
The ability to chain a series of instructions is not dependent on the use of the same operation code. Chained
22
instructions may have various Op codes. The requirement is that the (A) fields to be operated on must be
in sequence, and the (B) fields must be in sequence.
Loading Instructions
Before the 1401 can start processing, program instructions must be put into the system. This is accomplished
by means of a loading routine, one of which is included
in another section of this manual.
Instructions are placed in the machine by the use of
load cards. Several different types of load cards condition the 1401 to accept information for processing.
They cause word marks to be set at specific storage
locations, and load a series of instructions which allow
the cards containing the actual program instructions to
be stored in their correct locations.
Input-Output Operations
Input-output operation codes coltltrol reading and
punching data cards, and printing reports. Branching
instructions are provided to transfer the program automatically at the completion of a function. More than
one function can be initiated by a single instruction.
When the system is equipped with the Print
Storage optional feature, the program can continue
as soon as the data is received in print storage.
Thus the interlock time is greatly reduced ..
2(1)
Same as the PRINT instruction, except that the
location of the next instruction is at location (I).
The position immediately following this instruction
must contain a character with a word mark or a
blank character with or without a word mark.
Input-Output Codes
1
READ
20
READ AND BRANCH
Same as the READ instruction, except that when
the (I) address follows the READ operation code,
the next instruction is taken from the (I) address
instead of from the next instruction location in
sequence. This produces a branch in the program
after the card has been read from the 1402 cardread unit. The position immediately following this
instruction must contain a character with a word
mark or a blank character with or without a word
mark.
2
2 (I)
tr
PRINT WORD MARKS AND BRANCH
Same as PRINT WORD MARKS (2 I:I ) instruction,
except that the location of the next instruction is
at address (I).
3
PRINT AND READ
This instruction combines the operations of READ
( 1) and PRINT (2). The printer is given priority
and operates first. However, a signal to start the
card read unit can be given before the end of the
print operation. Thus actual reading from the card
may start shortly after completion of the print
operation.
When the system is equipped with the Print
Storage optional feature, the program can continue
as soon as the data is received in print storage.
PRINT
This instruction causes the program to stop, and
the data in the print area of storage to be transmitted to the printer. The program continues sequentially, immediately after printing is complete.
The print area of storage is designated as addresses
201 through 300 for the basic 1403, and addresses
201-332 for the 1403 equipped with 32 additional
print positions. The printer automatically spaces
one line after printing unless instructed to do
otherwise.
PRINT WORD MARKS
This instruction causes each word mark associated with storage addresses 201 through 300 (201332 for additional print control) to print as the
digit "1". The printer automatically spaces one
line after printing unless instructed to do otherwise.
This instruction activates the card feed, and
causes all 80 columns of information to be read
from the card into the IBM 1401 storage unit, addresses 001 through 080. The word marks for
these 80 positions are not disturbed.
1 (I)
PRINT AND BRANCH
3 (I)
PRINT, READ, AND BRANCH
Same as the previous instruction, except that the
location of the next instruction is at address (I).
The position immediately following this instruction
must contain a character with a word mark or a
blank character with or without a word mark.
23
4
The position immediately following this instruction
must contain a character with a word mark or a
blank character with or without a word mark.
PUNCH
This instruction causes the data located in addresses 101 through 180 to be punched into an
IBM card.
7
4 (I)
PUNCH AND BRANCH
Same as the PUNCH (4) instruction, except that
the location of the next instruction is at address
(1). The position immediately following this instruction must contain a character with a word
mark or a blank character with or without a word
mark
5
This instruction combines the functions of
priority and operates first, with the read and punch
process overlapped as previously explained.
7 (1)
This instruction combines the READ (1) and
(4) operations as described. The machine
can, in effect simultaneously read and punch when
this instruction is used, because these two operations can overlap.
8
READ, PUNCH, AND BRANCH
PRINT AND PUNCH
6 (I)
PItINT, PUNCH, AND BRANCH
Same as the previous instruction except that the
location of the next instruction is at address (1).
24
READ RELEASE (OPTIONAL)
This instruction causes the card reader to start
the next cycle, and allows processing to continue.
A READ instruction must then be given prior to the
time the reader is ready to read the 9-row of the
card. If the instruction is not given early enough,
the card passes the brushes without being read,
and the machine stops. This instruction allows a
gain of 20 milliseconds of processing time between
successive card read cycles.
Same as the previous instruction except that the
location of the next instruction is at address (1).
The position immediately following this instruction
must contain a character with a word mark or a
blank character with or without a word mark.
This instruction combines the functions of PRINT
(2) and PUNCH (4). The printer has priority.
However, the punch is signalled to start before
the end of the print operation, so that actual punching into the card may start shortly after the print
operation is completed.
When the system is equipped with the Print
Storage optional feature, the program can continue
as soon as the data is received in print storage.
PRINT, READ, PUNCH, BRANCH
Same as the previous instruction, except that
the location of the next instruction is at address
(I). The position immediately following this instruction must contain a character with a word
mark or a blank character with or without a word
mark
PUNCH
6
READ
(1 ), PRINT (2), and PUNCH (4). The printer has
READ AND PUNCH
5 (1)
PRINT, READ, AND PUNCH
9
PUNCH RELEASE (OPTIONAL)
This -instruction causes, the card punch to start
the next cycle, and allows processing to continue.
A PUNCH instruction must then be given, prior to
the time the 1401 begins emitting the information
to the punch for punching the 12-row of a card.
If the instruction is not given early enough, the
card passes the punch station without being
punched, and the machine stops. This instruction
allows a gain of 35 milliseconds of processing time
between successive punch cycles.
Arithmetic Operations
Add and subtract, and the optional multiply and divide
operation codes, perform the arithmetic operations. Because the operations are performed within core storage,
no accumulators or counters are necessary. Thus, the
capacity for arithmetic functions is not limited by a predetermined number of counter positions.
Upon completion of the ADD operation, the address registers contain the addresses of the fields to
the left of the original A and B fields; therefore,
the ADD instruction can be chained when sequential
fields are being used provided the A field is equal
to or less than the B field.
The ADD instruction can also be executed using
only the (A) address as follows:
~
Arithmetic Operation Codes
A(A) (B)
ADD
This instruction causes the numerical data at
the (A) address to be added algebraically to the
numerical data at the (B) address. If the two numerical fields contain different signs, a complement
addition takes place. A word mark associated with
the B field stops the ADD operation. If the A field is
shorter than the B field, a word mark should be
inserted with the A field to stop transmission of
data from the A field.
A negative field is indicated by a "B" bit and
the absence of an "A" bit in the units position of
that field (I1-punch in a card). Any other "A" or
"B" bit combination in the units position is con-.
sidered a positive sign. For compatibility with
other machines all positive numbers should always
be indicated by either "A" and "B" bits (I2-punch
in a card) or by the absence of both "A" and "B"
bits.
In a true AnD operation (both fields have the
same sign), the zone bits in the units position of
the B field are unaffected. In a complement ADD
operation (unlike signs), the -zone bits in the units
position of the B field are always set to "A" and
"B" bits (12-punch in a card) for a positive result,
but remain as a "B" bit only for a negative result
(II-punch in a card).
Zone bits located in any character position within
the B field other than the sign (units) position or the
overflow (high-order) position are lost (removed) in any
arithmetic operation. If the sign of the B field is required
to change as a result of the arithmetic operation, the
machine takes an automatic recomplementing cycle to
restore the data to true form.
NOTE:
(A).
In this form the (A) portion and the implied
(B) portion are the same, and are added to each
other. This form of the instruction can be used to
double the A field. The result is located in the A
field.
Overflow
An overflow condition can occur as a result of a true
arithmetic operation if the B field is not large enough
to accommodate the answer. An overflow condition sets
an indicator, which can be tested by a BRANCH instruction. (This indicator is not reset until the next ADD 01
SUBTRACT instruction is given). The overflow condition
also causes an "A" bit to be stored in the high-order
position of the B field. If other data is added to this
same B field without adjusting the length of the field,
additional overflows can occur and change the "AB"
bit configuration as follows:
Zone Bits in High-Order
Position of B Field
I st
2nd
3rd
4th
5th
Overflow
Overflow
Overflow
Overflow
Overflow
"A" bit, No-"B" bit
No-"A" bit, "B" bit
"A" bit, "B" bit
No-"A" bit, No-"B" bit
Same as for 1st overflow, etc.
Because the machine signals an overflow condition by
placing zone bits in the high-order position of the
field, overflow can be used for address modification.
Because the address of storage positions 1000 and up
are represented by an alphabetic or special character,
the high-order position of an address can be modified.
Example:
Data word A is 550
Data word B is 840
25
If the instruction ADD (A) (B) is executed the result
in location (B) is 390 with an "A" bit over the highorder position. The 1401 translates this BCD coding as
the alphabetic character "T". Thus the data word T90
is in (B). If this is used as aIll address it represents
storage location 1390.
@ (A) (B)
NOTE: If the A and B fields contain alphabetic instead of
numerical digits in the positions corresponding to the
high-order position of the B field, the result of a true
ADD operation contains the sum of the zone bits of the
positions corresponding to the high-order position of the
B field in the high-order position of the result. The digit
portions of both fields add correctly. However, the highorder position of the B field (;ould be modified by the
overflow conditions.
The rules for multiplication are:
1. The product is developed in the B field. The
length of the B field is determined by adding
"1" to the sum of the number of digits in the
multiplicand and multiplier fields.
An overflow condition cannot occur as a result of a
complement-add arithmetic operation.
S (A) (B)
SUBTRACT
Example:
This instruction is the same as the ADD (A) instruction, except that the A field is algebraically
subtracted from the B field. If both fields contain
the same sign, a complement-add arithmetic operation results.
This instruction can also be executed using only
the (A j address as follows:
1246
x543
In this form the A field and the implied B field
are the same, and the A field is subtracted from
itself. This form of instruction can be used to clear
the A field and put zeros in it.
The SUBTRACT instruction can be chained for
sequential data fields.
(A) (B)
0" (A) (B)
RESET SUBTRACT
This instruction is simila:r to the RESET ADD
instruction, except that the A field is subtracted
(algebraically) from the B field, which is in effect
set to zero before the A 11eld data is subtracted
from it. This instruction c:an be chained. It can
also be used without a (B) address, which in effect
causes a sign change in the~ A field.
26
3. In all cases "A" and "B" bits for plus signs,
and "B" bits for minus signs, must appear in
the units position of the fields. The mUltiply
operation uses algebraic sign control.
As a result of a multiply operation, the
multiplier in the B field is destroyed. However,
it is still available at its original location. This
instruction should not be chained. An example
of a mUltiply routine is shown in Figure 19.
RESET ADD
This instruction is similar to the ADD (A) instruction, except that the B field is, in effect, set
to zero before the A field is added to the (B)
location.
This instruction is not the same as the MOVE
instruction. If the A field is shorter than the B field
in a reset add instruction, high-order positions of
the B field are filled with zeros. With a MOVE instruction, these positions are unaffected. The A
field must have an associated word mark only if it
is shorter than the B field. This instruction can be
chained.
4-digit multiplicand
3-digit multiplier
+1
-8-positions must be allowed in the B
field.
2. The multiplicand and multiplier data words
must have a sign in the units position, and a
word mark associated with the high-order
positions.
§.(A)
"6
MULTIPLY (OPTIONAL)
This code causes the multiplicand (data located
in the A field) to be repetitively added to the data
in the B field. The B field consists of the multiplier
in the high-order positions, and enough additional
positions for the development of the product. At
the completion of the operation, the units position
of the product is at the location given by the (B)
address. The multiplier can be retained in another
area of storage if it is required for further use in
the program.
IBM
1401
PROGRAM
CHART
Program:
MULTIPLICATION
--c--=--=
Programmer:
Datee::_
Instruction
Slep In.1 0
No. Addr P'ATI~ d
L 065
Effective No.
of Characters
Inst D;';~lT.~tal
Remark.
Load multiplier in the high order positions of the. (II) field.
605
_t.,\~I!ip")l1246 x 543 and develop product beginning in
I--I~_+-+--__ 1---.
position_6J()_-"L~-"!I<
Low Compare B < A >I<
Reader Error if 110
Check Stop Switch OFF :j:
U
High Compare B > A
0
Punch Error if 110
Check Stop Switch OFF:j:
W
Divide Overflow'::
+
Printer Error if 110
Check Stop Switch OFF:j:
Z
d
Branch on:
Sense Switch A
"Last Card" Switch
K
End of Reel
B
Carr. Chan. #9
Carr. Chan. # 12 C
Sense Switch B
Sense Switch C
L
Tape Channel
Transmission Error
D
Sense Switch D
E
Sense Switch E ':'
F
Sense Switch F :::
G
Sense Switch G '::
>I<
>1<
+
>1<
0
* :j:
* :j:
-
::: optional
:j: Condition reset by a
Test and Branch instruction
FIGURE 24.
28
d-CHARACTER FOR BRANCH INSTRUCTION
%
>1<
Overflow:j:
Procesing Check with
Process Check Switch OFF :j:
If this instruction is chained, 1! (601) (350) b
the program also tests locations 349, 348
and 347 for blanks. Thus, the entire field is tested
for blanks, and sends the program to location 601
if any blank positions are found in the field.
Word marks do not affect this instruction.
Thus, the next instruction can be chained, if it is to
use the locations that are provided in the A and B
address registers.
~!!~,
v
(I) (B) d
M (A)
The address in the B address register is used as
the address of the B field. This instruction can be
used to assemble fields in sequential order.
TEST FOR ZONE OR WORD MARK AND
BRANCH
Figure 25 is a detailed schematic, showing
movement of a 3-character data word from the
A field to the B field.
This is a single-character-test instruction, which
tests the character located at address (B) for a
specific condition as specified by the d-character,
and branches if the condition is met as follows:
STORAGE UNIT
A Field
Word mark
No zone (No-"A", No-"B" bit)
I2-zone ("AB" bits)
II-zone ("B", No-"A" bit)
Zero-zone ("A", No-"B" bit)
Either a word mark, or no zone
Either a word mark, or I2-zone
Either a word mark, or II-zone
Either a word mark or zero-zone.
1
2
B
K
S
3
C
L
T
P sl Tl2
,
,,r------..J
B Field (after)
, I
II
II
II
II
I,
d-Character Branch to (I) if address (B) contains:
l_~~_ P +1 Tl2
I
,r-J L ____ - - - - - ...,
,,
M
1-
~.tR..e~
A Reg
, r---,
OP Reg
I
r---'
I
I
I
I
,
L ___ .J
I
L ___ .J
:
I
S
L. ___ J
L.-r-.J
(1312)
(1312)
A Cycle
CD
B Reg
:----,
,
:"J
B Cycle
L _ _ _ _ _ _ _ _ _ _ _ _ --I
STORAGE UNIT
B Field (before)
A Field
10 P,
~B
M TIl
I,
L ___
II
,I
: I
l
~
L -
-
-
-
-
-
-
-
-
---,
: r~~.§!..,
r~'!:l!,
L J B ~ - - - - __ ,' B I
OP Reg
:L ___
M .Jl
Move and Load Codes
(1311)
: B Field (after)
II
r---1
(1311)
MITll
r----.J
I'
L ___ .J
A~
r---,
i ---l
:
:
B
,
B~
:
0
I
~
P
B Cycle
L ___ .J
L-T-...J
L
A Cycle
,
"L ___ ....I
_____________
MOVE
This instruction causes the data in the A field to
be stored in the B field. If both fields are the same
length, only one of the fields need have the defining word mark. If the fields are different lengths,
the first word mark encountered defines the length
of both fields, and stops the operation. Sensing an
A word mark first allows the completion of one
more B cycle before stopping the operation. The
word marks themselves are not affected by the
move operation, nor is the data in the A field. At
the end of this operation, the A address register
and B address register contain the addresses of the
units positions of the fields to the immediate left of
the high-order positions of the preceding locations.
I
M
I
I
A Reg
r---,
,
M ,
I,
,I
,I
,,
L ___ .J
M I~------l
L~
,
~566
M (A) (B)
B Field (before)
10
~567
J
STORAGE UNIT
A Field
B Field (before)
~565
lOB
I
II
I
I
: I
I
II
I'
I
I
..
,
II
lLOP Reg
r---'
lL ___
M ..l:
r---- J
I
I
A Reg
I
I
B
I
BtReg
I
I
L ___ J
A Reg
:
I
:----1
l
L-
-L :
-J
r,
TlO
r-----, :
L ___ J
r ---,
MI
L __ ,
-L ~ - - - - -:- -: 1. :
L - - -:
(1310)
B Field (after)
- - - - - - - - - - -:- ---:
i---i
(1310)
MI TIO
:
,
A Cycle
B Reg
L--:
Q
B Cycle
:
L ___ J
I
L ____________ J
FIGURE
25.
SCHEMA TIC OF A 3-CHARACTER MOVE
INSTRUCTION
29
Cycle
Type of
Cycle
B
Register
Address Registers
at End of Cycle
A
Register
I
A Address {
Developed
B Address {
Developed
FIGURE 26.
Remarks
lop
2
11
5
5
003
5??
7??
M
3
12
6
6
004
56?
???
M
4
13
7
7
005
567
???
M
5
14
T
T
006
567
137?
M
6
15
1
1
007
567
131?
M
7
16
2
2
008
567
1312
M
8
17
Word Mark
OP
2
008
567
1312
M
OP code of next
instruction.
9
A
M
M
008
566
1312
M
Execute move inst.
10
B
S
M
008
566
1311
M
11
A
B
B
008
565
1311
M
12
B
008
565
1310
M
13
A
008
564
1310
M
14
B
008
564
1309
15
lop
P
Word Mark
I
Word Mark
D
Word Mark
OP
009
564
1309
M
NextOP
Code
?
002
? ??
???
M
B
Word Mark
I
Word Mark
I
Word Mark
I
Read Instruction
>-
Load A Address
Reoister
>-
Load B Address
Register
Completion of
MOVE Instr, _ _
Read next i nstr ,
SINGLE CYCLE OPERATION OF MOVE INSTRUCTION (~ 567-T12)
MOVE AND ZERO SUPPRESS
MOVE DIGIT
This instruction causes the numerical portion
(8-4-2-1 bits) of the single character in the A address to be written in the B address. The zone
portion (" AB" bits) at both addresses is not affected. Because this is a single-character operation,
no word marks are required with the A address or
the B address. This instruetion can be chained.
30
Op
Reoister
1
This instruction causes the data in the A field to
be stored in the B field. The B field contains
blanks instead of zeros to the left of the first significant digit. At the completion of the MOVE, the
A address register contains the address of the
field immediately to the left of the A field and the
B address register contains the address of the units
position of the B field pllllS one (1). Therefore,
this instruction should not be chained. Only a
word mark with the A field stops the transmission
of data. This code removes the sign from the
units position of the resultant field.
D (A) (B)
B
Word Mark
M
Figure 26 is the single:-cycle operation chart,
that explains the schematic.
Z (A) (B)
A
Y (A) (B)
MOVE ZONE
This instruction is similar to MOVE DIGIT (D),
except that only the zone ("AB" bits) are moved.
This instruction can be chained.
L (A) (B)
LOAD
This instruction is similar to MOVE (M), except
that the length of the word in the A field must be
defined by a word mark. The word mark for the
A field is transferred to the B field, and all B field
word marks up to this newly moved word mark
are cleared. This instruction is commonly used to
load data into the printer, or punch areas of storage, or to bring data or instructions from the
reader area of storage to another location. The
word mark for the A field stops the transfer.
!: (A)
The address in the B address register is used as
the address of the B field.
This instruction can be chained.
, (A) (B)
SET WORD MARK
This instruction can include one or two addresses, and causes a word mark to be set for each
of the specified addresses without disturbing the
data at these addresses. This instruction can be
chained.
tl
(A) (B)
CLEAR WORD MARK
F (I) d
Same as the previous instruction except that the
next instruction is taken from the (I) address.
STACKER SELECT
Kd
Same as the SET WORD MARK (,) instruction, except that the word marks are cleared at the specified addresses. This instruction can be chained.
This instruction causes the card that was just
read or punched to be selected into the stacker
pocket specified by the d-character as follows:
d-character
Feed
Stacker Pocket
1
2
4
8
Read
Read
Punch
Punch
1
8/2
4
8/2
Miscellaneous Operation Codes
Fd
FORMS CONTROL
This instruction causes the carriage to move as
specified by the d-character. A numerical digit
causes an immediate skip to a specified channel in
the carriage tape. An alphabetic character with a
12-zone causes a skip to a specified channel after
the next line is printed. An alphabetic character
with an II-zone causes an immediate space. A
zero-zone character causes a space after the next
line is printed. The table (Figure 27) shows the
effect of the d-character. In order to maintain the
highest possible machine speed, the immediate
skip or space instruction should be given as early
in the program as possible. If the carriage is in
motion when a FORMS CONTROL instruction is
given, the program stops until the carriage comes
to rest. At this point, the new carriage action is
initiated and then the program advances to the
next instruction in storage.
d
Immediate Sk ip to
FORMS CONTROL AND BRANCH
This instruction must be given in the first 10
milliseconds of process time after a read operation
has been completed, in order to select the card
that has just been read. Giving this instruction at
any other time is ineffective for selecting a card
in the card read unit, and the card enters t.he NR
(non-selected reader) pocket (Figures 11 and 12).
To select a card in the punch unit, this instruction can be given any time after the PUNCH instruction has been completed, as long as it is
before the next PUNCH instruction. Even when this
instruction is given immediately after a card is
punched, the card is not selecte~ into the proper
pocket until after the next PUNCH instruction is
executed. It is not selected as specified by the
STACKER SELECT instruction if during this second
punch cycle a hole-count check occurs.
-- - - - - - - d
Skip After Print to
d
Immediate Space
Channel
A
Channel 1
J
1 space
2
Channel 2
B
Channel 2
K
2 spaces
3
Channel 3
C
Channel 3
L
3 spaces
4
Channel 4
D
Channel 4
5
Channel 5
E
Channel 5
6
Channel 6
F
Channel 6
d
After Print-space
7
Channel 7
G
Channel 7
/
1 space
8
Channel 8
H
Channel 8
S
2 spaces
9
Channel 9
Channel 9
T
3 spaces
0
Channel 10
I
+
Channel 11
.
Channel 10
#
@
Channel 12
J:r
Channel 12
FIGURE 27.
0
Channel 11
d-CHARACTER FOR FORMS CONTROL
31
An error check in the card read unit stops the
entire system at the completion of the READ instruction, and the card in error is automatically
selected into the NR pocket.
It causes clearing in all positions from address
(A) down to the nearest hundreds position. The
cleared area is set to blanks.
if the (A) address is 563, all positions
563 through 500 are cleared. This instruction can
be chained.
EXAMPLE:
A punch error condition overrides the stackerselect operation, and the card enters the NP (nonselected punch) pocket.
/ (I) (B)
K (I) d
Same as the previous instruction (the B address
is the start location for CLEAR) except that the
location of the next instruction is indicated by address (I).
STACKER SELECT AND BRANCH
Same as the previous instruction except that the
location of the next instruction is at address (I).
C (A) (B)
COMPARE
This instruction causes the data in· the B field to
be compared to an equal number of characters in
the A field. It compares the bit configuration of
each character in the two fields. When the B field
is longer than the A field~ an unequal-compare
results. When the A field is longer than the B field,
the comparison: is stopped by the B word mark.
The result of the comparison is stored in the machine for later use by a BRANCH CONDITIONAL instruction. The COMPARE instruction should not be
chained.
/ (A)
CLEAR
This instruction is used to clear an area of storage (up to 100 characters) of data and word
marks.
32
CLEAR AND BRANCH
N
NO OPERATION
This operation code can be substituted for the
operation code of any instruction to make that instruction ineffective.
STOP
This instruction causes the machine to stop, and
the stop-key light turns on. Pressing the start key
causes the program to resume from the next instruction in sequence.
• (1)
STOP AND BRANCH
Same as the previous instruction, except that
when the start key is pressed, the location of the
next instruction is at the (1) address.
A blank character immediately foHowing this
instruction acts as a word mark to terminate this
instruction.
Editing
Editing in the IBM 1401 Data Processing System is
automatic control of zero suppression, insertion of identifying symbols, and punctuation of an output field.
This function can be performed with two simple instructions. One single edit instruction can cause all desired commas, decimals, dollar signs, asterisks, credit
symbols, and minus signs, to be automatically inserted
in a numerical field. In addition, unwanted zeros to the
left of significant digits are suppressed (Figure 28).
Example:
Edit Instruction
Storage
(A)
(13)
E (789) (300)
A Field (data) B Field (control word)
00257426
1bbb, bbO. bb&CR&* *
Result of Edit
Storage
00257426
FIGURE
28.
B Field
$ 2,574.26
**
EDITING
The process is analagous to the arithmetic operation.
In addition, a character from the A field is read from
storage; then a character from the B field is read from
storage; an operation ( addition) is performed on the
two characters, and the result is written back into
storage.
Likewise, in editing, two fields are needed: the data
field, and a control field. The control field indicates
how the data is to be edited. It specifies the location of
commas, decimals, conditional CR and minus symbols,
and indicates where zero suppression is to occur.
The two fields are read from storage alternately, character-by-character, as they are in the addition process,
but are under control of the editing rules.
The control word is divided into two parts: the body
(used for punctuating the A field) and the status portion (which contains the sign symbols and *'s). Printing sign symbols is in part controlled by the sign of the
A field.
To edit a field, a LOAD instruction loads the control
word in the output area; the EDIT instruction moves
the data to the output area, and performs the editing
function.
E (A) (B)
This instruction takes the data in the A field, modifies it by the contents of the edit-control word in the
B field, and stores the results in the B field. The type
of modification is controlled by the following set of
rules.
33
RULE 1. All numerical, alphabetic and special characters can be used in the control word. However, some
of these have special meanings as listed below.
Control
Character
Function
b (blank)
Replaced with the character from the
corresponding position of the A field.
o (zero)
Used for zero suppression. Replaced
with a corresponding character from
the A field; also the right-most "0" in
the control word indicates the rightmost limit of zero suppression.
. (period)
, (comma)
Undisturbed in the punctuated data
field, in the position where written.
Functions as a significant character
unless Expanded Print Edit feature
installed (See Expanded Print Edit).
Undisturbed in the punctuated data
field, in the position where written,
unless zero suppression takes place,
and no significant numerical characters are found to the left of the
comma.
CR (credit)
Undisturbed if the data sign is negative. It is blanked out if the data sign
is positive. Can be used in body of
control word without being subject
to sign control.
- (minus)
Same as CR.
& (ampersand)
Causes a space in the edited field. It
can be used in multiples.
*
(asterisk)
Can be used in singular or in multiple, usually to indicate class of total.
When used with the Expanded Print
Edit optional feature, this takes on a
special meaning ( see Expanded Print
Edit) .
$ (dollar sign)
Undisturbed in the position where
written. When used with the Expanded Print Edit optional feature,
this takes on a special meaning (see
Expanded Print Edit) .
RULE 2. A word mark with the high-order position
of the B field controls the EDIT operation.
Rule 3. When the A field word mark is sensed, the
remaining commas in the control field are set to blanks.
34
RULE 4. The body of the control word is defined as
that portion beginning with the right-most blank or
zero, and continuing to the left until the A field word
mark is sensed. The remaining portion of the control
field is referred to as the status portion.
RULE 5. If the data field is positive, and the CR
or - symbols are located in the status portion of the
control word, they are blanked out.
RULE 6. Zero Suppression. This is the deletion of
unwanted zeros at the left of significant digits in an output field (Figure 29).
EXAMPLE:
QOI0900
A field
Control Word (B field)
!bb,bbOobb
Forward scan
$00,102.00
Reverse scan
$bbbl09.00
Results of edit
$
'IIi
II
FIGURE 29.
109.00
ZERO SUPPRESSION
A special 0 is placed (in the body of the control word)
in the right-most limit of zero suppression.
Forward Scan:
1. The positions in the output field at the right of this
special zero are replaced by the corresponding digits
from the A field.
2. When the special zero is detected in the control
field, it is replaced by the corresponding digit from
the A field.
3. A word mark is automatically set in this position of
the B (output) field.
4. The scan continues until the B field (high order)
word mark is sensed and removed.
Reverse Scan:
1. All zeros and punctuation at the left of the first
significant character (up to and including the zero
suppression code position) are replaced by blanks
in the output field.
2. When the automatically set zero suppression word
mark is sensed, it is erased and the operation ends.
RULE 7. Any A field data that has not been moved
before the word mark for the control field is sensed,
does not appear in the edited output data. The data
field can contain fewer, but should not contain more,
positions than the number of the blanks and zeros in
the body of the control word. Dollar signs and asterisks
are included in the control word with the Expanded
Print Edit feature.
An illustration of the application of these rules is
shown in Figure 30.
Cycle
FIGURE
30.
Type of
Cycle
Address ReQisters
I
A
8
Reg.
8 A
?
~
Put
8ack
into
Storage
"8" Field
at End of Cycle
Remarks
1
lop
2
11
003
On?
on?
7
7
7
same
Load A Address Register
3
12
004
078?
078?
8
8
8
same
Load A Address Register
4
?
~
!bbb,bbO.bb&CR&**
Read Instr. OP code
002
13
005
0789
0789
9
9
9
same
Load A Address Register
5
14
006
0789
0389
3
3
3
same
Load 8 Address Register
6
15
007
0789
0309
0
0
0
same
load 8 Address Register
7
0
16
008
0789
0300
0
0
same
Load 8 Address Register
8
17
008
0789
0300
Q.P 0
OP
same
OP code of next instr.
9
A
008
0788
0300
6
6
6
same
Execute EDIT instr.
10
8
008
0788
0299
~,
6
*
same
Rule 1
11
8
008
0788
0298
*
6
*
same
Rule 1
12
8
008
0788
0297
&
6
81ank
!bbb,bbO.bb&CRb**
Rule I
!bbb,bbO:bb&Cbb**
Rule 1 and 5
13
8
008
0788
0296
R
6
81ank
14
8
008
0788
0295
C
6
81ank
!bbb,bbO.bb&bbb**
Rule I and 5
15
8
008
0788
0294
&
6
81ank
!bbb,bbO.bbbbbb**
Rule I
16
8
008
0788
0293
b
6
6
!bbb,bbO.b6bbbb**
Rule 1
17
A
008
0787
0293
2
2
2
18
8
008
0787
0292
b
2
2
19
A
008
0786
0292
4
4
4
20
8
008
0786
0291
21
8
008
0786
0290
0
4
4
4
22
A
008
0785
0290
7
7
7
23
8
008
0785
0289
b
7
7
24
A
008
0784
0289
5
5
5
25
8
008
0784
0288
b
5
5
26
A
008
0783
0288
2
2
2
Rule 1
same
!bbb,bbO.26bbbb**
Rule 1
same
Rule 1
same
Rule 1
!bbb,bb~.26bbbb**
same
Zero Suppress-Rule 1 and 6
Rule 1
!bbb,b7~.26bbbb**
same
Rule 1
Rule 1
!bbb,57~.2bbbbb**
Rule 1
same
Rule 1
same
Rule 1
27
8
008
0783
0287
,
2
,
28
8
008
0783
0286
b
2
2
29
A
008
0782
0286
0
0
0
30
B
008
0782
0285
b
0
0
31
A
008
0781
0285
~
~
~
32
8
008
0781
0284
b
~
0
!002,57~. 26bbbb*~,
Rule 1
33
B
008
0781
0284
!
~
$
S002,57~.26bbbb**
Sense Word Mark--Rev.
Scan--Rule 1 and 6
Rule 6
!bb2,57~. 26bbbb*~<
same
.! b 0 2 ,5 7 ~.
Rule 1
Rule 1
26 b b b b* 1,<
same
Rule 1
Rule 1
34
8
008
0781
0285
S
~
$
35
B
008
0781
0286
0
~
81ank
Sb02/57~.
26bbbb**
Rule 6
36
B
008
0781
0287
0
~
81ank
Sbb2,57i·26bbbb**
Rule 6
2
same
Rule 6
Rule 6
same
37
B
008
0781
0288
2
~
38
8
008
0781
0289
,
~
I
same
39
B
008
0781
0290
5
~
5
same
Rule 6
40
8
008
0781
0291
7
~
7
same
Rule 6
41
B
008
0781
0291
~
~
4
Sbb2,574.26bbbb**
Rule 6
STEP BY STEP EDITING OPERA nON
35
EXAMPLE:
Expanded Print Edit
The basic operations of the EDIT instruction can be expanded by an optional Expanded Print Edit feature.
This provides the functions of Asterisk Protection,
Floating Dollar Sign, Decimal Control, and Sign Control Left.
A field
Q0257426
Control word (B field)
----Qbb,b$O.bb
002,571. 26
First forward scan
--
bb2,574.26
Reverse scan
$2,574.26
Second forward scan
$2,574.26
Results of edit
Asterisk Protection
FIGURE
When it is necessary to have asterisks appear at the left
of significant digits, the asterisk protection feature is
used (Figure 31).
32.
FLOATING DOLLAR SIGN
The control word is written with the "$" at the left of
the zero suppression code.
Three scans are necessary to complete this editing
operation.
EXAMPLE:
Q0257426
A field
Control word (B field)
Forward scan
~~bb,b*O.bb&CR
....-----002,57 ±.26 CR
I
Reverse scan
**2,574.26 CR
Results of edit
**2,574.26 CR
FIGURE
31.
ASTERISK PROTECTION
The control word is written with the asterisk at the left
of the zero suppression code.
Forward Scan:
1. The normal editing process proceeds until the asterisk is sensed.
2. The asterisk is replaced (in the output field) by the
corresponding digit from the A field.
3. The editing process continues normally until the
B field word mark is sensed and removed.
First Forward Scan:
1. The editing proceeds until the "$" is sensed.
2. The "$" is replaced (in the output field) by the corresponding digit from the A field.
3. Editing continues until the B field word mark is
sensed and removed.
Reverse Scan:
1. Zeros, and punctuation to the left of the first significant digit are replaced by blanks.
2. The reverse scan continues until the word mark
(set during the first forward scan) signals the start
of the second forward scan.
Second Forward Scan:
1. The word mark is erased and the scan continues
until the first blank position is sensed. This blank
position is replaced by "$," and the operation stops.
Sign Control Left
Reverse Scan:
1. Zeros, blanks, and punctuation to the left of the first
significant digit are replaced by asterisks.
2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped.
CR or - symbols can be placed at the left of a negative field, if the sign control left feature is used
(Figure 33).
EXAMPLE:
A field
00378940
Control word (B field)
QR&bbb,bbO.bb
Forward scan
CRb003,782.40
Floating Dollar Sign
Reverse scan
CRbbb3,789.40
This feature causes the insertion of a dollar sign in the
position at the left of the first significant digit in an
amount field (Figure 32).
Results of edit
CR
•
I
36
FIGURE
33.
SIGN CONTROL LEFT
3,789.40
The control word is written with the CR or - symbols
in the high-order position.
EXAMPLES:
1. A field
00000
Forward Scan:
Control word (B field)
1. The scan proceeds until the zero suppression character in the control field is sensed.
First forward scan
2. The corresponding character from the A field is
placed in this position of the output field.
Second forward scan
--
Results of edit
(Blank Field)
3. A word mark is automatically inserted in this position in the output field.
4. Editing continues and the CR or - symbols are undisturbed in their corresponding positions in the
output field, only if the sign of the A field is minus.
If the sign is plus, they are blanked.
Reverse Scan:
1 . Zeros and punctuation are replaced by blanks in
the output field. The scan continues until the automatically-set word mark is sensed.
2. This word mark is erased and the operation ends.
Reverse scan
2. A field
Result of edit
294.37
3. A field
First forward scan
Reverse scan
Reverse Scan:
3. Editing continues normally until the B field word
mark is sensed and removed.
Qbb.bO
294.37
294.37
QOOOI
Control word (B field)
This feature insures that decimal points print only when
there are significant digits in the A fie1d (Figure 34).
2. A word mark is set automatically in this position
in the B (output) field.
bbb
Reverse scan
FIGURE 34.
1. When the zero suppression code (0) is sensed during editing, this position is replaced by the corresponding digit from the A field.
bbb.OO
--
First forward scan
Decimal Control
First Forward Scan:
OOO.OQ
~9437
Control word (B field)
Results of edit
Two scans are sufficient to complete this editing operation unless the field contains no significant digits. Then
three scans are required.
bbb.bO
"i
hbb.bO
-
"T--
000.01
bbb.01
.01
DECIMAL CONTROL
1. Zeros and punctuation are replaced by blanks in the
output field until the decimal point is sensed.
2. The decimal point and the digits at its right are unaltered. The automatically-set word mark is erased.
If there are no significant digits in the field, the second forward scan is initiated. Otherwise, the edit
operation stops.
Second Forward Scan:
1. The zeros at the right of the decimal point and the
decimal point itself are replaced by blanks.
2. The operation stops at the decimal column.
37
Operating Features
The IBM 1401 Data Processing System is equipped with
operating features that give complete operator control
for setting up and checking machine operation.
Console Keys, Lights and Switches
This key (Figure 35) is used to initate or resume machine operation after a stop: manual, programmed or automatic. Similar keys are found on
each of the other units in the system. Operation
of this key is conditioned by the setting of the
mode switch.
START.
POWER ON.
a. During a normal run mode, the system can
be started by pressing the start key on any of the
units.
POWER OFF.
b. During a single cycle process mode, any of
the start keys can cause the system to advance
through the program, except on an input-output
Controls the main power supply for the
entire system. Pressing it causes POWER ON key to
light.
FIGURE
38
35.
Turns off the main power supply.
CONSOLE
execution cycle. The start key at the input-output
unit must be pressed for this operation.
c. To restart following an error indication, the
check reset key must be pressed prior to the operation of the start key.
d. Following a card jam or misfeed in either the
reader or the punch, the cards in the associated
feed must be run out by means of the non-processrunout key for that feed, and its hopper must be
reloaded before the start key is pressed.
Logic Block Lights
O-FLO.
Lights when an overflow condition exists.
B ~ A.
Is on when an unequal-compare condition exists
after a compare instruction. Additional lights are
provided for high-low-equal compare when this
0ptional feature is included in the system.
Shows the bit configuration of the sum of
the characters being processed in an arithmetic
operation.
BIT DISPLAY.
This switch is used to reset the system
(except for the data in storage) so that the operator can restart the operation.
OP REGISTER.
This is a lighted key, and is used to stop processing in the system. It is not effective until the instruction being executed is completed. Similar stop
keys (without lights) are provided on each of the
other units within the system.
INSTRUCTION LENGTH LIGHTS.
STAR TRESE T.
STOP.
This is a pull switch, located on the
console. In an emergency, pulling this switch dis-,
connects all the power to the entire system. This
switch should be manually reset by a customer engineer before power is restored to the system.
EMERGENCY OFF.
An error detected by the checking circuits causes this key to light. It must be pressed
following a 1401 Processing Unit error, and the
system is restarted by pressing the start key.
CHECK RESET.
Register Lights
The Op light is red when an incorrect
operation code exists in the OP register, or if the
code is incorrectly interpreted. The lights below
indicate the coded character and the check-bit
status of the character in the OP register.
Indicate the number of
characters in the instruction.
Red when an address register
parity check occurs. The lights below, displaying
the address, can be checked for the error condition.
STORAGE-ADDRESS LIGHT.
A group of storage address
lights display the storage address (in binary-codeddecimal form) contained in the address register
indicated by one of three key-lights:
STORAGE ADDRESS DISPLAY.
Glows when the I address is in
the storage address display.
I ADDRESS REGISTER.
Checking Lights
A ADDRESS REGISTER.
Four lights are provided at the top of the console panel,
representing the Processing Unit, Reader, Punch, and
Printer. When the machine is operating normally, these
lights appear as white areas with black lettering. When
the machine stops, requiring operator attendance at one
of the four units, the appropriate lJlght glows red, indicating an error. The light is extinguished when proper
action is performed by the operator.
Glows when the A address is in
the display.
Glows when the B address is
displayed.
Stopping the machine and holding down one of
these keys causes the contents of the associated
register to be displayed in the storage-address
lights.
B AnDRESS REGISTER.
The storage light is red when an error at the
input to storage is detected by a parity check.
STORAGE.
I/O Check Stop Switch
The B-light comes on when a B register
parity check error occurs. The lights underneath
display the BCD coding check-bit status, and the
word mark status of the character in the B register.
B-LIGHT.
The A-light comes on when an A register
parity check error occurs. The lights below indicate the coded character, check-bit status, and
word mark status of the character in the A register.
A-LIGHT.
When in the ON position (up), the machine stops at
completion of an I/O operation if an error occurs during that operation. In the OFF position (down), the
machine does not stop if it detects a hole count check
in the Card Reader or Card Punch, a validity for the
Card Reader, or a Print Check. With the switch in the
OFF position, error detection must be accomplished by
programming.
39
Manual Address Switches
3.
SINGLE-CYCLE PROCESS.
The four dial switches labeled Manual A ddress are
used to select the address to be entered in the storageaddress register. These work in conjunction with the
address register key-lights and the storage-address
display lights.
For example, set the contents of the A address
register to 1200.
4.
SINGLE CYCLE-NON PROCESS.
5.
CHARACTER DISPLAY.
6.
STORAGE PRINT OUT.
1. Set the mode switch to
ALTER.
2. Set the manual address switches to 1200.
3. Press the A address register key.
4. Press the start key.
The storage-display lights then show the bit configurations for this address (1200).
The manual address switches are also used to select
a storage location for a display or alteration, without
disturbing the contents of the address registers.
Sense Switches
Seven sense switches can be included in the 1401
Processing Unit. The manual toggle switches that control them are located on the console. Switch A is used
to control last card operations by making the TEST
AND BRANCH SENSE SWITCH ON instruction effective only
when the last card in the reader has passed the second
reading brushes. Switch A is standard in all systems
except Model D. Six additional sense switches (B, C,
D, E, F, and G) are optional features.
The B (I) d TEST AND BRANCH SENSE SWITCH ON
instruction can be used to interrogate the setting of the
switch specified by the d-character, at any time during
processing, and causes a branch to the (I) address if
the switch is ON.
1.
RUN.
2.
I/EX (INSTRUCTION/EXECUTION).
40
When the mode switch is set to RUN, the
system is under control of the stored program.
When the mode
switch is set to I/EX, the first time the start key is
pressed, the machine reads one complete instruction from storage and stops. This is called the
instruction phase.
The next time the start key is pressed, the
machine executes that instruction. This is called
the execution phase.
Subsequent pressing of the start key results in
alternate instruction and execution phases.
This is similar to the
single-cycle-process mode, except that no data
enters storage from the A register or the logic unit.
Data always enters storage from the B register
only. This mode permits observing the results of
arithmetic operations, one character at a time, in
the logic display, without destroying the original
B field data.
When the machine is operating
in this mode, the start key is pressed to cause the
character at the address selected by the manualaddress switches to be displayed in the B register.
This mode of operation permits
any 100-character block of storage to bt! printed.
The hundreds and thousands manual address
switches are used to select the desired block of
storage.
Example: 12xx is set in the manual address
switches and the start key is pressed. The 100
characters in the selected block 1201-1300 are
printed automatically in print positions 1 through
100. Another automatic print cycle causes the
word marks for that block to be indicated by
printing 1's in their corresponding print positions
on the second line. This feature is used to great
advantage in program testing, because the contents
of a block in core storage is printed and can be
easily examined by the programmer. Thus, this
feature serves to increase both proces.sing and
programming efficiency.
Mode Switch
The nine modes of machine operation are selected by
the Mode Switch:
Each time the start key is
pressed, one .012 millisecond storage cycle is taken
when the machine is in the single-cycle process
mode. Console indicating lights display the contents of the OP, I Address, A Address, B Address,
A and B registers, and the logic unit. (See Figure
25 and Figure 26.)
7.
The operator can manually change the contents of any address register or storage location if
the mode switch is set to ALTER. For example, to
change the contents of address registers:
set the manual address switches at the desired
location;
press the appropriate address register key-light;
press the START key;
the selected address register is set with the new
address.
ALTER.
To change the contents of a storage location:
set the manual address switches to the desired
location;
select the bit-structure of the character to be
entered, by setting the eight BIT-switches
located on the auxiliary console;
press the ENTER key (also on the auxiliary
console) .
8. STORAGE SCAN. When the mode switch is set to
STORAGE SCAN, pressing the start key causes the
1401 to start reading out of storage beginning at
the address set in the manual-,address switches. If
an error condition is detected that had been previously set by an input-output device the machine
stops, and the check light with the corresponding
unit is turned on; and the location of the card
column or print PO'sition in error is shown in the
storage address display unit. The B-register contains the storage position in which the error was
detected, the actual 10catiO'n in storage can be corrected by using the BIT-switches and ENTER key as
described under the ALTER mode.
After the error condition is corrected, the MODE
switch is again set to STORAGE SCAN and the START
key is pressed to cause a read out O'f storage starting from the address set in the manual address
switches. This mode is used as a service aid to'
insure that all positions of storage are correct.
9. ADDRESS STOP. When the mode switch is set to ADDRESS STOP, pressing the start: key starts the program and the machine stops at the address selected
by the manual address switches.
Auxiliary Console
The auxiliary console panel (Figure 36) is located below
the main console of the 1401 processing unit. Its purpose is to provide additional operator control of the
system.
Keys Lights and Switches on the t~uxiliary Console
BIT SWITCHES. Eight bit switches are used to alter characters in storage. These switches are used in conjunction with the alter mode as explained in the
mode switch description.
l
PRINTER
CHECK
RUN
PRINTER
DISPLAY
READ
INTERLOCK
PUNCH
INTERLOCK
PROCESS
CHECK STOP
I/O CHECK
RESET
cQ?)
FIGURE 36.
AUXILIARY CONSOLE
ENTER. This key is used to enter the characters selected
by the BIT-SWITCHES into storage, when the mode
switch is set to ALTER.
PROCESS CHECK STOP SWITCH. This is normally ON to
cause the machine to stop automatically when a
process check occurs. If the switch is in the OFF
position, the machine does not stop on error conditions, except for op register and address register
checks, and input-output checks.
I/O CHECK RESET SWITCH. This switch resets error conditions sensed on the read punch unit and permits
the start key to be effective. It is primarily used by
Customer Engineering.
READ INTERLOCK. When this light is on the reader is
in a ready condition, when it is off the reader is
interlocked until the print operation is completed.
PUNCH INTERLOCK. When this light is on the punch is
in a ready condition, when it is off the punch is
interlocked until the print operation is completed.
PRINTER DISPLAY. This light is on when a print operation is being executed.
RUN. When this light is on the printer is in a ready condition, when it is off the printer is interlocked until
the print operation is completed.
41
IBM 1402 Card Read Punch
Operating Keys, Lights,
and Switches
A condition (empty hopper, feed failure,
or a card jam) causes the machine to stop and the
reader stop light to come on.
READER STOP.
A condition (empty hopper, feed failure,
or a card jam) causes the machine to stop and the
punch stop light to come on.
PUNCH STOP.
Causes the machine to start, and feed two cards
into the read feed. If the punch switch is ON, two
cards are also fed into the punch unit (Figure 37).
ST AR T.
Used to stop the system. If a program step is in
process, it is completed before the stop occurs.
This light is ON if an invalid character is
detected during a read operation.
VALIDITY.
STOP.
This light comes on if a hole count error
is detected during card reading. If the count from
the first and second reading brushes for a given
card do not agree, an error is indicated by the
read check light.
READ CHECK.
Pressed to clear the read
feed. The last two cards in the normal stacker have
not been processed.
NON-PROCESS RUNOUT READ.
Causes the punch feed
to be cleared of cards. The last two cards in the
normal stacker have not been processed.
NON-PROCESS RUNOUT PUNCH.
Used to start loading instruction cards. Pressing
the load key causes the read feed to operate until
a card has passed the second read station. The
I Address Register is reset to 001, and a word
mark is set in address 001. All other word marks
in addresses 002 through 080 are removed.
This light is ON if a hole count error is
detected in the punch unit. If the hole counts are
unequal, an error is indicated by the punch check
light.
PUNCH CHECK.
LOAD.
If any of the five stackers becomes full, the
machine stops, and this light signals the operator.
STACKER.
When a fuse in the Card Read Punch burns out,
this light signals the condition.
FUSE.
When the card is read at second read, the program starts and executes the instruction that is
punched in the first columns of the card.
Continued operation is completely under control of any program in that card or succeeding
cards, as conditioned by the first instruction in the
first card. When the PUNCH SWITCH is ON, pressing the load key also causes the punch feed to
operate until a card reaches the punch station.
Must be pressed to reset any error indication by a punch, read, or validity check, before
the start key can become effective.
CHECK RESET.
Controls the punch section of the machine. When this switch is OFF the punch is inoperative. When it is ON, the machine runs automatically if all the interlock circuits in the punch
side are satisfied.
PUNCH SWITCH.
IBM 1403 Printer Operating Keys,
Lights and Switches
Printer Controls (Figure 38)
Starts the machine.
STOP. Stops the machine at completion of the instruction in process.
ST AR T.
This light shows an end-of-form indication and the machine stops.
END OF FORM.
This light indicates paper feed trouble
in the forms tractor or the carriage stop has been
used. This light must be cleared by the check reset
key before the print start is effective.
FORMS CHECK.
Pressing this button permits immediate
stopping of the carriage operation and turns on
the Forms Check light.
CARRIAGE STOP.
When power is supplied to the readpunch unit, the power on light is ON.
POWER ON LIGHT.
PUNCH
CHECK
PUNCH
OFF
PUNCH
ON
FIGURE
42
37.
FUSE
CHIPS
NOH.PROl
RUN OUT
1402
PUNCH
STOP
STACKER
POWER
CHECK
RESET
EJ8
CARD READ PUNCH KEYS, LIGHTS & SWITCHES
READER
CHECK
READER
OFF
TRANSPORT
VALIDITY
READER
STOP
NON.PIlOt
RUN OUT
READER
ON
This light comes on when the printer is in condition to print, and all error detecting devices are
reset.
PRINT CHECK. This light indicates a print error.
SYNC CHECK. This light comes on to show that the
chain was not in synchronism, at aU times, with the
compare counter for the printer. The timing is
automatically corrected. The light is extinguished
by pressing check reset key.
READY.
Carriage Controls (Figure 38)
Causes the carriage to position at Channel 1 (home position). If the carriage feed clutch
is disengaged, the form does not move. If it is
engaged, the form moves in synchronization with
the control tape.
RESTORE KEY.
Causes the form to advance one space each
time it is pressed.
SINGLE CYCLE KEY. Initiates the operation of the printer
for one print cycle on each pressing of the key.
SP ACE KEY.
FIGURE
39.
PRINTER MANUAL CONTROLS
Manual Control (Figure 39)
Controls the carriage-tape drive and
form-feeding mechanism. If it is set to neutral,
automatic form-feeding can not take place. It is
also used to select six- or eight-lines-to-the-inch
spacing.
FEED KNOB. Used to position the form vertically, and
can be used only when the feed clutch is disengaged.
VERNIER KNOB (vertical). Used for fine spacing adjustment of forms at the print line. Carriage tape is
not affected by this knob.
FEED CLUTCH.
FIGURE
38.
1403
PRINTER KEYS, LIGHTS & SWITCHES
The printing mechanism is
positioned, horizontal1y, by using this device.
HORIZONT AL ADJUSTMENT.
(horizontal). Turn this knob to obtain
fine horizontal positioning.
FORM THICKNESS CONTROL. Sets the proper clearance
between the hammer and the chain to obtain optimum printing quality on multipart forms.
PRINT UNIT R E LEASE LEVER. Permits access to form
transport area (Figure 40).
VERNIER KNOB
FIGURE
40.
PRINT UNIT RELEASE LEVER
43
IBM 1401 Magnetic Tape System
The IBM 1401 Data Processing System can be expanded
to meet individual requirements in many areas of data
processing. A 1401 System can be tailored to individual
needs because it can consist of varying numbers and
types of units (Figures 41, 42, and 43).
The Tape System can be used alone as a complete
data processing system, or as auxiliary equipment for
intermediate and large-scale systems. It provides economical off-line tape editing and printing.
As many as six magnetic tape units can be connected
to the IBM 1401 Data Processing System, providing
FIGURE
44
41.
1401
TAPE SYSTEM, MODEL C
low-cost, full-scale, punched card, and magnetic tape
input and output operations.
The logic, arithmetic, editing, and tape instructions
of the Tape System can be used to perform the primary
functions:
Magnetic tape to printer
Punched cards to magnetic tape
Magnetic tape to punched cards
Punched cards to printer
Tape Sorting-Merging
FIGURE
COMPONENTS
AVAILABLE:
42.
1401
TAPE SYSTEM, MODEL D
Model C-1401 Processing Unit
with 1400 Character Core Storage
Model D-1401 Processing Unit
with 1400 Character Core Storage
Model 1 Card Read Punch
Model 2 Printer
Model 2 Printer
729 Model II or IV Tape Units
729 Model II or IV Tape Units
STANDARD
FEATURES:
Expand(:d Print Edit
Read Punch Release
Sense Switches
Additional Print Control
Dual Sp1eed Carriage Control
Expanded Print Edit
Additional Print Control
Sense Switches
Dual Speed Carriage Control
OPTIONAL
FEATURES:
2,000 or 4,000 Character Core Storage
Multiply Divide
High Low Equal Comp.are
Column Binary
Print Storage
2,000 or 4,000 Character Core Storage
High Low Equal Compare
Print Storage
FIGURE
43 .
TAPE SYSTEM COMPONENTS
45
Data Flow
Magnetic Tape
Data can be entered into the 1401 systems by means of
punched cards, magnetic tape, or both. Information is
read into the system, rearranged, calculated and edited
by the stored program. Output can be in the form of
punched cards, magnetic tape, or printed reports. Mode]
D is not equipped with a card read-punch (Figure 44).
All data passes through 1401 core storage, where a
series of validity checks insure accuracy and reliability.
An important feature in economical processing of business data is compact storage. A magnetic tape reel (1 OY2
inches in diameter) contains 2400 feet - sufficient tape
to record as many as 14,000,000 characters. Tape reels
can be easily stored or transported from one in stallation
to another. In addition, magnetic tape records have
gained wide acceptance as legal documents.
Magnetic Tape Characteristics
The magnetic tape recording code used with the IBM
1401, is the same binary-coded-decimal code used with
other IBM Data Processing Systems. This compatability
permits interchanging tapes between installations that
employ different IBM systems. The tape itself is a ribbon, ~-inch wide, coated with a magnetic oxide rna
terial.
Data is recorded in a seven-bit code, in seven parallel
channels along the tape. Tape characters and their corresponding codes are shown in Figure 45.
Records are separated from each other by approximately % inch of blank (unrecorded) tape, called an
inter-record gap.
Each tape character is composed of an even number
of magnetic bits. A check bit (labeled C in Figure 46)
is written if the number of bits in the other six positions
is odd. An even-parity check on each character insures
accuracy for tape-read and tape-write operations.
In addition to this vertical parity check, a horizontal
check (HC in Figure 46) is made on each record. The
bits in each horizontal row are automatically counted
when the record is written, and a bit (similar in function to the vertical check bit) is written at the end of
each odd-count row. The vertical combination of these
horizontal-check bits makes up the horizontal-check
1401
Processing
1
1
I
I
IL __________ J
Model Conly
FIGURE
44.
DATA FLOW SCHEMATIC
1401
TAPE
SYSTEM
Codes
0123456789ABCDEFGHI JKlMNOPQRSTUVWXYZ&.~-$¥/
C
II
•
•
III
••
•
B
II
A
8
II
•
II
4
2
II
• ••
•
II
III
•
II
FIGURE
46
45.
_
II
II
II
II
II
II
. • • • •• • • •• .
II
••
II
•
•
•
II
II
..
......
-.
I
•
II
II
•
II
•
II
II
••
II
.~
•
•
II
II
II
II
•
II
II
II
L._
•
II
II
II
II
II
•••
II
•
II
•
.......-
MAGNETIC TAPE 'I-BIT CODINU
-
c ..
II
•• •
II
II
II
II
II
. . .-'--- ..
_
•
•
•
II
II
II
II
•
II
II
•
II
II
II
}Check
II
II
II
••
L • •_
II
II
II
II
--
•
•
••
••••••••
II
II
.
}zone
"
tNumed,"1
II
II
II
•
••••
.,
Tape Units
Checking
·.. . . .
A47KS25J3
C
B
A
8
4
2
FIGURE
U
J:
·
·· .
. .. . .. . . ·
· . ... ··
46.
Two models of the IBM 729 Magnetic Tape Unit (Model
II and Model IV) are available for use with the IBM
1401. The Tape System can accommodate as many as
six 729 tape units, which are attached to the Tape
Adapter. All the units used with one 1401 system
must be of the same model, and must use the same
tape density.
(
IRG \
VERTICAL AND HORIZONTAL CHECK
character. Thus, the coding of this character can change
from record to record. When the tape is read, the same
automatic count is made, but now each row in the
complete record should have an even number of bits, or
an error exists. The horizontal-check character is used
for checking only, and is never read into 1401 core
storage.
Odd bit redundancy tapes can be processed by the
1401.
The significant operating characteristics of the 729
II and IV tape units are outlined in Figure 47. Higher
density tapes provide significant storage advantage in
that fewer reels are required for a given volume of data.
729-11
Density, characters per inch
200 or 556
Tape Speed, inches per second
75
Inter-record gap size, inches
3/4
Start/Stop Time, Read/Write
operation; milliseconds
Character Rate, characters per second
FIGURE
47.
10.8
15,000 or 41,667
OPERATING CHARACTERISTICS OF IBM
729
TAPE UNITS
47
Tape Checking
The 729 tape units achieve increased reliability
through two new features: the two ..gap head, and
dual-level sensing. The first of these, the two-gap
head, makes it possible to verify automatically the
validity of recorded information at the time it is written.
The relative position of the read and write gaps
(Figure 48) is such that a character recorded by the
write gap passes the corresponding read gap approximately four milliseconds later. Thus, as each character
of a record is written, it is read and a parity check
applied.
FIGURE
48.
READ & WRITE GAPS ON A TWO-GAP HEAD
If an error is detected, the stored program receives
a signal, and corrective action can be taken. With the
two-gap head, a parity check is detected when the
character is written.
The ability of the two-gap head to read tape in both
reading and writing operations makes it possible to
check these operations by dual-level sensing. The read
head reads the tape at two levels of pulse strength, high
and low.
Ther~ is a 7-position high register and a 7-position
low register (one position for each channel). These
registers accept the pulses from the tape at a high
sensitivity level and low sensitivity level, respectively,
as each character is read. The registers function in a
slightly different manner for reading than for writing.
In a tape-read operation, the high sensitivity level
register is checked for even parity. If there is an odd
number of bits, the contents of the low sensitivity level
register is sent to the read-write register.
The contents of the read-write register is sent to core
storage. If a validity check is detected at the read-write
register a validity check indicator is set. This indicator
can be interrogated by use of the "L" modifier of the
TEST AND BRANCH instruction.
Thus a bit that results in a weak signal, but is valid,
can be ~ead from tape. If the character is still invalid,
a validity check signal is given.
In checking tape-write operations, the unit becomes
harder to satisfy by automatically making the high register less sensitive than for tape-read. (It still has a
higher sensitivity level than the low register, however.)
Each tape character written is read back, and must be
48
Signal
Level
Good Signal
Weak Signals
or unwanted noise
FIGURE
49.
RELA TIVE SENSITIVITY FOR DUAL LEVEL
SENSING
valid in both registers. The contents of the low register
are validity checked, and then are matched, bit for bit,
with the contents of the high register.
If the validity check in the low register detects an odd
number of bits, or if the bit-by-bit match between registers is unequal, a validity check signal is given.
Figure 49 shows the sensitivity levels, and the relative strength of pulses that are acceptable or not acceptable in read and in write conditions. Note that high
sensitivity means that an impulse of comparatively low
strength (voltage difference) is acceptable. Low sensitivity means that signals below a certain level or
strength are not detected.
If a tape error is suspected, the tape unit (through
programming) can be back-spaced and the record reread. If the error persists, the operator can intervene,
or the program can branch to an error routine.
Dust or damage to the magnetic tape is the most
frequent cause of errors detected during write operations. Since such imperfections are usually isolated, the
1401 has been provided with a command that causes
the tape to space forward approximately 8 inches when
the next write operation is initiated, in order to skip the
defective section. As the tape is passed, this short length
is erased so that extraneous data are not sensed when
the tape is read. After the skip is completed" the tapewrite operation continues.
. .
Another feature for file protection is a plastIC nng
(Figure 50) that fits into a groove in the tape reel. The
tape can be read with or without this file protection ring
in place, but no writing can be done without it.
The file protection ring should be removed from a
tape reel when writing is completed, thus protecting
tape records from any accidental writing.
Tape Instructions
OP - The operation code
(A) - % xx always appears in the (A) portion of a
1401 regular tape instruction.
EXAMPLE: M(%U3) (525)W. In a tape-write operation, transfers the contents of core storage to tape
unit 3, starting at location 525 and ending at the first
group mark sensed.
L (A) (8) d
LOAD MAGNETIC TAPE
The load instructions are basically the same as move
instructions. Where the (A) address specifies the tape
unit, (B) is the 1401 core storage address of the highorder position of the tape record, and the d··character
is R for tape-read, and W for tape-write.
However, the L operation code affects word mark
identification in core storage:
A word mark associated with any position in storage causes a word-separator character
(A 841) to be written automatically on tape, one
character ahead of that which contained the wocd
mark. Thus, word marks are translated to wordseparator characters for tape storage.
TAPE WRITE.
FIGURE
50.
FILE PROTECTION DEVICE ON TAPE REEL
The "%" sign signals that a tape unit is to be selected.
The second character can be varied to specify a particular type of operation. The third digit specifies the
particular tape unit involved.
% U 1 selects tape unit
(B) - is the location in 1401 core storage of the highorder position of a tape record.
d-The actual operation is represented in this position.
EXAMPLE:
M (A) (8) d MOVE MAGNETIC TAPE
This instruction starts the tape unit specified by the
(A) address. Word marks are not afIected by a move
instruction. Then the d-portion of the instruction is
interpreted.
(R). A tape-read operation is terminated
when an inter-record-gap is sensed. A group mark
(code CBA 84231) is inserted in 1401 core storage
to indicate the end of a tape record.
~------------------------------------------
EXAMPLE:
1401 Core Storage
Locations
1401 Core Storage
Code
1401 Meaning
Tape Positions
Tape Code
A
B
C
C82
0
A
82
41W
5
B
A841
4
4
C
41
D
C4
Word-separator characters are translated
to word marks in tape-read operations. A wordseparator character read from tape causes a word
mark to be associated with the next tape character, when it is transferred to 1401 core storage.
TAPE READ.
TAPE READ
EXAMPLE: M(% U2) (419)R. Read the record from
tape unit 2 to 1401 core storage in a TAPE READ operation. The high-order tape-record character is moved
to location 419, the next character is moved to location
420, etc., until transmission is stopped by an interrecord-gap in the tape record, or a group mark in 1401
core storage.
(W). Transmission of data from 1401
core storage to a tape is stopped when a group
mark is sensed. The (B) address is the high-order
position of the record (in core storage) that is to
be written on tape.
TAPE WRITE
EXAMPLE:
Tape Positions
Tape Code
140 1 Core Storage
Locations
1401 Meaning
1401 Core Storage
Code
A
82
B
A841
C
41
A
0
B
5
C
4
C82
41W
4
D
C4
Load instructions must be used when word marks
are needed for identification in tape storage. If tape is
written by a LOAD instruction, it must be read back by a
LOAD instruction for proper translation betwee~n the tape
and 1401 core storage.
49
U(A)d
UNIT CONTROL
This instruction is used to control other tape operations as specified by the d-character function:
d character
operq!Jf!n
B
Backspace Tape
E
Erase Forward
Write Tape Mark
M
R
Rewind Tape
-~------
-..
~
The (A) address specifies the tape unit selected.
U(A)B
B (I) D
TEST AND BRANCH
An instruction for testing tape conditions is provided. The d-character specifies the type of test, and the
(I) portion is the location of the next stored-program
instruction if the test is successful. If the tested condition is not present the program continues in normal
sequence. The "K'} and "L" modifiers reset the condition tested.
condition
d-character
BACKSPACE TAPE
This instruction causes the specified tape unit to
backspace over one tape record. The backspace operastops when an inter-record-gap is sensed.
EXAMPLE: !:-Z (% U4) B-Tape unit 4 backspaces
until an IRG is sensed.
U(A)E
Tape Test Instructions
ERASE FORWARD
This operation causes the specified tape unit to space
forward, and erase approximately 8 inches of tape, to
bypass the defective tape areas. The skip does not
actually occur until the next tape-write operation is
given.
K
L
End-of-reel
Tape error
B (I) K
END-OF-REEL INDICATOR TEST
When a tape mark is read by the 1401, or the reflective spot sensed during a write operation, the end-ofreel indicator is turned on. This instruction tests the
indicator and branches to location (I) if it is ON. If it
is OFF, the program continues normally.
EXAMPLE: B( 496) K. If there is an EOR condition,
the program b~anches to core-storage location 496. If
no EOR condition exists, the program continues in
sequence.
A special tape character (8421) is recorded fol1owing the last record on a tape, to indicate an end-o/-reel
condition. When the tape mark character is read back
from a tape, the end-of-reel indicator is turned on. This
signals the 1401 program that the end of the utilized
tape has been reached.
B (I) L
TAPE TRANSMISSION ERROR TEST
Whenever an error occurs in transmission between a
tape unit and the 1401 during a tape-read or write operation, an error indicator is turned on in the 1401,
and a tape-error light on the console glows red. The
B (I) L instruction tests the error indicator, and branches
to the location specified in the (I) address if it is ON. If
no tape error occurred, the program continues in sequence.
EXAM PLE: B (521 ) L. The 1401 program branches to
location 521 if a tape error has occurred. If there was
no error in transmission, the normal program sequence
is uninterrupted.
EXAMPLE: !:-Z(% U 1)M. A tape mark is inserted after
the last tape record that was written on tape 1.
TESTING CONDITIONS
EXAMPLE: U( % U2)E-Tape unit 2 erases approximately 8 inches of tape when the next M (% U2) (B)
W; or L (% U2 ) (B) W (tape-write) instruction is
ordered.
U(A)M
U(A)R
WRITE TAPE MARK
REWIND TAPE
This instruction is usually given subsequent to an
end-of-reel condition, and causes the selected tape unit
to rewind its tape. When the operation is initiated, the
unit specified is effectively disconnected from the system. Rewind time is approximately 1.2 minutes per
2,400-foot reel for the 729 11, and .9 minutes for the
729 IV. The next instruction following a REWIND TAPE
instruction is normally a STOP, so that the operator can
replace the reel, and restore the tape unit to a ready
status at the completion of the rewind operation.
EXAMPLE: U(%U3)R. The tape in tape unit 3
begins to rewind.
50
The end-of-reel and tape transmission error tests must
be made immediately following a tape-read or write
operation to insure correct operation. A tape operation
on any tape unit resets the error indicator. The EOR
indicator cannot be tested if another tape unit is selected.
Tape Sorting
The high-low-equal compare feature provides speed and
flexibility in tape-sorting operations. A control number
in storage can be used to determine the sequence of
records that have been read from tape.
EXAMPLE:
(596)
~(495)
Compare the data at storage location 596 to the control number at
495.
~(797)U
If the data at 596 is higher than
the control number at 495, branch
to location 797 for the next instruction.
Console Keys, Lights and Switches
TAPE SELECT. This rotary switch is set to the normal
position (N) during automatic operation. The
switch can be set to the number (1-6) that corresponds to any of the attached tape units, when
manual operation is desired (Figure 51 ).
FIGURE 51.
CONSOLE KEYS, LIGHTS AND SWITCHES
FOR TAPE SYSTEM
TEST HIGH LOW OR EQUAL COMPARE
B (I) d
The B (I) d instruction tests the result of the previous
compare operation and branches to the location of the
next instruction if the condition is satisfied:
d-character
/
s
T
U
condltion
Unequal (B is not equal to A)
Equal (B is equal to A)
B is lower than A
B is higher than A
BACKSPACE. This key works in conjunction with the
tape-select switch. When the switch is set to a
specific tape unit, pressing this key causes the tape
in the selected unit to back space over one group
of records, until an inter-record gap is sensed.
TAPE. This light glows red if a tape error occurs during
a read or write operation. It is turned off automatically when the error indicator is reset by a
subsequent tape operation.
TAPE LOAD. When this key is pressed, tape unit 1 is
automatically selected and tape data starts loading
at address 001 and continues until an inter-recordgap is sensed.
A AND B AUXILIARY REGISTERS. Pressing either the A or
the B Auxiliary Register key displays the contents
of the particular register. The auxiliary registers
are part of the multiply-divide optional feature.
51
CDlumn Binary Device (OptiDnal)
valid. At the completion of this instruction, a BCD
coded image of the card is stored in addresses 001
through 080. The portion of the card that contains
column binary information appears as hash in the
corresponding addresses 001 through 080, and the
portion of the card that contained alphameric
characters is stored in BCD code in storage addresses 001 through 080. Storage address 401-480
and 501-580 contains the true coded card image.
In these areas all alphameric characters appear as
hash and all column binary information appears
as illustrated in the following example:
This feature provides compatibility of input-output
information between the IBM 1401 Data Processing
System and IBM Scientific Data Processing Systems such
as the IBM 704, IBM 709, and IBM 7090.With this feature, cards, and magnetic tapes which
are binary coded, can be processed by the 1401, making use of its operational functions such as reading,
writing and logic operations.
The reading of column binary cards is controlled by
modified feed instructions. The IBM 1401 operation
codes for this feature are:
lC
READ COLUMN BINARY
1 (1) C
READ COLUMN BINARY AND BRANCH
The READ COLUMN BINARY operation code 1 C
cannot be combined with any other code.
The card reader takes a feed cycle and reads
the information into storage as a normal feed cycle.
However, instead of taking only 80 storage cycles
during each read scan, the reading requires 160
storage cycles for column binary coding.
During the reading of column binary information two different areas of storage are used. The
read cycle is executed in two parts to permit using
the two areas of storage. The card cycle time 9
through 4 uses the normal feed addresses 001
through 080 and new area addresses 501 through
580. The other portion of the card cycle time 3
through 12 uses addresses 001 through 080 and
401 through 480.
A validity check on this operation is not performed because all the characters are considered
52
Punches in Card Column
BCD
C
B
Storage
Address 40 I
12
11
A
8
o
1
2
3
4
2
1
Storage
Address 50 I
C
B
A
8
4
2
4
5
6
7
8
9
1
The punching of column binary cards is controlled by modified punch instructions. The IBM
1401 operation codes for this feature are:
4C
PUNCH COLUMN BINARY
4 (1) C
PUNCH COLUMN BINARY AND
BRANCH
The punch instructions require controls similar
to the read instructions. The storage addresses 401
through 480 are punched in the 12 through 3
positions of the card in columns 1 through 80. The
storage addresses 501 through 580 are punched
in the positions 4 through 9 in the card in columns
1 through 80. Because storage positions 001-080
are scanned for a columnar count check, 160 storage cycles are required for each scan.
To write the column binary information on
tapes in the correct order, the data located in
addresses 401-480 and 501-580 must be arranged
in the following sequence:
Addresses 401, 501, 402, 502, 403, 503472, 572.
To arrange this information in the proper order a
modified MOVE instruction is used with the stipulation that a word mark must be located in the
high-order position of storage, in the 400 area.
This area contains the column binary information.
M (A) (B) A
MOVE AND UNSCRAMBLE COLUMN
BINARY
This code provides for moving and arranging
data into the correct order and locations for tape
output. The address at (B) cart be any valid address. The (A) address is normally 572 or 580,
depending on whether the ~~ard has 72 or 80
columns of binary information.
At the completion of this instruction, the information is arranged in the proper binary order for
writing on tape.
When binary information is read into the 1401
from tape, it must be put into a coded card image.
The modified MOVE instruction to do this is:
M(A) (B)B
MOVE AND SC:RAMBLE COLUMN
BINARY
This code moves and arranges information read
in from a tape unit, into coded-card image (binary
form). The (A) address can be any valid address,
the (B) address is normally 572 or 580 depending
on the number of columns being processed.
A word mark must be located in the high-order
position of the B field, normally 401, to end the
operation. A word mark in the A field can also
end the operation after the following B cycle. At
the completion of this instruction, the information
is in the coded card image form in addresses 401480 and 501-580.
The column binary information must be put on
magnetic tape with an odd redundancy mode. This
operation is accomplished by using a modified tape
instruction:
M(%B1) (B)W
WRITE TAPE BINARY
Causes magnetic tapes to be written in binary
form.
M (%B1) (B)R
READ TAPE BINARY
Causes magnetic tapes, written in binary form,
to be read into the 1401 system.
The only difference between this type of instruction and the basic read and write magnetic tape
instructions is the B character located in the third
position of the instruction. This B character causes
the 1401 to read or write tape in an odd redundancy mode.
W (I) (B) d
BIT TEST
The digit (d) can be any character or combination of bits that can exist in a character position in
the 1401. If the single character at address (B)
contains a bit that matches a bit in the (d) character the program branches to address (I). Otherwise the next instruction follows in sequence.
Example: Address (B) contains G (A, B, 1, 2,
and 4 bits) and digit (d) contains 9 (8 and 1 bits),
a branch occurs because the 1 bits match.
This instruction can be chained so that a program branch takes place if anyone of a number
of characters contains the bits tested for:
53
Program Loading Routine
This is a procedure for loading information into the
IBM 1401 Data Processing System. It is not the only
method that can be used, but it is typical of methods
used by programmers.
This loading procedure pre-supposes use of an instruction card format as shown on the chart in Figure
52.
The rules to be followed in preparing each of the
6 types of instruction cards used for loading are:
RULE
1.
Card formats must follow those shown in the storagelayout chart. The first three cards are used to set word
marks necessary for succeeding operations.
1. Does not need a word mark for location 001.
The load key automatically sets the program to this
location. No word mark is necessary for location
008 for the first card. The 1401 recognizes the
end of a SET WORD MARK instruction when it has
placed seven characters into the program registers.
The card sets word marks in locations 008 and
012, initiates the reading of card 2, and branches
to location 00 1.
CARD 2. Sets two word marks for locations 060 and 067,
initiates the reading of card 3 and branches to
location 001.
CARD 3. Sets two word marks, for locations 074 and
078. It causes card 4 to be read, and branches to
location 060 for the next instruction.
INSTRUCTION CARD. A standard load card. The information contained in card columns 1-4, 8-11 and
60-80 is constant, and should be pre-punched.
The data punched in card columns 5-7 identifies
the location of the instruction (high-order position). The instruction to be loaded is punched
starting in card-column 12, and may continue
through card-column 19.
CARD
The length of the constant can
vary from 1 character to 48 characters. The constant load card is a ftandard card and may be
prepunched. The location (XXX) of variable data
(units position) is in columns 5 -7. The constant
to be loaded is in card columns 12-59, and the
number of characters (YYY) to be loaded is in
columns 2-4.
NOTE: The information to be prepuncbed differs
from that prepunched in the instruction load cards.
Used to clear input area and to branch
to the first program step.
TRAILER CARD.
RULE
2.
Pressing the LOAD key on the reader causes an instruction card to feed, places the contents of the card into
locations 001 through 080, and automatically starts
execution of the load program at location 001. This
eliminates the need for manual setting of console dials
in preparation for loading.
LEADER CARD , I
DATA
LOCATION
W RD MARK
DATA
5
o
10
·-T~r'15r~
•
r
I
'60'
' "
067
',060 1
LOCATION
0
W RDMARK.
i
5
iii
11001 ,
··1"Cr+'-"'1S-,-,-,---cx20
..- ~
Iii
6~
!,!,
160'
iii
75'
DATA
DATA
DATA
LOCATION
W RD MARK
CLEAR AND BRANCH CARD
CONST ANT LOAD CARD.
54
52.
80
1
'65i~~TI'8O'
LOCATION
W RD MARK
FIGURE
I I I
.l_l---L....-L L __ L...L.~L"L1- i._ L .LJ
INSTRUCTION CARD STORAGE FORMAT
IBt.11401
PROGRAM
Clear Storage
Programmer:
Card 1 of 2
Date:
Instruction
Step
Inst, 0
No. Addre.. pl-"""A/~I~~6~ d
001
•
008
013
Clear Storage Routine
fORM X 2~·6~37·0
PRINTED IN U.S.A
CHART
Program:
Effective No.
of Characters
Remarks
Inst. Data Total
This is a procedure that can be used to prepare core
storage to accept program and data information. This
is not the only clearing routine that can be used; others
are left to individual creativity of the programmer.
The following two-card program can be used to clear
storage of all characters and word marks. The character in column 36 of card 2 is variable according to the
number of storage positions available:
Set Word Marks 'in Read Area
~r~_N~O=OO~~O~4-_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _~+-+-~
~~,
020
027
020
031
035
027
039
031
043
035
050
039
054
043
058
050
077
I--~~
IBt.11401
1
++_________________+_+--
OB
Read and Branch
001
PROGRAM
-PRINTfO IN I}.S.A,
Card 2 of 2
Programmer:
Step
Inst.
bO..-"ln=.tr=uc=tio~n---l
C
038
Date:
Remarks
of Characters
Inst. Dato Total
079
Check for Clear Address
t---i"_0"-'-08~Bt----=-0:3.:..5_t_---t"/+-=Of'-'-09'-!..9--------------I_- _
013
L
073
Load Instructions into Pc:::h.~..:A~re~a---1-4--+---1
116
I-- - - '-.~ ~020
027
Define Instructions in Puneb.
105
Area
~
r--
-Effective No.
No. Addr... Pf..-.c-A/~I-'-~B~d
001
T for 1400 positions,
Z for 2000 positions, and an
I for 4000 positions.
fOAMK24.,U37·0
CHART
Program: _ _--'C=le""'ar'-"S=tor""as'-".o_ _ _ _ _ _ _ _ _ _ _ _ _ __
--
f----
-----
031
B
101
Branch to Punch Area
035
I
T99
Clear Block of Storage
~
039
043
050
036
A
076
It
036
Modify Clear Instruction
To Next Lowest Century
038
Block
054 B
001
t---i"-=°-F~~--~1~B=ra=nc~ht=o=Co=~=ar=e--------_t__+_~--058
I
062
1
063
067
Cl~ar
099
--
------
from 099 to 000
Read Card
OQL - - - -
I
--
001
074
100
077
099
~~~Word
116
Mark in 001
Clear Punch Area
-1---- 1--.--1--r-~t-----------~
-I-' __ ~--++.:::ma=ch:::.:ln=e.-=a-=z..::fo::.:rth:::.:.:....::2:::..Ka~nC1::..:a",-n:...:1fo:::.r--l-+_+---l
the 4K model.
FIGURE
53.
CLEAR ROUTINE
Multiplication and Division Subroutines
These are subroutines for mUltiplication and division
operations, discussed here to illustrate programming
methods and to aid programming for machines not
equipped with the multiply-divide! optional feature.
These are not the only methods of performing these
operations-they are typical methods.
A multiplier area is provided in storage positions
901-909, and the product area is assigned in storage
positions 910-929. The multiplicand can be located
anywhere.
Any program that uses this sub-routine must include
a step that moves the multiplier address to location 937
(XXX) and the multiplicand address to location 952
(YYY).
Multiplication
This multiply sub-routine occupies the 900 block of
storage, and provides for a maximum of a 9-digit multiplier, II-digit multiplicand, and a 20-digit product.
At the completion of the multiply sub-routine the
program instruction step 12 can use a branch to the
main program or stop.
The routine starts in storage position 930. The
product is found in 929 for a 9-digit multiplier, 928 for
8-digit, 927 for 7-digit, 926 for 6-digit, etc.
55
r--------------------------
IB~ 1401
PROGRAM
CHART
Progrcm:~ Subro"!!!!!!L.__
Date:
Effect;ve No_
I
of Characters
In:_IDo,o[To,ol
I
Yes
!7!jj
8!
J
1
M!L_ A
YIT_
~
_J!llli. __ 1l
98L
909
_~~=!__
B ..Jl4!_
.Jl~1_~
V
_.1m
987_
_J!.ga_
No 0 add roultlp!IQll,lld to pI:"duct
Test for_word_ tll.!ILl
1
:
------------------- ----+---'+
--t--~
! I
986
11
987
_9H _
Yes
XXJ{
I
YYY
I
FIGURE
Add One to
Address and
Find number of
significant digits
in Divisor
54.
Add One to
Quotient
MULTIPLY SCBROUTINE
Add Div~.sor
back to
Dividend
Adjust Addresses
one position to
the Right
Clear
Product
Area
Load
Multiplier
FIGURE
56.
DIVIDE FLOW CHART
Test for
Zero 909
Test for
Word Mark
909
Reduce
Multiplier
Shift
Right
b
Branch
Unconditional
to Zero Test
56
55.
1
Move Product
to
Output Area
Branch
Unconditional
to Zero Test
Read and
Print
FlGURE
Add M'cand
to Product
MULTIPLY FLOW CHART
Division
The restrictions placed on this subroutine are:
l. The dividend and quotient fields must be of equal
length.
2. All fields must be positive.
3. The divisor cannot contain more than nine nonsignificant zeros.
4. All fields must be located completely below address
999.
5. The remainder is left in the dividend field.
IBM
1401
PROGRAM
Program:
Instruction
Step Inst
No. Addr P A/I
B d
0
FORM X 24-6437-0
CHART
PRINTED IN U.S.A.
DIVIDE
S~J""B,---,-,R-",O~U,-,T--,-,IN~=E___________________
Programmer:===:======--========-,=D'..':a'.'.'te,,;:=====__=_==;
ffective No.
Remarks
of Characters
lost. Data T~t;;I
W
_____ 516 f~1---5O~_~ __ ~?tore address of wor~marko~d_iv_i_so___r__________---jl___----t----+--------l
r---~~- _B f---642
- -
-----
531
___ 538
545
-----
YYY 0
---~-+-----------------------------------
S 512
515
_~!~
__ ~
---------------
A
Branch if divisor digit equa!_s_"O__"________________ _
---
---1-------
------
----- f-------
Find significant digits in divisor
-----------------------------------~--I-------f---
_+-_______________________________ ~ ____
---f--------
A 5~15+_~5~05~+-~M~oo~i~~~ad~dl---r~es~s--------------------_____ _+_-_+_-~
552 S 513
- - ----
502
WWW and XXX
-t-----------------------------+--+--+--i
_._~ ~ l.!~ _ _=_50c_5+__+__-----------------------------------~---i_____--1---_
1---- - - -
--
----1---------- -- 1---------- - - - - - - - - - - - - - - - - -
-- - -------------------------------I----t--+----l
566 M 502 628
------1---------1------- f--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - / - - - + - - - 1
I"J
635 --
.--.C.-_
502
---
580 M 502
684
587 M 502
691
573
Set modified addresses into divide routine
"--~.-
-
594 M 502
740
M 505
643
608 M 511
62=
615 M 511
681
601
- - I----
622
S ZZZ
629 V
____
---------------~I___-_r----
--",------"--------
--------------------------------------t---I-------
Set divisor
www
addr~~~ ______________
Subtract divisor from dividend
678 WWW K
XXX
Branch if
---
Location of
Data Word
499
negativc~
Add one to Quotient
637 A
513
644 B
622
648 A
513
529
--
Add one to YYY clddress
--------------------------
655 A
513
512
Increase ~ounter_I?2'_()~ ___________
662 C
512
515
Test for divisor eCluals 0
------------
~
523 ___
B
Repeat
678
A c_
ZZZ
_______
_WWW
_ __
685 Y 499 WWW
-- -- ---r--------- - - - --692 A 513 628
- - ---1-------
513
502
- - - - _ . _ - - - - - - - - - - - _..
I. _Branch If unequal
_~~4- _ 1--746+___
699 A
Data for Division Subroutine
--
_-
505
508
______________ _
Store--cannot divide by zero
--
Add divisor back to dividend
--
511
512
Remove zone bits _____________
Moolfy address by_ on_e_____________---1
513
515
Data Word
Description of Data
blank
Constant
WWW Address of word mark position
of dividend
XXX Address of word mark position
of quotient
YYY Address of word mark position
of divisor
ZZZ
Divisor address
blank
Counter for # of zeros in
divisor
Constant
1
Lq
Length of quotient
~-------------------------------------------------~
635
-j----j-+-----------------
~___~7-0--64_A~5-13~6-4~3~1----------------------------------+--+_-r---i
713 A 513 684
Modify address by one
---- -------- -- ----- ----- -- ---------- --------------~---+----+---j
___ ~~_~~_134--6-941~-------------------------------------------+--+--~~~
727
----- ---734
A 513
740
V 746 WWW 1
---------- ---------------+--+----+---1
Divide complete if word mark exi.::..:st..:s_____________I--_-f-_ _I_--I
--I-----t---1I--------iI--------jr-+--------------------------------------i---+----f---i
742 T
__
622
Continue dividing
!~ _ f-- _____ l _ _~-l--D-iv--i-de--c-om-p'-l-e-te--- ----------------+---i_____-t-----t
---1___--I--4-----i---4--+----------------------------------~--I---+--~
FIGURE
57.
DIVIDE SUB-ROUTINE
57
CHARACTER
CARD CODE
I
BCD CODE
C
.
A
8
X
X
X
X
X
X
X
12-3-8
X
X
12-4-8
(Undefined Soecial Character)
12-5-8
>:c
X
X
X
X
Soecial Character)
12-6-8
>:c
X
X
X
X X
(GrOLJD Mark-SDecial Character) (Note 1)
12-7-8
X
X
X
X
X X
X
&
12
X
X
X
$
11-3-8
X
X
X
X
X
):c
11-4-8
X
X
X
(Undefined Soecial Character)
11-5-8
>:c
X
X
X
X
(Undefined Special Character)
11-6-8
>:c
X
X
X
X X
A (Mode Chanoe (Delta) Special)
11-7-8
X
X
X X
X
-
11
X
X
X
I.
-'
r~ lit:
-'
X
X
X
X
0-1
X
X
I
0-3-8
X
X
X
%
0-4-8
X
X
X
(Word Separator-Special Char.)
0-5-8
>:c
X
X
X
X
(Undefined Special Character)
0-6-8
::c
X
X
X
X X
Tape Segment Mark-Special Char.
0-7-8
X
X
X X .X
'X
X
/
1401 Generated Special Character (Note 2)
X
X
#
3-8
@
4-8
X
X
5-8
~:c
X
X
(Undefined Soecial Character)
6-8
~:c
X
X X
(T ape Mark-Special Char.)
X
X X
X
X
(Undefined Special Character)
58
1
[J
(t
FIGURE
2
X
No Punches
BLANK
4
B
X
7-8
X
+
0
12-0
X
A
X
X
X
12-1
X
X
B
12-2
X
X
X
C
12-3
X
X
X
D
12-4
X
X
X
E
12-5
X
X
X
X
F
12-6
X
X
X
X X
G
12-7
X
X
X X
H
12-8
X
X
58.
1401
CHARACTER CODE CHART IN COLLATING SEQUENCE
X
X
X
X
X
X
X
X
CHARACTER
BCD CODE
CARD CODE
X
I
12-9
0
11-0
J
11-1
X
X
K
11-2
X
X
X
L
11-3
X
X
M
11-4
N
-
X
X
X
X
X
X
X
X
X
11- 5
X
X
0
'11-6
X
X X
P
'11-7
X
X
X X
Q
11-8
X
X
X
X
X
R
Re cord Mark
X
X
11-9
:f=
or +
X
0-2-8
5
0-2
T
0-3
U
0-4
V
X
X
X
X
X
X
X
X
X
0-5
X
X
W
0-6
X
X X
X
0-7
X
X
Y
0-8
X
X
X
.Z
0-9
X
X
0
1
1
2
\
X
X
X
X
0
X
X
X
X
X X
X
X
X
X
X
X
2
X
X
3
3
4
4
5
5
X
X
6
6
X
X X
7
7
8
8
9
9
X
X
X X
X
X
X
X
X
X
* Coding not valid for reading or punching card codes but can be used in tape operations.
The 1401 has theabil ity tOI read MLP card codes. The 1401 ignores the 8-9 punches when they
appear in the same column. The 1401 does not punch out MLP card codes.
Note 1.
In the 705, this is punched as (12-5-8).
Note 2. The A bit coding must be program generated in the 1401 (it cannot be read in from a
card); however, it can be punched in a card, and punches as a 110 11 (zero zone).
(FIGURE
58.
CONTINUED)
59
IBM 1401 Data Processing System Timing
Card Systems
The following definitions are used in specifying the
1401 timings:
LI -Number of characters in an instruction
LA -Number of characters in the A field
LB -Number of characters in the B field
Ly -Number of characters back to right-most "0"
in control field
Name
READ
PRINT
PRINT READ
PUNCH
READ PUNCH
PRINT PUNCH
PRINT READ PUNCH
READ RELEASE
PUNCH RELEASE
NO OPERATION
STOP
STACKER SELECT
UNCONDITIONAL BRANCH
TEST AND BRANCH
TEST CHARACTER
ZONE AND WORD MARK TEST
BIT TEST
SET WORD MARK
CLEAR WORD MARK
MOVE DIGIT
MOVE ZONE
COMPARE
LOAD
MOVE
RESET ADD
RESET SUBTRACT
ADD (no recomplement)
SUBTRACT (no recomplement)
ADD AND RECOMPLEMENT
SUBTRACT AND RECOMPLEMENT
MOVE AND ZERO SUPPRESS
CLEAR
EDIT
FORMS CONTROL
60
OP Code
1
2
Lx -Number of characters to be cleared
Lw-Number of characters in the A field or the
number of characters in the B field, whichever is shorter
This list contains the formulas to be used in calculating the time required to execute an instruction, in
milliseconds.
Formula
3
4
5
6
7
8
Require .0115 [LI+ 1] milliseconds plus
the timings as shown in (Figure 59).
9
N
K
B
B
B
V
W
n
D
Y
C
L
M
+
o
o
.0115 [LI+1]
"
"
"
"
.0115 [LI+2]
"
"
"
"
.0115 ILI+3]
"
.OJ 15 [LI+l+LA+LB]
.0115 rLI+1+2LA]
.0115 ILI+l+2Lw]
.0115 [LI+1 +LA+LB]
"
A
S
A
S
Z
/
E
F
"
.0115 ILI+3+LA+4(LB)]
"
.0115 [LI+ 1+3LA]
.0115 ILI+ I+Lx]
.0115 ILI+ 1+LA+LB+Ly]
.0115 ILI+ 1] + remaining form-movement time if carriage is moving when
this instruction is given. The formmovement time is determined by the
number of spaces the form moves. Allow
20 ms. for the first space, plus 5 ms.
for each additional space.
Printing
Timing Chart
When the operation code 2 is given, the information in
the print output area is directed to the printing mechanism. This consumes 84 milliseconds. The remaining
16 milliseconds is devoted to processing time. If the
actual processing time exceeds the 16 milliseconds allotted, the basic print cycle is extended by the amount
of the excess process involved. For example, if five additional milliseconds of processing were required (21
milliseconds total), the basic print cycle will now be
105 milliseconds. Converting this to lines per minute
means that the machine is now printing at a rate of 571
lines per minute.
The main purpose of the timing charts (Figure 59)
is to illustrate the processing time available during
printing, reading, and punching. Knowledge of the execution time for the individual operation codes is necessary before these charts can be used effectively.
Card Read
The Read Start Time is the time devoted to accelerating the card reader and positioning the card for reading.
The 44 milliseconds is the time required to read the
card. During these 44 milliseconds, no processing takes
place. The remaining 10 milliseconds is the time devoted to processing. To maintain 800 cards/minute,
another read instruction would be required during this
time. If the process time exceeds the 10 milliseconds
allotted, the reader will then function at a rate of 400
cards/minute.
Card Punching
The start time is the time devoted to accelerating the
card punch and positioning the card for punching. The
actual time taken for punching a card is 180.5 milliseconds. No processing takes place during this time.
The remaining 22.5 milliseconds can be utilized as
processing time.
CARD READI N G
BOO CARDS PER MINUTE (Assume that operation code "1" was given during previous cycle)
-------~.lIIoIli-oICll--lO ms~
75 ms
/ : ; 21 ms
I. ..-___________
.
__...
lIr
_ __
Read Start Time
44 ms
Card Reading
Processing
Time
The Read Start Time may be ulled as Process Time
if the "Read Release" Option is employed.
CARD PRI NTI NG
600 LINES PER MINUTE (A~.sume that operation code "2" was given during previous cycle)
:
~
~ ~-
:~
...- - - - - - - - - - - 84 ms _ _ _ _ _lO_o_m_s_ _ _ ._ _ _ _ _ ........, ....
16 ms ___
Printing
Processing
,.
20ms - - -.......
Form Movement
CARD PUNCHI NG
250 CARDS PER MI NUTE (Assume that operation code "4" was given during previous cycle)
I:
240 ms
....1 I l - - - -
I. .r-----------
37 ms - - l.......
Punch Start Time
180.5 ms
Punching
The Punch Start Time may be used as Process Time if the
"Punch Release" Option is employed.
FIGURE
59.
1401
'------~~I -oI ~ 2~5~
.. ....
Processing
Time
TIMINGS
61
Magnetic Tape
UNIT
CONTROL
U
.0115 [Ll+1] + tape movement time
1. Time for tap~ instructions is .108 milliseconds.
2. Tape operations (times expressed in milliseconds)
TAPE READ, WRITE
729 Model II:
729 Model IV:
10.8 + CN ms.
7.3 + CN ms.
REWIND
729 Model II:
729 Model IV:
1.2 minutes/reel
.9 minutes/reel
BACKSPACE (after read)
729 Model II: 46.4 + CN ms.
729 Model IV: 32.6 + CN ms.
BACKSP ACE (after write)
729 Model II: add 7.5 ms. to above
729 Model IV: add 5.0 ms. to above
NOTE:
C = Character rate, time in milliseconds per
character.
N = Total number of characters traversed
for 729 II at
at
for 729 IV at
at
ERASE FORWARD (add to subsequent write time) *
729 Model II: 108 ms.
72 ms.
729 Model IV:
*leaves about 8" between records
200
556
200
556
cpi. = .067
cpi. = .024
cpi. = .044
cpi. = .016
1401 Operation Codes
Op Codej
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
K
L
62
Function
Read
Print
Print-Read
Punch
Read-Punch
Print-Punch
Print-Read-Punch
Read-Release (optional)
Punch Release (optional)
Add
Branch
Compare
Move Digit
Edit
Forms Control
Stacker Select
Load
Op Codes
M
N
S
U
V
W
Y
Z
@
%
+
0
0
•
11
/
Function
Move
No Operation
Subtract
Unit Control (optional)
Zone and Word Mark Test
Bit Test (optional)
Move Zone
Move-Zero Suppress
Multiply (optional)
Divide (optional)
Reset Add
Reset Subtract
Stop
Clear Word Mark
Clear
Set Word Mark
ms.
ms.
ms.
ms.
Index
A-Address Register Light _____________________________ 39
A and B Auxiliary Registers _________________________ 51
ADD
_______________________________ .__________________ _ 25
Addressing _______________________________________ _ 20
Add-to-Storage Logic ______________________________ _ 8
Address Registers __________________________________ 21
Address Stop ________________________________________ 41
Advanced Design __________________________________ 10
A-Light _____________________________________________ 39
Alter ______________________________________________ 40
9
Arithmetic
Arithmetic Operation _________________________________ _ 25
Arithmetic Operation Codes ________________________ _ 25
Asterisk Protection _________________________________ _ 36
Auxiliary Console __________________________________ 41
B # A ____________________._____ ~ _________________
Backspace Key __________________________ .__________
Backspace Tape ______________________________________
B-Address Register Light ____________________________
B-Light _____________________________________________
Binary Coded Decimal ______________________________
Bit ___________.____________________________ _______________
Bit Display Light __________________________________
Bit Switches __________________________________________
Bit Test __________________________________________
39
51
50
39
39
9
7
39
41
53
Carriage Controls __________________________________
Carriage Stop ___________________________________________
Chaining Instructions _______________________________
Character Code Charts ______________________________
Character Display ___________________________________
Checking ___________________________.___________ 9,
Checking Lights ___________________________________________
Check Reset __________________________________ 39, 41,
Clear _______________________________________________
Clear and Branch __________________________________
Clear Storage Routine ___________________________________
Clear VVord ~ark __________________________________
Coded Addresses in Storage ___________________________
Column Binary Device _____________________________
Compare _________________________________________________
Console Keys, Lights and Switches ___________________
Console Keys, Lights and Switches for Tape System _____
Control Characters of Editing ____________________ 34,
Constant Load Card _________________ ._______________
43
42
21
59
40
18
39
42
32
32
55
31
13
52
32
38
51
35
54
Data Flow ____________________________________ 16,
Decimal Control _____________________________________
Divide _________________________________ ._______________
Division Sub-Routine ________________________________
46
37
26
57
Edit __________________________________________________
Editing _____________________________ ___________ 9,
Emergency OFF __________________________________________
End of Form ______________________________________
End of Reel Indicator Test ____________________________
Enter _________________________________ ._________________
Erase Forward ___________________________________
Expanded Print Edit __________________ ._________________
33
33
39
42
50
41
50
36
Feed Clutch
_____________________________________
Feed Knob _______________________________________________
File Feed ____________________________________________
Floating Dollar Sign _______________________________
Forms Control ___________________________________________
Forms Control and Branch _____________________________
Forms Check ______________________________________
Fuse _________________________________________________
43
43
13
36
31
31
42
42
Hole Count _______________________________________ 9
Horizontal Adjustment _________________________________ 43
I-Address Register Light _____________________________
IBM Card Systems __________________________________
IBM 1401 Tape System __________________________________
IBM 1402 Card Read Punch Operating Keys,
Lights and Switches ______________________________
IBM 1402 Card-Read Punch _________________________
IBM 1403 Printer ________________________________________
IBM 1403 Printer-Keys, Lights and Switches ___________
IIEX _______________________________________________
I/O Check Reset Switch _____________________________
110 Check Stop Switch _____________________________
Input/Output Codes ____________________________________
Input/Output Operations ____________________________
Input/Output Storage Assignments _____________________
Instruction Card ___________________________________
Instruction Format __________________________________
42
13
14
43
40
41
39
23
23
20
54
19
Language _______________________________________________
Load ______________________________________________ 30,
Loading Instructions _______________________________
Load ~agnetic Tape _______________________________________
Logic _____________________________________________
Logic Block Light ____________________________
Logic Operation Codes ______________________________
Logic Operations _________________________________________
8
42
22
49
9
39
28
28
Core Storage _____________________________
Storage _____________________________________
~agnetic Tape _____________________________________
~agnetic Tape Characteristics _______________________
~agnetic Tape Units _____________________________________
~anual Address Switches ___________________________
~anual Carriage Control ____________________________
~iscellaneous Operation Codes ______________________
~ode
Switch _________________________________________
~ove
_________________
_ _____________________________
~ove and Load ____________________________________
~ove and Scramble Column Binary __________________
~ove and Unscramble Column Binary ________________
~ove and Zero Suppress _______________________________
~ove Digit _. ___________________________________________
~ove-~agnetic Tape
_______________________________
~ove Zone ____________________________________________
~ultiplication Sub-Routine ___________________________
~ultiply
___________________________________________
7
8
46
46
47
40
43
31
40
29
29
53
53
30
30
49
30
55
26
~agnetic
~agnetic
39
11
44
No-Bit _________________________________________________ 7
No Operation ______________________________________ 32
63
Non-Process Runout Punch _____________________________ 42
Non-Process Runout Read _______________________________ 42
Parity -_______________ _________________________________
Parity Check ______________________________________
Physical Features ____________________________________
Polarity ________________________________________________
Power Off ------- ______________________________________
Power On ----_________________________________________
Power On Light ____________________________________
Print __________________________________________________
Print and Branch ___________________________________
Print and Punch ______________________________________
Print Check _____________________________________________
Print Controls __________________________________________
Print, Read, Punch, Branch ___________________________
Print, Punch, and Branch _____________________________
Print, Read, and Branch ______________________________ 23,
Print and Read ____________________________________
Print Storage ___________________________________________
Print Unit Release Lever _____________________________
Print Word Marks and Branch _________________________
Printer Display _________________________________________
Printing Method _______________________________________
Process Check Stop _________________________________
Program ______________________________________________
Program Loading Routine ____________________________
Punch ____________________________________________
Punch and Branch ___________________________________
Punch Check ______________________________________
Punch Column Binary ____________________________________
Punch Display ______________________________________
Punch Interlock ________________________________________
Punch Release _____________________________________
Punch Stop ________________________________________
Punch Switch ______________________________________
9
18
12
7
38
38
42
23
23
24
43
42
24
24
24
23
15
43
23
41
16
41
6
54
24
24
42
52
41
41
24
42
42
Read ____________________________________________________
Read and Branch ___________________________________
Read and Punch _____________________________________
Read Check ____________________________________________
Read Column Binary _______________________________
Read Column Binary and Branch _____________________
Read Release _______________________________________
Read Tape Binary ___________________________________
Reader Stop ________________________________________
Ready __________________________________________________
Reading Stations ____________________________________
Reset Add ___________________________________________
Reset Subtract _____________________________________
Restore Key ______________________________________________
Rewind Tape ____________________________________ ____
Rules of Editing _________________________________ 34,
Run ___________________________________________ 40,
23
23
24
42
52
52
24
53
42
43
13
26
26
43
50
35
41
Sense Switches _______________________________________ 40
64
(2-60:20M-VO)
Set Word Mark __________________________________________
Sign Control Left ___________________________________
Single Cycle Key _______________________________________
Single Cycle Non-Process _____________________________
Solid State Circuitry _____________________________________
Space Key --___________________________________________
Stacker ____________________________________ 14, 15,
Stacker Select -- ______________________________________
Stacker Select and Branch ___________________________
Start ---- _____________________________________________
Stan Key -- _______________________________________
Start Reset Key ____________________________________
Stop ____________________________________________ 32, 39,
Stop and Branch ___________________________________
Storage Address Display ____________________________
Storage Address Lights _________________________________
Storage Cycle ______________________________________
Storage Light __________________________________________
Storage Print Out __________________________________
Storage Scan _________________________________________
Stored Program Concept ______________________________
Stored Programming _____________________________ 7,
Subtract ____________________________________________
Sync Check-Printer ______________________________________
30
36
43
40
9
43
42
31
32
42
38
39
42
32
39
39
21
39
40
41
6
19
26
43
Tape Instructions __________________________________
Tape Load - __________________________________________
Tape Read - ___________________________________________
Tape Select ___________________________________________
Tape Sorting ______________________________________
Tape Transmission Error Test _____________________________
Tape Write
_ _____________ ____________________ _____
Test and Branch _______________________________ 28,
Test Character and Branch ___________________________
Testing Condition _____________________________________
Test for Zone or Word Mark and Branch ______________
Test High Low or Equal Compare ________________________
Timings ______________________________________ 60, 61,
Trailer Card ________________________________________
48
51
49
51
50
50
49
50
28
50
29
51
62
54
Unconditional Branch ____________________________________ 28
Unit Control ___________________________________________ 50
Validity ______________________________________ ____ 9,
Validity Check ____________________________________
Variable Length Instructions __________________________
Variable Word Length ______________________________
Vernier Knob (Horizontal) __________________________
Vernier Knob (Vertical) _________________________________
42
18
19
13
43
43
Word Marks ______________________________________
Words ____________________________________________________
Write Tape Binary _________________________________
Write Tape Mark ____________________________________
18
13
53
50
Zero
Suppres~on
___________________________________ 34
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2002:03:24 16:22:58Z Creator Tool : g4pdf Modify Date : 2009:09:01 13:41:18-07:00 Metadata Date : 2009:09:01 13:41:18-07:00 Producer : Adobe Acrobat 9.13 Paper Capture Plug-in Format : application/pdf Document ID : uuid:11c780bc-e4f7-4ef9-bd24-1807b0a33ff0 Instance ID : uuid:c9c7774d-8d15-4f76-a315-a4eb95145293 Page Mode : UseOutlines Page Count : 64 Creator : g4pdfEXIF Metadata provided by EXIF.tools