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 PDF.
Page Count: 64

DownloadD24-1401-1_General_Information_Manual_IBM_1401_Feb60 D24-1401-1 General Information Manual IBM 1401 Feb60
Open PDF In BrowserView 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                         : g4pdf
EXIF Metadata provided by EXIF.tools

Navigation menu