A24 3116 3_1440_System_Operation_Reference_Manual_Oct66 3 1440 System Operation Reference Manual Oct66

A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 manual pdf -FilePursuit

A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 A24-3116-3_1440_System_Operation_Reference_Manual_Oct66

A24-3116-3_1440_System_Operation_Reference_Manual_Oct66 A24-3116-3_1440_System_Operation_Reference_Manual_Oct66

User Manual: A24-3116-3_1440_System_Operation_Reference_Manual_Oct66

Open the PDF directly: View PDF PDF.
Page Count: 279

DownloadA24-3116-3_1440_System_Operation_Reference_Manual_Oct66 A24-3116-3 1440 System Operation Reference Manual Oct66
Open PDF In BrowserView PDF
File Number 1440-01
Form A24-3116-3

Systems Reference Library

System Operation Reference Manual
IBM 1440 Data Processing System

This reference publication contains the complete
instruction set for the IBM 1440, including required
and available inputj output units and special features.
The operation code for each instruction is given in
both actual machine language and autocodermnemonic form. Formulas are given for calculating
instruction-execution time when the time is not a
constant. Programming examples are also illustrated.
Refer to the IBM 1440 Bibliography,
Form A24-3005, for related IBM 1440 publications.

Fourth Edition (October 1966)
This publication is a reprint of form A24-3116-2, incorporating
changes released in Technical Newsletter N24-0362.
The original publication and applicable Newsletters are not
obsoleted.

Copies of this and other IBM publications can be obtained through IBM Branch Offices.
This manual has been prepared by the IBM Systems Development Division,
Product Publications, Dept. 171, P. O. Box 6, Endicott, New York
13760

©

International Business Machines Corporation 1964

Preface

This publication is a reference text for the IBM 1440 Data Processing System. It provides a detailed explanation of all the instructions used by the system to manipulate data and to control
the available input/output devices.
The reader should be familiar with the IBM 1440 System
Summar!!, Form A24-3006.
This manual is· divided into the following independent sections:
Section A. General Information
Section B. System Operations
Section C. IBM 1447 Operations
Section D. Readers, Punches, and Printers
Section E. Tape Input/Output Operations
Section F. Disk Input/Output Operations
Section G. Miscellaneous Input/Output Operations
Section H. Special Features
Section 1. Appendix
Section J. Index of Instructions
Section K. Index of Branch Instructions and d-Modifiers
Section L. Index
This manual can be placed in a 3-ring loose-leaf binder with
other publications for this system. Remove the staples to avoid
damage to the comers, and to facilitate page replacement as
new information is made available.

Contents

IBM 1440 Data Processing System .......... .
Stored-Program Instructions ....................... .

A-I
A-2

Tape Input/Output Operations ..
IBM

IBM

1441 Processing Unit ..................... . A-5

Processing ...................................... . A-6
Internal Checking ............................... . A-7
Addressing ..................................... . A-8
Address Modification
.......................... . A-13

IBM

1011 Paper Tape Reader ........... .

IBM

1011 Paper Tape Reader Instructions ...... .

IBM

System Operations

B-1

Arithmetic Operations

B-1
B-2
B-2
B-3

True Add ........... .
Complement Add ...... .
Arithmetic Instructions

Logic Operations

B-7
B-7

Logic Instructions ....................... ..

Data-Moving Operations .... .
Data-Moving Instructions

B-ll
B-ll

........ .

Miscellaneous Operations
Miscellaneous Instructions

B-15
B-15

Edit OpeTation ............. .

B-19

7335 Magnetic Tape Unit .. .

Magnetic Tape Instructions ....... .
Magnetic-Tape Timing ...................... .

IBM
IBM

Readers, Punches and Printers ................. .
IBM
IBM
IBM
IBM
IBM
IBM
IBM
IBM

C-l
C-l
C-1
C-4

D-l

1403 Printer, Models 2, 3, 5, and 6 ....... . D-l
1403 Printer Operations ......................
1403 Printer Instruction Format ................
1403 Printer Instructions ......................
1403, Model 2, Timings .......................
1403, Model 3, Timings ......................
1403, Model 5, Timings ......................
1403, Model 6, Timings ......................

.
.
.
.
.
.
.

D-l
D-2
D-3
D-6
D-7
D-7
D-8

E-9
E-9

1012 Tape Punch ....................... .

E-12

E-12
E-16
F-l

1301 Disk Storage, Models 11, 12, 21, and 22 F-l

Disk-Control Field ..... .......................
Basic Disk Operations ..........
. . . . . . ..

F-I
F-2

1301 Instruction Format and Instructions ..

F-3
F-4
F-4
F-9

IBM

Seek Operation
...............
Sector Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
Address Operations
............
...........
IBM

1301 Disk-Storage Timing ............ .

IBM

1311 Disk-Storage Drive ................. . F-16

Disk-Control Field .............................. .
Basic Disk Operations .. . . . . . . . . . . . . . . . . . . . . . . . . . .

IBM 1447 Console Operations
..........
Console Instruction Format ........................
IBM 1447 Console Instructions . . . . . . . . . . . . . . . . . . . . ..
Console Printer Timing .. . . . . . . . . . . . . . . . . . . . . . . . . ..

E-1

E-l
E-7

1012 Tape Punch Instructions ........... .
1012 Programming Concepts

Disk Storage Operations
IBM

E-1

IBM

F-13

F-16
F-17

1311 Instruction Format and Instructions . F-19

Seek Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sector Operations .............................. .
Address Operations ............................. .

F-19
F-21
F-27

IBM

1311 Disk Storage Drive Timing. . . . . . . . ..

F-31

IBM

1311 Error Routine ..................... .

F-33

Miscellaneous Input/Output Operations . ... .

G-l

1009 Data Transmission Unit ......... .

G-l
G-l

IBM
IBM

1440 Programming Logic ................ .
1009 Instructions .......... . . . . . . . . . . . . . . . . .. .

G-2

IBM

1412 Magnetic Character Reader, Modell.

G-7

IBM

1412 Instructions ............................ . G-7
Programming Considerations for the IBM 1412 ... .
G-13
IBM 1412 Timings .............................. .
G-15
IBM

IBM

1442 Card Read-Punch ................... . D-9

Card Read-Punch Instruction Format .............. .
IBM 1442 Card Read-Punch Instructions ........... .
IBM 1442 Card Read-Punch Timing ......... .
IBM
IBM
IBM
IBM

IBM
IBM
IBM

1443 Printer
1443 Printer Instruction Format .............. .
1443 Printer Instructions .. . . . . . . . . . . . . . . . . . . . .
1443 Printer Timing . . . . . . . . . . . . . . . . . . . . . . . . .

D-I0
D-I0
D-14
D-21
D-21
D-22
D-25

IBM

IBM

1444 Card Punch ......................... . D-27
1444 Card Punch Instructions ................ .
1444 Card Punch Timing .................... .

D-27
D-28

IBM
IBM
IBM

IBM
IBM
IBM

1445 PrinteT ............................. . D-30
1445 Printer Instructions .................... .
1445 Printing Speeds ........................ .

D-30
D-33

1448 Transmission Control Unit ...... .

Transmission Control .......................... ..
Operation ..................................... .
IBM 1448 Instructions .......... . . . . . . . . . . . . . . . . ..
Direct-Data-Channel Interrupt .................... .

7740 Communication Control System

G-19
G-19
G-20
G-20

G-24
G-27

1231 Optical Mark Page Reader ...... .

G-29

1231 Instructions ........................... .
1231 Program Control ....................... .

G-29

7770 Audio Response Unit, Model 1,
Programming ............................. .

G-31

IBM

G·34

reM

IBM
IBM

IBM
reM

7770 Instructions .......................... .

G-34

Sense Switches ............................. .

H-40

1285 Optical Reader ................... .

0-38
0-38

Track Record (1301)

H-40

Track Record (1311)

H-44

1285 Instructions

....................... .. .

1026 Transmission Control .............. .

G-43
G-43

1026 Instructions

H-48
General Description of Translate ................. . H-49

Translate

IBM 1440 Data Processing System,
Special Features ............................... .

H-1

IBM

Bit Test· ..

H-l

1009 Data Transmission Control Unit Buffer
Buffer Feature .............................. . H-51
IBM 1009 Automatic Mode Operation .............. . H-52
Additional and Modified Instructions for 1009
Buffer Feature .... . ........................ . H-53

Direct Data Channel ......................... . H-2
Signal Control Instructions .......................
..
. . . . . ...
Branch Instructions ..
Move and Load Instructions ......................
Instruction Utilization in the Program ...............

Direct Seek .............................. .

.
.
.
.

H-2
H-4
H-5
H-6

H-ll

Expanded Disk-Storage Control .............. . H-12

1009 Data Transmission Unit
Special Features ........................... . H-51

IBM

IBM
IBM

IBM

Expanded Serial Input/Output Adapter .... .
Primary System Operation ....................... .
Primary System Signals ......................... .
Secondary System Instructions .. . . . . . . . . . . . . . . . . . . .
Signal-Control Instructions ....................... .
Branch-if-Indicator-On Instructions ................ .
Read and Write Instructions ..................... .
Feature Operation ........................ , ..... .

H-14
H-14
H-15
H-16
H-16
H-20
H-23
H-25

Indexing and Store Address Registers ........ . H-28
Indexing ...................................... .
Store Address Registers ...................... ... .

H-28
H-29

1403 Printer Special Features· .......... .

Selective Tape Listing Feature .
IBM

Expanded Print Edit ......................... . H-12

1012 Tape Punch Special Features ..
1012 Tape Punch Read Feature

1442 Card Read Punch Special Features

Card Image Feature ............................ .
Selective Stacker ............................... .
Punch-Column-Skip Feature ...................... .
IBM

1447 Console Special Features

H-57
H-57
H-58
H-58
H-59
H-59
H-61
H-61
H-63

.................................... .

I-I

1440 Character Code Chart in
Collating Sequence ......................... .

I-I

Appendix
IBM

Declarative and Assembler-Control Statements
Imperative Statements ........................... .

1-2
1-2

Index of Branch Instructions .. ' ................ .

J-l

Scan Disk Feature· .... '...................... . H-39

Index of IBM 1440 Instructions

K-I

Seek Overlap (1311) ..................... .

General Index ................................. .

L-I

Multiply-Divide ............................. . H-32
Multiply and Divide Subroutines .................. .
Multiply and Divide Timings .................... .

H-34
H-37

H-40

Figure A-I.

roM 1440 Data Processing System

•
IBM 1440 Data Processing System

The IBM 1440 Data Processing System (Figure A-I)
represents a major advance in low-cost data processing systems. The IBM 1440 offers small companies the
functional capabilities of large data processing systems, but at speeds and costs in keeping with their
needs and abilities. The input and output devices of
the 1440 enable it to be effective in system areas where
there has long been a need for a data processing
system but not the volume of work to justify such a
system. Processing methods of the 1440 are similar to
those of the IBM 1401 Data Processing System.
The IBM 1440 is a solid-state system with compact
components and input/output devices. In addition to
its features of compactness and low-cost, the 1440
presents a new c!oncept in data processing with the
introduction of the removable disk pack.
In 1953, the introduction of IBM magnetic tape systems provided data processing systems with the ability
to process large volumes of input and output data at
very high speeds. Magnetic tape offers the advantage
of providing virtually unlimited storage capacity. In
1956, the RAMAC® disk file introduced a new concept
in data processing, permitting, as it did, storage of
large volumes of data that were accessible in a random
sequence.
The IBM 1311 Disk Storage Drive for the IBM 1440
Data Processing System provides virtually unlimited
random and sequential access storage. A disk pack
containing 2,000,000 characters of information can be
removed from the 1440 system and another pack put
in its place. This operator-removable disk pack combines the large-volume and sequential-processing advantages of tape systems with the random-access
abilities of a RAMAC file.
The ease of mobility of a disk pack (the weight of
the pack is less than 10 pounds) and the simplicity of
its removal from the drive means that 2,000,000 characters of data can be placed in the system wi thin
seconds. Data can be organized in the disk pack in
random or sequential order; regardless of how the
data is located on the disk pack, it can be retrieved by
the system in a random or sequential order with equal
facility, depending on individual requirements. Up to
five disk drives, each equipped with one disk pack,
can be attached <'on line" to provide 10,000,000 characters of information available at one time (equivalent to 125,000, 80-column punched cards).

The 1440 is primarily a disk-storage oriented system,
providing a group of balanced input/output devices
to wm-k in conjunction with the IBM 1441 Processing
Unit and with the IBM 1311 Disk Storage Drive. For
operations that require extensive calculating ability
and do not need a disk storage, the 1440 can function
as a card system.
The IBM 1440 is available in various configurations
to satisfy the requirements of individual users. It can
be ordered to meet the basic requirements of an accounting system, and then increased in size as data
processing requirements increase. If the 1440 is expanded to its maximum size and data processing requirements continue to grow, procedures and systems
developed for the IBM 1440 can be readily adapted
for processing on the medium-size IBM 1401 Data Processing System. With continued expansion and growth,
adaptation to larger equipment such as the IBM 1460,
1410, and System/360 Data Processing Systems can be
made.
Magnetic tape capabilities are also available when
the IBM 7335 Tape Adapter Feature is installed.

The Stored Program

The IBM 1440 Data Processing System performs its
functions by executing a series of instructions at high
speed. A particular set of instructions, designed to
solve a specific problem, is known as a program. Because the 1440 stores its instructions internally, it is
called a stored program system.
The 1440 system normally executes instructions sequentially. The system can also skip over a particular
group of instructions, or otherwise change the sequence of the program. Branch instructions are provided in the system to make it possible to alter the
program and take the next instruction from another
area of the stored program. This function also makes
it possible to repeat an instruction, or group of instructions, as often as desired.
A series of programmed tests determines the logical
path of the program. These tests are made at various
points in the program to control the course of program step execution for specific conditions that can
arise during processing.
A-I

Variable Word Length

Stored programming involves the concept of words.
A 1440 word can be a single character, or a group of
characters, representing a complete unit of information. Because mM 1440 words are not limited to a
specific number of storage positions - i.e., have variable word length - and because each position of core
storage is addressable, each word occupies only the
numbm of core-storage locations actually needed for
the specific instruction or data field.

instructions are the only instructions
that can be followed by a blank without a word
mark. These ins,tructions frequently terminate a
series of program steps. For this reason, circuitry
provisions have been made to eliminate the necessity of placing a wQlrd mark following the UNCONDITIoNAL BRANCH, and 7-position SET WORD MARK and
CLEAR STORAGE AND BRANCH instructions. All other instructions must be followed by a word mark.
AND BRANCH

Two operation codes are provided for setting and
clearing word marks during program executiQln.

Word Marks

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. Word marks are illustrated
by underlining the characters with which they are
associated.

Stored-Program Instructions
All machine functions are initiated by instructions
from the 1440 stored program. Because the 1440 uses
the variable-word-Iength concept, the length of an instructiQln can vary from one to eight characters, depending Q1n the operation to be performed.

The word mark serves several functions:
1. Indicates the beginning of an instruotion.
2. Defines the size of a data word.

Instruction Format

- Mnemonic

3. Signals the end of execution of an ins,truction.
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 10catiQlns throughout the complete program. The word marks are set into storage locations by a loading routine.

2. Word marks are not moved with data during processing, except when a load instruction (see No.5
below) is used.
3. For an arithmetic operation, the B-field must have
a defining word mark, and the A-field must have a
word mark only whe!ll it is shorter than the B-field.

X

Op Code A- or I-address B-address d-character

X

XXX

XXX

X

Mnemonic. This is the mnemonic operation code that
is used by the Autocoder processor program to designate the actual machine operation code.
Op Code. This is always a single character that defines
the basic operation to be performed. A word mark
is always associated with the operation code position of an instruction.
A-Address. This always consists of three characters. It
can identify the units positio!ll of the A-field, or it
can be used to select an input/output unit (card
read-punch, disk storage unit, data transmission
unit, paper tape reader, printer, tape punch, etc.).

4. A load instruction moves the word mark and data
from the A-field to the B-Held, and clears any other
word marks in the designated B-field, up to the
length of the A-field.

I-Address. Instructions that can cause program
branches use the I-address to specify the location
of the next instruction to be executed if a branch
occurs.

5. When moving data from one location to another,
only one of the fields need have a defining word
mark, because the move instruotion implies that
both fields are the same length.

B-Address. This is a 3-character storage address that
identifies the B-field. It usually addresses the units
position of the B-field, but in some operations (such
as move record or input/output operations) it specifies the high-order position of a record-storage area.

6. A word mark must be associated with the highorder charaoter (operation code) of every instruction.
7. The 4-character BRANCH UNCONDITIONAL instruction,
the 7-character SET WORD MARK, and CLEAR STORAGE
A-2

d-Character. The d-character is used to modify an
operation code. It is a single alphabetic, numerical,
or special character, positioned as the last character
of an instruction.

Instruction Descriptions

Key to abbreviations used in formulas:

Specific instructions have been described in a standard
format:

Title. This is the description of the instruction.
Inst'fuction Length. The length of an instruction can
be either 1, 2, 4, 5, 7, or 8 characters. It cannot be
either 3 or 6 characters long. Characters beyond the
usable limit of eight do not affect the operation.
Addressing advances (mod + 1) until the next
\"lord mark is sensed before the instruction is executed.
Most instnlCtions for the 1440 must have a word
mark following the instruction in core storage. This
word mark is normally associated with the corestorage location immediately following the instruction itself.
Figure A-2 shows examples of the combinations
possible in variable-length instruotions.

Instruction Format. This is the format of the particular instruction described. The mnemonic operation
code used for Autocoder is given.

LA
LB
La
LI
LM
Lp
LQ
LR
Ls
Lw
Lx
Lz

I/o
FM

l

Ns
S8
TM

Length of the A field
Length of the B field
Lenglh of Multiplicand field
Length of Instruction
Length of Multiplier field
Length of Product field
Length of Quotient field
= Length of Divisor field
Number of significant digits in Divisor (excludes
high-order zeros and blanks) or Number of Characters
per Sector
Length of A or B field, whichever is shorter
Number of characters to be cleared
Number of characters back to rightmost zero in control field
= Timing for Input or Output cycles
Forms movement times
= Number of fields included in an operation
= Number of disk sectors
= Number of characters in disk sector
= Tape movement time. This time is determined as follows:
Nc = Number of characters in the record.
C Character rate. For the 7335, this is .050 ms 556
characters per inch.
CNc ms
TAU interlocked.
Read: 20.5
7.7
CNc ms = Processing unit interlocked.
Write: 20.3
CNc ms = TAU interlocked.
5.0
CNc ms = Processing unit interlocked.
Note: See Magnetic Tape Timing section.

=

=

+
+
+
+

Figure A-3.

Timing Formula Coding

ABBREVIATION

Function. This is the function of the instruction.
Word Marks. This is the effect of the word marks
with regard to data fields.
Timing. When the instruction-execution timing is always a constant, the actual time in milliseconds is
given. When the instruction-execution time can vary
because of field length or chaining, the formula is
given. Figure A-3 is the key to the abbreviations
used in the formulas.
Notes. These are special notations or additional information pertaining to the operation.
NUMBER OF
POSITION

OPERATION

INSTRUCTION FORMAT

1

No Operation

Op Code

2

Select Stacker

Op Code
~

d -Character
2

4

Unconditional
Branch

Op Code
B

I-Address
400

5

Write Mark Tape OpCode

I-Address
O/OU2

d - Character
M

7

Add

A-Address
075

B -Address
423

A-Address
O/OUI

B-Address
731

=

MEANING

A

A-address of the instruction

B

B-address of the instruction

NSI

Address of the next sequential instruction

BI

Address of the next instruction if a branch occurs

LA

The number of characters in the A-field

LB

The number of characters in the B-field

Lw

The number of characters in the A- or B-field,
whichever is smaller

Ap

The previous setting of the A-address register

Bp

The previous setting of the B-address register

dbb

The d-character and blank in the units and
tens position. The actual d-charCicter is
shown wlien possible.

b!

~
Op Code

A
8

Write Tape

Op Code

.!:.

Figure A-2.

IBM

Figure A-4.

Address Registers after Operation Coding

Address Registers After Operation. The contents of
the address registers are represented by the codes
described in Figure A-4.
d - Character
W

Chaining. This assists the programmer in determining
whether instruction-chaining can be used effectively.

1440 Instruction Format Examples
A-3

In some cases, chaining proves useful even though it
would not ordinarily be used. For example, another
instruction can be chained to the MOVE CHARACTERS
AND EDIT instruction if the programmer can use the
contents of the address registers to advantage. When
considering the use of chaining, be certain that the
contents of the address registers are valid for all
conditions relating to the instructions involved. (Refer to the specific instruction section.)
Example. A practical application of the instruction is
described and shown as a label for the 1440 Autocoder language, with the label of a typical actual
machine address (in parentheses).
These examples for the instructions are representative, and are intended as exhibits of typical oorestorage assignments, rather than specific, limited
examples. Because the Autocoder Assembler usually
establishes exact core-storage addresses for the many
instruc.tions of any given program, the programmer
need not ordinarily be conoerned, except when the
program must be analyzed.
The few inflexible addresses of core-storage locations, such as index registers, are shown in the instructions as exact locations.
Assembled Instruction. This is the actual machine
language instruction that is assembled by the Autocoder processor program from the symbolic entries
shown in the example.
When an explicit Autocoder mnemonic is used,
the op code, A-address, and d-modifier (when required) are automatically generated in most cases
(refer to the specific operation in question).
Example: The coded instruction to cause information to print on the 1443 might be in the form: W
(column 16 of the coding sheet), PRTOUT (written
in column 21-26). Assume for the purpose of this example that the label PRTOUT actually represents
core-storage location 0101. Autocoder would assemble this coded instruction into actual machine language as follows: M %Y1101 W. In this instance, the
machine-language op code (M), the A-address designating the 1443 (0/0 Y1), and the d-modifier character defining the operation as a write (W) were all
explicitly defined in the Autocoder mnemonic: W.
Example: When an explicit Autocoder mnemonic
is not provided, or if the programmer uses a "general" mnemonic, the A-address and the d-modifier
must be written as part of the operand: MU (column 16-17), unit address %Y1 (starting in column
21), B-address (starting next), and the specific dA-4

Autocoder
OPERAND

Assembled Instruction:

Figure A-5.

M %Yl 101 W
M %Yl 101 W
!:!l %Yl 101 W

Typical Autocoder Instruction Statements

character W (last). In this case, the results are the
same: M %Y1101 W.
Example: The instruction can be coded entirely
in machine language, if desired. In this case, the
actual op code is written in column 19, and the
d-modifier character is written in column 20.
Figure A-5 illustrates three posible methods of
coding to obtain the same result. The label PRTOUT
could have been substituted for the actual machine
address 101 if this label and core-storage location
101 had been equated elsewhere in the program.
Example: In other cases, the actual machine language op code is implied by the Autocoder mnemonic, but the d-modifier character must still be
coded in the operand, such as for the BRANCH IF
CHARACTER EQUAL (BCE ) instruction. Here, the
machine language op code (B) is explicit, but the
flexibility of the d-character requires that the programmer code the d-modifier.

Programming Note, 1440 Autocoder Assembly

The 1440 Autocoder Assembler checks for the following valid Select Stacker ( SS) mnemonic d-modifiers:

o

1442 Read/Punch stacker 2 (second attached
device)

2

1442 Read/Punch stacker 2 (first attached
device)

#

1444 Read/Punch stacker 2

The programmer using the Direct Data Channel
and other features or devices must recognize and
check the SS mnemonic d-characters for accuracy, if
they do not agree with the preceding list. The assembler halts and prints an error message if other d-modifier characters are used for the SS mnemonic. If this assembly halt occurs, refer to Autocoder (On Disk) Program Specifications and Operating Procedures for IBM
1401, 1440, and 1460 (Form C24-3259).

IBM 1441 Processing Unit

The IDlv[ 1441 Processing Unit (Figure A-6) is the controlling center of the IDM 1440 Data Processing System.
The processing unit can be divided into two sections:
1. TIle arithmetic-logical section
2. The contTol section
The arithmetic-logical section performs such operations as addition , subtraction, transferring, comparing, and storing. By adding the multiply-divide
special feature, the 1441 can perform direct multiplica tion and division. This section also has logical
ability - the ability to test various conditions encountered during processing and to take the action called
for by the result.
The control section directs and coordinates the
entire system as a single multipurpose machine. These
functions involve conh'olling the input/ output units
and the arithmetic-logical operation of the processing
unit, and h'ansferring data to and from storage. This
section directs the system according to the procedure
originated by the programmer.

Figure A-6.

IDM

1441 Processing Unit

Magnetic Core Storage

The IDM 1441 Processing Unit houses the magneticcore storage area (Figure A-7) that is used by the 1440
sys tem for storing the instructions and data. The data
in each core-storage position is available in 11.1 microseconds. The design of the core-storage control circuits
makes each position individually addressable. This
means that an insh'uction can designate the exact
storage locations that contain the data needed for
that step.
The physical make-up of each core-storage location
enables the IDM 1441 to perform arithmetic operations
directly in the storage area . This is called add-tostorage logic.

Language

In the punched-card ar ea of data processing, the language of the machine consists of holes punched in a
card. As data processing needs increase, the basic card
language remains the same. But in the transition from
unit-record systems to the IDM 1440 Data Processing
System, and from there to other computer systems, another faster, more flexible machine language emerges.
Just as each digit, letter in the alphabet, or special
character is coded into a card as a punched hole 01' a
combination of punched holes, it is coded into magnetic storage as a pattern of magnetized ferrite cores.

Figure A-7.

Magnetic Core Storage
A-5

Note that the check bit is not part of the character
configuration when the number of BA8421 bits that
represent the character is odd. It appears only for
those characters where the number of bits BA8421 is
even. The automatic inclusion of the check bit changes
the configuration of the character from an even number of bits to an odd numbet· of bits. Thus, all characters shown in Figure I-I are shown in the odd-parity
mode.
Information introduced into the system is translated to the binary-coded-decimal form for use 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
1441 internal code, and subsequently reconverting, is
completely automatic.

Processing
Processing is the manipulation of data from the time
it is introduced to the system as input until the de-

sired results are ready for output. The following functions are performed in the IBM 1441 Proce1ssing Unit.

Logic
Figure A-B.

The Letter A Represented in BCD Form in Core
Storage

Many different code patterns can be set up. The
internal code used in the IBM 1440 Data Processing
System is called binary-coded decimal (Figure A-8).
All data and instructions are trans,lated into this code
as they are stored.
The numbers 0 through 9 are represented by a
single bit, orr a combination of bits designated 1, 2, 4,
8. Disregarding the C- or check bit, bits 2 and 8 stand
forr 0, bits 1 and 2 for 3, bits 1 and 4 for 5, bits 2 and 4
for 6, bits 1, 2, and 4 for 7, and bits 1 and 8 for 9.
Letters and special characters are represented by a
combinations of numerical bits (8421) and zone bits.
B- and A-bits, in combination, correspond to the
12-zone punch. The B-bit corresponds to the 11zone punch, and the A-bit to the O-zone punch. The
letter C, for e~ample, which is the third letter in the
12-zone of the alphabet (card code 12-3), is a combination of BA21 bits. BA is the same as 12, and 21 is
the same as 3.
This covers six of the seven possible bits that are
used to represent a character. The seventh bit (C) is a
built-in checking feature that the computer automatically supplies.
A-6

The logic function of any kind of data processing
system is the ability to execute program steps; but
even more, it is the ability to evaluate conditions and
select alternate 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-punch
or No X-punch, or based on a positive or negative
value, or perhaps based on a comparison of control
numbers in a given card field.
Similarly, the logic functions of the 1440 system
control comparisons, branching (alternate 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 necessary variations.

Arithmetic

The IBM 1441 Processing Unit can add, subtract, multiply, and divide. Multiplication and division can be
accomplished in any 1440 system, by programmed
subroutines. When the extent of the calculations might
otherwise limit the operation, a special multiply-divide feature is available.

Editing

As the term implies, editing adds significance to output data by punctuating and inserting special characters and symbDls. The 1440 system has the ability to
perform this function, automatically, with simple program instructions.

Internal Checking
Advanced circuit design is built into the 1440 to assure accurate results. Self-checking with the system
consists of parity and validity checking.

Parity Checking

The IBM 1441 checks characters at variDUS IDcatiOins
in the unit for odd-bit configurations. The 6-hit, binary-coded-decimal internal language used by the
1440 also has a check bit fDr odd-bit checking purposes, and a word-mark bit. The check bit is added
to all characters that would otherwise have an even
number Df bits.
Example: A character P has a binary-coded decimal
equivalent Df B 421. The check bit is added to give
this character an add number of bits (C B 4 2 1) .
If the character has a wDrd mark assDciated with it,
the ward mark is included in the test far odd-bit
parity.
Example: If the character P has a word mark, the
check bit is not added because the bit canfiguration is
odd (WM B 4 2 1).
Whenever a parity error occurs, a cons Die light
turns an, indicating the place where the errDr occurred
(see IBM 1447 Console, Form A24-3031).

Validity Checking

Validity checking is perfai"med to detect illogical bit
combinations within the systems. The type af validity
checks performed are:
1. The autput from the adder is checked fOir a logical
numeric code.
2. The operation register is checked so that Dnly valid
operation codes are processed.
3. The storage address register is checked to make
sure the core-s,torage addresses are valid addresses
within the core-storage address range of that particular processing unit. Depending Dn the corestorage size, the units and/ or hundreds address
pDsitions contain zone bits that specify blocks of

addresses. Refer to Addressing System section for
detail informatian. These zDne-bit combinations
are checked to make sure the cambinations are
addressing an available core-stDrage address. A
check is made to' see if the lower or upper limits
af core storage have been passed. This check is
called an end-around check and is made at all
times except for three special operations: clear storage, storage scan, and storage print-aut. The madificatian of the low-order position of core storage
by -1, except during a clear storage operatian, or
the modificatiDn of the high-order positiDn of core
starage by +1, except during stDrage scan and
starage print-aut operations, causes an invalid
operation and a system stop.
4. Of the 4096 bit configurations (2 to the 12th power)
possible in a given card column, only 64 are recognizable characters. (See Card ImaglL Feature sectian.) All other bit canfiguratians are considered
invalid during the data transfer from the read side
af the card read-punch into core starage. A detected
check condition turns on the card read validity
check light. Depending an the I/O oheck stop
switch setting on the 1447, the system also stops
ar a pragram-testable indicator is set ON.
System Checking Conditions

The following procedures should be observed if a system check occurs. (These check conditions may also
indicate a system failure.)
Process Error
(Functions Not Affected by Process-Check Stop Switch)

These errors indicate that one of the follDwing conditions has occurred. (Regardless of the positiDn of the
pracess-check stOlP switch, a system stop results.)
Op Register: An invalid op code has been sensed.
Either the system feature that uses this op code is
nat on the system, or a pragramming error is indicated. Determine the cause of the failure befare attempting to continue the job.
Storage Address Register: An invalid address has been
read into the address register ( s ). This may indicate
an attempt to use an uninstalled feature.
Process Error
(Functions Affected by Process-Check Stop Switch)

These errors can be reset by the BRANCH ON PROCESS
instruction (0/0 d-modifier), or by operation of
the check-reset key on the console. The branch instruction is Dnly effective when the pracess-check stop
switch is OFF.
ERROR

A-7

A-Register Error: This error indicates that an invalid
(or an out-of-parity) character has been sensed in
the A-register.
B-Register Error: This error indicates that an invalid
(or out-of-parity) character has been sensed in the
B-register.

2. Press the start key on the 1442 and on the console.
3. The card will be repunched.
Note: If the programmer elects to ignore the punch error,
or enter a subroutine in case of a punch error, he can program a BRANCH IF PUNCH ERROR instruction (! d-modifier), if
the I/O check-stop switch is off.

Punch Error (1444)

Arith Error: This indicates that an arithmetic error
occurred in the logic control unit.
Storage Error: This indicates that an error occurred
in main core storage.

2. Remove remaining cards from the hopper.
3. Non-process run-out the cards in the machine.

Printer Error

4. Discard the error card (last card in stacker before
the non-process run-out operation).

If the print-check light is on:
1. Note the contents of the I-address register on the
console.

5. Discard the two cards that were run out of the
machine feed.

2. Press the check-reset key on the printer.

6. Press the start keys on the 1444 and on the console
to continue processing.

3. Manually branch to the address location where the
error occurred. This address is equal to the previously noted con~ents of the I-address register,
minus 8.
4. Press the start key on the printer to re-execute the
print command.

.

If the punch-check light is on:
1. Remove and save any cards in the punch stacker.

Note: The programmer can branch past a printer error if the
I/O check-stop switch is off by executing a BRANCH IF PRINTER
ERROR instruction ( :f:: d-modifier).

Reader Error

7. The card will be repunched.
See Note following Punch Error (1442).

Addressing
Instructions and data used for processing in the 1440
system are contained in the core-storage area. Each
core-storage position has its own unique address. The
IBM 1441 Prooessing Unit is available in five different
core-storage oapacities.

If the reader-check light is on:
1. Remove the cards in the stacker ( s ) .

Model A2:

2,000 core-storage positions

Model A3:

4,000 core-storage positions

2. Remove the cards (if any) in the hopper.

Model A4:

8,000 core-storage positions

3. Non-process run-out the remaining cards into the
stacker.

Model A5:

12,000 core-storage positions

Model A6:

16,000 core-storage positions

4. Place the two non-processed cards in the read
hopper.
5. Pres'S the start key on the card reader, and the
start key on the console, to re-execute the read
operation.
Note: The programmer may wish to branch past a reader
error. If the I/O check-stop switch is off, a BRANCH IF READER
ERROR instruction (? d-modifier) can be executed.

Punch Error (1442)

If the punch-check light is on:
1. Discard the last card in the stacker.
Note: This card must be retained if it contains source
information.
A-8

Addressing System

Every core-storage position in the IBM 1440 Data
Processing System can be addressed with a 3-character
address. To address 16,000 core-storage positions with
only three characters, various zone-bit configurations
are added over the hundreds position and units position of the address.
The zone-bit configuration over the hundreds position specifies the thousands position of core storage up
to 3999. No A- or B-bit over the hundreds position
specifies that the address is the, actual address (000999). An A-bit over the hundreds position of the address specifies another group of 1,()()() core-storage
positions (1000-1999). A B-bit over the hundreds posi-

CODED ADDRESSES IN STORAGE
ACTUAL ADDRESSES
000 to 999
1000 to 1099
1100 to 1199

No zone bits

:f: 00 to

1200 to 1299
1300 to 1399
1400 to 1499
1500 to 1599
1600 to 1699
1700 to 1799
1800 to 1899
1900 to 1999
2000 to 2099
2100 to 2199
2200 to 2299
2300 to 2399
2400 to 2499
2500 to 2599
2600 to 2699
2700 to 2799

A-bit,
using O-zone

B-bit,
using 11-zone

2800 to 2899
2900 to 2999
3000 to
3100 to
3200 to
3300 to
3400 to
3500 to

3099
3199
3299
3399
3499
3599

3600
3700
3800
3900

3699
3799
3899
3999

to
to
to
to

3-CHARACTER
ADDRESSES
000 to 999
/00 to
SOO to
TOO to
UOO to
Voo to
WOO to
XOO to

=1= 99
/99
S99
T99
U99
V99
W99
X99

YOO to
ZOO to
100 to
JOO to
KOO to
Loo to
MOO to
1'100 to
*000 to
POO to
QOO to
ROO to
?OO to

Y99
Z99
199
J99
K99
L99
M99
1'199
099
P99
Q99
R99
?99

AOO to A99
BOO to B99
A-B-bit,
using 12-zone

COO
000
EOO
FOO

to
to
to
to

C99
099
E99
F99

GOO to G99
HOO to H99
100 to 199

*Letter 0 followed by two digits.

Figure A-9.

Core-Storage Address Coding (000 to 3999)

tion of the address specifies another group of 1,000
core-storage positions (2000-2999). Both the A- and
the B-bit over the hundreds position of the address
specify another group of 1,000 core-storage positions
( 3000-3999 ). By using these zone-bit combinations,
4,000 positions of core storage can be addresS'ed with
a 3-character address (Figure A-9).
The same principle used
1,OOO-blocks of core storage
core-storage blocks of 4,000
configuration over the units
block of 4,000 core-storage
dressed.

to specify the various
is also used to specify
positions. The zone-bit
position specifies which
positions is being ad-

No A- or B-bit over the units position specifies the
4,OOO-block in core storage that contains positions
0000-3999. An A-bit over the units position specifies
the 4,OOO-block in core storage that contains positions
4000-7999. A B-bit over the units position specifies
the 4,000-block in core storage that contains positions
8000-11999. Both the A- and the B-bit over the units
position specifies the 4,OOO-block in core storage that
contains positions 12000-15999. By combining the 3digit address with zone-bit combinations over the
hundreds and/or units position, it is possible to address 16,000 core-storage positions (Figure A-10).

Data-Field Addressing

A data field in core storage is addressed by specifying
the low-order (units) position of the field in the A- or
B-address of the instruction. The data field is usually
read from right to left until a word mark in the highorder position is sensed.
,.

ACTUAL ADDRESSES
0000
1000

to
to

0999

ZONE BITS OVER
HUNDREDS POSITION

ZONE BITS OVER
UNITS POSITION

3-CHARACTER ADDRESSES

No Zone Bits

000
::fOO
too
100

to
to
to
to

999
Z99

B·Bit (11-Zone)
AB-Bits (12-Zone)

No Zone Bits
No Zone Bits
No Zone Bits

to
to

99Z
Z9Z

to
to

R9Z
19Z
99R
Z9R

No Zone Bits
A-Bit (Zero-Zone)

2000

to

1999
2999

3000

to

3999

4000
5000

to
to
to

5999

No Zone Bits
A-Bit (Zero-Zone)

A-Bit (Zero-Zone)
A-Bit (Zero-Zone)

00:f
::f0=t=

to

6999
7999

B-Bit (ll-Zone)
AB-Bits (12-Zone)

A-Bit (Zero-Zone)
A-Bit (Zero-Zone)

10=1=

to
to
to
to

8999
9999
10999
11999

No Zone Bits
A-Bit (Zero-Zone)

B-Bit
B-Bit
B-Bit
B-Bit

to
to
to

12999
13999
14999

to

15999

6000
7000
8000
9000
10000
11000
12000
13000
14000
15000

Figure A-lO.

IBM

4999

B-Bit (11-Zone)
AB-Bits (12-Zone)
No Zone Bits
A-Bit (Zero-Zone)
B-Bit (ll-Zone)
AB-Bits (12-Zone)

(ll-Zone)
(ll-Zone)
(ll-Zone)
(ll-Zone)

AB-Bits
AB-Bits
AB-Bits
AB-Bits

(12-Zone)
(l2-Zone)
(12-Zone)
(12-Zone)

!O:f

to!

to
to
to

?Ol

to

OO?
:fO?

to
to
to

OO!
::fO!

10?
?O?

to

R99
199

R9R
19R
991
Z91
R91
191

1440 Addressing System (000 to 15,999)
A-9

Instruction addressed by high-order position

STORAGE
ADDRESS

400

INSTRUCTION

~

Core-Storage Area Assignment

401

402

403

404

405

406

407 (NSI)

5

4

2

5

6

0

WM
Op code

The word mark associated with the next sequential instruction (NSI) stops the reading of this instruction.
A-address

f
STORAGE ADDRESS
DATA

536

537

538

539

540

541

542

543

0

0

2

5

3

4

7

.!

v

1440 Register Operation

A-field
Word mark identifies high-order position of A-field.
B-address

STORAGE ADDRESS
DATA

+

553 554 555 556 557 558 559 560 561

Q

4

6

0

1

2

3

1

.i.

I

y

B-field

The IBM 1440 Data Processing System operates on
and processes data to produce a desired result by
executing a series Oof instructiOons. A series of instructions designed to solve a problem is knOown as a
program. Because these instructions are retained in
core stOorage, it is mOore properly called a stored program.
The processing unit must interpret an instruction
and perform the function prescribed by the instructiO'n.
To do this, various types Oof devices that are capable
of receiving information, storing it, and transferring
it as directed by control circuits are used. These devices are known as registers. The 1440 has seven registers, four are address registers and three are character
registers (Figure A-12) .

Word mark identifies high-order position of B-field.

Figure A-U.

There are two areas in core storage that are used for
specific purposes. Core-storage pO'sitiO'ns 001-081 are
used in cO'njunction with a program-load operation
and core-storage positions 087-089, 092-094, and 097099 are used as three index registers when the indexing
and store address register special feature is installed.
All other core-storage positiO'ns are always available for
normal use, and the areas just mentiO'ned can be used
for other system opera tiO'ns when. they are not being
used as specified.

Data and Instruction Addressing

Instruction Addressing

An ins,truction in core storage is addressed by giving
the high-oTder (operation code) position of the instruction. All operation codes mus.t have a word mark. (This
word mark is normally set by the loading routine
when the instructions are loaded.) The machine reads
an instruction from left to right until it senses the word
mark asociated with the next sequential instruction.
The final ins.truction in the program must have a word
mark set at the right of its low-order position. (The
word mark is not needed if the instruction is an UNCONDTIoNAL BRANCH, SET WORD MARK, or CLEAR STORAGE

I

~

Core
Storage

-.

B
Register

A
Register

-.

I

AND BRANCH).

Example: Instruction address 400 (Figure A-II) contains the operation code for the following instruction:
Op Code
A

A-address

B-address

542

560

When this insltruction is executed, the data in the
A-field is added to the data in the B-field:
0025347
04601231
04626578
The result is stored in the B-field.
A-IO

Storage
Address
Register

-

•

t
I-Address
Register

~

Figure A-12.

A-Address
Register

1

,

B-Address
Register

t
Processing Unit Registers

Op
Register

Address Registers

There are four address registers in the IBM 1441 Processing Unit. One register controls the program sequence, and two other registers control the data transfer from one storage location to another. The fourth
register specifies which storage location is active during a particular storage cycle.
The tens position of an address register never actually stores an alphabetic or special character. This informa tion is decoded as it is read in, and the numeric
portion of the character is stored. The decoding determines unit-addressing or indexing.

I-Address Registel'. The 1- (Instruction) address register always contains the storage location of the next
instruction character to be used by the stored program. The number in this register is increased by
one as the instnlCtion is read from left to right.
A-Address Registel'. The A-address register contains
the storage address of the data in the A-address
portion of an instruction. Normally, as the instruction is executed, the number in this register is decreased by 1 after each storage cycle that involves
the A-address.
Note: If the A-address portion of the instruction does not
contain a core-storage address (for example %Gx) the contents of the A-address register are not altered as the instruction is executed.

B-Address Register. This register contains the storage
location of the data in the B-address portion of an
instruction. Normally, as a storage cycle involving
the B-address is exeouted, the storage address in the
B-address register is decreased by 1.
Storage-Address Register. The storage-address register always contains the address of the core-storage
position that will be involved in any data movement
during that particular machine cycle.
Character Registers

The A- and B-character registers, the Arith register,
and the Op-register are single-character registers used
to store data during the execution of an instruction.

Op Registel'. The Op- (Operation) register stores the
operation code of the instruction in process for the
duration of the operation. The operation code is
stored in BCD code, including the check bit but
excluding the word mark.
B-Registel'. Each character leaving core storage enters
the B-register. The character is stored in 8-bit form

(BCD code, check bit, and word mark). The Bregister is reset and filled with a charaoter from
core storage on every storage oycle.

A-Register. The A-register is reset and filled with the
character from the B-register during each storage
cycle that involves the A-address, and during all
instruction cycles except the first and last 1- (Instruction) cycle of each instruotion. Data is stored in
8-bit form.
A1'ith Register. This 6-bit register contains the results
of the B-register±the A-register. During arithmetic
functions, this character is normally routed to main
storage.
Note: Information can be written back into core storage
directly from either the. A- or B-register, or from the Arith
register.

Figure A-13 shows the I-phase of an operation
and gives a detailed schematic for loading a 7-character instruction on the operation-code register, in
the A-and B-registers and in the 1-, A-, and B-address registers. Eight storage cycles are required to
load the complete instruction in the register. Each
storage cycle requires .0111 ms.
Note: The A- and B-address registers contain 3-character
addresses. The addresses shown in this schematic are 4-digit
addresses because the storage display lights on the console
show 4-digit addresses. Refer to Figure A-9 for the relationship between 3- and 4-digit addresses.

Chaining Instructions

In some programs, it is possible to perform a series
of operations on several fields that are in consecutive
storage locations. Some of the basic operations, such
as add, subtract, move, and load, can be chained so
that less time is required to perform the opocations,
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 700 850
A 695 845
A 690 840
A 685 835
At the completion of the first instruction, the Aaddress 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.
(Executing the second and third instructions also results in A- and B-addresses that.-are the same as.. the
A- and B-addresses of the third and fourth instructions.) Eighty storage cycles would be required to
A-ll

CYCLE

loOp

Instruction
Location

OPERATION

The operation code enters the B-register and the Op-register.
Because this is the first I-cycle, the A-register is undisturbed.

IAI5

B Register

A Register

10 111 9 17 1

W

[!]

[I]

1-2

The A-address register is reset to blanks during the first part of
the cycle for all instructions. The B-address register is reset to
blanks during the first part of the cycle for all operations
except Move, Load, Store A- and Store B-address Register operation. During the 1-1 cycle, the second instruction character (first
character of the A-address) enters the thousands and hundreds
positions of the A- and B-address registers and the A-register
by the way of the B-register.
The third character of the instruction enters the tens position of the A- and B-address registers, and the A-register
through the B-register.

I Register

lopI9181
OP Register

W
I Register

I OJ 11 9 19 1
OP Register

~
1-3

The fourth instruction character enters the units position of
the A- and B-address registers, and the A-register through
the B-register.

I Register

I

01 2,01 0

I

OP Register

~
1-4

The B-address register is reset at the beginning of this cycle.
The fifth instruction character (first character of the Baddress) enters the hundreds position of the B-address
register, and the A-register through the B-register.

I Register

I

1-6

1-7

The sixth instruction character goes to the tens position of
the B-address register, and the A-register through the Bregister.

OP Register

The seventh character of the instruction (Jast character of
the B-address) enters the units position of the B-address
register and the A-register through the B-register.

The first character of the next instruction enters the Bregister only. Because this is the last I-cycle for this instruction, the A-register and the Op-register, the A- and
B-address registers are undisturbed. The detection of a
word mark associated with this character signals the machine that this is the Op code for the next instruction. The
loading operations stops, and the instruction that was just
loaded is executed. Note that the I-address register contains the address of the high-order position of the next
sequential instruction.

Figure A-13.

A-12

Instruction Loading Schematic

1 0 12 10 12

A Address Register

111111111
B Register

o

1

B Address Register

1 11111111

o

A Address Register

10151 b l b

l

B Register

Cycle 2

B Address Reg.ster

10 15 1bl b 1
A Register

o

GJ

A Address Register

10151 6 1b

Cycle 1

A Register

!

10 1516 1b 1
A Register

[2]

G

A Address Register

1 0 15 16 17 1

Cycle 3

B Address Register

B Register

B Register

OJ 2 , 0 11 ]

I Register

1-5

I 7 I Til I 2 I S I

I Register

OP Register

1-1

16

1197119811991200j2011202120312041

Cycle 4

B Address Register
1 0 15 16 17 1

A Register

o

[!]

Cycle 5

A Address Register

B Address Register

10 / 5 16 17 1

/1131 bl b 1

B Register

A Register

GJ

GJ

Cycle 6

OP Register

A Address Register

B Address Register

[A]

1 0 15 16 17 1

1 1r 31 11 b I

I Register

B Register

10,2, 0 13 1

~

OP Register

I Register

A Register

o

A Address Register

B Address Register

10 /5 16 17 1

/11311 12 1

B Register

A Register

/ 0 ,2, 0 14 1
OP Register

~

Cycle 7

Cycle 8
A Address Register

10 15 16 17

1

B Address Register

111311 12 1

execute these instructions, thus using up .888 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 excuted as follows:
A 700 850
A
A
A

Connecting instructions together in this manner is
called chaining. The first add instruction contains both
the A- and B-addresses. The following three instructions contain only the operation code for those instructions. The A- and B-addresses are the results left
in the A- and B-address registers from the pl'evious
instruction. This type of operation requires 62 storage
cycles, and takes .688 ms to execute. Storing these
chained instructions requires only ten storage positions.
The ability to chain a series of instructions does not
depend on the use of the same operation code.
Chained instructions may have various op codes. To
be operated on, the A-fields must be in sequence, and
the B-fields must be in sequence. Example:
A 900 850

M
A

M

Assume that the data fields are each ten characters
long:
The
The
The
The

ten
ten
ten
ten

characters
characters
characters
characters

at
at
at
at

location 900 were added to 850.
location 890 were moved to 840.
location 880 were added to 830.
location 870 were moved to 820.

The description of each instruction includes the
contents of the address registers after the operation
has been performed. Figure A-4 shows the abbreviations that indicate the cDntents of these registers.
By using this information, the prDgrammer can determine the status of the registers and decide whether
chaining is practical in specific cases.
Note: Instructions that do not contain core-storage addresses
cannot be chained. For example, M %Gn xxx R is a READ CARD
instruction. The card read-punch-is signaled as the machine
reads the instruction. Although the A-address register contains
%7n after the operation, chaining is impossible because the
machine does not select the unit from the contents of the
A-address register.

Most single-address instructions (op code and an
A-address) cause the A-address to be inserted in both
the A-address and B-address registers (for example, A
xxx). However, execution of MOVE, LOAD, or STORE ADDRESS REGISTER instructions does not disturb the Baddress register, and permits the programmer to use
the previous contents of that register as part of the
instruction.
All branch instructions (Dp code and I -address)
depend on whether the indexing and store address
register special feature is installed Dn the system:
1. With the special feature installed, the B-address
register contains the address of the next sequential
instruction, if a branch occurs.
2. Without the special feature installed, the B-address
register is cleared to blanks whenever a branch
Dccurs.

Address Modification
It becomes necessary in some 1440 programs to perform the same operations repetitively, with a change
only in the A- or B-address. Changing of an address
while retaining the rest of the instruction is called
address modification. Address mDdification can result
in savings in the number of program steps and in storage requirements. In some cases, the program itself
determines if, and how, addresses are to be changed to
perform the correct program steps for conditions arising during data processing.
The methods that can be used to modify addresses
on a specific system depend on the core-storage capacity of that system.
On 1440 systems equipped with 2,000 or 4,000 positions of core stDrage, address modification is accomplished by either using modulus 4 arithmetic or installing the indexing and store address register special
feature.
On 1440 systems equipped with more than 4,000
positions of core storage, the two previously mentioned methods of address modifioation can be used.
However, these systems have a MODIFY ADDRESS instruction that greatly simplifies address modification.

Modulus 4 Arithmetic Method

When modifying addresses by modulus 4 arithmetic,
the modified address should be located in the same
4,OOO-block of core storage as the original address.
A-13

This is because a zDne-bit DverflDw Df Dver three in
the hundreds pDsition Df the address cannot be transferred to' the units positiDn Df the address.
TO' set up a workable modulus 4 system, these digital values are assigned the four possible zone-bit configuratiDns that appear in the hundreds position:
No A, No B-bit = 0
A-bit = 1
B-bit = 2
A- and B-bit = 3

As can be seen, the highest possible digit is three.
Values in excess of three are equal to' that value minus

TO' decrease an address, a different means must be
used. Modulus 4 arithmetic operates for addition only.
Decreasing an address requires the additiDn of a CDmplement, rather than doing a conventional subtract
operation.
In systems equipped with 2,000 Dr 4,000 CDre-storage positions, the 16,000's complement of the decrement figure is added to the address to be modified
(modulus 16 arithmetic).
Decrease address 879 by 148
879 - 148 = 731

y

4th 1,000-block of a 4,000-block {

A+A
B
AB
A+B
NoANoB
B+ B
NoANQB
A + AB
A + NoANoB = A
B + AB
A
B + NoANoB = B
AB + AB
B

Figure A-14.

or
or
or
or
or
or
or
or

1+ 1= 2
1+2=3
2+2=0
1+3=0
1+0=1
2+3=1
2+0=2
3+3=2

16,000 - 148 = 15,852 (852 or H5B)
16,000's complement of 148
FIELD B

B
A

fDur. FDr example, a value Df five is represented as a
value of 1 (Figure A-14).

\j

Address mDdification to' a higher address in the
000-999 address range is:

B
A

j
731

Address modification to an address greater than
1000 is:
Increase address 912 by 314
912

+ 314 = 1226 or S 26

S = A2 (Overflow in high-order position sets an A-bit
using modulus 4 arithmetic and turns on the
arithmetic overflow indicator.)
Increase address 1754 (X54) by 1204 (S04)
1754

+ 1204 = 2958
X54 + S04 = R58
X = (A7)
S = (A2)

Using the rules of modulus 4 arithmetic, A + A = B-bit,
the new address is:
958 with a B-bit over the high-order position (B9 = R)
or R58 (2958).
A-14

B
A

\j

879

B
A

This is a nDrmal add operatiDn with no Dverflow involved.

FIELD A

B
A

A-Bit and B-Bit Values

Increase address 472 by 345
472 + 345 = 817

! ! }4th 4,000-block

Result after overflow (arithmetic overflow
indicator set ON)

The add operation is performed as shown. The
A-field figure is added to the B-field figure. The digital
result is 731 and the arithmetic overflow indicator is
set ON. Because an add operation has taken place, the
units position ends up with a plus sign (an A- and a
B-bit). The arithmetic overflow in the hundreds position adds an A-bit to the A- and B-bits already there,
resulting in a zone-bit configuration of no A- and no
B-bit (see Figure A-14). The A-bit addition increases
the zone-bit value to 16. A value of 16, according to
modulus 16 rules, has a new address value of 0 (000999 core-stDrage address block). This means that 731
is the actual address.
Modulus 4 arithmetic is normally used in 1440 systems that contain 2,000 or 4,000 core-stDrage positions.
With care, this address modification method cDuld be
used Dn systems with more core-storage capacity.

However, this is not generally practical because 1440
systems with more than 4,000 core-storage positions
are equipped with the MODIFY ADDRESS instruction.

Autocoder
OPERAND
:'.

Assembled Instruction: #

Modify Address Instruction Method
IBM 1440 systems with more than 4,000 core-storage
positions can easily modify any address by using the
MODIFY ADDRESS instruction.

Figure A-I5.

985

!

~

T13

Modify Address (Two Addresses)

Modify Address (One Address)
Modify Address (Two Addresses)

Instruction Format.

Instruction Format.
Mnemonic
MA

Op Code

#

A-address
AAA

Location

Contents

3-Character
Address

Actual
Address

A-address
B-address

A-field
B-field
B-field

100
L2F
M2F

100
14326
14426

Word Marks. Word marks are not affected, and are
not requited to define the A- or B-fields. If word
marks are present, they are ignored and remain unchanged in both fields.

= .0111 (LI + 9) ms.

Note: Rules for the addition of zone bits are the same as in
modulus 4 arithmetic, with one addition. This instruction
makes it possible to reflect the hundreds position zone-bit
overflow in the units position when the address is modified
to a higher 4,000-block of core storage. When a zone-bit
overflow occurs during the hundreds position modification,
an additional cycle is executed to adjust the units position
zone-bit configuration.

A-Add. Reg.
A-3

Function. This format of the MODIFY ADDRESS instruction caus~s the 3-character field, specified by the
A-address, to be added to itself. The result is stored
in the A-field.
Word Marks. Word marks are not required to define
the A-field. If they are present, they are ignored and
remain undisturbed in the A-field.
Timing. T

= .0111 (LI + 9) ms.

Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg.
A-lor A-3

A-Add. Reg.
A-3

Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Double the address labeled ADDC (2956),
and store the result at ADDC (Figure A-16).

Autocoder

Address Registers After Operation.
I-Add. Reg.
NSI

A-address
AAA

#

B-address
BBB

Function. This instruction causes the 3-character field,
specified by the A-address (A-field), to be added to
the 3-character field" specified by the B-address (Bfield). The result is stored in the B-field. The three
numerical portions and the zones of the units and
hundreds positions of the B-field make up the 3character result. For example:

Timing. T

Op Code

Mnemonic
MA

OPERAND

B-Add. Reg.
B-1 or B-3

Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Add the 3-character address labeled ADDA
(0985) to the 3-character address labeled ADDB
( 1313); Figure A-15.

!

~.

Assembled Instruction: #

Figure A-16.

:'

!

~

R56

Modify Addre.ss (One Address)

Indexing Method

Any 1440 system can modify addresses by installing
the indexing and store address register special feature.
A complete description of this feature can be found
in the Special Features section.
A-iS

II
System Operations

The operations performed by an IBM 1440 Data Processing System can be arranged into these general
classifications:
1. Arithmetic operations
2. Logic operations
3. Data-moving operations
4. Miscellaneous operations
5. Edit operation

TYPE
OF
OPER.

o.

Plus
Plus
Minus
plus

No A· or B·Bit
A· and B·Bits
B·Bit Only
A-Bit Only

No Zone
12 Zone
11 Zone
OZone

Figure B-l.

Sign Bit Equivalents

Sign - Bits of A - Field

A
0
0

Compl. Add

-

True Add

-

-

True Add

-

+

Compl. Add

-

Compl. Add

+

True Add

SIGN OF
RESULT

+

Compl. Add

Sign of Field
with larger
magnitude

+

-

Sign of Field
with larger
magnitude
+

Types of Add Cycles and Sign of Result

A

A

A

B

B

A

B

AB

A

B

AB

A

B

B

B

AB

AB

AB

AB

AB

A

B

AB

When:

A> B

A

AB

AB

A

AB

AB

B

B

B

B

A

AB

AB

When:

A5:B

A

B

AB

A

B

AB

AB

AB

B

AB

A

B

AB

When:

A>B

B

B

B

B

B

B

B

B

A

AB

AB

B

B

B

B

When:

A5:.B

AB

AB

B

AB

AB

AB

B

AB

A

B

AB

AB

AB

B

AB

Resultant Sign

S
U
B

TYPE OF ADD
CYCLE

Figure B-1 shows the four possible eombinations of
zone bits and the values of the signs they represent.
The standard machine method of signing a field is
to indicate a positive factor with A- and B-bits (12zone), and to indicate a negative factor with a B-bit
(II-zone) .
The arithmetic operations in the IBM 1440 Data
Processing System are performed by using one of two
types of add cycles incorporated in the system. The
two types of add cycles are:
1. true add
2. complement add
The type of add cycle performed depends on the
arithmetic operation and the signs and values of the
two factors involved (Figure B-2).
Because all arithmetic operations are perlormed
with algebraic sign eontrol, the sign of the result depends both on the operation, and on the magnitude
and signs of the factors involved (Figure B-3).
A

Sign-Bits of B-Field

+

Figure B-2.

All arithmetic functions are performed under complete algebraic sign control. The sign of a factor is
determined by the combination of zone bits in the
units position of the fields specified by the instruction
being executed.

CARD CODE
CONFIGURATION

+
-

True Add

+

-

S
U
B
TR
A
C
T

The IBM 1440 Data Processing System adds and subtracts, by applying the add-to-storage method of operation. The two factors to be combined are added
within core storage without the use of special accumulators or counters. Because· any stOTage area can be
used as an accumulator field, the capacity for performing arithmetic funetions is not limited by standard-size
accumulators or by a predetermined number of accumulators within the system. In arithmetic operations, the
1440 system considers blanks and zeros the same. An
unsigned field is considered positive by the system.

BCD CODE BIT
CONFIGURATION

B·FLO.
SIGN

A
D+

Arithmetic Operations

SIGN

A·FLD.
SIGN

Resultant Sign

Figure B-3.

Zone-Bit Table for Add and Subtract Operations

B-1

(+ B) + (+ A)

=+

R

FIELD B
0065

FIELD A

+

0017+
I

QQ.!L. •

+

Result 0082

+ (- A) = -

(- B)

R

FIELD B
0016 0009 ......

FIELD A
00091

True Add
A true-add cycle is specified when the total number of
minus signs is an even number (0 or 2). The signs considered are the signs of the factors and the sign of the
operation.
The sign of the result after a true-add cycle carries
the original sign of the B-field when either an add or
a subtract operation is performed (Figure B-4).

_-------.....1

Result 0025 -

Complement Add
(+A)

(- B) -

= -

R

FIELD B
FIELD A
0025 0011 +
0011 ......----------~I

Result

0036(+ B)

-

(-A)

=

+R

FIELD B
0036 +
0062 ......
Result 0098 +

FIELD A
00621

----------.....1

(- B) + (+A)

=±

FIELD B
0036 9982 ~ 9982

FIELD A
0017

+

-----'I

(Recomplementing Unnecessary)
(+B) + (-A)

=±

(- B). + (+A)

R

FIELD B
FIELD A
0055
00349965 ~ 9965 -----....II
1
Initial Carry
Result
+
Carry

+

002T

~

Result 0019

(+ B) + (-A) = ± R
FIELD B
FIELD A
0034 +
00559944 ~ 9944 - - - - - -....1
Initial Carry
No Carry
Result 9979 +

l

Recomplementing Necessary
Recomplement cycle with sign conversion

(Recomplementing Unnecessary)
(+ B) (+A)

=±

R

FIELD B
FIELD A
0085 +
0073 +
9926 ~ 9926 ------....II
Initial Carry
Carry
Result 0012 +
(Recomplementing Unnecessary)
(- B) -

(-A)

=±

R

FIELD B
FIELD A
0078 00569943 ~ 9943 _ _ _ _ _..J1
Result 0022 -

Initial Carry
Carry
(Recomplementing Unnecessary)

B-2

True-Add and Complement-Add Cycle Examples

(+A)

=±

R

FIELD B
0073

FIELD A
0085
9914~9914----_...1
Initial Carry
No Carry
Result 9988

+

~

+

+

Recomplementing Necessary
Recomplement cycle with sign conversion

Result 0012 (- B) -

(-A)

=±

R

FIELD B
FIELD A
0056 0078 9921 ~ 9921 ------....II
Initial Carry
No Carry
Result 9978 -

~+

Result 0022

Figure B-4.

R

Recomplementing Necessary
Recomplement cycle with sign conversion

+

Result 0021 -

(+ B) -

= ±

FIELD B
FIELD A
0017 0036
9963 ~ 9963 - - - - I
_ _1
Initial Carry
Result 9981No Carry

+

R

Initial Carry
Carry

Result 0019 -

An uneven number of minus signs (lor 3) specifies a
complement-add cycle. The system converts the Afield factor to its nines complement figure and adds
it to the B-field factor (plus one initial carry). The

Figure B-5.

Recomplementing Necessary
Recomplement cycle with sign conversion

Complement-Add (with Recomplement) Cycle
Examples

2. If a recomplement cycle is taken:
T = .0111 (LI + 1 + LA + 3LB ) ms.

system then initiates a carry test to determine whether
a carry occurred from the high-order position of the
B-field. The presence of a carry indicates that the
result in the B-field is a true figure (Figure B-4). The
original sign of the B-field is the sign of the result.

If there was no carry from the high-order position
of the B-field, the result in the B-field is not a true
figure. A recomplement cycle is performed to convert
the result to a true figure. In an add operation that
results in a negative figure, the sign of the result is
always changed during a recomplement cycle, (Figure
B-5). The system generates the new sign automatically.
A positive factor is indicated by the presence of an Aand B-bit over the units position of the factor. After
a complement-add cycle, the sign of the result carries
the sign of the field with the larger magnitude.

If the multiply-divide special feature is installed,
the 1440 timing for a recomplement cycle is:
T = .0111 (LI + 1 + LA + 2LB ) ms.
Notes.
1. Sign control (see Figure B-2):
If a recomplement cycle is taken, the sign of the B- (result) field is changed and the result is stored in true form.
2. Zone bits:
If the fields to be added contain zone bits in other than
the high-order position of the B-field md\ the sign positions
of both fields, only the digits are used in a true-add operat~on.
B-field zone bits are removed except, for the units and highorder positions in a true-add operation. If a complement add
takes place, zone bits are removed from all but the units
positions of the B-field.

An accumulator field positioned in the last few available core-storage locations, such as units position of
the field in 3999, will cause a wrap-around error, if an
arithmetic function involving recomplementation is
performed.

3. Overflow indication:
If an overflow occurs during a true-add operation, the
overflow indicator is set ON, and the overflow indications are
stored over the high-order digit of the B-field. When the Afield exceeds, or is equal to, the B-field length, and the A-field
position that corresponds to the high-order B-field position
contains a ~one bit, this zone bit is added to any zone bits
present in the high-order B-field position.

First overflow
Second overflow
Third overflow
Fourth overflow

Add (Two Fields)

Instruction Format.
Mnemonic
A

Op Code

Result

Condition

Arithmetic Instructions

A-address
AAA

For subsequent overflows repeat conditions 1 through 4.
Overflow indication does not occur for a I-position field.
The BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON,
Il (III) Z, instruction tests and turns off the overflow indicator,
and branches to an instruction or group of instructions if an
overflow condition occurred. There is only one overflow
indicator in the system. It is turned off either by executing
a BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON instruction or pressing the start reset key on the 1447 operator
panel.
Overflow indication does not occur for a I-position field.

B-address
BBB

A
Function. The data in the A-field is added algebraically to the data in the B-field. The result is stored
in the B-field.
Word Marks. The B-field must have. a defining word
mark, because it is this word mark that actually
stops the add operation.
The A-field m~st have a word mark, only if it is
shorter than the B-field. In this case, the transmission of data from the A-field stops after the A-field
word mark is sensed. Zeros are then inserted in the
A-register until the B-field word mark is sensed.

If the A-field is longer than the B-field, the highorder positions of the A-field that exceed the limits
imposed by the B-field word mark are not processed.
For overflow conditions and considerations, assume
that the A-field is the same length as the B-field.
(See Address Modification.)
Timing.
1. If the operation does not require a recomplement
cycle:
T = .0111 (LI + 1 + LA + L B ) ms.

A-bit
B-bit
A- and B-bits
No A- or B-bits

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.
B-LB

A-Lw

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by 'supplying only the
operation code.
Example. Add CURERN (0506) to YTDGRO (0708),
(Figure B-6).
Autocoder

~

OPERAND

:', :

Label
,

:
Assembled Instruction:

Figure B-6.

A

506

70s

Add (Two Fields)
B-3

Add (One Field)
I nstl'tlction Format.
Mnemonic

Op Code
A

A

A-address

AAA

Function. This format of ·the ADD instruction causes
the data in the A-field to be added to itself.

2. Subtract - recomplement cycle necessary:
T = .0111 (LI + 1 + LA + 3Ln) ms.
H the multiply-divide special feature is installed,
the 1440 timing for a recomplement cycle is:
T = .0111 (LI + 1 + LA + 2L B ) ms.
Note. If a recomplement cycle is taken, the sign of the B( result) field is changed, and the result is stored in true form.

Address Registers After Operation.
Word Marks. The A-field must have a defining word
mark. It is this word mark that stops the add operation.
Timing. T = .0111 (LI

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

A-Lw

B-Ln

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying' only the
operation code.

+ 1 + 2L A) ms.

Address Registers After Operation.
I-Add. Reg.

A·Add. Reg.

B-Add. Reg.

NSI

A-LA

A-LA

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

Example. Subtract CUFICA (00753) from CURGRO
( 0896 ); Figure B-8.
Autocoder

Example. Add to itself the data at EXEMPT (0981),
(Figure B-7).

Assembled Instruction:! 753

Figure B-S.

Autocoder

896

Subtract (Two Fields)

Subtract (One Field)
Assembled Instruction:

Figure B-7.

A

981

Instruction Format.

Add (One Field)

Mnemonic
S

Op Code

A-address

.~

AAA

Subtract (Two Fields)

Instruction Format.
Mnemonic
S

Op Code

A-address

S

AAA

B-address
BBB

Function. The numerical data in the A-field is subtracted algebraically from the numerical data in the
B-field. The result is storeif in the B-field. Refer to
Figure B·, 2 for the sign that results from a specific
subtract operation.

Function. The data at the A-address is subtracted from
itself. If the A-field sign is minus, the result is a
minus zero. If the A-field sign is plus, the result is a
plus zero.
'Vord Marks. The A-field must have a defining word
mark.
Timing. T

= .0111 (LI + 1 + 2LA) ms.

Address Registers After Operation.
Word Marks. A word mark is required to define the
B-field. An A-field requires a word mark, only if it
is shorter than the B-field. In this case, the A-field
word mark stops transmission of data from the
A-field.
Timing.
1. H the operation does not require a recomplement
cycle:
T = .0111 (LI + 1 + LA + L B ) ms.
B-4

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

A-LA

A-LA

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Subtract from itself the field labeled LIMIT
(units position is 0395); Figure B-9.

Autocoder

Zero and Add (One Field)
OPERAND

~'.
Assembled Instruction:!

Figure B-9.

~

Instruction Format.

395

Mnemonic

Op Code

ZA

?

Subtract (One Field)

Function. This format of the ZERO AND ADD instruction
is used to strip the A-field of all zone bits, except in
the units (sign) position. The A-field sign is retained.
If the A-field plus sign bit configuration is not an Aand B-bit, it is changed to the A- and B-bit configura tion.

Zero and Add (Two Fields)

Instruction Format.
Mnemonic

Op Code

ZA

?

A-address
AAA

B-address
BBB

Function. This instruction functionally adds the A-field
to a zeroed B-field. Technically, this is accomplished
by moving the A-field to the B-field. The high-order
positions of the B-field are set to zero if the B-field
is larger than the A-field. The data from the A-field
moves directly from the A-register to storage. Zone
bits are stripped from all positions except the units
position where the resultant sign will be represented
in standard form. Blanks in the A-field are stored as
blanks in the B-field.
Word Marks. A word mark is required for definition
of the B-field. It is required in the A-field, only if
it is shorter than the B-field. If the A-field is shorter
than the B-field, all extra high-order B-field positions contain zeros. But the transmission of data
from A stops when the A-field word mark is detected.

Word Marks. The A-field must have a word mark in
its high-order position.
Timing. T

= .0111

(LI

+ 1 + 2LA) ms.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-LA

= .0111 (LI + 1 + LA + L

B )

ms.

Example. Strip zone bits from TOTAL (0560) area
(Figure B-11).
Autocoder

I'

OPERAND

label

::

Figure B-ll.

Note. The sign of the result always has both A- and B-bits if
it is positive. If the sign is negative, it has only a B-bit.

1.

~

I

560

Zero and Add (One Field)

Zero and Subtract (Two Fields)

Instruction Format.

Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg.
A-LA

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

Assembled Instruction:

Timing. T

A-address
AAA

A-Add. Reg.
A-Lw

B-Add. Reg.
B-LB

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Zero WHTAX area (0796-0802) and add new
TAX (0749-0754) to WHTAX (Figure B-10).

Mnemonic

Op Code

ZS

!

A-address
AAA

B-address
BBB

Function. This instruction functionally subtracts the
A-field from a zeroed B-field. Technically, this is
accomplished by moving the A-field to the B-field.
The high-order positions of the B-field are set to
zero if the B-field is moved directly from the Aregister to the B-field. Zone bits are stripped from
all but the sign (units) position. The sign is represented in standard form. Blanks in the A-field are
stored as blanks in the B-field.

Autocoder
OPERAND

:'.

Assembled Instruction:

Figure B-lO.

1

754

Zero and Add (Two Fields)

802

~

Word Marks. A word mark is required to define the
B-field. If the A-field is shorter than the B-field, the
A-field must have a defining word mark to stop
transmission of data to B. The extra high-order Bfield positions contain zeros, if A is shorter than B.
B-5

= .0111 (LI + 1 + LA + L

Timing. T

ms.

B )

Note. If the A-field is positive, the B-field result is negative.
If the A-field is negative, the B-field result is positive.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-Lw

B-Add. Reg.
B-LB

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Zero ACCUM1 (0755) and subtract
TAXEXP (0699) from ACCUM1; Figure B-12.
Autocoder

~

Label

1\

1fzperati9
1
21:'5

~o

Assembled Instruction: 1 699

Figure B-12.

~5

:0

OPERAND
~!!
~o

755

Function. This instruction changes the A-field sign,
and strips all A-field zone bits, except in the units
( sign) position.
Word Marks. The data in the A-field requires a word
mark in its high -order position.
Timing. T

= .0111 (LI + 1 + 2LA) ms.

Address Registers After Operation.
I-Add. Reg.
NSI

•

A-Add. Reg.
A-LA

B-Add. Reg.
A-LA

Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Subtract LI~nT (0495) from zero, and
change sign of LIMIT's value (Figure B-13).

Zero and Subtract (Two Fields)

Autocoder

Zero and Subtract (One Field)

Label

Ie

Instruction Format.
Mnemonic
ZS

B-6

40

.:
Assembled Instruction:! 495

Op Code
!

A-address
AAA

Figure B-13.

Zero and Subtract (One Field)

Function. This instruction always causes the program

Logic Operations
The 1440 program can test for certain conditions that
may arise during processing, and can transfer the
program to a predetermined set of instructions or subroutines, as a result of these specific tests. The operations that perform these testing operations are called
logic operations.
For example, if an overflow occurs in an arithmetic
operation, a routine to handle this conditon can be
initiated by executing a BRANCH IF ARITHMETIC OVERFLOW INDICATOR ON instruction. Branching to this routine is called a conditional branch. The sequential
execution of program steps is bypassed, and the program branches to the address of the instruction specified by the I -address of this conditional branch instruction. If the condition had not been present, the system
would have started reading the instruction that appears at the immediate right of the conditional branch
instruction (next sequential instruction). All conditional branch instructions have a d-character that is
used to specify the conditions necessary for a program
transfer.
A branch that occurs as a direct result of the execution of the instruction itself is called an unconditional
branch. No special condition (other than the execution
of the program step) is needed to transfer the program
out of its normal sequential execution.

Any branch operation that terminates with a successful branch to another portion of core storage for
the next instruction address operates as follows:

to branch to the address specified by the I -address
position of the instruction. This address contains the
op code of some instruction.
This unconditional branch operation is used to interrupt normal program sequence, and to continue
the program at some other desired point, without
testing for specific conditions.

Word Marks. The instruction is executed correctly if
the core-storage position next to the I-address units
position contains either a blank or a word mark.

Timing.
Branch (without indexing): T = .0555 ms.
Branch (with indexing): T = .0666 ms.
Address Registers After Operation.
I-Add. Reg.
Branch (without indexing) NSI
Branch (with indexing)
NSI

A-Add. Reg. B-Add. Reg.
BI
blank
BI
NSI

Example. Unconditionally branch to AGAIN (3498);
Figure B-14.
Autocoder
OPERAND

label

:~
Assembled Instruction:!

Figure B-14.

~

,

098

Branch (Unconditional)

• The B-address register is reset to blanks during the
next ins'truction operation (I-op) cycle.

• If the indexing and store address register special
feature is installed on the system, the next sequential
instruction (NSI) is placed in the B-address register
and during the following instruction the B-address
register is not set to blanks. This s,tored address can
then be operated on by the store B-register feature
to facilitate re-entry into the main program after the
subroutine to which the branch occurred is completed.

Branch if Indicator On

Instruction Format.
Mnemonic
See Figure B-15

Op Code
B

I-address
III

d-character
d

Function.

The d-character specifies the indicator
tested. If the indicator is on, the next instruction is
taken from the I-address. If the indicator is off, the
next sequential instruction is taken. Figure B-15
shows commonly used valid d-characters, the indicators they test, and the conditions that turn the
indicators off. Refer to the Appendix forr full listing.

Logic Instructions
"lord Marks. Word marks are not affected.
Branch (Unconditional)

Instruction Format.
Mnemonic

Op Code

B

B

I-address
III

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
B-7

MNEMONIC

BRANCH ON

d - CHARACTER

RESET BY

BC9
BCV

@

Carriage Channe I # 9
Carriage Channel # 12

Branch Test or Channel 1 Punch

BPB

P

Printer Busy

Machine Circuitry

BIN+

=t=

Printer Error with

BLC

A

"Last Card" Switch (sense switch A)
First Card Read Punch

BLC 2

&

"Last Card II Switch (sense switch A)
Second Card Read Punch

BIN+
BIN+

?
I

Read
} If I)0 Chec k Stop SWitch
• •IS Off
P hError
E
unc rror

Branch Test

BSS
BSS
BSS
BSS
BSS
BSS

+
+
+
+
+
+

B
C
D
E
F
G

Sense
Sense
Sense
Sense
Sense
Sense

System Operator

BAV
BIN+

Z
%

Arithmetic Overflow
Processing Check with Check Stop Switch Off

Branch Test

N

Access Inoperable
Access Busy
Disk Read or Write Error
Wrong - Length Record
Unequa I - Address Compare
Any - Disk Condition

Next Disk Storage Operation

Unequa I Compare (B 'I A)
Equa I Compare (B = A)
Low Compare (B < A )
High Compare (B> A)

Next Compare or Disk Storage Operation

End of Reel
Tape Error

Branch Test

9

I/o Check Stop Switch

Off

Branch Test

Manual System Operator (Switch) or next card feed cycle

BIN+
BIN+
BIN+
BIN +
BIN+
BIN +
BU
BE
BL
BH

\ (left'Oblique)

V
W
X
Y
/

S
T
U

BEF
BER

K

L

(Diagonal)

Switch
Switch
Switch
Switch
Switch
Switch

B
C
D
E
F
G

+ d - Character must be coded in the operand portion of the instruction.

Figure B-15.

Frequently Used Conditional Branch Instructions (See Appendix for Complete List)

Branch if Character Equal

Address Registers After Operation. All d-charaoters.
I-Add. Reg.
No Branch
NSI
Branch (without indexing) NSI
Branch (with indexing)
NSI

A-Add. Reg. B-Add. Reg.
BI
dbb
BI
blank
BI
NSI

1nstruction Format.
Mnemonic
BCE

Example. Test for last card. If it is the last card, branch
to END (0599); Figure B-16.

Autocoder
OPERAND

Label

40

Assembled Instruction:!

Figure B-16.
B-8

Branch If Indicator On

599

A

:5.

~

Op Code

B

I-address
III

B-address
BBB

d-character
d

Function. This instruction causes the single character
at the B-address to be compared to the d-character.
If the comparison is equal, the program branches
to the I -address for the next instruction. If the two
characters are not the same, the program continues
with the next sequential instruction.
Word Marks. Word marks in the location tested have
no effect on the operation.

Timing.
No Branch: T = .0111 (LI + 2) ms.
Branch (without indexing): T = .0111 (LI + 2) ms.
Branch (with indexing): T = .0111 (LI + 3) ms.

MNEMONIC

d -CHARACTER

BW

1

Word mark

BWZ

2

No zone (No A, No B-bit)

Address Registers After Operation.

BWZ

3

Either a word mark, or no zone

I-Add. Reg. A-Add. Reg. B-Add. Reg.
N~
ill
B-1
Branch (without indexing) NSI
BI
blank
Branch (with indexing)
NSI
BI
NSI

BWZ

B

12 zone (A B- bits)

BWZ

C

Either a word mark, or 12 zone

BWZ

K

11 zone (B, No A -bit)

BWZ

L

Either a word mark, or 11 zone

BWZ

S

Zero zone (A, No B-bit)

BWZ

T

Either a word mark, or zero zone

~B~~

Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. This example shows how the chaining
method can be used to test an entire field for blank
characters. Each position in the area labeled
AMOUNT (0350,0349,0348 and 0347) is individually tested for a blank character. If a blank is found,
the program branches to BLANK (0601) for the
next instruction. If the position tested contains a
character, the program continues in sequence (Figure B-17).

Figure B-18.

CONDITION

Branch If Word Mark and/or Zone Mnemonics,
d-Characters and Conditions

Timing.
No Branch: T = .0111 (LI + 2) ms.
Branch (without indexing): T = .0111 (LI + 2) ms.
Branch (with indexing): T = .0111 (LI + 3) ms.
Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
B-1
No Branch
NSI
BI
blank
Branch (without indexing) NSI
BI
NSI
Branch (with indexing)
NSI
BI

Autocoder

Assembled Instruction:!

601

350

bl

!
!
!
Figure B-17.

Branch If Character Equal

Branch if Word Mark or Zone

Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Test the units position of GROAMT (2498)
for an II-zone, and branch to NEGRTE (0598) for
the next instruction. If the!l"e is no II-zone, continue
the program sequence (Figure B-19).
Autocoder

t

Instruction Format.
Mnemonic
Op Code
See Figure B-18
V

I-address
III

OPERAND

:'

Label

B-address d-character
BBB
d
Assembled Instruction:

Function. This instruction examines the character located at the B-address for the zone or word-mark
combinations specified by the d-character. A correct
comparison branches the program to the specified
I-address. If the program does not branch to the
I-address, it continues with the next sequential instruction. The d-characters, the associated mnemonics, and the conditions they test are shown in
Figure B-18.
Word Marks. These have been explained previously.

Figure B-19.

Y

598

M98

~

K

Branch If Word Mark and/or Zone

Compare

Instruction Format.
Mnemonic
C

Op Code

.Q

A-address

AAA

B-address
BBB

Function. The characters in the B-field are compared
to an equal number of characters in the A-field. The
B-9

comparison turns an an indicator that can be tested
by a subsequent BRANCH IF INDICATOR ON instruction.
The indicator is reset by either the next COMPARE
instruction or the next disk-storage operation.
The same indicators set by the COMPARE instruction are also affected by a disk operation (seek,
read, write, and write check). The disk-storage
drive performs an address-compare operation automatically on the address in core storage, with the
address on the disk record, by using the compare
circuits and by setting the appropriate indicator
(equal, high, or low). Therefore, careful consideration must be made in the use of a COMPARE ins true.,
tion and subsequent BRANCH IF INDICATOR ON instructions for testing the results of the COMPARE instruction when disk operations are to' be performed.

*.

blank • tJ [ <
& $ ~ ] ; ~ - / , % y \ ......'" # @ :
> V? A through 1 ! J through R =t= S through Z 0 through 9.

Address Registers Afte1' Operation.
I-Add. Reg.
NSI

Timing. T

= .0111 (Lr + 1 + 2Lw) ms.

Note. Both fields must have exactly the same bit configurations
+
to be equal. For example, OO? (? = 0) compared to OO!
( ! = 6) results in unequal comparison.
All characters that can appear in storage can be compared. The ascending sequence of characters is:

Example. Compare the department numbers punched
in two cards. Department numhers are located in:
Label
DEPTNO
DEPTCD

1

2

Actual Address
1098
0004

Then test the results of the compare operation. If
the department numbers are equal, continue the
program in sequence. If they are unequal, branch
to' TOTAL ( 0495) for the next instruction (Figure B-20).

Autocoder

Figure B-20.

B-IO

B-Add. Reg.
B-Lw

Chain!ng. This ~nstru~tion can be chained to the precedmg operatIOn (if that instruction left usable add~ess-register contents) by supplying only the operation code. When camp are operations are chained,
the compare-result indicators are set by the first unequal condition encountered in the composite field.

Card

Word Marks. The first word mark encountered staps
the operation. If the A-field is longer than the Bfield, metra A-field positions at the left of the B-fieJd
ward mark are not compared. If the B-field is longer
than the A-field, an unequal-compare results. In this
case, the high-compare indicator is set ON.

A-Add. Reg.
A-Lw

Compare

Assembled Instruction: C

004

.!

495

=F 98
/

Data-Moving Operations

Move Chuacterl to A or B Word Mark (One Field)

The 1440 data-moving operations are used to manipulate data within core storage during processing.
Depending on the specific operation, one character, a
group of characters, or a part of one character can be
involved in the operation. A move operation does not
affect word marks, but a load operation causes word
marks as well as data to be transferred.

1nstruction F orrYUlt.

Data-Moving Instructions
Move Characters to A or B Word Mark (Two Fields)

Instruction Format.
Op Code
M

Mnemonic
MLC

A-Address
AAA

B-Address
BBB

Function. The data in the A-field is moved to the Bfield.
vVord Marks. If both fields are the same length, only
one of the fields must have a defining word mark.
The first word mark encountered stops the operation. If the word mark is sensed in the A-field, the
machine takes one more B-cycle to move the highorder character from A to B. At the end of the operation, the A-address register and the B-address
register contain the addresses of the storage locations immediately to the left of the A- and B-fields
processed by the instruction. The data at the A-address is unaffected by the move operation. Word
marks in both fields are undisturbed.
Timing. T = .0111 (LI

+ 1 + 2Lw)

ms.

Mnemonic
MLC

Word Marks. A word mark is required in the highorder position of the A- or B-field. The first word
mark encountered stops the move operation.

Address Registers After Operation.

Example. Move the 5-character field NAMIN (0750)
to the 5-character field NAMOUT (0850), Figure
12-21.
Autocoder

Figure B-2l.

B-Add. Reg.
Bp-Lw

Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address.
Example. Move the following three fields (labeled
EMPNO, DEPTNO and TAXCLS) and store them
sequentially at RECOUT (units position at 0204),
Figure B-22.
Note: If the B-address register already contains the correct
address, the B-Iabel of the first instruction in the example can
'he eliminated.

Employee
number
Department
Tax Class

A-label

A-actual
address

B-label

B-actual
address

EMPYNO 0101-0104
0201-0204
DEPTNO 0108-0110
0205-0207
TAXCLS 0114-0115 RECOUT 0208-0209

Autocoder

t

'*1

:: : : : i : :

~

750

. ~

850

Move Characters to A or B Word Mark (Two
Fields)

O~MND
0. : : : :

Assembled Instruction:!!
!!
!!

Figure B-22.

:'.

r~

\g li!::~~ : :::~ :::

OPERAND

label

Assembled Instruction:

A-Add. Reg.
A-Lw

I-Add. Reg.
NSI

B-Add. Reg.
B-Lw

Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address.

~

= .0111 (LI + 1 + 2Lw) ms.

Timing. T

Address Registers After Operation.
A-Add. Reg.
A-Lw

A-address
AAA

M

Function. This format of the move operation can be
used when it is desired to move fields from the Aarea and store them sequentially in the B-area. It
saves program storage space and time, because the
B-address is automatically taken from the B-address
register, and does not have to be written or interpreted as part of the instruction.

Note. If the fields are unequal in length, chaining can produce unwanted results, because one of the fields has not been
completely processed. Thus, one of the registers will not contain the address of the units position of the left-adjacent field.

I-Add. Reg.
NSI

Op Code

115
110
104

209

Move Characters to A or B Word Mark (One
Field)

Move Characters and Suppress Zeros

Instruction Format.
Mnemonic
MCS

Op Code
Z

A-address
AAA

B-address
BBB
B-11

Example

Op Code

Move Char. and
Suppress Zeros

A-address
xxx

xxx

A-field (data)

B-field (data)

.1..

Storage before

B-address

Example. Move and suppress the zeros in the 10character Held labeled INVBAL (0958) to the area
labeled OUTPT4 (0448), Figure B-25.
Autocoder
OPERAND

:',

±
llbbbbbb

Q01206

±

Storage after

Figure B-23.

Move Characters and Suppress Zeros Operation
Example

Function. The data in the A-field is moved to the Bfield. After the move, high-order zeros and commas
are replaced by blanks in the B-field. Any character
that is not a comma, hyphen, blank, significant digit,
or zero causes zero suppression to begin again. The
sign is removed from the units position of the data
field. Refer to Figure B-23 for a move characters
and suppress zeros operation example.
Figure B-24 is another example of a move characters and suppress zeros operation involving a multiple field transfer. In this operation there are effectively two groups of high-order zeros. The @ sign is
recognized as not being a significant digit or a zero,
blank, comma, decimal, or minus sign. Thus, not
only are the two high-order zeros suppressed, but
also the two zeros to the right of the @ sign.

Word Marks. The A-field word mark stops transmission of data. B-field word marks, encountered during
the move operation, are erased.
Timing. T

= .0111

(LI

+ I + 3LA )

ms.

Note. This description of the instruction assumes a 1440 system without the expanded print edit special feature. If the
feature is installed, a decimal does not restart zero suppression.
(See Special Features section.)

A-Add. Reg.
A-L 40

B-Add. Reg.
B+1

Chaining. This instruction is not normally chained.

Example
Move Char. and
Suppress Zeros
Storage before

Op Code

;£;.

Figure B-25.

A-address

B-address

xxx

xxx

A-field (data)

B-field (data)

448

Move Characters and Suppress Zeros

Move Characters to Record Mark or Group
Mark with a Word Mark

Instruction Format.
Mnemonic
MRCM

Op Code
p

A-address
AAA

B-address
BBB

Function. This instruction makes it possible to move
an entire record from one core-storage area to
another, regardless of the presence of word marks
in either field. The A-and B-addresses specify the
high-order position of the respective areas. Transmission starts from the high-order addresses, and
continues until a record mark (A82 bits) or a group
mark with a word mark (CBA8421WM bits) is
sensed in the A-field. The record mark or group mark
transfers to the B-field.
Word "Nlarks. Word marks within the area do not affect the operation. Any word marks in the B-field
remain unchanged. A-field word marks are not
transmitted to the B-field.
Timing. T

= .0111 (LI + 1 + 2LA )

ms.

Address Registers After Operation.
I-Add. Reg.
NSI

Address Registers After Operation.
I-Add. Reg.
NSI

Assembled' Instruction: ~ 958

bbb1206

.201206

. ~

A-Add. Reg.
A + LA
(Tlte length of the AHerd' includes the group
mark with a word mark
or record mark)

B-Add. Reg.
B + LA

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

±
.Q01 Ob @ 00.25

bbbbbbbbbbbb

±
Storage after

Q01 Ob @ 00.25

bbb lOb @ bb.25
I

Figure B-24.

B-12

Move Characters and Suppress Zeros Operation
Example

Example. Move the disk record that has its high-order
character in the location labeled TARCIN (0679) to
another area of core storage beginning at the label
WTAREC (0985), Figure B-26.

Autocoder

~

OPERAND

:'.

Label

Assembled Instruction:!

Figure B-26.

679

. ~

985

Move Characters to Record Mark or Group Mark
with a Word Mark

Function. Only the zone pOi'tion (AB bits) is moved
from the A-address to the B-address. The digit portions (8-4-2-1 bits) are undisturbed at both addresses. The entire character in the A-address is left
undisturbed.
Word Marks. Word marks are not required at either
the A- or B-addresses, because this instruction involves a single character.

Move Numeric

Timing. T

= .0111 (LI + 3) ms.

Instruction Format.
Op Code
D

Mnemonic

MLNS

A-address

Address Registers After Operation.

B-address
BBB

AAA

Function. The numerical portion (8-4-2-1 bits) of the
single character in the A-address is moved to the Baddress. The zone portions (AB bits) are undisturbed
at both addresses The entire character in the Aaddress is left undisturbed.
Word Marks. Word marks are not required at either
adch:ess, because the nature of the instruction always specifies that only one digit is to be transmitted.
Timing. T

= .0111 (LI + 3) ms.

I-Add. Reg.
NSI

B-Add. Reg.
B-1

A-Add. Reg.
A-I

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Move the zone bits from the units position
of NEWBAL ( 3100 ) to the area labeled REC2
( 3195); Figure B-28.
Autocoder
OPERAND

:'

40

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-I

B-Add. Reg.
B-1

Assembled Instruction:!

AOO

A95

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

Figure B-28.

Example. Move the numerical portion of the units
position of ONHAND (0986) to OUT5 ( 0789),
Figure B-27.

Load Characters to A Word Mark (Two Fields)

Autocoder

~

Move Zone

Instruction Format.
Mnemonic

Or Code

A-address

MLCWA

L

AAA

B-address
BBB

OPERAND

:'.

Assembled Instruction:

Figure B-27.

~

986

.

789

Move Numeric

Move Zone

MLZS

Op Code
y

Function. This instruction is commonly used to load
data intO' designated printer O'r punch output areas
of storage, and alsO' to' transfer data or instructions
from a designated read-in area to' another storage
area. The data and word .mark from the A-field are
transferred to the B-field, and all other wai'd marks
in the B-field are cleared.
Word Marks. The A-field must have a defining word
mark, because the A-field word mark stops the
operation.

Instruction Format.
Mnemonic

~

A-address

AAA

B-address
BBB

Timing. T

= .0111 (LI + 1 + 2LA )

InS.

B-13

Note: If the B-field is larger than the A-field, the B-field word
mark is not cleared.

Address Registers After Operation.
I-Add. Reg.
NSI

Timing. T

B-Add. Reg.
B-LA

A-Add. Reg.
A-LA

Word Marks. The A-field word mark stops the operation. Therefore, B-field word marks, beyond the left
limit of the A-field, are not cleared.

= .0111

(LI

+ 1 + 2L A )

ms.

Address Registers After Operation.
Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address.
Example. Transfer the data and wO'rd marks from
REC4 (0950) to OUT8 (0650); Figure B-29.

Autocoder

I'

Label

.:

,trati~
,
!"

OPERAND

~.

39

Assembled Instruction:.!:.

950

~

I-Add. Reg.
NSI

A-Add. Reg.
A-LA

Chaining. This instruction can be chained to the preceding instruction (if that instruction left usable address-register contents) by supplying only the operation code, or the operation code and the A-address.
Example. Load the three fields, EMPYNO, DEPTNO,
and TAXCLS, with their word marks to sequential
locations, beginning at storage location (0201), Figure B-30.

650

A-label
Figure B-29.

Load Characters to A Word Mark

B-Add. Reg.
Bp-LA

A-actual
address

Employee
EMPYNO 0101-0104
number
Department nEPTNO 0108-0110
Tax Class
TAXCLS 0114-011.5

B-label

B-actual
address

PRINT 1

0201-0104
0205-0207
0208-0209

Load Characters to A Word Mark (One FieleJ)

I nstrtlction Format.
Mnemonic
MLCWA

Autocoder

Op Code
L

A-address
AAA

Function. This format can be used when several Afields (not necessarily in sequence) are to be loaded
sequentially in the B-field. This instruction causes
the A-field data and word mark to' be moved to the
B-field. B-field word marks are cleared, up to the
A-field wO'rd mark.

B-14

Assembled Instruction: L 115 209

T
T
Figure B-30.

110
104

Load Character to A Word Mark (One Field)

Miscellaneous Operations

Function. This format of the SET WORD MARK instruction causes a word mark to be set at the A-address.

The miscellaneous operations in an IBM 1440 Data
Processing System involve the insertion and removal
of word marks from specific core-storage locations, the
clearing of core-storage areas, programmed halt operations, and other similar operations.

Da ta at this address is undisturbed. A word mark
cannot be set in core-storage position 000.

"V01'd Marks. A word mark is set at the A-address.
Timing. T

Miscellaneous Instructions

Address Registers After Operation.
I-Add. Reg.
NSI

Set Wqrd Mark (Two Addresses)

Op Code

A-address
AAA

A-Add. Reg.
A-I

B-Add. Reg.
A-I

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

Instruction Format.
Mnemonic
SW

= .0111 (LI + 3) ms

B-address

BBB

Function. A word mark is set at each address specified
in the instruction. The data at each address is undisturbed. A word mark cannot be set in core-storage
position 000.

Example. Set a word mark at AREA2 (2901); Figure
B-32.
Autocoder
OPERAND

Word Marks. Word marks are set at both the A- and
B-addresses specified. A word mark is not required
in the core-storage position following this instruction.
Timing. T

:~
Assembled Instruction:.!..

Figure B-32.

= .0111 (LI + 3) ms.

!

~

ROl

Set Word Mark (One Address)

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-I

B-Add. Reg.
B-1

Clear Word Mark (Two Addresses)

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Set word marks at locations BEGIN1 (3950)
and BEGIN2 (3970); Figure B-31.
Autocoder
OPERAND

:'.

Assembled Instruction: ,

Figure B-3!.

150

170

Set Word Mark (Two Addresses)

~

Instruction F orrnat.
Mnemonic

Op Code

CW

D

A-address
AAA

B-address

BBB

Function. This instruction clears word marks at the
locations specified by the A- and B-addresses, without disturbing the data there. A process error occurs
if the specified A- or B-address is core-storage position 000 (end-around check condition).
Word lvlarks. Word marks are cleared at the A- and
B-addresses.
Timing. T

= .0111

(LI

+ 3) ms.

Address Registers After Operation.
I-Add. Reg.
NSI

Set Word Mark (One Address)

Instruction Format.
Mnemonic
SW

Op Code

A-address
AAA

A-Add. Reg.
A-I

B-Add. Reg.
B-1

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
B-15

Example. Clear the word marks at NETPAY (1924)
and ACCUM4 (3309); Figure B-33.
Autocoder

~

OPERAND

:'.

Label

.:
Assembled Instruction: Q

Figure B-33.

Z24

~

(09

Clear Word Mark (Two Addresses)

Function. As many as 100 positions of core storage can
be cleared of data and word marks when this instruction is executed. Clearing starts at the A-address and continues in des'cending address sequence
to the nearest hundreds position. The cleared area
is set to blanks (C-bits).
Word Marks. Word marks are also cleared, but do
not stop the operation.
Timing. T

Clear Word Mark (One Address)

Note: During the execution of this instruction, only the Baddress register is used. Therefore, when chaining is being
considered, the contents of the A-address register can be
ignored.

Instruction Format.
Mnemonic

0]) Code

CW

[J

= .0111 (LI + 1 + Lx) ms.

A-address
AAA

Function. This format of the CLEAR WORD MARK instruction causes the word mark to be cleared at the Aaddress. Data at the A-address is not disturbed. A
process error occurs if the specified A-address is
core-storage position 000 (end-around check condition).
""'ord Marks. vVord marks are cleared at the A-address
only.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A

B-Add. Reg.
x 00-1

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Clear W AREA5 (0500-0563); Figure B-35.

Timing. T = .0111 (LI

+ 3) ms.
Autocoder

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-I

OPERAND

~!!

B-Add. Reg.
A-I

::

•

~

Assembled Instruction:!.. 563

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.
Example. Clear the word mark at RECN01 (3608);
Figure B-34.

Figure B-35.

Clear Storage and Branch

Instruction Format.
Mnemonic

Autocoder

Clear Storage

CS

0]) Code
/

I-address
III

B-address
BBB

40

Assembled Instruction:

Figure B-34.

9

FOa

Clear Word Mark (One Address)

Word Marks. Word marks do not stop the operation.
It is not necessary to follow this instruction with a
character and an associated word mark.

Clear Storage

Instruction Format.
Mnemonic

CS
B-16

Function. This is the same as the CLEAR STORAGE instruction, except that the clearing starts at the Baddress. The I-address specifies the location of the
next instruction.

0]) Code
/

A-address
AAA

Timing.
Without indexing: T = .0111 (7 + Lx) ms.
With indexing: T = .0111 (8 + Lx) ms.

I

Address Registers After Operation.

Address Registers After Operation.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
Without indexing
With indexing

NSI
NSI

BI
BI

blank .
NSI

Example. Clear W AREA2 (0800-0898) and branch to
START4 (0498) for the next instruction (Figure
B-36).

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

A

B

Example. Leave eight storage positions Dpen for an
instructiDn core such as READ CARD M (000) (000) R.
The correct instruction can be inserted when needed
(Figure B-37).

Autocoder

~perati~
$TA;;~ ,LJ,t~£A8 ~'

Label

OPERAND

:',

,

.:

Assembled Instruction:!.. 498

Figure B-36.

. ~

898

Autocoder

~

OPERAND

:'

Label

Clear Storage and Branch

~

Assembled Instruction: N 000 000 0

Figure B-37.

No Operation

No Operation

Instruction Format.
Mnemonic

Op Code

NOP

N

Function. This cDde performs no operation. It can be
substituted for the operation code of any instruction
to make that instructiDn ineffective. It is commonly
used in program mDdificatiDn to cause the machine
to skip over specific instructiDns.
InstructiDns that have A-addresses Df %xx Dr @xx
should have their A-address field set to valid numeric values (all zeros, fDr example), or all N's with
associated wDrd marks to perform anD-operation
function successfully. If this is not done, the Aaddress may contain characters that cause indexing
and/ or invalid cDre-storage addressing prDblems.
Word n,1arks. The program operatiDn resumes at the
next DperatiDn cDde identified by a word mark.
Timing. T

= .0111

(LI

In this instance, the address registers after operation
would be:

A-Add. Reg.
123

Mnemonic

Op Code

II

Function. This instructiDn causes the machine to stop
and the stop-key light to' tum ON. Pressing the start
key causes the program to start at the next instruction in sequence.
Word Marks. WDrd marks are not affected.
Timing. T

= .0222 ms.

Address Registers After Operation.
A-Add. Reg.

Ap

NSI

code, these characters enter the A- and B-field registers. For
example:
1234
xxxx
N
A

NSI

Instruction Format.

I-Add. Reg.

+ 1) ms.

Note. If characters without word marks follow an N operation

I-Add. Reg.

Halt

Bp

Example. Figure B-38 is a symbolic example Df the
HALT instruction.

Autocoder
OPERAND

:'

B-Add. Reg.
4bb o

OIf this address is subsequently used (chained or stored)
an invalid-address check stop condition occurs.
(See Instruction Length section.)

B-Add. Reg.

. ~

Assembled Instruction: •

Figure B-38.

Halt

B-17

Halt and Branch

positions is left to the discretion of the programmer,
but the system's valid addressing and indexing rules
must be followed. The coding (specified by the
user) can be entered by a DC statement following
the HALT instruction:

Instruction Format.
Mnemonic

Op Code

I-address
III

H

Function. This is the sam'e as HALT, except that the
next instruction is at the I-address.

H
DC @J@
and will assemble as : ..:.

J

Word Marks. Word marks are not affected.
Timing.
Without indexing: T = .0555 ms.
With indexing: T = .0666 ms.

A 6-character DC statement will produce a halt
with identification which fills both the A- and Bstorage address registers.

Address Registers After Operation.
Without indexing
With indexing

I-Add. Reg.
NSI
NSI

A-Add. Reg. B-Add. Reg.
BI
blank
BI
NSI

Example. Stop the system, and branch to START2
(0895) for the next instruction when the start key
is pressed (Figure B-39).

Another method is to code a DCW statement
where the coded halt is to appear in the program,
in the form:
DCW @-123456@
This then assembles as: - 123456

Word Marks. A word mark is required in the corestorage position adjacent to the instruction to specify
the instruction length. (See Instruction Length section. )

Autocoder

~

OPERAND

label

~'

~.

~

= .0111

Halt and Branch

Coded Halt

I-address

B-address

Cl
C l C2 C 3

Function. These forms of the HALT instruction place
coded information in the A- and B-address and dcharacter positions. The coded information is then
used to identify the halt. The coding used in these

B-18

ms.

A-Add. Reg.
Ct b b
Cl C 2 C a

B-Add. Reg.
Cl b b
C4 C5 C 6

Example. Stop the system, and label the stop as 22
(Figure B-40).

Instruction FOl'mat.
Op Code

+ 1)

Address Registers After Operation.
I-Add. Reg.
NSI
NSI

Mnemonic
H

(LI

Note. The last coded character also appears in the A-register.

Assembled Instruction: • 895

Figure B-39.

Timing. T

Autocoder
Label
49

Assembled Instruction: • 022 022

Figure B-40.

Coded Halt

the result is stored in the B-field. The data field and
the cO'ntrol field are read from storage character-bycharacter, under cO'ntrOoI O'f the wO'rd marks and the
editing rules. Any sign in the units position of the
data field is removed during the operation.

Edit Operation
The IBM 1440 Data Processing System has a powerful
edit instructiOon that can cause all desired commas,
decimals, dOollar signs, asterisks, credit symbO'ls, and
minus signs to be inserted autOomatically in a numerical output field. Unwanted zerO's to the left of significant digits can be suppressed. Thus, editing in the
1440 system is the automatic cOontrOoI O'f zero suppression, inserting Oof identifying symbOols, and punctuatiOon
of an output field (Figure B-41).
In editing, two fields are needed: the data field
and a control field. The data field is the data edited
for output. The contrOoI field specifies how the data
field is edited. It specifies the location of punctuation
and condition of special characters and indicates
where zero suppression occurs. The two fields are
operated on character-by-character, under contrO'I of
editing rules.
The contrOoI word has twOo parts: the body (which
punctuates the A-field), and the status portion (which
contains the dollar signs, sign-symbO'ls, and class-O'ftO'tal asterisks). The sign O'f the A-field determines
whether or not sign symbols will print. The sign of the
A-field is removed.
To edit a field, a LOAD CHARACTERS TO A WORD MARK
instruction loads the control word into the specified
printer output area. This puts the control word where
the edited information will eventually go. Then, a
MOVE CHARACTERS AND EDIT instruction (with the same
B-address as the previous load instruetion) performs
the editing function as it moves the data into the output area.
'
Note: A I-position field cannot be edited. Figure B-42 shows
the use of these rules as applied to the data in Figure B-41.

Editing Rules

Rule 1. All numerical, alphabetic, and special characters can be used in the cOontrol word. However, some
of these characters have special meanings:
Control
Character
b (blank)

o (zero)
. (decimal)

, (comma)

CR (credit)

-

(minus)

Function
This is replaced with the character from the
corresponding position of the A-field.
This is used for zero suppression, and is replaced
with a corresponding character from the A-field.
Also the right-most "0" in the control word indicates the right-most limit of zero suppression.
This remains in the edited field in the position
where written. It is removed during a zerosuppress operation if it is to the left of the
high-order significant digit. When used with the
expanded print edit feature, it has an additional function (see Expanded Print Edit section) .
This remains in the edited field in the position
where written. It is removed during a zerosuppress operation if it is to the left of the highorder significant digit.
This is undisturbed if the data sign is negative.
It is blanked out if the data sign is positive. It
can be used in body of control word without
being subject to sign control.
This is the same as CR.

& (ampersand) This causes a space in the edited field. It can

be used in multiples.
~

(asterisk)

This can he used in singular or in multiples,
usually to indicate class of total. When it is used
with the expanded print edit feature, it takes
on an additional function (see Expanded Print
Edit section).

$ (dollar sign) This is undisturbed in the position where it is
written. \Vhen used with the expanded print
edit feature, it has an additional function (see
Expanded Print Edit section).

Move Characters and Edit

Instruction Format.
Mnemonic
MCE

Op Code
E

A-address
AAA

B-address
BBB

Function. The data field (A-field) is modified by the
contents of the edit control field (B-field), and

Edit instruction

OP
~

A-address

B-address

300

789

Storage

Q0257426

B-field (control word)
1 bbb, bbO.bb & CR & **
B-field

Result of edit

Q0257426

$

Figure B-41.

Editing Operation

A-field (data)

2,574.26

**

Rule 2. A word mark in the high-O'rder position of
the B-field controls the move characters and edit
operation.
Rule 3. When the A-field word mark is sensed, the
remaining commas in the control field are set to blanks.
An A-field wOord mark is required fOor proper operation.
Rule 4. The bOody Oof the control word is that portion beginning with the right-most blank or zero, and
continuing to the left to the contrO'I character that governs the transfer of the last position O'f the data field.
The remaining portion of the control field is the status
portion.
B-19

ADDRESS
REGISTERS

Cycle TYPE OF
CYCLE
1
2

lop

It

"8" FIELD

A

STORAGE

AT END OF CYCLE

E

l!b b b ,b b O. b b & C R & * *

7

7

same

REG.
8

A

8

002

?

?

E

003

07bb

07bb

7

I

PUT
8ACK
INTO

REMARKS

Read Instr. OP Code
Load A Address Register

3

12

004

078b

078b

8

8

8

same

Load A Address Register

4

Is

005

0789

0789

9

9

9

same

Load A Address Register

5

14

006

0789

03bb

3

3

3

same

Load B Address Register

6

Iii

007

0789

039b

0

0

0

same

Load 8 Address Register

0

7

16

008

0789

0300

0

0

same

Load B Address Register

8

008

0789

0300

01 0

OP

same

OP code of next instr.

9

h
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

Blank

i!bbb,bbO.bb&CRb* *

Rule 1

13

8

008

0788

0296

R

6

Blank

i!bbb,bbO.bb&Cbb**

Rule 1 and 5

14

B

008

0788

0295

C

6

81ank

i!bbb,bbO.bb&bbb* *

Rule 1 and 5
Rule 1

15

8

008

0788

0294

&

6

81ank

i!bbb,bbO.bbbbbb**

16

8

008

0788

0293

b

6

6

i!bbb,bbO.b6bbbb**

Rule 1

17

A

008

0787

0293

2

2

2

same

Rule 1

18

8

008

0787

0292

b

2

2

i!bbb,bbO.26bbbb* *

Rule 1

19

A

008

0786

0292

4

4

4

same

Rule 1

20

8

008

0786

0291

21

8

008

0786

0290

0

4

4

!! b b b, b b!. 2 6 b b b b * *

same

4

Rule 1
Zero Suppress-Rule 1 and 7

22

A

008

0785

0290

7

7

7

same

23

8

008

0785

0289

b

7

7

1bbb,b74.26bbbb* *

Rule 1

24

A

008

0784

0289

5

5

5

same

Rule 1

25

8

008

0784

0288

b

5

5

.lbbb,574,.2bbbbb* *

Rule 1

26

A

008

0783

0288

2

2

2

same

Rule 1

27

B

008

0783

0287

,

2

,

same

Rule 1

28

B

008

0783

0286

b

2

2

11 b b 2 , 5 7 i. 2 6 b b b b * *

Rule 1

29

A

008

0782

0286

0

0

0

same

Rule 1

30

B

008

0782

0285

b

0

0

i.lb02,574.26bbbb**

Rule 1
Rule 1

Rule 1

31

A

008

0781

0285

.Q.

0

0

same

32

B

008

0781

0284

b

0

0

i002,574.26bbbb**

Rule 1

33

B

008

0781

0284

1

0

$

$002,574.26bbbb**

Sense Word Mark-Rev. Scan-Rule 1 and 6

34

B

008

0781

0285

$

0

$

same

35

B

008

0781

0286

0

.Q

Blank

$b02,574,.26bbbb**

Rule 6

36

B

008

0781

0287

0

0

Blank

$bb2,574.26bbbb**

Rule 6
Rule 6

Rule 6

37

B

008

0781

0288

2

.Q

2

same

38

B

008

0781

0289

,

.2

,

same

Rule 6

39

B

008

0781

0290

5

0

5

same

Rule 6

40

B

008

0781

0291

7

0

7

same

Rule 6

41

B

008

0781

0292

4

0

4

$bb2,574.26bbbb**

Rule 6

Figure B-42.

B-2O

Step-by-step Editing Operation

Rule 5. If the data field is positive, and if the CR
or - symbols are located in the status portion of the
control word, they are blanked out.

2. The special zero is replaced by the corresponding
digit from the A-field, when it is detected in the
control field.

Rule 6. The data field can contain fewer, but must
not contain more positions than the number of blanks
and zeros in the body of the control word. Dollar signs
and asterisks are included in the body of the control
word with the expanded print edit special feature.

3. A word mark is automatically set in this position of
the B- (output) field.

Rule 7. Zero suppression is used if unwanted zeros
to' the left of significant digits in a data field are to be
deleted (see Figure B-4.3).
Zero Suppression Operation

Zero suppression is the deletion O'f unwanted zeros at
the left of significant digits in an output field (Figure
B-43 ).
A special 0 is placed (in the body of the control
word) in the right-most limit of zero suppression.
To perfonn zero-suppression operations properly,
there must be at least one character to the left of the
zero-su.ppression character in the control woxd.

4. The scan continues until the B-field (high order)
word mark is sensed and removed.

Reverse Scan:
1. In the output field, blanks replace all zeros and
punctuation, except hyphens at the left of the first
significant character (up to, and including, the zerosuppression code position).
2. When the automatically-set zero suppression word
mark is sensed, it is erased and the operation ends.
Timing. T

= .0111

(LI + 1 + LA + LB + Lz) ms.

Address Registers After Operation.
I-Add. Reg. A-Add. Reg.
suppression

NSI

B-LB
Location of the special
control zero plus l.

With zel'O

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.

2010900

A-field
Forward scan

-.

Reverse scan

$ bbb109.00

Results of edit

$

Control word (B-field)

Figure B-43.

Zero Suppression

B-Add. Reg.

Without zero
suppression

NSI

Chaining. This instruction is not normally chained.
Example. Edit the data labeled GROPAY (0985) by
the edit-control word EDCONT (0325). Store the
result in PRINT6 (00250); Figure B-44.

$ bb, bbO. bb
$

00,102·00

•

109.00

Autocoder

~

~~

: : : : : ! : : ;3~0=~~iirz*t:
l_'

Assembled Instruction:!

!
Figure B-44.

O~~D
;0: : : : :~ : : : :

:::

325 250
985 250

Move Characters and Edit

B-21

•
IBM 1447 Console Operations

The IBI",I 1447 Cansole (Mad el 1, 2, ar 4) , Figure C-l ,
is a required unit an an IBM 1440 Data Pracessing
System. The cansole cantains the system aperating
keys, lights and switches which give the aperatar external cantral far setting up and checking system aperation. Far mare detail on the keys, lights, switches,
and aperating procedures, refer to IBM 1447 Console
( Form A24-3031 ).

. - - - - - - - - - - - General Mode of Operation
M - Move (no word marks involved)
L - Load {word marks involved}
. - - - - - - - - Operating Input-Output Unit
%TO - 1447 Console I/O Printer
. - - - - - B - Address
The first core-storage position
involved in the data transmission
operat ion

Console Instruction Format
A program-initiated data transmission between the
IBM 1447 Console ( Model 2 ar 4) and the attached
system is started by executing the proper console instruction. If the data h'ansmission is from the 1447
console ta the system, a READ FROM 1447 CONSOLE insh'uctian is executed . The format far the 1447 consale
is shown in Figure C-2.
The variaus parts af a 1447 console instructian and
their uses are:

d - Modifier Character
R - Read from 1447 console
W - Write on 1447 console

x

XXX

Figure C-2.

XXX
mM

X

1447 Console I/ O Printer Instruction Fonnat

General Mode of Operation

This part of the instructian identifies the operation as
either a mave operation 0'1' a laad operation. A mave
operation specifies that only the character coding is
transmitted. A 10' ad operation specifies that both the
character cading and any associated word marks are
transmitted.

Operating Input/Output Unit

This part af the instructian specifies the console I/ O
printer as the active input/ autput unit for this operatian.
B-Address

This part of the instructian specifies the first leftmost
core-starage positian that will be invalved in the operatian.
d-Modifier Character

This part of the instructian specifies the data transmissian directian. An R specifies a cansole printerta-system data transmission; a W specifies a systemta-console printer data transmissian.

IBM 1447 Console Instructions
Read from 1447 Console

Instruction Format.

Figure C-l.

mM

1447 Console, Model 2

Mnemonic

Op Code

A-address

B-address

RCP
RCPW

M

%TO
%TO

BBB
BBB

L

d-character
R
R

C-l

Function. This instruction is used to enter data into
core storage from the console I/O printer. The op
code specifies the mode of operation. If the operation takes place in the move mode (M Op code),
word marks cannot be transmitted from the console
printer into core storage. Any word marks already
in the area that accepts the message will remain
there.
If the operation takes place in the load mode (L
op code), word marks can be transmitted from the
console printer into core storage when the wordmark key is pressed. Any word marks already in the
area that accepts the message will be removed.

The A-address specifies the consoJe I/O printer
as the I/O unit involved in the operation. The Baddress specifies the first core-storage position that
accepts data from the consoJe printer. The d-character specifies a console printer-to-system operation.
The console operator can start keying the data
when the white type light on the console comes ON.
The console operator types the data on the console
printer and the characters enter core storage, beginning at the location specified by the B-address
portion of the instruction.
The operator transmits a word mark by pressing
the shift key and the word-mark key. The upper case
(wo'I'd-mark position) of the period key prints an
inverted circumflex. The next character printed to
enter core storage will have a word mark associated with it.
.
When the number of data positions to be entered
into core sto'I'age exceeds the number of printing
positions on one printer line, the print element automatically returns from the right-hand margin, executes a line feed in operation, and the keying operation continues on the next line.
The operation is normally ended when the operator presses the release key. This key operation
inserts a group mark with a word mark in core storage, initiates a carrier-return and line-feed operation, and disconnects the printer from the system.
The operation can also be ended if a group mark
with a word mark is sensed in core storage. This
signifies that the input message exceeded the corestorage area capacity and:
l. The operation ends and the printer is disconnected from the system.

2. The inquiry clear
comes on.

(~)

indicator in the system

3. The red type light on the console comes on.
C-2

4. A carrier-return and line-feed operation is initiated.
5. The keyboard is interlocked.

Word Marks. Depends on mode of operation. To end
the operation correctly, a group mark with a word
mark must be inserted into the 1440 core-storage
position to the right of the position that contains
the last character sent to the system from the console
printer. If in load mode, existing word marks are
erased, and new word marks are inserted in corestorage where applicable.
Timing. T

= .0999 ms + operator keying time.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%30

B-Add. Reg.
B + LB + 1

Chaining. This instruction cannot be successfully
chained.
Example. Transfer the data keyed on the console I/O
printer to the area in 1440 core storage labeled
INQIN (0785); Figure C-S.
Autocoder

~

OPERAND

Label

.:

Assembled Instruction: M

Figure C-3.

:'. :

~o
%TO

785

R

Read from 1447 Console

Write on 1447 Console

Instruction Format.
Mnemonic
WCP
WCPW

Op Code

A-address

B-address

M

%TO
%TO

BBB
BBB

L

d-character
W
W

Function. This instruction is used to transfer data
from core storage to the console I/O printer. The
Op code specifies the mode of operation. If the operation takes place in the move mode, word marks
are ignored. The character with an associated word
mark in core storage is printed as a character only.
Functional control characters cause the specified
carrier movement on the console p'I'inter, and the
characters do not print. Refer to IBM 1447 Console
(Form A24-3031) for functional control characters
and associated printer operation.

If the operation takes place in the load mode, the
word marks are transmitted and printed. The word
mark is printed before the associated character is
printed. Functional control characters are also
printed. The carriell' movement normally specified by
the character does ~ot occur.
The A-address specifies the console I/O printer
as the I/O unit involved in the operation and turns
on the white type light if the printer is available for
use. The B-address specifies the first core-stOl1'age
position of the area that contains the data to be
printed. The d-charactell' specifies a system-to-console printer operation.
The data reads out of core storage, beginning at
the address specified in the instruction and continuing until a group mark with a WOl1'd mark is encountered. The group mark with a word mark ends
the operation, but does not print. A carriell'-return
operation, with an associated line-feed operation,
occurs and the system advances to the next instruction.
If the end of a printed line is reached before the
group mark with a word mark is sensed, printing
is suspended and a carrier-return and line-feed
operation is executed. When the carrier reaches the
left-hand margin, the print-out operation continues.

Word Marks. Depends on mode of operation. Characters in core storage which have associated word
marks are preceded on the print-out by an inverted
circumflex, when the console-write operation is in
load mode. When the console-write is in move mode,
word marks are not indicated on the printed output.
A group mark with a word mark in COl1'e storage
ends the operation.
Timing. T = .0999 + 68 (L B ) + 800 (number of carrier return operations) ms.
Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg.
B + LB + 1

A-Add. Reg.
%30

Line Feed Operation

The 1447 console printer fonus can be spaced up with
the WRITE ON 1447 CONSOLE instruction by addressing
a core-storage position containing a group mark with
a word mark. See Write on 1447 Console section.

Branch if Inquiry Request

Instruction Format.
Mnemonic
BIN

I-address
III

B

d-character

Q

Function. This branch indicator usuaUy signifies that
the console I/O printer has a message to send to the
system. The indicator turns on during a consoleinquiry operation when the operator presses the
type key.
Note: Refer to IBM 1447 Console, Fonn A24-3031, for
special feature considerations and additional infonnation concerning this instruction.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch
NSI
BI
Qbb
blank
Branch (without indexing) NSI
BI
NSI
BI
NSI
Branch (with indexing)

Example. Test the inquiry-request indicator and branch
to a subroutine labeled RD1447 (4766) if the test is
positive (Figure C-5).
Autocoder

I'

Label
,

~perQti~

151

:

Chaining. This instruction cannot be successfully
chained.
Example. Print 'Out the data, beginning in the area
labeled INQOUT (0785) and ending with a groupmark with a word-mark (Figure C-4).

Op Code

21

I NR 0 I

If.~ 7 J Q, ~

Assembled Instruction:

Figure C-5.

0

!

76 W

Q

Branch if Inquiry-Request Indicator On

Autocoder

~

Branch if Inquiry Clear

Label

Assembled Instruction:!!

Figure C-4.

Write on 1447 Console

%TO

785

W

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
c\)

C-3

Function. When special features are not involved, this
branch indicator and the associated red type light
are turned on when:
1. The console operator makes a keying mistake and
instructs the system to disregard the message (by
pressing the cancel key).

Example. Test the inquiry-clear indicator and branch
to a subroutine labeled NURD47 (6531) if the test is
positive (Figure C-6).
Autocoder

I'

OPERAND
Label
!

:

2. The input message exceeds the core-storage area
capacity.
3. The 1447 circuitry detects a parity error during
the 1447-to-core-storage transfer.

40

Assembled Instruction: B

Figure C-6.

N3/

:~

!

:

*

Branch If Inquiry-Clear Indicator On

4. The 1447 circuitry detects a parity error during
the core-storage-to-1447 transfer.
Note: Refer to IBM 1447 Console, Form A24-3031. for
special feature considerations and additional information
concerning this instructon.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

put from, the

= .0666

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
~bb
No Branch
NSI
BI
blank
Branch (without indexing) NSI
BI
NSI
Branch (with indexing)
NSI
BI

C-4

Console Printer Timing
The console I/O printer is used for input to, and outIBM

1440 Data Processing System.

The timing involved during an input operation is:
T

= .0111

(LI

+

1)

+

console operator keying time.

The timing involved during an output operation is:
T = .0111 (LI + 1) + 68 (L B ) + 800 (number of carrier return operations) ms.o
~ Only one portion of either operation is overlapped by processing. This is the last carrier-return and line-feed operation
that occurs at the end of an output operation. (See IBM 1447
Console, Form A24-3031.)

II
Readers, Punches and Printers

IBM 1403 Printer, Models 2, 3, 5, and 6
The printing power of the 1440 system spans the range
from 120 lines per minute with the 63-character set on
the 1443 Model 3, up to 1400 lin es per minute with
the 1403, Model 3, with th e preferred ch aracter set.

1 . - - - - - - Ta tal Print Cycle ( l00 ms) - - - - - - . !
I o e - - - --

Print Time (83.4ms max.)

.\

Forms Mave ment (One Spa ce approx . 20 m s) 1.----..1

1------- Process Ti me (81.8 ms mi n .)
IBM 1403 Printer Operations
This section describes the insh'uctions th e 1440 uses to
control the IBM 1403 Prin ter ( Figure D-1 ) . The b asic
unit timings and other general information are included .
The various models of the IBM 1403 Printer give the
1440 system grea ter printed-outpu t speed than can b e
achieved with the 1443 printer.
The number of lines that can b e printed p er minute
dep ends on the 1403 model. Refer to IBM 1403 Printer,
Form A24-3073.

Data Flow

When a WRITE LIN E instruction is given, the data to b e
printed is read out of core storage to the print buffer.

Transfer into Pri nt Storage for next Pr int Line,
a nd Interl oc k Time ( 1. 46 m s mini mum)

Figure D-2.

. \

~

Print Operati on T iming ChartIllM 1403, Moclel 2

The system is th en released for other processing wIllie
th e print buffer relays the data on to the printer.

IBM 1403 Printer, Model 2

The IBM 1403 Printer, Model 2, operates at a maximum
rate of 600 lines p er minute wh en the printer is impulsed to print.
The 100-millisecond print cycle b egins as soon as
the print requ es t is made. It is subdivided into three
parts ( Figure D -2 ) :
1. Print time requires 83.4 ms. Th e line prints durin g
this part of the cycle. The sys tem is not interlocked
during this time b ecause print storage is standard .
2. Process time is 81.8 ms. This is the normal processing time available durin g the print cycle.
3. Forms movement time is approximately 20 ms. The
normal forms movement time (one space) is always
overlapped b y processing time.

IBM 1403 Printer, Model 3

The IBM 1403 Printer, Model 3, operates at a rate of
llOO lines p er minute. The 54.5 millisecond print cycle.
is divided into three parts ( Figure D-3 ) :
1. Print time is 36.25 ms. The line prints during this
part of the cycle. TIle system is not interlocked
during this time b ecause print storage is standard.
Figure D-l.

IBM

1403 Printer

2. Process time is 53.5 ms. This is the normal processing time available during the print cycle.
D -l

~------Total

Print Cycle

(54.5ms)------~

j.---- Print Time (36 .25 ms max. ) ---.JOt!

1 - - - - - - - Total Print Cycle (176.5 ms)

14-----PrintTime (144.8ms maxo)-----.t.!

Forms Movement
(One Space approx. 20 ms )

.!
Transfer into Print Storage for next Print Line, ~

1+------- Process Time (53.5ms min.)

Forms Movement (One Space approx. 30 ms ) 1 - - - - - . 1

.!
Transfer into Print Storage for next Print Line, ~

1 - - - - - - Process Time (171.0ms min.)

and Interlock Time (1.46 ms minimum)

Figure D-3.

Print Operation Timing ChartIDM 1403, Model 3

3. Forms-movement time requires approximately 20
ms for a single space. The normal forms-movement
time is always overlapped by processing time.

-------.1

and Interlock Time (1.46 ms minimum)

Figure D-5.

Print Operation Timing ChartIDM 1403, Model 6

1. Print time requires 144.8 ms. The line prints during
this part of the cycle. The system is not interlocked
during this time because print storage is standard.
2. Process time is 171.0 ms:. This is the normal process
time available during the print cycle.

IBM 1403 Printer, ModelS

The IBM 1403 Printer, Model 5, is capable of printing
465 lines per minute. The 129 millisecond print cycle
is subdivided into three parts (Figure D-4).
1. Print time is 110.3 ms. The line prints during this
part of the cycle. The system is not interlocked during this time because print storage is standard.

3. Forms-movem,oot time requries apprOximately 20
ms. The normal forms-movement time (one space)
is always overlapped by process time.

3. Forms-movement requires approximately 20 ms.
The normal forms-movement time (one space) is
always overlapped with processing time.

IBM 1403 Printer Instruction Format
All printing operations are initiated by either one of
two types of printer instructions. If the instruction is
two characters long, an operation involving the printer
carriage is specified. If the instruction is eight characters long, an operation involving a write operation is
specified. The various parts of the printer instruction
(Figure D-6) are:

IBM 1403 Printer, Model 6

General Mode of Operation

The 1403 Printer, Model 6, has a maximum print-span
of 120 positions. It can print 340 lines per minute, and
has a single-speed ~rriage. The 176.5 millisecond
print cycle is subdivided into three parts (Figure D-5):

This part of the instruotion identifies the operation as
either a write operation or a carriage operation. Be-

2. Process time is 125.0 ms. This is the normal process
time available during the print cycle.

. - - - - - - - - - - - - - General Mode of Operation
M-Write Operation in Move Mode
(No word marks involved)
F -Carriage Operation

j.------ Total Print Cycle (129.0ms)-------+I

. - - - - r - - - - - - - - - d -Modifier Character

1-

.-----'1--+-------- Operating Input/Output Unit

14----- Print Time (110.3ms max. )-----~.!

%Y1-Printer

.---1-------- B-Address

Forms Movement (One Space approx. 20 ms ) ~---..t

The first core storage address
involved in the operation •

.!
Transfer into Print Storage for next Print Line, ~

14------ Process Time (125.0ms min.)

.....- - - - - - - d -Modifier Character
W-Write
S - Write and Suppress Space

and Interlock Time (l.46ms min.)

X

Figure D-4.
D-2

Print Operation Timing ChartIBM 1403, Model 5

(See Figure 0-13)

xxx xxx

Figure D-6.

'-

X
IDM

1403 Printer Instruction Format

cause the write opm-ation is performed in the move
mode, word marks in the specified core-storage area
are not affected during the operation.

d-Modifier Character

If the instruction i$ two characters long, the second
character is the d-modifier character. This character
specifies the type of carriage operation to occur. Refer
to Figure D-13 for a list of the d-characters and the
carriage operations they initiate.

last character to be printed contains a group mark
with a word mark if the print line is less than the
maximum possible for the model of 1403 installed.
If the group mark with a word mark is omitted, the
print span of the printer determines the number
of characters printed. An address validity check
occurs if the B-address specifies the last 100-character block of core storage. The B-field length 'can be
from 1 to 132 (Models 2, 3, and 5) or 1 to 120
(Model 6).
An automatic single space operation occurs after
the actual printing ends unless a different carriage
operation is programmed.

Operating Input/Output Unit

This part of the instruction specifies the printer as the
active unit for this operation.

Word Marks. Word marks are not affected.
Timing. T

= .0999 ms + I/O

B-Address

This part of the instruotion specifies the first core-storage position to be involved in the operation.

Address Registers After Operation.
d-Modifier Character

This part of the instruction specifies the type of write
operation to be performed in the printer.

ISM

I-Add. Reg.
NSI

Instructions applying to the 1403 cannot be successfully chained.

Autocoder
Label

Write Line

Assembled Instruction:

Instruction Format.
Op Code
M

Figure D-7.

A-address
%Y1

B-Add. Reg.
B + 132 (for
132-position printer)

Example. Print the data beginning in the area labeled
PRTOUT (0101) and ending with a group mark
with a word mark (Figure D-7).

J403 Printer Instructions

Mnemonic
W

A-Add. Reg.
%81

B-address

d-character

BBB

W

Function. This instruction is used to transfer data
from core storage, through the print buffer to the
1403 printer.
The high-order position of data in the core-storage
position specified by the B-address is printed in
print-position 1. The rest of the data located in the
adjacent core-storage positions is printed in the adjacent print positions until a group mark with a word
mark in coce storage is sensed, or until the print span
of the 1403 is satisfied.
The number of characters printed depends on the
B-field length established in core storage and on the
model of the attached 1403. One position past the

~

%Y1 101 W

Write Line

Write Line and Suppress Space

Instruction Format.
Mnemonic
WS

Op Code
M

A-address
%Y1

B-address
BBB

d-character
S

Function. This instruction is used to transfer data from
core storage, through the print buffer to the 1403
printer. The automatic single space, normally taken
after printing, is suppressed.
The high-order position of data in the core-storage
position specified by the B-address is printed in
D-3

print-position 1. The r-est of the data located in the
adjacent core-storage positions is printed in the adjacent print positions until a group mark with a word
mark in core storage is sensed, or until the print span
of the 1403 is satisfied.
The number of characters printed depeJ?ds on the
B-field length established in core storage and on the
model of the attached 1403. One position past the
last character to be printed contains a group mark
with a word mark if the print-line is less than the
maximum possible for the model of 1403 installed.
If the group mark with a word mark is omitted, the
print span of the printer determines the number of
characters printed. An address validity check occurs
if the B-address specifies the last l00-character block
of core storage. The B-field length can be from 1
to 132 (:Models 2, 3, and 5) or 1 to 120 (Model 6).

= .0999 ms + I/O.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. ,Reg.
%81

Note: This error indicator applies to any 1403, 1443, or 1445
attached to the system, when the I/O check-stop switch is
OFF.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing:
T= .0666ms.

Branch with indexinf!,:
T= .0777ms.
Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
BI
:j:bb
No Branch
Branch (without indexing) NSI
BI
blank
NSI
BI
NSI
Branch (with indexing)

Word Marks. Word marks are not affected.
Timing. T

instruction to be executed is at the location specified
by the I-address of the BRANCH IF INDICATOR ON instruction.

B-Add. Reg.
B + 132 (if
132-position printer)

Example. Print the data beginning in the area labeled
PRTOUT (0101) and ending with a group mark
with a word mark, and suppress the automatic single
space (Figure D-8).

Example. Test the printer-error indicator to determine
if an error occurred on the immediately preceding
print instruction. If an error occurred, branch to the
instruction labeled PRNTXY (0661 ).. If no error
occurred, continue processing with execution of NSI
(Figure D-9).
Autocoder

I'

label

Autocoder

I'

label

I

B 661 =1=

OPERAND

5

Assembled Instruction:

Figure D-8.

Assembled Instruction:

rrati~
S J;IlTD~II.T

151

40

:~

~o

Figure D-9.

Branch If Printer Error

It! %Y1 101 5

Write Line and Suppress Space

Branch if Printer Busy

Instruction Format.
Mnemonic

Branch if Printer Error

BPB

Instruction Format.
Mnemonic

BIN

Op Code
B

I-address
III

d-character

=1=

Function. If an error occurs during a printer operation,
this indicator is set ON, and the printer light glows
on the console. This indicator can be tested to effect
a branch. If the indicator is on, it is reset. The next
D-4

Op Code
B

I-address
III

d-character
P

Function. If the printer or printer carriage is currently
occupied with another operation, this indicator can
be tested to effect a branch to another series of
instruction. The indicator is reset as soon as the
printer is available for another operation. Using this
instruction allows processing to continue while the
printer is busy, thus, in effect, allowing temporary
overlapping of processing and printer operation.

Note 1: This indicator is effective for any 1403, 1443, or 1445
attached to the system.
Note 2: The Branch if Printer Busy and Branch if Printer Carriage Busy instructions should be included in any program
where one print and space/skip operation has not been completed before the next print and space operation is initiated.
If these instructions are not used, incorrect carriage spacing
or skipping can result. The following sample program segment illustrates how these instructions might be coded:
PRBUSY
PCBUSY
SPACE
WRITE

BPBB
BPCB
CC
W
NSI

printer carriage is no longer busy. Using this instruction allows processing to continue while the printer
carriage is busy, thus, in effect, permitting temporary overlapping of processing and printer operations.

Note.' See Note 2 under Branch if Printer Busy section.
Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T = .0777 ms.

PRBUSY,
PCBUSY
S
NET PAY

Frequently, there are other processing steps that can be
performed while waiting for the carriage to complete the last
print/space/skip function. The Branch if Printer Busy and
Branch if Printer Carriage Busy instructions could have
branched to perform these other functions.
This precaution applies only to systems having buffered
printers.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
Rbb
No Branch:
NSI
BI
BI
Branch (without indexing): NSI
blank
NSI
BI
NSI
Branch (with indexing):

Example. Test the printer carriage-busy indicator to
determine if the carriage is occupied with some operation. If it is, branch to another series of instruction
beginning at the instruction labeled PCBUZY (9444)
while waiting for the printer to become available. If
the printer carriage is not busy, the NSI is executed
(Figure D-ll).
Autocoder

Address Registers After Operation.

1',

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
Pbb
BI
Branch (without indexing): NSI
blank
NSI
BI
NSI
Branch (with indexing):

Example. Test the printer-busy indicator to determine
if the printer is occupied with some operation. If it
is, branch to another series of instructions beginning
at the instruction labeled PRBUZY (0486) while
waiting for the printer to become available. If the
printer is not busy, the NSI is executed (Figure
D-IO).
Autocoder
OPERAND

label

,:

40

:~

~o

Assembled Instruction: B 48'6 P

Figure D··lO.

,:

label

~perati~

15

PCB

21

5

PC8U~,y

Assembled Instruction:!

Figure D-ll.

U4M

R

Branch If Printer Carriage Busy

Branch if Channel 9

Instruction Format.
Mnemonic
BC9

Op Code
~

I-address
III

d-character
9

Function. If the channel-9 position of the carriage control tape has been sensed, this instruction will cause
a branch to the address specified by the I -address.
This indicator is reset by the branch test, or by a
channel~ 1 punch in the carriage-control tape,
Word Marks. Word marks are not affected.

Branch If Printer Busy

Timing.
Branch if Printer Carriage Busy (1403 Only)

No branch, or branch without indexing: T = .0666
ms.

Instruction Format.
Mnemonic
BPCB

Op Code

1!

I-address
III

d-character
R

Function. If the printer carriage is executing a formsmovement operation, this instruction can be used to
branch to other instructions until the carriage is
again available. The indicator is reset as soon as the

Branch with indexing: T

= .0777 ms.

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
9bb
No Branch
NSI
BI
blank
BI
Branch (without indexing) NSI
NSI
Branch (with indexing)
NSI
BI

D-5

Example. Test to determine if the carriage control tape
( forms) channel 9 has been sensed. Branch to a subroutine called BC9YES (0784) if the test is positive.
(Figure D-I2).
Autocoder
OPERAND

Label

35

:~

40

~

Instruction Format.
Mnemonic
CC

OJ) Code

d-character

F

d

Function. This instruction causes the carriage to move
as specified by the d-character. If the d-character is:
1. a digit, an immediate skip to the specified channel
in the carriage tape occurs.

Assembled Instruction: 8 784 9

Figure D-12.

Control Carriage

Branch If Printer Carriage Channel 9

2. an alphabetic character containing a I2-zone, a
skip to the specified channel in the carriage tape
occurs after the next line is printed.
3. an alphabetic character containing an II-zone, an
immediate space operation, as specified by the
digit portion of the character, occurs.

Branch if Channel 12

Instruction Format.
Mnemonic
BCV

Op Code
B

I-address

d-C haracter

III

@

Function. If the channel 12 (forms overflow) position
of the carriage control tape has been sensed, this
instruction will cause a branch to the address specified by the I -address. This indicator is reset by the
branch test, or by a channel-I punch in the carriagecontrol tape.
lVord Alarks. Word marks are not affected.

4. an alphabetic character containing a zero-zone, a
space operation, as specified by the digit portion
of the character, occurs after the next line is
printed.
Refer to Figure D-I4 for a list of the d-characters
and the carriage operations they specify. If the carriage is already in motion when another CONTROL
CARRIAGE instruction is given, the stored program
execution is suspended until the carriage operation
being performed is completed. At that time, the carriage action specified by the instruction, begins, and
the program advances to the next instruction.
Note: There is no CARRIAGE CONTROL
struction for the 1440 system.

Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T

= .0666

AND BRANCH

(CCB) in-

Word Marks. Word marks are not affected.

= .0777 ms.

Address Registers After Operation.
d

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
@bb
Branch (without indexing); NSI
BI
blank
NSI
BI
NSI
Branch (with indexing);

Example. Branch to a subroutine labeled OVFLHD
( 0659) if the hole in channel 12 of the carriage-control tape has been sensed, indicating that the present
form is filled (Figure D-13).

I.

OPERAND

Label

.:

Figure D-13.
D-6

Branch If Printer Carriage Forms Overflow

.

A

@

0

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

d

Immediate space

d

After print-space

9

0

J
Assembled Instruction: 8 659 @

Skip after print to

d

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

1
2
3
4
5
6
7
8

#

Autocoder

Immediate skip to

K
L

1 space
2 spaces
3 spaces

Figure D-14.

B

C
0
E
F
G
H

I
?

•

/
S
T

1 space
2 spaces
3 spaces

Control Carriage d-Characters

Timing. T = .0333 ms + remammg form-movement
time, if carriage is already in motion when this instruction is given. The total form movement time
depends on the specific carriage operation being
performed. Refer to the IBlYl 1403 Printer Timing
section for more detail. The form-movement 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 less than 8 and 2.5 ms for additional spaces over 8, for the 1403, models 2, 3, and 5.
Allow 30 ms for the first space, plus 5 ms for each
additional space for the 1403, Model 6 printer. (The
1403, Model 6, has a single-speed carriage drive
mechanism) .
Note: When an IMMEDIATE SKIP OR IMMEDIATE SPACE instruction is llsed, an additional space caused by the automatic carriage space is taken after printing results. When a SKIP AFTER
I'lUNT or SPACE AFTEH PlUNT instruction is used, the automatic
space is ignored.

Address Registers Afte1' Operation.
I-Add. Heg.
NSI

A-Add. Reg.
dbb

B-Add. Reg.
dbb

Example. Skip to channel 1 after print operation
(Figure D-15).
Autocoder

t

Label

,:

'f:rat'~

I

~Q

!

~I

~II

~~

~

A

Forms movement for single spacing requires the last
20 ms of the print cycle. If additional forms-movement
time is required by the application, this must be added

444

Figure D-16.

20
25
30
35
40
45
50
55

Figure D-17.

Forms Movement Time -IBM 1403, Models 2,
3, and 5
I

to the 100 ms print cycle to determine the effective
printing speed.
Figure D-17 shows the effective printing speeds
under various forms-movement considerations.
Additional forms skipping beyond the first 8 lines is
calculated by multiplying the number of lines skipped
by the 2.3 ms.
Some program instructions cause form movement to
start immediately. If the printer is printing when an
immediate forms control instruction is given, or if the
carriage is already in motion, the system waits until
the previous carriage operation is completed before the
immediate skip is executed.
Immediate skips require 20 ms for the first space, 5
ms for each additional space up to 8, and then 2.3 ms
for each space thereafter.

ISM 1403, Model 3, Timing

The IBM 1403 Printer, Model 2, operates at a rated
speed of 600 lines per minute. The 100 ms print cycle
(Figure D-16) allows a minimum of 97.3 ms for processing time because print storage is standard.

600
572
545
522
500
480
462

1
2
3
4
5
6
7
8

Figure D-17 shows form-movement timing requirements for immediate-skip instructions.

Control Carriage

IBM 1403, Model 2, Timings

Lines Printed
Per Minute

Time Required {ms}

OPERAND

~I

Assembled Instruction:

Figure D-15.

Lines Skipped

Length of
Cycle
{ms}

Available
Process Time
{ms}

Max. Spaces
Skipped
Within Cycle

100
105
110
115
120
125
130
135

97.3
102.3
107.3
112.3
117.3
122.3
127.3
132.3

1
2
3
4
5
6
7
8

Effective Printing Speeds -IBM 1403, Model 2

The IBM 1403 Printer, Model 3, operates at a rated
speed of 1100 lines per minute. The 54.5 ms print cycle
(see Figure D-3) allows 53.5 ms of processing time
because print storage is standard.
Forms movement for single spacing requires the last
20 ms of the print cycle. If additional forms movement
time is required by the application, this time must be
added to the 54.5 ms cycle to determine printing speed.
Figure D-18 shows the effective printing speeds
under various form-movement considerations.
Additional form-skipping time beyond the first 8
lines is calculated by multiplying the number of lines
skipped by 2.3 ms.
Some program instructions cause form movement to
start immediately. If the printer is printing when an
immediate forms-control instruction is given, or if the
carriage is already in motion, the 1440 waits until the
previous calTiage operation is completed before the
immediate skip is executed.
D-7

Lines Printed
Per Minute

Length of
Cycle
ems}

Available
Process Time
(ms)

Max. Spaces
Skipped
Within Cycle

1100
1007
930
863
805
755
710
670

54.5
59.5
64.5
69.5
74.5
79.5
84.5
89.5

53.1
58.1
63.1
68.1
73.1
78.1
83.1
88.1

1
2
3
4
5
6
7
8

I

Figure D-18.

Effective Printing Speeds -

IBM

1403, Model 3

Immediate skips require 20 ms for the first space,
5 ms for each additional space up to 8, and then 2.3
ms for each space thereafter.
Refer to Figure D-17 for the form-movement timing
requirements for immediate-skip instructions.

IBM 1403, Model 5, Timing
The IBM 1403 Printer, Model 5, operates at a rated
speed of 465 lines per minute. The 129 ms print cycle
(see Figure D-4) allows 125 ms of processing time
because print storage is standard.

Forms movement for single spacing requires the last
20 ms of the print cycle. If additional forms-movement
time is required by the application, time must be added
to the 129 ms to determine actual printer speed.
Figure D-19 shows the effective printing speeds
under various forms-movement considerations.
Additional forms skipping time beyond the first 8 lines
is calculated by multiplying the number of lines
skipped by 2.3 ms.
Some program instructions cause form movement to
start immediately. If the printer is printing when an
immediate forms-control instruction is given, or if

Lines Printed
Per Minute

465
447
431
416
412
389
377
365
Figure D-19.

D-8

Length of
Cycle
ems}

129.0
134.0
139.0
144.0
149.0
154.0
159.0
164.0

Available
Process Time
ems}

Max. Spaces
Skipped
Within Cycle

125.0
130.0
135.0
140.0
145.0
150.0
155.0
160.0

1
2
3
4
5
6
7
8

Effective Printing Speeds -

IBM

1403, Model 5

the carriage is already in motion, the system waits
until the previous operation is complete before the
immediate skip is executed.
Immediate skips require 20 ms for the first space, 5
ms for each additional space up to and including 8,
and 2.3 ms for each space thereafter.
Refer to Figure D-17 for forms-movement timing
requirements for immediate-skip instructions.
-IBM 1403, Model 6, Timing

The IBM 1403 Printer, Model 6, operates at a rated
speed of 340 lines per minute. The 176.5 ms print cycle
( see Figure D-5) allows 171 ms of processing time because print storage is standard.
Li nes Pri nted
Per Minute

Length of
Cycle
{ms}

176.5
181.5
186.5
191.5
196.5
201.5
206.5
211.5

340
330
321
313
305
297
290
283
Figure D-20.

Available
Process Ti me
ems}

Max. Spaces
Skipped
Within Cycle

171.0
176.0
181.0
186.0
19].0
196.0
201.0
206.0

1
2
3
4
5
6
7
8

Effective Printing Speeds -

IBM

1403, Model 6

Forms movement for single spacing requires the last
30 ms of the print cycle. If additional forms movement is required by the application, time must be
added to the 171 ms to determine actual printing
speed. Figure D-20 shows the effective printing speeds
under various forms-movement considerations.
Some program instructions cause form movement
to start immediately. If the printer is already busy
when an immediate forms-control instruction is given,
the system waits until the previous operation is complete before the immediate skip is executed.
Immediate skips require 30 ms for the first space,
plus 5 ms for any additional spaces.
Figure D-21 shows forms-movement timing requirements for immediate-skip instructions.
Lines Skipped

1
2
3
4
5
6
7
8
Figure D-21.

Time Required ems}

30
35
40
45
50
55
60
65
Forms-Movement Time -

IBM

1403, Model 6

IBM 1442 Card Read-Punch
This section describes the insh'uctions the IBM 1440
Data Processing System uses to control the IBM 1442
Card Read-Punch , and the IB~[ 1442, Model 4, Card
Reader. The IB~[ 1442, Model 4, Card Reader operates
under the control of the same read and stacker insh1.1Ctions as the IBM 1442 Card Read-Punch. (Refer to IBM
1442 Card Read-Punch, Form A24-3119.)

Data Flow
Thc card path and data flow for the IBM 1442 Card
Read-Punch (Figure D-22 ) is shown in Figure D-23.
Th e cards are placed in the 1,200-card capacity hopper
fa ce down , 9-ed ge first. Th e first card cycle moves the
card from the hopper to the read station where it is
registered at column zero. During the second card feed
cycle, the card is fed to the reading station by a READ
CARD instmction. This operation causes each card column to b e read twice as the card moves by the reading
station column-by-column.

During read cycle 1, the punched-card code for a
colurnnis translated to BCD code and stored in corestorage positions specified by th e B-address of the
READ CARD insh·uction. On read cycle 2, the punchedcard code for the same column is read a second time.

Th e resultant BCD-coded character from the second
reading is compared to th e BCD-cod ed character read
into storage from th e first read cycle. If no error is detected , th e process continu es for each column until a
group mark with a word mark is detected a t th e end of
th e B-field.
After the read operation is comple ted , the card is
registered in column 1 a t the punch station.
During th e third card-feed cycle, which is started by
a PUNCH AND FEED insml ction, the BCD-coded characters to b e punched are read from core storage, translated to punch ed-card code, and punch ed column-bycolumn into th e card at the punch station.
A second core-storage read-out cycle occurs that
compares the BCD characters in storage to the BCD
translation of th e punched-card code punched in the
card. If no error is detected , this operation continues
for the length of the B-field in storage identified by a
gro up mark with a word mark.
'W h en the card leaves the punch station , it is car ried to the stacker by a continuously-moving mechanism.
Th e data flow for th e IBM 1442, Model 4, Card
Reader is the same as th e read operation on the ruM
1442 Card Read-Pun ch .

Core Storage

I

Check

Readout 1

:

Readout During
Read Cycle 2

Translation Circuitry
Read Cycle 1

I Read -Back

I
I
I

Read Cycle

Punch Station

21

Read Station

Optional Stacker
(Standard on M.odel 2)

Figure D-22.

IBM

1442 Card Read-Punch

Figure D-23.

IBM

1442 Card Read-Punch Data Flow
D-9

Card Read-Punch Instruction format
All card read-punch operations are initiated by a CARD
READ PUNCH instruction. This instruction can initiate
different card read-punch operations by using specific
characters in certain locations of the actual instruction
(Figure D-24).
The various parts of the
and their uses are:

CARD READ PUNCH

instruction

General Mode of Operation

This part of the instruction identifies the operation as
a move operation. Word marks are not affected in
the specified core-storage area during punching Dr
reading operations.

Unit Number

This part of the instruction specifies which Dne of the
operating units will be active when there is more than
one card read-punch attached to the system. The first
1442, Modell, 2, Dr 4 attached to the system has a
unit-select number of 1. The second 1442, Modell, 2,
or 4, has a unit-select numboc Df 2. Only one 1444 can
be attached to the system. Its unit-select number is
always 3.

B-Address

This part of the instruction specifies the first corestorage position that win be involved in the operation.

d-Modifier Character

This part Df the instruotion specifies the type of operation that will be performed in the card read-punch.
. . . . . . - - - - - - - - - - - - - General Mode of Operation
M-Move Mode (No word marks
Involved)

. . . . . . - - - - - - - - - - - - Operating Input/Output Unit
%G - Card Read - Punch
. . . - - - - - - - - - - - - Unit Number
. . . - - - - - - - - - - - B-Address
The first core storage address
involved in the operation.
r - - - - - - - - - d - Modifier Character
R - Read Card
P - Punch Card
G - Punch and Feed

x

XXX

XXX

l

Figure D-24.
D-10

IBM 1442 Card Read-Punch Instructions
Instructions applying to the 1442 cannot be successfully chained.
Read Card

Instruction Format.
Mnemonic
R

Op Code
M

A-address

B-address

d-character

%Gn

BBB

R

Function. This instructiDn is used to transfer data read
at the card read-punch read station into a specified
core-storage area.
The data punched in card column 1 is translated
and stored in the core-storage position specified by
the B-address. The rest of the data pupched in the
card is transferred, column-by-column, into the adjacent core-storage positions until a group mark with
a word mark in core storage is sensed. The number
of characters read from the card depends on the
B-field length that is established in core storage. The
B-field length can be from 1 to 80 positions, plus one
position for the group mark with a word mark. (The
system will hang-up in a read operation with the
reader-ready light OFF, if the group mark with a
word mark is missing.
An end-around check condition occurs when the
data record length is longer than the number of
carre-storage positions from the B-address to the
highest-numbered position in core storage. In a system of 4,000 storage positions, for example, if the
input data is 75 characters long, and the B-address
is 3980, the first 20 input data characters are read
into positions 3980 through 3999, and the remaining
55 characters are read into positions 000 through
054. The storage light on the 1447 console is turned
ON to indicate this check condition.
As the card at the read station isread, any card at
the punch station is also being moved at the same
speed, and is ejected intO' the number 1 stacker at
the end of the read operation.

Word Marks. Word marks are not affected. A group
mark with a word mark is needed to end the operation .
Timing .
Model 1: T

= 25.0999 +

Model 2: T = 15.0999

+ 1) ms.
+ (LB +1) ms.
(LB

Address Registers After Operation.

X

mM

1442 Card Read-Punch Instrut!tion Format

I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.

BBB

B+LB+1

Example. Transfer the data read from card read-punch
1 to the area in core storage labeled RDLIN (0303),
Figure D-25.

Address Registers After Operation.

Autocoder

Example. Punch the data on card read-punch 1, beginning in the area labeled PCHOUT (0303) and
ending with a group mark with a word mark (Figure D-26).

OPERAND

label

:~
Assembled Instruction:

Figure D-25.

M

~

I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.

BBB

B+LB + 1

%G 1 303 R

Read Card

Autocoder

Assembled Instruction: M %Gl 303 P

Punch and Stop
Figure D-26.

Punch and Stop

Instruction Format.
Mnemonic
PS

Op Code
M

A-address

B-address

d-character

%Gn

BBB

P

Function. This instruction is used to transfer data from
core storage to the card read-punch where it is
punched in a card.
The data in the core-storage position specified by
the B-address is transferred and punched in the card
column registered beneath the punching mechanism.
The rest of the data located in the adjacent correstorage positions is transferred, column-by-column,
and punched in the adjacent card columns until a
group mark with a word mark in core storage is
sensed. The number O'f characters punched in the
card depends on the B-field length that is established
in core storage. The B-field length can be from 1 to
80 positiO'ns, plus one position fOil' the group mark
with a word mark. (All characters in excess of 80 are
punched in column 81 and 100st.) When the punching
operation ends, the card movement also ends. No
other card movement takes place during a punchand-stO'p operation.

Word Marks. Word marks are nO't affected. A group
mark with a word mark is needed to end the opertion.
Timing.
Model 1: T
Model 2: T

= 6.3499 + 12.5 (L
= 3.2299 + 6.25 (LB )
B)

ms.
ms.

Note. When a punch-and-stop operation follows either a readcard or a punch-and-feed operation, the card at the punch
station is registered in column 1, and punching begins in column l. When a punch-and-stop operation follows another
punch-and-stop operation, the card at the punch station is
the card that was punched during a previous operation, and
punching begins in the column adjacent to the last column
previously punched.

Punch and Feed

Instruction Format.
Mnemonic

Op Code

A-address

B-address

P

M

%Gn

BBB

d-character
G

Function. This instruction is used to' transfer data frO'm
core storage to the card read-punch where it is
punched in a card. When the punching opmatiO'n
ends, the card is ejected frO'm the punch station and
selected into a stacker.
The data stored in the core-storage position specified by the B-address is transferred and punched in
the card column registered beneath the punching
mechanism. The rest of the data located in the adjacent cO're-storage positions is transferred, columnby-column, and punched in the adjacent card columns until a grO'up mark with a word mark in core
storage is sensed. The number of characters punched
in the card depends on the B-field length that is established in core storage. The B-field length can be
from 1 to 80 positiO'ns, plus O'ne position foc the
group mark with a word mark. (All characters in
excess of 80 are punched in column 81 and lost.)
When the punching operation ends, the card is
ejected from the punch statiO'n and selected into a
stacker.
The card located at the read station advances
during this operation also, but the data in the card
is not transferred into core storage. A card from the
hopper is also advanced and registered at the read
station during the punch-and-feed operation.
D-ll

Word Marks. Word marks are not affected. A group
mark with a word mark is needed to end the oper,ation.
Timing.
Model 1: T

= 6.3499 + 12.5 (L + 210~ ms.

Model 2: T

= 3.2299 + 6.25 (L B ) + 160 ms.

B )

~When

a PUNCH AND FEED instruction is initiated, a period of
210 ms elapses before another card read-punch operation
can be executed.

N ate: When a punch-and-feed operation follows either a read-

card or a punch-and-feed operation, the card at the punch
station is registered in column 1, and punching begins in
column 1. When a punch-and-feed operation follows a
punch-and-stop operation, the card at the punch station is
the card that was punched during a previous operation, and
punching begins in the column adjacent to the last column
previously punched. The card is punched and stacked.

~NOTE: The d-character for the first card read-punch or card
reader installed on the system is designated by 2, and the
second card read-punch or card reader installed on the system is designated by O.

This instruction must he issued prior to the PUNCH AND
or READ CARD instruction that moves the card on through
the feed.

GO

Function. This instruction causes the card at the punch
station to fall into stacker 2. Unless stacker 2 has
been selected before the operation that ejects the
card (read or punch feed), the ejected card is directed to stacker 1.

Note: The IBM 1444 and the IBM 1442, Models 2 and 4, have
two stackers as standard equipment. A second stacker is provided on the IBM 1442, Modell, as a special feature.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.

BBB

B +LB + 1

Example. Punch the data on card read-punch 1, beginning in the area labeled PCHOUT (0303) and
ending with a group mark with a word mark, and
then eject the card (Figure D-27).

Word ~larks. Word marks are not affected.

Timing. T = .0333 ms.

Address Registers After Operation.
I-Add Reg.
NSI

A-Add. Reg.
2bb or Obb

B-Add. Reg.
2bb or Obb

Autocoder

~perati~•

Label

.5.

I

'PC~HDur: ~

0

OPERAND

~'

Example. Select the following card into pocket 2 (Figure D-28).

Assembled Instruction: M %G 1 303 G

Figure D-27.

Punch and Feed

Autocoder
Label

Select Stacker

D-12

OPERAND

~

Instruction Format.
Mnemonic
SS

.5.~perati~

Assembled Instruction:

Op Code

K

d-character
2 or O~

Figure D-28.

Select Stacker

40

IS.

2

:~

:

Branch

if Reader Error

Branch

Instruction Format.
Mnemonic
BIN

if Punch Error

Instruction Format.

Op Code
B

I-address
III

d-character
? (plus zero)

Mnemonic
BIN

Function. If an error occurs during the card-read operation, this indicator is set, and the reader light glows
on the console. If the I/O check-stop switch is OFF,
this indicator can be tested and reset by the BRANCHIF INDICATOR ON instruction. If the indicator is ON,
the program is interrupted, and a branch to the
I-address occurs. If the indicator is not ON, no branch
occurs.
Note: This error indicator operates for both the first and second
1442 card reader, when the I/O check-stop switch is OFF.

Word Nlarks. YVord marks are not affected.

I-address
III

d-character
! (minus zero)

Function. Same as for Reader Error, except that specifics apply to the punch operation.
Note: This error indicator is effective for the 1444, and first or
second 1442 Modell or 2 punch operations, when the I/O
check-stop switch is OFF.

Word Marks. Word marks are not affected.
Timing.
No branch, 01' branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.

Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T

Op Code
B

= .0777 ms.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
Ibb
Branch (without indexing): NSI
BI
blank
NSI
BI
NSI
Branch (with indexing):

Example. Branch to the instruction labeled PUNCHZ
( 3775) if a punch operation error occurred on any
attached punch device. If no punch error occurred,
proceed to the NSI (Figure D-30).

Address Registers After Operation.

Autocoder

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
?bb
BI
blank
Branch (without indexing): NSI
Branch (with indexing);
NSI
BI
NSI

I'

Label

Assembled Instruction: B 075

Figure D-30.

Example. Test the reader-errol" indicator to determine
if an error occurred on the immediately preceding
read operation. If an error occurred, branch to the
instruction labeled RDER02 (0943). If no read error
occurred, continue processing with executiOon of NSI,
Figure D-29.
Autocoder

~

Label

.:

trati~

I I

OPERAND
I

5

ulkDEJO).t f.

~

0

Assembled Instruction: B 943 ?

Figure D-29.

Branch If Reader Error

40

:~

:

Branch

Branch If Punch Error

if Last Card

Instruction Format.
Mnemonic
BLC
BLC2

Op Code
~

1!

I-address
III
III

d-character
A (first read-punch)
& (second read-punch)

Function. This instruction causes a branch to the addres's specified by the I -address, if the last card has
been read and is ready fOor punching.
Word Marks. Word marks are not affected.

D-13

Eject and Register

Clutch
Pick
-up

-

1Oms

I

Reading Time

I.

54ms

126ms
I _ _ _ Sys!!,.m...!.n~locked _ _ _ _ _

"',
(32.4+1.3LB) ms- - - - -

"I"

Clutch
Latch
Point
20ms-

Available Processing Time

- - - - - - - - _ _ _ [?4+(104-1.3L B)] m s _
Read Cycle Time
210ms
... Inc ludes Instruction Time

Figure D-32. Card Read Cycle-285 cpm (80 Card Columns)

Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T

= .0666

= .0777 ms.

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
Abb or &bb
BI
blank
Branch (without indexing): NSI
Branch (with indexing):
NSI
BI
NSI

Example. If the last card has been read and is ready
for punching in the second 1442 card reader-punch,
branch to a subroutine labeled LCTOT (0884). If
the last card has not been read in the second card
reader-punch, advance to the next sequential instruction (Figure D-31).

The time the system is interlocked during a read
operation, when the clutch latches up after each operation, is shown in Figures D-32 and D-33. This timing
formula can be consolidated as shown in Figure D-33.
By using the consolidated formula, the total time available for other processing during one card-read cycle
can be found by subtracting the consolidated formula
from 210. The bottom porrtion of Figure D-33 shows
the approximate processing times available by the
number of card columns being read.
300 Cards per Minute

The 300-cpm cycle occurs when the next CARD READ
instruction is given before the last 20 ms of a card-read
T = .0999 + 10 + [21 + 1.3 (L B +
with:

=

.0999
10.0
21.0
1 .3 (LB + 1)

Autocoder
OPERAND

:~

~

Assembled Instruction: B 884 &

Figure D-31.

1)J ms

=
==
=

Instruction Reading Time
Clutch Pickup Time
Reading Setup Time
1 .3 ms per core storage
position in the B-field
(LB), plus one additional
position for the group-mark
with a word-mark

TIMING FORMULA CONSOLIDATION

Branch If Last Card, Second Card Read-Punch

.1 ms
10.0
21.0
1.3

IBM 1442 Card Read-Punch Timing
T=

Instruction Reading Time (.0999)
Clutch Pickup Time
Reading Setup Time
Time to read GM-WM

32.4 + 1.3 LB ms

Model 1 Card Reading

Card reading on the IBM 1442, Modell, C{ln be done
at either 285 or 300 cards per minute (cpm)

AVAILABLE PROCESSING TIME (APPROXIMATE)
No. of Card
Columns Read

285 Cards per Minute

The 285-cpm cycle occurs when the next CARD READ
instruction is given during the last 20 ms of a card-read
cycle (Figure D-32). The clutch is allowed to latch up
and the 10-ms clutch-pickup time must take place at
the beginning of the next card-read cycle.
D-14

1
20
40
60
80

Figure D-33.

,IBM

System Interlocked (ms)

34
58

84
110
136

Process Ti me
Available (ms)
176
152
126
100
74

1442, Modell; Timing-285 cpm

Eject and Register

I

Clutch

I

Reading Time
126ms

I

System

54ms

Interlock~

____

-

-

-

-

-

-

2Oms-

.. 1111

Available Processing Time

"I

(22.4 +1.3LB)ms- -

Latch
Point

-

[74+(104-1 .3LS)

J ms

Read Cycle Time
200ms
.. Includes Instruction Time

Figure D-34.

Card-Read Cycle-300 cpm (80 Card Columns)

cycle (Figure D-34). The clutch remains engaged, and
does not latch up. The clutch-pickup time of 10 ms is
not needed, and the card-cycle time is reduced to 200
ms, which is equivalent to 300 cpm.
The time the system is interlocked during a cardread operation, when the clutch does not latch up after
each operation, is shown in Figures D-34 and D-35.
This timing formula can be consolidated as shown in
Figure D-35. By using the consolidated formula, the
total time available for other processing during one
card-read cycle can be found by subtracting the consolidated formula from 200. The bottom portion of
Figure D-35 shows the approximate processing time
available by the number of card columns being read.

Fewer than 285 Cards per Minute

If the card-reading time and the necessary processing
time between card-read cycles exceeds 210 ms, there is
a corresponding drop in the number of cards read per
minute. The formula to compute the number of cards
read per minute is shown in Figure D-36. The table in
Figure D-36 shows the approximate number of cards
read per minute when the elapsed time between a
given card column in a card-read operation is at least
210 ms later than the same card column in the preceding card-read operation.
Model 2 Card Reading

Card reading on the IBM 1442, Model 2, can be done
at either 375 or 400 cards per minute (cpm).

T = .0999 + [21 + 1.3(L B + l}J ms
with:
.0999
21.0
1.3 (LB+l)

=
=

=

Instruction Reading Time
Reading Setup Time
1 .3 ms per core storage
position in the B-field
(LB)' plus one additional
position for the group-mark
with a word-mark

TIMING FORMULA CONSOLIDATION

CARDS READ PER MINUTE FORMULA
CPM

60,000
-X--

with:
60,000

number of ms in 1 minute
elapsed time between
card read operations in ms •
(This will be greater than, or
equal to 210 ms)

X
• 1 ms
21.0
1.3
T=

Instruction Reading Time (.0999)
Reading Setup Time
Time to Read GM-WM

22.4 + 1.3 LB ms
AVAILABLE PROCESSING TIME (APPROXIMATE)
No. of Card
Columns Read
1
20
40
60
80

System Interlocked (ms)
24
48
74
100
126

Process Time
avai lable (ms)
176
152
126
100
74

Time Between
Card Read Operations
(ms)
210
300
400
500
600

Figure D-36.
Figure D-35.

IBM

1442, Modell; Timing-300 cpm

CPM
285
200
150
120
100

1442, Modell; Timing, Fewer Than
285 cpm

IBM

D-15

Clutch
Pick
-up

Eject and Register

Eject and Register

ICI"Ch
Latch

ICI.tch
Latch
Reading Time
96ms

lOmsl·
I __

~~ ~erlocked _ _ _ _

·1

96ms

39rns -+15ms ..

39ms-+15ms •
Available Pro~essing
Time 1

~l- Jstem ~erlock~ _ _

1~9+(80- LB~ ms

1---(16.1 + LS)ms- - - - - - Read Cycle Time

1
1

I+-- (26. I + LB) ms- - - - - - - - Read Cycle Time

Point

Read ing Time

Point

"I

I
I

160ms

E

@9+(80-LS mk

150ms
·Includes Instruchon Time

Figure D-37.

Available Pro~essing
Time I

.. Includes Instruction Time

Card-Read Cycle-375 cpm (80 Card Columns)

375 Cards per Minute

The 375-cpm cycle occurs when the next CARD READ
instruction is given during the last 15 ms of a card-read
cycle (Figure D-37). The clutch is all owed to latch up
and the 10-ms clutch-pickup time must take place at
the beginning of the next card-feed cycle.
The time the system is interlocked during a cardread operation, when the clutch latches up after each
operation, is shown in Figures D-S7 and D-38. This
timing formula can be consolidated as shown in Figure
D-38. By using the consolidated formula, the total time
available for olther processing during one card-read
cycle can be found by subtracting the consolidated
formula from 160. The bottom portion of Figure D-38

T = .0999 + 10 + [15 + {L B+ l)J ms

Figure D-39.

Card-Read Cycle-400 cpm (80 Card Columns)

shows the approximate processing time available by
the number of card columns being read.
400 Cards per Minute

The 400-cpm cycle occurs when the next CARD READ
instruction is given before the last 15 ms of a card-read
cycle (Figure D-39). The clutch-pickup time of 10 ms
is not needed, and the card-cycle time is reduced to
150 ms, which is equivalent to 400 cpm.
The time the system is interlocked during a cardread operation, when the clutch does not latch up after
each operation, is shown in Figures D-39 and D-40.
T = .0999 + [15 + (L B+ l)J ms

with:

with:

.0999
10.0
15.0

Instruction Reading Time
Clutch Pickup Time
Reading Set up Time
1.0 ms per core storage
position in the B-fie Id
(LB), plus one additional
position for the group-mark
with a word-mark

(LB + 1)

TIMING FORMULA CONSOLIDATION

.1 ms
10.0
15.0
1.0

.1 ms

1.0

No. of Card
Columns Read

D-16

Instruction Reading Time (.0999)
Reading Setup Time
Time to Read GM-WM

T = 16. 1 + LB ms

AVAILABLE PROCESSING TIME (APPROXIMATE)

IBM

(LB + 1)

15.0

T = 26. 1 + ~B ms

Figure D-38.

Instruction Reading Time
Reading Setup Time
1.0 ms per core storage
position in the B-field
(L B), plus one additional
position for the group-mark
with a word-mark

TIMING FORMULA CONSOLIDATION

Instruction Reading Time (.0999)
Clutch Pickup Time
Reading Setup Time
Time to Read GM-WM

1
20
40
60
80

.0999
15.0

System Interlocked (ms)

27
47
67
87
107

Process Time
available (ms)

133
113
93
73
53

1442, Model 2; Timing-375 cpm

AVAILABLE PROCESSING TIME (APPROXIMATE)
No. of Card
Columns Read

1
20
40
60
80
Figure D-40.

System Interlocked (ms)

17
37
57
77

97
IBM

Process Ti me
available (ms)

133
113
93
73
53

1442, Model 2; Timing-400 cpm

This timing formula can be consolidated as shown in
Figure D-40. By using the consolidated formula, the
total time available for other processing during one
card-read cycle can be found by subtracting the consolidated formula from 150. The bottom portion of
Figure D-40 shows the approximate processing time
available by the number of card columns being read.

T = .0999 + 6.25 + 12.5 (L B) ms
with:
.0999
6.25
12.5 (LB)

Instruction Reading Time
Average clutch pickup time
12.5 ms punching cycle per
core storage position in the
B-fie Id (L B)

Fewer than 375 Cards per Minute

If the card-reading time and the necessary processing
time between card-read cycles exceeds 160 ms, there
is a corresponding drop in the number of cards read
per minute. The formula to compute the number of
cards read per minute is shown in Figure D-41. The
bottom portion of Figure D-41 shows the approximate
number of cards read per minute when the elapsed
time between a fixed point in a card-read operation
is at least, or more than, 160 ms later than the same
fixed point in the preceding card-read operation.

Figure D-42.

IBM

1442, Modell; Punch-and-Stop Timing

time, and the card-column-punching time as shown in
Figure D-42. Card movement is not considered, because the card is already located under the punching
mechanism at the beginning of the operation, and the
card is still under the punching mechanism when the
operation ends.
Punch and Feed Operation

Model 1 Card Punching

The total punch-cycle time in an IBM 1442, Madel 1,
depends on the number of card columns being punched
and the operation being performed. Punching one
card column requires 12.5 ms. Eighty card columns at
12.5 ms per column, therefore, require 1,000 ms.
Punch and Stop Operation

The only timing involved in a punch-and-stop operation is the instruction-reading time, the clutch-pickup

CARDS READ PER MINUTE FORMULA

60,000

CPM

-X--

with:

60,000
X

TIME BETWEEN
CARD READ
OPERATIONS (ms)

160

Number of ms in 1 minute
Elapsed time between card
read operations in ms.
(This will be greater than,
or equa I to 160 ms).

CPM

400

375
300
200
150

500

120

200
300

Figure D-41.

1442, Model 2; TimingFewer Than 375 cpm

IBM

There are three parts to a punch-and-feed operation:
the instruction-reading operation, the punching operation, and the feeding operation. The instruction is read
during the instruction-reading portion of the punchand-feed operation, and requires .0111 (LI + 1) ms. The
time varies during the punching portion of the operation from 12.5 ms (1 column) to 1,000 ms (80 columns). When the punching is done, the card is ejected
from the punching station, another card moves from
the reading station to the punching station, and another card moves from the hopper to the reading station. This portion of the operation takes 210 ms, and
other processing can take place during that time.
The timing formula can be consolidated as shown in
Figure D-43. The cards per minute can be determined
by dividing 60,000 (number of milliseconds in one
minute) by the consolidated formula. The bottom portion of Figure D-43 shows the breakdown of punchcycle time and the associated cards per minute rate
by the number of card columns punched.
Fewer than 50 Cards per Minute

If the total punch-cycle time is greater than 1,216 ms
( the time required to punch 80 columns plus 216 ms),
there is a corresponding drop in the number of cards
punched per minute. The formula to compute the
number of cards punched per minute is shown in Figure D-44. The bottom portion of Figure D-44 shows
the approximate number of cards punched per minute
when the elapsed time between a fixed point in a
punch and feed operation is at least, or more than,
1,216 ms later than the same fixed point in the preceding punch-and-feed operation.
D-17

T = .0999 + 6.25 +

12.5 (La) + 210. ms

CARDS PUNCHED PER MINUTE FORMULA

with:

.0999
6.25
12.5 (LB)

Instruction Reading Time
Average clutch pickup time
12.5 ms punching cycle per
core storage position in the
B-field(L )
B
Card read cycle at end of punch
cycle that moves card into
punching station.

210.0

TIMING FORMULA CONSOLIDATION

.1 ms
6.25
210.0
T

60,000

CPM

Instruction Reading
Clutch pickup
Card Read Cycle

Time

-X-

with:

60,000

Number of ms in one minute
Elapsed time between punch
and feed operations in ms.
(This will be greater than,
or equal to 1210 ms)

X

TIME BETWEE N
PUNCH AND
FEED OPERATION
(ms)
CPM

(.0999)

1216
1300
1500
2000

= 216.35 + 12.5 LB ms

49
46
40
30

PUNCH CYCLE TIMES AND CPM RATES (APPROXIMATE)
No. of Card
Columns
Punched

System
Interlo~ed

(ms)

80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
1

Figure D-43.

1000
938
875
813
750
688
625
563
500
438
375
313
250
188
125
63
13
IBM

Total Punch
Cycle Time
(ms)

1216
1154
1091
1029
966
904
841
779
716
654
591
529
466
404
341
279
229

Figure D-44.
CPM

49
52
55
58
62
66
71
77
84
92
102
113
127
149
176
215
202

1442, Modell, Punch-and-Feed Timing

Model 2 Card Punching

The total punch-cycle time on an mM 1442, Model 2,
depends on the number of card columns being
punched and the operation being performed. Punching one card column requires 6.25 ms. Eighty card
columns at 6.25 ms per column, therefore, requires
500 ms.

Punch and Stop Operation

The only timing involved in a punch-and-stop operation is the instruction-reading time, the clutch-pickup
time, and the card-column-punching time as shown in
D-18

1442, Modell, Punch and Feed TimingFewer Than 50 cpm

IBM

Figure D-45. Card movement is not considered, because the card is already located under the punching
mechanism at the beginning of the operation, and the
card is still under the punching mechanism when the
operation ends.
Punch and Feed Operation

There are three parts to a punch-and-feed operation:
the instruction-reading operation, the punching operation, and the feeding operation. The instruction is read
during the instruction-reading portion of the punchand-feed operation and requires .0111 (Lr + 1) ms. The
time varies during the punching portion of the operation from 6.25 ms (1 column) to 500 ms (80 columns).
When the punching is done, the card is ejected from
the punching station, another card moves from the
reading station to the punching station, and another

T = .0999 + 3.13 + 6.25 (1.B) ms
with:

.0999
3.13
6.25 (L B)

Figure D-45.

IBM

Instruction Reading Time
Average clutch pickup time
12.5 ms punching cycle per
core storage position in the
B-field (L )
B

1442, Model 2, Punch and Stop Timing

card moves from the hopper to the reading station.
This portion of the operation takes 160 ms, and other
processing can take place during that time.
The timing formula shown in Figure 46 can be consolidated as shown. The cards per minute can be determined by dividing 60,000 (number of ms in one
minute) by the consolidated formula. The bottom portion of Figure D-46 shows the breakdown of punchcycle time and the assO'ciated cards per minute rate by
the number of card columns punched.
Fewer than 91 Cards per Minute

If the total punch-cycle time is greater than 663 ms
( the time required to punch 80 columns plus 163 ms ) ,
there is a correspO'nding drop in the number of cards

CARDS PUNCHED PER MINUTE FORMULA
CPM
with:

60,000

-X--

Number of ms in a minute
Elapsed time between punch
and feed operations in ms.
(This wi II be greater than,
or equal to 660 ms).

X

TIME BETWEEN
PUNCH AND FEED
OPERAT IONS (ms)

CPM

91
80
66
60

663
750
900
1000

Figure D-47.

= 60,000

1442, Model 2, Punch and Feed TimingFewer Than 91 cpm

IBM

T = .0999 + 3.13 + 6.25 (LB) + 160 ms
with:
.0999

3.13
6.25 (LB)
160.0

= Instruction Reading Time
= Average Clutch Pickup Time
= 6.25 punching cycle per
=

core storage position in the
B-field (L )
B
Card read cycle at end of
punch cycle that moves card intc
punching station.

punched per minute. The formula to' compute the
number O'f cards punched per minute is shown in Figure D-47. The bottom portion of Figure D-47 shows
the approximate number of cards punched per minute
when the elapsed time between a fixed point in a
punch-and-feed operatiO'n is at least, or more than, 663
ms later than the same fixed point in the preceding
punch-and-feed operation.

TIMING FORMULA CONSOLIDATION

Combined Reading and Punching, Models 1 and 2
.1 ms
3.13
160.0

Instruction Reading Time (.0999)
Clutch Pkkup
Card Read Cycle

= 163.23 + 6.25 LB ms

PUNCH CYCLE TIMES AND CPM RATES (APPROXIMATE)
No. of Card
Columns
Punched

System
Interlocked
(ms)

Total Punch
Cycle Time
(ms)

80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
1

500
469
438
406
375

663
632
601
569
538
507
476
444
413
382
351
319
288
257
226
194
169

Figure D-46.

344

313
281
250
219
188
156
125
94
63
31
6

IBM

CPM

91
95
100
105
112
118
126
135
145
157
171
188
208

233
265
309
355

1442, Model 2, Punch and Feed Timing

Certain applications call for reading a card, prO'cessing
the information read, and then punching the result in
the same card. Because the IBM 1442 is a serial-type
machine, the card design significantly affects the cardper-minute rate through the 1442, as shown in Figures
D-48 and D-49.
The example illustrated in Figure D-48 assumes that
card columns 1-40 are read during the read cycle and
card columns 41-80 are punched during the punch
operation.
The read O'peration requires 210 ms (Modell timing
at 285 cpm). Because only 40 columns are read, the
Read
Operation

210 ms
I II

126 ms
Process Ti me
Punch
Operation

Total Time

Figure D-48.

t---++I

1006 ms
1216 ms

Read from Colunms 1-40; Punch into Columns
41-80
D-19

Read
Operation

Process Time

card columns 1-40 are punched during the punch
operation.

210 ms
I II

1-+1

Punch
Operation

503 ms

713 ms

Total Time

Figure 0-49.

The read operation requires 210 ms as before. The
40 columns read during this operation occur at the end
of reading time, and none of the 126-ms reading time
can be used for other processing. Because of this, only
the last 74 ms of the read cycle can be used for other
processing.

74 ms

Punch into Columns 1-40; Read from Columns
41-80

last 126 ms of the operation can be used to process the
informa tion.
The punch operation takes 1,000 ms. Because the
last 40 columns are being punched, the B-field in core
storage must be 80 positions in length (the first 40
positions contain blanks). A 12.5-ms cycle occurs for
each one of these 40 positions containing a blank, even
though no punching occurs. The data in the last 40
positions of the 80-position field is punched in the last
40 columns of the card. This brings the time for the
punch operation to 1,000 ms (80 columns @ 12.5
ms/col plus 6.25 ms for clutch-pickup time), and the
total time for the entire operation to 1,216 ms.
The example illustrated in Figure D-49 assumes that
card columns 41-80 are read during the read cycle, and

Last Card
Column Read
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
Figure 0-50.

D-20

Available
Processing Time
Modell
Model 2
171
165
158
152
146
139
133
126
119
113
106
100
93
87
80
74

128
123
118
113
108
103
98
93
88
83
78
73
68
63
58
53

Relationship Between Card Colunms Read and
Available Processing Time Left (Approximate)

In this example the available, processing time is less
than the time jn the first example, because the reading
takes place durirlg the entire 126 ms. The data is 10'cated in the last 40 columns of the card, but the first
40 columns are also read. Figure D-50 illustrates the
relationship between the reading of card columns and
the available processing time.
The punch operation takes only 503 ms. Because the
first 40 columns are being punched, the B-field in core
storage must be only 40 positions in length. This brings
the total time for the entire operation to 713 ms.
As can be seen from these examples, the important
consideration is not how many columns are punched,
but where the punched c0'lumns are in the card.
Punching 5· columns in the first 5 columns of the card
instead of columns 26-30, for example, results in a
faste!- cpm rate (Figure D-51). A cpm rate 0'f 215
results on an IBM 1442, Model 2, when the first 5
columns are punched; a cpm rate of 102 when columns
26-30 are punched.

Last Card
Column Read
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
Figure 0-51.

Available
Processing Time
Modell
Model 2
215
176
149
127
113
102
92
84
77
71
66
62
58
55
52
49

309
265
233
208
188
171
157
145
135
126
118
112
105
100
95
91

CPM Rates for Punching into a Card Previously
Read (Approximate)

IBM 1443 Printer

, - - - - - - - - - - - - - - Genera l Mode of Operation
M-Write Operation in Move fv\ode

(No word ma rks invo lved)
F - Carriage Ope ration

The IBM 1443 Plinter (Figure D-52) is another output
medium for the 1440 system. The number of lines that
can be plinted per minute depends on the 1443 model
and the character set b eing used . Refer to IBM 1443
Printer, Form A24-3120.

, - - - - , - - - - - - - - - d - Modifier Charocter

Jr _

(See Figure D-54)

,------'~._t_------- Operating Input/ Output Unit
%Y l - Prin ter

,----+- - - - - - - B - Add ress
The first core storage address
invo lved in the ope ration .

r - - - - - - - d - Modifier Cha rocter
IBM J443 Prin ter In struction Format
All printer operations are initiated by either one of two
types of printer instru ctions. If the instruction is two
characters long, an operation involving the printer
carriage is specified. If the instruction is eight characters long, an operation involving a write operation is
specified. The various parts of th e printer insb'uction
(Figure D-53) are:

W -Write
S - Write and Suppress Spoce

X

~ L,

~L,

XXX

XXX

X

Figure D-53.

IBM

1443 Printer Instruction Format

Operating Input/Output Unit
Ge neral Mode of Operatio n

This part of the insb'uction identifies the operation as
either a write operation or a carriage operation. The
write operation is performed in the move mode. Any
word marks in th e specified core-storage area are
un affected by the operation.

This part of th e insb'uction specifies the printer as the
active unit for this operation.

B·Address

This part of the insh'uction specifies the first corestorage position that will b e involved in the operation.
d-Modifie r Characte r

If the instruction is two characters long, th e second
character is the d-modifier character. This character
specifies th e type of carriage operation that will occur.
Refer to Figure D-54 for a list of the d-characters and
the carriage operations th ey initiate.

d·Modifier Character

This part of the insb'uction specifies the type of write
operation that will be p erformed in the prin ter, when
the d-character modifies a write operation cod e.

d
1

@

0

d

Immed ia te spa ce

d

Afte r p ri nt, spa ce

#

J
K
L

1443 Printer

Sk ip aft e r p ri nt to
Chan nel 1
Ch a nn e l 2
Channe l 3
Cha nn e l 4
Ch anne l 5
Chann e l 6
Cha nne l 7
Ch anne l 8
Chann e l 9
Chann e l 10
Chann e l 11
Chann e l 12

3
4
5
6
7
8
9
0

IBM

d

Channel 1
Chan nel 2
Chann e l 3
Ch a nnel 4
Ch an ne l 5
Chan nel 6
Chan nel 7
Ch a nn e l 8
Channel 9
Ch a nne l 10
Chann e l 11
Ch a nnel 12

2

Figure D-52.

Immediate skip to

1 spa ce
2 spaces
3 sp aces

Figure D-54.

A
B
C
0
E
F
G
H

I
?

•

/
S
T

1 space
2 spa ces
3 spa ces

Control Carriage d-Characters
D-21

ISM 1443 Printer Instructions

Write Line and Suppress Space

Instructions applying to the 1443 cannot be successfully chained.

Instruction Format.

Write Line

Mnemonic
WS

Instruction F orrnat.
Mnemonic
W

Op Code

A-address
%Y1

M

B-address
B01

d-character
W

Function. This instruction is used to transfer data
from core storage to the 1443 printer, where it will
be printed.
The high-order position of data in the core-storage
position specified by the B-address is transferred and
printed in print-position 1. The rest of the data located in the adjacent core-storage positions is transferred, cO'lumn-by-column, and printed in the adjacent print PO'sitions until a grO'up mark with a
word mark in core storage is sensed.
The B-address must always specify one of the
zerO'-one positions (xOl) in core storage when
using an unbuffered printer. The number of characters printed depends on the B-field length established in core storage. The B-field length can be
from 1 to either 120 or 144 positions (24 additional
print positiO'ns are available as a special feature),
plus one positiO'n for the group mark with a word
mark. An automatic single space operation occurs
after the actual printing ends unless a different carriage operation is programmed.

Word Marks. Word marks are nOit affected. A group
mark with a word mark is required to end the operation.
Timing. T = .0999 + 386~ ms.
~ 120 print positions
Note. An address-validity-check condition occurs if the Baddress specifies the 01 position of the last 1oo-position block
in core storage as well as any starting position other than 01
(unbuffered printer). The system interlocks with the console I/O printer light ON. The 1443 goes out of ready status.

A-Add. Reg.
%81

B-Add. Reg.
B+LB+1

Example. Print the data beginning in the area labeled
PRTOUT (0101) and ending with a group mark
with a word mark (Figure D-55).
Autocoder

Data in the core-storage position specified by the
B-address is transferred and printed in print-position
1. The B-address must always specify one of the
zerQl-one positi0'ns (xOl) in core storage when using
an unbuffered printer. The rest of the data located
in the adjacent core-storage positi0'ns is transferred,
character-by-character, and printed in the adjacent
print positions until a group mark with a word mark
in core st0'rage is sensed. The number of charaoters
printed depends 0'n the B-field established in oore
st0'rage. The B-field lengths can be from 1 to' either
120 or 144 PO'sitiO'ns (24 additional print positions
are available as a special feature), plus one positiO'n
for the grO'up mark with a word mark.

Word Marks. W0'rd marks are not affected. A group
mark with a wO'rd mark is needed to end the operation.
Timing. T = .0999 + 386~ ms.
~ 120 print positions
Nate: An address validity-check condition occurs if the B-address specifies the 01 position of the last 100-position block
of core storage as well as any starting position other than 01
(unbuffered printer). The system interlocks with the console
I/O printer light on. The 1443 goes out of ready status.

Address Registers After Operation.
A-Add. Reg.
%81

B-Add. Reg.
B+LB+l

Example. Print the data beginning in the area labeled
PRTOUT (0101) and ending with a group mark
with a word mark, and suppress the automatic single
space (Figure D-56).

Assembled Instruction:

Write Line

M %Yl

OPERAND

label
!

D-22

B-address d-character
B01
S

Autocoder
40

Figure D-55.

A-address
%Y1

Function. This instruction is used to transfer data from
core storage to the 1443 where it will be printed.
The automatic single space, normally taken after
printing, is suppressed.

I-Add. Reg.
NSI

Address Registers After Operation.
I -Add. Reg.
NSI

Op Code
M

:~

:

101 W

Assembled Instruction:

Figure D-56.

M %Yl 101 S

Write Line and Suppress Space

,

~9

Branch if Printer Error

Note 1: This indicator is effective for any 1403, 1443, or 1445
attached to the system.

Instruction Format.

Note 2: The Branch if Printer Busy instruction should be included in any program where one print and space/skip
operation has not been completed before the next print and
space operation is initiated. If this instruction is not used,
incorrect carriage spacing or skipping can result. The following sample program segment illustrates how these instructions
might be coded:

Mnemonic
BIN

Op Code
B

I-address
III

d-character

=F

Function. If an error occurs during a printer operation,
this indicator is set ON, and the printer light glows
on the console. This indicator can be tested to effect
a branch. If the indicator is on, it is reset. The next
instruction to be executed is at the location specified
by the I-address of the BRANCH IF INDICATOR ON
instruction.
Note: This error indicator applies to any 1403, 1443, or 1445 attached to the system, when the I/O check-stop switch is OFF.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.

= .0666

Branch with indexing: T = .0777 IDS.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
:J:bb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

Example. Test the printer-error indicator to determine
if an error occurred on the immediately preceding
print instruction. If an error occurred, branch to the
instruction labeled PRNTXY ( 0661). If no error
occurred, continue processing with execution of NSI
(Figure D-57).

~

label

.:

tperati

111

N

~,RN T~:,y , ..
1

~o

Figure D-57.

:0

~!!

Assembled Instruction: B 661

BPBB
CC
W
NSI

Frequently, there are other processing steps that can be
performed while waiting for the carriage to complete the
last print/space/skip function. The Branch if Printer Busy
instruction could have branched to perform these other
functions.
This precaution applies only to systems having buffered
printers.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Example. Test the printer-busy indicator to determine
if the printer is occupied with some other operation.
If it is, branch to another series of instructions
beginning at the instruction labeled PRBUZY (0486)
while waiting for the printer to become available.
If the printer is not busy, execute the NSI (Figure
D-58).
Autocoder

OPERAND

:5

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
Pbb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

~

I! "

label

t

1trati~
~PB -~R.r.v~y:

OPERAND
I

~II

~I

:~

:11

~

Assembled Instruction: B 486 P

Branch If Printer Error
Figure D-58.

Branch if Printer Busy

Branch If Printer Busy

Branch if Channel 9

Instruction Format.
Mnemonic
BPB

PRBUSY,
S
NET PAY

Address Registers After Operation.

Address Registers After Operation.

Autocoder

PRBUSY
SPACE
WRITE

Instruction Format.

Op Code

I-address

B

III

d-character
P

Function. If the printer or printer carriage is currently
occupied with another operation, this indicator can
be tested to effect a branch to another series of
instructions. The indicator is reset as soon as the
printer is available for another operation. Using this
instruction allows processing to continue while the
printer is busy, thus, in effect, allowing temporary
overlapping of processing and printer operation.

Mnemonic
BC9

Op Code
B

I-address
III

d-character
g

Function. If the channel 9 position of the carriage-control tape has been sensed, this instruction will cause
a branch to the address specified by the I -address.
This indicator is reset by the branch test, or by a
channel-1 punch in the carriage-control tape.
Word Marks. Word marks are not affected.
D-23

Autocoder

Timing.
No branch, or branch without indexing: T

= .0666

Label

.:

~perati~

OPERAND

Be V 3)\1 F\..~H 0

1 1

21

5

::

~o

illS.

Branch with indexing: T

= .0777 ms.

Assembled Instruction: B 659 @

Address Registers After Operation.

Figure D-60.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
9bb
Branch (without indexing): NSI
BI
blank
NSI
BI
NSI
Branch (with indexing):

Control Carriage

Example. Test to determine if the carriage-control tape
( forms) channel 9 has been sensed. Branch to a
subroutine called BC9YES (0784) if the test is positive (Figure D-59).
Autocoder
OPERAND

Label

:: :

Assembled Instruction:

Figure D-59.

!

Branch on Printer Carriage Channel 9

B

I-address
III

d-character
@

Function. If the channel 12 (forms overflow) position
of the carriage-control tape has been sensed, this
instruction will cause a branch to the address specified by the I -address. This indicator is reset by the
branch test, or by a channel-I punch in the carriagecvntrol tape.
'Vord Marks. W.ord marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.

= .0666

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
@bb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

D-24

Op Code

d-character
d (see text)

F

F unction. This instruction causes the carriage to move
as specified by the d-character. If the d-character is:

1. a digit, an immediate skip to the specified channell
in the carriage tape occurs.

4. an alphabetic character containing a zero-zone, a
space operation, as specified by the digit portion of
the character, occurs after the next line is printed.
Refer to Figure D-54 for a list of the d-characters
and the carriage operations they specify. If the carriage is already in motion when another CONTROL
CARRIAGE instruction is given, the stored program
execution is suspended until the carriage operation
being performed is completed. At that time, the
carriage action specified by the instruction begins,
and the program advances to the next instruction.
Note: There is no CARRIAGE CONTROL
stmction for the 1440 system.

Branch with indexing: T = .0777 illS.

Example.
( 0659)
control
present

Mnemonic
CC

3. an alphabetic character containing an II-zone,
an immediate space operation, as specified by the
digit portion of the character, occurs.

Instruction Format.
Op Code

Instruction Format.

2. an alphabetic character containing a 12-zone, a
skip to the specified channel in the carriage tape
occurs after the next line is printed.

784 9

Branch if Channel 12

Mnemonic
BCV

Branch on Printer Carriage Forms Overflow

Branch to a subroutine laheled OVFLHD
if the hole in channel 12 of the carriagetape has been sensed, indicating that the
form is filled; Figure D-60.

AND BRANCH

(CCB) in-

Word Marks. Word marks are not affected.
Timing. T = .0333 ms + remaining form-movement
time, if carriage is already in motion when this instruction is given. The total form movement time
depends on the specific carriage operation being performed. Refer to the IBM 1443 Printer Timing section
for more detail.
Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
dbb

B-Add. Reg.
dbb

Example. Skip to channell after print operation (Figure D-6I).

Autocoder
OPERAND

label

40

Assembled Instruction:

Figure D-61.

!

:~

~

A

52-character typebar is installed. The duration of the
print cycle is 250 ms (Figure D-63). A total of 218 ms
is needed during the 250-ms print cycle to transfer the
data from core storage and print it.
Up to two lines of form movement can take place
during the normal print cycle. Additional lines extend
the print-cycle time by 10 ms per line. For information on the additional form-movement timing, refer
to the Carriage Speed section.

Control Carriage

IBM 1443 Printer Timing
Modell Printing Speed

Model 1 of the IBM 1443 Printer operates at a maximum rated speed of 150 lines per minute when the
52-character typebar is installed.
The print cycle is 400 ms long (Figure D-62). A
total of 368 ms is needed during the 400-ms print cycle
to transfer the data from core storage and print it.
The form movement takes place during the last 32 ms
of the print cycle. Up to two lines of form movement
can take place during this time if the delayed forms op
is programmed prior to the WRITE instruction. Additional lines (beyond 2) extend the print-cycle time by
10 ms per line. To establish the new line-per-minute
rate, divide 60,000 by the print-cycle time (400 ms)
to have a 150-ms time for one print line. For information on the additional form-movement timing, refer
to the Carriage Speed section.
No other processing can take place during the datatransfer and' print time. The entire form-movement
time is available to perform other systems operations.

Model 2 Printing Speed

Model 2 of the IBM 1443 Printer operates at a maximum rated speed of 240 lines per minute when the

No other processing can take place during the datatransfeT and print time. The entire form-movement
time (32 ms) is available to perform other systems
operations.
Carriage Speed
Normal Form-Movement Operation

Form movement is normally accomplished during the
last 32 ms of a print cycle. It is possible to space two
lines during the nonnal print cycle, if a DELAYED CONTRoL CARRIAGE instruction is programmed before the
WRITE instruction. Each additional line requires another 10 ms. This speed is equivalent to approximately
15 inches per second.
Immediate Form-Movement Operation

Figure D-64 shows various timings that result when an
immediate form-movement operation is specified by
the CONTROL CARRIAGE instruction. If the carriage is
already in motion when the instruction is given, the
stored program execution is suspended until the carriage operation being performed is completed. At that
time, the immediate form-movement operation, specified by the instruction, begins. The time required for
spacing the first line is 60 ms, and each additional
line requires another 10 ms.

Print Cycle 400ms
Forms

1 Movement
Time
I 32ms

Pri nt Ti me 368 ms

Figure D-62.

IBM

1443, Modell, Print Cycle; 52-Character Typebar

Print Cycle 250ms

Print Time 218 ms

I

I
Figure D-63.

IBM

Forms
Movement
Time
.. 32ms

1443, Model 2, Print Cycle; 52-Character Typebar

D-25

MODEL 2

MODEL 1
LPM

Cycle
Length (ms)

LPM

Cycle
Length (ms)

Available
Process
Time
(ms)

No. of
lines
Spacedj
Skipped

Total
No. of
Lines
Spacedj
Skipped

133

450

200

300

74

1

2

130

460

196

310

84

2

3

127

470

188

320

94

3

4

125

480

182

330

104

4

.5

122

490

176

340

114

5

6

Figure 0-64.

Immediate Forms Space/Skip Operation Timings

MODEL 2 "

MODEL 1
LPM

Cycle
Length (ms)

LPM

Cycle
Length (ms)

Available
Process
Time
(ms)

Total No.
of Lines
Spacedj
Skipped

150

400

240

250

24

1

150

400

240

250

24

2

146

410

231

260

34

3

143

420

222

270

44

4

140

430

214

280

54

5

Figure 0-65.

D-26

Delayed Forms Space/Skip Operation Timings

IBM 1444 Card Punch
TIle ID}' { 1444 Card Punch ( Figure D-66) provides a
high-speed card output to the IDM 1440 Data Processing Sys tem. This section describes the instruction used
with th e 1440 system to conh'ol the card punch. ( Refer
to IBM 1444 Ca rd Pu nch, Form AM -3152 ) .

W ord Marks. Word marks associated with the data
being h·ansferred are neither considered nor affected. Th e data transfer ends when the group mark
with a word mark located in core-storage position
B01 + LH (length of B-field ) is sensed.
Timing. T = .0999 ms + I/ O. Input/ Ouput time equals
240 ms plus punch-access time of 0-60 ms. The processing-unit interlock is released after 217.5 ms of the
MO-ms punch cycle.

IBM 1444 Card Punch Instructions
Address Registers After Operation.
Instructions applyin g to th e 1444 cannot be successfully chained.
Punch Card

OJ! Code

P

M

A -Add . Reg.
BBB

B-Adcl. Reg.
B + L Il + 1

Example . Punch the data on card punch, beginning
in the area labeled PCHOUT ( 401 ) and ending with
a group mark with a word mark (Figure D-67 ).

Instruction Format.
Mn emonic

I-Add . Reg.
NS I

A -add ress
%G3

B-address
BOI

d- character
G

Function. This insh'ucti on is used to transfer data from
core storage into th e card punch where it is punched
in a card. Th e data transfer from core storage to the
punch ends wh en a group mark with a word mark
is sensed.
No te: The fi rst 1442, Modell , 2, or 4, attached to th e sys tem
has a un it-selec t numhe r of 1. The second 1442, Modcl 1,
2, or 4, has a uni t-select number of 2. Only one 1444 can
be attached to the system. Its unit-select number is always 3.

Autocoder
OPERAND

label

~.

Assembled Instruction :

Figure D-67 ,

M

:~

,

~

%G 3 401 G

Punch Card

Select Stacker

Instruction Format.
Mnem onic
SS

Op Code
K

d -cllOracte r

#

Function. This instruction causes the card that was
just punched to be selected into stacker 2 after the
next punch operation takes place. (The card just
punched must be checked at the punch-read station
before it can be stacked. ) If a punch-check condition
occurs during the next punch operation, the card is
au tomatically directed to stacker 1.
Note 1: This instruction must be issued prior to the PUN C H AND
GO or READ C ARD instru ction that moves the card on through
the feed.
Note 2: The IBM 1444 and the IBM 1442, Models 2 and 4, have
two stackers as standard equipment. A second stacker is provided in the IBM 1442, Modell , as a special feature.

W ord Marks. Word marks are neither considered nor
affected.
Timing. T

= .0333 ms.

Address Registers A fter Operation.
Figure D-66.

IBM

1444 Card Punch

I-Add. Reg.
NSI

A-Add. Reg.
#bb

B-Add. Reg .
#bb
D -27

Example: Place the card, just punched, in stacker 2
(Figure D-68).

Autocoder
OPERAND
40

:~

,

~

Autocoder
,

35

30

40

45,

:
Assembled Instruction:

Figure D-68.

Assembled Instruction: B G75

OPERAND

label

,

~Q

Figure D-69.

.K #

Branch If Punch Error

Select Card in Stacker 2

IBM 1444 Card Punch Timing

Branch if Punch Error

Function. Same as for Reader Error, except that specifics apply to the punch operation.

The card punch operates at a rated speed of 250 cycles
per minute (240 ms per cycle). Aotual card punching,
at an optimtIm rate of 250 cards per minute, is oontrolled by punch instructions in the program.
There are four points in the cycle occurring at 60millisecond intervals when the punch feeding mechanism oan receive an impulse to start the punch cycle.

Note: This error indicator is effective for the 1444 and first or
second 1442 Modell or 2 punch operations, when the I/O
check-stop switch is OFF.

The punch cycle is divided into three separate functions (Figure D-70):

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
! (minus zero)

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
lbb
Branch (without indexing): NSI
BI
blank
NSI
Branch (with indexing):
NSI
BI

Example. Branch to the instruotion labeled PUNCHZ
(3775) if a punch operation error occurred on any
attached punch device. If no punch error occurred,
proceed to the NSI (Figure D-69).

1. Punch-start time is 37 ms. After the feed mechanism
has been impulsed, the time required for the card to
feed and be positioned for punching is called punchstart time. The ffiM processing unit is interlocked
during punch-start time.
2. Card punching time is 181 ms. Actual card punching takes place during this part of the cycle. The
processing unit is always interlocked during cardpunching time.
3. Processing time is 22 ms. This is the remainder of
the punch cycle allotted for processing in the system.
The next PUNCH CARD instruction must be given during
this 22-ms period, or the punch operation will end, and
at least 60 ms will elapse before the punch can start
again.

CARD PUNCHING
250 CARDS PER MINUTE (Assume that the punch card instruction was given during the previous cycle)

~~
~____3_7_m_s__~.~.I~J~____________________________

Punch Start Time I "'

Figure D-70.
D-28

Punch Cycle

~

181 --------------------------~.~I~.22ms
Punching
Processing
Time

feed and be positioned for punching is called punchstart time. The mM processing unit is interlocked
during punch-start time.
2. Card punching time is 181 ms. Actual card punching takes place during this part of the cycle. The
processing unit is always interlocked during cardpunching time.
3. Processing time is 22 ms. This is the remainder of
the punch cycle allotted for processing in the system.
The next PUNCH CARD instruction must be given during
this 22-ms period, or the punch operation will end, and
at least 60 ms will elapse before the punch can start
again.

Figure D-71 shows card-punching speeds and the
processing time available with each.

Cards Punched
Per Minute

250
200
166
143
125
Figure D-71.

Length of
Cycle (ms)

240
300
360
420
480

Processing
Time (ms)

22
82
142
202
262

Card Punching Speeds

D-29

On unbuffered systems the B-address (B01) must
specify an address with the units and tens positions
being 01, except the last 100-position block of storage. The number of characters printed depends on
the B-field length established in core storage. The
B-field length is 113 positions plus one for the group
mark with a word mark. An automatic single-space
opera tion occurs after the actual printing ends unless
a different carriage operation is programmed.

IBM 1445 Printer
The IBM 1445 Printer provides a means of inscribing
in magnetic ink A.B.A. (E-13B) type font (Figure D-72)
as well as conventional characters for another medium
of printed output. Refer to IBM 1445 Printer Models 1
and N1, Form A24-3210.
IBM 1445 Printer Instructions
Instructions applying to the 1445 cannot be successfully chained.
Write Line

Timing. T

Instruction Format.
Mnemonic
W

Op Code
M

A-address

%Yl

B-address
BOl

d-character
W

Function. This instruction is used to transfer data from
core storage to the 1445 printer to be printed.
The high-order position of data in the core-storage
position specified by the B-address is transferred and
printed in print-position 1. The rest of the data
located in the adjacent core-storage positions is
transferred, character-by-character, and printed in
the adjacent print positions until a group mark with
a word mark in core storage is sensed.

E-13B Character

Card Code

0

0-4-8

~

0-5-8

2

0-7-8

3

3-8

t.

4-8

5

5-8

b

7-8

C

7

12-0

C

8

11-0

D-30

C

Address Registers After Operation.
I-Add. Reg.
NSI

8

4

A

8

4

A

8

4

8

B

Example. Print the data beginning at the core-storage
address of the label PRTOUT (0101), and ending

Name

4

8

4

8

4

% or (

Percent or Left Parenthesis

1

y

Word Separator

2

1

-ffI-

Tape Segment Iv\ark

2

1

Hor=

Number Sign or Equa I Sign

@or

2

I

At Sign or Apostrophe

1

:

Colon

1

.J

Tape Iv\ark

2

?

(Plus Zero)

8

2

!

(Minus Zero)

A

8

2

T

Record Mark

A

8

4

1

[

Left Bracket

8

4

1

]

Right Bracket

8

4

nor)

Lozenge or Right Parenthesis

&or+

Ampersand or Plus Sign

0-2-8

.:

12-5-8

.,'

11-5-8

C

B

II"

12-4-8

C

B

A

.11

12

C

B

A

E-13B Characters and Codes

%81

8

A

B

B

8

B-Add. Reg.
B+LB+l

A-Add. Reg.

Equivalent Character

A

C

= .0999 + 361 ms.

Note: An address-validity-check condition occurs if the Baddress specifies xOl position of the last lOO-position block
of core storage, as well as any starting position other than
xOl for unbuffered systems. The system interlocks with the
console I/O printer light on. The 1445 goes out of ready
status.

BCD Code

~

Figure D-72.

Word Marks. Word marks are not affected. A group
mark with a word mark is required to end the operation.

with the core- storage location containing a group
mark with a word mark (Figure 0-73).

Autocoder
Label

,

t-roti~
SRTO~T
I

I

5

Autocoder

~

trotl~
=RIO~T

Label

~.

~o

,

Assembled Instruction: M %Y1

Figure D-73

:0

OPERAND

:/1

Assembled Instruction:

~
Figure D-74.

101 W

~

%Y1

101 5

Write Line and Suppress Space

Write Line

Branch if Printer Error
Write Line and Suppress Space

Instruction Format.
Mnemonic
BIN

1nstruction Format.
Mnemonic
WS

Op Code
M

A-address

%Yl

B-address
BOI

S

Data in the core-storage position specified by the
B-address is transferred and printed in print-position
1. The rest of the data located in the adjacent corestorage positions is transferred, character-by-character and printed in the adjacent print positions until
a group mark with a word mark in core storage is
sensed. The number of characters printed depends
on the B-field established in core storage. The B-field
length is 113 positions plus one for the group mark
with a word mark.

Word Marks. Word marks are not aHected. A group
mark with a word mark is needed to end the operation.

= .0999 + 361 ms.

N.ote: An address-validity-check condition occurs if the Baddress specifies xOl position of the last 100-position block of
core storage, as well as any starting position other than xOI
for unbuffered systems. The system interlocks with the console I/O printer light on. The 1445 goes out of ready status.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

~SI

%81

I-address
III

d-character

=+

d-character

Function. This instruction is used to transfer data from
core storage to the 1445 to be printed. The automatic single space, normally taken after printing, is
suppressed.

Timing. T

Op Code
B

B-Add. Reg.
B +L B + 1

Function. If an error occurs during a printer operation,
this indicator is set ON, and the printer light glows
on the console. This indicator can be tested to effect
a branch. If the indicator is ON, it is reset. The next
instruction to be executed is at the location specified
by the I-address of the BRANCH IF INDICATOR ON
instruction.
Note: This error indicator applies to any 1403, 1443, or 1445
attached to the system, when the I/O check-stop switch
is OFF.

Word Marks. Word marks are not aHected.
Timing.
No branch, or branch without indexing: T
ms.

Branch with indexing: T

= .0666

= .0777 ms.

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
:J:bb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

Example. Test the printer-error indicator to determine
if an error occurred on the immediately preceding
print instruction. If an error occurred, branch to the
instruction labeled PRNTXY (0661). If no error occurred, continue processing with NSI (Figure D-75).
Autocoder
OPERAND

Example. Print the data beginning at the core-storage
address of the label PRTOUT (0101), and ending
with the core-storage location containing a group
mark with a word mark, and suppress the automatic
single space (Figure D-74).

49

Assembled Instruction: B 661

Figure D-75.

:~

~o

*

Branch If Printer Error
D-31

Branch if Printer Busy

Autocoder

II

Instruction Format.
Mnemonic
BPB

0)) Code
B

I-address
III

label

Note: This indicator is effective for any 1403, 1443, or 1445
atta<.:hed to the system.

:~

.:

d-character
P

Function. If the printer or printer carriage is occupied
with another operation, this indicator can be tested
to effect a branch' to another series of instruction.
The indicator is reset as soon as the printer is available for another operation. Using this instruction
allows processing to continue while the printer is
busy, thus, in effect, allowing temporary overlapping
of processing and printer operation.

OPERAND
,

:

Assembled Instruction: B 486 P

Figure D-76.

Branch If Printer Busy

Branch if Channel 9

Instruction Format.
Mnemonic
BC9

Op Code

I-address
III

B

d -character
9

Note 1: This indicator is effective for any 1403, 1443, or 1445
attached to the system.

Function. If the channel-9 position of the carriage-control tape has been sensed, this instruction will cause
a branch to the address specified by the I-address.
This indica tor is reset by the branch test, 0'1' by a
channel-1 punch in the carriage-contrO'I tape.

Note 2: The Branch if Printer Busy instruction should be included in any program where one print and space/skip operation has not been completed before the next print and
space. operation is initiated. If this instruction is not used,
incorrect carriage spacing or skipping can result. The following sample program segment illustrates how these instructions might be coded:

Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T = .0777 ms.
Address Registers After Operation.

W ol'd Marks. \Vord marks are not affected.

PRBUSY
SPACE
WRITE

BPBB
CC
W
NSI

PRBUSY,
S
NET PAY

Frequently, there are other processing steps that can be
performed while waiting for the carriage to complete the
last print/space/skip function. The Branch if Printer Busy
instruction could have branched to perform these other
functions.
This precaution applies only to systems having buffered
printers.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T = .0777 ms.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
9bb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

Example. Test to determine if the carriage-contro.l tape
( fO'rms) channel 9 has been sensed. Branch to a
subroutine called BC9YES (0784) if the test is positive (Figure D-77).
Autocoder

II

OPERAND

label

Assembled Instruction:

Figure D-77.

:5

~o

!

:

784 9

Branch on Printer Carriage Channel 9

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
No Branch:
NSI
BI
Pbb
Branch (without indexing): NSI
BI
blank
Branch (with indexing):
NSI
BI
NSI

Branch if Channel 12

Instruction Format.
Mnemonic
BCV

Example. Test the printer-busy indicator to determine
if the printer is occupied with some other operation. If it is, branch to anO'ther series of instructions
beginning at the instruotio.n labeled PRBUZY (0486)
while waiting fo.r the printer to become available.
If the printer is not busy, execute the NSI (Figure
D-76).
D-32

Op Code

B

I-address
III

d-character
@

Function. If the channel 12 (forms overflow) position
o.f the carriage-oontrol tape has been sensed, this
instruction will cause a branch to the address specified by the I -address. This indicator is reset by the
branch test, or by a channel-1 punch in the carriagecontrol tape.

Word Marks. Word marks are not aHected.
Timing.
No branch, or branch without indexing: T
ms.

Branch with indexing: T

= .0666

= .0777 ms.

Timing. T = .0333 ms + remammg form-movement
time, if carriage is already in motion when this instruction is given. The total form-movement time
depends on the specific carriage operation being
performed.
Address Registers After Operation.
I-Add. Reg.

Address Registers After Operation.

NSI

B-Add. Reg.
dbb

A-Add. Reg.
dbb

I-Add. Reg. A-Add. Reg. B-Add. Reg.
BI
@bb

No Branch:
NSI
Branch (without indexing): NSI
Branch (with indexing):
NSI

Example.
( 0659)
control
present

BI
BI

blank
NSI

Branch to a subroutine labeled OVFLHD
if the hole in channel 12 of the carriagetape has heen sensed, indicating that the
form is filled (Figure D-78).

Autocoder

Immediate skip to

d
1
2
3
4
5
6
7
8
9
0
(ji'

0

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

d

Immediate space

d

After print-space

J

Figure D-78.

Branch on Printer Carriage Forms Overflow

Control Carriage

Skip after print to

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

#
Assembled Instruction: 8 659 @

d

1 space
2 spaces
3 spaces

K
L

Figure D-79.

A
B
C
D
E
F
G
H

I
?

•
/
S
T

1 space
2 spaces
3 spaces

Control Carriage d-Characters

Instruction Format.
Mnemonic
CC

Op Code
F

d-cha1'llctel'

d

Function. This instruction causes the carriage to move
as specified by the d-character (Figure D-79). If the
d -character is:
1. a digit, an immediate skip to the specified channel
in the carriage tape occurs.
2. an alphabetic character containing a 12-zone, a
skip to the specified channel in the carriage tape
occurs after the next line is printed.
3. an alphabetic character containing an II-zone, an
immediate space operation, as specified by the
digit portion of the character, occurs.
4. an alphabetic character containing a zero-zone, a
space operation, as specified by the digit portion
of the character, occurs after the next line is
printed.
Note: There is no CARRIAGE CONTROL
stmction for the 1440 system.

AND BRANCH

Word Marks. Word marks are not affected.

(CCB) in-

Example. Skip to channel 1 after a print operation
(Figure D-80).
Autocoder
Label
40

.:
Assembled Instruction: F A

Figure D-80.

Control Carriage

IBM J445 Printing Speeds
The IB~[ 1445 Printer operates at a maximum speed of
19() lines per minute when the 56-character bar is
installed.
Rated speeds for special feature character sets are:
Character Set
42-Character Bar
(Alphameric Type)
14-Character Bar
(Standard Numeric Type)

Speed (LPM)

240

525
D-33

II
Tape Input/Output Operations

IBM 7335 Magnetic Tape Unit
An additional storage med ium with the advantage of
compact record handling is now available to the 1440
system user by a ttaching the IBU 7335 Magnetic Tape
Unit, Models 1 and 2 ( Figure E-1) to his 1440 system.
Refer to IBM 7335 Magnetic Tap e Unit, Form A226789.
Figure E-2 shows th e 7335 magnetic tape unit
charac teri stics .

Data Rate

20,000 characters per second (CPS)

Bit Density

556 per inch (CPO

Tape Speed

36 inches per second

Interrecard Gap

3/ 4 inch

Rewind (H igh Speed)

2.2 minutes

Figurc E -2.

11 1]1{

7335 Magneti c Tape Unit Characteristics

Data Flow

The lB",I 7335 Magn e tic Tape Unit functions as both an
input and an output device. Th e 7335 transports the
tape and accompli shes th e actual reading and writing
of information as direc ted by outside control from the
sys tem's stored program.

_Ea

----

Magnetic Tape Instructions
Instructions applying to the
cessfully chained.

IBM

7335 cannot b e suc-

Read Tape

Instru ction Format .
Mn emonic

0]1 Code

HT

M

A-address
%Un

B-address
BBB

tf-cllllracie r

n

Function. The tape unit specified in the A-address is
started. Th e d-character specifies a tape read operation. Th e B-address specifies the high-order position
of th e tape read-in area of storage. The machine
b egins to read magnetic tape, and continues to read
until eith er an inter-record gap in the tape record or
a group mark with a word mark in core storage is
sensed . Th e in ter-record gap indicates the end of the
tape record, and a group mark (code CBA 8421) is
inserted in core storage at this point.
If the group mark with a word mark occurs before
th e inter-record gap is sensed, the transfer of data
from tape stops, but tape movement continues until
the inter-record gap is sensed.
Note: Wh en a tape-mark (EOR) record is read, a group
mark will be inserted in the second position of th e tape
reall-in area.

Word Marks. Word marks are not affected.

Figure £-1.

IIlllI

7335 Magnetic Tape Unit ( Modell )

Timing. T = .0999 ms + T M • ( See Magnetic-Tape Timing for TM time.)
E-1

Addmss Registers After Operation.

Timing. T

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

%4n

Group-mark + 1

Autocoder
OPERAND

:'.

label

.:
Assembled Instruction:

Figure E-3.

M

%U2

419

M.

Address Registers After Operation.

Example. Read the recO'rd from tape unit 2 (labeled 2)
into core storage. The high-order tape-record character is moved to' INPUT (.0419), the next character
is moved to the next higher positiO'n (.042.0), etc., until
transfer of data is stopped by an inter-record gap in
the tape record, or a group mark with a word mark
in core storage (Figure E-3).

~

= ..0999 ms + T

~

R

I-Add. Reg.

A-Add. Reg.
%4n

NSI

B-Add. Reg.
Group-mark + 1

Example. Read the record from tape unit 1 (labeled 1)
into core storage, and insert word marks where
word-separator characters exist in the tape record.
The high-order character is moved to INRECI
(.0518), the next character is moved to the next
higher position (.0519), etc., until the transfer of data
is stopped by an inter-record gap in the tape recO'rd,
or until a group mark with a word mark is sensed in
144.0 core storage (Figure E-5).
Autocoder
OPERAND

label

Read Tape (Move Operation)

:~ . ~
Assembled Instruction:!

Figure E-5.

%Ul

518

R

Read Tape with 'Vord Marks (Load Operation)

Read Tape with Word Marks

Instruction Format.
Mnemonic

Op Code

A-address

B-address

d-character

RTW

L

%Un

BBB

R

Write Tape

Function. With the fO'llowing exceptions this instruction is the same as the Read Tape operation. WordseparatO'r characters (written with the WRITE TAPE
WITH WORD MARKS instruction) are translated to
word marks during the transmissiO'n into core-stO'rage. As in all load-mode O'perations, word marks
encountered in the B-field are cleared.
N ate: When a tape-mark (EOR) record is read, a group mark
is inserted in the second position of the tape read-in area.

Word Marks. A word-separator character (A841) read
from tape causes a word mark to be associated with
the next tape character transferred into core storage
(Figure E~4).
Note. If a record has been written on tape by a

WRITE TAPE

instruction, it should be read back by a
READ TAPE WITH WORD MARKS instruction so that word-separator characters are translated to word marks.

Instruction Format.
Mnemonic

Op Code

A-address

B-address

d-character

WT

M

%Un

BBB

W

Function. The tape unit deSignated in the A-address is
started. The d-character specifies a tape write operation. The data from core storage is written on the
tape record. The B-address specifies the high-O'rder
position of the record in storage. A group mark with
a word mark in core storage stops the operation. The
group mark with a word mark causes an inter-record
gap on the tape.
Word Marks. Word marks are not aHected.

WITH WORD MARKS

Tape Positions
Tape Code
1440 Core-5torage
Locations
1440 Meaning
1440 Core-Storage
Code

Figure E-4.
E-2

A
82

B
A841

C
41

A
0

B
5

C
4

C82

41W

4

D
C4

Word-Separator Character Handling during Read
Tape with Word Marks Operation

Timing. T

= ..0999 ms + T

M.

Note. If a group mark with a word mark is the first character of
B-address, the tape-adapter unit and the tape unit hangs up.
The condition can be reset by pressing the start-reset key
if the tape-select switch on the system console is in the N
( normal) position.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%4n

B-Add. Reg.
Group-mark +1

Example. Transfer the contents of core storage to tape
unit 1 (labeled 1), starting at the location labeled
OUTPUT (0525) and ending at the location of the
first group mark with a word mark (Figure E-6).

Example. Transfer the contents of core storage to tape
unit 2 (labeled 2). Insert a word-separator character
where word marks exist in core storage, beginning at
OUTREC (0696) and ending at the first group mark
with a word mark in core storage (Figure E-8).

Autocoder
Autocoder

label

OPERAND

Label

Assembled Instruction:!.

O/OU1

525

:' :

W

Assembled Instruction:

Figure E-6.

1

%U2

696

W

Write Tape (Move Operation)
Figure E-8.

Write Tape with Word Marks

Write Tape with Word Marks
Backspace Tape Record

Instruction Format.
Mnemonic
\VTW

OJ) Code

A-address

B-address

d-character

k

%Up

BBB

\V

Function. This is the same as the write tape operation
except that the WRITE TAPE WITH WORD MARKS instnlCtion affects word marks in core storage.
"Vord "A1arks. A word mark associated with any position in core storage causes a word-separator character (A841) to be written automatically on tape, one
character ahead of that which contained the word
mark. Thus, word marks are translated to wordseparator characters for tape storage (Figure E-7).
Timing. T

= .0999 ms + T M •

Note. Load operations must be used when word marks are
needed. for identification in tape storage. If tape is written by
a WHITE TAPE WITH WORD :MARKS instruction, it must be read
back by a READ TAPE WITH WORD MARKS instruction to insure
proper translation between the tape and core storage.

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

%4n

Group-mark + 1

1440 Core-Storage
Locations
1440 Core-Storage
Code
10440Meaning
Tape Positions
Tape Code

A

B

C

C82
0
A
82

41W
5

4
4
C
41

Tape meaning

0

Word
5
Separator

B

Mnemonic
BSP

0]) Code
U

d-character

%Un

B

Function. The tape unit specified in the A-address
backspaces over one tape record. The first illiterrecord gap (IRG) encountered stops the backspace
operation specified by the d-character, B.
Word Marks. Word marks are not affected.
Timing. T = .0666 ms + T M' ()
()Backspace after Read operation: (428 + .050 N) ms
Backspace after Write operation: (435 + .050 N) ms
Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in
the hundreds position of the A-address. Other functions are
not affected.

I-Add. Reg.

A-Add. Reg.

NSI

%4n

B-Add. Reg.
Bbb

Example. Backspace tape unit 1 (labeled 1) until an
IRG is sensed (Figure E-9).

0
C4

Autocoder
OPERAND

::

Label

4
Assembled Instruction:

Figure E-7.

A-address

Address Registers After Operation.

Address Registers Afte1' Operation.

A841

Instruction Format.

Word-Separator Character Handling during
Write Tape with Word Marks Operation

Figure E-9.

y.

%U1

. ~

B

Backspace Tape Record

E-3

This signals the system prO' gram that the end of a
major graup of records has been reached (end-offile) or the end af utilized tape has been reached.

Skip and Blank Tape

Instruction F o·rmat.
Op Code
U

Mnemonic

SKP

d-character
E

A-address
%Un

Function. The tape unit, designated by the A-address,
spaces forward and erases approximately 4 inches
of tape. The actual skip occurs when the next WRITE
TAPE instruction is given. This instruction makes it
possible to bypass defective tape areas.

Word Marks. Word marks are not affected.
Timing. T = .0666 ms

+ T M.

Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in
the hundreds position of the A-address. Other functions are
not affected.

Address Registers After Operation.

Word Marks. Word marks are not affected.
Timing. T = .0666 ms. Processing can continue immediately after this operation. However, 110 ms must
be added to the next WRITE TAPE instruction time.

B-Add. Reg.

A-Add. Reg.
%4n

I-Add. Reg.
NSI

Mbb

Example. Insert a tape mark on the tape in tape unit 2
(labeled 2); Figure E-11.

Notes. The

SKIP AND BLANK TAPE instruction should be given
immediately preceding a WRITE TAPE instruction for the tape
unit specified by both instructions.
The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in the
hundreds position of the A-address. Other functions are not
affected.

Address Registers After Operation.

OPERAND

Label

:5.

:

Figure E-lO.

y.

%Ul

,~

E

Skip and Blank Tape

Assembled Instruction:

M

%U2

,~

M

Write Tape Mark

Diagnostic Read

Instruction Format.
Mnemonic

Op Code

CU
CU

U
U

A-address
%Bn
%Un

d-character
A
A

Function. This instruction causes the tape unit specified in the A-address to reposition its tape to' the next
inter-record gap (IRG) without transmitting any
data to' core storage. If the tape record contains a
first character tape mark, the end-af-file (EOF) indicator is turned on.

Write Tape Mark

This instructian is useful in skipping recards or
files an tape. The system is free to' praceed with internal processing during the tape movement.

Instruction Format.
Mnemonic

OJ) Code

WTM

Q

A-address
%Un

d-character
M

Function. This instruction causes a tape mark character (C8421) to be recorded immediately follOwing the
last record on tape. When the tape mark is read back
from a tape, the end-of-reel indicator is turned on.
E-4

:~

:

Ebb

Autocoder

Assembled Instruction:

,

B-Add. Reg.

Example. Erase tape on tape unit 1 (labeled 1) when
the next write operation is ordered for that unit
(Figure E-10).

,

OPERAND

Label

Figure E-ll.

A-Add. Reg.
%4n

I-Add. Reg.
NSI

Autocoder

The tape operations are interlocked until the
check character of the record being skipped is sensed.

Word Marks. Word marks are nat affected.
Timing. T

= .0666 ms + T M.

Note: The system is interlocked for the duration of tape movement for any instructions that have a percent sign (%) in
the hundred's position of the A-address. Other functions are
not affected.

Autocoder
OPERAND

~'.

!~
Assembled Instruction: ~

%Ul

~

R

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

%2n

Figure E-13.

B-Add. Reg.
Abb

Example. Read one tape record from tape drive number 1 but do not enter the tape data into core
storage. If the record has a first-character tape mark,
turn on the end-of-file indicator (Figure E-12).

Rewind Tape

Rewind and Unload

Instruction Format.
Mnemonic
RWU

Op Code

A-address

d-character

U

%Un

U

Autocoder

I'

OPERAND

label

!~

:~

!

~

Assembled Instruction: U %U 1 A

Figure E-12.

Diagnostic Tape Read

Function. This instruction causes the tape unit specified in the A-address to rewind its tape. At the end
of the rewind, the tape is out of the vacuum columns,
and the reading mechanism is disengaged. The unit
is effectively disconnected from the system, and is
not available again until the operator restores it to a
ready status.
Word Marks. Word marks are not affected.
Timing. T = .0666 ms. Rewind time is 2.2 minutes, but
it is not calculated with program time. Processing
can continue immediately after this instruction is
interpreted.

Rewind Tape

Instruction Format.
Mnemonic
RWD

0]) Code

A-address

U

%Un

d-character
R

Function. This instruction is usually given after an endof-reel condition, and causes the selected tape unit to
rewind its tape. When the operation is initiated, the
tape unit is, in effect, disconnected from the system.

Note. Processing unit not interlocked during tape-movement
time.

Address Registers After Operation.
B-Add. Reg.
Ubb

A-Add. Reg.

I-Add. Reg.
NSI

%4n

Exarriple. Rewind the tape in tape unit 2 (labeled 2),
and make it unavailable to the stored program (Figure E-14).

Word Marks . Word marks are not affected.
Autocoder

Timing. T = .0666 ms. Rewind time is 13.3 minutes,
but it is not calculated with program time. Processing can continue immediately after this instruction
is interpreted.
Note. Processing unit not interlocked during tape-movement
time.

OPERAND

!~
Assembled Instruction:

Figure E-14.

Y

~.
%U2

~

!

U

Rewind Tape and Unload

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

%4n

B-Add. Reg.
Rbb

Example. Rewind the tape in tape unit 1 (labeled 1);
Figure E-13.

Branch if End of Reel

Instruction Format.
Mnemonic

Op Code

BEF

B

I-address
III

d-character
K
E-5

Function. The end-of-reel indicator (EOR) turns on in
the system processing unit if a tape mark is read by
the system or if a reflective spot is sensed during a
write tape operation. This instruction tests, the indicator and causes an automatic branch to the I-address if the indicator is on. If it is off, the program
continues normally.

Word Marks. Word marks are
Timing.

not affected.

=

No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T .0777 ms.

=

=

Note: This instruction must be executed immediately after testing for a tape error, following a tape read or tape write operation (particular tape unit still in select and ready status) to
ensure correct results and reset the EOR indicator OFF, if it is
on. If another tape unit is selected before a BRANCH IF ENDOF-REEL IDNICATOR ON instruction is executed, the indicator
remains ON and a false EOR test specifying the wrong tape
unit results.

I-Add. Reg. A-Add. Reg. B-Add. Reg.
Kbb
BI
NSI
NSI

BI

blank

NSI

BI

NSI

Note.
The tape read-in area must be cleared if an error occurs
because the error may have created a group mark with a
word mark somewhere in the read-in area. This false bit configuration will cause all subsequent tape read operations to
terminate too early.

Address Registers After Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

Address Registers After Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

Word Marks. Word marks are not affected.
Timing.

No branch: T .0666 ms.
Branch (without indexing): T .0666 ms.
Branch (with indexing): T .0777 ms.

=

system and the tape light on the console glows red.
This instruction tests the error indica tOT , and
branches to the I-address fOT the next instruction
if the indicator is on. If it is off, the program continues with the next sequential instruction.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg
Lbb

NSI

BI

blank

NSI

BI

NSI

Example. Read a tape recoTd from the tape unit 1

Example. Test the tape ,unit just used fOor an end-ofreel condition. If there is an EOR condition, branch
to T APERI (0685) for the next instructiOon. If no
EOR exists, continue the program with the next
sequential instructiOon (Figure E-15).

(labeled 1) into core-storage area labeled TAPEIN
(0629) and test for a tape error. If there is an error,
branch to TAPER2 (0539) for the next instruction.
If there is no error, continue processing with the
next sequential ins:truction (Figure E-16).

Autocoder

OPERAND
OPERAND

Label

.~

.:

Assembled Instruction:!

:0. .
68.5

~
Assembled Instruction:

K

M %Ul
1.

Figure E-15.

Branch If End of Reel

Figure E-16.

629

R

.539

Branch If Tape Error

Branch if Tape Error

Instruction Format.
Mnemonic
BER

Op Code
B

I-address

d-character

III

L

Function. If an error occurs in transmission between a
tape unit and the system during a tape read or tape
write operation, an error indicator turns on in the
E-6

Read Binary Tape

Instruction Fonnat.
Mnemonic
RTB

Op Code
M

A-address
%Bn

B-address
BBB

d-character
R

Function. A tape record written in binary form is read
into core storage, beginning at the location specified
by the B-address and ending at an inter-record gap
between tape records or a group mark with a word
mark in core storage. The A-address indicates the
tape unit selected, and signals the column-binary
tape operation. The d-character (R) specifies a read
operation.
\Vord A-l arks. Word marks are not affected.
Timing. T

= .0999 ms + T M.

A-Add. Reg.
%2n

B-Add. Reg.
Group-mark + 1

Autocoder
Label

.:

,

ti

ti~ '~I~

Assembled Instruction:!!

Figure E-17.

OPERAND

:'. :

%Bl

J80

R

A-Add. Reg.
%2n

B-Add. Reg.
Group-mark + 1

Example. \Vrite a tape record in the binary mode on
the tape unit labeled 2, with the data stored in the
area labeled BTPOUT (2001) and ending when a
group mark with a word mark is sensed in core
storage (Figure E-18).
Autocoder

Example. Read the binary tape record from the tape
unit labeled 1 into the area of core storage labeled
BTPIN (2080) and ending at the group mark with a
word mark sensed in core storage or at the first interrecord gap encountered in the tape record (Figure
E-17).

~

I-Add. Reg.
NSI

~

Address Registers After Operation.
I-Add. Reg.
NSI

Address Registers After Operation.

Label

.:

=

trati~

'!is

Assembled Instruction:!!

Figure E-18.

OPERAND

:~

'AT~.OUT, ~o
%~2

JOl

:

W

Write Binary Tape

M'agnetic-Tape Timing
The tape units attached to the 1440 system are under
the control of a tape-adapter unit (TAU). This unit
controls the operation of only one tape unit at a time.
If the one tape unit is busy, the other tape unit cannot
be used until all operations on the one that is busy
has been completed.
The following symbols and figures are used in the
7335 timing formulas:

Read Binary Tape

Character Rate of the 7335 at 556 Characters per Inch:
.050 ms.
N: the number of characters in the record.
Write Binary Tape

Start Time: the time necessary for the tape unit to
accelerate to operating speed.

Instruction Format.
Mnemonic

Op Code

WTB

M

A-address
%Bn

B-address
BBB

d-character
W

Function. This instruction writes a tape record in the
odd-parity mode. The A-address specifies the tape
unit to be selected, and signals that this is a binarytape operation. The B-address specifies the highorder position of the tape record in core storage. The
d-character indicates a tape-write operation. Sensing
a group mark with a word mark in core storage stOops
transmission from the system to the tape unit.
Word Marks. Word marks are not affected.
Timing. T

= .0999 ms + T M.

Stop Time: the time necessary for the tape unit to
decelerate and stop.
Record Check Time: the time it takes to read or write
the check character. This time is based on the readwrite head gap (the distance that separates the read
and write heads) and the time it takes a single character written on tape to travel from the write head
to the read head.
Load Point Time. When reading or writing from load
point, a skip of 3.5 inches occurs prior to. reading or
writing a record and the start time is increased about
27 milliseconds.
E-7

Read Operation Timing

During a 7335 tape-read operation, the tape-adapter
unit .is interlocked 20.5 +.OOON ms (Figure E-19).
This includes:

unit is interlocked 20.5 + .OOON ms (Figure E-19).
This includes:
7.2 ms - start time
4.4 ms - stop time
8.7 ms - record check time
.050N ms - record time

10.3 ms - start time
9.8 ms - stop time
.4 ms - record check time
.050N ms - record time

20.3

20.5 + .050N ms

During the same read operation, the processing unit
is interlocked for lOA + .050N ms (Figure F -19). This
includes:

ms

During the same write operation, the processing unit
is interlocked for 7.2 + .050N ms (Figure E-19). This
includes:
7.2 ms - start time
.050N ms - record time

10.3 ms - start time
.1 ms - part of A ms record check time
.050N ms - record time

7.2 + .050N ms

lOA + .050N ms

Therefore, in a tape-read operation, processing can
take place during 10.1 ms of stop time and record-check
time. A tape-transmission-error condition can be recognized .3 ms after the processing interlock is released.

Write Operation Timing

During a 7335 tape-write operation, the tape-adapter

Therefore, in a tape-write operation, processing can
take place during the 13.1 ms record check and stop
time. A tape-transmission-error condition can be recognized 8.7 ms after the processing interlock is released.
If the tape-transmission-error test is given during the
8.7 ms record check time, the processing unit is interlocked until the error indicator is interrogated. The
difference between the reading record-check time of
A ms and the writing record-check time of 8.7 ms is
due to the read-writ_e head gap time (8.3 ms ).

READ OPERATION
Start Time

+ .050N

Record Time

4t---1-0 -.3- ms--·*I·t------------------..,5 5.050 N ms

I"'"

Record
Check
Time
.I
1 Stop Time
I .4 ms'
, 9.8 ms

Tape Adapter Uriit Interlocked

I·~------------------------~55'
20.5 + .050 N ms
Processing Unit Interlocked

Can Test Tape
.3 ms~

r- Error Indicator

)~4----------------------~)S~--------------------~
10.4 + .050 N ms

Available Processing Time

I

WRITE OPERATION

1-01

Start Time

4
1---

Record Time

-+1. . -------~S 5.050 N ms

- - .......
7 •2 ms

~
I

10.1 ms

Ii:

Record
St
Check Time I
8.7 ms

I 4.4

ms

Tape Adapter Unit Interlocked

1·.... . . .-------------------~5 520.3 + 050 N ms
Can Test Tape Error Indicator,

~.~--------------------------~()r~--~P-ro-c-e-u-in~g-U-n-i--tln-te-r-'o-c-ke-d----------------------~~-8_._7_ms--~-1
)

7.2 + .050 N ms

Available Processing Time t+-_--.;;1..;;.3.;.,;.1;...,;ms=-_-+1

Figure E-19.
E-8

IBM

7335 Read-Write Operation Timing

IBM 1011 Paper Tape Reader

Read from P'a per Tape

Instruction Format.
Th e IBM 1011 Paper Tape Read er (Figure E-20) for
the IBM 1440 Data Processing System is an input
device controlled by stored programs in th e same manner as other input/ output equipment. Refer to IBM
1011 Paper Tape Reader, Form A26-5754.
Information punch ed in paper or Mylar'" tape can
b e read by the IBM 1011 directly into any area of core
storage. Any character punched in 5-track telegraphic,
8-track IBM , or many other paper-tape codes can be
encoded into any valid 1440 character through the
flexibility of control-panel wiring on the tape read er.

IBM JOJ J Pa per Ta pe Reader Instructions
Instructions applying to the 1011 cannot be successfully chained.

Mn emonic

Oil Code

A-address

MU

M

%Pl

B-address
BBB

d-character
R

Punction . This instruction causes data to be read from
th e paper tape reader into core storage, beginning at
th e B-address.
The M op cod e specifies that th e operation is to
be performed in th e move mode. When the M operation code is used, word marks are not transferred
into core storage with the data read from the paper
tape, and word marks in the core-s torage paper-tape
read -in areas are undisturbed. The A-address, %P1,
is th e code assigned to both the IBM 1011 Paper Tape
Reader and the IBM 1012 Tape Punch.
The B-address specifies the core-storage position
(high-order ) that receives the first character of information from th e paper-tape reader. The succeeding
characters are read into the adjacent higher-numbered core-storage positions.
The d -character R specifies a read operation. The
read operation ends either b y detection of a group
mark with a word mark in core storage (signifies the
end of the read-in area), or by reading an E OR (endof-record character) character punched in the tape.
Any paper-tape character can b e used as an endof-record character. Wiring the assigned end -ofrecord character decod e-exit hub to the end-ofrecord Ii\' hub terminates th e paper-tape read operation and enters a group mark in core storage.
Note. If a group mark with a word mark in core storage is used
to terminate the paper-tape-read operation, the character
read into th e A-register, when the group mark with a word
mark is sensed, is lost.

Word Marks. \Vord marks are not affected.

Timing. T = .0999 ms

+ record transmission time.

Address Registers After Operation.
I-Add . Reg.
NS I

Figure E-20.

IDM

1011 Paper Tape Reader

°Trademark of E. I. d u Pont de Nemours & Co.

A-Add. Reg.

%71

B-Add. Reg.
B + message length + 1

Example. Read a record from paper-tape reader 1 into
core stomge. The high-order paper-tape character
is moved to a storage location labeled READIN (0541 );
the next character is moved to the next higher position ( 0542 ), etc. , until the transfer is terminated.
The transfer is stopped either by detecting a group
mark with a word mark in core-storage (signifying
the limit of the read-in area) , or by reading an EndE-9

of-Record (EOR) character punched in the tape
(Figure E-21). Word marks in the read-in area are
not affected.

Autocoder

Autocoder

I.

lai:lel

.:

read from the paper-tape reader causes a word mark
to be associated with the next charaoter inserted in
core-storage from the 1011 (Figure E-22).

trati~I

I I

If J

5

I

I. ,

SO

,;~l "R

OPERAND
label

,

~

Assembled Instruction: L %P1 418 R

Assembled Instruction: M %P1 541 R

Figure E-21.

:~

Read from Paper Tape

Figure E-22.

Read from Paper-Tape Reader with Word Marks

Branch if Input/Output Indicator On
Read from Paper Tape with Word Marks

Instruction Format.

Instruction Format.
Mnemonic

LU

Op Code
L

A-address
%P1

B-address
BBB

d-character

Note: See Read from Paper Tape section.

Word Marks. Word marks are removed from the papertape read-in area in core storage, and word-separator
characters read from the paper-tape reader cause a
word mark to be associated with the next character
read from the 1011.

= .0999 ms + record transmission time.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%71

B-Add. Reg.
B + message length + 1

Example. Read a record from paper-tape reader 1 into
core-storage. The high-order paper-tape character is
moved to a storage location labeJed RDPTWM (0418);
the next character is moved to the next higher position (0419) until the read operation ends either by
detecting a group mark with a word mark in storage,
or by reading an End-of-Record (EOR) character
punched in the tape. Any existing word marks in the
read-in area are cleared. A word-separator character
E-10

Op Code
B

I-address
III

d-character
1

R

Function. This instruotion is similar to the READ FROM
PAPER TAPE instruction, except that word marks are
removed from the paper-tape read-in area in core
storage, and word -separator characters read from the
paper-tape reader cause the insertion of a word
mark in core storage with the next character read
from the 1011. The.1. op code specifies that the
operation is to be performed in the load mode.

Timing. T

Mnemonic
BIN

Function. \iVhen a parity error is detected during a
read operation, the PE hub provides an error output
(8-track tape only). When the error condition occurs,
the error character is suppressed and a special output is made available on the paper-tape-reader control panel. This signal can be used to either substitute a unique error character, or delete that position.
Refer to CONTROL and SPECIAL PURPOSE hubs in IBM
1011 Paper Tape Reader, Form A26-5754.
The detected parity error also turns on the input/ .
output error latch in the system. A paper-tape-read
operation should always be followed by a BRANCH IF
INPUT-OUTPUT INDICATOR ON instruction. This instruotion checks the status of the input/output error latch.
If the latch is ON, the system branches to the error
subroutine. If the latch is OFF, the program goes to
the next sequential instruction.
·W ord Marks. \Vord marks are not affeoted.

Timing.
No Branch: T = .0666 IDS.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
Address Registers After Operation.
I-Add. Reg.
No Branch
(no indexing)
Branch
( no indexing)
Branch (with
indexing)

A-Add. Reg. B-Add. Reg.

NSI

BI

lbb

NSI

BI

blank

NSI

BI

NSI

Example. Branch to an enor subroutine labeled
PAPERR (0661) if the input/output indicator signals
a paper-tape read error (Figure E-23).

routine that begins at the core-storage position specified by the instruction I-address.

Word Marks. Word marks are not affected.
Autocoder

I'

Label

.:

_eperati~•.

'11 N :J~PEiR,l

~o

Assembled Instruction: B 661

Figure E-23.

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

1

Branch If Input/Output Indicator On

Address Registers After Operation.
I-Add. Reg.
NSI
No Branch
Branch
(no indexing)
NSI
Branch (with indexing) NSI

Instruction Format.
Op Code
B

B-Add. Reg.

BI
BI

blank
NSI

2bb

Example. Branch to a paper-tape read routine labeled
READY (0767) if the 1011 is ready to read (Figure
E-24).

Branch if Paper Tape Reader Ready

Mnemonic
BIN

A-Add. Reg.
BI

I-address

d-character

III

2

Autocoder
Label

Function. This instruction checks the status of the tapereader-ready indicator. If the paper-tape reader is
not ready, when tested, the program goes to the next
sequential instruction. If the paper-tape readeT is
ready, when tested, the program branches to the sub-

40

Assembled Instruction: B 767 2

Figure E-24.

Branch If Paper Tape Reader Ready

E-ll

IBM 1012 Tape Punch
The IBl\I 1012 Tape Punch (Figure E-25) attached to
the IBM 1440 Data Processing System is an output device controlled by stored programs in the same manner
as other input/ output equipment. Refer to IBM 1012
Tape Punch, Form A26-5776.
The IBM 1012 Tape Punch operates at the rate of 150
tape characters pel' second, using 5-, 6-, 7-, or 8-track
paper or Mylar tape, supplied from a reel. Data, stored
in the core-storage area of 1440 system and ready to be
punched, is converted to the appropriate tape code by
using a translation program that includes the appropriate stored code table.

Write on Tape Punch

Instruction Format.
0]1 Code
M

Mnem onic
MU

A-address

%Pl

B-address
BBB

d-clwractel'
W

Function. This inshuction causes one Vei·tical tape column to be punched. The M op code specifies an
operation in the move mode. When the M operation
code is used, word marks are not h'ansferred from
core storage to th e tape punch. The A-address, %P1,
is the code assigned to both the IBM 1011 Paper Tape
Reader and the IBM 1012 Tape Punch.
The B-address specifies th e first core-storage position (high-order) of the three-position field. The
three-position fi eld contains th e total bit configuration that will be punched in one vertical column in
the tape. The d-character W specifies a write operation.

IBM JOJ 2 Tape Punch Instructions

Instructions applying to the 1012 cannot be successfully chained.

Word Marks . Word marks are not affected.
Timing. T

= .0999 ms + transmission time.

Address Registers After Operation.
B-Add. Reg.
B +3

A-Add. Reg.

I-Add. Reg.
NS I

%71

Example. Read a record from core storage identified by
the label WRITE (0551 ), and punch into paper tape.
(Figure E-26) .

Autocoder
OPfRAND

Labe l

:~
Assemb led In struction : M %Pl

Figure E-26.

~

551 W

Write on Paper Tape

Tape.Punch Read·Back Check

Instruction Format.
Figure E-25.
E-12

IBM

1012 Tape Punch

Mnemonic
MU

Or Code

A-address

M

%Pl

B-address
BBB

d-clwl'Octer
R

Function. This instruction reads one vertical tape column when a read-back check is desired on the characters punched in the tape. The M op code specifies
an operation in the move mode. When the M operation code is used, word marks in core storage are not
removed or affected. The A-address, %P1, is the
code assigned to both the IBM 1011 Paper Tape
Reader and the IBM 1012 Tape Punch.
The B-address specifies the first core-storage position (high-order) of the three-position field. The
three-position field contains the tO'tal bit configuration of the character being read from the tape at the
reading station. The d-character R specifies a read
operation.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
Abb

B-Add. Reg.
Abb

Example. Move paper tape backwards one vertical
cO'lumn (Figure E-28).

Autocoder
OPERAND

Label

Assembled Instruction: K A

Figure E-28.

Backspace (Paper) Tape

Word Marks. Word marks are not affected.
Backspace Tape and Branch

Timing. T

= .0999 ms + transmission time.
Instruction Format.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%71

B-Add. Reg.
B+3

Example. Read one vertical paper-tape column to
check the character punched intO' the tape. The label
RDBKCK (0686) specifies the first core-storage (highorder) of the 3-position field (Figure E-27).

Mnemonic

Op Code

SSB

K

I-address
III

d-character
A

Function. This instruction is similar to the BACKSPACE
TAPE instruotion, except that the location of the next
instruction is taken from the I-address.
Word Marks. Word marks are not affected.

Autocoder

~

OPERAND

Label

Timing.
Branch (withO'ut indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Assembled Instruction: M %Pl 686 R

Figure E-27.

Tape-Punch Read-Back Check

Address Registr:rs After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
Branch (without indexing) NSI
BI
blank
Branch (with indexing)
NSI
BI
NSI

Backspace Tape

Instruction Format.
Mnemonic

Op Code

SS

K

d-character
A

Function. This instruction moves the tape backward
O'ne vertical column. The program then goes to the
next sequential instruction.
Word Marks. Word marks are not aHected.
Timing. T = .0333 ms.

Example. Move the paper tape backwards one verti.cal
column, and branch to a core-storage location laheled
BKSPBR (0777) for- the next instruction to be executed
(Figure E-29).

Autocoder
OPERAND

Label

,:
Assembled Instruction:

Figure E-29.

K 777 A

Backspace (Paper) Tape and Branch
E-13

Branch if in Backspace Operation

Instruction F onnat .
Op Code
B

Mnemonic
BIN

I-address
III

d-character
1

Function. This instruction checks to see whether the
tape punch is in a ready condition. The tape punch
~s considered in a ready conditiO'n when each of the
following conditions is satisfied:
1. Tape properly loaded
2. Tape tension is normal

Function. This instruction checks to see whether the
tape punch is executing a backspace operation. The
backspace operation condition is pTesent from the
time the tape punch is signaled to execute the backspace operation until the operation is completed.

3. Electrical pO'wer is supplied
4. Start switch has been pressed.
If the tape punch is in a ready condition, when
checked, the program branches to the subrO'utine
that starts at the I-address specified in the instruction. If the tape punch is not in a ready condition,
when checked, the program goes to' the next sequential instruction.

If a backspace opeTation is in progress, when
checked, the pTogram branches to the subroutine
that starts at the I-address specified in the insbuction. If a backspace operation is not in progress,
when checked, the program goes to the next sequential instruction.

Word Marks. Word marks are nO't affected.
Word Marks. Word marks are not affected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Address Registers After Operation.

Address Registers After Operation.
No Branch
Branch
(no indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg. B-Add. Reg.
Ibb
BI

NSI

BI

blank

NSI

BI

NSI

Example. TeS't an indicator to determine if the 1012
punch is presently performing a. ta.pe-backspace operation. If it is, branch to' a core storage location
labeled BKSPBY ( 0525 ) for the next instruotion
(Figure E-30).

No Branch
Branch
( no indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg. B-Add. Reg.
BI
2bb

NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine labeled TPRDY (0818)
if the 1012 tape punch is ready (Figure E-31).
Autocoder

I'

OPERAND
Label

Autocoder
Assembled Instruction:

OPERAND

Figure E-31.
Assembled Instruction:

Figure 30.

B 818 2

Branch If Tape Punch Ready

B 525 1 '

Branch If in Backspace Operation

Branch if Tape Punch Ready

Branch if Tape Punch Not Ready to Accept Data

Instruction F onnat.

Instruction Format.

Mnemonic
BIN
E-14

Op Code
B

I-address
III

d-character
2

Mnemonic
BIN

Op Code
B

I-address
III

d-character
3

Function. This instruction checks to see whether the·
tape punch is in the correct mechanical position to
accept data. The IBM 1012 Tape Punch punches tape
at the speed of 150 characters per second (6.6 milliseconds between characters). The data can be accepted during a l.5-millisecond (ms) portion of the
6.6 ms time interval between characters.
If the tape punch is not in correct mechanical position to accept data, when checked, the program
branches to the subroutine that starts at the I-address
specified in the instruction. If the tape punch is in
correct mechanical position to accept data, the program goes to the next sequential instruction.

Word Marks. Word marks are not affected.

No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Word Marks. Word marks are not affected.

Address Registers After Operation.

Address Registers After Operation.
I-Add. Reg.
NSI

If the reading portion of a punch cycle has not
been reached, when checked, the program branches
to the subroutine that starts at the I-address specified
in the instruetion. If the reading portion of a punch
cycle has been reached, the program goes to the next
sequential instruction.

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Timing.

No Branch
Branch
(no indexing)
Branch (with
indexing)

The IBM 1012 Tape Punch punches tape at the speed
of 150 characters per second (6.6 milliseconds between characters). A l.8-millisecond (ms) portion of
the 6.6 ms time interval between characters is reserved for the actual read operation.

No Branch
Branch
(no indexing)
Branch (with
indexing)

A-Add. Reg. B-Add. Reg.
BI
3bb

NSI

BI

blank

NSI

BI

NSI

Example. Branch to a core-storage location labeled
NOPCH (0343) if the 1012 tape punch is not ready to
accept da.ta (Figure E-S2).

A-Add. Reg. B-Add. Reg.
BI
4bb

I-Add. Reg.
NSI
NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine at a core-storage
location labeled NORD (0381) if the 1012 tape punch
is not ready to read (Figure E-33).
Autocoder
OPERAND

Label

,~

Autocoder
Label

OPERAND

:~
Assembled Instruction:

Figure E-32.

:

Assembled Instruction:

Figure E-33.

B 343 3

40

:~

~o

B 381 4

Branch If the Tape Punch Is Not Ready to Read

Branch If the Tape Punch Is Not Ready to
Accept Data

Branch if Tape Punch Overextended

Instruction Format.

Branch if Tape Punch Not Ready to Read

Mnemonic
BIN

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
4

Function. This instruction checks to see whether the
reading portion of a punch cycle has been reached.

Op Code
B

I-address
III

d-character
5

Function. This instruction checks to see whether a previous punch (qr read) operation occurred within the
allotted time during the last possible punch (OT read)
cycle.
E-15

If a punch (or read) operation did not occur within
the allotted time, it may indicate a machine malfunction, and the tape punch can be stopped through
programming. This condition:

1. Always exists when the tape punch is idle
2. Exists until a punch (or read) operation starts
3. Never exists when the tape punch is punching (or
reading) at its maximum speed.

If a punch (or read) operation did not occur within
the allotted time, when checked, the program
branches to the subroutine that starts at the I-address
specified in the ins'truction. If a punch (or read)
operation did occur within the allotted time, when
checked, the program goes to the next sequential
instruction.

Function. This instruction checks to see whether either
an end-of-reel (supply reel low ) condition exists or
the chad box is full or not in position. Additional
punching can occur after the supply-reel-low condition occurs, but the amount of additional punching
depends upon the length of the records being
punched.
If the supply reel is low, or the chad box is full, or
not in position, when checked, the program branches
to the subroutine that starts at the I-address specified
in the instruction. Otherwise, the program goes to
the next sequential instnlCtion.

Word Marks. Word marks are not affected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Word Marks. Word marks are not affected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Address Registers After Operation.

Address Registers After Operation.
No Branch
Branch
(no indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg. B-Add. Reg.
BI
5bb

NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine designed to handle
a case of tape-punch overextension. This subroutine
mlight be located at core-storage location 0820, and
have the label OVEREX (Figure E-34).

No Branch
Branch
(no indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
6bb

NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine which can serf: up
conditions to allow limited additional punching, if
the chad-box is nearly full or the supply reel has approached its end. If either of these conditions arise,
branch to a core-storage location labeled SRLCBF
(0904). (Figure E-35).

Autocoder
OPERAND

:5

I

:

Autocoder

~

Label

Assembled Insttuction:

Figure E-35.
Assembled Instruction:

Figure E-34.

8 904 6

Branch If Supply Reel Low Or Chad Box Full

B 820 5

Branch If Tape Punch Overextension

IBM 1012 Programming Concepts
Branch if Supply Reel Low or Chad Box Full

Instruction Format.
Mnemonic
BIN

E-16

Op Code
B

. I-address

III

d-character
6

The basic logic of programmed translation is based on
a programming device known as chm'acter selection.
Character selection uses a stored table to translate the
system characters to the pattern required by the mM
1012 Tape Punch. This method of translation makes a
control panel unnecessary.

A stored-program routine controls the over-all operation of the 1012. PTAPE (punch tape), a macro instruction, will be provided in the Autocoder library of
routines. The operand of the PTAPE command is the
symbolic name of the output area to be punched. A
second operand is used to designate whether the routine is to punch standard Teletype ~ (5-track) code or
IBM standard (8-track) code. Therefore, when punching is desired, the programmer need merely write
PTAPE with the appropriate operand(s). The autocoder
Processor then generates the necessary instructions to
punch the tape.
The programs used for 6-and 7-track operation are
basically the same as those used for 5- and 8-track
operation. The major difference is in the stored table
used for translating the system BCD codes into punch
codes.
Once the theory of operation and the 5-and 8-track
programs are understood, altering the program and the
stored table is a simple task.
The decoding routine is within the 6.6-millisecond
time interval between characters in the record that are
to be punched. No attempt is made to overlap this tim.e
with the user's program. A special test is made for the
5-track tape to automatically generate mode-change
characters where appropriate.
A brief description of the theory of operation is
given to aid the user in understanding the over-all
operation of the IBM 1012 Tape Punch. The exampJes
used are not necessarily the only methods of programming the various operations. The examples are used
primarily as an aid in simplifying the explanations. The
methods, constants, and stored code tables used in the
following explanations do not necessarily represent
these items as they would appear in the macro instruction PTAPE.
The theory of operations (8-track operation) is explained in the following order:

1. Move character from record into test location

1. Move Character from Record into Test Location

The record to be punched in tape can be any length
(within the limits of available core storage) and may
be stored in any system core-storage location. When a
new record is ready to be punched into tape, a threeposition field (the record address), is initialized to the
first (high-order) postion of the record. This field is
moved to the A-address of a move instruction which,
when executed, moves the first record character to a
location in core storage where it can be analyzed. A
character compare instruotion then checks the character for an end-of-record indication. An equal compare
causes a branch to the end-of-record routine; otherwise
the program advances to the decode routine.
2. Decode to a Table Address
A table address (Figure E-36) is developed for every
character in the record. After the character is moved
from the record into another core-storage location, it is
analyzed to develop the table address. This is accomplished in the following manner.
A constant is moved to the A-address of a MOVE instruction. The constant would be the starting location

*
*

*
*
*
*

*
*
*
*

2. Decode to a table address
3. Get table argument for punching
4. Punch character in tape
5. Read-check

*
*
*
*

6. End-of-Record routine
7. Automatic enor correction
8. End-of-Reel routine
9. Five-track tape operation.
#Trademark of Teletype Corporation.

*
*

Table
Address
0- 2
3- 5
6- 8
9-11
12-14
15-17

Card
BA8421 Char Code
XX
& 2

XX
XXX
0
XX XX
X [
XX XX
18-20 XX XXX
<
21-23 XX XX XX
24-26
27-29
30-32 X
33-35
36-38
XX $
X
39-41 X
XX
42-44 X
X ]
XX
45-47 X
;
48-50 X XXX
XX XX A
51-53 X
54-56
57-59
-tl
X
60-62
63-65
66-68
XX
XX ,
69-71
%
7'2-74
XXX
X v
75-77
XXX
'-.
XX
78-80
XX
81-83
XX XXX
84-86
87-89
BL
90-92
93-95
96-98
XX I
X
99-101
@
XX
102-104

*
-

.

•

105-107
108-110
111-113
114-116
117-119

XX
X
XXX
XX XX

:

>

r

2-3-8
2-4-8
2-5-8
2-6-8
12-7-8

11

11-3-8
11-4-8
11-5-8
11-6-8
11-7-8

2-8

0-3-8
0-4-8
0-5-8
0-6-8
0-7-8

No Punch

3-8
4-8
5-8
6-8
7-8

Card
Table
Address BA8421 f,.har Code
? 12-0
120-122 X X X X
XA
12-1
123-125 X X
B
X
X
X
12-2
126-128
12-3
X
129-131 X X
X
12-4
132-134 X X
12-5
X
XE
135-137 X X
12-6
138-140 X X XX F
12-7
XX XG
141-143 X X
H
12-8
144-146 XXX
XI
12-9
147-149 XXX
X
! 11-0
X
150-152 X
XJ
11-1
153-155 X
11-2
X K
156-158 X
X XL
11-3
159-161 X
X
M
11-4
162-164 X
XN
11-5
X
165-167 X
XX 0
11-6
168-170 X
XX XP
11-7
171-173 X
Q
11-8
X
174-1/6 X
XR
11-9
X
177-179 X
XX
X
0-2-8
180-182
xl 0-1
X
183-185
0-2
X
X S
186-188
X XT
0-3
X
189-191
X
0-4
192-194
X
U
X
XV
0-5
X
195-197
XX ~
0-6
X
198-200
XX XX
0-7
X
201-203
0-8
XX
Y
204-206
XX
XZ
0-9
207-209
X 0
X
0
210-212
Xl
1
213-215
X 2
2
216-218
X X3
3
219-221
X
4
4
222-224
X
X5
5
225-227
XX 6
6
228-230
XX X7
7
231-233
X
8
8
234-236
X9
9
X
237-239

xk:

P

*

*Nat Used

Figure E-36.

Table Address Chart
E-17

of the table plus two. Assume the stored table s,tarts in
location 400. The constant used would be 402. The
character to be punched is now analyzed to develop a
table address. If the character contains a B-bit only,
the constant 30 is added to the number (402) already
in the A-address of the MOVE instruction. An A-bit, only,
adds the constant 60, no zone-bits adds the constant
90; and if the character contains A- and B-bits, nothing
is added. A further test determines whether the charaoter is a special character or blank. The constant 120
is also added to the A-address of the MOVE instruction
if the character is not a blank or special character.
Furthermore, the sum of the digit bits in the -character
being analyzed is tripled and also added to the number

already developed. As an example, assume the character B (BA2) is being analyzed. The presence of an
A- and B-bit would add nothing; however, 120 would
be added because B is nO't a special character. The 2
bit is tripled, adding 6 to the number. The table address developed would therefore be 402 plus 120,
plus 6, O'r a total of 528.
Figure E-37 illustrates the arrangement of the characters in the table, and the bit pattern for punching
that is contained in each 3-position character location.
Assuming the starting 10catiO'n of the table is 400, the
address 528 wO'uld direct the system to the low-order
position of the 3-pO'sition 10catiO'n fO'r the character B.
3. Get Table Argument for Punching

L Starting Location of Table

The table address for the characwr to be punched is
developed in the A-address location O'f a MOVE instruction. The MOVE instructiO'n, when executed, moves the
proper field from the table and places it in an unused
3-position storage 100cation referred to as QD. The character is now ready fO'r punching using the bit pattern
in location QD.
4. Punch Character in Tape

The punch instruction M(%P1) (BBB)W is executed
next, which causes data to be transferred to the 1012
for punching. The address in the punch instructiO'n
refers to the high-order pO'sition O'f the three-positiO'n
field (QD) that cO'ntains the bit pattern to punch O'ne
vertical column in the tape.
Figure E-38 illustrates the bit pattern to tape-punching translation.
5. Read-Check
Because of the delay between punching and reading,
the punching bit pattern for fO'ur characters must be retained for checking. Four consecutive 3-position fields
are set aside for this purpO'se.
As nO'ted in the punch routine, the bit pattern to' be
punched is mO'ved from the stored table into loca.tion
QD. By a method described later, the character bit pa,ttern fO'r the column O'f the tape that can be read during
this punch cycle is put in location QA.

3 Positi ons of Core Storage used for Each Character in Tab Ie.

Figure E-37.
E-18

mM

Eight-Track Code Table

The read instruction M(%P1) (BBB)R causes data
to be transferred from the reading station into three
consecutive core-storage locations beginning in (BBB ).
The data transfer is in accordance to the pattern shown
in Figure E-39. This is similar to the punch transfer
but with direction reversed. The 3-position field into
which data is read is compared to the contents of location QA. Thus, the punched tape is given a bit-by-bit

B

8

B

A

A

A

8

8

8

4

4

4

2

2

2

Location
XXX

Location
XXX+l

Location
XXX+2

Figure E-38.

Eight-Track Bit Pattem to Tape Punching Translation

EOL-Track
X-Track
O-Track
CK-Track
0

8- Track
Feed Hole
4-Track

8-Track
Paper
or
Mylar
Tape

2-Track
1-Track

comparison check. If punching and reading were correct, the BRANCH COMPARE instruction would not cause
a branch to the error routine, but would continue to
the next sequential instruction. After a valid compare,
the contents of the four fields (QD, QC, QB, and QA)
are shifted in preparation for the next read-check instruction. The program is then directed to the beginning to process the next character in the record.
6. End-of-Record Routine

Anyone of many characters can be assigned as an EOR

(End-Df-Record) character. However, to' simplify the
explanatiDn of this routine, assume that a group mark
with a word mark is used. The main program routine
checks every character to determine whether or not it
is a group mark. If a group mark is detected, a further
check determines whether a word mark is present. If a
wDrd mark is detected, this Signifies an end-of-record
character, and the system branches to the end-ofrecord routine. Figure E-40 illustrates the cycle-bycycle operation of the punch and the relationship of
the characters in locations QD, QC, QB, and QA dur-

Location
XXX

Location
XXX+l

Location
XXX+2

EOL-Track
X-Track
8-Track
Paper
or
Mylar
Tape

A

0- Track

8

CK-Track
8-Track
Feed Hole
4- Track
2-Track

0

4

1-Track

Figure E-39.

Eight-Track Tape Punching to Bit-Pattem Translation
E-19

QD

E
F

QC

D
E

QB

QA

C
D

B
C

Step 1
Step 2

EOl

F

E

D

Step 3

EOl
EOL

EOl
EOl

F

EOl

E
F

Step 4
SI ide Contents of Q locations

EOl

EOl

F

F

Shift QA to QB Before Next Record is Punched

A

EOl

F

F

Step 5

B

A

EOl

F

Step 6

C
D

B
C

A

EOl
A

Step 7
Step 8

•

B

----

,~

Setup
Setup
Setup
'0
EOl
A
F
Q) Q)
on E
0...Punch EOl 01Punch F
Punch E
....J
Read E
Read C
Read D
Escape
Escape
Escape
E~c:c:~e
Punch C y cle 5
Punch Cy cle 1 Punch Cycle 2 Punch Cy cle 3 Punch C y cle 4
Setup
E
Punch D
Read B

End of Record

Figure E-40.

Setup
Setup
C
D
Punch C
Punch B
Read A
Read EOl
Esc ape
Esc lpe
Escape
Punch Cy cle 6 Punch Cy cle 7 Punch Cy cle 8

Setup
B
Punch A
Read F

Next Record

End-of-Record Punch and Read Routine

ing an end-of-record routine. Assume that EOL (Endof-Line) is the tape representation fDr the end-of-record character and that the record to be punched consists of A, B, C, D, E, F, and end-Df-recard character.

ter F and EOL remain to be read and checked. At this
time, a new record is ready to be punched. The contents Df QA is shifted intO' IDcation QB before the first
character in the next recDrd is prDcessed.
.

The main lXogram routine is in effect until an endof-recDrd character is detected. At the beginning of
step 3 (Figure E-40) , an EOR character is detected
and the EOL constant (2, blank, blank) is moved intO'
location QD. During punch cycle 3 (Figure E-40), the
EOL cDde is set up in the punch magnets, the character F is punched, and the character D is read. Because
EOL is the last character in the record to be punched,
nothing is set up in the punch magnets during the
punch cycle 4. Because EOL was set up during the
previous cycle, it is punched in punch cycle 4. The
tape is always advanced after punching takes place,
which makes a read operation necessary during punch
cycle 4. Without the extra read aperation, character E
would not have been read and checked. After EOL is
punched and an escapement maves the tape, the contents of the Q 10catiDns are shifted to' the right so that
locations QD, QC, and QB cantain EOL codes, and
location QA contains the code for character F. At the
completion of cycle 4, all characters in the recard have
been punched, including EOL. Hawever, the charac-

The first character Df the next recDrd (assume A) is
mDved into location QD. During punch cycle 5, character A is set up in the punch magnets. A read operation does not take place during cycle 5 because the
character F is read and checked in the next punch
cycle. During punch cycle 6, character B is set up,
character A is punched, and character F is read and
checked. During punch cycle 7, character C is set up,
character B is punched, and EOL is read and checked.
The main program rDutine cDntinues until the next
end-Df-record character is detected in the record.

E-20

7. Automatic Error Correction

The system program branches to the automatic enorcarrection-program routine when an unequal compare
cDndition is detected following a read-check instruction. When an error is detected, the tape is backspaced
until the character in error is under the punch station.
The tape is then moved in a forward direction and fDur
delete cDdes (all tracks punched except EOL) are
punched. The constant 177 is the bit pattern for punch-

ing all tracks in the tape, except EOL. The delete codes
tha t are punched are also read back and checked. A
valid EOL may be encountered when the delete codes
are checked (a hole punched in all tracks). This condition is recognized by the program routine, but no action is taken.
When the tape is read later as an input to another
system, this condition (even parity) signals an error.
Howevel', control-panel wiring or a program subroutine can be used to circumvent this condition. If an
unequal compare (except EOL) is detected when the
delete codes are checked, the error is corrected by
branching to the normal error-correction routine.
After the delete codes have been punched, the characters that were deleted are now repunched. These
characters are still in locations QD, QC, QB, and
QA. These characters are punched starting with QA
through QD.
8. End-of-Reel Routine

An end-of-reel test is made after every end-of-record

program routine has been completed. After EOL has
been punched (EOR), an appropriate end-of-flle charaoter (if required) can be punched in the tape. The
last character in the record, EOL, and the end-of-flle
character (if required), are read back and checked
before the end-of-reel program routine is completed.
After a new reel of tape has been installed, pressing
the feed switch on the 1012 causes delete codes to be
punched in the leader portion of the tape. Pressing the
start key on the 1012 places the 1012 in a ready status.
The last two delete codes punched in the leader portion of the tape are read and checked when the first
record is punched in the new reel of tape.
9. Five-Track Tape Operation

Basically 5-track tape operation is similar to 8-track
tape operation, with a limited number of exceptions.
Only fifty-eight characters are punched when using
5-track tape, which necessitates the use of a different
code table (Figure E-41 ). To properly identify a char-

3 Positions of
Core Storage
used for
i3
Ea eh C h arae te r....
-...L.....'--'-..!......L-L-L....L..J......J"-'--'-!.-L-...L-L--!-..I.-.L....!.-J-...L....I...-L-L-...!...-.J-J......J-....J
in Table

Figures
Shift

Last

Figure E-41.

Five-Track Code Table
E-21

1012 is presently in. If a figures-shift character is to be
punched and the 1012 is in a letters-shift mode, a
change in mode is required. If a letters-shift character
is to be punched and the 1012 is presently in figuresshift, a change in mode is required.

acter punched in the tape, a figures-shift or lettersshift code must precede the punched character, if a
mode change takes place.
Development of the stored-table address (see Figure
E-36) remains the same as for 8-track operation (described in Decode to a Table Address section). The
code number assigned to each character in the stored
table differs from the code assigned to each character
in the 8-track code table.

If a change in mode is required, one of two constants
is moved into location QD. The constant is 33 if a
change to figures-shift is required, or 37 if a change to
letters-shift is required. These constants, when decoded (Figure E-42), punch either a figures-shift or
letters-shift code in the tape. The character to be
punched is then moved back into location QD and
punched. If a mode change is not required, punching
takes place from QD without moving the constants.
vVhen a mode change is executed, it is retained to
identify what mode the 1012 is presently in.

Figure E-41 illustrates the code assigned to each of
the fifty-eight characters in the stored table. Only two
positions of each 3-position field are used for the bit
pattern of the code number. The high-order position
of the 3-position field contains a Dash (B-bit), or
Ampersand (A- and B-bits). The dash signifies a
figures-shift character, and the ampersand signifies a
letters-shift character. After the table address has been
developed for a character to be punched, the contents
of the 3-position table location are moved into location
QD. The high-order position of QD is analyzed to determine whether the character is a figures-shift, or
letters-shift character. After the mode of the character
has been established, it is compared with the mode the

When a READ-CHECK instruction is executed, the
high-order position of location QA is not involved in
the comparison. However, if an error is detected, the
bits in the high-order position of QA indicate the shift
of the character when it is repunched. Figure E-43
illustrates the 5-track tape punching to bit-pattern
transla tion.
B

B

B

A

A

A

8

8

8

4

4

4

2

2

2

Location
XXX

Location
XXX+1

Location
XXX+2

5- Track
5-Track
Paper
or
Mylar
Tope

4-Track
Feed Hole
3-Track
2-Track

0

1-Track

Figure E-42.

E-22

Five-Track Bit Pattern to Tape Punching Translation

B
5-Track
Paper
or
Mylar
Tape

Figure E-43.

A

5-Track
4-Track
Feed Hole
3-Track
2-Track

B

8

0

4

I-Track

Location

Location

Location

XXX

XXX+I

XXX+2

Five-Track Tape Punching to Bit-Pattern Translation

E-23

•
Disk-Storage Input/Output Operations
IBM 1301 Disk Storage,
Models 11 , 12, 21, 22
The mM 1301 Disk Storage, Models 11, 12, 21, 22 ( Figure F-l), provides th e 1440 system user with the advantages of large capacity random access storage. As
many as five mM 1301 modules can b e attached to a
1440 system. Refer to IB M 1301 Disk Stomge, Form
A24-3157.

Alternate
Code

x
or
1',S,U,W,Y
):l

Figure F-2.

Disk-Control Field
A lO-digit disk-conh-ol field specifies the disk-storage
area that is involved in the data transfer. This diskcontrol fi eld is loca ted in core storage, and b egins at
th e core-storage address specified by the di sk-storage
instruction B-adch-ess. The data involved in the b-ansfer
follows the disk-control fi eld (no data area is required
for a seek-disk operation).

Core-Sector Address

Sector Count

xxx xxx

xxx

000000 - 999, 999

000 - 999

Disk-Control Field

than the drive specifi ed by the sector address. The =1=,
S, U, W , and Y characters select the first, second , third,
fourth , and fifth disk modules respectively.
A word mark can be placed in the alternate-cod e
position. Th e word mark does not affect the operation
and is not lost. A I-bit should never appear in th e
altern a te-code position.

Core-Sector Address

The various parts of the disk-control fi eld are : alternate code, core sector address, and sector count ( Figure F-2) .

Alternate Code

If a lozenge (D) is used in this position, the core sector
address specifies th e disk drive that is to b e select ed .
A record mark (=1=), S, U, W , or Y character in the
alternate-code position is used to select a drive other

The core-sector address contain s the 6-digit address of
the first sector to b e operated upon. Before any disk
opera tion is p erformed , an automatic comparison is
made of the sector address in core storage with the
disk-sector addresses on th e specific track. If an equal
comparison is made, the operation proceed s. If no
equal comparison is made, th e unequal-address compare indicator turns ON, and the disk operation is not
p erf0l11l ed . (vVh en a multiple-sector operation is executed , only the address of the first-specified sector on
each b-ack involved in th e operation is compared. )
W hen sector opera tions are p erformed , the core sector address is automatically increased by 1 immediately
following th e data b-ansfer of each sector, except under
these conditions:
1. Track operation b eing p erformed.

2. Sector-count field reaches the value of 000.
3. Wrong-length record.
When any of these conditions occurs, the core-sector
address is not increased by 1.

Figure F-l.

IBM

1301 Disk Storage

Notes:
1. The six positions of the 6-digit core-sector address may contain any valid character that has a numeric-bit value of zero
through nine.
2. Zone bits over the core-sector address positions are lost
through the adder if any address modification takes place.
3. Word marks in the core-sector address positions do not affect
th e operation, but are lost during any operation performed in
the load mode that involves address modification .
F-l

Sector Count

This field indicates the number of sectors to be operated upon during the disk operation. The sector-count
field is not used during a seek operation, but the positions must be there because the disk-control field must
be 10 positiO'ns long.
During the transfer of data to O'r from disk storage,
the sector-count field is automatically decreased by 1
_immediately follOwing a successful address comparison, and before each additional sector is transferred.
This operation results in the sectO'r-count field reflecting the number of sectors transferred.
If a sector count of 000 is used when initiating a disk
sector read or write operation, an error conditiO'n occurs. Before the first sector is transferred, a 1 is subtracted from the sector-count field. In this case, the
result would be 999. Therefore, data would be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not
zero at this time, the wrong.,.length record and any-disk
condition indicators would be turned ON.
Notes:
1. Word marks cannot be placed over the sector-count field
units position. Word marks in any other position do not affect
the operation, but are lost during any operation performed in
the load mode that affects sector-count modification.
2. Zone bits are always removed from all three positions of the
sector-count field.

Basic Disk Operations
The four basic operations performed by the 1301 are
seek, read, write, and write disk check.

data from disk storage to a specified area in core s,torage. (The three types of instructions are explained following the write-operation description.) The specified
disk-storage area involved in the transfer is partially
identified by the previous seek operation, and the rest
of the area is fully identified before the data transfer
takes place. The identification is accomplished by comparing the sector addresses on the dis'k with the sector
address in core storage. The seotor address in CO!I'e stO!I'age is part of the disk-control field, and the B-address
position of the read-disk ins1truction contains the corestorage address of the disk-control field. The data from
the disk is placed in a core-storage area located immediately to the right of the disk-control field.
Write Operation

The write ope!I'ation is initiated by one of the three different types of write-disk instructions, and transfers
data from a specified core-storage area into disk stOT'age. (The three types of instruotions are explained
following this operation description.) The specific diskstorage area invDlved in the transfer is partially identified by the previous seek operation, and the rest of
the area is fully identified before the data transfer takes
place. The identification is accomplished by comparing
the sector address'es on the disk with the sector address
in core storage. The seotor address in core storage is
part of the disk-control field, and the B-address portion
of the write-disk instruotion contains the core-storage
address of the disk-control field. The data that is to be
transfered to. the disk is' stored in a core-storage area
located immediately to the right of the disk-control
field.
Types of Read and Write Operations

Seek Operation

The seek operation is initiated by a seek-disk instruction, which direots the read/write heads to the proper
cylinder on the disk drive. This instruction is followed
by a read or write operation.
The data on the disk records is not acted on during
this seek operation.
The seek operation positions the access arms over the
specified cylinder. The B-address position of the instruction contains the core-storage address of the diskcontrol field and it is this field that specifies the proper
cylinder plus: other pertinent information.
Read Operation

The read operation is initiated by one of the three different types of read-disk instructions, and transfers
F-2

Each read or write operation can operate in three different ways, or modes: sector, track sectors with addresses, and sector-count overlay modes.

Sector Mode. Read and write operations in the sector mode transfer data, but do not transfer disksector addresses. The sector mode is the normal
mode of operatiDn. The number of sectors to be
handled during one operation is specified by the
sector-count portion of the disk-control field. Each
sectO!I' is transferred only afte:!I' a COITect comparison
Df the sector address in· the core-storage disk-control
field is made with the initial seotor address on each
track of the disk. For more information, refer to
the specific instruction.
Track-Sectors with Addresses Mode. This mode of operation transfers both the data and the disk-sector

addresses to and from the disk, one complete track
at a time. The mode of operation makes it possible
to change the previously recorded sector addresses.
The operation requires that the sector-address portion of the disk-control field contain the address of
one of the sectors within the specified track, and the
sector-count portion of the disk-control field must
contain 020 (20 s'ectors will be transferred). The
transfer can occur only after a correct comparison of
the sector address in the core storage disk-control
field with a sector address on the specified track. For
more information, refer to the specific instruction.

Sector-Count Overlay Mode. This mode of operation
allows a portion of the data record itself to specify
the number of sectors to be involved in the data
transfer. The disk-sector addresses are not part of
the transfer. This mode of operation permits better
disk-storage utilization for sequential applications
involving variable-size records. For more information, refer to the specific instruction.
Reading and Writing with Word Marks "fttfode. Wordmarks can be transferred with the data during all
reading and writing operations by an L Op code
instead of an M Op code. When word marks are
written on the disk, the data is written in an 8-bit
BCD coding.

When the M Op code is used, characters are written
or read in 7-bit mode (CBA 8421). The sector character capacity in the 7-bit mode is 100 characters. The
1. Op code causes characters to be read or written in
8-bit mode (CBA 8421M). The 8-bit mode provides for
a possible word mark with the character being written
on, or read from, the disk record. The sector character
capacity in the 8-bit mode is 90 characters.

A·Address

%Fn signals that the disk unit is to be selected; n
represents the digit used to perform various operations.
n-Position

Operation

o

Seek a disk record.
Sector-Reading or writing characters from the
number of sectors specified by the sector-count field
is stopped when a group mark with a word mark,
or the end-of-sector, is sensed. If a group mark
with a word mark is sensed before the reading of
the sector ( s) is completed, reading stops and the
wrong-length record and any-disk condition indicators turn ON. If the group mark with a word
mark is sensed before the writing of a record on
a disk is completed and it is before the end of a
record, the remainder of the disk record is filled
with valid blanks (C-bit), and the any-disk condition and wrong-length-record indicators are turned.
on.
Disk Track-Sector with Addresses-Allows the
reading or writing of a full track (20 sectors) including sector addresses.
Write Disk Check-Data written on a disk in a
preceding write operation is read from the disk
and compared, character-by-character, with the
data in core storage. A write-disk-check instruction must be given following a write operation, unless an error occurred during the write operation.
A write-disk-check operation can be executed
after a read operation if a check on the information read is desired. The operation is pedormed
exactly the same as a write-disk-check operation
following a write operation.
Sector-Count Overlay-Allows for records of a
variable number of sectors (more than one) to be
read or written with a single instruction. The number of sectors to be read/written is controlled by
the" multiple sector-count field. This control field is
in the first three data positions of the first sector
of the disk record. This technique permits better
disk storage utilization for sequential applications
involving variable-size records. The record itself
specifies the number of sectors involved.

1

6

Write Disk Check

The write-disk-check operation causes the data in the
specified disk area to be compared against the comparable data in the specified core-storage area. When
the disk data does not compare, bit-by-bit and character-by-character, with the core-storage data, a diskerror indicator is set ON. This operation takes the form
of a write-disk-check instruction, which normally must
follow each write operation. The write-disk check
operation compares the data written in disk storage
with the original source data in core storage.

3

5

IBM 1301 Instruction Format
and Instructions
Instructions applying to the 1301 cannot be success.
fully chained.
Mnemonic
xx

Op Code

A-address

B-address

~/!::

%Fn

BBB

d-character
R/W

Op Code

This is always a single character that defines the basic
operation to be performed. Either the M or L operation code can be used with IBM 1301 instructions.

B·Address

The B-address specifies the high-order postion in core
storage of the 10-digit disk-control field. The diskcontrol field is followed by the area of core storage
that is to have data read into or out of by a group
mark with a word mark.
F-3

d-Character

Sector Operations

The d-character is used to specify the operation to
be performed. The d-character R specifies a read operation; the d-character W specifies a write operation.

If only the data portion of a disk record is to be affected, the operation is classified as a secto1' operation
( addresses are not aHected ). Disk records can be read,
written, or scanned during sector operation. The term
sector operation does not mean that a disk record is
confined to a 100-character sector. The data needed
for a record can be written in as many sectors as
needed.

Seek Operation
Seek Disk

Instruction Format.
Mnemonic
SD
LV

Op Code

A-address

M

%FO
%FO

L

B-address
BBB
BBB

d-charactm'
R
R

Note: Because word marks have no meaning for the seek-disk
operation, no load-mode Autocoder mnemonic is provided.
However, the "general" mnemonic (LV) can be used if an
L op code is desired.

Function. The A-address specifies that a seek operation
is to be performed by the access assembly. The Baddress specifies the high-order position in core
storage of the disk-control field. Only the alternatecode pOositiOon and the six-position core-seotor address are used during a seek-disk operation, but the
disk-control field must be 10 positions long.
The selected access assembly moves from the old
setting directly tOo the new setting. The functions,
associated with the direct-seek special feature are
standard in the 1301.

Word Marks. Word marks are not aHected.
Timing. T = .1665 ms + access time. o
0180 ms is maximum access time for a seek.
160 ms is average access time for a seek.
o ms if access mechanism is at track (seek-disk
instruction not given).
N ate: If the access mechanism is already at the disk track that
is to be used, a seek-disk instruction need not be given.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.

B+6

B+7

Read Disk Sector(s)

Instruction Format.
Mnemonic
RD

Op Code
M

A-address

%Fl

B-address
BBB

d-character
R

Function. This instruction causes data to be read from
disk storage into core storage. The digit 1 in the Aaddress (%Fl) specifies that a sector operation is to
be performed. The number of sectors to be read is
specified by the sector-count field. The reading of
the disk is stopped by a grOoup mark with a wOord
mark in core storage and by the end of the sector.
Reading begins at the address contained in the
core-sector address field and continues for the number of sectors specified by the sector-count field.
The core-sector address field is increased by one
for each sector read, and the sector-count field is
reduced by one as a sector is read.
When the sector-count field reaches 000, an endof-operation is indicated to the system. An error
condition results from any disk-sector read or write
operation that begins the operatiOon with a sector
count of 000. Before the first sector is transferred, a
one (1) is subtracted from the sector-count field,
resulting in a sector count of 999. Data would then
be transferred until a group mark with a word mark
is encountered in core storage. Because the sector
count is not zero at this time, the wrong-length record and any-disk condition indicators are turned on.

Example. Seek record 015734 with the access assembly.
Storage locations 0590-0599 (labeled INPUTA) conor 0 015734001 (Figure F -3).
tains

The B-address specifies the high-order position in
core storage of the disk-control field, and the area
in storage reserved for the data read from the disk.

Autocoder

The R in the d-charaoter position signifies a read
operation.

+

~

label

.:
Assembled Instruction:

Figure F-3.

F-4

Seek Disk

M %FO 590 R

Word Marks. A group mark with a word mark must
be one position to the right of the last position reserved in core storage for the disk record. If a group

mark with a word mark is detected before reading
of the record is completed, the wrong-length-record
indicator turns on and reading stops. The position
of the group mark with a word mark can be determined by using the formula:
GMWM =B + Ns(Ls) + 10
B = Address of high-order position of disk
address in core storage.
Ns Number of sectors read.
Ls = Number of characters per sector.

Word Marks. A group mark with a word mark in core
storage terminates the read operation. If the group
mark with a word mark is not in the position to the
right of the last character read from the disk into
core storage, the wrong-length-record and any-disk
condition indicators turn ON.
Timing. T = .0999 ms + 1.7N s + disk rotation. 0
035 ms is maximum time for disk rotation.

=

Timing.
035
18.4
1.7

Note: If a disk is read in a mode different from the one in
which it was written (M. or 1. operation code), a parity error
occurs. The disk-error indicator turns ON.

T = .0999 ms + 1.7Ns + disk rotation. 0
ms is maximum time for disk rotation.
ms is average time for disk rotation.
ms is minimum time for disk rotation.

Address Registers After Operation.

Note: Before reading starts, an automatic comparison is made
of the core-sector address with the sector address on the disk.
This check is made for the first sector on each track involved
in the operation. If they are not the same, the unequal-address
compare indicator turns on, and the data on the disk cannot
be read into storage.

Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg.
B + 11 + NsLs
(no overlay)

A-Add. Reg.
B+6

18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Example. Read one sector from disk storage into core
storage beginning at location 0600 (labeled INPUTA.) In Figure F-4, the disk-control field is in the
ten positions preceding the label (0590-0599).

I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B + 11 + NsLs
(no overlay)

Example. Read a record, with its associated word
marks, from disk storage into the area labeled INPUT (first position of data is at 0600). The diskcontrol field is located in the ten positions preceding
the label (0590-0599); Figure F -5.
Autocoder

~

OPERAND

:'. . :

Label

Assembled Instruction: 1. %Fl 590 R

Figure F-5.

Read Disk Sector with Word Marks

Autocoder

~

OPERAND

:'.

Label

Assembled Instruction:

Figure F -4.

M %Fl

~

590 R

Read Disk with Sector-Count Overlay

Read Disk Sector

Instruction Farrnat.
Mnemonic

Rnco

Instruction Format.
Op Code

A-address

b.

%Fl

B-address
BBB

M

RDCOW
L
(with word marks)

Read Disk Sector(s) with Word Marks

Mnemonic
RDW

Op Code

d-character
R

Function. This is similar to the read-disk-sector instruction except that (1) word marks in the record
area of core storage are removed, and (2) word
marks from the disk record are written in core storage. The length of the sector read from disk storage
into core storage is 90 positions.

A-address
%F5
%F5

B-address
BBB
BBB

d-character
R
R

Function. This operation is similar to the read-disksector( s) instruction except that the number of sectors to be read is controlled by the first three positions in the first record read. The digit 5 in the Aaddress specifies that an overlay operation is to be
performed.
As the first sector is read from disk storage, the
first three digits of the record being read are placed
in the sector-count field of the disk-control field in
core storage. Therefore, if a variable number of secF-5

Disk-Control Fie Id
Core Storage

DOl 2 4 5 0 n n n

-

L...-,---J

Data Area

Any Number ( Greater than 1)
Disk Storage

01245000304
'----..,I,--....!~
Disk-Sector
Address

Core Storage

Disk-Control
Field

Counter

Sector Read

g

0 1 2 4 5 1 0 0 3 0 4 Data from 1st Sector

Read Disk - Sector-Count Overlay Operation

tors is to be read from disk storage, the sectorcount field must contain a value greater than 001
to cause the first sector to be read. The firs,t three
positions of the first sector read contain the number
of additional sectors to be read. Figure F -6 illustrates the operation of an overlay ins,truction, which
causes four sectors of data to be read from disk storage into core storage.
The operation proceeds as a normal read operation with appropriate changes to the core-sector
address and sector-count fields.
Word Marks. If the exact number of positions of data
to be read from disk storage is not known when this
operation is initiated, place the group mark with a
word mark (signalling the end-of-operation) Q!ne
position to the right of the last possible character to
be read using this instruction. If the maximum number of records is not read, the read-into-storage stops
because the end-of-sector is reached and the sectorcount field is all zeros before the group mark with a
word mark is sensed. The wrong-length-record indicator also turns on. The programmer can check core
storage in this case to see if the correct number of
sectors has been read.
This can be accomplished by setting up a counter
in the fourth and, if necessary, fifth position of the
first secto:r of the record. This counter, when the
read operation is completed, is located in the first
and/or second position of the data record in core
storage. These positions can be used to check the
number of sectors in the recQ!rd. These counter posiF-6

Timing. T
0

= .0999 ms + 1.7Ns + disk rotation.

0

35 ms is maximum time for disk rotation.

18.4 ms is average time for disk rotation.
1.7 ms is minimum time fQ!r disk rotatiQ!n.

,....-.----'----...... ~

After First

Figure F -6.

NewSector
Count

tions should equal the number of sectors read.
Therefore, data reading should have stopped at
B + 6 + N sLs. If it did not, then an error did occur
and appropriate action should be taken. If a correct
read has occurred, the error indication can be disgarded.

Notes:
1. Before reading starts, an automatic comparison is made of
the sector address in core storage with the sector address on
the disk. This check is made for the first sector on each track
involved in the operation. If the addresses are not the same,
the unequal-address compare indicator is turned on, and the
data on the disk cannot be read into storage.
2. Special consideration must be given to single-sector records
read in the sector-count overlay mode. When the read operation begins, the first three data characters of the record overlay the sector-count portion of the disk-control field. When
a single-sector operation is specified, 000 is read in and
overlaid in the sector-count positions. The system-detection
circuits only detect a zero sector count when it is produced
by automatically decreasing the sector-count field, however.
After reading the single-sector record, the read operation
does not end. The sector address is increased by one, and the
sector-count field is decreased by one, resulting in a sector
count of 999. Because the sector-count field does not contain all zeros at the end of the operation, the wrong-lengthrecord and any-disk indicators are turned ON.
When an initial sector count of 003 is used and the first
three digits of the first sector read are 000 (the three digits
to be overlaid), the following occurs:

1. The operation does not stop because the sector count
has not been decremented to 000.
2. The sector address has been incremented and the
second sector is read.
3. The special-add operation (used to keep account of
the sector count) decrements the sector count (000)
to 999.
Because the last step (item 3) does not produce a carry
to increment the sector address, an unequal-address compare
occurs on the attempt to read the third sector. The unequaladdress compare does not occur when the initial sector count
is 001, but the read continues until a group mark with a
word mark is sensed in core storage.

Single-sector and multiple-sector read operations cannot be
interspersed (using the MIl:. %F5 BBB R instruction) without
prior knowledge of exactly when each read occurs.
If a disk drive includes single-sector records, a special
routine must be included to verify the validity of the record
read. Before execution of a read operation, a special character that would never be found in the last position of a
record can be moved to the lOOth position of the core-storage
input area. The' wrong-length-record routine can then check
to see whether the counter in the first position of the record
contains a one (1). If it does, the routine looks to see that
the special character has been overlaid in core storage. If it
has been, the record was read in its entirety.

The B-address specifies the high-order position
in core storage of the disk-control field, and is followed by the data to be written Oon the disk.

Address Registers After Operation.
B-Add. Reg.
B +3+N sL s

A-Add. Reg.
B+6

I-Add. Reg.
NSI

Example. Read into core storage a variable number of
sectors that contain the data for a record beginning
at location 0900 (labeled INPUTB). In Figure F -7,
the disk-control fie~d address is located in the ten
positions preceding the label (0890-0899).

t

Autocoder
Label

!

t;0ti~
kic o~ NP u; a- I.O~
! ,

Assembled Instruction:

Figure F -7.

OPERAND

:'

0

. ~

M. %F5 890 R

Read Disk with Sector-Count Overlay

The W in the d-character position signifies a write
operation.

Word ~larks. A group mark with a word mark must
be one position to the right of the last character of
the recOord in core storage. The writing of data stops
when the end-of-record is reached on the disk and a
group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed
before the end of a recOord, the remainder of the
disk record is filled with valid blanks (C-bit), and
the any-disk-cOondition and the wrong-length-record
indicators are turned ON. The position of the group
mark with a word mark can be determined by using
the formula:
GMWM = B + Ns(Ls)

Timing. T = .0999 ms + 1.7Ns + disk rotation. 0
035 ms is maximum time for disk rotation.

Write Disk Sedor(s)

Instruction Format.
Mnemonic
WD

Op Code
M

+ 10

A-address

%Fl

B-address
BBB

d-character
W

Function. This instructiOon causes record data in core
stOorage to be written on a disk recOord. The digit 1
in the A-address (%F1) specifies that a sector operation is to be performed. The number of sectors
to be written is specified by the sector-count field.
The writing of the disk record is stOopped by a group
mark with a word mark in cOore storage and by the
end-of-sector.
Writing begins at the address contained in the
core-sector address field and continues for the number Oof sectors specified by the sector-count field.
The core-sector address field is increased by one
fOor every sector written. The sector-count field is
reduced by one as a sector is written.

18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.
Notes: Before writing starts, an automatic comparison is made
of the core-sector address with the record address on the disk,
This check is made for the first sector on each track involved
in the operation. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in
storage cannot be written on the disk.
If the data in core storage contains characters with word
marks only, the CBA8421 portion of the character is written
on the disk (the word mark is ignored).
A write-disk-check instruction must be performed following a write-disk operation unless an error occurred during the
write operation. No other disk-storage operation can be performed until the check of data written on the disk is accomplished.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B + 11 + NsLs

(no overlay)

When the sector-count field reaches 000, an endof-operatiOon is indicated to the system. An error
condition results from any disk sector read or write
operation that begins the operation with a sector
count of 000. Before the first seetor is transferred, a
one (1) is subtracted from the sector-count field, resulting in a sector count of 999. Data would then be
transferred until a group mark with a word mark is
encountered in core stOorage. Because the sector
count is not zero at this time, the wrong-Iengthrecord and any-disk-condition indicators are turned

Example. Write a disk record (one sector) from the
data in the area labeled INPUTA (first position if
data is at 06(0). In Figure F -8, the disk-control field
is located in the ten positions preceding the label
( 0590-0599 ) .

ON.

Figure F-8.

Autocoder
OPERAND

~.
Assembled Instruction:

M. %Fl

~

590 W

Write Disk Sector
F-7

Write Disk Sector{s) with Word Marks

Write Disk with Sector-Count Overlay

Instruction Format.
Mnemonic
WDW

Instruction Format.

Op Code

A-address

1.

%Fl

B-address
BBB

d-character
W

Function. This instruction is similar to' the write-disksectDr instructiDn, except that word marks set with
the data in core storage are recDrded on the disk
recDrd. This mode of Dperation permits writing programs on disk records for system use. Ninety pDsitiDns Df data with word marks are recorded on each
sectDr during the write operation.
Word Marks. A grO'up mark with a word mark one
position to the right O'f the last character of the
recDrd in core storage terminates the write operation.
If the group mark with a word mark is sensed before
the end O'f a recDrd, the remainder of the disk record is filled with valid blanks (C-bit), and the anydisk-condition and the wrong-length-record indicators are turned ON.
Timing. T = .0999 ms + 1.7Ns + disk rotation. ~
~ 35 ms is maximum time for disk rotation.

Mnemonic Op Code
WDCO
M
WDCOW
L
(with word ma;ks)

Notes: The programmer should be certain that all records on a
specific track are written in the same mode (M or L. operation code). Otherwise, track operations are not possible.
Before writing starts, an automatic comparison is made of
the record address in storage with the record address on the
disk. If the addresses are not the same, the unequal-addresscompare indicator is turned on, and the data in storage cannot
be written on the disk. A write-disk-check operation must be
performed following this instruction.

d-character
W
W

Function. This operation is similar to' the write-disk
sector instruction except that the sector-count field
of the disk-control field is automatically decreased
by O'ne and then written in the first three data positions of the first sector written. The digit 5 in the Aaddress specifies that an overlay operation is to' be
performed.
Therefore, the sector-count field in core storage
should cO'ntain the number of sectors to' be written.
The first three data positions of the first sector written contain the number of additiDnal sectors that
were written. Figure F-10 iUustrates the operation of
an overlay instructiDn, which causes four sectors of
data to' be written from core storage onto disk storage.

Word Nlarks. A group mark with a word mark should
be placed one position to the right of the last sectDr
to be written. The group mark with a word mark
must be placed at B + 7 + N sLs to avoid a false
wrDng-Iength-record indication.

Disk-Control Fie Id
Counter

Address Registers After Operation.
A-Add. Reg.
B +6

B-address
BBB
BBB

%F5
%F5

The Dperation proceeds as a normal write operation with appropriate changes to the core-sector
address and sector-count fields.

18.4 ms is average time for disk rO'tation.
1.7 ms is minimum time fDr disk rotation.

I-Add. Reg.
NSI

A-address

r.L,

B-Add. Reg.
B + 11 + NsLs
(no overlay)

Core Storage

Example. Write a disk record, with word marks, frO'm
the data in the area labeled OUTPUT (first ppsition
of da,ta is 0600). In Figure F -9, the disk-control field
is located in the ten pDsitions preceding the label
( 0590-0599 ) .

Disk Storage

o0 12 4 5 0 0 0 4 0 4
~

Data Area

Sector-Count Field

o 1 2450
I

Data
I

Disk-Sector
Address
Core Storage
Disk-Control Field
After First

Autocoder
OPERAND

:'.

Assembled Instruction:

Figure F-9.
F-8

1. %Fl

Sector Write

DO 1 2 4 5 1 0030 4 Data on 1st Sector
L,--J
SectorCount
Field

. ~

590 W

Write Disk Sector with Word Marks

Figure F-IO.

Write Disk - Sector-Count Overlay Operation

Timing. T = .0999 ms + 1.7Ns + disk rotation. °
°35 ms is maximum time for disk rotation.

Word Marks. A group mark with a word mark must
appear one position to the right of the disk data
in core storage.

18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Timing. T = .0999 ms + 1.7Ns + disk rotation time. o
035 ms is maximum time for disk rotation.

Note: Before writing starts, an automatic comparison is made of
the record address in core storage with the record address on
the disk. This check is made before the first sector on each
track involved in the operation. If the addresses are not the
same, the unequal-address-compare indicator is turned on,
and the data in core storage cannot be written in disk storage.

18.4 ms is average time for disk rotation.
1.7 ms is minimum time fOT disk rotation.
Notes: If the disk address in core storage is not the same as the
address on the record, the unequal-address compare indicator
turns on. If any of the characters on the disk record do not
agree with the characters in core storage, the disk-error indicator turns on.
A write-disk-check operation can be executed after a read
operation if a check on the information read is desired. The
operation is performed exactly the same as a write-disk-checkoperation following a write operation.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B +8+N s L s

Example. Write a number of sectors for a record on
disk storage that contains data beginning at location
0900 (labeled OUTPUT). In Figure F-11, the diskcontrol field is located in the ten positions preceding
the label (0890-0899).

Address Registers After Operation.
I-Add. Reg.
NSI

Autocoder
OPERAND

label

:'

Assembled Instruction:

Figure F-ll.

A-Add. Reg.
B-Add. Reg.
Depends on previous operation

~ Example.

!:! %FS 890 W

Write Disk with Sector-Count Overlay

Compare the disk record with a record in
core-storage area labeled OUTPTC (beginning at
07(0). In Figure F -12, the disk-control field is located
in the ten positions preceding the label (0690-0699).

Autocoder
OPERAND

:~
Assembled Instruction:

Write Disk Check
Figure F-12.

!:A %F3

~

690 W

Write Disk Check

Instruction Format.
Mnemonic Op Code
WDC
M
WDCW
L
(wih word marks)

A-address
%F3
%F3

B-address
BBB
BBB

d-character

W
W

Function. This instruction causes a comparison, character-by-character, of the data in core storage with
the data just written on the disk. The instruction
must be executed after a write operation and before
any other disk-storage operation is initiated.

Address Operations
The ability to read and/or alter disk addresses is conditioned by certain mM 1440-1301 instructions. These
instructions contain the term Address in their description.

If the proper instruction is not used when trying to
perform an address operation, the system stops and the
RAMAC light on the system console turns on.

The digit 3 in the A-address specifies that a
is to be performed. Either an bor M operation code is used, depending on how the
dat; was recorded in disk storage.

WRITE DISK CHECK

The B-address specifies the area in core storage
that contains the disk-control field and the data recorded on the disk.

Read Disk Track Sector with Addresses

The sector-address and sector-count fields of the
sector-control word must be restored to the values
present at the beginning of the write operation.

Mnemonic Op Code
RDT
M
RDTW
L
(with word marks)

Instruction Format.
A-address
%F6
%F6

B-address
BBB
BBB

d-character
R
R
F-9

Function. This instruction causes the conte:nts of an
entire disk track (addresses and data) to be read
in the mode specified by the operation code M or L.
If the L operation code is used, the track is read into
storage with its associated word marks.
The CDre-sector address must correspond tD any
'One of the sector addresses 'On the track. The disk
track is scanned fDr an address equal tD the sector
address in core storage. The disk-track reading begins when the first track-index pulse foll'Owing a
successful address-compare operation is sensed. If
the result of the address-compare 'Operation is unequal, the unequal-address-compare indicator turns
ON. All twenty sectDrs 'On the track, including the
disk-sector addresses, are read into core storage.
The sector-count field of the disk address must be
set at 020 before the operation begins.
The core-sector address field is not modified by
plus-one during this operation. To keep track of
the number 'Of sectors read, however, the sectorc'Ount field is modified by minus-one for each sector
read.

Word "Nlarks. A group mark with a wDrd mark must
be placed one position to the right of the last character read intD CDre storage. This positiDn can be
fDund by adding 2130 tD the B-address fDr 'Operations
performed with the M DperatiDn code, and 1930 fDr
DperatiDns perfDrmed with the L operation code.
Timing. T = 33.3999 ms + disk rotation.(t
(t 35 ms is maximum time for disk rotation.
18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.
Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg
B + 11 + 2120 (M Op code)
or
B + 11 + 1920 (L. Op code)

A-Add. Reg.
B +9

Example. Read disk track 17550, with its associated
word marks, into the core-storage area labeled
RDTSAD (first position of data is at 0800). In Figure
F -13, the disk-control field is located in the ten
positions preceding the label (0790-0799).
Autocoder

~

OPERAND

:'.

Label

Assembled Instruction:

Figure F-13.

F-IO

~

%F6 790 R

Read Disk Track Sectors with Addresses

. ~

Write Disk Track Sectors with Addresses

Instruction Format.
Mnemonic Op Code
WDT
M
WDTW
(with word marks)

r

A-address
%F6
%F6

B-address

BBB
BBB

d-character
W
W

Function. This instruction causes the record data and
addresses in core storage to be written on a disk
track in the mode specified by the operation code
(M or .1). If the L operation code is used to write
the track, word marks in the record area of core
storage are written on the track.
The core-sector address must correspond to any
one of the sector addresses Dn the track. The disk
track is scanned for an address equal to the seotor
address in core storage. Writing the disk track begins when the track-index pulse is sensed (signaling
first sector on track), if the address-compare operation results in an equal condition. If the result 'Of
the address-compare operation is unequal, the unequal-address-compare indicator turns on. All 20
sectors on the track, including the disk sector addresses, are written on disk storage. The sector-count
field of the disk-cDntrol field must be set at 020
before the operatiDn begins.
The core-sector address field is nDt modified by
plus-one during this operation. To keep track of
the number of sectDrs written, however, the sectorCDunt field is mDdified by a minus fDr each sector
read.

Word Marks. A group mark with a word mark must
be orne position to the right of the last character
written on disk storage. This position can be found
by adding 2130 to the B-address for operations performed with the M operation code, and 1930 for
operations performed with the ~ operation code.
Timing. T = 33.3999 ms + disk rotation.(t
(t 35 ms is maximum time for disk rotation.
18.4 ms is average time for disk r'Otation.
1.7 ms is minimum time for disk rotation.
Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+9

B-Add. Reg.
B + 11 + 2120 (M Op code)
or
B + 11 + 1920 (!:.Op code)

Example. Write a disk track (with address) from the
data in the area labeled WRTSAD (first position 'Of

data is at 1000). In Figure F-14, the disk-control
field is located in the ten positions preceding the
label (0990-0999).
Autocoder
OPERAND

Label

:'

Assembled Instruction.:

Figure F-14.

~

M. %F6 990 W

Write Disk Track Sectors with Addresses

An access arm becomes inoperable if the logic
safety circuit detects improper operation. A customer
engineer can also render an arm inoperable. In either
instance, this indicator turns on, at which time the
operation is terminated and the next sequential instruction is started. At the same time, the RAMAC light
turns on.
This indicator also turns on if power is not supplied
to the disk-storage unit addressed, or if certain datasafety conditions occur.
The indicator is hlrned off during the I -phase portion of the next disk-storage operation.

Branch if Indicator On

The BRANCH IF INDICATOR ON instruction tests the indicators that might be set on during a disk-storage
operation. When a disk-storage instruction occurs in
the program, it turns off all disk-storage indicators
that were turned on by a previous disk-storage operation. The execution of a disk-storage instruction can
result in a disk-storage indicator being turned on.

Instruction Format.
Mnemonic

BIN

Op Code
B

I-address

III

d-character
d

Function. The d-character specifies the indicator tested.
If the indicator is on, the next instruction is taken
from/ the I -address. If the indicator is off, the next
sequential instruction is taken. Figure F-15 shows
symbols that are valid d-characters, and the indicators they test. More than one indicator can be
turned on as the result of a disk-storage operation.
Because the program continues in sequence, a
BRANCH IF INDICATOR ON instruction should immediately follow any disk instruction.
Indicators

Access Inoperable. This indicator turns on if either
an invalid (not installed) arm or disk-storage unit is
addressed.
d - Character

N
V

W
X
y

\
Figure F-15.

Indicator
Access Inoperable
Validity Error
Wrong - Length Record
Unequa I - Address Compare
Any Disk Condition
Access Busy

d-Characters for
Instruction

BRANCH IF INDICATOR ON

Disk Error. This indicator turns on if even-bit
parity occurs during reading or writing on a disk.
Another condition that turns the indicator on is a
data unequal-compare condition during a write-check
operation. In this case the operation is completed.
The indicator is turned off during the I-phase portion of the next disk-storage operation.

vVl'ong-Length Record. This indicator turns on if
the following conditions are not satisfied: a group
mark with a word mark in core storage is sensed at
the same time as an end of sector and an all-zero condition in the sector-control field occurs. It also turns
on during a scan operation if the search argument is
longer than, or equal to, a sector length. Detection of
a wrong-length record terminates the operation and
starts the next sequential instruction.
The indicator is turned off during the I-phase portion of the next disk-storage operation.

Unequal-Address Compare. An unequal-addresscompare condition occurs during the automatic comparison of the sector address in storage with the sector
address on the disk. This unequal condition turns the
unequal-address-compare indicator on after the disk
track is searched and the track-index pulse is sensed
twice. This is an automatic check and does not have
to be programmed. During multiple-sector operations,
the indicator also turns on after the data transfer begins when the next sector address to be compared does
not compare.
The internal circuitry is the same as that used by
the COMPARE instruction. In programming, be careful
that a normal-compare operation and the addresscompare operation do not interfere with the settings
of the equal-, low-, and high-compare indicators set
by a previous instruction. Detection of an unequaladdress-compare terminates the operation and starts
the next sequential instruction.
F-ll

The indicator is turned OFF during the I-phase portion of the next disk-storage operation.

Access Busy. This indicator is turned off by every
disk storage command. If the access assembly is in
motion, the indicator is turned on and the instruction
is not executed.

Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T = .0777 ms.
Note: After each disk-unit read or write operation, the program must test for error indications to prevent processing of
unusable data.

A branch-access-busy command tests the indicator.
If on, this indicates that the previous disk-storage
instruction was not executed and should be repeated.

Address Registers After Operation.

An indicator is provided for each drive attached to
the system.

No Branch:
NSI
Branch (without indexing): NSI
Branch (with indexing):
NSI

The following examples illustrate the access-busy
operation.

Remarks

Operation
Start

Begins program execution.

Seek Access 0

Turns indicator (0) off
Test for access motion - no motion
Indicator (0) remains off
Instruction executed.

Seek Access 2

Turns indicator (2) off
Test for access motion - no motion
Indicator (2) remains off
Instruction executed.

Branch Access Busy

No branch

Any-Disk Condition. This indicator turns on if any
of the other disk-storage indicators are on. It can be
tested by the program, and if it is off, the program
can proceed. If this indicator is on, check the other
indicators to determine where corrective measures
should be taken.

I-Add. Reg. A-Add. Reg. B-Add. Reg.

F-12

dbb
blank
NSI

Example. At the completion of a disk-read operation,
test the any-disk-unit error-condition indicator. If it
'is OFF, continue in the main program. If it is ON,
branch to the routine labeled DISKER (0690) to
determine the type of error condition. This tests aill
disk-unit indicators and branches to the error routine of the respective indicator that is ON. In Figure
F-16, the routines are labeled: ACINOP (0690), UNADCL
( 0695) WRLENR (0700), RWPARC (0705).
Autocoder
t= ~perat~121

Label
II

OPERAND
25

50

I

IS,I.N.

ID,' 5 K E.R. •.Y,

I> I.~.t<. E..R:

IAo.ut

ACINOP,N
IJNADeL.,x,
wltL..E..N.Rt W

I

:
:

IB.I N
IS.I.N,
BI.N,

55

40

Il,WP.A,R,C., V

y

Assembled Instruction: 480

.!

690

690

.!
.!
.!

740 N
790 X

695
700
705

Figure F-16.

45

50

--

I

This indicator is turned off during the I-phase portion of the next disk-storage operation.

"Vord Alarks. Word marks are not affected.

BI
BI
BI

890

W

B 990

V

Branch If Indicator On Testing Routine

IBM 1301 Disk-Storage Ti'ming
The QrganizatiQn of data in disk stQrage and the
methQd of processing data affect the seek time fQr a
given Qperation and alsO' affect the total system
thrQughput.

Access Motion Time

The access mechanism requires time to mQve frQm Qne
cylinder to' another. The time required is related to
hQW far the mechanism mQves within ceTtain machinedefined limits. TO' calculate how much time is required,
consider the 250 cylinders of a mQdule as being organized intO' five areas of 50 cylinders per area
(Figure F -17). Also consider each area Qf cylinders
further divided into six sectiQns (Figure F-17). Access
motiQn time fQr anyone access can be determined by
one of the following statements:

1. TO' mQve the access mechanism within a section of
any Qne area requires 50 millisecQnds.
2. TO' mQve the access mechanism from one section
to another section of an area requires 120 milliseconds.
3. TO' mQve the access mechanism from one area to
another area (crossing an area boundary) requires
180 milliseconds.
For example, to move the access mechanism from track
000000 to track 039999 requires 120 milliseconds of
access motion time. To move the access mechanism
from track 039999 to track 040000 requires 180 milliseconds of time.

area of the track is located. Rotational-delay time is
the time required for the disk to position the desired
record at the selected read/write head after an insbuction has been initiated.
Maximum machine rQtational-delay time is 33.3
milliseconds; average rotational-delay time is 16.7
milliseconds. Data-access time includes the combination of access motion time and rotational-delay time.
Figure F -18 is a cQmplete chart of access motion time.
Access time from one sector address to another can
be determined frQm Figure F -19. The point of intersection of two lines on a coded area of the figure, one
drawn horizontally frQm a FROM sectQr address and
one drawn vertically frQm a TO sector address, indicates access time in milliseconds.
Sector Processing Time

The times required to execute a I-sector and a 3-sector
opera tion are:
Seek
Average Rotational Delay
Read (Includes Module Select Time-1.66 ms)
Rotational Delay
Write (Includes Module Select Time-1.66 ms)
Rotational De]ay
'Write Disk Check (Includes Module Select Time-1.66 ms)

If PQssible, keep processing within the available
rotational time. If nQt, the cycle is increased by one
33.3 ms revolution for each extension of available
processing time.
Processing time between a write operation and a
write-disk-check operation can be used for such processing as updating control totals and/or arranging
fields of printing.

Rotational-Delay Time
I-Sector Operation

A disk-storage read or write operation includes a timing factor called rotational-delay time. An index point
for each circular disk track denotes the beginning and
end of a track. After a cylinder of tracks has been
accessed and the proper read/write head for a specific
track of the cylinder is cQnditioned, actual reading or
writing must wait until the specific data or data
AREA

160.0
16.7
3.4
30.0
3.4
30.0
3.4
246.9

ms
ms
ms
ms
ms
ms
ms
ms

3-Sector Operation
160.0
16.7
6.7
26.7
6.7
26.7
6.7
250.2

ms
ms
ms
ms
ms
ms
ms
ms

CYLINDER

A

0-49

8

50-99

C

100-149

D

150-199

E

200-249

Figure F -17.

44 45

19\20--24\25
Section 1

Section 2

Section 3

Section 4

Section 5

1

49
Section 6

Sections within a Cylinder Area

Access Motion Areas and Sections
F-13

1

AREA A
Cylinders
0-49
Sector Addresses
000000 - 039999

AREA B
Cylinders
50-99
Sector Addresses
040000 - 079999

AREA C
Cylinders
100-149
Sector Addresses
080000 - 119999

AREA 0
Cylinders
150- 199
Sector Addresses
120000 - 159999

AREA E
Cylinders
200 -249
Sector Addresses
160000- 199999

000000 - 007999

040000 - 047999

080000 - 087999

120000 - 127999

160000- 167999

2

008000 - 0 15999

048000 - 055999

088000 - 095999

128000 - 135999

168000 - 175999

3

016000 - 0 19999

056000 - 059999

096000 - 099999

136000 - 139999

176000 - 179999

4

020000 - 027999

060000 - 067999

100000 - 107999

140000- 147999

180000 - 187999

5

028000 - 035999

068000 - 075999

108000 - 115999

148000- 155999

188000 - 195999

6

036000 - 039999

076000 - 079999

116000 - 119999

156000- 159999

196000 - 199999

SECTIONS

NOTE: Numbers shown above are the sector addresses of the lowest - and highest -numbered sector addresses
in each section of each area.
Examples: Area A, section 1 contains 8000 sector addresses (000000 -007999)
Area A, section 3 contains 4000 sector addresses (016000 - 0 19999)
Access Motion Time is calculated as follows:
1. Movement between sector addresses in the same section of an area is 50 mi lliseconds.
2. Movement between sector addresses not in the same section of an area requires:
120 milliseconds when movement is within the same area
(Between 000000 and 015000; 020000 and 036000)
180 milliseconds when movement is between two of the five aretls
(Between 015000 and 055000; 108000 and 1680(0)

Figure F-18.

F-14

Access Motion Time

To Sector Address

000000 - 007999
Q08000- 0 15999
016000 - 0 19999
020000 - 027999
028000 - 035999
036000 - 039999
040000 - 047999
048000 - 055999
056000 - 059999
060000 - 067999
068000 - 075999
076000 -.079999
1------080000 - 087999
088000 - 095999
096000 - 099999
100000 - 107999
108000 - 115999
116000 - 119999
120000 _ 127999 \ - - - - - - - + - - - - 128000 - 135999
136000 - 139999
140000 - 147999
148000 - 155999
156000-159999
~---------1-----------+--------~
160000 - 167999
168000 -175999
176000-179999
180000 - 187999
188000 - 195999
196000-1999991--_ _ _ _+-_ _ _ _+-_ _ _ _+-_ _ __
Sector
Area

•

120 Mi II iseconds

o

180 Milliseconds

WJ

Figure F-19.

50 Milliseconds

Note: Access time within one cylinder
is 0 milliseconds.

Sector-Address-to-Sector-Address Access Time

F-15

IBM 1311 Disk Storage Drive

The IDJ\I 1311 Disk Storage Dlive (Figure F -20) provides the 1440 user with fast, efficient disk storage.
As many as five IDYl 1311 drives can be attached to a
1440 system, and each drive is equipped with an interchangeable disk pack capable of storing from 2 to 2.9
million alphameric characters. Refer to IBM 1311 Disk
Storage Drive, Form A24-3086.
The first disk-storage drive attached to the 1440
system must be a 1311 Modell; additional dlives are
1311 Model 2.

Alternate
Code

Core-Sector Address

Sector Count

x

xxxxxx

xxx

000000 - 099, 999

000 - 999

* or
0- 8 {even}

F igure F-21.

Disk-Control Field

The various parts of the disk-control field are: alternate code, disk-sector address, and sector count (Figure F-21).

Disk-Control Field

Alterna te Code

A 10-digit disk-control field specifies the disk-storage
area that is involved in the data transfer. This diskcontrol field is located in core storage, and begins at
the core-storage address specified by the disk-storage
instruction B-address. The data involved in the transfer
follows the disk-control field ( no data area is required
for a seek-disk operation).

If an asterisk (0) is used in this position, the disk-sector
addresses of the disk pack correspond to the address
range for th e disk drive on which the disk pack is
placed.
A digi t in the alternate-code position can be used to
select the disk dlive by the instruction. It allows drives
with the same range of sector addresses to be used by
the program during the same lUn.
When all disk drives have different sector addresses,
an as terisk (0) instead of a numeric code can be placed
in the alterna te-code position if the address range of
the disk packs and disk drive are the same.
Both word marks and zone bits can be placed in the
alternate code position. The word marks and zone bits
do not affect the operation and are not lost. If an A-bit
is present, a 1301 operation is specified. If a B-bit is
present, it is considered an 0. If 1301 disk storage units
are a ttached, refer to IBM 1301 Disk Stomge section.

Disk-Sector Address

Figure F -20.
F-16

IBM

1311 Disk Storage Drive, Model 1

The disk-sector address contains th e 6-digit address of
the first sector to b e operated upon. Before any disk
operation is performed, an automatic comparison is
made of th e sector address in core storage with the
disk-sector addresses on the specific track. If an equal
comparison is made, the operation continues. If no
equal comparison is made, the unequal-address compare indicator turns on, and th e disk operation is not
perfonned.
When sector operations are perfonned, the disksector address is automatically increased by 1 immedi-

ately following the data transfer of each sector, except
under these conditions:

cylinder on the disk pack. This instruction is followed
by a read or write operation.

1. track operation being perfonned.

The data on the disk records is not acted on during
this seek operation.

2. sector-count field reaches the value of 000
3. wrong length record.
When any of these conditions occurs, the disk-sector
address is not increased by 1.
Notes:
1. The high-order position of the 6-digit disk-sector address
must contain a zero.
2. The other five position of the 6-digit disk-sector address
may contain any valid character that has a numeric-bit
value of zero through nine.
3. Zone bits over the disk-sector address positions are lost
through the adder if any address modification takes place.
4. Word marks over the disk-sector address positions do not
affect the operation, but are lost during any operation that
involves address modification.

Sector Count

This field indicates the number of sectors to be operated upon during the disk operation. The sector-count
field is not used during seek operations. During the
transfer of data to or from disk storage, the sectorcount field is automatically decreased by 1 immediately
following a successful address comparison so that the
sector-count field reflects the number of successful address comparisons.

If a sector count of 000 is used when initiating a diskread Qr write operation, an eTror condition occurs. Before the first sector is transferred, a 1 is subtracted from the sector-count field. In this case, the
result would be 999. Therefore, data would be transferred until a group mark with a word mark is encountered in core storage. Because the sector count is not
zero at this time, the wrong length record and any-disk
condition indicators would be turned on.
~ector

Notes:
1. Word marks cannot be placed over the sector-count field
units position. Word marks in any other position do not affect
the operation, but are lost during any operation that affects
sector-count modification.
2. Zone bits are always removed from all three positions of the
sector-count field.

Basic Disk Operations
The four basic operations perfonned by the 1311 are
seek, read, write, and write disk check.

The seek operation positions the access arms over
the specified cylinder. The B-address position of the
instruction contains the core-storage address of the
disk-control field and it is this field that specifies the
proper cylinder plus other pertinent information.
Read Operation

The read operation is initiated by one of the three different types of READ DISK instructions, and transfers data
from disk storage to a specified area in core storage.
(The three types of instructions are dis'cussed following
the write-QperatiQn description.) The specified diskstorage area involved in the transfer is partially identified by the previous seek operation, and the rest of the
area is fully identified before the data transfer takes
place. The identification is accomplished by comparing
the sector addresses on the disk with the sector address
in core storage. The sector address in core stQrage is
part of the disk-control field, and the B-address position of the READ DISK instruction contains the core-storage address of the disk-control field. The data from the
disk is placed in a core-storage area located immediately to' the right of the disk-control field.
Write Operation

The write operation is initiated by one of the three
different types of WRITE DISK instructions, and transfers
data frO'm a specified core-storage area into disk storage. (The three types of instructions are discussed following this operation descriptiO'n.) The specific diskstorage area involved in the transfer is partially identified by the previous seek operation, and the rest of the
area is fully identified befO're the data transfer takes
place. The identification is accomplished by comparing
the sector addresses Qn the disk with the sector address
in ~ore storage. The sector address in core storage is
part of the disk-contrQl field, and the B-address portion
of the WRITE DISK instruction cO'ntains the core-storage
address of the disk-control field. The data that is to be
transferred to the disk is stored in a core-storage area
located immediately to the right of the disk-control
field.
Types of Read and Write Operations

Seek Operation

The seek operation is initiated by a SEEK DISK instruction, which directs the read/write heads to the proper

Each read or write operation can O'perate in three different ways, or modes: sector, track sectors with addresses, and sector-overlay modes.
F-17

Sector Mode. Read and write operatinns in the sectnr
mnde transfer data, but dO' nnt transfer disk-sectnr
addresses. The sectnr mode is the normal mode of
nperation. The number nf sectnrs to' be handled during nne operatinn is specified by the sector-CDunt
pnrtinn O'f the disk-cO'ntrol field. Each sectnr is transferred only after a cnrrect comparisDn of the sectnr
address in the core-storage disk-cnntrnl field is made
with the sectnr address on the disk. For more detailed informatinn, refer to' the specific instructinn.
Track-Sectors with Addresses Mode. This mO'de O'f
operation transfers both the data and the disk-sectnr
addresses to and from the disk, Oone complete track
at a time. The mode Df operatinn makes it possible to
change the previnusly recnrded sectnr addresses. -The
operatiDn requires that the sectOor-address portion nf
the disk-cnntrol field contain the address nf one O'f
the sectors within the specified track, and the sectorcount portion Oof the disk-cnntrol field must cO'ntain
020 (20 sectors will be transferred). The transfer can
only occur after a correct cnmparison nf the sectnr
address in the core-storage disk-contrnl field with a
sectnr address on the specified track. For mnre detailed informatinn, refer to' the specific instructinn.
Sector-Count Overlay Mode. This mnde nf nperatiOon

F-18

allnws a portion nf the data recnrd itself to specify
the number of sectnrs to' be involved in the data
transfer. The disk-sectnr addresses are nOot involved
in the transfer. This mode of operatinn permits better
disk stOorage utilization for sequential applicatiOons
involving variable-size records. For more detailed
information, refer to' the specific instruction.

Reading and Writing with Word Marks lttl ode. WOord
mark can be transferred with the data during all
reading and writing Ooperations by an -1. Op code
instead of an M Op code. When word marks are
written on the disk, the data is written in an 8-bit
BCD cnding.
Write Disk Check

The write-disk-check nperatinn causes the data in the
specified disk area to' be compared against the comparable data in the specified core-storage area. When
the disk data does not cnmpare, bit-by-bit and character-by-character, with the code-stnrage data, a diskerror indicator is set ON. This operatiOon normally takes
the form O'f a WRITE DISK CHECK instruction, which must
follow each write operatiOon. The write-disk-check nperation compares the data written in disk storage with
the O'riginal source data in core storage.

storage utilization for sequential applications involving variable-size records. The record itself
specifies the number of sectors involved.

IBM 1311 Instruction Format and
Instructions
Mnemonic
xx

017 Code

A-address

B-address

d-character

~/!:.

%Fn

BBB

R/W

Instructions applying to the 1311 cannot be successfully chained.
Op Code

This is always a single character that defines the basic
operation to be performed. Either the M or L operation code can be used with IBM 1311 instructions.

B-Address

The B-address specifies the high-order position in core
storage of the 10-digit disk-control field. The disk-control field is followed by the area of core storage that is
to have data read into or out of by the disk-storage
drive. The data area must be followed by a group mark
with a word mark.
d-Character

When the MOp-code is used, characters are written
or read in the 7-bit mode (CBA 8421). The LOp-code
causes characters to be read or written in 8-bit mode
( CBA 8421 M). The 8-bit mode provides for a possible
word mark with the character being written on, or read
from, the disk record.
A-Address

%Fn signals that the disk unit is to be selected; n
represents the digit used to perform various operations.
n-Position

Operation

o

Seek a disk record.

1

Sector-Reading or writing characters from the
number of sectors specified by the sector-count field
is stopped when a group mark with a word mark,
or the end-of-sector is sensed. If a group mark with
a word mark is sensed before the reading of the
sector( s) of the track is completed, reading stops
and the wrong length record and any-disk condition
indicators turn ON. If the group mark with a word
mark is sensed before the writing of a record on a
disk is completed and it is before the end of a record, the remainder of the disk record is filled with
valid blanks (C-bit), and the any-disk condition
and wrong length record indicators are turned ON.

6

3

5

Disk Track-Sector with Addresses-Allows the reading or writing of a full track (20 sectors) including sector addresses. To perform this operation,
the write-address key-light on disk-storage unit 0
must be on. When the write-address light is ON,
write-sector operations cannot be performed.
Write Disk-Cheek-Data written on a disk in a
preceding write operation is read from the disk and
compared, character-by-character, with the data in
core storage. A WRITE DISK CHECK must be given
following a write operation, unless an error occurred
during the write operation.
A write-disk-check operation can be executed
after a read operation if a check on the information
read is desired. The operation is performed exactly
the same as a write-disk-check operation following
a write operation.
Sector-Count Overlay-Allows for records of a
variable number of sectors (more than one) to be
read or written with a single instruction. The number of sectors to be read/written is controlled by
the multiple sector-count field. This control field is
in the first three data positions of the first sector of
the disk record. This technique permits better disk-

The d-character is used to specify the operation to be
performed.

Seek Operation
Seek Disk

Instruction Format.
Mnemonic Op Code
SD
M
LV
(with word marks)

L

A-address

B-address

d-character

%FO
%FO

BBB
BBB

R
R

Note: Because word marks have no meaning for the seek-disk
operation, no load-mode Autocoder mnemonic is provided.
However, the "general" mnemonic (LV) can be used if an
LOp-code is desired.

Function. The A-address specifies that a seek operation
is to be performed by the access assembly. The Baddress specifies the high-order position in core storage of at least the first six positions of the diskcontrol field. Only the alternate-code position and
the first five positions of the core-sector address are
used during a seek-disk operation.
The selected access assembly is first withdrawn
from the disks to the home position, and then is
moved toward the center of the disk pack. Movement of the mechanism stops when the correct
cylinder is reached.
Figure F -22 shows a functional schematic of a
seek-disk operation.

\Vol'd Marks. Word marks are not affected.
Timing. T = .1887 ms + access time. ~
~ 400 ms is maximum access time for a seek.
250 ms is average access time for a seek.
Note: If the access mechanism is already at the disk track that
is to be used, a SEEK DISK instruction need not be given.
F-19

Tum Off All
Disk-Storage
Indicotors

Alternote Code
To Drive-Address
Register

Note I

Cylinder Number
From Disk-Sector
Address To Multiple-Use Counter

Note 2

No

Turn On Access
Inoperable and
Any-Disk Condition
Indicators
No

Processing Interlock
Released

Turn On AccessBusy and Any-Disk
Condition Indicators

Return Access Assembly
To Home Position

Processing Interlock
Released

Move Access Assembly
One Cylinder

Subtract Two
From MultiDle
Use Counter

Note 1.

Drive address is derived from the 8, 4
and 2 bits of the second address-digit,
if the a Itemate-code posi tion has a
B-bit.

Note 2.

Cylinder number is taken from:
I-bit of the second address-digit
8, 4, 2, and I-bits of the third
address-digit, and 8, 4, and 2bits of the fourth address-digit.

Note 3.

Subtroction does not take place
when seeking to cylinder zero.

No

Seek Completed

To Main Program

Figure F-22.
F-20

Seek-Disk Functional Schematic

Note 3

Address Registers After Operation.
A-Add. Reg.
B+6

I-Add. Reg.
NSI

B-Add. Reg.
B+7

Example. Seek record 015734 with the access assembly.
Storage locations 0590-0599 (labeled INPUTA) contains 0015734001 (Figure F -23).
Autocoder

OPERAND

Label

:~ . ~

.:
Assembled Instruction: ~ %FO 590 R

Figure F -23.

Seek Disk

tion results from any disk sector read or write operation that begins the operation with a sector count of
000. Before the first sector is transferred, a one (1) is
subtracted from the sector-count field, resulting in a
sector count of 999. Data would then be transferred
until a group mark with a word mark is encountered
in core storage. Because the sector count is not zero
at this time, the wrong length record and any-disk
condition indicators are turned ON.
The B-address specifies the high-order pOSition in
core storage of the disk-control field, and the area in
storage resenred for the data read from the disk.
The R in the d-character position signifies a read
operation.
Refer to Figure F -24 for a functional schematic of
a read operation.

Sector Operations
If only the data portion of a disk record is to be affected, the operation is classified as a sector operation
(addresses are not affected). Disk records can be read,
written, or scanned during sector operation. The term
sector operation does not mean that a disk record is
confined to a loo-character sector. The data needed for
a record can be written in as many sectors as needed.

Word Marks. A group mark with a word mark must be
one position to the right of the last position resenred
in core storage for the disk record. If a group mark
with a word mark is detected before reading of the
record is completed, the wrong-length-record indicator turns on and reading stops. The position of the
group mark with a work mark can be determined by
using the formula:
GMWM

= B + Ns(Ls) + 10

B = Address of high-order position of disk
address in core storage

Read Disk Sector(s)

N s = Number of sectors read

Instruction Format.

Ls = Number of characters per sector

Mnemonic
RD

Op Code

A-address

M

%Fl

B-address
BBB

d-clzaracfer
R

Function. This instruction causes data to be read from
disk storage into core storage. The digit 1 in the
A-address (%Fl) specifies that a sector operation is
to be performed. The number of sectors to be read is
specified by the sector-count field. The reading of
the disk is stopped by a group mark with a word
mark in core storage and by the end of the sector.
Reading begins at the address contained in the
core-sector address field and continues for the number of sectors specified by the sector-count field.
The core-sector address field is increased by one
for each sector read, and the sector-count field is
reduced by one as a sector is read.
When the sector-count field reaches 000, an end of
operation is indicated to the system. An error condi-

Timing. T = .0999 ms + 2N s + disk rotation. 0
042 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.
Note: Before reading starts, an automatic comparison is made
of the core-sector address with the sector address on the disk.
This check is made for each sector read. If they are not the
same, the unequal-address compare indicator turns ON, and
the data on the disk cannot be read into storage.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B + 11 + NsLs

Example. Read one sector from disk storage into
core storage beginning at location 0600 (labeled
F-21

Read-Disk-Sector (
~J'r---------i ~~~r~ction.M. %FI

- 1 - - - - - - ----~------

-- --- - --

-

- --

J

- - --

_--<~d~:sses

....--No
Disk-Control Field
To Driye Control

Equal

Yes

~
as

No

Disk Storage Ready

Subtract One
From SectorCount Field In
Core Storage

Entire, Disk
Track Been
Scanned

~

ecto~ count ")--_~Yes

Yes

Turn On Any-Disk
Condition And
Unequal-Address
Compare Indicators

Yes

Turn On Access
Inoperable And
Any-'Disk Condition Indicato ..

-

Compare CoreSector Address
To Sector Address
On Disk

Processing
Interlocked

-<

--

y

Turn Off All DiskStorage Indicato ..

...
N_o_ _ _

-

No

Is Access Busy

Yes
Turn On Access
Busy And Any-Disk
Condition Indicato ..

Field Zero

9

Wait For Start of
Next Disk Sector

No

Set 100 In Multiple Use Counter

Set Zero-Latch On

--

Read Operation

Or

~

!

Character Read
From Disk Storage
To A-Register

Processing Interlock
Released

Write Operation

Character Read
From Core-Storage
To A-Register

J
Character Read From
A-Register To Disk
Storage

Character Read From
A-Register To Core
Storage

Is Zero Latch On

No

Add One to CoreSector Address

I

I"'-

Yes

Has GM-WM
Been Sensed

No

Turn On WrongLength Record
And Any-Disk
Condition
Indicato ..

Parity Error

No

Yes

Read is Completed

Processing
Interlock Re leased

I
Figure F-24.
F-22

Read/Write Disk Functional Schematic

Subtract One
From MultipleUse Counter

NO Multi~ e-use

~
Counter Zero

""------_....

Yes

Yes

Turn On Any-Disk
Condition And DiskError Indicato ..

In Figure F-25, the disk~control Held is located in the ten positions preceding the label (05900599).
INPUTA).

Autocoder
Label

OPERAND

Assembled Instruction: !. %Fl 590 R

Autocoder
Label

OPERAND
00

.:

Figure F-26.

Read Disk Sector with Word Marks

Assembled Instruction: ~ %Fl 590 R

Figure F -25.

Read Disk Sector

Read Disk with Sector-Count Overlay

Instruction Format.
Mnemonic Op Code
RDCO
M
RDCOW
L
(with word marks)

Read Disk Sector(s) with Word Marks

Instruction Format.
Mnemonic
RDW

Op Code

A-address

B-address

d-character

1...

%Fl

BBB

R

Function. This is similar to' the
struction except that

READ DISK SECTOR

in-

1. wQrd marks in the recQrd area of CQre stO'rage are
remQved, and
2. wQrd marks frQm the disk recQrd are written in
cO're stQrage. The length of the sectQr read frQm
disk stQrage intO' core stQrage is 90 PQsitiQns.

Word Marks. A grO'up mark with a word mark in CQre
stO'rage terminates the read operatiO'n. If the grO'up
mark with a word mark is not in the PQsitiQn to' the
right O'f the last character read frQm the disk intO'
cO're storage, the wrQng length recO'rd and any-disk
cO'ndition indicatQrs turn Qn.
Timing. T = .0999 ms + 2N s + disk rQtatiQn. o
042 ms is maximum time fO'r disk rQtatiO'n.
22 ms is average time fO'r disk rQtatiO'n.
2 ms is minimum time fQr disk rotatiQn.

A-address

B-address

d-character

%F5
%F5

BBB
BBB

R
R

Function. This Qperation is similar to' the READ DISK
SECTOR( s) instruction except that the number O'f sectQrs to' be read is cQntrQlled by the Hrst three positions in the first record read. The digit 5 in the Aaddress specifies that an Qverlay operatiQn is to' be
perfQrmed.
As the first sectQr is read frQm disk stQrage, the
first three digits of the record being read are placed
in the sectQr-count field Qf the disk-cQntrO'I Held in
CQre stQrage. TherefQre, if a variable number of
sectQrs are to' be read frO'm disk stO'rage, the sectQrCQunt field must cO'ntain a value greater than 001 to'
cause the first sectQr to' be read. The first three positiQns of the first sector read contain the number of
additiO'nal sectQrs to be read. Figure F -27 illustrates
the QperatiO'n O'f an O'verlay instructiO'n which causes
four sectQrs Qf data to' be read frQm disk storage intO'
CQre stQrage.
Disk-Control Field
Core Storage

Disk Storage

Note: If a disk is read in a mode different from the one in which
it was written (M or 1.. operation code), a parity error occurs.
The disk-error indicator turns ON.

* 0 12 4 5 0 nn n

-

Data Area

L-y---J
Any Number ( Greater than 1)

0 1 2450003 04
r
'~
Disk-Sector
NewAddr~ss
Sector
Count

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B +6

B-Add. Reg.
B + 11 + NsLs

Example. Read a recO'rd, with its assQciated wQrd
marks, from disk storage intO' the area labeled INPUT
(first positiO'n O'f data is at 0600). In Figure F -26,
the disk-control field is IQcated in the ten positiO'ns
preceding the label (0590-0599).

Core Storage
After First
Sector Read

Figure F -27.

Disk-Control
Field

Counter

. - - - - ' - - - - - . , ,-L-,

.! 0 1 2 4 5 1 0 0 3 0 4 Data from 1st Secter

Read Disk - Sector-Count Overlay Operation
F-J:J

The Dperation proceeds as a normal read DperatiDn
with apprDpriate changes to' the core-sectDr address
and sectDr-count fields.
Word Marks. Because the exact number Df pDsitions of
data to' be read from disk stDrage may not be knDwn
when this DperatiDn is initiated, place the grDUp
mark with a wDrd mark (signaling the end-of-operatiDn) Dne pDsition to' the right Df the last possible
character to' be read using this instructiDn. If the
maximum number Df recDrds is nDt read, the read
intO' storage StDpS because the end Df sector is
reached and the sectDr-CDunt field is all zerO"s befDre
the grDup mark with a wDrd mark is sensed. The
wrong-length-recDrd indicatDr alsO' turns ON. The
prDgrammer can check core storage in this case to'
see if the CDrrect number Df sectors has been read.

This can be accDmplished by setting up a CDunter
in the fourth and, if necessary, fifth pDsitiDn Df the
first sectDr Df the record. This cDunter, when the read
DperatiDn is cDmpleted, is IDcated in the first and/or
secnnd pDsitiDn Df the data recnrd in cnre storage.
These pDsitiDns can be used to" check the number of
sectDrs in the recDrd. These counter positiDns shQuld
equal the actual number Df sectDrs in the record.
For any recDrd length other than single-sectDr records, reading data frDm disk shDuld have stQPped at
B + 6 + N sLs. If it did nDt, an error did occur
and apprDpriate action should be taken. If a CDrrect
read has occurred, the errDr indication can be disregarded.
Special cDnsideratiDn must be given to' single-sectDr recO"rds when read in the sectDr-CDunt overlay
mDde. When the read Dperation begins, the first three
characters Df the record overlay the sectDr CDunt. In
this case, 000 is read in and overlaid. HDwever, the
machine dDes not detect a zerO' sector CDunt except
when prDduced by automatically decreasing the sector-count field. After reading the single-sectDr recDrd,
the address' is increas'ed by one and an equal CDmpare is sDught on the next sector. vVhen fO"und, the
sectDr-cDunt field is decreased by one again, resulting in a count of 999. Beoause the sectDr-count field
is nnt all zerO's when this occurs, the wrnng-IengthrecDrd indicator is turned Dn if a grDUp mark with a
word mark is placed in the 101st positiDn of the
data field.
When an initial sectnr CDunt of 002 or greater is
used and the first three digits Df the first sectDr being
read are 000 (the three digits to' be Dverlaid), the
fnllnwing nccurs:
1. The operatinn does not stnp because the sectnr
cnunt has not been decremented to' 000.
F-24

2. The sectDr address has been incremented and the
second sectDr is read.
3. The special-add operatiDn (used to keep track Df
the sector cDunt) decrements the sectDr count
(000) to' 999.
Because the last step (item 3) does nDt produce
a carry to increment the sectDr address, an unequaladdress CDmpare occurs Dn the attempt to' read the
third sectDr. The unequal-address compare will nDt
Dccur if the initial sector count was 001, and only
one sectDr will be read intO' CDre storage because the
sectDr CDunt has been decremented to 000.
Single-sector and multiple sectDr-read DperatiDnsshnuld nDt be interspersed (using MIL %F5 BBB R
instructiDn) withDut priDr knowledge Df exactly
when each read will occur.

When a file includes single-sector recDrds, a special
rnutine must be included to verify the validity Df the
recDrd read. BefDre executing a read, a special character that wDuld never be fDund in the last position
O'f a recQrd can be mnved to' the l00th positinn nf the
input area. The wrong-Iength-recoird rDutine Gan
then check to' see whether the counter in the first
positiDn of the record contains a Dne (1). If sO', it
wDuld check to' see that the special character has
been overlaid. If it has, the recDrd was read in its
entirety.
Timing. T = .0999 ms + 2N s + disk rDtation. o
°42 ms is maximum time fDr disk rotation.
22 ms is average time for disk rotatiQn.
2 ms is minimum time for disk rDtation.
Note: Before reading starts, an automatic comparison is made of
the record address in core storage with the record address on
the disk. This check is made as each sector is read. If the
addresses are not the same, the unequal-address-compare indicator is turned on, and the data on the disk cannot be read
into storage.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B +8 + NsLs

Example. Read intO' CDre storage a variable number of
sectDrs that contain the data fDr a record beginning
at IDcatiDn 0900 (labeled INPUTB). In Figure F -28,
the disk-contrDI field is IDcated in the ten positions
preceding the label (0890-0899).
Autocoder
label

Assembled Instruction:

Figure F -28.

M %F5 890 R

Read Disk with Sector-Count Overlay

Write Disk Sector(s)

22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.

Instruction Format.
Mnemonic
WD

Op Code

A-address

M

%FI

B-address
BBB

d-character
W

Function. This instruction causes record data in core
storage to be written on a disk record. The digit 1 in
the A-address (%Fl) specifies that a sector operation is to be perfonned. The number of sectors to be
written is specified by the sector-count field. The
writing of the disk record is stopped by a group
mark with a word mark in core storage and by the
end of sector.
Writing begins at the address contained in the
core-sectO'r address field and continues for the number of sectors specified by the sector-count field.
The core-sector address field is increased by one
for every sector written. The sector-count field is
reduced by one as a sector is written.
When the sector-count field reaches 000, an endof-operation is indicated to the system. An error condition results from any disk sector read or write operation that begins the operation with a sector count
of 000. Before the first sector is transferred, a one (1)
is subtracted from the sector-count field, resulting in
a sector count of 999. Data would then be transferred until a group mark with a word mark is encountered in core storage. Because the sector count
is not zero at this time, the wrong length record and
any-disk condition indicators are turned on.
The B-address specifies the high-order position in
core storage of the disk-control field, and is followed
by the data to be written on the disk.
The W in the d-character position signifies a write
operation.
Refer to Figure F -24 for a functional schematic of
a write operation.

Word Marks. A group mark with a word mark mus,t be
one position to the right of the last character of the
record in core storage. The writing of data stO'ps
when the end-of-record is reached on the disk and a
group mark with a word mark is sensed in core storage. If the group mark with a word mark is sensed
before the end of a record, the remainder of the disk
record is filled with valid blanks (C-bit), and the
any-disk condition and wrong-length-record indicators are turned ON.
Timing. T = .0999 ms + 2Ns + disk rotation. /it
/it 42 ms is maximum time fO'r disk rotation.

Notes: Before writing starts, an automatic comparison is made
of the core-sector address with the record address on the
disk. This check is made for each sector written. If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in storage cannot be written
on the disk.
If the data in core storage contains characters with word
marks, only the CBA8421 portion of the character is written
on the disk (the word mark is ignored).
A WRITE DISK CHECK instruction must be performed following a write disk operation unless an error occurred during
the write operation. No other disk-storage operation can be
performed until the check of data written on the disk is
accomplished.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.
B + 11 + NsLs

B+6

Example. Write a disk record (one sector) frO'm the
data in the area labeled INPUTA (first position of data
is at 06(0). In Figure F-29, the disk-control field
is located in the ten positions preceding the label
( 0590-0599 ) .
Autocoder

~.

OPERAND

label

~~
Assembled Instruction:

Figure F -29.

M%Fl

~

590 W

Write Disk Sector

Write Disk Sedor(s) with Word Marks

Instruction Format.
Mnemonic
WDW

Op Code

A-address

1.

%Fl

B-address
BBB

d-character
W

Function. This instruction is similar to the WRITE DISK
SECTOR instruction, except that word marks set with
the data in core storage are recorded on the disk
record. This mode of operation permits writing programs on disk records fO'r system use. Ninety positions of data with word marks are recorded O'n each
sector during the write operation.
Word Marks. A group mark with a word m'ark one
position to the right of the last character of the record in core storage terminates the write operation. If
the group m·ark with a word mark is not sensed at
the same time as the end-of-a-record, the remainder
of the disk record is filled with valid blanks (C-bit),
and the any-disk condition and the wrong-Iengthrecord indicators are turned on.
F-25

Timing. T = .0999 ms + 2N s + disk rotation. ~
~42 ms is maximum time for disk rotation.
22 ms is average time for disk rDtation.
2 ms is minimum time for disk rDtation.

Disk-Control Fie Id
Couhter
rL,

* 0 1 2 4 5 0 0 0 4 0 4 Data Area

Core Storage

-

Notes: The programmer should be certain that all records on a
specific track are written in the same mode (M or .1. operation code). Otherwise, track operations are not possible.
Before writing starts, an automatic comparison is made of
the record address in· storage with the record address on the
disk. If the addresses are not the same, the unequal-address
compare indicator is turned on, and the data in storage cannot be written on the disk. A write-disk-check operation must
be performed following this instruction.

Data
I

I

Disk-Sector
Address
Core Storage
Disk-Control Field
After First
-

Sector Write

A-Add. Reg.
B+6

Autocoder
Label

L...y-J

SectorCount
Field

B-Add. Reg.
B + 11 + NsLs

Example. Write a disk record, with wDrd marks, from
the data in the .area labeled OUTPUT (:first pos.ition
of data is 0600). In Figure F-30, the disk-control :field
is located in the ten positions preceding the label
( 0590-0599 ) .

Figure F-31.

Write Disk - Sector-Count Overlay Operation

tion of an overlay instructiDn, which causes four sectors of data to be written from core storage onto disk
storage.
The DperatiDn proceeds as a normal write operation with appropriate changes to the core-sectDr address and sector-count :fields.

Assembled Instruction: !. %Fl 590 W

Figure F-30.

o 12450

Disk Storage

* 0 1 245 1 00304 Data on 1st Sector

Address Registers After Operation.
I-Add. Rg.
NSI

t..,.--.J

Sector-Count Field

Write Disk Sector with Word Marks

Word Marks. A group mark with a word mark should
be placed one pDsition to' the right of the last sector
to be written. The group mark with a word mark
must be placed at B + 7 + N sLs to avoid a false
wrong-length-record indication.

Write Disk with Sector-Count Overlay

Instruction Format.

Timing. T = .0999 ms + 2N s + disk rotation. ~
42 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.
(t

Mnemonic Op Code
WDCO
M
WDCOW
L
(with word marks)

A-address

%F5
%F5

B-address
BBB
BBB

d-character
W
W

Function. This operation is similar to the WRITE DISK
SECTOR instruction except that the sector-count :field
of the disk-control :field is autDmatically decreased
by Dne and then written in the :first three data positions of the :first sector written. The digit 5 in the
A-address speci:fies that an overlay operation is to' be
performed.
Therefore, if a variable number Df sectors are to be
written Dn disk stDrage, the sector-count field in core
stDrage shDuld contain the number of sectors to be
written. The :first three data positions of the :first sootor written contain the number Df additiDnal sectDrs
that were written. Figure F -31 illustrates the operaF-26

N ate: Before writing starts, an automatic comparison is made
of the record address in core storage with the record address
on the disk. This check is made before each sector is written.
If the addresses are not the same, the unequal-address-compare indicator is turned on, and the data in core storage
cannot be written in disk storage.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B+8+N sLs

Example. Write a number of sectors for a record on
disk storage that cDntains data beginning at location
0900 (labeled OUTPUT). In Figure F -32, the diskcontrol :field is located in the ten positions preceding
the label (0890-0899).

Address Registers After Operation.
Autocoder

I-Add. Reg.
OPERAND

Label

~.

~~ . ~

~9.

Assembled Instrudion: !! %F5 890 W

Figure F -32.

Write Disk with Sector-Count Overlay

NSr

B-Add. Reg.
A-Add. Reg.
Depends on previous operation

Example. Compare the disk rec'Ord with a recard in
care-starage area labeled OUTPTC ( beginning at
0700). In Figure F -33, this disk-control field is located in the ten positions preceding the label (06900699).
Autocoder
Label

::

.:
Write Disk Check

Assembled Instrudion:!:! %F3 690 W

Figure F-33.

Instruction Format.
Mnemonic Op Code
WDC
M
WDCW
L
(with word ma~ks)

OPERAND

A-address
%F3
%F3

B-address

BBB
BBB

Write Disk Check

d-character
W
W

Address Operations
Function. This instruction causes a comparison, characteT-by-character, of the data in core storage with the
data just written on the disk. This instructian must
be executed after a write operation and before any
atheT disk-storage operation is initiated.
The digit 3 in the A-address specifies that a WRITE
is to be performed. Either an L or M
apeTation code is used, depending an how the data
was recorded in disk storage.
DISK CHECK

The B-address specifies the area in care storage
that contains the disk-control field and the data recQi·ded on the disk.
The sector-address and sector-count fields of the
sector-control ward must be res tared to the values
present at the beginning of the write operation.
Word Marks. A group mark with a word mark must
appear one position to the right af the disk data in
core storage.
Timing. T = .0999 ms + 2N s + rotation time. ~
~ 42 ms is maximum time far disk rotation.
22 ms is average time for disk ratation.
2 ms is minimum time for disk rotation.
Notes: If the disk address in core storage is not the same as the
address on the record, the unequal-address compare indicator
turns ON. If any of the characters on the disk record do not
agree with the characters in core storage, the disk-error indicator turns on.
A write-disk-check operation can be executed after a read
operation if a check on the information read is desired. The
operation is performed exactly the same as a write-disk-check
operation following a write operation.

The disk sector addresses written on the disk pack are
protected from improper systems aperatian by the
write-address key-light on disk-drive O. When the light
is off, addresses an the disk pack cannot be altered or
read inta core storage. If the light is on, disk-pack addresses can be read into core storage and new addresses can be written on the disk pack.
The ability to read and/or alter disk addresses is conditioned by the setting of the write-address key-light
and the stored program instructions. Certain mM 1311
instructions are used when reading ar writing disk addresses. These instructions contain the term Address in
their description and a note on the setting of the writeaddress key.

If the proper instruction and key setting are not used
when trying to perform an address operation, the system stops and the RAMAC light on the system console
turns ON.

Read Disk Track Sectors with Addresses

Instruction Format.
Mnemonic Op Code
RDT
M
RDTW
L
(with word ma~s)

A-address
%F6
%F6

B-address

BBB
BBB

d-character
R
R

Function. This instructian causes the contents of an
entire disk track (addresses and data) to be read in
F-27

the mode specified by the operation code (M or L).
If the L operation code is used, the track is read into
storage with its associated word marks.
The core-sector address must correspond to any
one of the sector addresses on the track. The disk
track is scanned for an address equal to the sector
address in core storage. The disk-track reading begins when the first track-index pulse following a successful address-compare operation is sensed. If the
result of the address-compare operation is unequal,
the unequal-address compare indicator turns on. All
twenty sectors on the track, including the disk-sector
addresses, are read into core storage. The sectorcount field of the disk address must be set at 020
before the operation begins.
The core-sector address field is not modified by
plus-one during this operation. To keep track of the
number of sectors read, however, the sector-count
field is modified by minus-one for each sector read.

Word Marks. A group mark with a word mark must be
placed one position to the right of the last character
read into core storage. This position can be found by
adding 2130 to the B-address for operations performed with the M operation code, and 1930 for
operations performed with the 1= operation code.
Timing. T = .0999 + 42 ms + disk rotation.#
#42 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rDtation.
Note: The write-address key-light on disk-storage-drive zero
must be on to perfonn the operation. When the key-light
is off, disk-sector operations cannot be penormed.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+9

B-Add. Reg.
B + 11 + 2120 eM op code)
or
B + 11 + 1920 CL Op code)

Example. Read disk track 17550, with its associated
word marks, into the core-storage area labeled
RDTSAD (first position of data is at 0800). In Figure
F-34, the disk-control field is located in the ten positions preceding the label (0790-0799).

Label

OPERAND
40

Assembled Instruction:

F-28

Instruction Format.
Mnemonic Op Code
WDT
M
WDTW
L
(with word ma;:ks)

M %F6 790

R

Read Disk Track Sectors with Addresses

A-address

B-Address d-character

%F6
%F6

BBB
BBB

W
W

Function. This instruction causes the record data and
addresses in core storage to be written on a disk
track in the mode specified by the operation code
eM or!J If the L operation code is used to write the
track, word marks in the record area of core storage
are written on the track.
The core-sector address must correspond to any
one of the sector addresses on the track. The disk
track is scanned for an address equal to the sector
address in core storage. Writing the disk track begins
when the track-index pulse is sensed (signaling first
sector on track), if the address-compare operation
results in an equal condition. If the result of the
address-compare operation is unequal, the unequaladdress compare indicator turns ON. All 20 sectors on
the track, including the disk-sector addresses, are
written on disk storage. The sector-count ReId of the
disk-control field must be set at 020 before the Dperation begins.
The core-sector address field is not modified by
plus-one during this operation. To keep track of the
number of sectors written, however, the sectDr-count
field is modified by a minus for each sector read.

Word Marks. A group mark with a word mark must be
placed one position to the right of the last character
written on disk storage. This position can be found
by adding 2130 to the B-address for operations performed with the ,M operation code, and 1930 for
operations performed with the 1 operation code.
Timing. T = .0999 + 42 ms + disk rotation. #
#42 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time fDr disk rDtation.
Note: The write-address key-light on disk-storage-drive zero
must be on to penorm this operation. When the key-light is
off, disk-sector operations cannot be penonned.

Address Registers After Operation.
I-Add. Reg.
NSI

Autocoder

Figure F-34.

Write Disk Track Sectors with Addresses

A-Add. Reg.
B+9

B-Add. Reg.
B + 11 + 2120 (M Op code)
or
B + 11 + 1920 (!:. Op code)

Example. Write a disk track (with address) from the
data in the area labeled WRTSAD (first position of

data is at 1000). In Figure F -35, the disk- control
field is located in the ten positions preceding the
label (0990-0999).
Autocoder
label

Assembled Instruction:

Figure F-35.

!! %F6 990 W

Write Disk Track Sectors with Addresses

Branch if Indicator On
The BRANCH IF INDICATOR ON instruction tests the indicators that might be set ON during a disk-storage
operation. When a disk-storage instruction occurs in
the program, it turns off all disk-storage indicators
that were turned on by a previous disk-storage operation. The execution of a disk-storage instruction can
result in a disk-storage indicator being turned on.

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
d

Function. The d-character specifies the indicator tested.
If the indicator is ON, the next instruction is taken
from the I-address. If the indicator is off, the next
sequential instruction is taken. Figure F -36 shows
symbols that are valid d-characters, and the indicators they test. More than one indicator can be
turned ON as the result of a disk-storage operation.
Indicators

Access Inoperable. An access arm becomes inoperable if the logic safety circuit detects improper operation. A customer engineer can also render an arm
inoperable. In either instance, this indicator turns on
when the program addresses the inoperable arm, at
which time the operation is terminated and the next
sequential instruction is started. At the same time, the
RAMAC light turns on.
d - Character

Indicator

N
V
W

Access Inoperable
Validity Error
Wrong - Length Record
Unequal-Address Compare
Any Disk Condition
Access Busy

X

y

\
Figure F-36.

d-Characters for Branch If Indicator On
Instruction

The indicator also turns on if an invalid (not installed) arm or disk-storage unit is addressed. Because the program continues in sequence even when
an inoperable arm is addressed, a BRANCH IF INDICATOR ON instruction must immediately follow a seek
instruction.

Disk Error. This indicator turns on if even-bit
parity occurs during reading or writing on a disk.
Another condition that turns the indicator on is an
UNEQUAL COMPARE during a write-check operation.
In this case the operation is completed.
"Vrong Length Record. This indicator turns on if
the following conditions are not satisfied: a group
mark with a word mark in core storage is sensed at
the same time as an end-of-s€-ctor and an all-zero
condition in the sector-control field occur. It also
turns on during a scan operation if the search argument is longer than, or equal to, a sector length. Detection of a wrong length record terminates the operation and starts the next sequential instruction.

Unequal-Address Compare. An unequal-addresscompare condition O'ccurs during the automatic comparison of the sector address in storage with the sector address O'n the disk. This unequal condition turns
the unequal-address-compare indicator on after the
disk track is scanned and the track-index pulse is
sensed twice. Each sector operated on by a diskstorage read-write instruction is checked for ADDRESS
COMPARE. This is an automatic check and does not
have to be programmed. During multiple-sector
operations, the indicator also turns on after the data
transfer begins when the sector address following a
correct address comparison does not compare.
The internal circuitry is the same as that used by
the COMPARE instruction. In programming, be careful
that a normal-compare operatiO'n and the addresscompare operation do not interfere with the settings
of the equal-, low-, and high-compare indicators set
by a previous instruction. Detection of an unequaladdress compare terminates the operatiO'n and starts
the next sequential instruction.

Any-Disk Condition. This indicatO'r turns on if any
of the other disk-storage indicators are on. It can be
tested by the program, and, if it is off, the program
can proceed. If this indicator is on, check the other
indicators to determine where corrective measures
should be taken.
Access Busy. This indicator is turned off by every
disk-storage command. If the access assembly is in
motion, the indicator is turned on and the instruction
is not executed.
F-29

A branch-access-busy command tests the indicator.
If on, the previous disk-storage instruction was not
executed and should be repeated.

Note: After each disk unit read or write operation, the program
must test for error indications to prevent processing of unusable data.

Address Registers After Indexing.
With the seek-overlap feature, an indicator is
provided for each drive attached to the system.
Without the feature there is only one indicator.
The following examples illustrate the access-busyoperation.

I-Add. Reg.

A-Add. Reg.

NSI

BI

dbb

NSI

BI

blank

NSI

BI

NSI

No Branch:
Branch
(without indexing)
Branch
(with indexing):

B-Add. Reg.

With Seek Overlap
Remarks

Operation
Start

Begins program execution.

Seek Access 0

Turns indicator (0) off
Test for access motion - no motion
Indicator (0) remains off
Instruction executed.

Seek Access 2

Turns indicator (2) off
Test for access motion - no motion
Indicator (2) remains off
Instruction executed.

Branch Access Busy

No branch

Example. At the completion of a disk-read operation,
test the any-disk-unit error condition indicator. If it
is OFF, continue in the main program. If it is ON,
branch to the routine labeled DISKER ( 0690 ) to
determine the type of error condition. This tests all
disk-unit indicators and branches to the error routine of the respective indicator that is on. In Figure F-37, the routines are labeled: ACINOP (0690),
UN ADCL (0695), WRLENR (0700), RWPARC (705).

Without Seek Overlap
Remarks

Operation
Start

Begins program execution.

Seek Access 0

Turns indicator off
Test for access motion - no motion
Indicator remains off
Instruction executed.

Seek Access 2

Branch Access Busy

Tum indicator off
Test for access motion - motion
Indicator is turned on
Instruction is not executed.

Autocoder
Label

pperatiar
1516

-

I

OPERAND

lB.I,N,

iA.I./oi

ACINOP,N

lRI N
lSt,,,",

UNADCL,X

I

:

B I,lII

P.WP,A,R,C" "

i

~

t>1~K£RI
I

I

Branch

20

II) 15K e.R. •.'{, ""

6

w~L.E..N.Rt W

690
695

Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

F-30

700

= .0666

705

Figure F -37.

4n

4~

50

-

Assembled Instruction: 480

Word Marks. Word marks are not affected.

30;

2S

.!
.!
.!
.!

690

Y

740

N

790

X

890

W

B 990

V

Branch H Indicator On Testing Routine

IBM 1311 Disk Storage Drive Timing

Variation in speed is covered here so it can be considered when data is being organized in disk storage.

The organization of data in disk storage and the
method of proC'essing data affect the seek time for a
given operation and also affect the total systems'
throughput. Some methods of seeking records and the
sequence of disk storage and input/output instructions
are considered here as an aid to program development.

After a SEEK DISK instruction in either mode has been
is SlUed, processing can continue until another diskstorage instruction is issued. The length of the seek depends on the total number of cylinders that must be
passed during the seek operation. Figure F -38 provides
actual seek time for cylinder-to-cylinder movement in
increments of ten cylinders.

Seeking Disk-Storage Records

Two modes of operation for seek instructions are: Return-to-H orne and Direct Seek, a special feature. The
return-to-home mode is the standard mode of operation. In this mode, all seeks are achieved by first moving the access arms to a home position outside cylinder
00 and then counting into the desired cylinder. This
function is automatically performed by the system. The
direct-seek special feature enables the programmer to
write the program so that the system can seek from one
track to another track without requiring the access
arms to return to home position.
Another factor to be considered in systems planning
is that the access arms move at both a low speed and a
high speed. Access-arm movement within ten cylinders
is at low-speed rate of 2 inches per second. If more
than ten cylinders are searched, the access arms move
at the high-speed rate of 16 inches per second for all
cylinders in excess of ten. These two speeds (2 inches
and 16 inches per second) are not used by the programmer in timing disk-storage operations because the
timing charts incorporate these variations in speed.

TO

FROM

~

00

09

19

29

39

49

59

69

79

89

99

00

75

88

101

114

127

140

153

167

179

192

204

09

175

188

201

214

227

240

253

267

279

292

304

19

143

156

169

182

195

208

221

235

247

260

272

29

153

166

179

192

205

218

231

245

257

270

282

39

168

181

194

207

220

233

246

260

272

285

297

49

184

197

210

223

236

249

262

276

288

301

313

59

200

213

226

239

252

265

278

292

304

317

329

69

215

228

241

254

267

280

293

307

319

332

344

79

232

245

258

271

284

297

310

324 336

349

361

89

248

261

274

287

300

313

326

340

352

365

377

99

263

276

289

302

315

328

345

355

367

380

392

Figure F -38.

Cylinder Seek Time without Direct Seek

In the return-to-home mode, the total throughput
time can be reduced by using a technique known as
dummy seek to cylinder 00.
The total time for this operation is 106 ms, for approximately 2% disk revolutions. The available processing time is 68 ms.
Processing time is reduced as more sectors are read
or written. The timing for a 4-sector operation illustrates this point:
Read

Process
Write
Process
Write Check.

2 ms head select delay time
20 ms average rotational time
8 ms to read four sectors
30 ms processing
2 ms head select delay time
8 ms to write four sectors
30 ms processing
2 ms head select delay time
8 ms write check
110 ms Total

A summary of the disk-storage times follows:
Rotational Delay
Average Rotational Delay
Head Select Delay
Read One Sector
Write One Sector
Write Check One Sector

40 ms
20 ms
2 ms
2 ms
2 ms
2 ms

Seek time - without direct access
Maximum
Mean Seek Time

400ms
250ms

Seek time - with direct access
Maximum
Mean Seek Time

250ms
150ms

The total time in the preceding example is 110 ms
(2% revolutions), only 4 milliseconds longer than the
2-sector operation. However, total processing time is
60 ms as opposed to 68 ms in the earlier example.

If possible, processing should be kept within the
available rotational time. If not, the cycle is increased
by one 40-ms revolution for each extension of available
processing time.
F-31

2 ms for head-select delay
20 ms average rotational time
to find the proper sector
4 ms to read 2 sectors

Read
2 sectors
(4ms)

Process
During
Seek Time

Processing
(up to
34 ms)

34 ms for processing

2 ms head-select delay
4 ms to write 2 sectors

Process
(up to 34
ms)

Process
During
Rotational Time

Write
Check
(4 ms)

Figure F -40.

34 ms for processing

2 ms for head-select delay
..Lms to write check 2 sectors
106 ms. Total

Disk-Storage Timing for a Two-Sector Record

Process
During
Rotational Time

Processing time between a write operation and a
instruction can be used for updating
control totals and/or arranging fields of printing. When
the print-storage special feature is installed, most disk
operations may be completely overlapped by the printing operation.

WRITE DISK CHECK

Dummy-Seek to Cylinder 00

Process
During Return
to Home

Figure F-39.
F-32

Note: Reading, punching
or printing may be
done during the
pertinent recordseeking and the
seek 00 time.

Block Diagram for Dummy Seek Technique

Return-to-home seek has two access motions: retumto-home, and advance-from-home. Over-all job-time
may be reduced if some other I/O or CPU operation
is required before the next seek address is given. In
this case, a seek to cylinder 00 will direct the access
mechanism back to the home position until it is needed.
When the next seek is initiated, the access mechanism
is already at the home position, and need only travel
directly to the correct cylinder (Figure F -39) .

Timing Considerations for Reading and Writing

When designing a program utilizing the disk pack, the
programmer should consider ways to place read, write,
and write-check operations to save job time. Because
the disks revolve at 1500 rpm, 40 ms are required to
complete a revolution, and 2 ms to read or write one
sector. The rotational time that must elapse before a
disk operation can be executed should be utilized for
processing, if possible.
Assume, for example, that a 2-sector record (200
characters) is to be read, updated, and then returned
to the file. The timing chart and block diagram for
this operation are shown in Figure F-40.

IBM 1311 Error Routine

mended that the busy loops after all disk input/output
instructions include a routine that halts the system
after a length of time has elapsed sufficient for the
longest possible seek operation.
Note 4

Although not noted in this block diagram, the contents
of the address registers at the time of a· halt should
uniquely identify the cause of the halt.
Note 5

The sequence of tests shown is justified by the fact that:

1. In the event of cylinder overflow, checking parity
first ensures that the portion read or written is
correct.

Figure F -41 shows the correct method of programming
input/ output operations on the IBM 1311 Disk Storage
Drive. The method presented is, baSically, the routine
generated by the IBM 1440 Input/Output Control System. Explanation of the notes in Figure F -41 are:

2. In the event of cylinder overflow, both the unequaladdress compare and the wrong-length-record indicators are on. If only the wrong-Iength-record
indicator is on, the error must be a true wronglength-record error.

Note 1

Note 6

Where possible, utilize seek time by including a processing routine in the busy loop.

If cyfinder overflow is encountered, the three low-order
digits of the address in the disk-control field will be
200, 400, 600, 800, or 000.

Note 2

IOCS does not test for ANY DISK ERROR after the seek
and write operations. If an error occurs at either of
these points, it is caught later. Tests for ANY DISK ERROR
can be made after every BUSY test, however, and can
often be justified by the ability to locate more easily
the cause of the error.
Note 3

When the direct-seek special feature is used, the diskcontrol field contains a number equal to twice the number of cylinders to be crossed. If a number is used that
causes the access mechanism to attempt to go past the
last, or 100th cylinder, the disk drive remains in a BUSY
status until manually turned off and then back on. A
machine malfunction or programming error may allow
a reverse direct seek to go past the first cylinder and
cause a system hang-up. In either case, the cause of
the programming or machine error must be corrected.
In testing programs using the direct seek, it is recom-

Note 7

None of the IBM programming systems will produce a
block that overflows from one disk pack to another.
However, IOCS can accommodate such a block in an
input file. If the condition occurs when processing
labeled files, the program must add 20 to the address
in the disk-control field and change the drive number
in the alternate-code position before branching to the
SEEK instruction.
Note 8

When using the direct-seek special feature, the error
routine should include a separate, return-to-home seek
instruction instead of going back to the common SEEK
DISK instruction of the main program. The reason for
this is that when using the DIRECT SEEK, the program
must be sure of the starting point of the seek· Because
an error condition exists, assume that the program is
not sure of the present position.

F-33

Halts:
System
Error

Restore Portion
of Record
Displaced

Save Last 10
Positions of
Portion Read
or Written

Restore Original
Address and Sector Count in DiskControl Field

Move Disk-Control
Field to last 10
Positions of Portion
Read or Written

Modify B -Ad-

dress of

I/o

Instructions

Add One
to elTor

Counter

Yes

Halt

Figure F -41.

F-34

IBM

1311 Operation and Error

Routin~

II
Miscellaneous Input I Output Instructions

IBM 1009 Data Transmission Unit
The IBM 1009 ( Figure G-1 ) permits high-speed twoway communica tion b etween the IBM 1440 Data Processing System and any of th e following terminals:
1013 Card Transmission Terminal
IBM 7701 Magne tic Tape Transmission Terminal
IBM 7702 !vlagnetic Tape Transmiss~on Terminal
IBM 7710 D a ta Communication Unit
IB:M 7711 Data Communica tion Unit
IBM 7740 Communi cation Control Sys tem
IBM 7750 Programmed Transmission Control
or another 1009 attached to anoth er 1440, 1401,
1460, 1410, 7080, or oth er sys tem .

Block diagrams of the logic are provided as programming aids.

Transmit Subroutine

IBM

With this unit, the 1440 sys tem can tran smit at
speeds up to 600 charac ters per second over toll or
leased communications-company lin es. Hefer to IBM
1009 Data Transmission Unit, Form A24-1039, and
IBM 1009 Spec ial Features section of this publication.

IBM 1440 Programming Logic
When a terminal is made up of a 1009 and a 1440 sys tem, transmitting and receiving follow set patterns.

Before the transmitting 1440 program moves th e first
message from the cards or tape and assembles it in the
read-out area, it first tes ts to see that the receiving
1009 is ready to accept data . This is don e by testing
indi cators 3 and/ or 4 (Fi gure G-2). Indica tor 4 is tes ted
in case th e last message of th e previous transmission
was received in error. Then a !2 % D1 E instruction
starts the transmission of th e message. One character
is h'ansmitted a t a time to the receiving 1440, through
th e two IBM 1009 Data Transmission Units connected
to the 1440 sys tem. Before each charac ter is sent to the
transmittin g 1009, the 1440 checks for a group mark
with a word mark tha t signals the end-of-message. If
there are more characters in the message, th e 1440 program increases th e B-address of th e move or load insh'uction th a t stores th e character in the 1009, and
rep eats the transmittin g process. vVh en th e transmittin g 1440 encounters an end-of-message signal, it must
wait for 250 ms ( milliseconds ) while the receiving
1440 sends back a good-transmission or transmissionerror signal. Th e transmittin g 1440 can use these 250
ms for any processing that does not call upon the 1009.
This max imum delay of 250 ms, commonly referred to
as tum-around time, is substantially reduced on shortdistance transmissions. On a four-wire (full duplex)
service, th e turn-around delay is elimina ted .
The next part of the subroutin e includes two tes ts
for th e status of th e message. See Branch if Indicator
On instruction for an explanation of this test loop.
vVhen a good-message condition is recognized , the
program branches to initialize and load a new message.

Receive Subroutine

Figure G-l.

IBM

1009 Data Transmission Unit

The receiving 1440 program first tests to see that the
1009 is in a RU N condition ( Figure G-3) . Then it prepares the read-in area , and se ts up conditions for
ready-to-receive. This includes acknowl edging th e previous message, it any. D epending upon the type of
communications-company data set used, anywhere from
200 to 300 ms elapse b efore the first character is received. This allows for turn-around-time when halfG-l

Start
Receive
Program

Te,t 1009
Run Indicator
(B III I)

No

No
Yes

Test
1009 Run
Status

Test Goad

Transmission

Yes
Yes

Indicator
(B 1113)
Initialize

Yes
Set Ready
to Receive

250±50ms

**

250±50m s-'

Receive
Character

Initialize and
Load Message

from 1009
6 2/3ms

*

Increase
B-Address of
Receive
Instruction

Start Transmission
(U%DI E)

Unload
Message

No

Test
EOM Receive
Indicator

Yes

Transmit a
Character to 1009
(M %DI BBB W)

Test
Receive Error
Indicator

No

No

* See
** See

Figure G 2
Figure G 2

Figure G-3.

duplex facilities are used. If the communications-company transmission facilities are full-duplex (4-wire),
there is virtually no turn-around-time. After it receives
each character, the 1009 checks for an end-of-message
(EOM) signal. The receiving 1440 tests the indicator
and, if the indicator is off, increases the B-address by
one, and returns to receive another character. If it recognizes an EOM signal (the indicator is on), the program branches to test the receive error indicator. If
there is an error, the program branches to an error
subroutine. If there is no error, the message is unloaded, and the program returns to the initializing step.

No

• Character time (ms/char.) as related to
characters per second (C PS) and bits per
second (baud) is:

~

BAUD

75
93.75
125

600
750
1000
1200
1500
2000
2400
3000
4000
4800

ISO
187.5
250

390

375
500600

Figure G-2.
G-2

MS/CHAR
13.3
10.65
8.0
6.67
5.7
4.0
3.33
2.66
2.0
1.67

Transmit Subroutine

Receive Subroutine

** fv\aximum turn-around time using halfduplex facilities. A full-duplex line
requires no turn-around time. This tim
can be used for any system functions nc
requiring the 1009.

IBM 1009 Instructions

Several 1440 instructions are expanded to provide program control for operations that involve the ffiM 1009
Data Transmission Unit.

Instructions applying to the 1009 cannot be successfully chained.

Start Transmission

B-Add. Reg.

A-Add. Reg.
%41

I-Add. Reg.
NSI

Dbb

Example. Signal the transmitting station and indicate
the condition of the message received (Figure G-5).

Instruction Format.
Mnemonic

Op Code

CU

1[

A-address
%Dl

d-character

Word Marks. Word marks are not affected.

= .0666 ms.

A-Add. Reg.
%41

OPERAND

Label

:~
Assembled Instruction:

Figure G-5.

y

:

%D1 D

Set Ready to Receive

Move Character to the Transmitting 1009

Instruction Format.
Mnemonic

Op Code

MU

M

A-address
%Dl

B-address

d-character

BBB

W

Function. The transmitting 1440 sends the single character at the B-address to 1009. The d-character, \V,
specifies a transmit operation.

Address Registers After Operation.
I-Add. Reg.
NSI

Autocoder

E

Function. This instruction initiates a start-of-message
signal if the 1009 is in a send-run condition (transmit-receive switch is set to TRANSMIT). If the 1009 is
in a receive-run condition (transmit-receive switch
set to RECEIVE) the ins,truction oauses an alarm to
sound, signaling that operation intervention is necessary.
The A-address specifies the 1009 and the dcharacter specifies the start transmission operation.

Timing. T

Address Registers After Operation.

B-Add. Reg.
Ebb

Example. Signal the 1009 to initiate a start-of-message
signal (Figure G-4).

Word }.tfarks. Word marks are not affected.
Timing. T

= .1110 ms.

Note. If a group mark with a word mark is sensed in 1440
storage, an end-of-message transmit condition is recognized.

Autocoder

t

Address Registers After Operation.

Label

Assembled Instruction:

Figure G-4.

!!

I-Add. Reg.
NSI

%D1 E

A-Add. Reg.

B-Add. Reg.

%41

B+1

Example. Move the character at location 3950 to the
1009 (Figure G-6).

Start Transmission

Set Ready to Receive

Autocoder
Lobel

40

Instruction Format.
Mnemonic

Op Code

CU

U

A-address
%Dl

d-character
D

Assembled Instruction:

M %D1 150 W

Function. The receiving 1009 signals the transmitting
station that it is ready to receive and indicates the
status of the previous message (see Branch if Indicator On instruction).

Figure G-6.

Word Marks. Word marks are not affected.

Move Character from the Receiving 1009

Timing. T

= .0666 ms.

Instruction Format.

Note. The transmit-receive switch on the receiving 1009 should

be set to RECEIVE. If it is set to
sounded to signal the operator.

Move Character to the Transmitting 1009

TRANSMIT,

the alann is

Mnemonic

Op Code

A-address

B-address

d-character

MU

M

%D1

BBB

R

G-3

Function. This instructiOon transfers the single character in the receiving 1009 tOo the receiving 1440 correstarage location specified by the B-address. The
d-character specifies a receive Ooperatian.

A-Add. Reg.
%41

I-Add. Reg.
NSI

B-Add. Reg.
B+1

Example. Send the character and word mark at locatian 0685 tOo the 1009 (Figure G-8).

Word Nlarks. Word marks are not affected.
Timing. T

Address Registers After Operation.

Autocoder

= .1110 ms.

OPERAND

label

Note. Whcn the 1009 recognizes an end-of-message condition,
the receiving 1440 gets an end-of-message receive signal and
inserts a group mark in the core-storage location specified by
the next M %D 1 BBB R instruction.

:5

Assembled Instruction:

Figure G-8.

~

~o

%D1 685 W

Load Character to the Transmitting 1009

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
B+1
Load Character from the Receiving 1009

Example. Read a character from the 1009 and place it
in core-storage position 0986 (Figure G-7).
Autocoder
lobel

~perati~

151

5

u 1'IH ,'~986

,R
0

:5

40

M %01

~

986 R

Move Character from the Receiving 1009

Instruction Format.
LV

Op Code

LV

L

A-address
%D1

B-address
BBB

d-character
R

OJ) Code
L

Function. This instruction transfers the single character in the 1009 tOo the receiving 1440 storage location
specified by the B-address. The d-character, R, signals a receive operation.
Word Marks. If a worrd mark is associated with the
character, it is transmitted and inserted in carre storrage with the character. Two transmission cycles are
required to transfer the character and the word
mark. The re-cycle for the word-marked character is
automatic. The 1440 converts the word-separator
character tOo a work mark.

Load Character to the Transmitting 1009

Mnemonic

Mnemonic
OPERAND
I

Assembled Instruction:

Figure G-7.

Instruction Format.

Timing. T
A-address
%D1

B-address
BBB

d-character
W

Function. The transmitting 1440 sends the character at
the B-address to the 1009. The d-character, W, specifies a transmit operation.
\l'ord Alal'ks. If a word mark is associated with the
character, the 1440 converts the ward mark to a
word -separator character (A841). In twa separate
transmission cycles, the 1440 sends the word separator' then the character to the 1009. The re-cycle
far the character associated with the word separator
is automatic.

= .1110 ms.

Note. When the 1009 recognizes an end-of-message condition,
the receiving 1440 interprets an end-of-message receive signal
and inserts a group mark in the core-storage location specified
by the next 1:. %D 1 BBB R instruction.

Address Registel's After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
B+1

Example. Read a character with word mark from the
1009 and place it in core-storage position 2398
(Figure G-9).
Autocoder
label

40

Timing. T = .1110 ms.
Assembled Instruction: .!:. %D1 L98 R

Note. A group mark in core storage signals an end-of-message
transmit condition.
G-4

Figure G-9.

Load Character from the Receiving 1009

End af Message Receive. Turns on when the endof-message signal is recognized by the receiving 1009.

Branch if Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
d

Function. This instruction tests the indicator specified
by the d-character. If the indicat0'r is on, the pr0'gram branches to the I -address fOT the next instruction. If it is off, the program continues with the next
instnlCtion in sequence.
d-character

Indicatm'

1

1009

2

END-OF-MESSAGE TRANSMIT

3
4

GOOD TRANSMISSION
TRANSMISSION ERROR

5

END-OF-MESSAGE RECEIVE

6

RECEIVE ERROR

RUN

Indicators

1009 Run. Turns 0'n when the 1009 is in RUN c0'ndition. If the 1009 is n0't in a RUN conditi0'n, the program
should st0'P, or I0'op until the RUN condition is established.

Receive Error. Turns on if an error was detected
during the transmission from the transmitting 1009 to
the receiving 1440. The receiving 1440 tests the indicator and branches to an error routine if it is on.
Word Marks. W0'rd marks are not affected.
Timing.
NO' branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

NSI

BI

dbb

NSI

BI

blank

NSI

BI

NSI

No Branch:
Branch
(without indexing)
Branch
(with indexing):

B-Add. Reg.

Example. Branch to location 3498 if the end-of-message receive indica tOT is nn (Figure G-10).
Autocoder
OPERAND

label

:~ .

40

End-ot-Message Transmit. Turns 0'n in the transmitting 1440 when the 1401 or 1460 senses a group mark
with a word mark at the B-address during the execution of an 1 %D1 xxx W, 0'r M %D1 xxx \V instruction.
The indic~t0'r is turned 0'ff by the next !l%D1 E instructi0'n. The 1009 is busy during the next 250 milliseconds.
Good Transmission. Turns 0'n if the signal sent to
the transmitting station by the U %D1 D instructi0'n
specified that a good transmission occurred. The transmitting 1440 should test this indicat0'r and branch to
the routine for the next message if it is on. If the indicator is n0't on, the program should advance to test the
transmission-error indicator.
Transmission Error. Turns on if the signal sent to
the transmitting station by the 12 %D1 D instructi0'n
specified that a transmissi0'n error OCcurred. The transmitting 1440 should test this indicator and branch to
an error subroutine if an error occurred. If there was
no indication of error, the program should loop to
retest the good transmission indicator. The logic behind this technique is that it is possible that a goodtransmission condition exists, but that the signal has
not been received by the transmitting 1440 before
the first good-transmission test is given. This loop is
repeated until one of the indicators is turned on.

Assembled Instruction:

Figure G-lO.

~

:

098 5

Branch If End-of-Message Receive Indicator On

Suppress 3-Second Alarm

Instruction Format.
Mnemonic

Op Code
K

SS

d-cha1'acter
A

Functian. This instruction prevents the 3-second alarm
from sounding during a delay (such as tape rewind).
Normal alarm functions will be restored when any
subsequent instnlCtion addresses the 1009. This instruction can be given when a delay in processing
can be foreseen.
Word Marks. Word marks are not affected.
Timing. T

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

Abb

Abb
G-5

Example. Suppress the 3-second alann during process
delay (Figure G-11).

tion can he given when the delay in processing can
be foreseen. The address of the ne~t instruction is
taken from the I -address.

Autocoder
OPERAND

Label

:~ .

.:

:

Assembled Instruction: .IS. A

Figure G-ll.

Word Marks. Word marks are not affected.
Timing.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Suppress 3-Second Alarm

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
Branch
(without indexing)
Branch
(with indexing)

Suppress 3-Second Alarm and Branch

Op Code
K

I-address
III

d-character
A

Function. This instruction prevents the 3-second alann
from sounding during a delay such as, tape rewind.
Normal alarm function is restored when any SiUhsequent instruction addresses the 1009. This instruc-

G-6

BI

blank

NSI

BI

NSI

Example. Suppress the 3-second alarm during processing, delay, and branch to COMAN (0926); see Figure
G-12.

Instruction Format.
Mnemonic
SSB

NSI

Autocoder
Lobel

.:

~perati~
sse jiOMA~,'A . ~

151

I

5

OPERAND
0

40

Assembled Instruction: K 926 A

Figure G-12.

Suppress 3-Second Alarm and Branch

:~

~

IBM 1412 Magnetic Character Reader,
Modell

Instructions applying to the 1412 cannot be successfully chained.

The IBM 1412 Magnetic Character Reader (Figure
G-13 ) can be used as a second unit to sort documents
(off-line ), or it can b e attached to an IHM 1440 Data
Processing System with sorting controlled either by the
1412 or by the stored program (on-line ). This flexibility permits the most efficient use of both the data
processing system and the 1412. Refer to IBM 1412
Magnetic Character Reader, Form A24-1421 and A243004.

Engage MICR (Mag netic In k Character Recognition)
Reader

Data Flow

The IB « 1412 reads documents into the processing
unit for processing when the read er is instructed by
the stored program to feed a document. Control over
the selection of data for transmission to the processing unit remains with the 1412 read-field keys.
Sorting functions are identical in the reader on-line
mode and reader off-line mode because sorting, in
both instances, remains under th e control of the 1412.
Th e stored program must insh"lct the 1412 to read
each document. After the data is read into the processor, th e stored program can determine the pocket to
which each document is directed by examining the
sort-column digit. In the case of error documents,
the read-check indicator and the appropliate fielderror indicators can b e interrogated ~() determin e the
type of error.

Instrtl.ction Format.
Mn emonic

0/1 Code

A-oddTess

CU

U

%Sl

d -character
E

Function. This instruction selects the 1412 and starts
document feedin g.
This insh"lction must precede LOAD FROM MAGand MOVE FROM MAG ETIC
CHARACTER READER insh·uctions. Once selected, the
1412 begins feedin g documents . Document feeding
continu es until th e 1412 is instructed to stop feeding
documents , or until a system stop occurs.
NETIC CHARACTER READER

Word Mark s. \I\ford marks are not affected.
Timing. T

= .0666 ms + I/ O.

Refer to tming chart (Figure G-30).

Address Registers After Operation.
I-Add . Reg.

A-Add. Reg.

B-Add. Reg.

NSI

%21

Ebb

Example. Engage the 1412 and start feeding documents ( Figure G-14) .
Autocoder
Labe l

O PE RAN D

:'.

.5

)0

IBM 1412 Instructions

One IBM 1412 can b e connected with the ffiM 1440
Data Processing System to read magnetic-ink characters. Insh'uction s that control 1412 operations are
presented in this section.

Assembled Instruction:

Figure G-14.

~

U %51 E

Engage Magneti(; Character Reader

Disengage MICR Reader

Instruction Format.
Op Code
U

M'1emoni c

CU

A-address

d-character

%S!

D

Function . This instruction disengages the 1412 and
signals it to stop feeding documents.
W ord Marks. \i\Tord marks are not affected.
Timing. T = .0111 (LI + 1 ) ms + I/ O .
Reft-r to the

timin~

chart

( Fi~ure

G-30).

Address Registers After Operation.
I-Add . Reg.
Figure G-13.

IBM

1412 Magnetic Character Reader

SI

A-Add. Reg.

B-Add. Reg.

%21

Dbb
G-7

Example. Disengage the 1412 and stop feeding (Figure
G-15).

A read instnlCtion is required for each document.
If the leading edge of the document reaches photocell 3 without a read instruction for that document,
the late-read indicator turns on. The indicator turns
off when the leading edge of the next document
reaches photocell 2 (read-ready time for the next
document). When the stored program is controlling
document distribution, the document must be directed to a pocket with a SELECT STACKER instruction (~d). '''hen the 1412 controls distribution, the
late-read document automatically enters the reject
pocket.

Autocoder
OPERAND

label

:~
Assembled Instruction:

Figure G-15.

,

~

U %51 D

Disengage Magnetic Character Reader

Word Marks. The word marks are read into storage
as a result of sensing A. B. A. special symbols. Therefore each position in storage containing A. B. A.
symbols also contains a word mark.

Load from MICR Reader

lnstnlction Format.
l\fnemonic

Op Code

A-address

B-address

d-clwracter

LU

1..

%Sl

BBB

R

Function. This operation causes a serial transfer of
characters from the 1412 to the processing unit. The
1412 must have previously been signaled to begin
feeding documents before this instruction can be
executed. The data processing system cannot perform any other operation during the execution of
this instruction.
The first character (including A. B. A. special symboIs) transferred from the reader to the processing
unit is placed in the storage location specified by
the B-address. Subsequent characters transmitted
from the same document enter successively lower
storage locations.

Timing. T = .0999 ms
movement~ + 1.

+ message

+

document

\)Refer to Figure G-30.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%21

B-Add. Reg.
Groupmark+ 1
(see text)

Example. Transfer characters serially from the 1412
to area labeled INPUTA (0705); Figure G-1B.
Autocoder

I'

label

Assembled Instruction:

Figure G-16.

l %51 705 R

Load from Magnetic Character Reader

When the load instruction is used, a word mark
is automatically placed in each storage position containing an A. B. A. special symbol.

Move from MICR Reader

Note: The read operation is completed when the processing unit receives an end-of-data signal.

Instruction Format.

The earliest-occurring of the following conditions
generates an end-of-data signal:

length

Mnemonic

Op Code

A-address

B-address

MU

M

%Sl

BBB

d-character
R

1. The high-order field-definition symbol for the last
field selected for reading passes the read head
(photocell 3).

Function. This operation is the same as the LOAD FROM
MAGNETIC CHARACTER READER operation, with two exceptions:

2. The leading edge of the document reaches photocell 3A during processing unit on-line operations.
vVhen this condition generates an end-of-data signal, 7.5 ms are available for stacker selection.

1. No word marks are placed in storage in those positions containing special symbols.

3. The trailing edge of the document reaches photocell 3.
4. The processing unit encounters a group mark
with a word mark in read-in storage.
G-8

2. This operation does not clear word marks from
storage.
Note: If a word mark exists in storage where a group mark
mark is placed by an end-of-data signal, the storage position
thereafter contains a group mark with a word mark.

Word Marks. Word marks are not affected.

Timing. T = .0999 ms
movement O + 1.
~Refer

+ message length + document

to Figure G-30

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%21

B-Add. Reg.
Groupmark + 1
(see text)

Example. Transfer characters serially from the 1412 to
area labeled INPUTA (0705); Figure G-17.
Autocoder

~

OPERAND

Label

:~

~

Photocell 3A is located in the transport mechanism
in such a position that the end-of-data signal occurs
after all possible inscribing positions on the document have passed under the read head. If a SELEcr
STACKER instruction is nDt given in time, the 1412
stops feeding documents (sort-compare) and directs
all dDcuments that have left the separator station to
the reject pocket.

Word Marks. Word marks are not affected.

Assembled Instruction: M %51 705 R

Figure G-17.

If the trailing A. B. A. field-definition symbol is
missing from the last read field selected, an end-ofdata signal is provided by either photocell 3 or 3A
to guarantee at least 7.5 ms for a SELECT STACKER
decision.

Move from Magnetic Character Reader

= .0333 ms.

Timing. T

Address Registers After Operation.
Select Stacker-MICR Reader
I-Add. Reg.
NSI

Instruction Format.
Mnemonic
SS

Op Code
K

d-charactel'

d
(See Figure G-18)

B-Add. Reg.
dbb

A-Add. Reg.
dbb

Example. Selects the document that was just read into
pocket number 1 (Figure G-19).
Autocoder

Function. This instructiDn directs the document that
was just read by the reader to the reader pocket
specified by the d-character.

Label

::
Assembled Instruction: K D

The reader must be operating in the processing
unit on-line mode to execute this instruction. If this
instruction is given when the reader is operating in
the reader Dn-line mode, the 1412 feeding stops and
the processing unit light turns on.
The d -character (A -M) representing one of the
13 reader pockets is sent to the 1412 and activates
the chute blade that directs the document to the
selected pocket.
The SELECT STACKER instruction must be given
before the document reaches photocell 4. Processing
time available to determine pocket selection depends on the position of the leading edge of the
document when all required reading has been completed. For example, a minimum of 13 ms is available fDr pocket selection if the tranSit-routing field is
the last read field selected.
d - character

Reader Pocket

A

A

B
C through L

B
o through 9

M

Figure G-18..

Reject

Seleet Stacker d-Characters

Figure C-19.

Select Document into Stacker 1

Select Stacker and Branch -

MICR Reader

I nstJ'uction F oJ'mat.
Mnemonic
SSB

Op Code
K

I-address
III

d-character

d

Function. The SELECT STACKER AND BRANCH instruction
functions exactly like the SELECT STACKER instructiDn,
except that the address Df the next instructiDn to' be
execu ted is specified by the I -address.
\VoJ'd

~Jarks.

Word marks are nQlt affected.

Timing.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
AddJ'ess Registers After Operation.
I-Add. Reg.
Branch (without
indexing) :
Branch (with
indexing) :

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI
G-9

Branch if MICR Reader Late-Read Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character

Timing.
No branch, or branch without indexing: T
ms.
Branch (with indexing): T = .0777 ms.

1

Function. This operation tests the 1412 to determine
whether or not it has detected a late-read condition (document reaching photocell 3 without a READ
instruction for that document). This indioator turns
off when the next document creates a read-ready
condition.
Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing. T
ms.
Branch (with indexing): T = .0777 ms.

= .0666

Address Registers After Indexing.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
2bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the read-not-ready indicator. If the indicator is ON, branch to RNRTST (0735); Figure
G-21.
Autocoder

r

OPERAND

:'.

Label

Address Registers After Operation.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
Ibb

NSI

BI

blank

NSI

BI

NSI

Autocoder

. ~

Assembled Instruction: B 735 2

Figure G-21.

Example. Test the late-read indicator. If the indicator
is ON, branch to LRDTST (0623); see Figure G-20.

r

= .0666

Branch If Magnetic Character Read-Not-Ready
Indicator On

Branch if MICR Reader Read-Check Indicator On

lnstruction Format.

label

Mnemonic
BIN
Assembled Instruction: B 623 1

Figure G-20.

Branch If Magnetic Character Reader Late-Read
Indicator On

Branch if MICR Reader Read-Not-Ready Indicator On

Op Code

l!.

I-address
III

d-character
2

Function. This instruction tests the read-not-ready
indicator and branches to the instruction specified
by the I -address when the indicator is ON. The leading edge of a document passing photocell 2 turns off
the indicator when the trailing edge of the previous
document has passed under photocell 3. This occurs
for the 15 ms prior to the reading of the document.
This indicator turns on when the leading edge of the
document passes photocell 3. A read instruction
should be given only when the read-not-ready indicator is off.
'Vord Marks. Word marks are not affected.
G-IO

J!

I-address
III

d-character
3

Function. This operation tests the read-check indicator and branches to the instruction specified by the
I -address when the indicator is on. The indicator
turns on during a read operation if any of the selected fields have:
1. an unreadable digit or symbol

Instruction Format.
Mnemonic
BIN

Op Code

2. a wrong sequence of symbols
3. missing digits or symbols

4. a missing field
5. an account number self-check-digit verification
error.

This indicator turns off when the leading edge of
the next document passes photocell 3.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch (with indexing): T = .0777 ms.

Address Registers After Indexing.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
3bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the amount-field indioatDr. If the indicator is ON, branch to AFDTST (0688); see Figure
G-23.
Autocoder
OPERAND

:'.

Example. Test the read-check indicator. If the indicator is on, branch to RCKTST (0432); Figure G-22.

Assembled Instruction: B 688 4

Figure G-23.
OPERAND

Branch If Magnetic Character Reader ReadCheck Indicator On

Branch if MICR Reader Amount-Field Indicator On

Instruction Format.
Mnemonic

BIN

Or Code
B

Branch If Magnetic Character Reader AmountField Indicator On

Branch if MICR Reader Process-Control Field
Indicator On

Assembled Instruction: B 432 3

Figure G-22.

~

I-address
III

d-character
4

Function. This Dperation tests the amount-field indicator and branches to' the instruction specified by
the I-address when the indicatDr is ON. The indicat01.'
turns on during a 1412 read Dperation if:
l. Any of the characters in the amount field (including the amDunt special symbDls) are unreadable.
2. Special symbols are missing or Dut of sequence.
3. The field is missing.
4. The field length is invalid.

Instruction Format.
Mnemonic

017 Code

BIN

B

I-address
III

d-character

5

Function. This Dperation tests the prDcess-control field
indicatDr and branches to' the instructiDn specified
by the I-address when the indicator is on. The indicator turns ON during a 1412 read operation if:
1. Any of the characters in the process-control field
(including the special symbDls) are unreadable.

2. The field is missing.
3. Special symbols are out Df sequence or are
missing.
4. The field length is invalid.
5. The late-read indicatDr is on. The process-control
field indicator turns off when the leading edge of
the next document passes photocell 3.

'Vord Marl(s. Word marks are not affected.

5. The late-read indicatDr is on. The amount-field
indicatDr turns off when the leading edge of the
next dDcument passes photocell 3.

Word Marks. Word marks are not affected.
Timing.
NO' branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Indexing.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
4bb

NSI

BI

blank

NSI

BI

NSI

Timing.
No branch, or branch without indexing: T = .0666
ms.
Branch with indexing: T = .0777 ms.
Address Registers After Indexing.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
5bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the process-control field indicator. If
the indicatDr is ON, branch to PCFTST (0892); see
Figure G-24.
G-ll

Autocoder

L

Label

r

.:

Autocoder

.p'p-t'd
'lilN :!Pc F/:."tJ 5. ~

OPERAND

OPERAND

:'.

:'.

.~
Assembled Instruction: B 392 6

Assembled Instruction: B 892 5

Figure G-24.

Branch If Magnetic Character Process-Control
Field Indicator On

Figure G-25.

Branch If Magnetic Character Account-Number
Field Indicator On

Branch if MICR Reader Account-Number Field
Indicator On

Branch if MICR Reader Transit-Routing Field
Indicator On

Instruction Format.

Instl'uction Format.

Mnemonic
BIN

Op Code
B

I-address
III

~

d-character
6

Mnemonic
BIN

Op Code

Jl

I-address
III

d-character
7

Function. This operation tests the account-number
field indicator and branches to the instruction specified by the I -address when the indicator is on. The
indicator turns on during a 1412 read operation if:

Function. This operation tests the transit-routing field
indicator and branches to the instruction specified
by the I -address when the indicator is on. The indicator turns on during a 1412 operation if:

1. Any of the characters in the account-field (including the special symbols) are unreadable.

I. Any of the characters in the transit-routing field
(including the special symbols) are unreadable.

2. The field is missing.
3. Special symbols are missing or out of proper
sequence.

4. The field length is invalid.
5. The late-read indicator is on. If the 1412 is
equipped with the self-checking number special
feature, self-checking digit errors also tum on
the account-number field indicator. The accountnumber field indicator turns off when the leading
edge of the next document passes the photocell 3.

2. The field is missing.
3. Special symbols (except the dash) are missing or
out of sequence.

4. The field length is invalid.

5. The late-read indicator is on. The transit-routing
field indicator turns off when the leading edge of
the next document passes photocell 3.
~lo1'd

Marks. Word marks are not affected.

''''ord Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
6bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the account-number field indicator. If
the indicator is on, branch to ANFTST (0392); see
Figure G-25.
G-12

= .0666

Address Registers After Indexing.

Address Registers After Indexing.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
7bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the transit-routing field indicator. If the
indicator is ON, branch to TRFTST (0543); see Figure
G-26.

Programming Considerations on the laM '4' 2

Autocoder
OPERAND

:'.

~

Assembled Instruction: B 543 7

Figure G-26.

Document Spacing Error

Branch If Magnetic Character Reader TransitRouting Field Indicator On

Branch if MICR Reader Document-Spacing Check
Indicator On

Op Code
~

I-address
III

d-character
8

Function. This instruction tests the document-spacing
check indicator and branches to the instruction specified by the I -address when the indicator is on. The
testing must be made only after the trailing edge of
the document passes photocell 3. This is nearly
equivalent to read-ready time.
The document-spacing check indicator turns on
when there is less than a minimum space between
documents, or when a document is longer than a
specified maximum.
This indicator turns off when the leading edge of
the next document passes photocell 3.

Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Branch
(without indexing)
Branch
(with indexing):

1. The space between documents at the read station
is less than 3 inches.

3. The document is more than 9 inches long.

1£ the indicator is on at read-ready time, the document
just read is directed to the reject pocket, regardless of
instructions.

SELECT STACKER

Engage Line

After the engage line is turned on by an
instruction, it is turned off only:

1. by a

DISENGAGE

2. by pressing

ENGAGE

1412

1412 instruction.

START/RESET

on the console panel.

3. if the check-reset light, located on the console panel,
is on.

These machine errors require a restart procedure. This
restart procedure must always include an ENGAGE
1412 instruction.
Serial Number (Auxiliary On-Us) Field

Consider these facts when processing data from the
serial number field:

Address Registers After Indexing.
No Branch:

The document-spacing indicator turns on if:

2. The distance between leading edges of adjacent
documents at photocells 3 and 4 is less than 9
inches.

I nstruction Format.
Mnemonic
BIN

The conditions described in this section are items that
will assist th~ programmer in developing the programs.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.

8bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the check indicator, and branch to
location labeled DSCTST (0650); see Figure G-27.

1. When operating in the processing unit on-line
mode, inscribing in the serial number field must
not extend beyond 7% inches from the leading edge
if the serial number is to be read.
2. The reader on-line mode allows reading beyond
the first 7% inches of a document.
3. There is no field-length count on the serial number
field.

Autocoder
OPERAND

~: . ~
Assembled Instruction: B 650 8

Figure G-27.

Branch If Magnetic Character Reader Document Spacing Check Indicator On

Word Marks

A word mark accompanies each special symbol read
into the processing unit when the LOAD instruction is
used. All special symbols (except the dash symbol)
associated with active read fields read into the system.
G-13

1-987

YOUR NATIONAL B~_K ~

NO...--L-/_ _ _-

'~~ ':

1l.~~.«/

~

.............

-II

New York, N. Y.~19M

=d¥~~
$

CHIECK
"OUTING
.YM.OL

2iO

AaA
T"AN.IT
NUM_IE"

~,",'

,<;>

,,,0

$

~~ N
DOlLARS

A B.

DBPOSITOR
MARY F. DBPOSITOR

~V::,c?~.a:v

ACCOUNT
NUMalE"

-----"

~-------~
~O.TQUALI".IIED

~"ItQUALI"'II£D

5 5

5

IIIIIIIJj
Figure G-28.

Inscribed 6-Inch Check Read into Storage Correctly

Group Marks

A group mark only enters storage in the processing
unit at the end of each READ FROM 1412 operation.

Clearing Storage after Read Errors

Clear the read-in area before each read-from-1412
operation. This ensures that only data from the document currently being read is in storage at the end of
any read operation.

minated by recognition of the proper trailing special
symbol or any other field definition special symbol.
(Dashes are not interpreted as field definition special
symbols.) The following examples are used to illustrate the preceding statements. Note that a field is
not valid unless it has the proper leading symbol and
the proper trailing symbol. For the examples, a document containing all fields except the serial number
field has been chosen. All inscribed fields on the document have been selected.

Data Stored without Read Errors
Data in Storage

A field cannot be read if the proper leading special
symbol of that field is not recognized. The field is ter-

Figure G-28 illustrates data correctly inscribed on the
original document, and illustrates its appearance in
storage.
5 5
7 7
3 4
V

Figure G-29.

G-14

Data Read into Storage, First Amount Symbol Nat Identified

5
8
3
V

5
9
4
V

5
9
9
V

Data Stored with Read Error Conditions

1. If the low-order amount field symbol (1 S S 1) is
not identified, nothing enters storage until a special symbol is identified. The dollar amount field
never enters storage. The amOount and process control fields are in error. All fields except the amount
field enter stOorage (Figure G-29). Note that the
dash does not enter storage.
2. If the second amount symbol (2 S S 1) is not identified, the dollar amount field and process control
field are in error. They appear in storage with the
second amount symbol represented as an asterisk.
All other fields are in storage.
3. If the first on-us symbol (1 S S 2) is not identified,
the process control and account number fields are
in error. They appear in storage with the first
on-us symbol represented as an asterisk. All other
fields are in storage.
4. If the first transit symbol (1 S S 3) is not identified, the account number and transit fields are in
error. They appear in storage with the first transit
symbol represented as an asterisk. All other fields
are in storage.
5. If the second transit symbol (2 S S 3) is not identified, the transit field is in error. The second transit
symbol appears as an asterisk. All other fields are
in storage. When operating in the processing unit
on-line mode, the end of data occurs, for documents less than 7% inches long, when the trailing
edge of the document passes photocell 3, and, for
documents 7~,~ inches or longer, when the leading
edge of the document passes photocell 3A. When
operating in the reader on-line mode, the end of
data occurs when the trailing edge of the document passes photocell 3.
6. If a dash in the transit field is not identified, the
transit field is in error. An asterisk appears as aL
extra character position in storage.
7. A missing dash (S S 4), a missing blank space,
extra dashes, or extra blank spaces cause no readin errors. Blank spaces and missing dashes are not
transmitted to storage.
8. A missing character in any field causes that field
to be in error. It forces all data that is to the left
of the missing character on the check to shift one
position up in storage.
9. An unreadable character (including the dash symbol) causes that field to be in error and an asterisk
tOo be inserted in that pOosition.

10. A missing field symbol is the same as an unreadable symbol except that an asterisk is not placed
in storage.
11. If the transit routing field is not selected and the
first transit symbol (1 S S 3) is not identified, the
1412 continues to load the transit field and stops
after sensing the secOond transit symbol. The first
transit symbol enters storage as an asterisk. The
account-number field is in error. The accountnumber field and the transit field enter storage.
For this example, assume that the account-number field has been selected.
12. If the amount and transit fields are selected and
the second amount symbol is not sensed, the 1412
continues to read data into storage until it senses
a field-definition special symbol or an end-oF-data
condition.
13. If the amount and transit fields are selected and
the first transit symbol is not senseG: only the
amOount field and the second transit syrnbol enter
storage. The 1412 considers the second transit
symbol to be the first transit symbol (1 S S 3) and
continues to read data until it senses an end-ofdata condition. If the serial number is on the
check, sensing an on-us symbol causes an endof-data signal.
14. A second on-us' symbol (S S S 2) before the first
transit symbol (1 S S 3) is acceptable. The S S S 2
acts as a closing symbol for the account number
field and takes an extra position in storage. If the
S S S 2 is unreadable, the account number field is
in error and an asterisk enters storage, even though
the first transit symbol is readable.
15. If the S S S 2 is missing but the first S S 3 is present
and readable, the account number field enters
storage as a valid field.

16. Any special symbol conflict causes all field error
la tches to tum on.

Stop Conditions

The stored program must be written to handle stops
initiated in the data processing system.
Whenever possible, initiate system stops by pressing
the 1412 stop-restore key. When this is done, source
documents stop feeding in the 1412. All data read is
properly entered into the system and correctly processed. The system can then be stopped with a mini-

G-15

mum of problems, and the program will have stopped
in a read-not-ready condition. All additional processing
will have been accomplished.

uct is the average number of milliseconds required
f0'r each document.

Whenever any other stop key in the system is
pressed, the stored program executes the instruction
being handled. Then, the processing unit stops operating.

Example: If the average document length is 8
inches, then 8 in/doc. X 2 X 5 ms/in. = 80 ms per
dDcument. Because 2 and 5 are constants, they can be
combined to arrive at the formula: A X 10 = ms/document, where A is the average length of the document.

All documents in the 1412 whose leading edges are
past photocell 1 when the processing unit stops continue to' feed through the reader. Those whose leading edges are past phDtocell 4 have been read into
the system, and have been correctly distributed. Those
whose leading edges have nDt reached photocell 4, but
whose active read-fields have passed the read head
when the system stops, have entered data into the
system cDrrectly, but have not been properly distributed. Those that have started under the read head
but whDse active data fields have not completely
passed under the read head, have entered part of their
data into the system, and have not been assigned
distribution. Those whDse leading edges have not yet
reached phDtocell 3 have been neither read nor assigned distributiDn.
A system-error stop acts upon the 1412 in the same
manner.
The stored program, therefore, must be written to
print Dut (or otherwise indicate to the operator) the
last data entered into storage. With this information
the operator can determine the last document read
and verify the accuracy of document distributi0'n. This
print-out indication is also needed in case of 1412
jams and 1412 emergency stops.

IBM J4 J2 Timings
Determining the 1412 Feeding Rate

To devel0'p a formula for the 1412 feeding rate:
1. Documents move through the 1412 at a rate
ms per inch.

Df

5

2. The average space between documents apprDximates the average length of the documents.
3. One millisecDnd is equal to 1/1000 of one second.
To find the average 1412 document cycle time:

However, a figure in documents-per-minute will be
more practical. To determine the number of milliseconds per minute, multiply 1000 (ms per sec.) X 60
(seconds per minute). 1,000 X 60 = 60,000 milliseconds
in a minute.
To determine the number of dDcuments per minute, divide the number of millisecDnds per minute
by the dDcument cycle time (in milliseconds). Therefore, the formula is:
60,000
6,000

-7-

-7-

(A

X

10), or

A

Example: Using the example 0'f 8 inches for an
average document:
6000

-7-

8 = 750 documents per minute.

Feed Call

Figure G-30 illustrates, schematically, the path Df a
document through the 1412. The positions of five photoelectric cells, which detect the presence or absence
of a document, are shDwn.
Pressing the 1412 start key feeds documents to photocell 1. To m0've documents past photocell 1 when
operating on-line, the stored program must initiate a
1412 feed call by supplying an ENGAGE 1412 instruction. During normal operations, the feed call is available when documents reach phDtocell 1. This allows
a continuous flow of documents from the separator
station. However, if a feed call is not available when
the leading edge 0'f a dDcument is sensed at ph0'tocell
1, the document stops. If a feed call is interrupted at
any time after its leading edge is sensed at phDtoceB 1,
that document feeds on to a pocket.

Conditions that I ntel'rupt the Feed Call. Conditions
that interrupt a feed call and stop document feeding with a document under photocell 1 are:

1. Determine the average length of the documents.

1. A

2. Multiply this figure by two. (This accounts for the
space between documents.)

2. A pDcket in (he 1412 is full.

3. Multiply this result by 5 (ms per inch). This prDd- .

3. The unIDad-pocket/restart key has been pressed.

G-16

DISENGAGE

1412 instructiDn has been issued.

Documents stop feeding here unless reader is engaged
Engage-feed line is broken by: disengage instruction, full pocket, pressing unload-pocket/restart switch before a full pocket condition, no·
read-field key activated during processing unit on-line operations, electronic accumulator print cycle, single-feeding mode, single-cycle operation (customer engineering aid).
Leading edge turns late-read indicator off
Document-spacing test.
Leading edge resets document reject latch.
Leading edge turns read-not-ready line off
Document spacin"g test. Both test indicators on indicates less than 3" between documents.
Leading edge turns late-read indicator on
Leading edge resets recognition circuits
Leading edge resets sort register
Leading edge resets error indicators
Leading edge turns read-not-ready indicator on. If the 1412 is disengaged and this indicator remains on 150
there are no more documents.
Trailing edge of documents indicates end of data signal to processing unit causing group mark in storas
if last field definition special symbol is missing (on-line modes)
Trailing edge of documents less than 7X inches in length initiates end-of.data signal, causing group mark
processing unit storage if last field definition special symbol is missing (processing unit on-line mode only)

All data fields have passed read head. This photocell is activ~ in (processing unit on-line mOl
only)
Leading edge of documents exceeding 7X inches in length initiates end of data signal, caush
group mark in processinng unit storage, if last field definition special symbol is missing (proce!
ing unit on-line mode only)
Program must provide stacker-select instruction by the time the leading edge of the doc
ment reaches this position.
Leading edge resets routing register.
Trailing edge of document initiates the sort-compare test.
Document
-Iength-f--o
test here.
Leading edge sensed here before} Indicates a long document or two
trailing edge is sensed here
documents over· lapped.
~---------+--r----------

....................-150 ms
50 ms minimum till
read.ready time from
engage instruction

~

50 ms minimum

15 ms

37.5 ms

7.5
ms

POCKETS
Photocell 1
Photocell 2

-

Photocell 3
Photocell 3A

.

l!

Photocell 4

..

DIRECTION Of DOCUMENT MOVEMENT

Figure G-30.

IBM

1412 Timing Chart

G-17

4. No read-field key was pressed for a processing
unit-on-line operation.
5. The electronic accumulator - sequence-checking
feature is executing a print cycle.
6. The machine is single-cycling in the customerengineeTing single-feed mode.
All these conditions except the disengage instruction cause the stored program to enter a programmed read-not-ready loop (no document sensed
by photocell 2).

end-of-data signal. The SELECT STACKER instruction
must be available to the 1412 when the document
reaches photocell 4. The time available for selection
can be determined by measuring the distance between
the leading edge of the document and photocell 4
when the stored program receives an end-of-da.ta
signal.
A formula for select-stacker time is: (9 - R)

X

5.

9 = inches between read head and photocell 4.
R = distance between the leading edge of the document and the
read head when the end-of-data signal is generated.
,5 = number of milliseco;nds per inch of document travel.

When no read-error occurs, these timings apply:
Time Between Documents

The minimum time between documents is 15 ms.

1. Amount field only is selected. The available time is
35 ms for stacker selection and'l-35 ms for processing.

Documents in Flight

2. Process control field is last field selected. Timing
depends upon the maximum number of digits to

A disengage 1412 instruction interrupts the feed call.
Any documents whose leading edges have passed photocelll must be processed by the processing unit program.
Photocell 3 is located near the read head. The distance between photocell 1 and photocell 3 is 101%6
inches. NormaHy, the spacing between documents is
approximately equal to the length of the trailing document. The minimum spacing is 3 inches. 'When the
minimum length check (6 inches) and the m,inimum
spacing requirements are considered, a program would,
under valid conditions, need to handle the processing
of two documents after a disengage instruction. However, if less than the minimum spacing is present, or a
document is short, it is possihle to have as many as
three documents whose leading edges have passed
photocell 1, but have not yet reached the read head.
Because everyone of these documents must be read
and distributed (if only to determine invalid spacing),
write .the program to halt if more than three documents are read after a disengage instruction.
When a read-not-ready condition exists for 115 ms
after a DISENGAGE 1412 instruction has been executed,
the stored program can proceed as if there are no
more documents to be processed.
Select Stacker Timings

Processing time for stacker selection begins with the

G-Z8

be read. Use the formula to determine select-stacker
and processing time.
3, Account number field is last field selected, Read
fields can use 4 1.Y1r, inches of document space. Available time is 20 ms for stacker selection and 20 ms
for processing.

4. Transit routing field is the last field selected. The
transit/routing field can extend as far as 6%6 inches
from the leading edge. This condition allows 13
ms for stacker selection and 15 ms fO'r processing.

5. Serial number field is selected. If the serial number field is selected, only 71h ms are available for
stacker selection. Because this field may not be
inscribed on some documents, the end-of-data signal must be generated by the leading edge of the
document passing photocell SA. Processing time is
15 ms.
Note: More than
tion when:

7~~

ms may be available for stacker selec-

1. the document is completely read before the leading edge of
the document reaches photocell 3A.

2. the document is less than 7* inches long
3 a group mark with a word mark is reached in storage.

Because it is impossible to estimate the actual time
available in such cases, 71h ms should be used as the
minimum time available fO'r processing and programsorting the error document.

IBM 1448 Transmission Control Unit
Data processing, without fast accurate communication,
is limited by the numerous d elays b etween th e source
of data and the processor . A da ta processing system
serving as a central control for many remote locations
requires the b est techniques of data communication.
The ideal method is a combination of communication
and processing operations in an effective single system.
IBM Tele-processing systems are serving business
and industry by combining computer operations and
data transmission facilities into integrated data processing systems. H ere are th e speed, convenience, and
efficiency of centralized data processing for the business, large or small, that is physically decentralized.
H ere is the control center for the financial institution
that requires, at a cen tral point, variable or fixed information from many loca tions. Refer to IBM 1448
Tmnsmission Control Unit, Form A24-3010.

Transmission Control
Each line added to a communication network increases
the possibility of delay and error. Speed and dependability of a communication system depend on the control equipment, which blends the array of tran smission
lines into an efficien t ne twork. Transmission control is
the nucleus of any communication system made up of
many lin es, each with a number of terminals, leadirrg
to a central point.
The three basic purposes for transmission control in
an integrated data processing system are:
1. to establish a connection b etween the central processor and the terminals on the communication circuit.

Fif,,'1.lre G-31.

mM: 1448 Transmission Control Unit

Th e 1448 with its associa ted processor handles such
applications as inquiry and file updating. The 1448
and processor combination controls transmission of info rmation, and processes this information in-line.

2. to prevent indeterminate situations on th e line, such
as distorted transmission or garbled or lost signals.
3. to allow for the requirements of the data processing
equipment.
The IBM 1448 Transmission Control Unit (Figure
G-31 ) is an economical means of entering numeric, alphabetic, and special-character data directly into an
IBM data processing system from as many as 40 halfduplex multipoint communication lines (Figure G-32).
Information can b e transmitted on half-dupl ex lines in
either direction , but only on e direction at a time. This
IB;V[ Tele-processing system component llirects and
regulates the flow of data and provides compatibility
among terminals and processing and exchange devices.

Card
Rea dPunch

Data
Processing
System

1448

As Many as
40 Half-Duplex
Communicat ion lines

Figure G-32.

The Processor Controls as Many as 40 HalfDuplex Channels

G-19

Magnetic Tape

Processing
Unit

Figure G-33.

IBM

Direct Data
Channel

1448 and Processor Serving a Central Data Processing System

The 1448 and the data processing system provide
on-line peripheral service to other IBM data processing
systems (Figure G-33). In this role, the 1448 processor combination functions as a stored-program transmission control system that controls and monitors the
lines and assembles messages.
Transmission data is transferred from communication lines to processor core storage. The processor
stores the message data on disks, and transfers the
data to another processor Dn a scheduled or demand
basis. The disks can also be transferred manually to
other systems having IBM 1311 Disk StDrage Drives.
With the direct-data-channel feature, data is transferred directly to and from another IBM data processing system having direct-data-channel capabilities.
This expanded system covers a list of other operations: format checking of incoming messages, editing
and scheduling outgoing messages from the data of
the second processor, message accounting, and message switching. The second processor takes over a
share of the total required systems function, and uses
the first processor with its di:ik-storage capabilities as
a backup.
Effectiveness and efficiency of large systems increase
substantially with the IBM 1440 Data Processing System as a peripheral data converter (card-to-tape, tapeto-tape, and tape-to-printer). A 1448/1440 system (for
transmission, data cDnversion, and editing) magnifies
even more the economy and efficiency of the system.
With the 1448, a decentralized system becomes, in
effect, centralized. The program of the processing unit
control unit is an instrument of that control.
G-20

As Many as 40 Half-Duplex
Communication Lines

Operation
The exchange Df informatiDn between the 1448 and
the processor is initiated by a scan operation code associated with a priority interrupt. An interrupt is a temporary interruption of the processor's main routine by
an external signal, in this case, from the 1448. The
main routine continues in sequence after the interrupt
routine, including the scan operation if completed.
The scan operation itself causes the automatic transfer of characters from the 1448 to the message assembly areas in the processor.
The stored program assigns the message-assembly
and distributiDn areas, which are variable in both
length and location.

IBM 1448 Instructions
The instructions described in this section are used with
the IBM 1440 Data Processing System to provide for
the exchange of information between the IBM 1448 and
the processor.
Instructions applying to the 1448 cannot be successfully chained.

Scan

Instruction Format.
Mnemonic

0]) Code

B-Address

None

o

BBB

Function. The SCAN instruction, in actual machine language, is made up of an alphabetic 0 as the opera-

tion code, and a 3-character address representing the
high-order position of the scan control field.
The SCAN instruction is restricted to basic singleaddress format and must be followed by a word
mark in the next location. An attempt to force a
2-address format causes an improper address in the
B-address register at the beginning of instruction
execution time, and the instruction affects storage
locations other than the intended control field.

1. Any buffer-full condition on the receiving lines.
2. Any buffer-empty condition Dn the transmitting
lines.
3. Any status condition with an EOB (end-of-block)
bit.
4. The 1448 requests the next polling address.

Word Marks. Word marks are not affected.
Timing. T

Interrupt Instructions
Any of these conditions in the 1448 makes the 1448
request an interrupt Df the processor's main program:

The interrupt routine contains the necessary preparatory operations and the scan operation. The actual
interruption of the main prDgram takes place when an
instruction is being read, but before the execution of

= .0111 (6 + 2NI + 5M + 6P + 7R) ms.

NI = The number of idle lines or receiving lines with
empty line buffers, andlor the number of transmitting lines with one or more characters in the
line buffers at the beginning of the scan operation, and lor the number of polling lines that do
not need a new polling address.
M = The number of receiving lines with one character in the line buffers at the beginning of the
scan operation.
P = The number of receiving lines with two characters in the line buffers, andlor the number of
transmitting lines with empty line buffers at
the start of the scan operation.
R = The number of lines in RECEIVE-CONTROL status
that are transferring 2-character polling addresses from the processor to the 1448.

OPERATIONS
DESCRI PTIO N

Add
Branch
Branch if Bit Equal

A
B
W

7
5,8
8

A
B
W

1,4
1,4
1,4

Branch if Word Mark or Zone
Compare
Control Carriage

V
C

8
7
5

V
C

1,4
1,4
2

/

7
7

/

%
E

7
7
7

Control Unit
Clear
C lear Word Mark

0

Maximum execution time:
T = .0111( 6 + 7L) ms.

Halt

Address Registers After Operation.
B-Add. Reg.
End of Control
Field + 3

Example. Scan 1448 lines for input or output traffic.
In Figure G-34, the beginning address of the control
field is labeled CTRLWD (0300).
Autocoder
OPERAND

label

~o

Assembled Instruction: 0

Figure G-34.

Scan

40

45

X

.

0
%
E

X

2,5
1,4
1,4
4
4
1,4

.

All

L

7

All
L

Modify Address
Move (Excluding I/O)
Move Digit

#
M
D

7
7
7

#
M
D

1,4
1,4
1,4

Move Record
Move and Suppress Zeros
Move Zone

P
Z
Y

7,8
7
7

P
Z
Y

1,4
4
1,4

Multiply
No Operati on
Scan

@
N

7
5,7,8

@
N

4
1,2,4
4

Load (Excluding

A-Add. Reg.

F

5,7

I/o Operations

Storage address of
the last data cycle.
If no data cycles are
taken, it is the address of the beginning of the control
field.

F

U

Divide
Edit
Expand Compressed Tape

NSI

Non -Interrupta bl e

Op Code Length Op Code Length

Minimal execution time:
T = .0111(6 + 2L) ms.
L = The number of Hnes.

I-Add. Reg.

Interruptable

I/O)

0

1,2,4
1,4

Q

5
7
7

Q

2
1,4
1,4

Store B - Register
Subtract
Translate

H
S
T

7
7
7,8

H
S
T

1,4
1,4
1,4

Zero and Add
Zero and Subtract

?
!

7
7

?
!

1,4
1,4

Se lect Stacker
Set Word Mark
Store A - Register

K

,

K

,

~o

300

Figure G-35.

Interruptible Instructions

G-21

that instruction. Only unchained operations can be
interrupted. Figure G-35 is a list of interruptible operations.
The interrupt causes a program skip to address 182
in the processor, where the first instruction of the
interrupt routine is located.
An interlock prevents interrupting while the system
is in the interrupt routine. The ENABLE INTERRUPT AND
BRANCH instruction resets the interlock at the end Df
the interrupt subroutine. The interrupt routine must
include:
1. Store B-address register contents. The address in
the B-address register must be decreased by four to
establish the position of the interrupted mainprogram instructiDns. This new address is placed in
the ENABLE INTERRUPT AND BRANCH instruction.
2. Saving program conditions (arithmetic overflow,
high-low-equal compare and index locations), if
they might be lDst during the interrupt subrDutine.
After the interrupt subroutine, the program must
restore these conditions.

The maximum time for noninterruptible operations in the main program immediately following a
soan operation is 132.5 ms (14.8 cps) minus the
time taken by the interrupt routine. Assume that
the time from interrupt to the execution of the scan
operation is 4.0 ms .. The maximum length of a noninterruptible operation in the main program is then,
about 128.5 ms (time D for 14.8 cps).
With a mixed system (more than one type of
terminal) the shorter time applies.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
>bb

B-Add. Reg.
>bb

Example. Reset the internlpt indicator after an input/
output request from a 1448 line (Figure G-37).
Autocoder
[ L 6Label

p'perati~

OPERAND

L====:. ==~'~is;s~s=~J~Ot~;==~~~5===~~~O===~3:5===~4O~===~4~5===~~O
=:

Assembled Instruction: K

Figure G-37.

>

Enable Interrupt

Enable Interrupt

Instruction Format.
Mnemonic

Op Code

d-character

5S

K

>

Disable Interrup!

Function. The ENABLE INTERRUPT instruction is made
up of K for the operation code and a bit cDnfiguration ofB-4-2 for the d-character. The interrupt subroutine is reset, and the program continues with the
next sequential instruction.
Word Marks. Word marks are not affected.
Timing. T = .0333 ms. The interrupt precedes a possible 1448 buffer-overflow by at least the number of
milliseconds in time A of Figure G-36. It follDws a
scan operation no sooner than time B of Figure G-36.
The minimum time between a scan operation and a
possible 1448 buffer-overflow is time C of Figure
G-36.
Character Rate
of Terminal

14.8

Time A

67.5 ms

41

ms

59

59

ms

ms

Time C

132.5 ms

100.2 ms

Time D

128.5 ms

96.2 ms

Interrupt Timing

Mnemonic
SS

Op Code
K

d-character

<

Function. The DISABLE INTERRUPT instruction consis,ts
of K for the operation code and a bit configuration
of B-A-8-4-2 for the d-character. This ins,truction, by
setting the interrupt interlock, prevents the processor from honoring any interrupt requests. The
interrupt interlock is reset by the ENABLE INTERRUPT
instruction.
Word Marks. Word marks are not affected.
Timing. T

60

Time B

Figure G-36.
G-22

Characters Per Second

1nstruction Format.

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.


Function. The ENABLE INTERRUPT AND BRANCH ins.truction, which is used to re-enter the main program, is
made up of K as the operation code, a 3-character
I-address representing the contents of the B-address
register minus four at the time of interrupt, and the
d-character with bit configuration 8-4-2. The interrupt routine interlock resets, and the program
branches to the instruction address.
Word Marks . Word marks are not aHec:ted.

B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Example. Reset the interrupt indicator and return to a
non-multiplexing routine by branching to NEXT
(0800); Figure G-39.
Autocoder

!

OPERAND
49

NSI

BI

blank

NSI

BI

NSI

Autocoder
Label
:

perati~21

rsSS8SHtFT,<

I~ lIS
!

~5

OPERAND
•

~9

49

Assembled Instruction: K 900

:~

~9

<

Disable Interrupt and Branch

Instruction Format.

A-Add. Reg.

Label

B-Add. Reg.

Branch If End-of-Block

Address Registers After Operation.
Branch
(without indexing)
Branch
(with indexing):

A-Add. Reg.

Example. Prevent a 1448 interrupt and branch to the
disk-file routine labeled MORE (0900). See Figure
G-40.

Figure G-40.

Timing.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

I-Add. Reg.

I-Add. Reg.
Branch
(without indexing)
Branch
(with indexing):

4~

~9

Mnemonic

Op Code

BIN

B

I-address
III

d-character

>

Function. The BRANCH IF END OF BLOCK instruction is
made up of H as the operation code, an I-address,
and the d-character > with bit configuration 8-4-2.
When a processor status character contains an
end-of-block bit, the end-of-block indicator turns on.
If it is ON, when the BRANCH IF END OF BLOCK instruction is executed, the next instruction is taken
from that branch address. If the indicator is OFF, the
program continues to the next sequential instruction.

:

Assembled Instruction: ~ 800

Figure G-39.

The indicator is reset at the start of each scan
operation.

>

W01'd Marks. \;Yord marks are not aHected.

Enable Interrupt and Branch

Disable Interrupt and Branch

Instruction Format.
Mnemonic

SSB

Op Code
K

I-address
III

d-character

<

Function. The DISABLE INTERRUPT AND BRANCH instruction is made up of K as the operation code, a 3character I -address representing the next instruction,
and a bit configuration of B-A-8-4-2 as the d-charactel'. This instruction is the same as DISABLE INTERRUPT
except that the next instnlCtion is specified by the

Timing.
No branch, or branch without indexing: T
ms.
Branch with indexing: T = .0777 ms.

= .0666

Address Registers After Operation.
No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
>bb

NSI

BI

blank

NSI

BI

NSI
G-23

Address Registers After Operation.

Assembled Instruction:!. T13

Figure G-41.

No Branch:
Branch
(without indexing)
Branch
(with indexing):

>

Branch if End of Block

Example. If the end-of-block indicator is ON, branch to
routine beginning at EOBRTN (1313); Figure G-41.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
-y:.;;,;es_---f

~No~_-<

Set Program-Switch

End-ol-Job

in Main Program

Routine

This branch indicator is set ON when the document
hopper is empty. If this indicator is on, the program
can be made to stop the system, or to branch to another routine.
Timing-Mark Check

This branch indicator comes on when the timing-mark
track on the data sheet just read was found to be
unacceptable, either by extra or missing timing marks.

Note: 75ms must elapse between Buffer-Full and Timing-Mark-Check
il Control-Timing-Mark switch is set to YES.

Figure G-53.

IBM

1231 Program Control- On-Demand Mode

G-33

IBM 7770 Audio Response Unit,

Modell, Programming

Evaluate Inquiry
and Compare
Reply

The IBM 7770 Audio Response unit provides a spoken
reply message to a digital inquiry entered by the user.
This reply is formed by selecting pre-recorded words
in a specific sequence to form a message. Because the
7770 is merely an input, storage, and output device,
the processing unit must generate and issue the word
sequence to the 7770. This is accomplished by a userwritten program. Refer to IBM 7770 Audio Response
Unit, Form A22-6800.
The 7770 message-control portion of the program
should consist of the following phases:

Store the B Address
of Instruction at ~..

Write Reply

tomO

Testing SubRoutine, Figure

G-58

Inquiry Input: -Read the inquiry into core storage.
Determine if it is a test message. Check inquiry for
proper length.
Evaluat-ion of Input: Determine the information required. Check security code, if present.
Figure G-54.

Information Retrieval: Obtain requested information
from system resources (core storage, disk or ~ape
files, etc.). GET output-message format, if required.
Message Assembly and Output: Extract requested information from the account £Ie, and place in the
proper order in the output area. Write the output
area to the 7770.
The IOCS for 1311 file provides the necessary GET
and PUT instruction macros for the retrieval and
placement of 7770 input and output information. The
IOCS requirements must be properly defined. See
IOCS Usage.
Figure G-54 shows the program necessary to service the 7770 in a disk-storage environment. Perform
the unconditional branch of the polling subroutine
about every 3 to 5 seconds of main-line program
time (a maximum of 10 seconds is permitted). This
time depends on the type of main-line program
being run. The wide latitude of time between polling operations is provided because polling and servicing routines should allow service of all waiting
inquiries before returning to the main-line program.

Inquiry Processing Subroutine

inquiry to be processed, the read will return a firstcharacter-tape-mark response. This must be interpreted by the user's program as no-service-required and a return to the main-line program can
take place at this point.

IBM 7770 Instructions
Generally, the same instructions and error routines
used with disk storage pply to the 7770. The following is a more detailed explanation of the program
phases. See the IBM 1311 Disk Storage Drive section.

Inquiry Input

Because the polling and servicing subroutines together probably will not exceed 300 milliseconds
(including one disk seek to GET the record about
which inquh:y is being made), the delays in CPU
service will not cause excessive wait-time for
the calling party.

The inquiry is brought into core storage by a readfile instruction sequence (Figure G-54). In the event
of transmission errors, a reread is possible in exactly
the same way as a file reread. If the reread does not
correct the error condition, a standard message can be
sent to the 7770 indicating the necessity of a redial by
the calling party. Except in the case of the transfer of
a first-character-tape-mark to core storage, the user
must return a reply to "the 7770. The 7770 must always
receive a write after a read, if a tape mark is not
received.

The BRANCH IF TAPE MARK instruction is particularly important. When the 7770 does not have an

Because of the unique character of the 7770, one
input line can be used for testing while the other ones

G-34

are perfonning their normal function. For this reason,
.a testing routine should be built into the user's normal
servicing program. This is simplified because the test
message entered from the CE panel is one character
followed by a group mark ( *); no other input messages have this characteristic. In addition, no actual
processing of this test message is required. It is read
into core storage, recognized by the program, and returned unmodified to the 7770. Because the inquiry is
already in core storage (through the polling routine),
a routine similar to the one shown in Figure 'G-55
might be used.
If the inquiry is not of a prescribed length, an error
condition exists. There mayor may not be a test made
at the discretion of the user. In applicati~ns .requiring
inquiries of various lengths due to the particular characteristics of the access of stored information (i.e., in
banks, mortgage accounts might be six digits and
savings ,accounts seven digits), additional verification
techniques may be required. However, if all inquiries
are to be of one specific length, record length might
be considered adequate.
Other record-verifying techniques may be used at
the option of the user. In the event of an invalid in-

Last
Character is a

*?

quiry, an error message (such as redial) must be sent
by the user's program to the 7770 to release it for
further line servicing. After a read-back check with no
errors, the program must delay for about 2.8 ms. before
proceeding to the next read. This delay is required
because of 7770 timing, and can be accomplished by a
simple timing loop subroutine.
Evaluation

of Input

The information required by the inquiry from file
storage must be indicated by the inquiry if many different types of spoken replies are to be given. For
example, a retailer may desire to know the amount of
a certain stock number on hand. To obtain the information desired, and only that information, assign transaction codes as part of the inquiry (Figure G-56).

~

Transaction
Stock
Number
Code
________

______

~A~

~,~

Figure G-56

The length of the stock number and transaction code
is variable at the discretion of the user. The user's program must interpret the meaning of both the stock
number and transaction code. The evaluation of the
inquiry might also involve the length of the inquiry.
See Inquiry Input. In some applications, the user may
desire to have the transaction code located elsewhere
in the inquiry. Because this program is interruptible,
the placement is not limited.
On occasion, some stored information must be inaccessible except to certain persons. To perform this
function, several methods may be used. See IBA-l 7770
Audio Response Unit - Modell, Form A22-6800. Some
security codes may appear as part of the data from
which the response message is to be composed. Others
may be part of the inquiry itself in much the same
manner as the transaction code.
If a blank is received as the first character of an
inquiry read from the 7770, the user's program should
interpret this as a transmission error and return a redial
message.
Information Retrieval

Figure G-55.

Testing Subroutine

Once the actual inquiry has been evaluated, a response
message must be composed. To do this, the general
source of information, described by the inquiry, "is
brought into core storage. The general source of information in a file system would probably be one or
more sections from disk.
G-35

To simplify message assembly, some systems may
utilize a message format method. With the inquiry
transaction code evaluated, it would be known that a
certain form of reply is required. Prepare this form
in advance and store it either in core storage or on
file, to be moved to the output area. There it is added
to information extracted from the data brought into
core storage to form the completed response message.

AUTOCODER
Line

35~peratiro41

Label

23 2526

o
o
o

2

3

04

10.0 Ev.tkES
PR OC E
ID.I S

sIs T.v.pIE

.K.D.Rl, V.E S

05

:

IFI L~vlD~

07

U,p ,I) ,A,T

o

8

ID.I S K
IRA NOOM

lB.

El

ID' Sit'

0

A

"lnO.M.• I.NP.U,T

IVES

IOA,R.E.Al

11

I 0

NS £ CT OiRS
IN.R.E. CO R:n.s.

I

INAT ,0 P A:r..K

Is.

I

60

IOTF

06

09

55

I)IOCS

~

I

OPERAND
50

45

0

Message Assembly and Output
Figure G-57.

A number of methods may be employed for the composition of response messages. An understanding of
vocabulary organization is necessary. See IBM 7770
Audio Concepts and Vocabulary, Form A22-6805.
The response message may be assembled for output
in the same buffer area reserved for input because only
one message is handled at a time. The maximum length
of an inquiry is 40 characters. The maximum length
of the response is 38 characters plus one group mark.
The response message is sent to the 7770 through a
write disk to disk control field (DCF) 8000000001. A
read-back check is issued after a write. The transmistion error indicator must be tested immediately and, in
the event of an error, a user-written error routine must
issue a rewrite within 2.2 ms of the read-back check.
If longer delay before rewrite is desired, a seek should
be given within 2.2 ms.
N otel: Because a calling party may dial or otherwise
unintentionally put in an irlcorrect inquiry code, the user
should program-protect the caller from getting information that
is incorrect. Because it is generally not possible to determine
if a number has been incorrectly dialed until a response is
made to that number, it is advisable to provide some means
of checking the input number. One of the easiest .methods of
doing this is to program the IBM 7770 to repeat back to the
calling party the number as received by the 7770. If the number repeated back is not what the caller expects, the caller
should place the inquiry again. Other checking methods may
be used, but the repeat-back is one of the simplest.
The group mark (end-of-message character) must appear as
the last character of any message. A message may contain a
maximum of 38 address characters plus one group mark.

Note 2: If the Extended Vocabulary feature is installed on
the 7770, the maximum inquiry length decreases to 36 characters and the response length to 35 characters plus group mark.

IOCS Usage

The 7770 operates with the 1311 File lOCS program
packages. See Autocoder for IBlJ.,l 1440: Operating
Procedures, Form C24-3011 for 1440 applications. The
7770 appears as a slave 1311 file.
Figure G-57 shows the minimum definitions.
G-36

Minimum 7770 laCS Definitions

The disk-control field of the 7770 is 8000000001. A
file instruction brings information into core storage
from the 7770 buffers. The information retrieved is
inspected by a user's program and appropriate action
is taken.
GET

If the GET brings all BCD blanks into storage, the
user's program should evaluate all BCD blanks as a
no-service-required indication and return to his original
program. If the GET returns data from the 7770. other
than BCD blanks, the user program must branch to
a subroutine that evaluates the data and takes appropriate action to assemble a digital response message
to be returned to the 7770 on a PUT file. To avoid
lengthy delays in responding to the 7770 by the processing unit after a PUT has been satisfactorily completed, issue another GET to the 7770 (after the prescribed delay) to ascertain if service is not required
by another input line.

If advanced programming is specified in the control
card at assembly time, the error routine lOCEHT in
the lOCS must be changed to a NO OP instruction, and
the HALT AND BRANCH instruction at IOCEHT+7 must
be changed to an UNCONDITIONAL BRANCH instruction to
the user's error routine.
If advanced programming is not specified in the control card, this procedure is followed, except that the
labels IOCEHT and IOCEHT+7 are replaced with
IOCMHT and IOCMHT+7, respectively.

TO' determine if a 1311 O'peration or a 7770 operation has caused an error, a program switch must be
set by the user prior to issuing a 7770 macro. Thus the
user's error routine could test this switch to determine
whether to treat a given error as a 1311 error or as a
7770 error.
Large-Vocabulary Programming

Special cO'nsideratiO'n must be given in programming
the 7770 if more than 63 wO'rds of vocabulary are

available on the vocabulary drum. A BCD character
ordinarily has six information bits that decode to a
maximum of 64. The addition of one more information
bit is required and that is the word mark. To transfer
information to or from the 7770 with word marks, the
WDW and RDW instructions are used.
This mode of operation is not supported by the 1311
file IOCS and must be programmed by the user. However, the PUT used by the 7770 may be altered by the
user to permit word mark transfers as follows:
1. Load an L with a word mark into FILENAME+ 16
prior to PUT macro.
2. After the

PUT

macro, restore the M with word mark.

3. Be certain that a group mark with a word mark is
in the proper position to satisfy move and load
mode conditions for checking length.
4. Prior to the issuing of the GET macro, the user must
supply an address of the form xxxxxxO to the storage
location located at the IOCS label IOCADR (this
does not have to be done prior to the issuing of the
PUT macro).

G-37

available on the vocabulary drum. A BCD character
ordinarily has six information bits that decode to a
maximum of 64. The addition of one more information
bit is required and that is the word mark. To transfer
information to or from the 7770 with word marks, the
WDW and RDW instructions are used.
This mode of operation is not supported by the 1311
file IOCS and must be programmed by the user. However, the PUT used by the 7770 may be altered by the
user to permit word mark transfers as follows:
1. Load an L with a word mark into FILENAME+ 16
prior to PUT macro.

2. After the

PUT

macro, restore the M with word mark.

3. Be certain that a group mark with a word mark is
in the proper position to satisfy move and load
mode conditions for checking length.
4. Prior to the issuing of the GET macro, the user must
supply an address of the form xxxxxxO to the storage
location located at the IOCS label IOCADR (this
does not have to be done prior to the issuing of the
PUT macro).

G-37

IBM 1285 Optical Reader

header or full-l ine correction information is entered
from the keyboard, characters are transmitted in
single-character mode - one character for each read
instruction. The character is entered in the corestorage location sp ecified by the B-address and the
operation is terminated . Assuming the op erator keys
in information from left to right, the B-address of
this instruction should be modified by 1 for each
subsequent read operation.

The IBM 1285 Optical Reader Model 1 (Figure G-58),
serves as an input device for the IBM 1440 Data Processing System. The 1285 reads printed paper tapes
such as those produced on cash registers and adding
machines. Using advanced optical-recognition techniques to read directly from the source document of
many business transactions, the 1285 eliminates much
of the time required by a system in which information
is punched into cards b efore being entered into the
system.
Refer to IBM 1285 Optical Reader, Component Description, Form A24-3256, for additional information.

IBM

+

When d ata is read from the journal tape, characters are transmitted in line mode, one line of information for each read instruction. The line is read
from right to left, with the first character b eing read
into the core-s torage location specified by the B-address. The contents of the B-address register are
automaticalIy modified b y - 1 b efore transferring
each subsequent character.

J285 Instructions

Instructions applying to the 1285 cannot b e successfully chained.

A character entered from the keyb oard for singlecharacter on-line correction is handl ed in the same
manner as one read from the tape in this lin e-reading
mod e.

Read in Move Mode

Instruction Format.
Mnemonic
MU

0]) Code
M

A-address
%YI

B-address
BBB

d-character
R

A read operation is normalIy terminated when the
reader senses the left margin of the tape. When this
occurs, a group mark is automatically inserted in the
core-storage position to the left of the last ch aracte.r
read, and the end-of-lin e indicator is turned on. If a
group mark with word mark is detected in core storage b efore reading the last character of the line, the
read operation is terminated , and the end-of-lin e
bran ch indicator is not turned on.

Function. This instruction reads either one character or one line into core storage from the 1285. When

A read operation is also terminated if th e branch
on error indi cator is set on.

'Vord Marks. Word marks are not affected. A group
mark with a word mark will terminate the read
operation.
Timing. See IBM 1285 Timing Considerations section.
Address Registers After Operation.
I -Add. Reg .
NS I

A -Add. Reg.
% 51

NSI

% 51

B-Adcl. Reg.
B.. -Iength of line.

or
Figure G-58.

G-38

IIlM

1285 Optical Reader

GMWM-l

Form A 24-3116-3
Page re vised 12/ 66
By T NL N 24- 0392

IBM 1285 Optical Reader

The IB"! 1285 Optical Reader Model 1 (Figure G-58),
serves as an input d evi ce for th e IBM 1440 Data Processing System. Th e 1285 reads printed paper tap es
such as th ose produced on cash registers and adding
machines. Using advanced optical-recognition techniqu es to read directly from the source document of
many business transactions, th e 1285 eliminates mu ch
of the tim e required by a sys tem in which information
is punched into cards b efore being entered into the
sys tem.
Refer to IBM 1285 Optical Reader, Component D escription, F orm A24-3256, for additional information.

IBM J285 Instructions

Instructions applying to the 1285 cannot be successfull y chained.
Read in Move Mode

Instruction F annat.
Mn emollic
MU

0]7 Code
M

A-address
% YI

B-address
BBB

d -chara cter
R

Function. This instruction reads either one character or one li ne in to core storage from the 1285. When

header or fu ll-line correcti on in fo rma tion is entered
from the keyboard , characters are transmitted in
sin gle-character mod e - one character fo r each read
instru cti on. Th e charac ter is entered in th e corestorage location specifi ed b y the B-address and the
operation is termin ated. Assuming the operator keys
in inform ati on fro m left to right, th e B-address of
thi s instru ction shoul d be modifi ed by + 1 for each
subseq uent read operation, by a subroutin e. Such
a subroutine is necessary because of the singlecharacter transmission from the keyboard to core
in these modes. Th e subroutine should be entered
when th e reader firs t becomes ready (branch on ind ica tor 7). Wait loops for characters {indicator 5)
should include repeated tests fo r Reader Ready (7),
for Ready to Read a lin e (6, indicating the end of
data input for the subroutine), and for Read er Error
(1, ind icating operator Cancel Enter). If Reader
E rror occurs in this subroutine, it is advisable to
notify the operator throu gh a printout or cod ed halt,
and to re-initialize the subrou tine. The subrou tine
should also be en tered after givin g a Set Correction
Mod e ins tru ction to begin Full-Lin e Correction or
to handl e re-entry of Header or Full-Line Correction
data for verification .
'W hen d ata is read from the journ al tape, characters are tran smitted in lin e mode, one lin e of in formati on for each read instructi on. Th e line is read
from right to left, with th e first character being read
into the core-storage loca tion specified b y the B-address. The contents of the B-address register are
automati call y modified by - 1 before transferrin g
each subsequen t character .
A character entered from the keyboard fo r sin glecharacter on-line correction is handl ed in the same
mann er as one read from the tape in this line-reading
mode.

Figure C -S8.
G-38

lIJ M

1285 Optical Reader

A line read op eration is normally terminated when
the reader senses th e left margin of the tape. W hen
th is occurs, a group mark is automatically inserted in
th e core-s torage position to the left of the las t character read, and the end-of-line indicator is turn ed on .
If a group mark with word mark is detected in core
storage befo re reading the last character of the line,
th e read operation is terminated , and the end-of-line
branch indicator is not turned on.

Example. Read the 1285 keyboard and place the character in the core-storage location labeled KB1285
(0881). The enter key must be pressed after each
character key is pressed (Figure G-59).
OPERAND

: :'
Assembled Instruction:

Figure 0-59.

Read

IBM

if- %V 1

~

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
Gbb
Gbb

Go to next line:
Go to next line and
branch (without
indexing):
Go to next line and
branch (with
indexing):

NSI

BI

blank

NSI

BI

NSI

Example. Cause the 1285 to advance to the next journal-tape line, and branch unconditionally to a subroutine labeled RDTAPE (1286) specified by the
I-address (Figure G-60).

881' R

1285 in Move Mode

t

Autocoder

aead in Load Mode

OPERAND

:'.

LaM'

Instruction Format.
Mnemonic
LU

Op Code

.1=..

A-address

B-address

d-character

%V1

BBB

R

Function. This instruction functions in the same manner as the read in move mode instruction except
that, in line reading, word marks accompany characters sent from the keyboard in on-line reject correction. This allows the CPU to distinguish between
characters read from tape and characters entered
from the keyboard.

Go to Next Line

I nstruction Format.
Mnemonic
SS
SSB

Op Code

.K..

X

I-address

d-character

III

a
a

Function. This instruction causes the reader to advance to the next line. The normal procedure is to
test the end-of-line branch indicator after a read
instruction and, if on (indicating a valid read), to
issue this instruction. to cause the reader to begin
scanning for the next line. If not given after a read
operation is terminated, the next read instruction
will reread the line.
The next instruction executed is that specified by
the I-address, if supplied, or the next instruction in
sequence, if no I-address is specified.

Word Marks. Word marks are not affected.

Assembled Instruction:

Figure G-60.

.!. 586

~

G

Go to Next Line and Branch

Set Correction Mode

Instruction Format.
Mnemonic
SS
SSB

Op Code

A.

L

I-address

III

d-character
C
C

Function. This instruction causes the 1285 to go into a
line display and sets up controls for character-bycharacter reading from keyboard entry. If the first
line of the tape has not yet been read, the enter light
turns on, indicating to the operator that he should
enter header data. If at least one line of the tape has
been read, the reject light turns on, indicating to the
operator that he should do a full-line correction.
The next instruction executed is either specified by
the I -address or the next sequential instruction (if no
I-address is specified).

Word Marks. Word Marks are not affected.
Timing.
Set correction mode: T = .0333 ms.
Set correction mode and branch (without indexing):
T=.0666ms.
Set correction mode and branch (with indexing):
T=.0777ms.
Address Registers After Operation.

Timing.
Go to next line: T = .0333 ms.
Go to next line and branch (Without indexing):
T=.0666ms.
Go to next line and branch (with indexing):
T= .0777ms.

Set correction mode:
Set correction mode
and branch (without
indexing):
Set correction mode
and branch (with
indexing):

I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
Cbb
Cbb
NSI

BI

blank

NSI

BI

NSI
G-39

Form A24-3116-3
Page revised 12/66
By TNL N24-0392

A read operation is also terminated if the branch
on error indicator is set on.

Word Marks. Word marks are not affected. A group
mark with a word mark will terminate the read
operation.
Timing. See IBM 1285 Timing Considerations section.
Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%51

NSI

%51

B-Add. Reg.
Bp-Iength of line.

issue this instruction to cause the reader to begin
scanning for the next line. If not given after a read
operation is terminated, the next read instruction
will reread the line.
The next instruction executed is that specified by
the I-address, if supplied, or the next instruction in
sequence, if no I-address is specified.
To accomplish line skipping, the program should
wait for the Ready-to-Read-a-Line indicator (6) before issuing the next Go To Next Line.

I

Word Marks. Word marks are not affected.

or

Timing.
Go to next line: T = .0333 ms.
Go to next line and branch (without indexing):
T= .0666ms.
Go to next line and branch (with indexing):
T= .0777ms.

GMWM-l

Example. Read the 1285 keyboard and place the character in the core-storage location labeled KB1285
(0881). The enter key must be pressed after each
character key is pressed (Figure G-59).

Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
Gbb
Gbb

Autocoder

IROKBB.S:

OPERAND

Label

:5. .
Assembled Instruction:

Figure G-59.

Read

IBM

l:!:! %Vl

~

881 R

1285 in Move Mode

Instruction Format.
0]) Code

-.h

NSI

BI

blank

NSI

BI

NSI

Example. Cause the 1285 to advance to the next journal-tape line, and branch unconditionally to a subroutine labeled RDTAPE (1286) specified by the
I-address (Figure G-60).

Read in Load Mode

Mnemonic
LV

Go to next line;
Go to next line and
branch (without
indexing);
Go to next line and
branch (with
indexing);

A-address
%V1

B-address
BBB

d-character
R

Function. This instruction functions in the same manner as the read in move mode instruction except
that, in line reading, word marks accompany characters sent from the keyboard in on-line reject correction. This allows the CPU to distinguish between
characters read from tape and characters entered
from the keyboard.

t

Autocoder
OPERAND

Label

:~ .
Assembled Instruction:

Figure G-60.

.!. 586

:

G

Go to Next Line and Branch

Set Correction Mode

Instruction Format.
Mnemonic
SS
SSB

Go to Next Line

Instruction Format.
Mnemonic
SS
SSB

0]) Code

X-

X

I-ad~lress

d-character
G

III

G

Function. This instruction causes the reader to advance to the next line. The normal procedure is to
test the end-of-line branch indicator after a read
instruction and, if on (indicating a valid read), to

Op Code

I-address

l

..x.

III

d-character
C
C

Function. This instruction causes the 1285 to go into a
line display and sets up controls for character-bycharacter reading from keyboard entry. If the first
line of the tape has not yet been read, the enter light
turns on: indicating to the opera tor that he should
enter header data. If at least one line of the tape has
been read, the reject light turns on, indicating to the
operator that he should do a full-line correction.
G-39

Example. Cause the 1285 to go into line display and
set up controls for character-by-character entry from
keyboard (Figure G-BO.1).

Example. Cause the reader to mark the line it is now
reading, after the next GO-TO-NEXT-LINE instruction
(Figure G-B1).

Autocoder

Autocoder

~

label

.:
~

Assembled Instruction:

Figure G-60.1.

OPERAND

:'.

label

C

Assembled Instruction:

Figure G-61.

Set Correction Mode

!

~

M

Mark a Line

Branch if Indic.ator On
Mark a Line

Instruction Format.

Instruction Format.
Mnemonic
SS
SSB

Op Code

X

I-address

III

l

d-character
M
M

Function. This instruction causes the line that the
reader is on to be marked by the reject line marker.
The line is transported to the top of the scan window
and marked after the next GO TO NEXT LINE instruction. The MARK A LINE instruction can be given at
any time after the ready-to-read-a-line indicator is
turned on and before the GO TO NEXT LINE instruction.
Note: If the line is re-read (a GO-TO-NEXT-LINE instruction
is not given), the effect of this instruction is cancelled.

The next instruction executed is that specified by
the I -address, or the next sequential instruction
(NSI) if no I-address is specified.

Word Marks. Word Marks are not affected.

G-40

JL

I-address
III

d-character
d

Function. This instruction tests for the IBM 1285 operational conditions specified by the d-character. If
the indicator is on, the next instruction is taken from
the I-address. If off, the program goes to the next
sequential instruction.
d-character
1
2
3

4
5
6
7
8

Indicator
ERROR
END-OF-LINE
READER-TRANSPORTING
MARKED-LINE
HEADER-INFORMATION
READY -TO-READ-A-LINE
READER-READY
END-OF -FILE

Indicators

Branch if Error. This indicator (d-character 1) is
turned on if any of the following conditions exist.
This indicator remains on until tested.

• A skew error occurs during a read operation.
• The scanner is unable to follow a line due to extraneous
material on the tape during a read operation.
• A reject display exceeds the time limit.
• A line of header or a full-line of correction data is cancelled
(cancel-enter sequence) from the reader.

Address Registers After Operation.
I-Add. Reg.
NSI

Op Code

• A process check occurs in· the processing unit during a read
operation.

Timing.
Mark a line: T = .0333 ms.
Mark a line and branch without indexing:
T= .0666ms.
Mark a line and branch with indexing:
T=.0777ms.

Mark a line:
Mark a line and
branch (without
indexing):
Mark a line and
branch (with
indexing):

Mnemonic
BIN

A-Add. Reg. B-Add. Reg.
Mbb
Mbb

NSI

BI

blank

NSI

BI

NSI

Branch if End of Line. This indicator (d-character 2)
is turned on after the last character of a line is transferred to the processing unit and the reader senses
the left edge of the tape. If this indicator is not on
when a read operation is completed, an error condition may exist, depending on the program and the
tape format. This indicator is turned off by the goto-the-next-line instruction, or by re-reading the same
line.

Form A24-3116-3
Page revised 12/66
By TNL N24-0392

The next instruction executed is either specified by
the I-address or the next sequential instruction (if no
I-address is specified).
Purposes:
1. To call for re-entry of Header or Full-Line data if
verification is used.
2. To call for Full-Line Correction. This is recommended in the event of persistent (10 tries) Error
indications after reading a line, or the presence of
a reject symbol (@) entered in Single-Character
Correction. The latter may be indicated by the
presence of a reject symbol with a word mark in
core storage after a Read in Load Mode, or the
presence of the Reject Character in Line (4) indicator when a sense switch indicates the use of online reject correction.
Word "A-1arks. Word Marks are not affected.
Timing.
Set correction mode: T = .0333 ms.
Set correction mode and branch (without indexing):
T= .0666ms.
Set correction mode and branch (with indexing):
T= .0777ms.

Set correction mode:
Set correction mode
and branch (without
indexing):
Set correction mode
and branch (with
indexing):

Note: If the line is re-read (a GO-TO-NEXT-LINE instruction
is not given), the effect of this instruction is cancelled.

The next instruction executed is that specified by
the I-address, or the next sequential instruction
(NSI) if no I-adrl~ess is specified.
Word Marks. Word Marks are not affected.
Timing.
Mark a line: T = .0333 ms.
Mark a line and branch without indexing:
T= .0666 ms.
Mark a line and branch with indexing:
T= .0777 ms.
Address Registers After Operation.

Address Registers After Operation.
A-Add. Reg. B-Add. Reg.
Cbb
Cbb

I-Add. Reg.
NSI

Function. This instruction causes the line that the
reader is on to be marked by the reject line marker.
The line is transported to the top of the scan window
and marked after the next GO TO NEXT LINE instruction. The MARK A LINE instruction can be given at
any time after the ready-to-read-a-line indicator is
turned on and before the GO TO NEXT LINE instruction.

NSI

BI

blank

NSI

BI

NSI

Example. Cause the 1285 to go into line display and
set up controls for character-by-character entry from
keyboard (Figure G-60.1).

I-Add. Reg.
NSI

Mark a line:
Mark a line and
branch (without
indexing):
Mark a line and
branch (with
indexing):

A-Add. Reg. B-Add. Fi.eg.
Mbb
Mbb

NSI

BI

blank

NSI

BI

NSI

Example. Cause the reader to mark the line it is now
reading, after the next GO-TO-NEXT-LINE instruction
(Figure G-61).

Autocoder
Autocoder
l~1

,:

I'

Itroti~c

OPERAND

~Ii

,

~Ii

~I!

~I!,

~:I,

, ~I!

label

I'

,

:

1~~roti~M

OPERAND

~Ii

~I!

~Ii

~I!

~Ii,

,

~

Assembled Instruction: K M
Assembled Instruction:

!.. C
Figure G-61.

Figure G-60.1.

Mark a Line

Force On-Line Correction

Instruction Format.
Mnemonic
SS
SSB
G-40

Mark a Line

Set Correction Mode

Op Code

X

l

Instruction Format.
I-address

d-character

III

M
M

A
A

Mnemonic
SS
SSB

Op Code
K

I-Address

K

xxx

d-character
F
F

Branch if Reader Tran.sporting. This indicator (d-character 3) is turned on when the transport mechanism
is started to bring a new segment of tape over the
scan window. I t is turned off when the transport
mechanism is stopped. Note that a minimum of 1
millisecond elapses between execution of the GO-TONEXT-LINE instruction and the beginning of the transport operation. Also, this indicator is turned off as
soon as the transport stops, leaving about 6 milliseconds until the ready-to-read-a-line indicator is
turned on.
This indicator may be used to determine if sufficient time is available to execute other instructions.
This indicator is also on when displaying a line.
Branch if Marked Line. This indicator (d-character 4)
is turned on if the last line read will be marked by
the reject line marker. If the MARK A LINE instruction
was given, or if the line contains a reject symbol (@),
it will be automatically transported to the reject line
marker after the next GO TO NEXT LINE instruction is
given.
This indicator is reset by a GO TO NEXT LINE instruction, or by the re-reading of the line (either line
read or full-line correction).
Branch if Header Information. This indicator (d-character 5) is turned on when a character of header information or full-line correction is entered from the
keyboard. It is reset for each character read by the
program. As long as this indicator is on, the reader
will not respond to the start key to begin processing
the journal tape. When no more information is to be
entered, the start key is pressed, and the ready-toread-a-line indicator is turned on.
Branch if Reader Ready to Read a Line. This indicator
(d-character 6) is turned on when the reader has
found a line and is ready to read it. The indicator is
turned off by a go to next line instruction, or by
loss of the reader-ready condition.
Note: When a line is found, the scanner enters the normalizing mode and continues from character to character in
the line until a read instruction is given. At that time, the
flying spot sweeps back to the low-order character.
To keep read time to a minimum, a read instruction should
be given within 1.5 ms after this indicator is turned on.
Otherwise, up to 3 ms may be lost in returning to the loworder position.

Branch if Reader Ready. This indicator (d-character 7)
is turned on when a tape is loaded and the first line
is found by the scanner. The indicator remains on
until the operator runs the end of the tape through
the transport by pressing the end-of-file key, or until
an error occurs that requires operator intervention.

Branch if End of File. This indicator (d-character 8) is
turned on when the trailing end of the roll is run
through the transport by pressing the end-of-file key.
The indicator is reset when another roll is loaded.
Word Marks. Word marks are not affected.
Timing.
No branch or branch without indexing:
T= .0666ms.
Branch with indexing: T = .0777 ms.
Address Registers After Operation.
No Branch:
Branch
(without indexing):
Branch
(with indexing):

I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
BI
dbb
NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine labeled G01285
(1644) if the reader-ready indicator is on (Figure
G-62).
Autocoder

~

OPERAND

:'.

Label

.:
Assembled Instruction:

Figure G-62.

!. W 44

~

7

Branch if Reader-Ready Indicator On

IBM 1285 Timing Considerations
The reading speed of the IBM 1285 Optical Reader
depends upon factors which vary with individual applications. The optimum reading speed when using
the IBM 1428 character font is given by the following
formula:
Throughput
60,000
(Lines per minute) = - - - - - - 4 7 - - - ± 5%
1.7W + 1.9S + r+1.4C
Where:

C=
L=
W=
S=

characters per line
lines per inch
tape width in inches
distance from tape edge to first
character in inches

With the NCR Optical Character Recognition Font,
the optimum reading speed is found with the following
formula, using the same symbols for the same variables:
(Lines per minute)

=

60,000

------------+

1.7W + 1.9S +

f

5%

+ 1.55C - 0.5

G-41

Form A24-3116-3
Page revised 12/66
By TNL N24-0392

Function. This instruction will cause the next line read
by a Read Instruction to be read in On-Line Correction Mode, regardless of the setting of the offline correction on the 1285 Operator Panel. It allows
a program decision to change correction mode on
re-reading of a line. The switch light should be on
(in off-line correction mode) to make use of this
instruction.

d-character
1,

I

Indicator

2

ERROR
END-OF-LINE

3
4

READER-TRANSPORTING
RE]ECT-CHARACTER-IN-LINE

5

HEADER-INFORMATiON
READY-TO-READ-A-LINE

6
7
8

READER-READY
END-OF-FILE

Indicators

The next instruction executed is that specified by
the I-address, if supplied, or the next instruction in
sequence, if no I-address is specified.

Branch if Error. This indicator (d-character 1) is
turned on if any of the following conditions exist.
This indicator remains on until tested.

Word Marks. Word marks are not affected.

• A process check occurs in the processing unit during a read
operation.

Timing:

• A skew error occurs during a read operation.

• The scanner is unable to follow a line due to extraneous
material on the tape during a read operation.

Force On-Line Corr.: T = .0333 ms.
Force On-Line Corr. & Br. (without indexing):
T= .0666 ms.
Force On-Line Corr. & Br. (with indexing):
T=.0777 ms.
Address _Registers After Operation.
I-Add. Reg.
Force On-Line Corr.
NSI
Force On-Line Corr.
& Br. (without indexing): NSI
Force On-Line Corr.
& Br. (with indexing): NSI

A-Add. Reg.
Fbb

B-Add. Reg.
Fbb

BI

blank

BI

NSI

Example. Causes the next line read by a Read Instruction to be read in On-Line-Correction Mode (Figure
G-61.1).

Autocoder

~o
Assembled Instruction:

•

Figure 0-61.1

JS.

F

Force On-Line-Correction

Branch if Indicator On

Instruction F orrnat.
Mnemonic
BIN

Op Code

I-address

JL

III

d-character
d

Function. This instruction tests for the IBM 1285 operational conditions specified by the d-character. If
the indicator is on, the next instruction is taken from
the I-address. If off, the program goes to the next
sequential instruction.

• A reject display exceeds the time limit.
• A line of header or a full-line of correction data is cancelled

(cancel-enter sequence) from the reader.

I

A test for this indicator should be the first instruction following a READ. Wait loops for Header Information (5) should also include a test for Error
(Cancel-Enter).
Branch if End of Line. This indicator (d-character 2)
is turned on after the last character of a line is transferred to the processing unit and the reader senses
the left edge of the tape. If this indicator is not on
when a read operation is completed, an error condition may exist, depending on the program and the
tape format. This indicator is turned off by the goto-the-next-line instruction, or by re-reading the same
line.
Branch if Reader Transporting. This indicator (d-character 3) is turned on when the transport mechanism
is started to bring a new segment of tape over the
scan window. It is turned off when the transport
mechanism is stopped. Note that a minimum of 1
millisecond elapses between execution of the GO-TONEXT-LINE instruction and the beginning of the transport operation. Also, this indicator is turned off as
soon as the transport stops, leaving about 6 milliseconds until the ready-to-read-a-line indicator is
turned on.
This indicator may be used to determine if sufficient time is available to execute other instructions.
This indicator is also on when displaying a line.
Branch if Reject Character in Line. This indicator (dcharacter 4) is turned on if the last line read (Line
Reading only) contains at least one reject symbol
(@). This indicator is turned off by Go-to-Next-Line
or by Re-read instruction (either line read or full
line correction).
G-41

Note: Items that can lower the optimum calculated speed
are: res cans, branch-1 errors, rereads of wrong length lines, and
line marking. Both equations pertain to calculations for constant
line length and uniform line spacing only.

c=
L=

W=

s=

4 characters per line
4 lines per inch
tK, inches
0.1 inch

Throughput = 3035 lines per
minute

Using the mM 1428 character font, two examples of
throughput are given.

c=

L=

W=

s=

10 characters per line
4 lines per inch
2 inches
0.2 inch

ISM '285 Programming Techniques
Throughput = 2030 lines per
minute

NOTES: 1. This chart illustrates possible uses of IBM 1285 instructions.
Actual use of these instructions is application-dependent.
2. In the event of a solid error condition (ten tries for that linel,
the prog-ammer might elect to mark that line and skip to the
next one, or to go to a full-line correction entry. For the
latter, do a set correction mode Clnd branch to a routine
similar to the header routine.

Figure G-63.

G-42

mM

1285 Programming Schematic

Figure G-63 shows how some of the IBM 1285 instructions might be used. F~ure G-63 is only a guide: the
application to be performed will dictate the actual use
of the instructions.

Form A24-3116-3
Page revised 12/66
By TNL N24-0392

Branch if Header Information. This indicator (d-character 5) is turned on when a character of header information or full-line correction is entered from the
keyboard. It is reset for each character read by the
program. As long as this indicator is on, the reader
will not respond to the start key to begin processing
the journal tape. When no more information is to be
entered, the start key is pressed, and the ready-toread-a-line indicator is turned on.
Branch if Reader Ready to Read a Line. This indicator
(d-character 6) is turned on when the reader has
found a line and is ready to read it. The indicator is
turned off by a go to next line instruction, or by
loss of the reader-ready condition.
Note: When a line is found, the scanner enters the normalizing mode and continues from character to character in
the line until a read instruction is given. At that time, the
flying spot sweeps back to the low-order character.
To keep read time to a minimum, a read instruction should
be given within 1.5 ms after this indicator is turned on.
Otherwise, up to 3 ms may be lost in returning to the loworder position.

I

Any wait loops testing this indicator should also
include a test for Reader Ready (7).

Branch if Reader Ready. This indicator (d-character 7)
is turned on when a tape is loaded and the first line
is found by the scanner. The indicator remains on
until the operator runs the end of the tape through
the transport by pressing the end-of-file key, or until
an error occurs that requires operator intervention.

Any wait loops testing other indicators should include a test for Reader Ready. If Reader Ready is
lost, the End-of-File indicator (8) should be tested.

I

G-42

Branch if End of File. This indicator (d-character 8) is
turned on when the trailing end of the roll is run
through the transport by pressing the end-of-file key.
The indicator is reset when another roll is loaded.

I

The test for this indicator should be executed immediately after the loss of the Reader Ready (7)
indicator.

Word Marks. Word marks are not affected.
Timing.
No branch or branch without indexing:
T = .0666 ms.
Branch with indexing: T = .0777 ms.
Address Registers After Operation.
No Branch:
Branch
(without indexing):
Branch
(with indexing):

I-Add. Reg. A-Add. Reg. B-Add. Reg.
NSI
BI
dbb
NSI

BI

blank

NSI

BI

NSI

Example. Branch to a subroutine labeled G01285
(1644) if the reader-ready indicator is on (Figure
G-62).

Autocoder

~

label

t:
Assembled Instruction:

Figure G-62.

!. W 44

7

Branch if Reader-Ready Indicator On

ISM 1285 Timing Considerations

The reading speed of the IBM 1285 Optical Reader
depends upon factors which vary with individual applications. The optimum reading speed when using
the IBM 1428 character font is given by the following
formula:
Throughput
(Lines per minute)

Where:

=

60,000
------4--,--7---:----- ± 5%
1.7W + 1.9S + L + l.4C

With the NCR Optical Character Recognition Font,
the optimum reading speed is found with the following
formula, using the same symbols for the same variables:
60,000
1.7\V

+ l.9S +

C = 10 characters per line
L = 4 lines per inch
W = 2 inches
S = 0.2 inch

=

tape width in inches
distance from tape edge to first
character in inches

(Lines per minute) =

Using the IBM 1428 character font, two examples of
throughput are given.

C
L=
W =
S=

= characters per line
= lines per inch

C
L
W ==
S=

Note: Items that can lower the optimum calculated speed
are: rescans, branch-l errors, rereads of wrong length lines, and
line marking. Both equations pertain to calculations for constant
line length and uniform line spacing only.

f

+ 1.55C :- 0.5

±50/0

4 characters per line
4 lines per inch
l7{6 inches
0.1 inch

Throughput = 2030 lines per
minute

Throughput = 3035 lines per
minute

ISM 1285 Programming Techniques

Figure G-63 shows how some of the IBM 1285 instructions might be used. Figure G-63 is only a guide: the
application to be performed will dictate the actual use
of the instructions.

G-42.l

Lost
Reader
Ready

File Started
Without Header
Information

OK
Reader
Ready

Go to
Next Line

Header
Information
Complete

NOTES: 1. This chort illustrates possible uses of IBM 1285 instructions.
Actual use of these instructions is application-dependent.
2. In the event of a sol id error condition (ten tries for that line),
the programmer might elect to mark ,hot line and skip to the
next one, or to go to a full-I ine correction entry. For the
latter, do a set correction mode and branch to a routine
similar to the header routine.

Figure G-63.
G-42.2

IBM

1285 Programming Schematic

Reader
Ready

IBM 1026 Transmission Control Unit

The IBM 1026 Transmission Control Unit ( Figure
G-64 ) provides an economical means of communicating num eric, alphabetic, and special-character data
b etween the IBM 1440 system and any of the following
sources, via a half-duplex multipoint communications
lin e (publication form numbers appear in parentheses) :
•

IB M

•

IBM

•

lllM

•

IB M

1030
1050
1060
1070

D ata Collecti on Sys tem ( A24-301 B)
D ata Communication System ( A24-3020 )
Data Communicati on System ( A24-3034)
P rocess Communication System ( A 24-57BO ).

As man y as four 1026 units can b e attached to the
1440 system. Information can b e transmitted on a
half-duplex lin e in either direction, but in only one
direction at a time. The 1026 directs and regulates the
flow of data and provides compatibility among terminals and the central processing unit. Refer to IBM 1026
Transmission Control Unit, F orm A24-3244.
IBM

IBM 1026 Programming Considerations

When the IBM 1026 is attached to the IBM 1440 system,
the indexing and store-address register features are
required if IOCS is to b e used. Without IOCS, programmin g for th e 1026 is made easier and more flexible b y using these features.
Once a p articular line has b een selected, it need not
be reselected b efore executing instructions p ertaining
to th at line, unless an intervening line-select operation
is executed. The Select Request-Service Indicator and
Select Digital Time Unit instructions, as w ell as Select
Line instru ctions, deselect the lin e previously selected .
Some special-character d-modifiers used in IBM 1026
instructions are not printable graphics for certain IBM
1440 system configurations. Confusion between uncon ditional and conditional branches can b e reduced by
identifying such conditional branches in the comments
area of the autocoder coding sheet.
Instructions requiring a U op code with a d-character op code must b e coded in actual machine language.

IBM 1026 Programming Example

Mode Switch

This 3-position toggle switch has the followin g functions:
1. The bottom reset p osition provides a means of re-

setting the 1026 controls after system power has
b een turn ed on.
2. The center 1026 position allows normal 1026 opera tions.
3. The top 1447 position allows the processing
unit to address the 1447 console directly.

Although actual IBM 1026 programming dep ends upon
the application , the following programming examples
mu st b e considered .

To write to the 1447 console:
WCO so
U6SEL
EXITW
TYPE W

SBR
U6
BI
WCP
B
DA

EXITW+ 3
U6SEL, D
TYPE W

o

lX100, G
1, 1

Save return to ma in line.
Select 1026 chann el.
Branch if buffer busy.
'vVrite to console printer.
Branch to main line.
Typeout I/O storage area.

To read from 1447 console:
HCONSO

SBR

WI

U6
WCP
BIN
U6
BIN
B

W2

Rl
EXIT H
TYPER

HCP
B
DA

POLST

DCW

EXITlH 3
POLST
Wl ,o
Rl, Q
W2
TYPER
0
lX200, G
1, 1
@ AO@, G

Save return address to
main line.
Select 1026 channel.
Poll th e console.
Branch if error.
Select 1026 channel.
Branch if service request.
Branch if no service
request.
Read from console.
Return to main lin E'.
Type-in I/ O area.
Console polling list .

The polling count is stored in the first position of
the read-in I/ O area .

IBM 1026 Instructions
Figure G-64 .

IB!I [

1026 Transmission Control Unit

Instructions applying to the
cessfully chained.

IBM

1026 cannot b e sucG-43

Select Request-Service Indicator

Select Digital Time Unit

Instruction Format.

Instruction Format.
d-character

Op Code

Mnemonic
None

#
Function. This instruction causes the master requestservice (Q) indicator to be selected. This instruction
deselects the 1026 line previously selected.

Word Marks. Word marks are not affected.
Timing. T

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI

o

Function. This instruction causes selection of the IBM
1032 Digital Time Unit so that clock data can be
transferred into core storage by a subsequent Read
Console Printer (Rep) instruction. This instruction
deselects the 1026 line previously selected. The desired 1026 line must be res elected before 1026 operations can proceed.
Word Marks. Word marks are not affected.

B-Add. Reg.
#bb

A-Add. Reg.
#bb

d-charactef

Op Code
U

Mnemonic
None

U

Example. Select the master request-service indicator
so that it can be tested. This instruction does not
test the indicator. (Figure G-65).

= .0333 ms.

Timing. T

Address Registers After Operation.
I-Add. Reg.
NSI

Autocoder
Lobel

A-Add. Reg.

B-Add. Reg.

Obb

Obb

40

Assembled Instruction:

Figure G-65.

Example. Select the digital time unit as the datatransfer source for the next read-console-printer
instruction (Figure G-67).

.!L #

Select Request-Service Indicator

Autocoder

I'

OPERAND

~o

Lobel

~!!

:~

:0

Select Line

Instruction Format.

Assembled Instruction:

Operati&n
Line 1
Line 2
Line 3
Line 4

Mnemonic
None
None
None
None

Select
Select
Select
Select

Op Code d-character
U
6
U
7
U
8
U
9

Figure G-67.

Select

y.

0

1032 Digital Time Unit

IBM

Bid Operation

Function. These instructions cause selection of the indicators and data channels for a particular IBM 1026
for later examination or data transfer.

Instruction Format.

Word Marks. Word marks are not affected.

Function. This instruction issues a bid to secure a line
(previously selected) so that a 1026 can transmit on
the polling line. This instruction is not itself a lineselection operation, and does not deselect the 1026
line previously selected.

Timing. T

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
dbb

B-Add. Reg.

dbb

Autocoder
OPERAND
40

Assembled Instruction: Q

Figure G-66.
G-44

7

Select the mM 1026 on Line 2

Op Code
U

d-character
5

Word Marks. Word marks are not affected.

Example. Select the second 1026 so that indicator tests
and data transfers can be handled relative to line 2
(Figure G-66).
Lobel

Mnemonic
None

:5

~

Timing. T

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
5bb

B-Add. Reg.
5bb

Example. Issue a bid for line 2, so that polling can be
initiated on that line. A SELECT LINE 2 instruction
must have been executed prior to this instruction
(Figure G-68).

Autocoder

Write to 1026

lobe I

Rperati?

v~t! 1

1:lE:

OPERAND

:5

:0

49

~o

Instruction Format.

Assembled Instruction:..!:!. 5

Figure G-6S.

Issue

mM

1026 Line Bid

Instruction Format.
Op Code

RCP
RCPW

M.
L

A-address
%TO
%TO

B-address

d-character

BBB
BBB

R
R

Function. This instruction causes data currently held
in the selected 1026 buffer (on the last line selected)
to be read into core storage, beginning at the address specified by the B-address.

EOB

M.
L

A-address
%TO
%TO

B-address
BBB
BBB

d-character
W
W

• An EOB (in the message) is transferred to the 1026
buffer to go to the line.
• A group mark with a word mark is transferred to
the 1026 buffer.
• After 210 characters have been written.

Word Marks. Word marks are not affected when operating in move mode (M op code).

Data transfer continues until:
1. An

Op Code

WCP
WCPW

Function. This instruction causes information such as
a polling list or data to be transferred from core
storage to the 1026 attached to the most recently
selected line. The transfer stops when:

Read from 1026

Mnemonic

Mnemonic

When operating in load mode (L op code), word
marks are transferred to the 1447 console. Word
marks are ignored when transferred to the line.

is sensed from the line, or

2. A group mark with a word mark is sensed in core
storage (an error condition), or
3. A group mark with a word mark is written into the
1026 buffer from the IBM 1447 Console.
Records can contain up to 208 characters.

Timing. T = .0999 ms + 4.6 ms (delay-line constant)
+ .02 ms for each character transferred.
Address Registers After Operation.
I-Add. Reg.
NSI

Word Marks. Word marks are not affected when in
move mode (M op code).
Word marks generated from the 1447 console are
transferred to core storage when operating in load
mode (!: op code).

Timing. T = .0999 ms + maximum of 4.2 ms for first
character + .02 ms for each character transferred.

A-Add. Reg.
%30

B-Add. Reg.
B + LB + 1

Example. Write the contents of the core-storage area
labeled POLL02 (11,601) to line 2 (Figure G-70).
Autocoder
I"

label

i

1
1

I~~perati :121

OPERAND
25

59

35

40

45

50

/J,T

IMlc,P,

IOOLL.o. .2.

I

I

I

I

I

I

I

I

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%30

Example. Read from 1026 on line 'S, and place the
data in core storage beginning at the location labeled IN260S (0632). Line S must first have been
selected (Figure G-69).
Autocoder

Assembled Instruction:

.!!
M

Figure G-69.

Read from

mM

1026

Assembled Instruction:

B-Add. Reg.
B + LB + 1

8
%TO

632

R

.!L

7

.&. %TO

Figure G-70.

FOJ

W

Write to mM 1026

Enable Interrupt and Enable Interrupt and Branch

Instruction Format.
Mnemonic

Op Code

I-address

SS
SSB

K
K

III

d-character

>
>

Function. This instruction (d-character bit-configuration 8-4-2) resets the interrupt-routine interlock.
The program continues with the next sequential
instruction unless an I -address is present. The interG-45

rupt interlock is set either automatically upon entering the interrupt or when the DISABLE INTERRUPT
instruction is executed. Refer to Example of Interrupt Subroutine section of IBM 1026 Transmission
Control Unit, Form A24-3244. Figure G-71 lists the
interruptible instructions of the IBM 1440 system.

Word Marks. Word marks are not affected.

Address Registers After Operation.
Enable Interrupt
Enable Interrupt
and Branch
(without indexing) :
Enable Interrupt
and Branch
(with indexing) :

I-Add. Reg.
NSI

A-Add. Reg.
>bb

B-Add. Reg
>bb

NSI

BI

blank

NSI

BI

NSI

Example. Enable the system to accept interruptions,
and branch to the subroutine labeled INTOK
( 15,407); Figure G-72.

Timing.
Enable Interrupt: T = .0333 ms.
Enable Interrupt and Branch without indexing:
T= .0666ms
Enable Interrupt and Branch with indexing:
T = .0777ms.

Autocoder

II

OPERAND

Label

40

,:
Assembled Instruction:

Figure G-72.

OPERATIONS
DESCRIPTION

Interruptable
Op Code

Disable Interrupt and Disable Interrupt and Branch

Instruction Format.

7
5,8
8

A
B
W

1,4
1,4
1,4

Branch if Word Mark or Zone
Compare
Control Carriage

V
C

V
C

F

8
7
5

F

1,4
1,4
2

U

2,5

/

7

/

1,4
1,4
4
4
1,4

0

7

0

%
E

7
7
7

%
E

X

X

.

5,7

.

7

All
L

All

L

Modify Address
Move (Excluding I/O)
Move Digit

#

7
7
7

#

M
D

1,4
1,4
1,4

Move Record
Move and Suppress Zeros
Move Zone

P
Z

7,8
7

P
Z

Y

7

Y

Multiply
No Operation
Scan

@

7
5,7,8

@

Halt
I/O Operations
Load (Excluding I/O)

N

M
D

N

0

1,2,4
1,4

1,4
4
1,4
4
1,2,4
4

Select Stacker
Set Word Mark
Store A - Register

K

5

Q

7
7

Q

2
1,4
1,4

Store B - Register
Subtract
Translate

H
S
T

7
7
7,8

H
S
T

1,4
1,4
1,4

Zero and Add
Zero and Subtract

?
!

7

?
!

1,4
1,4

,

Enable Interrupt and Branch

Non-Interruptable

A
B
W

Divide
Edit
Expand Compressed Tape

7

K

,

Mnemonic
SS
SSB

Op Code
K

I-address

d-character

K

III

<
<

Function. This instruction (d-character B-A-8-4-2)
sets the interrupt interlock and prevents the system
from honoring any interrupt requests. The interrupt
interlock is reset by the ENABLE. INTERRUPT instruction. If an I -address is present, a branch occurs.
Word Marks .. Word marks are not affected.
Timing.
Disable Interrupt: T = .0333 ms.
Disable Interrupt and Branch without indexing:
T = .0666 ms.
Disable Interrupt and Branch with indexing:
T = .0777 ms.
Address Registers After Operation.
Disable Interrupt:
Disable Interrupt
and Branch
(without indexing):
Disable Interrupt
and Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.


Length Op Code Length

Add
Branch
Branch if Bit Equal

Control Unit
Clear
Clear Word Mark

.!S. DOG

Interruptible Instructions

Figure G-73.

Disable Interrupt

K.

<

~

Branch if Request-Service Indicator On

Address Mode
Status

Q

Tronsmit
EOBt

Off

Transmit

Control
EOB
Checkt

tl
Off

*
Off

Line Condition

Instruction Format.

Good transmission to terminal or
console.

Off

Off

On

This combination should not occur
in transmit mode.

Off

On

Off

Program initiated operations are in
process (addressing or transmitting).

Off

On

On

This combination should not occur
in transmit mode.

On

Off

Off

I. Answerback not received by 1026
in response to text.
2. Loss of communication line
detected during transmission.

Transmit
Control
EOBt

On

Off

On

@

Transmit
Control
EOB
Checkt

On

On

Off

I. Addressing answerback time-out
(no response received from
terminal).

received in response to addressing.

Mnemonic

BIN

Op Code
B

I-address

d-character

III

Q

Function. This instruction causes a branch to the
specified I-address if the selected line CQ6, !I7, !IB,
29, or Q.O) has its request-service (Q) indicator on,
or if the master Q indicator is selected (U #) and
on. The master Q indicator is on if any line's Q
indicator is on, or if any line's buffer-busy (D) indicator is off. The request-service indicator is not reset
by this instruction. Figure G-74 is a summary of the
1026 condition indicators.
The IBM 1026 Programming Considerations section
illustrates the use of IBM 1026 instructions.

2. Loss of communicotion line
detected during oddressing.
Transmit
EOB
Check t

On

On

On

I. Transmission (to terminal or
console) has VRC check which
was detected by 1026.
2. Text answerback from terminal
is other than

0

Timing.
No branch, or branch without indexing:
T = .0666ms.
Branch with indexing: T = .0777 ms.

Polling Mode
Status
Idle t

Q

t:I

*

Off

Off

Off

Line Condition

I. End of polling list.
2. Text answerback has been sent to
terminal without multiblock
feature.
3. Line has been idled.

4. Disconnect operation has been
completed.
5. Connection not establ ished when
dialing on an automatic calling
line.
Buffer
Check t

Off

Off

On

Input message from terminal or
console exceeds capacity of
buffer or console.

Receive
Control

Off

On

Off

Program initiated operations are in
process (polling, bidding, receiving,
sending of answerbacks).

Off

On

On

This combination should not occur in
polling mode.

On

Off

Off

Control
EOB
Check t

I. Text time-out (22.6- 23 seconds).

No Branch:
Branch
(without indexing):
Branch
(with indexing):

On

Off

On

I.

©
G)·

B-Add. Reg.

NSI

BI

Qbb

NSI

BI

blank

NSI

BI

NSI

Autocoder

I'

Label
49

Assembled Instruction:.!. 776

Figure G-75.

Q

Branch if Request-Service Indicator On

(0

3. Connection established by dialing
on automatic calling line.
Receive
EOBt

On

On

Off

Good message received from terminal
or console.

Receive
Check
EOBt

On

On

On

Message has VRC or LRC check
(from terminal or console).

tStatus causes request for interrupt

IBM

A-Add. Reg.

received by 1026 in response
to text answerback
or

2. Successful bid for line when
response to polling is @

Figure G-74.

I-Add. Reg.

Example. Test the request-service indicator to determine if a request for service is pending for the selected 1026 line, or if any request-service indicator
is on. If the test is positive, branch to a subroutine
labeled ADDRES (0776); Figure G-75.

2. Successful bid for line due to
polling time-out (522-533 millisecands).
3. Loss of communications line
during polling or receiving.

Control
EOBt

Address Registers After Operation.

1026 Status-Indicator Settings

Branch if Buffer-Busy Indicator On

Instruction Format.
Mnemonic

BIN

Op Code
B

I-address

d-character

III

o

Function. This instruction causes a branch to the
speci£ed I-address if the selected line's buffer-busy
( D) indicator is on. The indicator is not reset by this
instruction. It is reset when the desired line is again
selected, and the particular selected 1026 buffer is
G-47

available. Refer to Figure G-74 for a summary of
1026 condition indicators, and to the IBM 1026
Programming Considerations section.

IBM

Word Marks. Word marks are not affected.

Autocoder

Timing.
No branch, or branch without indexing:
T = .0666 ms.
Branch with indexing: T = .0777 ms.

:~

40

Assembled Instruction:!.

Figure G-77.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
obb

NSI

BI

blank

NSI

BI

NSI

63,E

~o

*

Branch if Inquiry-Clear Indicator On

Branch if Time-Emitter Indicator On

Instruction Format.

Example. Test the availability of the 1026 buffer on
line 4. If the buffer is busy, branch to a routine
labeled BY264 (0199). Line 4 must first be selected
(Figure G-76).
Autocoder
OPERAND

Label
40

Assembled Instruction:...! 199

Figure G-76.

OPERAND

Label

Address Registers After Operation.
No Branch:
Branch
(without indexing):
Branch
(with indexing):

Example. If the inquiry-clear indicator for line 1 is on,
branch to a routine labeled IC2601 (12,635). If the
indicator is not on, execute the next sequential instruction. The desired line must first have been selected (Figure G-77).

:~

~o

0

Branch if Buffer-Busy Indicator On

Mnemonic
BIN

Op Code
B

d-character

I-address
III

Function. The Time Emitter special feature sets an
indicator every 3.6 seconds (1/1000 of an hour).
This instruction (d-character B-8-4-1) causes a
branch to the I -address if 3.6 seconds has elapsed
since the indicator was last tested. This instruction
resets the indicator, and another 3.6-second time interval is begun. When the interrupt feature is installed, the time emitter automatically causes an
INTERRUPT every 3.6 seconds.
Word Marks. Word marks are not affected.

Branch if Inquiry-Clear Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
~

Function. This instruction causes a branch to the
I-address specified if the inquiry-clear (~) indicator
for the selected line is on. This indicator is not reset
by the branch instruction. See Figure G-74 for 1026
indicator conditions, and the IBM 1026 Programming
Considerations section.

Timing.
No branch, or branch without indexing:
T = .0066ms.
Branch with indexing: T = .0777 IDS.
Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
]bb

NSI

BI

blank

NSI

BI

NSI

Word Marks. Word marks are not affected.

No Branch:
Branch
(without indexing):
Branch
(with indexing):

Timing
No branch, or branch without indexing:
T = .0666 ms.
Branch with indexing: T = .0777 ms.

Example. Test the time-emitter indicator, and branch
to a routine labeled MDHOWE (9999) if 3.6 seconds
have elapsed since the indicator was last tested
(Figure G-78).

Address Registers After Operation.

Autocoder

No Branch:
Branch
(without indexing):
Branch
(with indexing):
G-48

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Label
40

~bb

Assembled Instruction:

Figure G-78.

.!!..

Z9R

Branch if Time-Emitter Indicator On

•
IBM 1440 Data Processing System,
Special Features

Only those IBM 1440 Data Processing System special
feahlres that require program instructions are listed
here. For a complete list of special features for this
system, refer to the IBM 1440 System Summary, Form
A24-3006.

Word Marks. Word marks are not affected.
Timing.
No Branch: T = .1110 ms.
Branch (without indexing): T = .1110 ms.
Branch (with indexing): T = .1221 ms.
Address Registers After Operation.

Bit Test
This feature is a BRANCH instruction that compares the
character located at the B-address with the d-character, bit-by-bit. If any bit in the character located at the
B-address matches any bit in the d-character, the program branches to the specified I -address. (WM and
C-bits are not compared.)

No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
B-1

NSI

BI

blank

NSI

BI

NSI

Chaining. This instruction can be chained to the
preceding operation (if that instruction left usable
address-register contents) by supplying only the operation code.

Branch if Bit Equal

Instruction Format.
Mnemonic

Op Code

BBE

W

I-address
III

B-address

BBB

d-character
d

Function. The d-character can contain any character
or any combination of bits (BA 8421) that can exist
in a Single position of core storage. If the character
at the B-address contains any bit that matches any
bit in the d-character, the program branches to the
I-address. Otherwise, the program continues normally.

Example. Examine the storage location labeled UNPOS
( 0759) for a match in the d-character bit configuration. The d-character is a 9 (8- and I-bits). Therefore, if the character contains either an 8- or I-bit,
the program branches to BITEST (0985), Figure H-1.
Autocoder

~

Label

.:

iiati~
Assembled Instruction:

Figure H-l.

OPERAND

'!!.

985 759 9

Branch If Bit Equal

H-1

= .0333 ms.

Direct Data Channel

Timing. T

This feature provides for the attachment of the 1440
to a 1401, to another 1440, or to a 1460 system. With
the direct data channel sproial feature, the two· processing systems are cable-connected through the serial
I/O adapter feature on each system. When the direct
data channel feature is in use, no other input/output
unit can use the serial I/O adapter feature Qn either
system.

Address Registers After Operation.

The cable length between the two systems can be
any length up to a maximum of 100 feet.
Data transmission takes place serially by chara:cter
and parallel by bit (WM BA8421 plus a parity bit).
The type of data transmission operatiQn that can be
performed is varied and at the discretion of the user.
Depending on the program written, bQth systems can
send and receive data, or Qne system can send data
only while the other system can receive data only.
To permit this flexibility, the direct data channel feature makes use of three types of instructions:
1.

SIGNAL CONTROL

2.

BRANCH

3.

MOVE

instructions

LOAD

A-Add. Reg.

B-Add. Reg.

NSI

Cbb

Cbb

Example. The system executing this instruction signals
the other system that it wants to receive data from
the other system (Figure H -2) .
Autocoder
OPERAND

:~
Assembled Instruction:

Figure H-2.

instructions.

Signal Control Instructions
The SIGNAL CONTROL instructions are used by one processing system to
1. inform the other processing system that it wants to
perform a particular operation, or
2. actually perform a particular function in the other
system.

Signal control instructions applying to the direct
data channel feature cannot be successfully chained.

KC

Read Request

Read Request and Branch

Mnemonic

Op Code

SSB

K

I-address
III

d-character
C

Function. The READ REQUEST AND BRANCH instruction
functions exactly . like the READ REQUEST instruction,
except that the address of the next instruction to be
executed is specified by the I -address.
Word Marks. Word marks are not aHected.
Timing.
Branch (without indexing):
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.
Address Registers After Operation.
I-Add. Reg. A-Add. Reg. B-Add. Reg.
Branch (without
indexing) :
Branch (with
indexing) :

Read Request

Instruction Format.
Mnemonic

Op Code

SS

K

NSI

BI

blank

NSI

BI

NSI

d-character
C

Function. This instruction informs the other system
that the system initiating this instruction wants to
read (receive) data from the other system. This condition is tested for in the other system with its B
( III) 3 instruction.
Word Marks. Word marks are not aHected.
H-2

:

Instruction Format.

instructions

and

I-Add. Reg.

Write Request

Instruction Format.
Mnemonic

Op Code

d-character

SS

K

D

Function. This instruction infonns the other system
that the system initiating this instruction wants to
send (write) data to the other system. This condition
is tested for in the other system with its B (III) 4
instruction.
Word Marks. Word marks are not affected.
Timing. T

Address Registers After Operation.
A-Add. Reg.
Dbb

Instruction Fm·mat.
Mnemonic
SS

B-Add. Reg.
Dbb

Example. The system executing the instruction signals
the other system that it wants to send data to the
other system (Figure H -3 ) .
OPERAND

Assembled Instruction:

Figure H-3.

d-character

K

E

This reset instruction must be included at the start
of every direct-data channel program.

Word Marks. Word marks are not affected.

Autocoder

:~

Op Code

If one of the systems is a 1401, this instruction must
be given prior to the executing each read- or writedata instruction. This reset instruction must be executed by the 1401 every time the 1440 system is started
or restarted. Because the 1401 start-reset key does not
include this function, this resets the end-of-transmission circuitry in the 1440 system.

= .0333 ms.

I-Add. Reg.
NSI

Reset

~

Timing. T

= .0333 ms.

Address Registers After Operation.

KD

I-Add. Reg.
NSI

'Write Request

A-Add. Reg.
Ebb

B-Add. Reg.
Ebb

Example. Reset the end-of-transmission circuitry in
the other system (Figure H -4) .
Autocoder
OPERAND

:'.

,~
Assembled Instruction:

Write Request and Branch
Figure H -4.

Instruction Format.
Mnemonic
SSB

Op Code

I-address
III

K

.!S. E

Reset

d-character
D

Function. The WRITE REQUEST AND BRANCH instruction
functions exactly like the WRITE REQUEST instruction,
except that the address of the next instruction' to be
executed is specified by the I-address.

Reset and Branch

Instruction Format.
Mnemonic
SSB

Word Marks. Word marks are not affected.

Op Code
K

I-address
III

d-character
E

Function. The RESET AND BRANCH instruction functions
exactly like the RESET instruction, except that the
address of the next instruction to be executed is
specified by the I -address.

Timing.
Branch (without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.

Word Marks. Word marks are not affected.

Address Registers After Operation.
Branch (without
. indexing):
Branch (with
indexing) :

~

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Timing.
Branch (without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.
H-3

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Branch (without
indexing) :
Branch (with
indexing) :

Function. This instruction and its associated d-characters are used by the system initiating these instructions to check for various conditions on the
other system. When a tested condition is present,
the program branches to the previously written subroutine. The BRANCH IF INDICATOR ON instruction,
the condition it tests for, and other associated information is shown in Figure H-5.

Branch Instructions
Word Marks. Word marks are not affected.
Branch if Indicator On

Instruction Format.
OpCode
B

Mnemonic

BIN

I-address
III

d-character
d

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
System B, Testing Conditions in System A
with Branch-If-Indicator-On Instructions

Line/Signal

Conditions in System Initiating
Li nelS igna I (System A)
Sent
Process Check due to detection of
Transmission Error

Reset By

Branch Instructi on *

Indicator Reset

Start Reset Key

! (III) 1

By executing the Branch Instruction in
System B, or by pressing Start Reset
Key in System A; both alternatives
after pressing the Check Reset Key in
System A.

End of Transmission. A GMWM was
reached in the System A I/O-area
during the previous data transfer.
(The I/O-area in System A was smaller
or equa lin si ze to the System B).

I/O Disconnect

1401, 1440,
1460 executing
a K E instruction
in"the other
system.
1440, 1460
Start Reset Key

~(1II)2

By executing a K E Instruction in
System B or by pressing the Start Reset
Key in System A, if System A is a
1440 or 1460 System.
Note: This indicator must be off in
bothsystems before initiating any
data transfer.

A Read Request Instruction (K C )
has been executed in SystemA.

Read Request

Start Reset Key

~

(III) 3

By executing a Write Data (with or
without word marks) instruction, or
pressing the Start Reset Key in
System A.

A Write Request Instruction (K D) has
been executed by System A. -

Write Request

Start Reset Key

!(1II)4

By executing a Read Data (with or
without word marks) instruction, or
pressing the Start Reset Key in
System A.

A Write Data Instruction is being
executed in System A.

Start Reset Key

!(III)6

When System A ends the Write
operation • (This is done when
System B has executed a read
instruction or by pressing the Start
Reset Key in System A, or if the
Indicator 2 was not reset in System
A.)

A Read Data Instruction is being
executed in System A.

Start Reset Key

~ (III) 7

When System A ends the read
operation. (This is done when
System B has executed a write
operation or by pressing the Start
Reset Key in System A, or if the
Indicator 2 was not reset in System
A. )

System A stopped (Stop key pressed,
STOP Instruction, error stop, etc.).

Start Reset Key

! (III) 8

When System A starts.

* The d-character
Figure H-5.
H-4

must be in the operand field when using a BIN mnemonic.

Branch If Indicator On Instruction Summary Direct Data Channel Feature

Address Registers After Operation.
't\o Branch
Branch (without
indexing)
Branch (with
indexing)

Read Data

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
dbb

NSI

BI

blank

NSI

BI

NSI

Instruction Format.
Mnemonic

MU

Example. Test for end of transmission by other system. If other system did signal an end - of - transmission, branch to MSGSNT (0843), Figure H -6.

Op Code
M

A-address
%H1

B-address
BBB

d-character
R

Function. This instruction causes-·the data sent from
the other system to read into core storage, beginning
at the core-storage location specified in the instruction.

Autocoder
OPERAND

label

:~
Assembled Instruction:

Figure H-6.

!

.

~a

843 2

Word Marks. Word marks are not stored when operating in the move mode (M operation code).
Timing. T

= .0999 ms + transmission and start time.

Branch If Indicator On

Address Registers After Operation.
I-Add. Reg.
NSI

Move and Load Instructions
The MOVE or LOAD instruction [M or L (%Hl) (BBB)
R or W] is used by the systems to transmit or receive
the data in either the move mode or the load mode.
The parts of the instruction and their uses are:

M or!=.. The M or 1. operation code specifies whether
the data transmission will be performed in the move
mode or load mode. If the move mode is specified,
up to 7 bits per character (CBA8421) are involved
in the data transmission. If the load mode is specified, up to 8 bits per character (WM CBA8421) are
involved in the data transmission. The same mode
must be used by both systems for anyone particular
data transmission. Word marks wOuld be lost if the
message transmission were in the load mode, but the
message reception were in the move mode.
%Hl. The A-address (%Hl) specifies that the direct data channel feature is used in perfonning this
instruction.

BBB. The B-address specifies the high-order position
of the message in core-storage area involved in the
data transmission.
R or W. A d-character of R specifies a read operation.
This d-character is used when the other system is
sending the data. A d-character of W specifies a
write operation. This d-character is used when the
other system is receiving the data.

A-Add. Reg.
%81

B-Add. Reg.
B + message length + 1

Example. Read data from the other system and place
it in core storage, beginning at location 0633 (area
is labeled INPDAT), Figure H-7.
Autocoder

~

OPERAND

::

label

Assembled Instruction:

Figure H-7.

M %Hl

. ~

633 R

Read Data

Read Data with Word Marks

Instruction Format.
Mnemonic

Op Code

LU

L

A-address
%H1

B-address
BBB

d-character
R

Function. This instruction is similar to the READ DATA
instruction except that word marks in the record
area of core storage are removed, and word marks
sent with the other data are written in core storage.
Word Marks. Word marks transmitted from other systems are written in core storage.
Timing. T

= .0999 ms + transmission and start time.

Address Registers After Operation.
Instructions applying to the direct data channel
feature cannot be successfully chained.

I-Add. Reg.
NSI

A-Add. Reg.
%81

B-Add. Reg.
B + message length + 1

H-!5

Example. Read data from the other system, with its
associated word marks, and place it in core storage,
beginning at location 0633 (area is labeled INPDAT),
Figure H-8.

Function. This instruction is similar to the WRITE DATA
instnlCtion except that word marks in the output
area of core storage are transmitted with the associated data.

Autocoder

Word Marks. Word marks are sent to the other system.

~

label'
!

Timing. T

:

Assembled Instruction:

Figure H-8.

1.

= .0999 ms + transmission and start time.

%Hl 633 R

Address Registers After Operation.

Read Data with Word Marks

I-Add. Reg.
NSI

Instruction Format.
Op Code

MU

M

B-Add. Reg.
B + message length + 1

Example. Send data to the other system, with its associated word marks, from the core-storage area labeled OUTDAT (first position of the data located
in 0633); Figure H-IO.

Write Data

Mnemonic

A-Add. Reg.
%81

A-address
%H1

B-address
BBB

d-character
W

Autocoder

~

F unction. This instruction causes data to be sent to the
other system from core storage, beginning at the
core-storage location specified in the instruction.

OPERAND

::

label

.:
Assembled Instruction:

Figure H-lO.

!

~

%Hl 633 W

Write Data with Word Marks

Word Marks. Word marks are not sent to the other
system when operating in the move mode (M operation code).

Instruction Utilization in the Program
Timing. T

= .0999 ms + transmission and start time.

With the instructions just descri~ed, the specific type
of system-to-system data transm~ssion can be set up.
The type of operation performed is at the discretion
of the user because the operatiOV is completely programmed.

Add1'ess Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%81

B-Add. Reg.
B + message length + 1

Example. Send data to the other system from the corestorage area labeled OUTDAT (first position of the
~ata located in 0633), Figure H-9.
Autocoder

~

Each system has its own specifically designed program, using the previously described instructions.
Some instructions are used in both programs, while
other instructions might appear in only one program,
if at all. The instructions used are completely dependent on the specific type of data transmission involved.

OPERAND

label

:'

AssembJed Instruction:

M

!

~
l-Way System-to-System Data Transmission

%Hl 633 W

Write Data with Word Marks

To illustrate one kind of system-to-system data transmission, assume a hypothetical case where one system
sends data only, while the other system receives data
only. The program procedure illustrated in Figure
H-ll is meant only as an example to show the use of
the various instructions and should not be considered
the optimum procedure for this kind of operation.

Instruction Format.

Sending-System Operation

Figure H-9.

Write Data

Mnemonic

OpCode

LU

L

H-6

A-address
%H1

B-address

d-character

BBB

W

1. The sending system enters its system-to-system
data transmission program and executes a BRANCH

instruction, !!. (III) 8, which checks
to see whether the othel' system is operating.

IF INDICATOR ON

2. If the other system is stopped for any reason, the
program branches into a previously specified subroutine, which may, for example:
a. permit processing of some other information, or,
b. stop the system that initiated the instruction, or,
c. notify the system operator in some way.

10. If no transmission error occurred, a BRANCH IF INDICATOR ON instruction, B (III) 2, is executed,
which checks to see whether the other system
ended the data transmission.
11. If the other system did not end the data transmission, it means that the entire message was transmitted. The subroutine ends, and the system returns to its main program.

3. If the other system is operating, another BRANCH
IF INDICATOR ON instruction, li (III) 7, is executed,
which checks the other system to see whether it is
trying to execute a READ instruction. If the other
system is trying to execute a READ instruction, it
informs the sending system by setting the indicator
tested by a ~ (III) 7 instruction.

12. If the other system did end the data transmission,
a check must be made to see whether the entire
message was transmitted. One method that could
be used is to compare the address stored in step 7
with the address known to be the last core-storage
address in the sending system data area.

4. When a !! (III) 7 instruction results in a branch,
the sending system immediately executes a WRITE
instruction, M or 1: (%Hl) (BBB) W.

9. If the two addresses do not compare, the end-oftransmission circuitry in the other system is reset,
and the sending system tries to send the data again
(step 4) because the receiving system did not
receive the complete message.

The actual data transmission occurs between the
two systems and continues until one of the systems
encounters a preset group mark with a word mark
in its core storage. The group mark with a word
mark terminates the data transmission operation
and sends a termination signal to the other system.
(See Notes at the end of this data-transmission example for further information.)
5. If any transmission error occurs in the sending
system during the data transmission, the sending
system stops at the end of the data transmission
operation.
6. The system operator must start the system operating again and will either try to send the data again
(step 4) or start at the beginning of the subroutine
(step 1).
7. If no transmission error occurred in the sending
system during the data transmission, the corestorage address contained in the B-address register
is stored in a location specified by the STORE BADDRESS REGISTER instruction, H (BBB). This information is used later to determine whether the complete message was transmitted.
8. A BRANCH IF INDICATOR ON instruction, !! (III) 1 is
executed, which checks to see whether any transmission errors occurred in the other system.
9. If any error occurred in the other system, the endof-transmission circuitry in that system is reset
(~E instruction) and the sending system tries to
send the data again. The actual data transmission
does not start until the operator corrects the error
condition in the other (receiving) system and starts
that system operating again.

13. If the two addresses do compare, the entire message was transmitted. The end-of-transmission circuitry in the other system is reset.
11. The subroutine ends, and the system returns to its
main program.
Or, if the other system is not trying to execute a
read instruction:
3. A BRANCH IF INDICATOR ON instruction, !! (III) 7, is
executed, which checks to see whether the other
system is trying to execute a READ instruction.
14. If the other system is not trying to execute a READ
instruction, the sending system informs the other
system that the sending system wants to send data
by executing a WRITE REQUEST instruction, ~D.
Receiving-System Operation

In the receiving system operation being used in this
example, three conditions can occur:
1. Sending system wants to send data, or,
2. Sending system is trying to execute a
struction, or,

WRITE

in-

3. Sending system does not want to send data and is
not trying to execute a WRITE instruction..
Each one of these situations is explained.
15. The receiving system enters its system-to-system
data transmission program and executes a BRANCH
IF INDICATOR ON instruction, B (III) 8, which checks
to see whether the other system is operating.
H-7

Subroutine At
Discretion of
The Programmer
Trying To Execute A Read Instruction

Send Data To
Other System
M or L %Hl
Signal Other
System That This
System Wants To
Send Data (Write)

Trying To Execute A

OR

-------Write Instruction

ii'BBW
Write Request

.!SD
Operator
Intervenes

Receive Data From
Other System
MorL%Hl

BBB K-

Store B - Address
Register Contents

H BBB

Operator
Intervenes

mission Circuitry In
Other System

.!S.E

Clear And Readjust 1-_ _......
The Read-In Area

Reset End-ofTransmission
Circuitry In
Other System

.!S.E

Yes
Reset End-of-Transmission Circuitry In
Other System

.!S.E
Reset End-of-Transmission Circuitry
In other System

.!S. E

Figure H-U.

H-8

Programming Example of One-Way System-to-System Data Transmission

Return To Main
Program

16. If the other system is stopped for any reason, the
program branches into a previously specified subroutine that may be similar to the subroutine described in step 2.

Condition 1: Sending system wants to send data.
17. If the other system is operating, another BRANCH IF
INDICATOR ON instruction, Ji (III) 4 is executed.
This instruction checks to see whether the other
system wants to send data. This condition originated in step 14 of the sending system program. If
the other system wants to send data, the receiving
system immediately tries to execute a READ instruction, M or L (%H1) (BBB) R. The data transmission does not take place immediately, however.
In trying to execute a READ instruction, the receiving system signals the sending system that it is
trying to execute a READ instruction. After a negligible time interval, the sending system enters its
system-to-system data-transmission program and
this condition initiates the data transmission previously described in step 4.
18. When the execution of a 12. (III) 4 instructipn results in a branch, the receiving system immediately executes a READ instruction, M ur L (%H1)
(BBB) R.
The actual data transmission occurs between the
two systems and continues until one of the systems
encounters a preset group mark with a wurd mark
in its core storage. The group mark with a word
mark terminates the data transmission operation
and sends a termination signal to the other system.
(See Notes at the end of this data-transmission example for further information.
19. If any transmission error occurs in the receiving
system during the data transmission, the system
stops at the end of the data transmission.
20. The system operator must start the system operating again and will either try to receive the data
again (step 18) or start at the beginning of the
subroutine (step 15).
21. If no transmission errur occurred in the receiving
system during the data transmission, a BRANCH IF
INDICATOR ON instruction, l!. (III) 1 is executed,
which checks to see whether any transmission errors
occurred in the other system.
22. If any error occurred in the other system, the endof-transmission circuitry in that system is reset and
the receiving system tries to receive the data again
(step 18).
23. If no transmission error occurred, a

BRANCH IF IN-

instruction, 13. (III) 2 is executed, which
checks to see whether the other system ended the
data transmission.

DICATOR ON

24. If the other system did not end the data transmission, it means that the receiving system read-in
area was not large enough to accept the incoming
message. A subroutine is executed to readjust the
read-in area so that it can accept the entire incoming message, and the receiving system tries to receive the data again (step 18).
At approximately this same time, steps 10, 12 and 9
are being executed in the other system. As previously
described in these steps, the other system automatically tries to send the message again. As sOOin as the
read-in area is adjusted, another data transmission
operation takes place.
25. If the other system did end the data transmission,
the end-of-transmission circuitry in the other system is reset by initiating a RESET (KE) instruction.
6. The subroutine ends and the system returns to its
main program.

Condition 2: Sending system trying to execute a
instnlCtion.

WRITE

27. If the other system is operating, and is not trying
to send data, another BRANCH IF INDICA'FOR ON instruction, ~ (III) 6 is executed. This instruction
checks to see whether the other system is trying to
execute a WRITE instruction as a result of an operator intervention or some other condition. If the
other system is trying to execute a WRITE instruction, it informs the receiving system by setting the
indicator tested by a B (III) 6 instruction. When
the execution of a ~ (III) 6 instruction results in
a branch, the program previously described in
steps 18-26 is executed.

Condition 3: Sending system does not want to send
data and is not trying to execute a WRITE instruction.
15, 17, 27, 26. If the other system is operating, but
does not want to send data, and is not trying to execute a WRITE instruction, the subroutine ends and
the system returns to its main program.
Notes:
1. The conditions that specify the terminating system are:
a. The writing system temlinates the data transmission (activates its I/O disconnect line to the other system) when
the read input area is longer than the write output area.
h. Both the reading and writing systems terminate the data
transmission when the read input area is the same size
as the write output area.
H-9

c. Both the reading and writing systems terminate the data
transmission when the read input area is one core-storage
position shorter than the write output area.
d. The reading system terminates the data transmission when
the read input area is shorter than the write output area
by more than one core-storage position.
2. When either system, or both systems, ends data transmission,
one, or both, I/O disconnect lines are activated. As long as
this line is active, neither system can execute a direct-datachannel input/output instruction. A WRITE DATA instruction
is treated as a NO OPERATION instruction; a READ DATA instruction places a group mark in the first position of the
addressed I/O area in core storage, and then ends the operation.
3. Each system must reset the other system's I/O disconnect
line. If a B (III) 2 instruction causes a branch, the system
in which the branch occurred must execute a KE instruction
before the system can execute a direct-data-cl;annel input!
output instruction.

2-Way System-to-System Data Transmission

The programming involved in a 2-way system-tosystem data transmission operation is, of necessity,
more involved than the I-way system-to-system programming just described. If both systems send and re-

H-10

ceive data, then the same program routine used by one
system can also be used by the other system.
To permit maximum efficiency, each system must
test the status of the other system at regular intervals.
If the data transmission operations of one system have
priority over the other system's operations, the program must include routines that will terminate, or
delay, the other system's operations.

If two duplicate programs are used, each program
should include a dissimilar timing loop so that the
systems do not re-enter their routines together after
terminating an operation.
If both programs try to execute READ instructions at
the same time, both the systems stop operating because all program execution stops. Each system then
waits for the other system to start sending data, but
neither one ever starts. This condition can be elimina ted by proper programming.

If both programs try to execute WRITE instructions at
the same time, the write operations are completed, but
neither message is transferred, resulting in the 10'ss of
one message in each system. This condition can be
eliminated by proper programming.

Direct Seek
This special feature reduces access time on the 1311
disk storage drive (from 400 to 250 ms maximum, and
from 250 to 150 ms average) by allowing the access
assembly to be positioned directly at a new setting
without returning to the home position.

CHARACTER

BIT CODE
BA 8 21

*

BA 8421
B 8 21

$

B 8421
A821

The instruction used for the direct-seek operation
is the same as that used with normal seek (M%FO
BBB R). The B-address position of the instruction contains the core-storage address of the high-order position of the 10-digit disk-control field used.

8421

Figure H-13.

Disk-Control Field

Direct-seek operations use a 6-position sector address
from the specified disk-control field (Figure H -12) .
The first position of the disk-control field (the alternate code position) contains the disk-drive number
(0, 2, 4, 6, or 8). An asterisk cannot be used for· this
operation.
The next four positions (2-5) contain a signed 4-digit
number equal to twice the number of cylinders to be
advanced (+) or retracted (-).

A8421

+It

Unacceptable Characters in Sixth Position
of Disk-Control Field

The sixth position contains a pound (#) sign to indicate a direct-seek operation. Any other character
with an 8-2-1 bit combination will be taken to indicate
a direct-seek operation and cannot, therrefore, be used
in the sixth position. See Figure H-13 for a list of these
characters.
The signed difference field can be calculated by the
method shown in Figure H-14. This method uses the
four high-order positions of the disk address at which
the access arm is positioned and the four high-order
positions of the disk address to be sought. Both fields
must be changed to either odd or even (either add
one to an even number to make both numbers odd,
or, subtract one from an odd number to make both
numbers even). The old address is then subtracted
from the new address. The result of the subtraction
has the conect sign to indicate that the mechanism is
to advance (+) or retract (-).
If, for 'Some reason, the address fails to specify the
module in the alternate-code position, the direct seek
is executed on the master file.

Disk Control Field

Alternate
Code

Sector
Address

Sector
Count
Field

X
X

XXXXXX

XXX

~##X

T

Remarks

Any Valid Digit
Any Valid Digit
Direct Seek Code

Figure H-12.

Both Odd
0043

Signed Difference
(No. of Cylinders
to be crossed Times
2 must be signed).

New Address

004372

0043

Old Address

003291

0032

Drive Number
(0, 2, 4, 6 or 8)

Signed Difference 0010 (+because increase in address)

Disk-Control Field for Direct Seek

+1
0033
difference

0010

+

Figure H-14.

Calculating Signed Difference
H-ll

Number of Cylinders Traveled

I

Time In Milliseconds

1

54 Minimum
67
80
90
5 --------105
6
115
7
130

2
3
4

8

9
10
~

30
40
50
60
70
80
90
99

Figure H-15.

140

155
165
130
137
154
170
185
202
217
235
248 Maximum

Cylinder Seek Time with Direct Seek

Expanded Print Edit
The basic operations of the MOVE CHARACTERS AND
EDIT instruction can be increased by the expanded
print edit feature. With this feature, asterisk protection, floating dollar sign, decimal control, and sign
control left, operations can be performed. The zerosuppression code in the control word should be in the
position immediately to the left of the decimal, except
as required in Decimal Control.
Note: Floating dollar sign and asterisk protection or floating
dollar sign and decimal control cannot be used in the same
edit operation. When asterisk protection and decimal control
are combined, and a blank data field is edited, the result is
asterisks in all positions to the left of, but not including, the
decimal-control position.

Asterisk Protection

When asterisks are to appear to the left of significant
digits, the asterisk protection feature is used (Figure
H -16). The control word is written with the asterisk
immediately to the left of the zero suppression code.
Zero-balances can be protected with asterisks by placing control zeros in the right-most position. In this
instance, asterisks print in all positions including the
decimal position.
Direct-Seek Timing

Figure H-15 provides seek times when direct-seek
feature is installed on the system.

Forward Scan:

1. The normal editing process proceeds until the asterisk is sensed.
2. The corresponding digit from the A-field replaces

the asterisk (in the output field).
3. The editing process continues normally until the
B-field word mark is sensed and removed.

Reverse Scan:

Expanded Disk-Storage Control

1. Asterisks replace zeros, blanks, and commas, to the
left of the first significant digit.

This feature provides the controlling circuitry necessary for the attachment of any IBM 1301 Disk Storage
units to the system. (The disk-storage control special
feature is a prerequisite.)

2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped.

For more detailed information on 1301 operation,
refer to IBM 1301 Disk Storage, Models 11, 12, 21, and
22, Form A24-3157.

H-12

Floating-Dollar Sign

This feature causes the insertion of a dollar sign in the
position at the left of the first Significant digit in an

A-field
Control word (B-field)
Forward scan

20257426
bbb, b*O. bb&CR

• 002,574.26 CR
--+

Q037894'O

A-field
Control word (B-field)

CR&bbb,
-,

bbO. bb

Forward scan

CRb003, 782.40

•

Reverse scan

**2,574.26 CR

Reverse scan

CRbbb3,789.40

Results of edit

**2,574.26 CR

Results of edit

CR

Figure H-16.

Figure H-18.

Asterisk Protection

amount field (Figure H-17). The control word is written with the $ immediately to the left of the zero-suppression code.
N ate: The control word must be larger than the A-field.

Three scans are necessary to complete this editing
operation.
First Forward Scan:

1. The editing proceeds until the $ is sensed.

2. The corresponding digit from the A-field replaces
the $ (in the output field).
3. Editing continues until the B-field word mark is
sensed and removed.

Reverse Scan:

3,789.40

Sign Control Left

(Figure H-18). The control word is written with the
OR or minus symbols in the high-order position.
Forward Scan:

1. The scan proceeds until the zero suppression character in the control field is sensed.

2. The corresponding character from the A-field is
placed in this position of the output field.
3. A word mark is automatically inserted in this position in the output field.

4. Editing continues and the CR or minus symbols are
undisturbed in their cOl'responding 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. Blanks replace both zeros and commas to the left
of the first significant digit.
2. The reverse scan continues until the word mark (set
during the first forward scan) signals the start of
the second forward scan.

1. Blanks in the output field replace zeros and commas. The scan continues until the automatically set
word mark is sensed.

2. This word mark is erased and the operation ends.

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

CR or minus symbols can be placed at the left of a
negative field, if the sign control left feature is used
A-field
Control word (B-field)

Q0257426

• 002,57~.26

Reverse scan

bbb 2,574.26

Results of edit

Figure H-17.

Floating Dollar Sign

This feature ensures that decimal points print only
when there are significant digits in the A-field (Figure H-19).
Two scans are sufficient to complete this editing
operation, unless the field contains no Significant digits.
Then three scans are required.
First Forward Scan:

ebbb, b$O. bb

First forward scan

Second forward scan

Decimal Control

--

$2,574.26
$2,574.26

1. When the zero suppression code (0) is sensed during editing, the corresponding digit from the A-field
replaces this position.
2. A word mark is set automatically in this position in
the B- (output) field.
3. Editing continues normally until the B-field word
mark is sensed and removed.
H-13

QOOOO

1. A.field
Control word (B.field)

!!bb. bO
~

First forward scan
Reverse scan
Second forward scan
Results of edit

--

000·02
bbb.OO
bbb

(Blank Field)
~9437

2. A·field
Control word (B-field)
First forward scan
Reverse scan
Result of edit

3. A·field

--

.ebb. bO
294.31
294.37
294.37

Q0001

Control word (B·field)

~bb.bO

First forward scan

-

-....

Reverse scan

bbb.01

Results of edit

Figure H-19.

A large-scale data processing system (such as the IBM
1410/7010) can transmit data to and from an IBM 1440
Data Processing System. The large-scale system must
have a control adapter feature, priority feature, and
processing overlap feature installed, while the 1440
system must have the Expanded Serial I/O Adapter
feature installed. Also, a prerequisite for the 1440
system is the indexing and store-address register feature and the bit-test feature .
Throughout this section, the large-scale data processing system is referred to as the primary system;
the IBM 1440 Data Processing System is referred to
as the secondary system.
See Figure G-35 for a list of instructions that can
be interrupted.

OOO.O!

.01

Decimal Control

Reverse Scan:
1. Blanks in the output field replace zeros and commas
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. Blanks replace the zeros at the right of the decimal
point and the decimal point itself.
2. The operation stops at the decimal column.

H-14

Expanded Serial Input I Output Adapter

Primary System Operation
The primary system can initiate four types of operations:
1. Read operation
2. Write operation
3. Control operation
4. Sense operation.
Any of these can cause an interrupt in the secondary
system.

Read Operation

When the primary system initiates a read operation,
it sends a read command signal to the secondary
system. This signal sets the primary read latch ON
in the secondary system (latch remains on until the
operation ends). When the secondary system program
tests the primary read latch and finds it on, the program branches into a subroutine that sends data from
the secondary system to the primary system.

Write Operation

1. read command

When the primary system initiates a write operation,
it sends a write command signal to the secondary
system. This signal sets the primary write latch ON
in the secondary system (latch remains on until the
operation ends). When the secondary system program
tests the primary write latch and finds it on, the program branches into a subroutine that receives data in
the secondary system from the primary system.

2. write command
3. control command
4. sense command
5. end response
6. operational aut line
7. stop.
Figure H-20 shows a summary of the primary system Signals.

Control Operation

When the primary system initiates a control operation,
it sends a control command signal to the secondary
system. This signal sets the primary control latch
ON in the secondary system (latch remains on until
the operation ends). When the secondary system program tests the primary control latch and finds it on,
the program branches into a subroutine that receives
control data in the secondary system from the primary
system. The data must be analyzed by the secondary
system to determine what it must do under primary
system control.

Read Command

The read command signal is sent to the secondary
system by the primary system to initiate a primary
system read operation. The read command signal sets
ON the primary read latch in the secondary system.
The status of the primary read latch is checked
with a BRANCH IF INDICATOR ON instruction - ~ (III) 3.

Signal

Function

Sense Operation

When the primary system initiates a sense operation,
it sends a sense command signal to the secondary system. This signal sets the primary sense latch ON in the
secondary system (latch remains on until the operation
ends). When the secondary system program tests the
primary sense latch and finds it on, the program
branches into a subroutine that sends status data from
the secondary system to the primary system. The status operation is usually initiated by the primary system when the secondary system initiates an unusualend signal or an attention signal. This status data sent
to the primary system is usually only four characters
in length and indicates what condition initiated the
unusual-end signal. Some af the conditians that can
initiate the signal are:

1. program check

Read-Command
Signal

Sent to the secondary system to initiate a
primary system-read operation. Turns ON
primary read latch, and the latch status is
checked with a ~ (III) 3 instruction.

Write-Command
Signal

Sent to the secondary system to initiate a
primary system-write operation. Turns ON
primary write latch, and the latch status is
checked with a ~ (III) 4 instruction.

Control-Command
Signal

Sent to the secondary system to initiate a
primary system-control operation. Turns
ON primary control latch, and the latch
status is checked with a ~ (III) 7 instruction.

Sense-Command
Signal

Sent to the secondary system to initiate a
primary system-sense operation. Turns ON
primary sense latch, and the latch status is
checked with a ~ (III) 6 instruction.

End-Response
Signal

Sent to the secondary system as an acknowledgement signal after receiving an end or
unusual end signal. Turns OFF any primary
latch in the secondary system that is ON.

Operational
Out Line

Tells the secondary system if pri mary system
is operating. Can be program-tested wi th a
~ (III) 8 instruction.

Stop Signal

Tell s the secondary system that pri mary
system has terminated the data-transmission
operation.

2. message length check

3.

nO'

storage available.

Primary System Signals
The primary system communicates with the secondary
system by using seven signals:

Figure H-20.

Primary System Signal and Line Condition
Summary
H-15

Write Command

Stop

The write cammand signal is sent to' the secandary
system by the primary system to' initiate a primary
system write operation. The write command signal
sets ON the primary write latch in the secandary system.

The stop signal is used to inform the secondary system that the primary system has tenninated the datatransmissian operatian in process. The secondary system then terminates its own read or write aperation
and proceeds to the next instruction. Depending on
the program procedure, the secondary sySitem sends
either an end or an unusual-end signal to the primary
system as a recognition signal of the stop.

The status of the primary write latch is checked
with a BRANCH IF INDICATOR ON instruction - ~ (III) 4.

Secondary System Instructions
Control Command

The control command signal is sent to' the secandary
system by the primary system to initiate a primary system control operation. The control command signal
sets ON the primary control latch in the secondary
system.
The status of the primary control latch is checked
with a·BRANCH IF INDICATOR ON instruction - ~ (III) 7.

The secondary system makes use of three types of
instructions to communicate with the primary system:
1. SIGNAL CONTROL instructions.
2. BRANCH IF INDICATOR ON instructians.
3. READ AND WIUTE instructions.
These instructions cannot be successfully chained.

Signal-Control Instructions
Sense Command

The SIGNAL CONTROL instructions are used by the secondary system to':

The sense command signal is sent to' the secandary
system by the primary system to' initiate a primary
system sense operation. The sense command signal
sets ON the primary sense latch in the secondary system.

2. inform the primary system of a particular sooondarysystem condition.

The status of the primary sense latch is checked
with a BRANCH IF INDICATOR on instruction - ~ (III) 6.

Figure H -21 shows a summary of all SIGNAL CONTROL
instru'Ctions.

End Response

The end response signal is sent to the secondary system by the primary system after the primary system
accepts either the end ar the unusual-end signal sent
to' it fram the secondary system. The end response
signal turns aff any primary latch (primary read, primary write, primary control, primary sense) that is
an, and terminates the end ar unusual-end conditian
in the secondary system.

1. perform a particular function in the secondary system, Of,

Send Attention Signal

Instruction Format.
Op Code

Mnemonic
SS

.K

INSTRUCTIONS

H-16

DESCRIPTION

~ A or ~ III A

Originates an attention signal that is sent to
the primary system.

K E or ~ III E

Originates an end signa I that is sent to the
primary system.

Operational-Out Line

An active operational-aut line tells the secondary system that the primary system is aperating. If the operational-out line becomes inactive during a secondary
system read, write, control, or sense operation, the
secondary system data transfer is terminated. The
status of this line can be program-tested in the secondary system by executing a BRANCH IF INDICATOR ON
instructian - ~ (III) 8.

d-character
A

1$ F or

~

Originates an unusua 1- end signa I that is
sent to the primary system.

III F

III

>

Permits secondary system program interruption
by anyone of the four primary systemoperation commands.

~ III

<

Prevents secondary system program interruption.

~

> or !S

!S

< or

Figure H-21.

Signal Control Instruction Summary

Function. This instruction sends an attention signal to
the primary system, which sets ON an attention indicator in the primary system, and indicates that the
secondary system wants t9 transfer data with the
primary system. When the primary system tests the
attention indicator, it also sends an attention response signal back to the secondary system, and the
attention signal is reset.
The secondary system does not suspend system
operation after executing this instruction, but proceeds to the next instruction.

Example. Send an attention signal to the primary system and branch to core-storage location 0385 (area
labeled PSTST); Figure H-23.
Autocoder
OPERAND

:~

,

:

Assembled Instruction: .IS. 385 A

Figure H-23.

Send Attention Signal and Branch

Word Marks. Word marks are not affected.
Timing. T = .0333 ms.

Send End Sign.al

Note. For proper operation, this instruction should be followed
by one of the primary latch test instructions (primary read,
write, sense, or control).

Instruction Format.
Mnemonic
SS

!tddress Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
Abb

B-Add. Reg.
Abb

Example. Send an attention signal to the primary system (Figure H -22).
Autocoder

~

OPERAND

:' :

label

KA

Assembled Instruction:

Figure H-22.

Function. This instruction sends an end signal to the
primary system and is usually used to signify that
a normal end condition resulted from the previous
data transfer between the primary and secondary
system. The signal causes the primary system to
automatically terminate its operation, and proceed
to the next instruction. Either this instruction or the
UNUSUAL-END instruction must be executed to end
the data transmtission.

Timing. T
Send Attention Signal and Branch

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI

Instruction Format.
Op Code

K

d-character
E

Word Marks. Word marks are not affected.

Send Attention Signal

Mnemonic
SSB

Op Code
K

I-address
III

B-Add. Reg.
Ebb

A-Add. Reg.
Ebb

d-character
A

Function. This instruction is similar to the SEND ATTENTION SIGNAL instruction, except that the next instruction is taken from the I-address.

Example. Send an end signal to the primary system
(Figure H -24) .
Autocoder

~

label

Word Marks. Word marks are not affected.
Assembled Instruction:

Timing.
Branch (without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.

Figure H-24.

Address Registers After Operation.
I-Add. Reg.
Branch (without
indexing):
Branch (with
indexing) :

KE

Send End Signal

Send End Signal and Branch

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Instruction Format.
Mnemonic
SSB

Op Code
K

I-address
III

d-character
E

H-17

Function. This instruction is similar to the SEND END
SIGNAL instruction, except that the next instruction
is taken from the I -address.

Example. Send an unusual-end signal to the primary
system (Figure H-26).

Word Marks. Word marks are not affected.

~

Autocoder

Timing.
Branch (without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.

OPERAND

:'. :

Label

Assembled Instruction:

Figure H-26.

!

F

Send Unusual-End Signal

Address Registers After Operation.
I-Add. Reg.
Branch (without
indexing) :
Branch (with
indexing) :

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Example. Send an end signal to the primary system
and branch to core-storage location 0853 (area labeled MPRET); Figure H -25.
Autocoder

~

OPERAND

:'. :

Label

.:
Assembled Instruction:

Figure H-25.

!

853 E

Send End Signal and Branch

Send Unusual-End Signal and Branch

Instruction Format.
Mnemonic
SSB

Op Code

I-address
III

!

d-character
F

Function. This instruction is similar to the SEND UNUSUAL-END SIGNAL instruction, except that the next
instruction is taken from the I -address.
Word Marks. Word marks are not affected.
Timing.
Branch (without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.
Address Registers After Operation.

Send Unusual.;End Signal

I-Add. Reg.

Instruction Format.
Mnemonic
SS

Op Code

K

d-character
F

Function. This instruction sends an unusual-end signal
to the primary system, and is usually used to signify
that some condition has occurred in the secondary
system and should be investigated. The signal 'causes
the primary system to automatically terminate its
operation, and the secondary system proceeds to the
next instruction.
The primary system normally replies to this signal
with a secondary system sense operation, which
makes it possible for the secondary system to inform
the primary system, in more detail, of the condition
that caused the unusual end. Either this ins'truction
or the END instruction must be executed to end the
data transmission.

Word Marks. Word marks are not affected.
Timing. T

= .0333 ms.

Address Registers After Operation.
I-Add. Reg.
NSI
H-18

A-Add. Reg.
Fbb

B-Add. Reg.
Fbb

Branch (without
indexing) :
Branch (with
indexing) :

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Example. Send an unusual-end signal to the primary
system and branch to core-storage location 0538
(area labeled PSROUT); Figure H-27.
OPERAND

:'.

Assembled Instruction:

Figure H-27.

:

IS. 538 F

Send Unusual-End Signal and Branch

tEnable Interrupt

Instruction Format:
Mnemonic
SS

Op Code

d-character

K

>

Function. This instruction makes it possible for the
primary system to interrupt secondary system operation with anyone of the four primary system opera-

tion commands (read, write, control, sense), unless
the secondary system has already been interrupted
and that interrupt is being processed. See Figure
G-35 for a list of instructions that can be interrupted.

Disable Interrupt

Instruction Format.
Mnemonic

Op Code

d-character

SS

K-

<

Word Marks. Word marks are not affected.
Timing. T

= .0333 ms.

Function. This instruction prevents any secondary system program interruption by the primary system.
Secondary system program interruption cannot occur until the ENABLE INTERRUPT instruction is executed.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
>bb

B-Add. Reg.
>bb

Example. Permit interruption of the secondary system
operation by the primary system (Figure H-28).
Autocoder
OPERAND

:~

,~
Assembled Instruction:

Figure H-28.

~

~>

Word Marks. Word marks are not affected.
Timing. T = .0333 ms.
Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.


Figure H-30.

~

K<

Disable Interrupt

Function. This instruction is similar to the ENABLE
INTERRUPT instruction, except that the next instruction is taken from the I -address.
Word Marks. Word marks are not affected.
Disable Interrupt and Branch

Timing.
Branch (Without indexing) :
T = .0666 ms.
Branch (with indexing) :
T = .0777 ms.

Instruction Format.

Address Registers After Operation.
I-Add. Reg.
Branch (without
indexing) :
Branch (with
indexing) :

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI

Autocoder
OPERAND

Assembled Instruction:

Figure H-29.

!

385

Enable Interrupt and Branch

>

Op Code

SSB

K

I-address
III

d-character

<

Function. This instruction is similar to the DISABLE
INTERRUPT instruction, except that the next instruction is taken from the I -address.
Word Marks. Word marks are not affected.

Example. Permit interruption of the secondary system
operation by the primary system and branch to corestorage location 0385 (area labeled pmoUT); Figure H-29.

:'.

Mnemonic

~

Timing.
Branch (without indexing) :T = .0666 ms.
Branch (with indexing) :
T = .0777ms.
Address Registprs After Operation.
I-Add. Reg.
Branch (without
indexing):
Branch (with
indexing):

A-Add. Reg. B-Add. Reg.

NSI

BI

blank

NSI

BI

NSI
H-19

Example. Do. not permit interruptian of the secondary
system -aperation by the primary system and branch
to. core-:starage locatian 0853 (area labeled NOSSIN);
Figure H-31.
Autocoder
OPERAND

Label

:~

t:
Assembled Instruction: !S. 853

Figure H-31.

~

<

Disable Interrupt and Branch

Branch if Indicator on Instructions
The BRANCH IF INDICATOR ON instructians - B (III) n
are used by the secondary system to. check far primary
system conditions and secondary system conditions.
When a tested conditian is present, the program
branches to. a previausly written subroutine. The subrautine begins at the address specified in the BRANCH
IF INDICATOR ON instruction.
Figure H-32 shows a summary af all
instructians.

BRANCH IF INDI-

Function. This instruction tests the conditian of the
t;ransmission errar indicator in the secandary system.
This indica tar turns ON whenever an A-register error
is detected while the secondary system is accepting
data from the primary system (primary system write
or ;control aperation). When the indicator turns an,
it resets the A-register errar candition OFF. The system does not stap.
The indica tar is alSo. turned on if the primary system staps operating during a read, write, contral, ar
sense operation. If the indica tar is ON, when tested,
the pragram branches to the subrautine that starts
at the I -address specified in the instructian, and this
branch turns off the transmission error indicator.
Word Marks. Ward marks are not affected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
Address Registers After Operation.

CATOR ON

No Branch
Branch (without
indexing)
Branch (with
indexing)

Branch if Transmission Error Indicator O'n

Instruction Format.
Mnemonic
BIN
I NSTRUCTIO N
~ (III)

1

Op Code
B

I-address
III

d-character
1

Causes a branch to the specified I - address
whenever the transmission - error indicator in
the secondary system is ON, when tested.
Causes a branch to the specified I - address
whenever the primary read indicator in the
secondary system is ON, when tested.

~(11I)4

Ca uses a branch to the spec ifi ed I - address
whenever the primary write indicator in the
secondary system is ON, when tested.

~. (III) 6

Causes a branch to the specified I - address
whenever the primary sense indicator in the
secondary system is ON, when tested.

~ (III) 7

Causes a branch to the specified I - address
whenever the primary control indicator in the
secondary system is ON, when tested.

~ (III) 8

Causes a branch to the spec ified I - address
whenever the status of the operational out
line specifies that the primary system is
operating.

H-20

A-Add. Reg.
BI

B-Add. Reg.
Ibb

NSI

BI

blank

NSI

BI

NSI

Example. Test the secandary-system transmission error indicatar. If the indicatar is ON, branch to. carestarage locatian 0385 (area labeled TRERRT); Figure H-33.

DESCRIPTIO N

~ (III) 3

Figure H-32.

I-Add. Reg.
NSI

Branch If Indicator On Instruction Summary

Autocoder
Label

t:
Assembled Instruction:

Figure H-33.

!! 385 1

Branch If Transmission Error Indicator On

Branch if Primary-Read Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
3

Function. This instructian tests the status of the primary read indicator lacated in the secondary system.
This indica tar turns on whenever the primary system

sends a read command signal to the secondary system, and remains on until the operation ends (end
response signal received. from primary system) .
If the indicator is ON, when tested, the program
branches to the subroutine that starts at the I-address specified in the instruction.

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
Address Registers After Operation.

Word Marks. Word marks are not affected.
No Branch
Branch (without
indexing)
Branch (with
indexing)

Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
Address Registers After Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
3bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the secondary-system primary read indicatol'. If the indicator is ON, branch to cOl'e-storage
location 0853 (area labeled PRRDRT); Figure H-34.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
4bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the secondary-system primary-write indicator. If the indicator is ON, branch to corre-storage location 0538 (area labeled PRWRRT); Figure
H-35.
Autocoder
OI'EItAND

L_I

:~
Assembled Instruction:

Figure H-35.

~

~

538 4

Branch If Primary-Write Indicator On

Autocoder

r

OPERAND

L_I

:~ . ~
Assembled Instruction:

Figure H-34.

I!.

853 3

Branch if Primary-Sense Indicator On

Branch If Primary-Read Indicator On

Instruction Format.
Mnemonic
BIN

Branch if Primary"Write Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
~

I-address
III

d-character
4

Function. This instruction tests the status of the primary write indicator located in the secondary system. This indicatDr turns on whenever the primary
system sends a write command signal to the secondary system, and remains Dn until the operation
ends (end response signal received from primary
system). If the indicator is ON, when tested, the
program branches to' the subroutine that starts at the
I -address specified in the instruction.
Word Marks. Word marks are not affected.

Op Code
B

I-address
III

d-character
6

Function. This instruction tests the status of the primary sense indicatDr located in the secondary system. This indicatol' turns Dn whenever the primary
system sends a sense command signal to the secondary system, and remains on until the operation
ends. If the indicator is ON, when tested, the program branches to the subrDutine that starts at the
I -address specified in the instruction.
The subroutine, among other things, should contain four characters of status data that specify the
secondary system's present status. Refer to Figure
H -36 for the charactel's and some typical conditions.

Word Marks. Word marks are not affected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
H-21

Word Marks. Word marks are not aHected.

Character

Conditions

1st

Program check
Data check
Other conditions further specified by 2nd character

2nd

Message - length check
No available storage area
System does not want data

3rd

Secondary system detects an incoming parity check

4th

Secondary system ready to send a data message
to primary system
Secondary system input storage area is avai lable

Figure H-36.

Sense Data Character Examples

Timing.
No Branch: T = .0666 oms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.
Address Registers After Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
7bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the secondary-system primary control
indicator. If the indicator is ON, branch to core~stor­
age location 0853 (area labeled PRCTRT); Figure
H-38.
Address Registers After Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

Autocoder

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
6bb

NSI

BI

blank

NSI

BI

NSI

Label

Assembled Instruction:

Figure H-38.

~

853 7

Branch If Primary Control Indicator On

Example. Test the secondary-system primary-sense indicator. If the indicator is ON, branch to core-storage location 0385 (area labeled PRSNRT); Figure
H-37.
Autocoder

Branch if Operational Out

Label

Instruction F onnat.
Assembled Instruction:

Figure H-37.

~

385 6

Branch If Primary-Sense Indicator On

Instruction Format.
Op Code
B

I-address
III

d-character
7

Function. This instruction tests the status of the primary control indicator located in the secondary system. This indicator turns on whenever the primary
system sends a control command signal to the secondary system, and remains on until the operation ends.
If the indicator is ON, when tested, the program
branches to the subroutine that starts at the I-address specified in the instruction.
H-22

Op Code
B

I-address
III

d-character
8

Function. This instruction tests the status of the operational line which tells the secondary system when
the primary system is operating. If the primary system is operating when tested, the program branches
to the subroutine that starts at the I-address specified in the instruction.

Branch if Primary Control Indicator On

Mnemonic
BIN

Mnemonic
BIN

Any signals sent by the secondary system when
the primary system is not operating are ignored by
the primary system.

Word Marks. Word marks are not aHected.
Timing.
No Branch: T = .0666 ms.
Branch (without indexing): T = .0666 ms.
Branch (with indexing): T = .0777 ms.

Address Registers Afte1' Operation.
No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
8bb

NSI

BI

blank

NSI

BI

NSI

Example. Test the operational line. If the line is OUT
(primary system operating), branch to core-storage
location 0385 (area labeled OPOTRT); Figure H -39.

Description

~ (%01) (BBB) R

Data sent from primary system is received by
secondary system without word-mark control.

!:. (%01) (BBB) R

Data sent from primary system is received by
secondary system with word-mark control.

~ (%01) (BBB) W

Data is sent from secondary system to primary
system without word-mark control.

!:. (%01) (BBB) W

Data is sent from secondary system to primary
system with word-mark control.

Figure H-40.

Autocoder

Assembled Instruction:

Figure H-39.

Instruction

~

Read and Write Instruction Summary

385 8

Branch If Operational Out

Read from Primary

Read and Write Instructions
The READ and WRITE instruction - M or L (0/001)
(BBB) R or W, initiates the data transmission operation between the primary system and the secondary
system, in the specified mode.
These instructions cannot be successfully chained.
The parts of the instruction and their uses are:
M or L. The M or L operation code specifies whether
the data transmission is pedormed in the move or
load mode. In both the move and load mode, up
to 7 bits per character (CBA8421) are involved in
the data transmission. If the load mode is specified,
a word-separator character precedes each wordmark-associated character, and each word-separator
character.
0/001. The A-address (0/001) specifies that the secondary system is going to operate with a primary
system.

Instruction Format.
Mnemonic

Op Code

MU

M

Figure H -40 shows a summary of the
WRITE instructions.

READ

and

B-address
BBB

d-character
R

Function. This instruction specifies a data transmission
from the primary system to the secondary system.
The data transmission is terminated in one of two
ways:

1. A group mark with a word mark sensed in the
secondary system ends the operation, and the program then proceeds to the next instruction.
2. An end ,condition sensed in the prim,ary system
(no group mark with a word mark sensed in the secondary system) forces the secondary system to end
the operation, and the secondary system proceeds
to the next instruction.
Word Marks. Word marks are not stored when operating in the move mode (M operation code).

BBB. The B-address specifies the high-order position
of the message involved in the data transmission.
R or W. The d-character R specifies a read operation.
This d-character is used when the primary system
is sending the data to the secondary system. The
d-character W is used when the secondary system
is sending data to the primary system.

A-address
%01

Primary System

Secondary System

Read
Write Core-Storage Transmitted Core Storage
Before After Op Code
Op Code
As
Contents
V

M
V

M

ABC

ABC

D~F

AIlC

M

AVB

AYB

DEF

~vB

M

Note. If the primary system sends data, with word-mark control, to the secondary system, the word marks are transmitted
as word-separator characters (V). For example:
H-23

Primary System

Secondary System

Primary System

Write
Corer-Storage Transmitted Core Storage
Read
Op Code
Contents
As
Before After Op Code

v

y

AB

L
v

vAB
Avy

AY

L

Timing. T

DEF vAB
DEF Av'Y'

A-Add. Reg.
%61

V

M

M

M
Timing. T

Address Registers After Operation.
I-Add. Reg.
NSI

Write Core-Storage Transmitted Core Storage
Read
Op Code
Contents
As
Before After Op Code

M

= .0999 ms + transmission time.

Secondary System

'V'

ABC
'V'

AvB

ABC

QEF ABC

.1.

AvB

QE[ ABF

L

= .0999 ms + transmission time.

Address Registers After Operation.

B-Add. Reg.
B + message length + 1

Example. Read data from the primary system and
place in core storage, beginning at location 0942
(area is labeled INPDAT); Figure H-41.
Autocoder

I-Add. Reg.
NSI

A-Add. Reg.
%61

B-Add. Reg.
B + message length + 1

Example. Read data from the primary system, with its
associated word marks, and place in core storage, beginning at location 0294 (area is labeled INPDAT);
Figure H -42.

Label

I'

Autocoder

.:
Assembled Instruction:

Figure H-41.

OPERAND

Label

:~

M %01 942 R
Assembled Instruction:

Read from Primary
Figure H-42.

h %01

~

294 R

Read from Primary with Word Marks

Read from Primary with Word Marks
Write to Primary

Instruction Format.
Mnemonic

LV

Op Code
L

A-address
%01

B-address

d-character

BBB

R

Function. This instruction is similar to the READ FROM
PRIMARY instruction except that word marks in the
message area of core storage are removed, and word
marks sent from the primary system are written in
core stmage.
Word Marks. Word marks transmitted from the primary system are written in core storage.

Notes. When the primary system sends data, with word-mark
control, to the secondary system, the word marks are transmitted as word-separator characters (Y). A word-separator
character is transmitted as two word-separator characters.
For example:

Primary System

Secondary System

Write Core-Storage Transmitted Core Storage
Read
Op Code
Contents
As
Before After Op Code
y
v
vABC
DEF ABC
L
ABC
L
y

L

Mnemonic
MV

Op Code
M

A-address
%01

B-address

BBB

d-character
W

Function. This instruction specifies a data transmission from the secondary system to the primary system. The data transmission is terminated in one of
two ways:
1. A group mark with a word mark sensed in the
secondary system ends the· operation, and the program then proceeds to the next instruction.
2. An end condition sensed in the primary system
(no group mark with a word mark sensed in the
secondary system) forces the secondary system to
end the operation, and the secondary system proceeds to the next instruction.

Word Marks. Word marks are not sent to the primary
system when secondary system is operating in the
move mode (M operation code).

y

AVB

vAvyB

QEE.

~YB

1.

When the primary system sends data, without word-mark
control, to the secondary system, the word marks are not
transmitted. A word-separator character is transmitted and
converted to a word mark. For example:

H-24

Instruction Format.

Notes. When the primary system is accepting data, without
word-mark control, the word marks in the specified primary
system core-storage area are not affected. The data is read
into the specified primary system core-storage area as sent
from the secondary system. For example:

Primary System

Secondary System

Secondary System

Read
Write Core-Storage Transmitted Core Storage
Before After Op Code
As
Contents
Op Code
y

M

ABC

ABC

M

yAB

yAB

Write Core-Storage Transmitted Core Storage
Read
As
Before After Op Code
Contents
Or Code

Y

V'

DEF ABC
v
DEF vAS

M

L

AB

VAB

DE}

M

L

vA

Y'yA

DEF

Secondary System

L

DEF ABC

ABC
Y'ABC

L

L

DEF ABC

Primary System

y

.y y

y

"V

L

= .0999 ms + transmission time.

Timing. T

i1

Write Core-Storage Transmitted Core Storage
Read
As
Before After Op Code
Contents
Or Code

v

y
YA~C

yY.1\.

When the primary system is accepting data, with wordmark control, the word marks in the specified primary system
core-storage area are erased. A word-separator character is
transmitted as two word-separator characters. Any word
separator character (..y) transmitted from the secondary system may be permanently altered by the time they are written
in the primary system core-storage area. For example:

Write Core-Storage Transmitted Core Storage
Read
Before After Op Code
Op Code
Contents
As

.M

M

Primary System

Secondary System

ABC

y

V

YAB

y

When the primary system is accepting data, with wordmark control, the word marks in the specified primary system
core-storage area are erased. Any word-separator characters
(""V') transmitted from the secondary system may be permanently altered by the time they are written in the primary
system core-storage area. For example:

M

P1'imary System

Timing. T

ABC

YABC

v

"'r

yYAvB

vAB

L

DEF ABC
DEF vAB

t

= .0999 ms + transmission time.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%61

Address Registers After Operation.

B-Add. Reg.
13 + message length + 1

Example. Send data to the primary system from the
core-storage area labeled OUTDAT (first position of
the data located in 0942); Figure H -43.
Autocoder

I'

label

.l!?Peratid

OPERAND

I

11M 1/<;01 ,j)UIDAI, W ~5
Assembled Instruction:

M.

:5

I-Add. Reg.
NSI

A-Add. Reg.
%61

+ message length + 1

Example. Send data to the primary system with its!
associated word marks, from the core-storage area
labeled OUTDAT (first position of the data located
in 0429); Figure H -44.
Autocoder

:

I'

label

I~ ~QI

;6UIOAi,w

%01 942 W
Assembled Instruction:

Figure H-43.

B-Add. Reg.
13

Write to Primary

Figure H-44.

~5

1. 0/001

429 W

Write to Primary with Word Marks

Write to Primary with Word Marks

Instruction Format.
Mnemonic

Op Code

LU

~

feature Operation
A-address
%01

B-address
BBB

d-character
W

Function. This instruction is similar to the WRITE TO
PRIMARY instruction, except that word marks are
transmitted to the primary system with the associated data.
Word Marks. Word marks are sent to the primary system when the secondary system is operating in the
load mode (L operation code).
Notes. When the primary system is accepting data, without
word-mark control, the word marks in the specified primary
system core-storage area are not affected. The data is read
into the specified primary system core-storage area as sent
from the secondary system. A word-separator character is
transmitted as two word-separator characters.

With the signals and instructions just described, the
specific type of data transmission desired is set up. To
illustrate one type of data transmission operation, assume that the primary system wants to receive data
from the secondary system. The program procedure
shown in Figure H-45 and the accompanying writeup
are presented only as an example that shows the use
of the various signals and instructions in an operation.
This example should not be considered the optimum
procedure for this type of operation.
1.

The primary system signals the secondary system
that it wants to read from the secondary system by
sending it a read command signal.

2.

The read command signal sets ON the primary
read latch in the secondary system. If program
H-25

interruption can occur (prior execution of.K > or
K (III) > instruction), the secondary system im-;ediately branches to the interrupt subroutine,
which includes the program shown in Figure H-45.
3.

The secondary system program tests the various
primary indicators and finds the primary read
indicator set ON. If all indicators had been turned
off, the main program execution would continue
- step 3A.

4.

With the primary read indicator OJ\', the secondary
system is checked to see if it wants to ignore the
primary system read command.

4A. If the secondary system does want to ignore the
read command, a SEND UNUSUAL-END SIGNAL instruction is executed, which signals the primary
system that some condition has occurred in the
secondary system and the condition should be investigated. The program then branches back to
the point where the primary sense indicator is
checked to see if it was ON.
4B. The primary system recognizes and accepts the
unusual-end signal, and generates an end-response
signal that turns off the primary read indicator in
the secondary system.

SECONDARY SYSTEM

IPRIMARY SYSTEM
1

I
1

System Wants To
Receive Data

I
1
1

Read Command Signa I

I

r--------I-------- J
,

r -_ _ _ _ _ _ _ _ _ _y.:.,:;e;!..(s:Sense I;n~;~:~;: On?

I

I

~ (III) 6

Primary Read Indicator
Set On

I
I
I

I

46

I

r ____U~u:u~I_E~_ S~g~~ ___ 1_ ....

No

:

1

I
I
I

r - -

:

4A

1
Primary Read Indicator
Set Off

No
40

Send Data To
Pri mary System
M or L
(%01) (BBB) W

r4C~____'L-~

I

1

__ J1

l

:n~ ~e!~7!"_ S~g:!a~ _ J

,

I

Send Unusual-End
Signal - .!S F

System Accepts
Signal

I

I

System Wants To
Receive SenseStatus Data

1

I
I
I

I

r - - :e:!,: 5~~~n~ !i!!n~l __ .J
,
I 5A
1

r-:---------,

1
Stop Operation
1
1
1
_________________St~p_ S~g~~I _______________________ 1________
Primary Sense Indicator
Set On

J

I
I

I
I

I

I
I
1

I
Send End Signal
~C

7A

,----------,

I

End Signal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1- --

System Accepts
Signal

1

I

r-------1------End Response Signal

I
Primary S~~a.;~ndicator

I

1

I
I

Figure H-45.
H-26

Data Transmission Operation Schematic

I

.J

4C. The primary system signals the secondary system
that it wants to receive status data from the secondary system by sending it a sense command
signal.
4D. The sense command signal sets ON the primary
sense indicator in the secondary system.
5.

If the secondary system wants to accept the read
command, the secondary system executes a WRITE
instruction - M.. (0/001) (BBB) W.
The actual data transmission begins and continues until one of the systems ends the operation.
The secondary system ends the operation when
a group mark with a word mark is encountered
in core storage.

5A. The primary system could end the operation by
using the stop line. This would cause the secondary system to end its write operation; and, depending on program procedure, send either an end or
an unusual-end signal to the primary system as a
recognition signal of the stop. The end or unusualend signals are accepted and the procedures discussed elsewhere in the example writeup are carried out (steps 6, 4A-4D or 7).

6.

Afrer the data transmission ends, the data is
checked to see if it was acceptable. If the data
sent was not acceptable, then steps 4A-4D are
repeated at this time.

7.

If the data sent was acceptable, a SEND END SIGNAL
instnlCtion is executed, which sends an end signal
to the primary system.

7A. When the primary system recognizes and accepts
the end signal, it generates an end-response signal
that turns off the primary read indicator in the
secondary system.
SA. With the completion of the data transmission operation, the next sequential instruction in the main
program is executed.
Notes:
The conditions that specify the terminating system are:
1. The writing system terminates the data transmission when
the read input area is longer than the write output area.
2. Both the reading and writing systems terminate the data
transmission when the read input area is the same size as
the write output area.
3. Both the reading and writing systems terminate the data
transmission when the read input area is one core-storage
position shorter than the write output area.
4. The reading system terminates the data transmission when
the read input area is shorter than the write output area by
more than one core-storage position.

H-27

Indexing and Store Address Register
This feature provides the IBM 1440 Data Processing
System with greater program flexibility, by making
address indexing and address storing more automatic.

Indexing
The indexing portion of the indexing and store address
register special feature provides three 3-position index
locations (registers) that can be used to modify addresses automatically. These three index registers are
part of core storage and can be used as normal storage
positions when not being used as index register locations. The core-storage addresses assigned and the
index register numbers are:
Index Register Numbers

Core-Storage Positions

087-089
092-094
097-099

1
2

3

Both the A-address and/or the B-address can be
modified by the factor contained in anyone of the
three index registers; however, only core-storage address can be modified.
The A- and/or B-address specifies which index register is to be used by a combination of A- and B-bits
in the tens position of the address. The bit combipations and the registers they specify are:
Bit Combination
A-hit, No B-hit
B-hit, No A-bit
A-hit, B-hit

Index Register Numbers
1
2
3

When the tens position of an A- and/or B-address contains one of these zone-bit combinations, the address
is referred to as being tagged.
OP
OP

Factors contained in the index registers can be initialized and modified in several ways. The index factor
can be placed in the index register by nonnal programming (ADD or MOVE instructions, for instance), and the
factor can be changed (add or subtract operations, for
example). In these instances, a word mark must be
set in the high-order position of the index register
prior to inserting or changing the index factor.

Zone Punch
Zero
Eleven
Twelve

Positions Tagged
-!-

-!-

AAA

BBB

Note: After any arithmetic operation that affects the indexing
factor) zones that appear in the units or tens position of any
index location must he removed. (The modify-address instruction is not, in this sense, an arithmetic function.)

The modification of the A- and/or B-address occurs
in their respective address registers. For instance, if
the A-address is indexed, the indexing occurs in the
A-address register. This means the original instruction
in storage is in no way changed or modified.

The two-address STORE B-ADDRESS REGISTER instruc1. The A-address and B-address are analyzed for intion is usually easier to use. The ADD and SUBTRACT indexing as they are moved into the address registers.
structions can cause unwanted zone-bits to appear in
the resultant factor. Figure H-46 illustrates how index , 2. The contents of the proper index location (indexing
factor) is added to the contents of the address regisregister 1 can be initialized to zeros, index register~
ter and develops the effective address there, when
incremented by 19, and index register 3 decremented
indexing is indicated.
by3.

Autocoder
OPERAND
4

Assembled Instruction: Jj 089 000
Jj 094 OJO

.tl

Increasing an Address

099 IIG

Note: Assuming the Autocoder equates the 1440 index registers to
the actual machine addresses': Xl' 089, X2
094, and

=

=

X3 =099.

Figure H-46.
H-28

3. Three or four additional cycles are required for
each address indexed. (The fourth 'Cycle is required
when the new address has been modified so that it
is in the next highest group of 4,000 storage positions. The zone-bit configuration in the units position must reflect the new group of positions.)

Initializing, Incrementing, and Decrementing
Index Registers

To increase a core-storage address using the indexing
feature, the contents of the index location is added to
the selected address register. Figure H-47 illustrates
various methods of address modification using the index locations.

INSTRUCTION
IN STORAGE
BEFORE

11l

080 lA7

010 025 050

AFTER

11l

080 lA7

010 025 050

BEFORE

11l

OSO 1J7

010 025 050

AFTER

M OSO 1J7

010 025 050

BEFORE

~ JBO 8CO

010 025 050

AFTER

M JBO 8CO

010 025 050

1. INDEX THE B·ADDRESS

2. INDEX A· AND B·ADDRESS

3. INDEX A· AND B·ADDRESS

Figure H-47.

INDEX LOCATION
3
1
2

EFFECTIVE
INSTRUCTION

!:!J.

080 167

!:!J.

030 142

~ J70 880

Indexing

Decreasing an Address

To decrease an address, the 16,000's complement of
the amount to be subtracted from the address must be
stored in the index location.

Example.
Decreasing Required: Decrease a B-address by 10
Indexing Faotor (Complement): 16,000 - 10 (15,990)
The 15,990 converts to the three digit factor 19? (Figure H-48).
U sing the modulus 16 rules, the arithmetic overflow
adds an A-bit in the hundreds position (both the hundreds and units positions already contain A- and B-bits,
the combination of which indicates a 15,000-15,999
black address). The addition of the A-bit increases the
value of the zone bits to 16 which, according to. modu(000-999 block adlus 16, has an address value of
dress). Therefore, the new address is 927. With the
indexing feature, even though there was an overflow,
the arithmetic overflow indicator is not turned on.

°

easier to re-enter the main pragram from a subroutine.
Because the address of the next instruction in sequence
can be retained, program re-entry is Simplified.
A subroutine is a set of pragram instructions that
are executed, if a particular condition arises during
the main routine. For example, if an unequal compare
accurs during processing, the program branches to a
subroutine in which a special set of instructions handles the condition.
Each time a subroutine is used, some method must
be emplayed to link it with the main program. The
function of the STORE A-ADDRESS REGISTER, and STORE
B-ADDRESS REGISTER instructions is to establish subroutine linkage so that upon leaving the sequence of the
main program it is possible to execute the steps of the
subroutine, and return to the main program where
the sequence was interrupted.

Store A·Address Regi'ster

Instruction Format.

Store Address Register
The stare address register portion of the indexing and
store address register special feature make it possible
to store the contents of the A- and B-address registers.
Thus, the A- and B-addresses of program instructions
can be modified directly in cases where variable length
records are being processed. This facility also makes it

INSTRUCTION
IN STORAGE

INDEX LOCATION
1
2
3

1.

123 9T7

19?

AFTER

1 123 9T7

19?

937

+

19? = 927 (with overflow)
1= (AB9)
? = (ABO)

Converting Address

0]') Code
Q

A-address
AAA

Function. This instruction stores the contents of the
A-address register from the previous operation, in
the 3-position field that has its units position defined
by the A-address of the STORE A-ADDRESS REGISTER
instruction.
Word Marks. Word marks are not affected.

EFFECTIVE
INSTRUCTION

Timing. T

BEFORE

Figure H-48.

Mnemonic
SAR

~

1123 927

= .0111 (LI + 5 or 6~) ms.

Plus 5 or 6, depending on the presence or absence of zone
bits in the units position of the address being stored.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
A-3

B-Add. Reg.
Ap
H-29

Chaining. If this instruction is chained (operation
code only) to the preceding operation, the following
will result:
M 617 xxx Base instruction. (Assume I-position field.)
Nonnal STORE A-ADDRESS REGISTER operation.
The address factor 616 is stored in locations 611,
612, and 613.
Q
Chained STORE A-ADDRESS REGISTER instruction.
The address factor 610 will be stored in locations
608, 609, and 610.
NSI

Store B-Address Register (One Address)

Instruction Format.
Mnemonic
SBR

Q 613

If the A-address factor is required in more than
one place, follow the base instruction (which leaves
the address factor to be stored) with one STORE
A-ADDRESS REGISTER instruction, followed by as many
STORE B-ADDRESS REGISTER instructions as might be
required to satisfy the program requirements.

Example. Store the contents of the A-address register
in area labeled AADRG (0625); Figure H-49.
Autocoder

::

,~
Assembled Instruction: Q

Figure H-49.

OPERAND

~~

~

Op Code
H

A-address
AAA

Function. This instruction stores the contents of the
B-address register resulting from the previous operation, in the 3-position field that has its units
position defined by the A-address of the STORE
B-ADDRESS REGISTER instructi0'n.
Word Marks. Word marks are n0't affected.
Timing. T
~

= .0111 (LI + 4 0'r 5~ ) ms.

Plus 4 or 5, depending on the presence or absence of zone
bits in the units position of the address being stored.

Note. When indexing is installed in the 1440, the functioning
of all branch commands is altered to simplify subroutine
linkage. With these alterations, each time a branch occurs
as a result of one of these commands, the address of the next
sequential instruction in the main routine is inserted in
the B-address register.
Although the subroutine may be entered from many distant points in the main program, this use of the SBR operation
makes the subroutine linkage complete.

Address Registers After Operation.

625

I-Add. Reg.
NSI

Store A-Address Register

A-Add. Reg.

B-Add. Reg.
Bp

A-3

IBJ.1

Form X24·13S0- 2
Printed in U.S.A.

Program _ _ _ _ _ _ _ __
Programmed

by _ _ _ _ _ __

1

o

2

I

I

76

AUTOCODER CODING SHEET

80

Page No.W of _ _

IBM 1401-1410-1440-1460

Date

o

Identification

INTERNATIONAL BUSINESS MACHINES CORPORATION

03

04

05
06
07

o e

()

09
10
II

Assembled Instructions:

!. 495
A 880 990

Branch to multiply subroutine.
First main-program step after mUltiply subroutine. This instruction-address is stored
in the branch-out instruction: MULAST +3.

~

Main-program steps.

!i

Store address of instruction following
subroutine step.

654

!

MULTRU in I-address of last multiply-

Multiply subroutine steps.

!. 000
Figure H-50.
H-30

Completes linkage between MULTRU subroutine and main program.

Store B-Address Register (One Address)

Chaining. This instruction can be chained to the preceding operation (if that instruction left usable
address-register contents) by supplying only the
operation code.

Word Marks. Word marks are not affected.

Example. The main routine branches to a multiply
subroutine labeled MULTRU (0495). This example
shows the last step in the main routine, and the first
and last steps of the multiply routine, and illustrates
subroutine linkage (Figure H-50). The last instruction (labeled MULAST) J plus three ,contains the address of the next instruction in the main routine.

Address Registers After Operation.

Timing. T

= .0111 (LI + 4 or 5°) ms.

o Plus 4 or 5, depending on the presence or absence of zone
bits in the units position of the address being stored.

I-Add. Reg.
NSI

A-Add. Reg.
A-3

B-Add. Reg.
B

Chaining. This instruction can be chained to the preceding operation ( if that instruction left usable
address-register contents) by supplying only the
operation code.

Store B·Address Register (Two Addresses)

Instruction Format.
Mnenomic

Op Code

A-address

B-address

SBR

H

AAA

BBB

Function. This instruction stores the present contents
of the B-address register in the 3-position field that
has its units position defined 'by the A-address of
the STORE B- ADDR~S REGI~TER instr·uction. The Baddress register contains the number specified by
the B-register portion of the sToIlli B-ADDRESS REGISTER instruction.

Example. Store contents (0456) of the B-address register (any 3-character factor) in the area labeled
BADRG (0123); Figure H-51.

Autocoder
OPERAND

:'.

Assembled Instruction:

Figure H-51.

tt

. ~

123 456

Store B-Address Register (Two Addresses)

H-31

Multi ply-Divide
This feature makes it possible to perform direct multiplication and division in the IBM 1440 Data Processing
System.

4. Zone bits that appear in the multiplicand field
are undisturbed by the multiply operation. Zone
bits in the units p.osition of the multiplicand are
interpreted for sign control.

Multiply

Instruction Format.
Mnemonic

Op Code

M

@

A-address
AAA

B-address
BBB

Function. The multiplicand (data located in the Afield) is repetitively added to itself in the B-field.
The B-fieldcontains the multiplier in the high-order
positions, and enough additional positions (low order) to allow for the development of the product. At
the end of the multiply operation, the units position of the product is located at the B-address. The
multiplier is destroyed in the B-field as the product
is developed. Therefore, if the multiplier is needed
for subsequent operations, it must be retained in
another storage area.
The multiply-divide feature for the 1440 system
has additional circuitry that automatically eliminates readdressing machine cycles when recomplementing is required during the operation.
Rules:
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.
Example:
1246
X 543

+

4-digit multiplicand
3-digit multiplie¥

2. A word mark must be associated with the highorder positions of both the multiplier and multiplicand fields.
3. A- and B-bits need not be present in the units
positions of the multiplier and multiplicand fields.
The absence of zone bits in these positions indicates a positive sign. At the completion of the
multiply operation the B-field has zone bits in the
units position of the product only. The multiply
operation uses algebraic sign control ( Figure
H-52).

Multiplier Sign

+

+

-

-

Multiplicand Sign

+

-

+

-

+

-

-

+

Figure H-52.
H-32

T = .1110 + 2Lc + 5LcLM + 7LM ms.
Lc = length of multiplicand field.
LM = length of multiplier field.
A chart of approximate timing is included in the
section on Multiply and Divide Timing.
Notes. The first addition within the multiply operation inserts
zeros in the product field from the storage location specified
by the B-address up to the units position of the multiplier.
The A-address register and the B-address register indicate
positions within the A- and B-fields on which operations are
currently being performed.

Word Marks. A word mark must be associated with
the high-oTdeT positions of the multiplier and multiplicand fields.
Address Registers After Operation.
I-Add. Reg.
A-Add. Reg.
NSI
A-La
Lp = Length of product field.
La = Length of multiplicand field.

B-Add. Reg.
B-Lp

Chaining. This instruction cannot be successfully
chained.
Example. Multiply:

1

8 positions must be allowed in
the B-field.

Sign of Product

Timing. The aveTage time required for a multiply operation is:

Algebraic Sign Control for Multiplication

Label
MULCAN
MULIER
PRODCT

Location of
Data Word
0502
0065
0610

Contents of
Data Word
1246
543

Description
Multiplicand
Multiplier
Product

The size of the product field is 4 + 3 + 1 = 8.
The multiplier is placed in the three high-oTder
positions of the PRODCT area (0603, 0604, and 0605).
At the completion of the multiply operation, load
the product in the area labeled OUT2 (0178). The
units positions of the multiplier and multiplicand
fields may be signed (Figure H -53) .
Autocoder

Assembled Instruction: 1..
@

r

Figure H-53.

Multiply

065
502
610

605
610
178

Divide

Instruction Format.

Dividend

Op Code
%

Mnemonic
D

Function. This instruction divides the data (dividend)
in the low-Drder pDsitiDns of the B-field hy the divisor located in the A-field, and develops the quotient in the high-order positions of the B-field. The
remainder is left in the low-Drder positions Df the
B-field.
Rules:
1. The quotient is developed in the B-field. The
length of the B-field is determined by adding 1 to'
the sum Df the number Df digits in the divisor
and dividend fields.
Example:__ __
543

I

1246

+

±

B-address
BBB

A-address
AAA

4-digit dividend
3-digit divisor
1
8 positions must be
allowed in the B-field.

2. A word mark must be associated with the bighDrder position of the A-field.
3. In all cases either A- and B-bits (plus sign) or
B-bit (minus sign) must appear in the units position of the dividend field. The divisDr may be
either signed Dr unsigned. If there are nO' bits in
the units positiDn of the divisor, the machine assumes the divisDr factDr is positive. The divide
Dperation uses algebraic sign contrDI ( Figure

H-54).
4. The dividend is loaded in the low-order positions
of the B-field (Figure H-55) by a ZERO. AND ADD
instructio.n to ensure that zeros are present in the
high-Drder positions of the B-field.

ooooxxxx
Figure H-55.

Dividend in B-Field

a. The quotient is in the high-order positions of the B-field.
The location of the units position of the quotient, is the
address of the units position of the dividend, minus the
length of the divisor, minus one.
b. The remainder is in low-order positions of the B-field.
c. The sign of the quotient is over the units position of the
quotient field.
d. Because only one quotient digit can be developed at a
time, it is important to address the high-order position of
the dividend (B-address of the DIVIDE instruction). This
ensures that the first divide operation results in a single
high-order quotient digit. A dividend improperly addressed can cause an arithmetic overflow if the result of
the first divide operation is greater than 9.

Note: A divide operation refers to the process of developing
each quotient digit. If the quotient field is not large enough,
no overflow is indicated. The machine does not check for this
programming error. Division by zero results in an arithmetic
overflow condition. Figure H-56 shows the result of a divide
operation.

Extra zeros can be added to the dividend priDr
to a divide operation when a larger quotient is required. For each additional qUDtient digit desired,
place one zero to the right of the dividend as shown
in Figure H-57. Note that in this example, the units
position of the quotient is not located in the positiDn
previously described in Item 5a.

Word Marks. A word mark must define the high-order
position Df the divisDr.

5. The B-address in the

DIVIDE instructiDn specifies
the high-order position of the dividend.

At the completion of division:

Timing. Average time required for the executiDn of a
divide operatiDn is calculated:
T = .0999 + 7LR L Q + 8LQ ms.
L Q = length Df the quotient field.
LR = length of the divisor field.

Divisor Sign

+

+

-

-

Dividend Sign

+

-

+

-

Quotient Sign

+

-

-

+

+ +
xxxx xxx

Remainder Sign

+

-

+

-

Quotient Remainder
B-FIELD

Figure H-54.

Algebraic Sign Control for Division

Figure H-56.

Location of the Results of a Divide Operation
H-33

Regular
0001

Quotient

r------------ ~
~ 1234
0001

±

000001234

L.y--'

Dividend
1234 Divisor
Additional Quotient
digits desired.

~

Quotient

0001. 000

~

1234.000

0001.000

+
000001234.00'0

~

Dividend
1234 Divisor

Figure H-57.

Multiply and Divide Subroutine
These are subroutines for multiply and divide operations, discussed here to illustrate programming m.ethods and to aid in programming machines not equipped
with the multiply-divide special feature. These are not
the only methods of performing these operations; they
are typical methods. These sample (actual-machine
language) programs are easily converted to Autocoder
language to fit the particular application.

Additional Quotient Digits

Multiply Subroutine

The block diagram in Figure H -59 illustrates the logic
used to develop the multiply subroutine discussed
here. The subroutine provides for a maximum of a
9-digit multiplier, II-digit multiplicand, and a 20-digit
product, and uses positive factors.

Clear
Product
Area

A chart of approximate timings is included in the
section on Multiply and Divide Timing.
Note. The quotient field is not cleared before actual division
begins.

Load
Multiplier

Address Registers After Operation.
I-Add. Reg.
NSI

B-Add. Reg.
Tens position of quotient. If divisor has all
zeros, the B-address
register stands at the
units position of the
dividend, minus the
length of the divisor,
minus the length of
the dividend, minus 1.

A-Add. Reg.
A-LR

Chaining. This instruction cannot be successfully
chained.
Example. Figure H -58 is a symbolic example for DIVIDE.
Label
DIVEND
DIVSOR
QUOT

Locaton of
Data Word

Data Word

0502
0065

1246
543

0985

Description
Dividend
Divisor
Quotient

No
Add
Multiplicand
To Product
Yes

Shift Ri9ht

Reduce
Multiplier
By 1

Autocoder

Branch
Unconditional
To Zero Test

Assembled Instruction: ~
~

Figure H-58. . Divide
H-34

502 985
065 982

Figure H-59.

Multiply Flow Chart

Branch
Unconditiona I
To Zero Test

The subroutine is written in actual language (Figure H-60), and Dccupies the 900 blDck of storage. A
multiplier area is prDvided in storage positions 901909, and the product area is assigned in storage pDsitions 910-929. The multiplicand can be IDcated anywhere.
Any program that uses this subrDutine must include
a step that mDves the multiplier address (XXX) to'
IDcation 937 and the multiplicand address (YYY) to'
IDcatiDn 960.

Divide Subroutine

The restrictiDns placed on this subroutine (Figures
H-61 and H-62) are:

Adjust Addresses

At the completion Df the multiply subroutine, the
program instruction step 12 is a branch to' the main
program Dr stDP instructiDn.
The routine starts in storage position 930. The prDduct is found in 929 for a 9-digit multiplier, 928 for 8digit, 927 fDr 7-digit, 926 for 6-digit, etc.
Note: The multiply subroutine results in blanks instead of
zeros in the low-order position of a product when the multiplier
contains low-order zeros. To correct this situation, set the
product area to zeros.

Yes

Add One To
Address and
Quotient Counter
Find Number of
Significant Digits
In Divisor

Adjust Addresses

IBM

PROGRAM CHART

fORM XU60437
PRINTED IN U.S.A.

IBM 1401·1440·1460

Program:
Slep

Insl.

Multiply Subroutine
0

No. Address P d'

f-1
2

Programmer:

~slrUClio~

Remarks

d

C lear Product Area

934

L XiX 'X 9'0 '9

941

B 9 '7 '5 9 '0

I9

Load Multiplier

0

Test 909 for true zero

949

B 9 '7 '5 9 '0 '9?

957

A Y I Y 'y 9 '2 '1

No zero - odd Multiplicand to Product

91$4

S 9 '9' 4 9' 0 '9

Reduce Multiplier by 1

B 9 '4

Branch to zero test

975

I"

Test 909 for Word Mark

1 I I
'
9 ' 9' 5 9' 0 ' 9 1

10

990

B 9' 4

11

994

12

995

I

1

9' 2 I 9
I

I

No Word Mark - Shift Riaht

No

11111

Add Divisor
Back to Dividend

Multiplication complele - Branch bock to
I

I

Program

:

X I X' X

I

,

Location of Multiplier

y' y' Y

I

I

Location of Multiplicand

Z IZ ' Z

'

I

Address of next Proarom StOD

I

I

I

Yes

Branch to zero test
Constant

B Z IZ ' Z

,

Subtract Divisor
From Dividend

No true zero - test for plus zero

971

L 9 ' 2 '8

of Characters

Inst. Dolo Toiol

9301/9'2'9

983

Dole:
Effeclive No.

Adjust Addresses
One Position
To the Right

Add One
To Quotient

,

I

I

I

,

Yes

9 dioit Multiplier

11 diait Multiplicand
I

I

I

I

I

I

I

I

,

I

Figure H-60.

20 diait Product

Multiply Subroutine (Actual)

Figure H-61.

Divide Flow Chart

H-35

INTERNATIONAL BUSINESS MACHINES CORPORATION

IBJt1
Dblide RQutioe

Program:

E~gmj:2lf1

Instructi on
Step Inst. 0
A/I
B
No. Address P
dl
dl

,

I

516
523
531
538
545
t;t;?

559
!)f.,f,

573
tiRO

587

I

Programmer:
Remarks

M 5: 0: 7 5 : 2:
I
B 6 : 6: 2 Y: Y:
I
S 5 : 1 ~ 2 5: 1:
I
I
I
A 5: 1: 5 5: 0:
I
I
I
IA 5: 1: 5 5:0:
I I
I<: t;:
':l t; In:
I I
I
l
Is t;: 11 1 t; 1 0:
I I
1
Iv 7 !): !) !): 0:
I 1
I
l
1 I
1
Y 7+5: 5 5 0:
1
IMt;: 0 1
1
1M 5: 0 1 6: 4:

1:

9

68~

R

~RR

5
1

Adiust Dividend Address

4

Modify Addresses

1
A-

1
4

from low-order position to
address assianment.
from low-order position to
address assiQnment.

Set Modified Addresses into Divide Routine

DATA FOR DIVISION SUBROUTINE

Subtract Divisor from Dividend

X: X:X
-,

Add One to Quotient

I

: :
I I
5: 21 9
T

692

A

699

Y

706

A

713

V 7: 6: 0 W.W:W 1
I

A 5: 1: 3 6: 4: 2
I I
IA
5: 1: 3 6: 4: 9
728

Address of word mark position (high
order) of dividend

504

XXX

Address of word mark position (high
order) of quotient

507

YYY

Address of word mark position of
divisor

510

ZZZ

Divisor Address

512

00

Counter for number of zeros in
divisor

513

1

Constant

515

NN

Length of the divisor

Add One to YYY Address

If Eaual

Divisor Eauals Zero

Branch Unenua I
Halt - cannot Divide bv Zero
Add Divisor to Dividend
Move blank zone to word mark position of
dividend

Test for End of Divide
Modify Addresses to Develop Next Quotient
DiQit

"

"

"

"

"

"

"

"

"

"

"

"

"

"

II

749 IA 5: 1: 3 7: 0: 5
I
I
756 B 61 31 6 I
I
I I
1 I
I I
760

II

"
"

"

"

"

"

I

:
: :

Description of Data

Increase Counter by One

"

Figure H-62.

WWW

Repeat Subtraction

"

:

501

Branch if Negative Result

A 5: 1: 3 6: 5: 7
T
I
I
A 5: 1: ~ 6: 9: 8

7A-?

Data Word

I

721

735

Location of
Data Word
Set Divisor Address

6: 9: 5
I
W:W:W
I
~ WWK

:

I

C lear zone
prepare for
C lear zone
prepare for

9

5: 1: 2
1 1
51 11 5
I
!): 2: ~
I -I
/
I
i I
7: 6: 0 I I
I
: I
ZIZIZ ~'W:W·
I I
I I
7: 51 5 W:W:W
I
I I
5 I 1: 3 7 1 1: 9
I

Store Address of Word Mark Position
(High Order) of Divisor
Branch if Divisor Digit Equa Is Zero
~umber of !-figh
(Length of Divisor) rder Zeros)

YO

~+~

629 IN 5: 1: 0
1 I
6~6
S ZI ZI Z
I
643 V 6: 9: 2
I I
651 A 5: 11 3
I r
I I
658 IR 6 I 31 6
1 I
662 A 5: 1: 3
I r
669 A 5: 1: 3
: 1
676 C 51 11 2

Date:
Effective No.
of Characters
Inst. Data Total

d

,

594 1M 5: 0: 1 6: 9: 8
1
1 7: 0:., 5
601
M
5:
0:
- -f-.
I
1
7:
1: 9
M
5:
0:
908
f-T
I I
T
I 1
I 1
615 N 5+O+A 6151 7
-"1 "1
1 I
622 IN 5 I 11 0 6: 3: 9

H-36

FORM X24·6437
PRINTED IN U.S.A.

PROGRAM CHART
IBM 1401-1440-1460

Return to Divide Calculations
Divide Complete

Divide Subroutine (Actual)

1440 Multiply Times Based on Multiply Subroutine (mi lIiseconds)
Number of Positions
in Multiplicand -

j

Figure H-63.

4
3.725
7.517
11.358
15.247
19.184
23.160
27.194
31.256
35.367

5
3.831
7.739
11.696
15.691
19.734
23.826
27.966
32.144
36.361

6
3.937
7.961
12.024
16.135
20.294
24.492
28.747
33.032
37.365

7
4.053
8.183
12.362
16.579
20.844
25.158
29.519
33.920
38.359

1440 Multiply Times (Based on Multiply Subroutine)

Q)=

3.503
7.073
10.692
14.359
18.074
21.828
25.640
29.481
33.370

3
3.609
7.295
11.030
14.083
18.625
22.494
26.412
30.369
34.364

IBM

...Q)

a..
......
00..
......c
5::E

z

2

.S

II>

c

~o

1
3.387
6.851
10.364
13.915
17.515
21.162
24.858
28.593
32.366

1
2
3
4
5
6
7
8
9

3. The divisor must have no zone for its positive indication. This is necessary only if the divisor could
be zero.
4. The divisor cannot 'contain more than nine leading zeros.
5. All fields must be located completely below address 999.
6. At the completion of the subroutine, the address
of the units position of the quotient can be found
in the B-address of the instruction located in 651.
7. The remainder is left in the dividend field.
8. A word mark must be located immediately to the
right of the units position of the dividend.
9. The quotient area must be preset to zeros or
blanks to develop the correct quotient. If the area
is not zeroed or blanked, the quotient is added
to whatever is there. The positions added de-

9
4.275
8.627
13.028
17.467
21.954
26.489
31.073
35.695
40.356

10
4.391
8.849
13.356
17.910
22.513
27.155
31.855
36.583
41.360

11
4.507
9.071
13.693
18.354
23.064
27.821
32.627
37.471
42.354

pend on the number of leading zeros in the divisor.

1. The dividend and quotient fields must be of equal
length.
2. The dividend and divisor must both be positive.

8
4.169
8.405
12.690
17.023
21.404
25.823
30.301
34.808
39.362

10. The information shown in Data for Division Subroutine (Figure H -62), except the constant I in
location 513, must be set initially for each desired
execution of the divide subroutine. The two addresses in locations 507 and 510, associated with'
the divisor, are not altered. Thus, they do not have
to be reinitialized if the divisor is contained in the
same area.

Multiply and Divide Timings
The four timing charts give the approximate timings
of multiply (Figures H-63 and H-64) and divide (Figures H-65 and H-66) operations. Two of the charts are
based on the timings when a subroutine written in
actual language is used. The other two charts are
based on the timings required when the system is
equipped with the special feature for multiply and
divide.

1440 Multiply Times With Special Feature (milliseconds)
Number of Positions
in Multiplicand----+
1
2
c
3
~
4
'8
a.. ...
Q)
5
......
00.. 6
....
Q)=
7
..c
5::E 8
z .S 9
10
II>

j

Figure H-64.

IBM

1
.266
.400
.532
.666
.799
.932
1.065
1.198
1.331
1.465

2

.335
.533
.722
.910
1.099
1.287
1.476
1.665
1.854
2.042

3
.403
.666
.911
1.154
1.399
1.642
1.888
2.131
2.376
2.619

4
.472
.799
1.100
1.398
1.699
1.998
2.299
2.597
2.898
3.196

5
.540
.932
1.289
1.643
1.999
2.353
2.7l0
3.063
3.420
3.773

6
.609
1.065
1.478
1.888
2.300
2.708
3.121
3.529
3.942
4.350

7
.677
1.199
1.668
2.132
2.600
3.063
3.532
3.995
4.464
4.927

8

.746
1.332
1.857
2.376
2.900
3.418
3.943
4.461
4.986
5.504

9
.814
1.465
2.046
2.620
3.200
3.773
4.354
4.927
5 .• 508
6.081

10
.883
1.598
2.235
2.864
3.500
4.128
4.765
5.393
6.030
6.659

11
.951
1.731
2.424
3.108
3.800
4.483
5.176
5.859
6.552
7.236

1440 Multiply Times (with Special Feature)
H-37

1440 Divide Times Based on Divide Subroutine {mi liseconds}
Number of Positions
in Quotient

..

1
2
'"c
3
~
4
0.
5
'0 0 6
~ .'" 7
CD
..a .~
go 8
Z .!: 9
10

·s

~

1
8.204
8.560
8.915
9.270
9.625
9.980
10.335
10.690
11.045
11.401

2

13.223
13.413
13.601
13.790
13.978
14.167
14.355
14.544
14.733
14.927

m~1440Divide

Figure H-65.

3
18.242
18.266
18.287
18.310
18.331
18.354
18.376
18.399
18.420
18.444

4
21.965
22.107
22.253
22.396
22.541
22.684
22.830
22.973
23.119
23.261

5
25.487
25.794
26.107
26.416
26.729
27.037
27.350
27.659
27.971
28.280

6
29.008
29.482
29.961
30.436
30.916
31.390
31.870
32.345
32.824
33.299

7
32.529
33.169
33.816
34.456
35.103
35.744
36.390
37.031
37.677
38.318

8
36.050
36.856
37.670
38.476
39.290
40.097
40.910
41.717
42.530
43.337

9
39.572
40.544
41.524
42.497
43.477
44.450
45.430
46.403
47.383
48.356

10
43.093
44.231
45.378
46.517
47.664
48.803
49.950
51.089
52.236
53.375

8
1.432
2.054
2.672
3.296
3.921
4.539
5.164
5.782
6.404
7.025

9
1.598
2.298
2.993
3.696
4.398
5.094
5.797
6.493
7.191
7.891

10
1.765
2.542
3.315
4.095
4.876
5.649
6.430
7.203
7.980
8.756

Times (Based on Divide Subroutine)

1440 Divide Times With Special Feature {milliseconds}
Number of Positions
in Quotient

'"c
~

·s

0.

.....0

()

'"

~ .CD

~c5
;:)

Z .!:

.1
2
3
4
5
6
7
8
9
10

Figure H-66.

H-38

IBM

1
.266
.345
.423
.500
.577
.655
.732
.811
.888
.966

2

.433
.589
.744
.899
1.055
1.210
1.366
1.521
1.676
1.832

3
.599
.833
1.065
1.299
1.532
1.765
1.999
2.231
2.464
2.697

4
.766
1.077
1.387
1.698
2.010
2.320

2.632
2.941
3.252
3.563

5
.932
1.321
1.708
2.098
2.488
2.875
3.265
3.652
4.039
4.428

1440 Divide Times (with Special Feature)

6
1.099
1.565
2.029
2.497
2.965
3.430
3.898
4.362
4.828
5.294

7
1.265
1.809
2.351
2.897
3.443
3.984
4.531
5.072
5.615
6.160

Scan Disk Feature

Starting-Address Control Field

The scan-disk special feature provides an automatic
search of 1311 and/or 1301 (Models 11, 12, 21, 22) disk
data for a specific identifier or condition predetermined by the program.
Instructions applying to. the 1301 and 1311 cannot
be successfully chained.

Alternate Control or Module

I

[

Coco Slomg.

B-Address

Figure H-67.

Scan Disk

Instruction Format.
Mnemonic

Op Code

SDL
SDLW
SDE
SDEW
SDH
SDHW

M
L
M

1M
L

A-Address
%F7
%F7
%F8
%F8
%F9
%F9

B-address

d-character

BBB
BBB
BBB
BBB
BBB
BBB

W
W
W
W
W
W

Function. This instruction compares a specified search
argument in core storage (factor B) to the records
within a specified group of sectors in disk storage
(factor A).
The A-address units position controls the operation. A 7 in the units position specifies a scan operation that stops when the search argument in core
storage is either less than (BA), or equal to (B=A), a record in
the specified section of disk storage. (The operation
also stops when the end of the cylinder is reached,
or when the sector count reaches zero.)
The B-address of the instruction specifies the
high-order position of the disk-control field in core
storage that specifies the starting address in disk storage. The record area associated with the disk control field contains the search argument. The search
argument must be placed in the same positions of
the core-storage record as it appears in the diskstorage record. Skip codes ($) are used in those positions of the core-storage record that are not a part
of the search argument (Figure H-67). The search
argument can be variable in length, but must be no.
longer than 99 characters. The last character (l00th)
of the record cannot be included as part of the search
argument. The units positions of the search argument should be followed by a group mark with a
word mark to signal the end of the search argument.

--- 0 1

J

Track

~,.c;,ector

~kiP Codes

2T5t2

l

0 $ $,A 4

7 9

8,'1'

1
Search Argument

Head

Module

5

Sector Count

Record in Core Storage for Scan Disk Operation

Scanning begins at the disk record specified by
the B-address and ends:
1. When the specified comparison is found. The sector-count field may, or may nat, be all zeros at this
time.
2. When the aperation reaches the end of a cylinder.
The sector-count field may, or may not, be all zeros
at this time.
S. When the sectar-count field is reduced to all zeros.

Word Marks. A group mark with a word mark must
be set one position to the right of the last character
of the search argument.
Timing. T = .0999 + 2N s + disk rotation. 400 ms is
the maximum time for scanning one 1311 cylinder
(200 sectors), 1,3S2 ms is the maximum time for
scanning one IS01 cylinder (800 sectors).
Notes.
1. The result of the scan is determined by testing the high,
low, or equal compare indicators with the BRANCH. IF
INDICATOR ON instruction.
2. The scan operation can be performed only on disk records
written in sector format.

Address Registers After Operation.
I-Add. Reg.
A-Add. Reg.
NSI
B +6
LF = length of factor B.

B-Add. Reg.
B + 11 +LF

Example. Scan disk storage for an equal compare beginning at sector-address 012510 and continue scanning until the record with part number A24537 is
found. The disk-control field is located in the highorder positions of the area of core storage labeled
SCAN AR (0966-0974); Figure H -68.
Autocoder

Assembled Instruction: ~ %FS 966 W

Figure H-68.

Scan Disk Equal

H-39

Seek Overlap Feature
(1311 Models 1 and 2)
The Seek Overlap Feature provides the flexibility to
allow a seek operation to be overlapped with one 1311
read or write operation, plus any number of other seek
operations on the other 1~11 Drives.
Note: The Seek Overlap function is standard on all
1301 Model 11, 12, 21 or 22's that are attached to the
1440.
On the systems which have 1301's and the 1311,
under certain conditions, the Seek Overlap function
may be obtained by proper programming, even when
the Seek Overlap Feature is not installed on the 1311's.
Thus, if the Seek instructions are issued for the 1301's
before they are given for the 1311, then we effectively
have Seek Overlap.

Sense switch A (last-card test) is standard on the 1440
system. Sense Switches B through G are available as
a special feature, These manually modify programs to
follow alternate routines, depending upon varying conditions or requirements. See the Branch if Indicator On
section, and Figure B-15.

Track Record (1301)
The track record special feature provides for reading
or writing an entire disk track with or without the
track address. A single, 6-digit address is used, followed by 2,543 characters in the move mode and 2,261
characters in the load mode. Track records can be
used fol' storing programs, tables, blocked recol'ds, and
other data requiring a single large storage block.
When this feature is installed on the system, it provides the track-record function to all the attached 1301
units.
,
Instructions applying to the 1301 cannot be successfully chained.
Read Disk-Track Record

Instruction Format.

The core-sector address field in core storage is not
modified, but the sector-count field in' core storage
is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation
begins so that reducing it by one can signal an endof-opeTation (000 in sector-count field).

The R in the d-character position signifies that this
is a read operation.

Word Marks. A group mark with a word mark must
be one position to the right of the last position reserved in core storage for the track record. If a
group mark with a word mark is detected before
reading of the track is completed, the wrong-length
record and any-disk condition indicators tum on and
reading stops. The position of the group mark with
a word mark is determined by adding 2,554 to the
B-address.
Timing. T
'it

= 33.3999 ms + disk rotation.

'it

35 ms is maximum time for disk rotation.
18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Notes. Track-record read operations can be performed only on a
track written with a track record operation.
Before reading starts, an automatic check is made of the
record address in storage with the record address on the
disk. If the addresses are not the same, the unequal-address
compare and any-disk condition indicators are turned on,
and the data in storage cannot be read from the disk.

Address Registers After Operation.

Op Code A-address B-address d-character
%F2
BBB
R
M

L

%F2

BBB

R

Function. This instruction causes data to be read from
a disk track into core storage. The digit 2 in the
A-address (%F2) specifies that a track-record operation is to be performed. Data is read from the disk
track (2,543 characters in move mode or 2,261 charH-40

Reading from the track begins follOwing the address specified by the core-sector address. This address is located at the beginning of the track,
directly after the index pulse.

The B-address specifies the high-order position in
core storage of the disk-control field, and the area in
storage reserved for data read from the disk track.

Sense Switches

Mnemonic
RDTR
RDTRW(word
marks)

acters in load mode). The additional characters read
are accounted fOT by using the nonnal gap between
disk sectors and the sector-address positions. Reading from the disk is stopped by a group mark with
a word mark in core storage.

I-Add. Reg.
NSI

A-Add. Reg.
B +6

B-Add. Reg.
B + 11 +2543
or

B+ 11 +2261

Example. Read disk track 012540 in core storage beginning at location 0976 (area is labeled TRsEc1).
The high-order position of the disk-control field is
located in the ten positions preceding the label
(0966-0975); Figure H -69.

Autocoder
OPERAND

lobe I

:',

~o
Assembled Instruction:

~

M %F2 966 R

and any-disk condition indicators tum on and reading stops. The position of the group mark with a
word mark is determined by adding 2560 to the
B-address.

Timing. T = 33.3999 ms
Figure H-69,

Read Disk-Track Record

#35 ms is maximum time for disk rotation.
18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Read Disk-Track Record with Address

Instruction Format.
Mnemonic
RDTA
RDTAW(word
marks)

Op Code A-address B-address d-character
M
%F@
BBB
R
L

%F@

+ disk rotation. #

BBB

R

Function. This instruction is similar to the READ D1SKTRACK RECORD instruction except that the @ in the
A-address (%F@) specifies that the address of the
track record in disk storage is also read into core
storage with the data on the disk track. Data is read
from the disk track (2,549 characters in move mode
or 2,267 characters in load mode). The additional
characters read are accounted for by using the normal gap between disk sectors and the sector-address
positions. Reading from the disk is stopped by a
group mark with a word mark in core storage.
When a disk-track record operation is initiated, an
automatic check is made of the record address in
storage with the record address on the disk. If the
addresses are equal, reading begins immediately following the index pulse on the disk track. (The index
pulse signals the system that the beginning of a
track is about to come under the access assembly.)
The track-recDrd address in the high-order position
of the disk data field in core storage is written in
the first sector-address position after the index pulse.

Notes. Track-record read operations can be performed only on
a track written with a track-record instruction.
Before reading starts, an automatic check is made of the
record address in storage with the record address on the disk.
If the addresses are not the same, the unequal-address compare and any-disk condition indicators are turned on, and
the data in storage cannot be read from the disk.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+9

B-Add. Reg.
B + 11 +2549
or
B + 11 +2267

Example. Read the address and data from disk track
012540 into core storage beginning at location 0476
(area is labeled TRECAD). The high-order position of
the disk-control field is located in the ten positions
preceding the label (0466-0475); Figure H-70.
Autocoder
OPERAND

label

~o
Assembled Instruction:

Figure H-70.

:~

,

~

M. %F@ 466 R

Read Disk-Track Record with Address

Write Disk-Track Record

The core-sector address field in core storage is not
modified, but the sector-count field in core storage
is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation
begins, so that reducing it by one can signal an
end~of-operation (000 in sector-count field).
The B-address specifies the high-order position in
core storage of the disk-control field, and the area
in storage reserved fDr the track-recDrd address and
da ta read from the disk track.
The R in the d-character position signifies that
this is a read operation.

Word Marks. A group mark with a word mark must
be one position to the right of the last position reserved in core storage for the disk track. If a group
mark with a word mark is detected before reading
of the track is completed, the wrong-length record

Instruction Format.
Mnemonic
Op Code A-address B-address d-character
WDTR
M
%F2
BBB
W
WDTRW(word
marks)
%F2
BBB
W
L

Function. This instructiDn causes data from core storage to be written on a disk track. The digit 2 in the
A-address (%F2) specifies that a track-record operation is to be performed. An entire disk track is written from the data in core storage (2,543 characters
in move mode or 2,261 characters in load mode). The
additional characters are accounted for by writing
in what is normally the gap between disk sectors and
the sector address positions. Writing of the disk
track is stopped by sensing a group mark with a
word mark in core storage and the end of track.
H-41

Writing begins at the track address specified by
the core-sector address field. This address is located
at the beginning of the track, directly after the index pulse.
The core-sector address field in storage is not
modified, but the sector-count field in core storage
is reduced by one as the track is written. Set the
sector-count field to 001 before the operation begins
so that reducing it by one can signal an end-ofoperation (000 in sector-count field).
The B-address specifies the high-order position in
core storage of the disk-control field, and the area
in storage where the data to be written on the disk
track is stored.
The W in the d-character position signifies that
this is a write operation.

Word Marks. A group mark with a wOl"d mark must
be one position to the right of the last character of
the data in core storage. The writing 'Of data stops
when the end of track is reached on the disk and
a group mark with a word mark is sensed in core
storage. If the group mark with a word mark is
sensed before the end of track, the remainder of the
disk track is filled with valid blanks (C-bits), and
the wrong-length record and any-disk condition indicators are turned on. The position 'Of the group
mark with a word mark is determined by adding
2554 to the B-address.
Timing. T

= 33.3999 ms + disk rotation. ~

~35

ms is maximum for disk rotation.
18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Notes.
1. Before writing starts, an automatic check is made of the
core-sector address in storage with the record address on
the disk. If the addresses are not the same, the unequaladdress compare and any-disk condition indicators are
turned on, and the data in storage cannot be written on
the disk.
2. A WRITE DISK CHECK instruction must be performed follOWing a write operation unless an error occurred during
the write operation. No other disk-storage operation can
be performed until the check of data written on the disk
is accomplished.
3. If the data in core storage contains characters with word
marks and the write operation is performed in the move
mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored).
4. Disk tracks adjacent to, but not above or below, a disk
track written with the WRITE DISK-TRACK RECORD instruction must be either unused or set up as a track record.
Tracks five and seven are adjacent to track six; track six
(Oll disk surfaces 1 and 3) is "above or below" track six
on disk surface 2. If the adjacent tracks are written using
WRITE DISK SECTO~ or WRITE· DISK SECTOR WITH ADDRESSES
instructions, interference occurs to the track-record data
stored in what is normally the gap between sectors.
H-42

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B + II +2543
or
B+ II +2261

Example. Write a disk-track record from the data in
the core-storage area labeled TRSEc1 (the first position of data is at 0976). The high-order position 'Of
the disk-control field is located in the ten positions
preceding the label (0966-0975); Figure H -71.
Autocoder
OPERAND

Label

:'.

Assembled Instruction:

Figure H-71.

~

M %F2 966 W

Write Disk-Track Record

Write Disk-Track Record with Address

Instruction Format.
Mnemonic
WDTA
WDTAW(word
marks)

Op Code A-address B-address d-character
M
%F@
BBB
W
L

%F@

BBB

W

Function. This is similar to the WRITE DISK TRACK RECORD instruction except that the @ in the A-address
(%F@) specifies that the address of the track
record in core storage is also written on the disk.
When a disk-track record 'Operation is initiated,
an automatic check is made of the record address in
storage with the record address on the disk. If the
addresses are equal, writing begins immediately following the index pulse on the disk track. (The index
pulse signals the system that the beginning of a
track is about to come under the access assembly.)
The track-record address in the high-order position
of the disk data field is written in the first sectoraddress position after the index pulse.
An entire disk track is written from the data in
core storage (2,549 characters in move mode or 2,2137
characters in load mode). The additional characters
are accounted for by writing in what is normally
the gap between disk sectors and the sector-address
positions. Writing of the disk track is stopped by
sensing a group mark with a wOl"d mark in core
storage and the end of track.
The core-sector address field in stDrage is not
modified, but the sector-count field in core storage
is reduced by one as the track is written. The sectorcount field should be set to 001 before the operation

2. A WRITE DISK CHECK instruction must be performed following a write operation. No other disk-storage operation
can be performed until the check of data written on the
disk is accomplished.
3. If the data in core storage contains characters with word
marks and the write operation is performed in the move
mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored).
4. Disk tracks adjacent to, but not above or below, a disk
track written with the WRITE DISK TRACK RECORD or WRITE
DISK TRACK RECORD WITH ADDRESS instructions must be
either unused or set up as a track record. Tracks five and
seven are adjacent to track six; track six (on disk surfaces
1 and 3) is "above or below" track six on disk surface 2.
If the adjacent tracks are written using WRITE DISK SECTOR
or WRITE DISK SECTOR with ADDRESSES instruction, interference occurs to the track-record data stored in what is
normally the gap between sectors.

begins, so that reducing it by one can signal an
end-of-operation (000 in sector-count field).
The B-address specifies the high-order position in
core storage of the disk-control field. It also specifies
the area in storage where the address and data to be
written on the disk track are stored.
The W in the d-character position signifies that
this is a write operation.
Word Marks. A group mark with a word mark must
be one position to the right of the last character of
data in core storage. The writing of data stops when
the end of track is reached on the disk and a group
mark with a word mark is sensed in core storage. If
the group mark with a word mark is sensed before
the end-of-track, the remainder of the disk track is
filled with valid blanks (C-bits), and the wrong-length
record, and any-disk condition indicators are turned
on. Processing is interlocked until the end of the
sector. The position of the group mark with a word
mark is determined by adding 2560 to the B-address.
Timing. T

= 33.3999 ms + disk rotation. ~

~35

ms is maximum time for disk rotation.
18.4 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+9

B-Add. Reg.
B+ 11 +2549
or
B + 11 +2267

Example. Write a disk track record with its new address from the data in the core-storage area labeled
TRECAD (the first position of the address is at 0476).
The high-order position of the disk-control field is
located in the ten positions preceding the label
(0466-0475); Figure H-72.
Autocoder

Notes.
1. Before writing starts, an automatic check is made of the
core-sector address in storage with one of the sector addresses on the pack. If the address is not found, the unequal-address compare and any-disk condition indicators
are turned on, and the data in storage cannot be written
on the disk.

label

OPERAND

Assembled Instruction: M. %F@ 466 W
"

Figure H-72.

Write Disk-Track Record with Address

H-43

Track Record (1311)
The track record special feature provides for reading
or writing an entire disk track with or without the
track address. A single, 6-digit address is used, followed by 2,980 characters in the move mode and 2,682
characters in the load mode. Track records can be
used for storing programs, tables, blocked records, and
other data requiring a single large storage block.
When this feature is installed on the system, it provides the track-record function to' all the atta1ched 1311
drives.
Instructions applying to the 1311 cannDt be successfully chained.

Read Disk-Track Record

Op Code A-address B-address d-character
M
%F2
BBB
R

L

%F2

BBB

+ disk rotation.

lit

lIt42 ms is maximum time for disk rotation.
22 m's is average time fDr disk rotation.
2 ms is minimum time fDr disk rotation.
Notes.
1. Track-record read operations can be performed only on
a track written with a track-record instruction.
2. Before reading starts, an automatic check is made of the
record address in storage with the record address on the disk.
If the addresses are not the same, the unequal-address compare and any-disk condition indicators tum on, and the data
in storage cannot be read from the disk.

I-Add. Reg.
NSI

A-Add. Reg.
B +6

R

Function. This instruction causes data to be read from
a disk track into core storage. The digit 2 in the
A-address (%F2) specifies that a track-record operation is to be performed. Data is read from the disk
track (2,980 characters in move mode or 2,682 characters in load mode). The additional characters read
are accounted for by using the nonnal gap between
disk sectors and the sector-address positions. Reading from the disk is stopped by a group mark with a
word mark in core storage. Reading from the track
begins follDwing the address specified by the coresector address. This address is located at the beginning of the track, directly after the index pulse.
The core-sector address field in core storage is not
modified, but the sector-count field in core storage
is reduced by one as the track is read. The sectorcount field must be set at 001 before the operation
begins sO' that reducing it by one can signal an end
of operation (000 in sector-CDunt field).
The B-address specifies the high-order position in
core storage of the disk-control field, and the area in
storage reserved for data read from the disk track.
The R in the d-character position signifies that
this is a read operation.

Word Marks. A group mark with a word mark must
be one position to' the right of the last position reserved in CDre stDrage for the track record. If a
group mark with a word mark is detected before
H-44

Timing. T = 40.0999 ms

Address Registers After Operation.

Instruction Format.
Mnemonic
RDTR
RDTRW(word
marks)

reading of the track is completed, the wrong-length
record and any-disk condition indicators turn on
and reading stops. The position of the group mark
with a word mark is determined by adding 2,991
(move mode) or 2,693 (load mode) to' the B-address.

B-Add. Reg.
B + 11 +2980
or
B + 11 +2682

Example. Read disk track 012540 in core storage beginning at IDcation 0976 (area is labeled TRSECl).
The high-order position of the disk-control field is
IDcated in the ten positions preceding the label
( 0966-0975 ); Figure H -73.
Autocoder
label
!

40
:

Assembled Instruction:

Figure H-73.

M %F2

966 R

Read Disk-Track Record

Read Disk-Track Record with Address

Instruction Format.
Mnemonic
RDTA
RDTAW(word
marks)

Op Code A-address B-address d-character
M
%F@
BBB
R
L

%F@

BBB

R

Function. This instruction is similar to' the READ DISKTRACK RECORD instruction except that the @ in the
A-address (%F@) specifies that the address of the
track record in disk storage is alsO' read into core
storage with the data on the disk track. Data is
read from the disk track (2,986 characters in move
mode or 2,688 characters in load mode). The addi-

tional characters read are accounted for by using
the normal gap between disk sectors and the sectoraddress positions. Reading from the disk is sto.pped
by a gro.UP mark with a word mark in core storage.
When a disk-h'ack record operation is initiated, an
automatic check is made of the record address in
storage with the record address on the disk. If the
addresses are equal, reading begins immediately follo.wing the index pulse on the disk track. (The index
pulse signals the system that the beginning of a track
is abo.ut to come under the access assembly). The
track-record address in the high-order Po.sitio.n of
the disk data field in co.re storage is written in the
first sector-address position after the index pulse.
The core-sector address field in 'core stDrage is not
modified, but the sector-count field in core storage
is reduced by one as the track is read. The sectorcount field must be set at 001 before the operatio.n
begins so that reducing it by one can signal an end
of operation (000 in secto.r-count field).
The B-address specifies the high-order position in
core storage reserved for the track-record address
and data read from the disk track.
The R in the d-character position signifies that
this is a read operation.

Word Marks. A group mark with a word mark must
be one position to the right of the last position reserved in core stDrage for the disk track. If a groupmark with a word mark is detected before reading
of the track is completed, the wrong-length recDrd
and any-disk condition indicators turn Dn and reading stops. The position of the group-mark with a
word mark is determined by adding 2,997 (move
mode) or 2,699 (load mode) to the B-address.
Timing. T
fit

= 40.0999 ms + disk rotation.

fit

42 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time fo.r disk rotation.

Notes.
1. Track-record read operations can be performed only on
a track written with a track-record instruction.
2. Before reading starts, an automatic check is made of the
record address in storage with the record address on the
disk. If the addresses are not the same, the unequal-address
compare and any-disk condition indicators tum on, and the
data in storage cannot be read. from the disk.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+9

B-Add. Reg.
B+ 11 +2986
or
B+ 11 +2688

Example. Read the address and data from disk track
012540 into core storage beginning at location 0476
(area is labeled TRECAD). The high -order position
of the disk-control field is located in the ten positions preceding the label (0466-0475); Figure H -74.
Autocoder
Label

Assembled Instrudion:

Figure H-74.

~

%F@ 466 R

Read Disk-Track with Address

Write Disk-Track Record

Instruction Format.
Mnemonic
Op Code A-address B-address d-character
M
%F2
BBB
W
WDTR
WDTRW(word
marks)
%F2
BBB
W
L

Function. This instruction causes data from core storage to be written o.n a disk track. The digit 2 in
the A-address (%F2) specifies that a track-record
operation is to be performed. An entire disk track is
written from the data in core storage (2,980 characters in move mode Dr 2,682 in load mode). The additional characters are accounted for by writing in
what is nonnally the gap between disk sectors and
the sector-address positions. Writing o.f the disk
track is sto.pped by sensing a group mark with a
word mark in core storage and the end of track.
Writing begins at the track address specified by
the core sector address field. This address is located
at the beginning of the track, directly after the
index pulse.
The core-sector address field in storage is not
modified, but the sector-count field in core stora.ge
is reduced by one as the track is written. Set the
sector-count field to 001 before the operation begins so that reducing it by one can signal an end
of operation (000 in sector-count field).
The B-address specifies the high-order position in
core storage of the disk control field, and the area in
storage where the data to be written on the disk
track is stored.
The W in the d-character position signifies that
this is a write operation.
H-45

Word Marks. A group mark with a word mark must
be one position to the right of the last character of
the data in core storage. The writing of data stops
when the end of track is reached on the disk, and
a group mark with a word mark is sensed in core
storage. If the group mark with a word mark is
sensed before the end of track, the remainder of the
disk track is filled with C-bits (blanks), and the
wrong-length record and any-disk condition indicators tum on. The position of the group mark with
a word mark is determined by adding 2,991 (move
mode) or 2,693 (load mode) to the B-address.
Timing. T

= 40.0999 ms + disk rotation.

(f<

42 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.

(f<

Notes.
1. Before writing starts, an automatic check is made of the

core-sector address in storage with the record address on
the disk. If the addresses are not the same, the unequaladdress compare and any-disk condition indicators tum
on, and the data in storage cannot be written on the disk.
2. A WRITE DISK CHECK instruction must be performed following a write operation unless an error occurred during
the write operation. No other disk-storage operation can be
performed until the check of data written on the disk is
accomplished.
3. If the data in core storage contains characters with word
marks and the write operation is performed in the move
mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored).
4. Disk tracks adjacent to, but not above or below, a disk
track written with the WRITE DISK-TRACK RECORD instruction must be either unused or set up as a track record.
Tracks five and seven are adjacent to track six; track six
(on disk surfaces 1 and 3) is "above or below" track six
on disk surface 2.
If the adjacent tracks are written using WRITE DISK SECTOR or WRITE DISK SECTOR WITH ADDRESS instructions, interference occurs to the track-record data stored in what
is normally the gap between sectors.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
B+6

B-Add. Reg.
B + 11 +2980
or
B+ 11 +2682

Example. Write a disk-track record from the data in
the core-storage area labeled TRSEC1 (the first position of data is at 0976). The high-order position of
the disk-control field is located in the ten positions
preceding the label (0966-0975); Figure H -75.
Autocoder
Label

OPERAND

Assembled Instruction:

Figure H-75.

H-46

M. %F2 966 W

Write Disk-Track Record

Write Disk-Track Record with Address

Instruction Format.
Mnemonic
WDTA
WDTAW(word
marks)

Op Code A-address B-address d-character
M

%F@

BBB

W

L

%F@

BBB

W

Function. This instruction is similar to the WRITE DISKTRACK RECORD instruction except that the @ in the
A-address C%F@) specifies that the address of
the track record in core storage is also written on
the disk.
When a disk-track record operation is initiated,
an automatic check is made of the record address
in storage with the record address on the disk. If
the addresses are equal, writing begins immediately
following the index pulse on the disk track. ( The
index pulse signals the system that the beginning of
a track is about to come under the access assembly.)
The track-record address in the high-order position
of the disk data field in core storage is written in
the first sector-address position after the index pulse.
An entire disk track is written from the data in
core storage (2,986 characters in move mode or 2,688
in load mode). The additional characters are accounted foro by writing in what is nmmally the gap
between disk sectors and the sector-address positions. Writing of the disk track is stopped by sensing
a group mark with a word mark in core storage and
the end of track.
The core-sector address field in storage is not
modified, but the sector-count field in core storage
is reduced by one as the track is written. The sector-,count field should be set to 001 before the operation begins, so that reducing it by one can signal
an end of operation (000 in the sector-count field).
The B-address specifies the high-order position in
core storage of the disk-control field. It also specifies
the area in storage wher-e the address and data to
be written on the disk track are stored.
The W in the d-character position signifies that
this is a write opeTation.

Word Marks. A group mark with a word mark must
be one position to the right of the last character of
data in core storage. The writing of data stops when
the end of track is reached on the disk and a group
mark with a word mark is sensed in core storage. If
the group mark with a word mark is sensed before
the end of track, the remainder of the disk track is
erased. Because even a valid blank must have a
C-bit, a parity error condition results. The disk

DISK-TRACK RECORD WITH ADDRESS instructions must be
either unused or set up as a track record. Tracks five and
seven are adjacent to track six; track six (on disk surfaces
1 and 3) is "above or below" track six on disk surface 2.
If the adjacent tracks are written using WRITE DISK SECTOR
or WRITE DISK SECTOR WITH ADDRESSES instructions, interference occurs to the track-record data stored in what is
normally the gap between sectors.
The write-address key on disk-storage-drive zero must
be on to perform this operation.

error, wrong-length record, and any-disk condition
indicators are turned on. Processing is interlocked
until the end of the sector. The position of the
group mark with a word mark is detennined by
adding 2,997 (move mode) or 2,699 (load mode) to
the B-address.
Timing. T

= 40.0999 ms + disk rotation. o

Address Registers After Operation.

°42 ms is maximum for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.

I-Add. Reg.
NSI

Notes.
1. Before writing starts, an automatic check is made of the
core-sector address in storage with sector address on the
pack. If the address is not found, the unequal-address
compare and any-disk condition indicators tum on, and
the data in storage cannot be written on the disk.
2. A WRITE DISK CHECK instruction must be performed following a write operation. No other disk-storage operation
can be performed until the check of data written on the
disk is accomplished.
3. If the data in core storage contains characters with word
marks and the write operation is performed in the move
mode, only the CBA 8421 portion of the character is written on the disk (the word mark is ignored).
4. Disk tracks adjacent to, but not above or below, a disk
track written with the WRITE DISK-TRACK RECORD or WRITE
Baudot
Character
T
5 (FIGS-n
CR
CR (FIGS)
0
9 (FIGS-O)
SPACE
FIGS-SPACE
H
'(FIGS-H)
N
,(FIGS-N)
M
.(FIGS-M)
LF
FIGS-LF
L
)(FIGS-L)
R
4 (FIGS-R)
G
&(FIGS-G)
I
8 (FIGS-I)

P

o (FIGS-P)
C
:(FIGS-C)
V
i(FIGS-V)

E
3(FIGS-E)

Enters Storage as:
2
C21
4
C41
C42
421
8
C81
C82
821
C84
841
842
C8421
A
CAl
CA2
A21
CA4
A41
A42
CA421
CA8
A81
A82
CA821
A84
CA841
CA842
A8421
B
CBl

Generates TranslateTable Address
X02
.X03
X04
X05
X06
X07
Xl0
Xll
X12
X13
X14
X15
X16
X17
X20

X21

xn

X23
X24
X25
X26
X27
X30
X31
X32
X33
X34
X35
X36
X37
X40
X41

Baudot
Character
Z
"(FIGS-Z)
D
$(FIGS-D)
B
?(FIGS-B)
S
Bell (FIGS-S)

Y
6(FIGS-Y)
F
!(FIGS-f)
X
/(FIGS-X)
A
-(FIGS-A)

W
2(FIGS-W)
J
'(FIGS-J)
FIGS

U
7(FIGS-U)
Q
1(FIGS-Q)
K
( (FIGS-K)
LTRS
BLANK
FIGS-BLANK

A-Add. Reg.
B+9

B-Add. Reg.
B + 11 + 2986
or
B+ 11 +2688

Example. Write a disk-track record with its new
address from the data in the core storage area labeled TRECAD (the first position of the address is
at 0476). The high-order position of the disk-control
field is located in the ten positions preceding the
label (0466-0475); Figure H -76.
Autocoder
OPERAND

Label

::1

I'
Assembled Instruction:

Figure H-76.

!::A %F@

50

466 W

Write Disk-Track Record with Address

Enters Storage aSI

Generates TranslateTable Address

CB2
B21
CB4
B41
B42
CB421
CB8
B81
B82
CB821
B84
CB841
CB842
B8421
CBA
BAl
BA2
CBA21
BA4
CBA41
Deleted From Input
by Adapter
BA8
CBA81
CBA82
BA821
CBA84
BA841
Deleted From Input
by Adapter
C
1

X42
X43
X44
X45
X46
X47
XSO
X51
X52
X53
X54
X55

X56
X57
X60
X61

X62
X63
X64
X65

X70
X71

xn

X73
X74
X75

XOO
XOl

(Note: X in table address represents any hundreds-position digit.)

Figure H-77.

Baudot Code to Generate Translate-Table Address
H-47

Translate

aCD Character

This special feature provides the data processing system with the capability of fast, flexible translation of
codes to and from the code of the system.
The feature uses stored-program instructions to initiate the code translation and subsequent record movement. One translate instruction translates a complete
record, moving left to right as it replaces each record
character with a character from a translate table in
core storage until a group mark with a wm:-d mark is
detected in the field being translated.
Each code translation requires a table in storage
beginning at an even-hundreds address for TRANSLATEWITH-WaRD-MARKS and at any hundreds address for
TRANSLATE-WITHOUT-WORD-MARKS. The number of various code translations that can be handled at one
time in a system is limited only by the core storage
available for tables.
The LOAD RECORD instruction (included in the translate feature) moves characters and word marks from
an A-field to a B-field, moving left to right up to and
including an A-field group mark with a word mark.
Original B-field word marks are cleared.
Instructions applying to the translate feature cannot
be successfully chained.

BLANK
1
2
3
4
5
6
7

8
9
0

#
@
:

>

V
¢

/

S
T
U

V
W
X

Y
Z

f
,
%
;::

I

"

Generates TranslateGenerates TranslateBCD Character
Table Address
Table Address
XOO
XOl
X02
X03
X04
X05
X06
X07
Xl0
Xll
X12
X13
X14
X15
X16
X17
X20
X2l
X22
X23
X24
X25
X26
X27
X30
X3l
X32
X33
X34
X35
X36
X37

J
K

L
M
N

0

P
Q

R
!

$

""

)

;
A

&
A
B
C
D

E

F
G
H
I

?
0

(

<

*

X40
X4l
X42
X43
X44
X45
X46
X47
X50
X5l
X52
X53
X54
X55
X56
X57
X60
X6l
X62
X63
X64
X65
X66
X67
X70
X7l
X72
X73
X74
X75
X76
X77

Note: Word marks with the BCD characters will generate the same
sequence of addresses at (X+ 1)00, (X+1)O 1, etc.

Figure H-78.

BCD Character to Generate Translate-Table
Address

Translate with Word Marks
Mnemonic
TRW

Op Code
T

A-address
AAA

B-address

d-character

BOO

>

The TRANSLATE WITH WORD MARKS instruction consists of T (C A 2 1 WM) forr the operation code, a
3-character A-address representing the initial address
of the record to be translated, a 3-character B-address
representing the initial address of the translate table,
and a d-character with a bit configuration of 8-4-2.
The record to be translated must end with a group
mark with a word mark. The initial address of the
translate table is restricted to any available evenhundreds address 'such as 200, 400, 600, 800, or 1000.
Two table sizes ean be accommodated: a 78-character
table provides as many as 64 usable positions, and a
156-character table provides as many as 128 usable
positions. (Figures H-77 and H-78 show that the digits
8 and 9 are not used in the units or hundreds position
of any generated address of the translate table.) The
I50-character table consists of the 78-character table,
beginning at an even-hundreds address (for example
200-277), combined with another 78-character table,
beginning at the next sequential hundreds address
(300-377).
H-48

Characters and word marks from the translate table
(initial address specified by B-addres,s) replace the
characters and word marks in the record being translated, beginning at the address specified by the Aaddress of the translate instruction.
The TRANSLATE WITH WORD MARKS instruction interprets word marks in the A-address field as DATA or
SHIFT bits, and the word marks actually take part in
the translate function.
The translate instructions are interruptible.
The B-field address (initial translate-table address)
cannot be indexed. The B-address register contains
blanks in the units and tens position at the completion
of a translate operation. Therefore, the use of a STORE
B-ADDRESS REGISTER instruction immediately following a
translate operation causes the system to interlock.

Translate without Word Marks
Mnemonic
TR

Op Code
T

A-address
AAA

B-address

BOO

The TRANSLATE WITHOUT WORD MARKS instruction
format is the asme as the TRANSLATE WITH WORD MARKS
instruction, but without a d-character. It functions the
same, with these exceptions:
1. One table size can be accommodated: the 78character table, which provides as many as 64
usable positions.
2. A-field word marks do not take part in the actual
translation, and are not altered by the translation.

General Description of Translate
The program assigns locations and contents in the
translate table depending Q1n the desired translation.
Each position of the translate table contains the BCD
character to which a particular character is to be translated. For each character to be translated, the translate
feature automatically selects the appropriate position
of the translate table. The contents Q1f that position
replaces the character in the A-field. The contents of
the translate table are undisturbed.
The translate-table characters must contain odd parity. The input/output device, channel or adapter (for
example, the IBM 1448 TransmissiQln Control Unit )
performs any necessary parity conversion for input and
output. The tables also must contain required SHIFT
bits for shifted codes. The adapter detects SHIFT-bit
transitions, generates the required SHIFT character, and
removes the SHIFT bit.
Figure H -77 is an example of how a code (Baudot
telegraph code in this case) enters the system and the
addresses that are generated (assuming Baudot 1-2-3
4-5 bits respectively are equal to BCD bits B-A-8-4-2
with the I-bit designating figures shift.
Figure H -78 shows the BCD character and the table
address generated.
Translation of each character is accomplished in a
3-cycle sequence (first A-cycle, B~cycle, and second
A-cycle). Refer to Figure H -79 while reading the sequence described here. Here again Baudot code is
used as an example.
Although the examples show the function of the
translate with incoming data, it functions the same
way for outgoing data using another translate table.

The translate instruction acts uPQln all the -characters of the A-field. Figure H-79 shows how the instruction T 900 600 (as an example) translates one character. In this case the first character of the A-field is used
as the example. The contents of position 900 has a bit
configuration of 2-4-A (Baudot-code G).
The first A-cycle moves this first character in the
A-field to the B-register. From the B-register, the operation moves the 1-2-4 bits of this character (with
proper parity) to the units position Q1f the storageaddress register together with the A-B bits frQlm the
units position of the B-address register. A-B bits in the
units position of the generated address designate corestorage blocks over 3999. In Figure H-79 the 2-4 bits
produce a 6 in the units position of the storage-address
register. If the 1-2-4 bits are all blanks (nQl-bits), the
operation generates an 8-2-C bit configuration (zero)
into the units position of the storage-address register.
The first A-cycle also moves the 8-A-B bits (interpreted as 1-2-4 bits) of the same character (with proper
parity) to the tens PQlsition of the storage-address
register. In Figure H-79 the A-bit, which becomes a
2-bit, prQlduces a 2 in the tens position of the storageaddress register. Again, if the 8-A-B bits are all blanks,
the operation generates an 8-2-C bit configuration
( zero) into the tens position of the storage-address
register.

If the insmlCtion is a TRANSLATE WITH WORD MARKS,
a word-mark bit in the B-register is interpreted as a
I-bit and is combined with the bits already selected
for transfer to the hundreds position of the storageaddress register. This adds 1 to the hundreds position
of the storage-address register and thus generates an
address from the second' half of a 156-character table.
If the table's base address was 600 (as in Figure H-79)
the generated address would be 726. Because in the
example the B-register has no word mark, the generated address is 626.
A TRANSLATE WITHOUT WORD MARKS instruction
blocks a word mark in the B-register so it takes no part
in the generation of the address.
B-Cycle

The B-cycle of the operation reads a character or
character with word marks out of a specified translatetable address in storage into the A-register. It uses
the address generated in the first A-cycle. The translate table is unaltered.

First A-Cycle

The first A-cycle generates the appropriate translatetable address specified by the character to be translated.

Second A-Cycle

The second A-cycle of the operation again reads out
the character being translated and replaces it in core
H-49

900

901

2
4
A

902

1
4
WM

2
4

903

B-REG

1M]
~M

1
2
4

WM

\~
\

(Reconl 10 be I.on.loled)

\

\

\

0
1
1

r-8
A
B

0
1
0

r--

}
}

C
0
WM

ro}

\

I

I9

1 0 10

I

0 10

,....

I

I

16 Blank Blank

A-Address Register
{Remains the same before
and at the end of first
A-cycle}
{Translate Instruction}

Figure H-79.

If the instruction is translate-with-word-marks, WM is transferred as a 1-bit combined with even bits of B-address register
to storage address register.

Storage Address Register at end of cycle •

..

I 91

1. Transfer to tens position of storage address register as 1-2-4.
2. Generate parity.
I-3. If all zeros, generate 8-2-C to main address register units
position.

Storage Address Register at beginning of cycle.

I6 I2 I6

t

1. Transfer to units position of storage address register as 1-2-4.
2. Generate parity.
I--3. If all zeros, generate 8-2-C to storage address register
units position.

B-Address Register
{Initial Table Address}

!. 900 600 >

First A-Cycle of Translate Sequence

storage with the contents of the A-register, which contains the character read out of the translate table on
the B-cycle. The original A-field character is destroyed.
A TRANSLATE WITH WORD MARKS instruction destroys
original A-field word marks but moves word marks
from the translate table to the A-field. A TRANSLATE
WITHOUT WORD MARKS instruction regenerates original
A-field word marks into the A-field and moves translate-table word marks to the A-field.
Figures H-SO and H-Sl show how the translate instruction affects processor-storage areas. No particular
codes are specified.

900901 902903904905906907908909910
0 1 0 1 0 0 0 1 0 1 1
2
0 0 1 1 1 1 0 0 0 0 1
4
1 1 1 0 1 0 1 0 1 0 1
8
0 1 0 0 1 1 0 0 1 0 1
A
0 1 0 0 1 1 0 0 1 0 1
B
0 1 0 0 1 1 0 0 1 0 1
C
0 1 1 0 0 0 1 0 0 1 0
WM 0 1 0 1 0 1 1 0 0 1 1
Original A-field (record to be translated)

1

600 60 1 602 603 604 605 606 607 608 674 675 676 677 jTranSlate
I I I I lXli I I I I Tables
600-677
700 701 702 703 704 705 771 772 773 774 775 776 777 700-777

I I I I
I

I

I

I

I H I

I

I

I

I

I I I

(Coded characters are assigned by the program)

Timing.

I:8j Represents an unused table address (X08, X09, X 18, X 19, etc.)

The formula for the translate-operation execution time
(T) for the 1440 is:
T = .0111 (Lr

+ 2 + 3N)

ms.

N = The number of characters in A-field to be translated.
LI = 7 for TRANSLATE WITHOUT WORD MARKS.
8 for TRANSLATE WITH WORD MARKS.

900 901 902 903 904 905 906 907 908 909 910

© © © © © © © © © ©
6
0
4

7
7
5

6
0
6

7
0
3

Resultant A-field.
word mark).

6
7
6

7
7
2

7
0
4

6

0
1

6
7
4

7
0
1

© 604 means the contents of 604 (character and

I 900 600 >

Example: N = lOO-character record
T=l.Sms
H-50

Figure H-BO.

*

WM

Translate with Word Marks

1
2
4
8
A
B
C

WM

900 901 902 903 904 905 906 907 908
0 1 0 1 0 0 0 1 0
0 0 1 1 1 1 0 0 0
1 1 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1
0 1 0 0 1 1 0 0 1
0 1 0 0 1 1 0 0 1
0 1 1 0 0 0 1 0 0
0 1 0 1 0 1 1 0 0

IBM 1009 Data Transmission Unit
Special Features

909 910
1 1
0 1
0 1
0 1
0 1
0 1
1 0
1 1

ISM 1009 Data Transmission Control Unit
Suffer Feature

Original A-field (record to be translated) (Note: Same bit
configurations as example translate with word marks.)
600 60 1 602 603 604 605 606 607 608 672 673 674 675 676 677

I

I

I

I

I

I

I

rxu

I

I

I

I

I

I

I

Translate table 600-677 (coded characters are assigned by the program)

cgJ

Represents an unused table address (X08, X09, X18, X19, X28,
X29, etc.)
900 901 902 903 904 905 906 907 908 909 910

© © © © © © © © © ©
6
0
4

6
7

5

6
0
6

Resultant A-field.
word mark).
T 900 600

©

6

6

7

7

6

WM

WM

Figlue H-81.

6
0
3

2

6
0
4

WM WM

6
0
1

6
7
4

6
0
1

*

WM WM

604 means the contents of 604 (character and

Translate without Word Marks

Load Record

The translate feature includes a special move instruction that moves characters and associated word marks
in a record from one storage area to another.
Mnemonic
MRCWG

Op Code

A-address

B-address

d-character

R

AAA

BBB

>

The LOAD RECORD instruction consists of X (B 4 2 1
WM) for the operation code, a 3-character A-address
representing the address of the record to be moved,
a 3-character B-address representing the address of the
field to which the record is moved, and a d-charaoter
with a bit configuration of 8-4-2.
The operation moves characters and word marks in
the A-field to the B-field, moving from low-numbered
to high-numbered storage position up to and including
an A-field group mark with a word mark, which stops
the operation. Original B-field word marks are cleared.

Substantially improved 1009 operation is provided by
this buffer feature. Refer to IBM 1009 Data Transmission Unit, Form A24-1039, and to the IB~l 1009 Data
Transmission Unit section of this publication. While
the buffer is being loaded with data from the transmission line, or unloading data to the transmission line,
the processor is freed for other operations.
The buffer feature provides a 4OO-character corestorage buffer that is divided into four 100-character
blocks. Blocks of 100 characters are transferred be-tween buffer storage and the processor by a single
MOVE or LOAD instruction. After a block of 100 characters has been moved into the core-storage I/O area,
the processor (receive mode) interrogates indicators to
determine whether more data is stored and available
for transfer to the processor.
After a block of 100 charaoters has been moved into
the 1009 buffer from the processor core storage (transmit mode), the program routine can interrogate the
buffer to determine whether it can accommodate another block of 100 characters. If additional data is
available in the 1009 buffer (receive mode), or additional space is available in the 1009 buffer (transmit
mode), the program routine can initiate another MOVE
or LOAD instruction. The B-addresS' of the LOAD or MOVE
instruction should be increased by 100 before the instruction is executed. This procedure is followed until
a group mark with word mark (end-of-message) is
detected in the processor core storage (transmit mode)
or an end-of-message is detected in 1009 buffer storage
(receive mode).
The processor program must determine the validity
of the data received by tes:ting the appropriate indicator. The data is processed if it is valid. If the data
is invalid, it is automatically retransmitted a maximum
of two more times. A counter in the 1009 buffer keeps
track of the number of transmissionS' made during an
error routine; however, the retransmission of data is
under program control. If the data is still invalid after
three transmissions, the transmission of data ceases,
and an alarm sounds indicating operator intervention
is required.

H-51

The buffer feature also provides the 1009 with the
ability to answer automatically and establish a telephone connection for transmission of data and disconnect at the end of transmission without operator intervention. The direction of the transmission can automatically controlled through appropriate programming.

edges this inquiry under control of the U %D1 D
processor instruction. After the inquiry signal is
acknowledged, the £rst message is' received in 1009
buffer storage.

Ending the Operation
Console Panel, IBM 1009 Buffer Feature

The console panel remains the same except for the
transmit/receive switch. This switch now has three
positions: transmit, receive, and automatic. The switch
must be set to AUTOMATIC if the auto-answer, autodisconneot, and/or automatic control of transmission
direction features are used.

IBM 1009 Auto'matic Mode Operation
Procedure for making retransmission connection:
1. The operator places the call after loading the program in the processor and placing the 1009 in a
ready status (power on, binary-BCD mode switch
set to desired mode, test-normal switch set to
NORMAL, and transmit-receive-automatic switch set
to AUTOMATIC).
2. After placing the 1009 in a ready status and completing the line connection, press the data key on
the data set, and cradle the handset.
3. Press the auto key on the data set if future calls are
to be answered automatically.
4. Press the start key on the processor.

The IBM 1009, under program control, automatically
performs all necessary disconnect functions. When
an end-of-£Ie signal is received. the receiving station
can, under program control, either reverse direction
and proceed in a transmit mode, reestablish the receive
mode, or ignore the end-of-£Ie signal. Ignoring the
end-of-£Ie signal automatically disconnects the transmission line after about 30 seconds.
The receive station can also send an end-of-£Ie signal
to the transmitting station manually or under program
control. The transmitting station acknowledges this
signal by sending an end-of-£Ie signal to the receive
station, which terminates the transmission on both
ends.

IBM 1009 Data Transmission Unit Line Speed
Speed Select
Switch Setting
600
750
1000
1200
1500
2000
2400
3000
4000

CPS
75
93.75
125
150
187.5
250
300
375
500
0-600

5. The K E instruction in the program routine sets the
transmission direction to transmit.

~Speed

MS/CHAR
13.3
10.65
8.0
6.67
5.7
4.0
3.33
2.66
2.0
EXT.~
LINE
depends upon type of data set used

6. The :Q %D1 E instruction initializes the transmission of the message.
Procedure for making the receiving connection:

l. Load the program- in the processor and place the
1009 in a ready status (power on, binary-BCD mode
switch set to desired mode, test-normal switch set
to NORMAL, and transmit-receive-automatic switch
set to AUTOMATIC).
2. Press the auto key on the data set.
3. Press the start key on the processor console.
4. The K D instruction in the program routine sets the
direction of transmission to receive. The 1009 automatically answers a call and receives an initial inquiry signal from the sender. The 1009 acknowlH-52

Maximum Processor Time Required for
Data Movement

Blocks of 100 characters (with or without word marks)
are transferred by each MOVE or LOAD instruction.
Timing
(without
indexing).

T=

+
+

.0999 ms
.0111
L

+ 1.0989

(Instruction time)
(First character)
(Line-character speed in ms!
character) .
(Subsequent 99 characters of
the block. Each character requires .0111 ms. When fewer
characters are transferred, reduce this factor accordingly).

1.2099 ms (plus line speed) for each 100character block.

Timing
(with
indexing).

Initialize a Reply from Receiver (ReV)

T=

+
+
+

.0999 ms
.Olll
.0333
L

+ 1.0989

( Instruction time)
(First character)
(Indexing cycle time)
(Line-character speed in ms/
character) .
(Subsequent 99 characters of
the block. Each character requires .Olll ms. When fewer
characters are transferred, reduce this factor accordingly).

1.2432 ms (plus line speed) for each 100character block.

Instruction Format.
Mnemonic

Op Code
U

CU

A-address

d-character

%D1

D

Function. The receiving 1009 signals the transmitting
station that it is ready to' receive and indicates the
status of the previO'us message (see BRANCH IF INDICATOR ON instructiO'n).
Word Marks. WO'rd marks are not affected.
Timing. T

Additional and Modified Instructions for
J009 Buffer Feature
Several prO'CeSSO'r instructiO'ns are expanded to' provide
prO' gram cO'ntrol fO'r the mM 1009 Data Transmission
Unit with buffer feature.
InstructiO'ns applying to' the 1009 cannO't be successfully chained.

= .0666 ms.

Note: The transmit/receive switch on the receiving 1009 should
be set to RECEIVE. If it is set to TRANSMIT, the processor is
interlocked and an alarm is sounded to signal the operator.
This instruction is also used when the transmit, receive, and
automatic switch is set to the automatic position (buffer feature installed) and a ~ D instruction has been issued.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
Dbb

Initialize a Message Transmission (XMIT)

Instruction Format.
Mnemonic

Op Code

A-address

CU

Q

%Dl

d-character
E

Function. This instruction initiates a start-of-message
signal if the 1009 is in a send-run conditiO'n (transmit/receive switch is set to' TRANSMIT). If the 1009
is in a receive-run condition ( transmit/receive
switch set to' RECEIVE) the instructiO'n causes the
prO'cessor to' interlock and an alarm to' sO'und, signaling that operation interventiO'n is necessary. This
instructiO'n is alsO' used when the transmit, receive,
and autO'matic switch is set to' the autO'matic positiO'n
(buffer feature installed) and a K E (set directiO'n
to' TRANSMIT) instruction" has been issued.
The A-address specifies the 1009, and the d-character specifies the start-transmission operation.

Move Character to the Transmitting 1009

Instruction Format.
Mnemonic

Op Code

A-address

B-address

MU

M

%Dl

BBB

d-character
W

Function. The transmitting prO'cessor sends 100 characters to' the 1009 buffer, starting with the pO'sitiO'n
in core storage specified by the B-address. The dcharacter, W, specifies a transmit operatiO'n.
Word Marks. WO'rd marks are not affected.

= 1.210 + 1L
T = 1.243 + 1L

Timing. T

ms (wi,thO'ut indexing)
ms (with indexing)

Timing. T = .0666 ms.

Note. If a group mark with word mark is sensed in processor
core storage, an end-of-message transmit condition is recognized. See Maximum Processor Time Required for Movement
of Data section.

Address Registers After Operation.

Address Registers After Operation.

Word Marks. WO'rd marks are not affected.

I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
Ebb

I-Add. Reg.
NSI

A-Add. Reg.

B-Add. Reg.

%41

B + 100 or GM + 1
H-53

Address Registers After Operation.

Move Character from the Receiving 1009

I-Add. Reg.
NSI

Imtruction Format.
Mnemonic

MU

Op Code
M

A-address
%Dl

B-address

d-character

BBB

R

Function. This instruction transfers 100 characters in
the receiving 1009 buffer to the receiving processor
core-storage location starting with the position specified by the B-address. The d-charaoter specifies a
receive operation.
Word Marks. Word marks are not affected.
Timing. T

= 1.210 + 1L

ms (without indexing)

T

= 1.243 + 1L

ms (with indexing)

Note. When the 1009 recognizes the end-oF-message condition,
the receiving processor gets an end-oF-message receive signal
and inserts a group mark in the core-storage location immediately beyond the location containing the last character of
the message. See Maximum Process Time Required for Movement of Data.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
B + 100 ~r GM + 1

Load Character to the Transmitting 1009

1nstruction Format.
Mnemonic

Op Code

LU

L

A-address
%Dl

B-address

BBB

d-character
W

Function. The transmitting processor sends 100 characters, starting with the location specified by the Baddress, to the transmitting 1009 buffer. The d-character, W, specifies a transmit operation.
Word Marks. If a word mark is associated with a character, it is placed with the character in 1009 buffer
storage during one transfer cycle. When the character is placed on the transmission line, the word mark
is converted to a word separator. Placing the character and word separator on the transmission line takes
two transmission cycles.

= 1.210 + 1L
T = 1.243 + 1L

Timing. T

ms (without indexing)
ms (wi,th indexing)

Note. A group mark with word mark in processor core storage
signals an end-oF-message transmit condition. See Maximum
Process Time Required for Movement of Data.
H-54

A-Add. Reg.

B-Add. Reg.
B + 100 or GM + 1

%41

Load Character from the Receiving 1009

1mtruction Format.
Mnemonic
LV

Op Code

A-address
%Dl

h

B-address

d-character

BBB

R

Function. This instruction transfers 100 characters in
the receiving 1009 buffer to receiving processor core
storage starting with the location specified by the
B-address. The d-character, R, signals a receive
operation.
Word Marks. If a word mark is associated with a character, it is received as a word separator followed
by its associated data character, but converted to a
word mark and placed with its associated character
in the receiving 1009 buffer storage. This operation
takes two transmission cycles. The charaoter and
associated word mark are then transferred to processor core storage during one transfer cycle.
Timing. T

= 1.210 + 1L

ms (without indexing)

T

= 1.243 + 1L

ms (with indexing)

Note. When the 1009 recognizes an end-oF-message condition,
the receiving processor interprets an end-oF-message receive
signal and inserts a group mark in the core-storage location
immediately beyond the location containing the last character
of the message. See Maximum Process Time Required for
Movement of Data.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
%41

B-Add. Reg.
B + 100 or GM

+1

Branch if Indicator On

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address
III

d-character
d

Function. This instruction tests the indicator specified
by the d-character. If the indicator is on, the program branches to the I -address for the next instruction. If it is off, the program continues with the next
sequential instruction.

d-character
1
2
3
4

5
6
7

8

Indicator
1009 Ready
Buffer Service
Reply Good
Reply Bad
Receive Error
Attention 1009
Receive EOM
or Initial Inquiry
Receive EOF

Station
RCVor XMIT
RCVor XMIT
XMIT
XMIT
RCV
RCVor XMIT
ReV
RCVor XMIT

Indicators

B III 1. This indicator turns on when the 1009 is in. a
run condition. If the 1009 is not in a run condition,
the program should stop, or loop until the run condition is established.

on until the next U %D 1 D instruction is issued.
This also comes onin response to the initial twocharacter inquiry sequence (transmi,t leader/inquiry)
sent by the transmitting 1009 prior to the start of
transmission.
BIII8. This indicator, when on, indicates to the proc- essor that the 1009 has received an EOF (end-offile) signal from the remote terminal.
Word Marks. Word marks are not affected.
Timing.
No branch, or branch without indexing: T
Branch with indexing: T = .0777 ms.
Address Registers After Operation.

1!.III 2.

This indicator, when on, indicates to the
processor that the 1009 is in a buffer-available condition when in either the transmit or receive mode.
This indicator turns on the firs,t time when 100 characters have been placed in the receive 1009 buffer
or when a U %D1 E instruotion has been issued
when in a transmit mode.

.!!. III 3.

This indicator turns on if the signal sent to
the transmitting station by the :Q %D 1 D instruotion
specified that a good transmission occurred. The
transmitting processor should test this indicator and
branch to the routine for the ne~t message if it is
on. If the indicator is not on, the program should
advance to test the transmission-error indicator.

.!! III 4. The reply-bad indicator turns on if the signal
sent to the transmitting station by the .!2 %D1 D instruction specified that a transmission error occurred.
The transmitting processor should test this indicator
and branch to an error subroutine if an error occurred.
J!III5. This indicator, when on, indicates to the processor that the condition for acknowledgment that
has been set in the 1009 is error-reply. This indicator
turns on when the first error charaoter is detected in
a message and remains on until the next Q %D1 D
ins'truction is issued.
B III 6. This indicator turns on when anyone of the
- following indicators turns on: Branch 2, Branch 3,
Branch 4, Branch 7, and Branch 8. When the Branch
6 indicator is on, the 1009 requires program attention.
BIll 7. This indicator, when on, indicates to the
- processor that the conditions for an acknowledgment
have been set (reply-good or reply-bad) in the 1009.
This indicator turns on when the processor receives
an end-of-message signal from the 1009 and remains

= .0666 ms.

No Branch:
Branch
(without indexing)
Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
dbb

NSI

BI

blank

NSI

BI

NSI

Suppress 3-Second Alarm

Instruction Format.
Mnemonic
SS
SSB

Op Code

I-address

d-character

K
..!.

III

A
A

Function. This instruction prevents the 3-second a,larm
from sounding during a delay (such as tape rewind).
N0rmal alarm funotions will be restored when. any
subsequent instruction addresses the 1009. This instruction can be given when a delay in processing
can be foreseen.
Word Marks. Word marks are not affected.
Timing.
Suppress 3-Second Alarm: T = .0333 ms.
Suppress 3-Second Alarm and Branch (without indexing: T .0666 ms.
Suppress 3-Second Alarm and Branch (with indexing):
T .0777 ms.

=

=

Address Registers After Operation.
Suppress 3-Second
Alarm
Suppress 3-Second
Alarm and Branch
(without illdexing):
Suppress 3-Second
Alarm and Branch
(with indexing):

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

Abb

Abb

NSI

BI

blank

NSI

BI

NSI
H-55

Address Registers After Operation.

Set Direction to Receive

I-Add. Reg.

Instruction Format.
Mnemonic
SS
SSB

Op Code
K

I-address

.K

III

d-character
D
D

Function. This instruction is incorporated in the processor receive program routine to set the line direction to RECEIVE. This instruction is effective only if
the transmit, receive, and automatic switch is set to

Set Direction to
Transmit:
Set Direction to
Transmit and Branch
(without indexing):
Set Direction to
Transmit and Branch
(with indexing):

A-Add. Reg.

B-Add. Reg.

NSI

Ebb

Ebb

NSI.

BI

blank

NSI

BI

NSI

AUTOMATIC.

Word Marks. Word marks are not affected.
Timing.
Set Direction to Receive: T = .0333 ms.
Set Direction to Receive
and Branch (without indexing): T = .0666 ms.
Set Direction to Receive
and Branch (with indexing): T = .077 ms.

Send End-of-File (EOF)

Instruction Format.
Mnemonic
SS
SSB

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

Op Code
K

I-address

d-character

K

III

F
F

B-Add. Reg.

NSI

Dbb

Dbb

Function. This instruction is incorporated in the processor transmit or receive program routine to initiate
an EOF (end-of-file) code signal to the remote 1009.

NSI

BI

blank

Word Marks. Word marks are not affected.

NSI

BI

NSI

Set Direction to Transmit

Send End-of-File: T = .0333 ms.
Send End-of-File
and Branch (without indexing): T = .0666 ms.
Send End-of-File
and Branch (with indexing) ): T = .0777 ms.

Instruction Format.

Address Registers After Operation.

Set Direction to
Receive:
Set Direction to
Receive and Branch
(without indexing):
Set Direction to
Receive and Branch
(with indexing):

Mnemonic
SS
SSB

Op Code

I-address

d-character
E

III

E

K

K

Function. This instruction is incorporated in the processor transmit program routine to set the line direction to TRANSMIT. This instruction is effective only
if the transmit, receive, and automatic switch is set
to AUTOMATIC.

Timing.

Send End-of-File
Send End-of-File
and Branch
(witho~t indexing):
Send End-of-File
and Branch
(with indexing):

I-Add. Reg.
NSI

A-Add. Reg.
Fbb

B-Add. Reg.
Fbb

NSI

BI

blank

NSI

BI

NSI

Word Marks. Word marks are not affected.
Timing.
Set Direction to Transmit: T = .0333 ms.
Set Direction to Transmit
and Branch (without indexing): T = .0666 ms.
Set Direction to Transmit
and Branch (with indexing): T = .0777 ms.
H-56

Operate in Load Mode

Instruction Format.
Mnemonic
SS
SSB

Op Code

I-address

d-character

III

L
L

K

.!..

Function. This instruction is placed ahead of the
U %Dl D instruction in the processor receive program routine if the receiving 1009 is operating in the
load mode. This instruction causes all word separators to be converted to word marks as they are received at the receiving 1009 and before they are
placed in the receiving 1009 buffer. The receive station operates in a load mode until an end-of-message
signal is received.
Timing.
Operate in Load Mode: T = .0333 ms.
Operate in Load Mode
and Branch (without indexing): T = .0666 ms.
Operate in Load Mode
and Branch (with indexing): T = .0777 ms.

Program Instructions

The existing 1012 I/O instructions are used foc read
tape feature operations. (See IBM 1012 Tape Punch
section of this publication.) For example, with the
read/punch switch set to READ, a PUNCH BLANK instruction followed by a READ instruction causes the infonnation at the read station to be transmitted to the processor and the tape to be moved one character position.
A PUNCH BLANK instruction followed by a READ instruction is required to read each character.
The same considerations for starting and stopping
the tape for punching, apply for reading as well. The
read operation, m timing purposes, is the same as
punching with READ BACK CHECK. See IBM 1012 Tape
Punch, Form A26-5776-0.

Address Registers After Operation.
Operate in Load
Mode:
Operate in Load
Mode and Branch
(without indexing):
Operate in Load
Mode and Branch
(with indexing):

I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

Lbb

Lbb

NSI

BI

blank

NSI

BI

NSI

IBM 1012 Tape Punch Special Features
IBM J0 J2 Tape Punch, Read Feature

The addition of the read special feature to the mM
1012 allows the 1012 to operate as a reader (input to
a using system) or as a punch (output from a using
system). The mode of operation is controlled by a
read/punch switch that is' installed in the blank position next to the rewind switch.
When the read/punch switch is set to READ, the 1012
Tape Punch is modified as follows:
• All punching is inhibited.
• The reel sense arm's function is inhibited. The trailing end of the tape is allowed to feed from the
supply reel without causing the machine to stop.
• The supply arm's lower-limit switch is bypassed.
This allows the trailing end of the tape to pass the
read station without causing the machine to stop.
• The feed switch, when pressed, causes the tape to
advance without being punched with feed codes.
H-57

IBM 1403 Special Features
The IDM 1403 Printer special features add to the flexibility of the output applications for particular jobs,
and also reduce the time required. Only those 1403
special features which require programmed instructions are listed here. Refer to IBM 1403 Printer, Form
A24-3073.

Selective Tape Listing Feature
The selective tape listing feature can be attached to
either of the Models 2 and 3 of the IDM 1403 Printer
so that output results of data processed on a system
can be printed on adding-machine style paper tapes
(Figure H -82) .
Operation

An IDM 1403 Printer with the selective tape listing
feature installed continues to operate at regular 1403
speeds. Each tape is individually linespaced, one line
at a time (no skipping or ejecting is possible). Tape is
spaced by using modified 1403 CONTROL CARRIAGE Op
code (f ), when used with a d-character of A through
H , which signals a single linespace for the corresponding tape. ( The space operation takes place after the
next print operation.) The modifier characters and the
tapes they control are:
A
B
C
D

-

Tape
Tape
Tape
Tape

1
2
3
4

E
F
G
H

-

Tape
Tape
Tape
Tape

5
6
7
8

When a double-width tape is used, two tape linespace instructions are given, using the d-charaoters
corresponding to the positions occupied by the doublewidth tape. If additionallinespacing is wanted, a tape

linespace instruction (CONTROL CARRIAGE Op code and
the specific d-character and a PRINT instruction ) are
given. The print operation is a dummy print operation,
and the print area in core storage should be clear so
that nothing is plinted. The linespace operation occurs
after the print operation.
To equalize the ribbon wear, the customer can vary
the location of the master tape. This can b e done by
using the same width tape in another location and
altering the program (changing the d-character to the
character that corresponds to the new location ) .
An end-of-tape condition, sensed at the tape-spool
tray, stops the printing operation and turns on the
1403 end-of-forms light.
When programming selective tape listing, the program should not select more than four tape-feeds
simultaneously.
Control Carriage Selective Tape Listing Feature

Instruction Format.
Mnemonic
CC

d-character
d

Op Code
F

Function. Space a specific tape (as defined by the dmodifier character). Each such instruction causes a
single tape to space up one line. Multiple instructions (with the correct d-characters) are required
for spacing more than one tape.
Word Marks. Word marks are not affected.
Timing. See 1403 Printer Timings section.
Address Registers After Operation.
B-Add. Reg.
dbb

A-Add. Reg.
dbb

I-Add. Reg.
NSI

Chaining. This instruction cannot be successfully
chained .
Example. Space up tapes 1, 2, 7, and 8 after the next
print operation. Tapes 7 and 8 might represent a
single double-width tape (Figure H-83).
Autocoder
Label

:;pera,;?;
I

I
I

,

I

Z(l

~c.
~ .I'!.

:.c

:c

I

>5

50

4a

O PERAND

A
B
H.
G.

Assembled Instruction: F A

F B
F G

F H

Figure H-82.
H-58

Selective Tape Listing Feature Mechanism

Figure H-83.

Control Carriage, Selective Tape Listing
Feature

""

IBM 1442, Models 1, 2, and 4,
Special Features

Card Image Feature
This feature is available for the IBM 1442 Card ReadPunch, Models 1 and 2, and the IBM 1442 Card Reader,
Model 4, with the IBM 1440 System. The card-image
feature provides the circuitry to convert binary-coded
cards into BCD codes, and BCD codes into binarycoded cards.
This feature also permits processing cards with multiple significant-digit punching in a single column.
When reading in card-image code, the validity
check is suspended because all charcaters are considered valid. However, validity checking is still in
effeot for card columns designated as BCD (see Word
Marks section), so if the I/O check stop switch is ON,
the system will stop on a reader (or punch) validity
error, 01' if the I/O check-stop switch is OFF, a BRANCH
IF ERROR instruction may be used to enter a subroutine.
Cards with interspersed, oonventional punched codes
and binary-coded data can be read.
Note: When this feature is installed on the first mM 1442 attached to an IBM 1440 system, it also functions on the second
1442 installed on the system.

This feature permits reading punched data into the
1441 unit without the normal translation from the
standard IBM punched-card code to BCD code. In
BCD mode, each Card column of data is stored in two
adjacent positions of core storage. Similarly, the data
in two adjacent core positions can be punched into one
card column (Figure H-84).
IBM

Instructions applying to the 1442 cannot be successfully chained.

Read Card Image

Instruction Format.
Mnemonic

ReB

Op Code
M

A-address
%Gri

B-address

BBB

d-character
R

Function. This instruction causes a read-card-image
operation to be performed by the presence of a 9
or 0 (zero) in the n position of the A-address. The 9
also selects the number-1 unit on the system; a 0
(zero) in this position selects the number-2 unit
when two units are on the same system.

n
{
l l}------.
n
iJr-------------------------------------~

Figure H-84.

Card Image Representation

The B-address is the address of the cme storage
where column-1 information is to be stored.
The instruction terminates when. a group mark
with word mark is sensed at location (B + LB ),
where LB is the number of card columns to be read
into the processing-unit core storage.

Word Marks. Special significance is assigned to a word
mark during the execution of a CARD IMAGE READ instruction. The word mark is used to signal a change
in the mode of operation. For example, in the cardimage-read operation in the normal reading mode,
each card column read is translated and stored in
single core-storage locations until a word mark is
detected in core storage. This signals the reading
mode to change. Translation from the standard IBM
punched-card code is suspended. Suspension causes
the card data beginning at the word mark to be
stored in two adjacent core-storage positions for
each column read. Detectio.n of another word mark
causes the reading to revert to. the normal reading
mode.
Note. If the word marks are incorrectly placed, undetected invalid characters can be stored. The word mark must be
associated with the upper character of a card-image set. Any
given card column must be stored in either binary-codeddecimal or card-image mode.

Timing.
Modell T = 21.0999 + 1.3 (LB
Model 2 T = 15.0999 + 1.0 (LB

+ 1) ms
+ 1) ms
H-59

Address Registers After Operation.

Address Registers After Operation.
I-Add. Reg.
NSI

I-Add. Reg.
NSI

B-Add. Reg.
B+Ln+l

A-Add. Reg.
BBB

Example. Transfer the data in card image form from
card read-punch 1 to the area in core storage labeled RDBIN (0303); Figure H -85.

A-Add. Reg.
BBB

B-Add. Reg.
B+L B + 1

Example. Punch the data in card image form on card
read-punch 1 beginning in the area labeled PCHCI
(0303) and ending with a group mark with a word
mark (Figure H-86).

Autocoder

~perati~

15111

RCA

1

OPERAND

5

JJi~hR.D81 .~~;R

Assembled Instruction:

~

40

:~

:

Autocoder
40

%G9 303 R
Assembled Instruction:

Figure H-85.

!:!l

%G9 303 P

Read Card in Card Image Mode
Figure H-86.

Punch-and-Stop in Card Image Mode

Punch Card Image and Stop

Instruction Format.
Mnemonic
None

Op Code

M

A-address
%Gn

B-address
BBB

d-character
P

Function. This instruction causes a punch-card-image
operation to be performed by the presence of a 9 or
o (zero) in the n position of the A-address. The 9
also selects the number-1 unit on the system; a 0
(zero) in this position selects the number-2 unit
when two units are on the same system.
The B-address is the location of the data in storage to be punched. The data in core storage is transferred in ascending sequence to the card punch
beginning at B-address until a group mark with
word mark is sensed at (B + Ln). This information
is punched in successive columns of the card at the
punch station. A punching op€ration following
another punch operation (no intervening card feed)
causes the data at the B-address to be punched in
the next successive card column. The program must
be written so as not to exceed 80-columns of punching per card. If 80 columns are exceeded, data is lost.
The operation is terminated by a group mark with
word mark in the rightmost position of the field.

Word Marks. The word marks within the data being
punched are neither considered nor affected.
Timing.
Modell.
T = 216.3499

+ 12.5

(Ln) ms

Model 2,
T = 163.2299 + 6.25 (Ln) ms
H-60

Punch Card Image and Feed

Instruction Format.
Mnemonic
PCB

Op Code
M

A-address
%Gn

B-address
BBB

d-character
G

Function. This instruction is used to transfer data
from core storage into the card read-punch for
punching into a card. When punching ends, the
card is ejected from the punch station and selected
into a stacker.
This instruction causes a punch-card-image operation to be performed by the presence of a 9 or 0
(zero )in the n position of the A-address. The 9 also
selects the number-1 unit on the system; a 0 (zero)
in this position selects the number-2 unit when two
units are on the same system.
The data stored in the core-storage position specified by the B-address is transferred and punched
in the card column registered beneath the punching
mechanism. The rest of the data located in the adjacent core-storage positions is transferred,columnby-column, and punched in the adjacent card columns until a group mark with word mark in core
storage is sensed. The number of characters punched
in the card depends upon the B-field length that is
established in core storage. The B-field length can
be from 1 to 80 positions, plus one position for the
group mark with word mark. (Characters in excess
of 80 all punch in column 81, and are lost.) When
the punching operation ends, the card is ejected
from the punch station and selected into a stacker.

The card located at the read station advances during this operatiOon, also, but the data in the card is
nOot transferred into core storage. A card from the
hopper is also advanced and registered at the read
statiDn during the punch-and-feed operation.
'Vord Marks. Word marks are not affected. A group
mark with word mark is needed to end the operation.
Timing.
Modell.
T = 216.3499

+ 12.5 (LB )

ms

Select Stacker

Instruction Format.
d-character

Op Code
K

Mnemonic
SS

2

Function. This instruction directs the card at the punch
statiOon into stacker 2. Unless stacker 2 has been
selected before the operation that ejects the card
(READ OR PUNCH FEED), the ejected card is directed
to stacker 1.
Word Marks. Word marks are not affected.

Model 2,
T = 163.2299 + 6.25 (LB ) ms

Timing. T = .0333 ms

A period of 210 ms elapses before another card
read-punch operation can be executed.
N ate. When a punch-and-feed operation follows either a readcard or punch-and-feed operation, the card at the punch
station is registered in column 1, and punching begins in
column 1. When a punch-and feed-operation follows a punchand-stop operation, the card at the punch station is the card
that was punched during the previous operation; punching
begins in the column adjacent to the last column punched.

Address Registers After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
2bb

B-Add. Reg.
2bb

Example. Enter selected card into pocket 2 (Figure
H-88).

Autocoder

I-Add. Reg.
NSI

A-Add. Reg.
BBB

B-Add. Reg.
B+LB+1

Autocoder
OPERAND

~5

Figure H-87.

!l.

:5

~o

:

Assembled Instruction: K 2

Example. Punch the data in card-image form Dn card
read-punch 1 beginning in the area labeled FCHCI
( 0303) and ending with a group mark with word
mark, and then eject the card (Figure H -87) .

Assembled Instruction:

OPERAND

Label

Address Registers After Operation.

~

%G9 303 G

Punch-and-Feed in Card Image Mode

Figure H-88.

Selective Stacker

Punch-Column Skip feature
This special feature ·increases card output by allowing
the punch portion Oof the attached card read-punch( es )
to space over a specified number of card columns without interlocking the system. The punch-cOolumn-skip
operation is initiated by executing a PUNCH COLUMN
SKIP instruction.

Punch-Column Skip

Instruction Format.

Selective Stacker
This feature provides a second stacker fOor the mM
1442 Modell, so that cards can be selected under
program control for special applications. The mM 1442
Models 2 and 4, have two stackers each as standard
equipment.

Mnemonic
PSK

Op Code
M

A-address
%Gn

B-address
nnn

d-character
C

Function. This instruction initiates the skip operation.
A-address of %Gn specifies Oone of the two card
read-punches. The first 1442 attached to the system
H-61

is designated by a 1 in the n position. The second
1442 attached to the system is designated by a 2
in the n position.
The B-address is a 3-position number that specifies the number of card columns to be spaced
through the punch station. For example, if a punchcolumn-skip operation of 40 columns is specified,
the 3-position B-address would be 040.
The Cd-character specifies a punch-column-skip
operation.

Word Marks. Word marks are not affected.
Timing. T

=

.0111 (81 - L B )

+

.1110 ms

Time available to the processor is:
T = 3.13 + (6.25 X number of columns skipped) ms
for mM 1442, Model 2.
T = 6.25 + (12.5 X number of columns skipped) ms
for mM 1442, Modell.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

BBB

081

Chaining. This instruction cannot be successfully
chained.
The stored program is released for further processing as soon as the instruction is executed in the
processing unit, so that the processing of subsequent
instructions and the skip operation are taking place
at the same time.

Example. Skip 24 columns on card read-punch 2
(Figure H -89) .
Autocoder
label

~Q

'I

Assembled Instruction: M %G2 024 C

Figure H-89.

H-62

Punch Column Skip

Address Registers After Operation.

IBM 1447 Special Features
Branch If Buffer Busy

Instruction Format.
Mnemonic
BIN

Op Code

1!.

I-address
III

d-character

o

Function. This branch indicator is turned on when the
inquiry-request (Q) indicator is on, or when the 1447
buffer is occupied.
Note: Refer to IBM 1447 Console, Fonn A24-3031, for special
feature considerations and additional infonnation.

Word Nlarks. Word marks are not affected.

No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
ebb

NSI

BI

blank

NSI

BI

NSI

Example. Test the buffer-busy indicator and branch to
a subroutine labeled Buzy47 (0554) if the test: is
successful; Figure H-90.

Autocoder
OPERAND

Timing.
No branch, or branch without indexing:
T = .0666 ms
Branch with indexing: T = .0777 ms.

Assembled Instruction: B 554

Figure H-90.

e

Branch if Buffer-Busy Indicator On

H-83

Appendix

COll
SEQ

DEFINED
CHARACTER

o
1
2 0
3
[
4
5 ;$=
6
&
7
$
*
8
9 ]
10 ;
11
12
13 /
14
15 %
16 Y
17 \
18 if19 ;j)
20 #
21 @
22
:
23
24
25
?
26 A
27 B
28 C
29 0
30 E
31 F
32 G
33 H
34 I
35 !
36 J
37 K
38 l
39 M
40 N
41 0
42P
43 Q
44 R

<

a

>

V

45
46
47
48

=F

49

V
W

50
51
52
53
54
55
56
57
58
59
60
61
62
63

Blank
Period
lozenge
left Bracket
less Than
Grou~ Mark
Ampersand
Dollar Sign
Asterisk
Right bracket
Semicolon
Delta
Hyphen
Diagonal
Comma
Percent Mark
Word Separator
Left Oblique
Segment Mark
Substitute Blank
Number Sign
At Sign
Colon
Greater Than
Radical
(Plus Zero)

CARD
CODE

C
12-3-8

U

11-6-8 C B
11-7-8
B

0-5-8 C

8
9

Figure 1-1.

X

X X X
X X X
X X X
%

X

X

=

8 4 2
8 4 2 1
B A

8

8

8

11-4
11-5
11-6
11-7

C B
B
C

B

11-8

C

B

B

X
X
X
X

X
X
X
X

X

X

X

X
X

X
X

X

X

X
X
X

X
X

X
X

X
X

X

X

1

2
2
2 1
4

4

1

X
X
X
X

4 2
4 2 1
8

8
2
A 8
2
A
2 1
A
4
A
A

4
1
4 2

A

4 2 1

A

X

8

X
X

X
X
X
X
X

X
X
X

X

X
X

X
X

X
X

X X X X
X X X X
2

X

X X

X

X

X

X
X
X
X
X
X
X
X
X

X
X
X

X
X
X

2

X

C

2 1

X

C
C

4
4
1
4 2
421

X
X
X
X
X
X

8
8

X
X

X X X X
X X X X
X X X X

A 8
A 8
1

C

X
X
X
X

X

4 2
4 2 1

B

C

X
X
X
X

X
X
X

B
C B
C B
B

C
C

X

1

C B A

C

X

X

12-9
11-0

0-4
0-5

X

2 1

8

C

X

2

B A

0-2
0-3

X

B A

12-8

X
X
X

X
X
X
X
X
X
X
X
X
X
X

B A

4
4

X
X

X
X
X
X
X
X
X
X
X
X
X

X
X

B A

X
X

X

1

B A

0-2-8

X X

2

B A

C

(

X

6-8
7-8 C

C B A
B A

3
4
5
6
7
8
9

X

#

12-6
12-7

3

X

X
X

@

C

X

X
X X X
X X X

2 1

8

C

2

x

+

842
842 1

12-3
12-4
12-5

2

X

8 4
841

12-0
12-1

o

&

4-8 C
5-8

0-9

7

X
X

A

2-8
3-8

Z

5
6

x x x

A 8 4
1
A 8 4 2
A 8 4 2 1

0-6-8 C
0-7-8

X
Y

4

X

1

11
B
0-1
C
A
1
0-3-8 C
A 8
2 1
0-4-8
A 8 4

0-6
0-7
0-8
(Zero)

X X X X

X

o ) X

C B A
12
11-3-8 C B
8
2 1
11-4-8
8 4
B
11-5-8 C B
841

11-9

T

x

B A 8 4 2
12-6-8
12-7 -8 C B A 8 4 2 1

11-2
11-3

Record Mark

2 1

8

12-4-8 C B A 8 4
12-5-8
B A 8 4

11-1

S

0
1

B A

12-2

(- zero)

CHARACTER SET
52 52
13 39 A
H 63

BCD
CODE

1

X
X
X
X
X
X
X
X
X

X X
X X
X X
X

X

X X
X X

1440 Character Code Chart in Collating Sequence

1-1

Declarative and Assembler-Control Statements
DECLARATIVE OPERATIONS
Mnemonic Op Code
Description
Define Area
DA
Define Constant (No Word Mark)
DC
Define Constant With Word Mark
DCW
Define Symbol
OS
DSA
Define Symbol Address
EQU
Equate
ASSEMBLER CONTROL OPERATIONS
Mnemonic
Description
Mnemonic
Description
Origin
Control
ORG
cn
XFR
Transfer
END
End
ENT
Enter New
SFX
Suffix
Coding Mode
Job
JOB
Execute
INSER
Insert
EX
Delete
LTORG
Literal Origin
DE LET
Resume Listing
LIST
SPCE
Space n Lines
ULST
Stop Listing

Figure 1-2.

Declarative and Assembler Control Operation

SELECT STACKER (1442,1444)
Unit

(Device)

d

Feed

Stacker Pocket

1

( 1442)

2

Read/Punch

2

2

( 1442)

0

Read/Punch

2

3

( 1444)

#

Punch

2

Note: See Programm ing Note, 1440 Autocoder Assemb Iy sect ion.

Figure 1-4.

Select-Stacker d-Characters

Imperative Statements
Figure 1-5 is an imperative-statement reference chart
that lists all valid mnemonic imperative operation
codes. The information given for each mnemonic is:

1. The mnemonic description.
Figure 1-2 lists all the declarative and assembler-control mnemonic operation codes that are valid for the
disk Autocoder language.
Figure 1-3 shows all valid control-carriage instruction d-modifier characters.
Figure 1-4 iUustrates all valid (1440 Autocoder)
select-stacker instruction d-modifier characters.
Note: Several miscellaneous input/output devices that can
be attached to the 1440 system require special SS mnemonic
d-characters. These are coded in the operand portion of the
instruction statement. Refer to Programming Note, 1440 Autocoder Assembly section.
d

Immediate skip to

1
2

d

Skip after print to

A
B
C

@

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

0

Channel 1
Channel 2
Channel 3
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
Channel 9
Channel 10
Channel 11
Channel 12

d

Immediate space

d

After print-space

3
4

5
6
7
8
9
0

#

J
K
L

Figure 1-3.

1 space
2 spaces
3 spaces

D

E
F
G
H

I
?

•

/
S

T

Control Carriage d-Characters

1 space
2 spaces
3 spaces

2. The machine-language operation code.
3. The operand sequence. This entry represents the
valid set of operands to be used with the mnemonic.
Deviations from the specified operand sequences
are detected, and the appropriate error message is
printed.
The following symbols are used to describe the
operand sequence:
Symbol
RD

Meaning
Declared field. An actual, symbolic, or asterisk
address, or an area-defining literal. Address-adjustment and indexing are permitted.

D

Constant or declared field. An actual, symbolic, or
asterisk address, or a literal. Address-adjustment
and indexing are permitted.

XC

X-control field. Address of a unit, such as %U1,
used to address a unit of system feature. Addressadjustment and/or indexing are not permitted, but
XC may be a symbolic address if it has been
equated to the desired I/O device.

n

Single numeric character.

S

Symbolic address. Address-adjustment and/or indexing are not permitted.

d

d-modifier character. Used to modify the operation code.
Operand separator.

/

Optional operand separator. For example, n/XC/S
means that either a single numeric character, an
X-control field, or a symbolic address may be used
for the operand.

1

Single alphabetic character.

Op
Code

Description

Mnemonic

Operand
Sequence

Chain

X-Control
Field

dCharacter

ARITHMETIC OPERATIONS

@

D,RD
D,RD
D,RD

F
No
No

S
?
I

D,RD
D,RD
D,RD

F
F
F

A
D
M

Add
Divide*
Multiply*

A
%

S
ZA
ZS

Subtract
Zero and Add
Zero and Subtract

DATA CONTROL OPERATIONS
MIZ
~CE

MCS
MRCWG
MLCWA
MRCM
MLC
MLNS
MlZS

Move and Insert Zeros*
Move Characters and Edit
Move Characters and Suppress Zeros

X
E
Z

D,RD
D,RD
D,RD

No
No
No

Move Characters and Word Marks to Group
Mark-Word Mark in A-Field*
Move Characters and Word Marks to Word
Mark in A-Field
Move Characters to Record Mark or Group
Mark-Word Mark

P

D,RD

F

l

D,RD

HF

P

D,RD

F

Move Characters to Word
Mark in A- or B-Field
Move Single Numeric
Move Single Zone

M

D,RD

HF

D
Y

D,RD
D,RD

F
F

>

LOGIC OPERATIONS
BWZ
BWZ
BWZ

Branch if O-Zone (A-bit, no B-bit)
Branch if 11-Zone (B-bit, no A-bit)
Branch if 12-Zone (AB-bits)

V
V
V

RD,D,d
RD,D,d
RD,D,d

F
F
F

S**
K**
B**

BIN
BIN
BIN

Branch if Access Busy
Branch if Access Inoperable
Branch if Any Disk Error

B
B
B

RD,d
RD,d
RD,d

No
No
No

\**
N**
y**

BAV
BBE
BC9

Branch if Arithmetic Overflow
Branch if Bit Equal*
Branch if Carriage Channel 9

B
W
B

RD
RD,D,d
RD

No
F
No

Z
**

BCV
BCE
BIN

Branch if Carriage Overflow (12)
Branch if Character Equal
Branch if Disk Error

B
B
B

RD
RD,D,d
RD,d

No
F
No

@
**
V**

BEF
BE
BH

Branch if End of File or End of Reel
Branch if Equal Compare (B
A)
Branch if High Compare (B>A)

B
B
B

RD
RD
RD

No
No
No

K
S
U

BIN
BIN
BLC2

Branch if Inquiry Clear*
Branch if Inquiry Request*
Branch if Last Card (Reader Unit 2)

B
B
B

RD,d
RD,d
RD

No
No
No

* **
Q**

&

BLC
Bl
BM

Branch if Last Card (Sense Switch A)
Branch if low Compare (B

MAGNETIC TAPE OPERATIONS

U

n/xc/s

U

M

XC/S,d
n/XC/S,RD

No
No
No

%Un
%In
%Un

R

M
L
U

n/XC/S,RD
n/XC/S,RD
n/XC/S

No
No
No

%Bn
%Un
%Un

R
~
R

U

No
No
No

%Un
%Un
%Un

E

M

n/XC/S
n/XC/S
n/XC/S,RD

M
U
L

n/XC/S,RD
n/XC/S
n/XC/S,RD

No
No
No

%Bn
%Un
%Un

W

No
No
No

%In
%In
%In

**
**
**

BSP
CU
RT

Backspace Tape
Control Unit
Read Tape

RTB
RTW
RWD

Read Tape Binary
Read Tape with Word Marks
Rewind Tape

RWU
SKP
WT

Rewind and Unload Tape
Skip and Blank Tape
Write Tape

U

WTB
WTM
WTW

Write Tape Binary
Write Tape Mark
Write Tape with Word Marks

B
**

U
W

W
M

1/0 DEVICE OPERATIONS
CU

LU
MU

P
PCB
PS
PSK

R
RCB

U
L

M

XC/S,RD,d
XC/S,RD,d

Punch a Card and Feed
Punch Column Binary and Feed*
Punch a Card and Stop

M
M
M

n/XC/S,RD
n/XC/S,RD
n/XC/S,RD

No
No
No

%G'l
%Gn
%Gn

G

Punch Skip*
Read a Card
Read Column Binary*

M
M
M

n/XC/S,RD
n/XC/S,RD
n/XC/S,RD

No
No
No

%Gn
%Gn
%Gn

C

* Special Feature
** d-Character must be placed in operand when coding in Autocoder.

Figure 1-5.

1-4

XC/S,d

Control Unit
Load Unit
Move Unit

Imepartive Operations (Part 2 of 3)

G

P

R
R

Mnemonic

Op
Code

Description

Operand
Sequence

Chain

X-Control
Field

dCharacter

1/0 DEVICE OPERATIONS (CONT.)
RCP
RCPW
W

Read Console Printer
Read Console Printer with Word Marks
Write a Line

M
L
M

RD
RD
RD

No
No
No

%TO
%TO
%Yl

R
R
W

WCP
WCPW
WS

Write Console Printer
Write Console Printer with Word Marks
Write and Suppress Space

M
L
M

RD
RD
RD

No
No
No

%TIO
%TO
%Yl

W
W
S

R
R

DISK OPERATIONS
CU
RD
RDW

Control Unit
Read Disk Sector(s)
Read Disk Sector(s) with Word Marks

U

XCIS,d

M
L

RD
RD

No
No
No

%In
%Fl
%Fl

RDTR
RDTRW
RDTA

Read Disk Track Record*
Read Disk Track Record with Word Marks*
Read Disk Track Record with Address*

M
L
M

RD
RD
RD

No
No
No

%F2
%F2
%F@

R
R

RDTAW

Read Disk Track Record with Address
and Word Marks*
Read Disk Track Sectors with Addresses
Read Disk Track Sectors with Addresses and
Word Marks

L

RD

No

%F@

R

M
L

RD
RD

No
No

%F6
%F6

R

M
L

RD
RD

No
No

%F5
%F5

R
R

SD

Read Disk with Sector Count Overlay
Read Disk with Sector Count Overlay
with Word Marks
Seek Disk

M

RD

No

%FO

R

SDE
SDEW
SDH

Scan Disk Equal*
Scan Disk Equal with Word Marks*
Scan Disk High, Equal*

M
L
M

RD
RD
RD

No
No
No

%FS
%FS
%F9

W
W

SDHW
SDL
SDLW

Scan. Disk High, Equal with Word Marks*
Scan Disk Low, Equal*
Scan Disk Low, Equal with Word Marks*

L
M
L

RD
RD
RD

No
No
No

%F9
%F7
%F7

W
W
W

WDC
WDCW
WD

Write Disk Check
Write Disk Check with Word Marks
Write Disk Sector(s)

M
L
M

RD
RD
RD

No
No
No

%F3
%F3
%Fl

W

WDW
WDTR
WDTRW

Write Disk Sector(s) with Word Marks
Write Disk Track Record*
Write Disk Track Record with Word Marks*

L
M
L

RD
RD
RD

No
No
No

%Fl
%F2
%F2

W
W

WDTA
WDTAW

Write Disk Track Record with Address*
Write Disk Track Record with Address
and Word Marks*
Write Disk Track Sectors

M
L

RD
RD

No
No

%F@
%F@

W
W

L

RD

No

%F6

W

Write Disk Track Sectors with Addresses
Write Disk with Sector Count Overlay
Write Disk with Sector Count Overlay
with Word Marks

M
M

RD
RD
RD

No
No
No

%F6
%F5
%F5

W
W
W

RDT
RDTW
RDCO
RDCOW

WDTW
WDT
WDCO
WDCOW

L

**

R

R

W

W

W
W

* Special Feature
** d-Character must be placed in operand when coding in Autocoder.

Figure 1-5.

Imperative Operations (Part 3 of 3)

4. The code that indicates whether chaining (deletion
of one or more operands) is permitted (see Chaining section).
Code
F

Meaning

of the B-field address causes the A-field to modify itself. Thus,
a SUBTRACT instruction with only an A-field address will cause
the field specified to be subtracted from itself. This is in no
sense chaining. The move and load operations having only an
A-field address are considered chaining. Refer to the particular
instruction for additional information.

Full chaining only - both operands must be deleted for a logical chaining operation.

5. The X-control field, if required.

HF

Half or full chaining - either the last or both operands deleted for a logical chaining operation.

NO

No chaining - no operands deleted.

6. The d-character, if required. Figures 1-3 and 1-4
list the Control Carriage (CC) and Select Stacker
( SS) mnemonics.

Note: Except for the move, load, store, branch, and I/O
operations, the presence of an A-field address and the absence

Note: See Programming Note, 1440 Autocoder Assembly section.

1-5

II
Index of Branch Instructions and d-Modifiers

This alphabetic listing of 1440 branch instructions contains the following information:

• The branch op-code.

• The feature or device to which the instruction applies.

• The page number in this manual where the instruction is defined.

• The instruction name.

N ate: Although the various branches associated with the
select-stacker mnemonic (SSB) are considered unconditional,
they are also listed here.

• The branch d-modifier character.

• The autocoder mnemonic.

Direct Data Channel Feature
I nstruction

Mnemonic

Op Code

Branch if End of Transmission .... . . . . . . . . . . . . . . . . . . . ..
Branch .if Indicator On ...............................
Branch if Process Check ............ . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

B
B
B

d-Char.
2
d
1

Branch if Read Data ....... . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Read Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if System A Stopped . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

B
B
B

7
3
8

H-4
H-4
H-4

Branch if Write Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Write Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Read Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
SSB

B
B
K

Reset and Branch .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Write Request and Branch ........................... ,

SSB
SSB

K
K

6
4
C
E
D

H-4
H-4
H-2
H-3
H-3

Op Code
B
B
B
B
B
B

d-Char.

<
>

Page
H-4
H-4
H-4

Expanded Serial Input/Output Adapter Feature
Instruction

Mnemonic

Branch if Operational Out. . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Primary Control Indicator On .......... . . . . . ..
Branch if Primary Read Indicator On . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

Branch if Primary Sense Indicator On . . . . . . . . . . . . . . . . . ..
Branch if Primary Write Indicator On . . . . . . . . . . . . . . . . . ..
Branch if Transmission Error Indicator On .. . . . . . . . . . . . ..

BIN
BIN
BIN

Disable Interrupt and Branch . . . . . . . . . . . . . . . . . . . . . . . . ..
Enable Interrupt and Branch ................... . . . . . ..
Send Attention Signal and Branch ............... . . . . . ..
Send End Signal and Branch ..........................
Send Unusual End Signal and Branch .................. ,

SSB
SSB
SSB
SSB
SSB

K
K
K

Instruction

Mnemonic

Op Code

Branch if Attention ..................................
Branch if Buffer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Rec. EOM or Init. Inq. . . . . . . . . . . . . . . . . . . . . . ..
Branch if Receive EOF ........................ . . . . . ..
Branch if Receive Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Reply Bad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Reply Good........... .............. .......
Branch if 1009 Ready ................................

BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN'
BIN

B
B
B

K
K

8

7
3
6

4
1

A
E
F

Page
H-22
H-22
H-20
H-21
H-21
H-20
H-19
H-19
H-17
H-17
H-18

IBM 1009 Data Transmission Unit

B
B
B
B
B
B

d-Char.
6
2
d
7
8
5
4
3
1

Page
H-55
H-55
G-5, H-54
H-55
H-55
H-55
H-55
H-55
H-55

/-1

Instruction

Mnemonics

Op Code

d-Char.

Page

Operate in Load Mode and Branch ... . . . . . . . . . . . . . . . . ..
Send EOF and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Set Direction to Rec. and Branch .. . . . . . . . . . . . . . . . . . . . ..

SSB
SSB
SSB

K
K
K

L
F
D

H-56
H-56
H-56

Set Direction to Trans. and Branch .............. . . . . . ..
Suppress 3-Second Alarm and Branch ................. "

SSB
SSB

K
K

E
A

H-56
G-6,H-55

Instruction

Mnemonic

Op Code

d-Char.

Branch if Input/Output Indicator On ...................
Branch u Paper Tape Reader Ready ..... . . . . . . . . . . . . . ..

BIN
BIN

B
B

1

E-lO

2

E-U

IBM 1011 Paper Tape Punch

Page

IBM 1012 Tape Punch
Instruction

Mnemonic

Op Code

Backspace Tape and Branch ...........................
Branch if In Backspace Oper. .. . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Tape Punch Not Ready to Accept Data . . . . . . . ..

SSB
BIN
BIN

K
B
B

Branch if Tape Punch Not Ready to Read .. . . . . . . . . . . . ..
Branch u Tape Punch Overextended. . . . . . . . . . . . . . . . . . ..

BIN
BIN

B
B

4

5

E-15
E-15

Branch if Tape Punch Ready ..........................
Branch if Supply Reel Low or Chad Box Full .. . . . . . . . . ..

BIN
BIN

B
B

2
6

E-14
E-16

d-Char.
A
1

3

Page
E-13
E-14
E-14

IBM 1026 Transmission Control Unit
Instruction

Mnemonic

Op Code

d-Char.

Page

Branch u Buffer-Busy Indicator On .....................
Branch if Inquiry-Clear Indicator On ...................
Branch if Request-Service Indicator On .................

BIN
BIN
BIN

B
B
B

D

G-47
G-48
G-47

Branch if Time-Emitter Indicator On . . . . . . . . . . . . . . . . . . ..
Disable Interrupt and Branch .... . . . . . . . . . . . . . . . . . . . . ..
Enable Interrupt and Branch ..........................

BIN
SSB
SSB

B
K
K

<
>

G-48
G-46
G-45

#

Q
]

IBM 1231 Optical Mark Page Reader
Instruction

Mnemonic

Op Code

d-Char.

Page

Branch if Auto-Select . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ,
Branch if Buffer Full ... . . . . . . . . . . . . . . . . . . . . . . . . ..... ,
Branch if Hopper Empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

B
B
B

1

G-29
G-29
G-30

Branch if Read Error or Overrun Detection . . . . . . . . . . . . ..
Branch if Timing Mark Check .........................

BIN
BIN

B
B

Branch if 1231 Ready to Read . . . . . . . . . . . . . . . . . . . . . . . ..
Select Stacker and Branch ... . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
SSB

B
K

A

G-29
G-31

2
4

5
6

3

G-30
G-30

IBM 1285 Optical Reader
Instruction

Mnemonic

Op Code

d-Char.

Page

Branch if End of File . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... .
Branch if End of Line . . . . . . ......................... .
Branch if Error . . . . . . . . . . . . . . . . . . ................... .

BIN
BIN
BIN

B
B

8
2

B

1

G-40
G-40
G-40

Branch if Header Information . . . . . . . . . . . . . . . . . . . . ..... .
Branch if Indicator On ......... ..................... .
Branch if Marked Line .............................. .

BIN
BIN
BIN

B

5
d

Branch if Reader Ready ...... "' ...................... .
Branch if Reader Ready to Read a Line ................ .
Branch if Reader Transporting .. . . . . . . . . . . . . . . . . . ..... .

BIN
BIN
BIN

B
B
B

7

6"
3

G-40
G-40
G-40

Go to Next Line and Branch .......................... .
Mark a Line and Branch ............................. .

SSB
SSB

K
K

G
M

G-39
G-39

/-2

B
B

4

G-40
G-39
G-40

IBM 1301 Disk Storage

Page

Instruction

Mnemonic

Op Code

Branch if Access Busy ................................
Branch if Access Inoperable ...........................
Branch if Any Disk Condition . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

B
B
B

Branch if Disk Error .................................
Branch if Indicator On ...............................

BIN
BIN

B
B

V

Branch if Unequal Address Compare. . . . . . . . . . . . . . . . . . ..
Branch if VVrong Length Record . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN

B
B

X

VV

F-ll
F-ll

d-Char.

Page

d-Char.

\
N
Y

d

F-ll
F-ll
F-ll
F-ll
F-ll

IBM 1311 Disk Storage Drive
Instruction

Mnemonic

Op Code

Branch if Access Busy " ............................. ,
Branch if Access Inoperable ...........................
Branch if Any Disk Condition .........................

BIN
BIN
BIN

B
B
B

Branch if Disk Error .................................
Branch if Indicator On ............................... ,

BIN
BIN

B
B

V

Branch if Unequal Address Compare. . . . . . . . . . . . . . . . . . ..
Branch if VVrong Length Record. . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN

B
B

X

d-Char.

\
N
Y

d
VV

F-29
F-29
F-29
F-29
F-29
F-29
F-29

IBM 1403 Printer
Instruction

Mnemonic

Op Code

Branch if Channel 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Channel 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BCV
BC9
BPB

B
B
B

9
P

Branch if Printer Carriage Busy " . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Error ............................... ,

BPCB
BIN

B
B

R
:I:

@

Page
D-6
D-4
D-4
D-4
D-4

IBM 1412 Magnetic Ink Character Recognition Reader
Instruction

Mnemonic

Op Code

d-Char.

Page

Branch if Account-Number-Field Indicator On . . . . . . . . . . ..
Branch if Amount-Field Indicator On . . . . . . . . . . . . . . . . . ..
Branch if Document-Spacing-Check Indicator On .........

BIN
BIN
BIN

B
B
B

6
4

Branch if Process-Control-Field Indicator On .............
Branch if Read-Check Indicator On . . . . . . . . . . . . . . . . . . . ..
Branch if Late-Read Indicator On .. . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN

B
B
B

5

Branch if Read-Not-Ready Indicator On . . . . . . . . . . . . . . . ..
Branch if Transit-Routing-Field Indicator On . . . . . . . . . . . ..
Select Stacker and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
SSB

B
B
K

7
d

G-12
G-ll
G-13
G-ll
G-lO
G-lO
G-lO
G-12
G-9

Instruction

Mnemonic

Op Code

d-Char.

Page

Branch if Arithmetic Overflow ..... . . . . . . . . . . . . . ...... .
Branch if Bit Equal (Special Feature) ................. .
Branch if Character Equal . . . . . . . . . . . . . . . . . . . . . ....... .

BAV
BBE
BCE

B
VV
B

Z

B-7

d
d

H-1

Branch if Equal Compare (B = A) .................... .
Branch if High Compare (B > A) ..................... .
Branch if Indicator On ................... , .......... .

BE
BH
BIN

B
B
B

S

n..7

U

B-7
B-7

Branch if Low Compare (B < A) ..................... .
Branch if Minus .................................... .
Branch if No Zone .................................. .

BL
BM
BVVZ

B
V
V

8

3
1
2

IBM 1441 Central Processing Unit

d
T
K
2

B-8

B-7

B-9
. B-9

J-3

,Op Code

Instruction

Mnemonics

Branch IT Process Check ............................. .
Branch IT Sense Switch A
Branch IT Sense Switch B

BIN
BSS
BSS

Branch IT Sense Switch C
Branch IT Sense Switch D
Branch if Sense Switch E

BSS
BSS
BSS

B
B

Branch IT Sense Switch F ............................ .
Branch IT Sense Switch G ............................ .
Branch Unconditionally .............................. .

B

d-Char.

Page

%
A
B

B-7
B-7
B-7

B

C
D
E

B-7
B-7
B-7

BSS
BSS
B

B
B
B

F
G
none

B-7
B-7
B-7

Branch if Unequal Compare .......................... .
Branch IT Word Mark ............................... .
Branch IT Word Mark or No Zone ..................... .

BU
BW
BWZ

B
V
V

/
1

3

B-7
B-9
B-9

Branch if Word Mark or Zone ......................... .
Branch IT Word Mark or O-Zone ....................... .
Branch IT Word Mark or ll-Zone ...................... .

BWZ
BWZ
BWZ

V
V
V

d
T
L

B-9
B-9
B-9

Branch if Word Mark or I2-Zone ...................... .
Branch if O-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . .......... .
Branch IT II-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .

BWZ
BWZ
BWZ

V

V
V

C
S
K

B-9
B-9
B-9

Branch IT I2-Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .

BWZ

V

B

B-9

B
B

IBM 1442 Card Read-Punch
Instruction

Mnemonic

Op Code

d-Char.

Page

Branch if Last Card, First Read-Punch. . . . . . . . . . . . . . . . ..
Branch if Last Card, Second Read-Punch. . . . . . . . . . . . . . ..

BLC
BLC2

B
B

A
&

D-I3
D-I3

Branch IT Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Reader Error .. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN

B

?

D-I3
D-I2

Op Code
B
B

d-Char.
9

B

IBM 1443 Printer
Page

Instruction

Mnemonic

Branch IT Channel 9 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch IT Channel 12 ............................... "

BC9
BCV

Branch IT Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BPB
BIN

B

P

B

:j:

D-23
D-23

Instruction

Mnemonic

d-Char.

Page

Branch if Punch Error

BIN

Op Code
B

Op Code
B

d-Char.
9

B

@

@

D-23
D-24

IBM 1444 Card Punch

D-28

IBM 1445 Printer
Instruction
Branch if Channel 9 ................................. ,

Mnemonic

Page
D-32
D-32

Branch IT Channel 12 ................................ '

Be9
BCV

Branch if Printer Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BPB
BIN

B

P

B

:j:

D-32
D-31

Instruction

Mnemonic

Page

BIN
BIN
BIN

Op Code
B
B

d-Char.

Branch IT Buffer Busy ................................
Branch IT Inquiry Clear . . . . . . . . . . . . . . . . . . . . . . .. . . . . . ..
BraI,lch IT Inquiry Request . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

o

B

Q

H-63
C-3
C-3

IBM 1447 Console

1-4

~

IBM 1448 Transmission Control Unit
Instruction

Mnemonic

Op Code

d-Cltar.

Page

Branch if Early Warning ........ , . . . . . . . . . . . . . . . . . . . ..
Branch if End of Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Disable Interrupt and Branch ....... . . . . . . . . . . . . . . . . . ..
Enable Interrupt and Branch ..........................

BIN
BIN
SSB
SSB

B
B

G-24
G-23

K

<
>
<
>

Instruction

Mnemonic

Op Code

d-Char.

Branch if End of Reel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Tape Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BEF
BER

B
B

K

E-5

L

E-6

Instruction

Mnemonic

Op Code

Attention Response and Branch .. . . . . . . . . . . . . . . . . . . . . ..
Branch if Attention-Signal Indicator On .................
Branch if Data Transmission Ended ....................

SSB
BIN
BIN

K

d-Ch«.
B

B
B

4
1

Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Receive-Request Indicator On .. . . . . . . . . . . . . . ..
Branch if Successful-Completion Indicator On .. . . . . . . . . ..
Control Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . ..
End Response and Branch .... , . . . . . . . . . . . . . . . . . . . . . . ..
Read Request and Branch . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

BIN
BIN
BIN
SSB
SSB
SSB

B
B
B

K

Sense Request and Branch ............................ ,
Signal Control and Branch ............................
Write Request and Branch. . . . . . . . . . . . . . . . . . . . . . . . . . ..

SSB
SSB
SSB

K
K
K

d
3
2
F
E
C
G

K

G-23
G-23

IBM 7335 Magnetic Tape Unit

Page

IBM 7740 Communication Control System

K
K

D
D

Page
G-27
G-27
G-27
G-27
G-27
G-27
G-27
G-27
G-27
G-27
G-27
G-27

]-5

•
Index of Instructions

Instruction

Add (One Field) .................................. ..
Add (Two Fields) ..................... ............. .
Attention Response . . . . . . . . . . . . . . . . . . . . . ............. .
Attention Response and Branch .................... ... .
Backspace Tape .................................... .
Backspace Tape and Branch .......................... .
Backspace Tape Record ................. . . . . . . . . ..... .
Bid Operation ............................ : ......... .
Branch if Access Busy ............................... .
Branch if Access Busy ............................... .
Branch if Access Inoperable .......................... .
Branch if Access Inoperable .......................... .
Branch if Account-Number-Field Indicator On .......... .
Branch if Amount-Field Indicator On .................. .
Branch if Any Disk Condition ........................ .
Branch if Any Disk Condition ........................ .
Branch if Arithmetic Overflow ........................ .
Branch if Attention 1009 ............................. .
Branch if Attention-Signal Indicator On ................. .
Branch if Auto Select ............................... .
Branch if Bit Equal ................................. .
Branch if Buffer Busy ............................... .
Branch if Buffer Busy. ............................... .
Branch if Buffer Full ... . . . . . . . . . . . . . . . . . . . . . . . . . . ... .
Branch if Buffer Service ............................. .
Branch if Channel 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Channel 9 ................................. .
Branch if Channel 9 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Channel 12 ................................ .
Branch if Channel 12 ................................ .
Branch if Channel 12 ................................ .
Branch if Character Equal ........................... .
Branch if Data Transmission Ended ................... .
Branch if Disk Error ................................ .
Branch if Disk Error ................................ .
Branch if Document-Space-Check Indicator On .......... .
Branch if Early Warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if End of Block ........................... ... .
Branch if End of File ............................... .
Branch if End of Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .
Branch if End of Reel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if End of Transmission ......... . . . . . . . . . . . . . . . .
Branch if Equal Compare (B = A) .................... .
Branch if Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Header Information .. . . . . . . . . . . . . . . . . . . . . . . . .
Branch if High Compare (B > A) .................... .
Branch if Hopper Empty ............................ .
Branch if Late-Read Indicator On .................... .
Branch if in Backspace Operation ..................... .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Indicator On ............................... .
Branch if Indicator On . . . . . . . . . . . . . . . ... '.' . . . . . . . . . . . .
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Branch if Input/Output Indicator On .................. .
Branch if Inquiry Clear ............................. .
Branch if Inquiry Clear ............................. .
Branch if Inquiry Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Type

Mnemonic

Format

Page

7740
7740

A
A
SS
SSB

A AAA
A AAA BBB
KB
K III B

B-4
B-3
G-27
G-27

SS
SSB
BSP
None
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BAV
BIN
BIN
BIN
BBE
BIN
BIN
BIN
BIN
BC9
BC9
BC9
BCV
BCV
BCV
BCE
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BEF
BIN
BE
BIN
BIN
BH
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN

KA
K III A
U %Un B
U 5
B III \
B III \
B III N
B III N
B III 6
B III 4
B III Y
B III Y
B III Z
B III 6
B III 4
B III 1
\V III BBB d
B III D
B III D
B III 2
B III 2
B III 9
B III 9
B III 9
B III @
B III @
B III @
B III BBB d
B III 1
B III V
B III V
B III 8
B III <
B III >
B III 8
B III 2
B III K
B III 2
B III S
B III 1
B III 5
B III U
B III 4
B III 1
B III 1
B III d
B III d
B III d
B III d
B III d
B III d
B III d
B III d
B III 1
B III 0
B III 0
B III Q

E-13
E-13
E-3
G-44
F-ll
F-29
F-ll
F-29
G-12
G-ll
F-ll
F-29
B-7
H-55
G-27
G-29
H-1
G-47
H-63
G-29
H-55
D-4
D-23
D-32
D-6
D-24
D-32
B-8
G-27
F-ll
F-29
G-13
G-24
G-23
G-40
G-40
E-5
H-4
B-7
G-40
G-40
B-7
G-30
G-I0
E-14
B-7
H-4
G-5
H-54
G-40
F-ll
F-29
G-27
E-10
G-48
C-3
C-3

1012
1012
7335
1026
1301
1311
1301
1311
1412
1412
1301
1311
1009
7740
1231
BIT
1026
1447
1231
1009
1403
1443
1445
1403
1443
1445
7740
1301
1311
1412
1448
1448
1285
1285
7335
DDC
1285
1285
1231
1412
1012
DDC
1009
1009
1285
1301
1311
7740
1011
1026
1447
1447

K-l

Instruction

Type

Mnemonic

Format

Page

Branch if Last Card (First Reader Punch) ............ ..
Branch if Last Card (Second Reader Punch) ........... .
Branch if Late-Read Indicator On ..................... .
Branch if Low Compare (B < A) ..................... .
Branch if ~arked Line .............................. .
Branch if ~inus ........................ ............ .
Branch if No Zone .................................. .
Branch if Operational Out .. . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Paper-Tape Reader Ready ................... .
Branch if Primary-Control Indicator On ............... ..
Branch if Primary-Read Inndicator On ................. .
Branch if Primary-Sense Indicator On .................. .
Branch if Primary-Write Indicator On .................. .
Branch if Printer Busy ..... . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Busy .... . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Busy ............................... .
Branch if Printer-Carriage Busy .. . . . . . . . . . . . . . . . . . . . . ..
Branch if Printer Error ............................. ..
Branch if Printer Error ............................ . ..
Branch if Printer Error .............................. .
Branch if Process-Control-Field Indicator On ., .......... .
Branch if Process Check ............................ ..
Branch if Process Error .. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Punch Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Read-Check Indicator On ................... .
Branch if Read Data ............................... ..
Branch if Read Error or Overrun Detection ............. .
Branch' if Read-Not-Ready Indicator On ............... .
Branch if Read Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Branch if Reader Error .............................. .
Branch if Reader Ready ............................. .
Branch if Reader Ready to Read a Line ................ .
Branch if Reader Transporting ...................... . ..
Branch if Receive End of ~essage or Initial Inquiry ...... .
Branch if Receive (EOF) ............................. .
Branch if Receive Error .............................. .
Branch if Receive-Request Indicator On ................ .
Branch if Reply Bad ................................ .
Branch if Reply Good ............................... .
Branch if Request-Service Indicator On ................ .
Branch if Sense Switch A On ......................... .
Branch if Sense Switch B On ................ . ....... .
Branch if Sense Switch C On .. . . . . . . . . . . . .. . ........ .
Branch if Sense Switch D On . . . . . . . . . . . . .. .......... .
Branch if Sense Switch E On ......................... .
Branch if Sense Switch F On ......................... .
Branch if Sense Switch G On ......................... .
Branch if Successful-Completion Indicator On ........... .
Branch if System A Stopped ......................... .
Branch if Tape Error ................................ .
Branch if Tape-Punch Not Ready to Accept Data ........ .
Branch if Tape-Punch Not Ready to Read ............... .
Branch if Tape-Punch Overextended .................. .
Branch if Tape-Punch Ready ......................... .
Branch if Time-Emitter Indicator On ................... .
Branch if Timing-~ark Check ........................ .
Branch if Transit-Routing Indicator On ................. .
Branch if Transmission-Error Indicator On .............. .
Branch if Unequal-Address Compare ................... .
Branch if Unequal-Address Compare ................... .
Branch if Word ~ark ......................41. • • • • • • • . • •
Branch if Word ~ark or No Zone ...................... .
Branch if Word ~ark or Zero Zone .................... .
Branch if Word ~ark or Zone ........................ .
Branch if Word ~ark or 11 Zone ...................... .
Branch if Word ~ark or 12 Zone ...................... .
Branch if Write Data ................................ .
Branch if Write Request ............................. .
Branch if Wrong-Length Record ...................... .
Branch if Wrong-Length Record ...................... .

1442
1442
1412

BLC
BLC2
BIN
BL
BIN

B
B
B
B
B

B~

V
V

D-13
D-13
G-IO
B-7
G-40
B-9
B-9
H-22
E-11
H-22
H-20
H-21
H-21
0-4
D-23
0-32
0-4
0-4
0-23
0-31
G-11
H-4
B-7
0-13
0-28
G-1O
H-4
G-30
G-I0
H-4
0-12
G-40
G-40
G-40
H-55
H-55
H-55
G-27
H-55
H-55
G-47
H-40
H-40
H-40
H-40
H-40
H-40
H-40
G-27
H-4
E-6
E-14
E-15
E-15
E-14
G-48
G-30
G-12
H-20
F-11
F-29
B-9
B-9
B-9
B-9
B-9
B-9
H-4
H-4
F-11
F-29

K-2

1285
EXPS
1011
EXPS
EXPS
EXPS
EXPS
1403
1443
1445
1403
1403
1443
1445
1412
DDC
1442
1444
1412
DDC
1231
1412
DDC
1442
1285
1285
1285
1009
1009
1009
7740
1009
1009
1026
SS
SS
SS
SS
SS
SS
SS
7740
ODC
7335
1012
1012
1012
1012
1026
1231
1412
EXPS
1301
1311

DDC
DDC
1301
1311

BWZ
BIN
BIN
BIN
BIN
BIN
BIN
BPB
BPB
BPB
BPCB
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BSS.
BSS
BSS
BSS
BSS
BSS
BSS
BIN
BIN
BER
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BIN
BW
BWZ
BWZ
BWZ
BWZ
BWZ
BIN
BIN
BIN
BIN

B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
V
V
V
V
V
V

B
B
B
B

III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III

A
&

1
T
4
BBB 1
BBB 2
8

2
7
3
6
4
P
P
P
R
:j:
:j:
:j:

5
1
%

!
I
3
7
5
2

3
?
7
6
3
7
8

5
3
4

3
Q
A
B
C
D
E
F

B-7,
B-7,
B-7,
B-7,
B-7,
B-7,
B-7,

G

2
8
L
3
4

5
2

]
6
7
1

X
X
BBB
BBB
BBB
BBB
BBB
BBB
6
4
W
W

1
3

T
d
L
C

Instruction
Branch
Branch
Branch
Branch
Branch
Branch
Branch

Type

if Zero Zone ................................. .
if 1009 Ready ................................
if 11 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... .
if 12 Zone ................................... .
if 1231 Ready to Read. . . . . . . . . . . . . . . . . . . . . . . ..
if Supply-Reel Low or Chad-Box Full ............
Unconditional ............................... .

1009
1231
1012

Mnemonic

Format

Page

BWZ
BIN
BWZ
BWZ
BIN
BIN
B

V III BBB S
B III 1
V III BBB K
V III BBB B
B III 3
B III 6
B III

B-9
H-55
B-9
B-9
G-29
E-16
B-7

CS
CS
CW
CW
H
H

ce
cc
cc

/ AAA
/ III BBB
CI AAA
CI AAA BBB
• CCC CCC
• Cbb Cbb
C AAA BBB
F d
Fd
Fd
Fd

SS
SSB

K III F

B-16
B-16
B-16
B-15
B-18
B-18
B-9
D-6
D-24
D-33
H-58
G-27
G-27

Clear Storage ...................................... .
Clear Storage and Branch ............................ .
Clear Word Mark (One Address) ..................... .
Clear Word Mark (Two Addresses) .................... .
Coded Halt ........................................ .
Coded Halt ........................................ .
Compare .......................................... .
Control Carriage .....................................
Control Carriage .....................................
Control Carriage .....................................
Control Carriage Selective Tape Listing Feature. . . . . . . . . ..
Control Request .....................................
Control Request and Branch .,. . . . . . . . . . . . . . . . . . . . . . . ..

1403
1443
1445
1403
7740
7740

Diagnostic Read .....................................
Disable Interrupt ....................................
Disable Interrupt ....................................
Disable Interrupt ....................................
Disable Interrupt and Branch .... . . . . . . . . . . . . . . . . . . . . ..
Disable Interrupt and Branch ..... . . . . . . . . . . . . . . . . . . . ..
Disable Interrupt and Branch. . . . . . . . . . . . . . . . . . . . . . . . ..
Disengage MICR Reader. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Divide........ .............................. .......

7335
EXPS
1026
1448
EXPS
1026
1448
1412
MD

CU
SS
SS
SS
SSB
SSB
SSB
CU
D

Edit .............................................. .
Enable Interrupt .................................... ,
Enable Interrupt .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Enable Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Enable Interrupt and Branch ..........................
Enable Interrupt and Branch ..........................
Enable Interrupt and Branch ..........................
End Response .......................................
End Response and Branch. . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Engage MICR Reader. . . . . . . . . . . . . . . .. . . . . . .. . . . . . . ..

EXPS
1026
1448
EXPS
1026
1448
7740
7740
1412

MCE
SS
SS
SS
SSB
SSB
SSB
SS
SSB
CU

K III E
V %SI E

B-19
H-18
G-45
G-22
H-19
G-45
G-23
G-27
G-27
G-7

Go to Next Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Go to Next Line and Branch ... ,......................

1285
1285

SS
SSB

KG
K III G

G-39
G-39

H
H

•
• III

B-17
B-18

1009
1009
1026

CV

U %Dl E
U %Dl D
U5

H-53
H-53
G-44

1009
1009
1009
1009

LV
LV
LV
LV

L
L
L
L
L
L

%Dl BBB R
%Dl BBB W
%Dl BBB W
%Dl BBB R
AAA
AAA BBB
P AAA BBB >
L %SI BBB R
P AAA BBB >

H-54
G-4
H-54
G-4
B-14
B-13
H-51
G-8
H-51

KM

G-40
G-40
A-15
A-15
G-30
H-54

Halt .............................................. .
Halt and Branch ., .................................. .
Initialize a Message Transmission (XMIT) . . . . . . . . . . . . . . . .
Initialize a Reply from Receiver (Rev) ............ ..... .
Issue IBM 1026 Line Bid ............................. .
Character from the Receiving 1009 ...............
Character to the Transmitting 1009 . . . . . . .........
Character to the Transmitting 1009 . . . . . . . . . . .....
Characters from the Receiving 1009 ..............
Characters to A-Field Word Mark (One Field) .....
Characters to A-Field Word Mark (Two Fields) ....
Characters to Record Mark or GMWM ............
from MICR Reader ............................
Record .......................................

.
.
.
.
.
.
.
.
.

Mark a Line ................... '" .................
Mark a Line and Branch .............................
Modify Address (One Address) ............... ........
Modify Address (Two Addresses) .....................
Move ..............................................
Move Character from the Receiving 1009 ...............

.
.
.
.
.
.

Load
Load
Load
Load
Load
Load
Load
Load
Load

TRAN
1412
TRAN
1285
1285
1231
1009

C
CC

CU
None

MLCWA
MLCWA
MRCWG

LV
MRCWG
SS
SSB
MA
MA
MV
MU

KF
U %Un A

K<
K<
K<

K III
K III
K III

<
<
<

U %SI D
% AAA BBB
E AAA BBB

K>
K>
K>

K III
K III
K III

KE

>
>
>

K III M

#
#

AAA
AAA BBB
M %S3 BBB R
M %Dl BBB R

E-4
H-19
G-46
G-22
H-19
G-46
G-23
G-7
H-33

K-3

Instruction

Type

Mnemonic

Move Character to the Transmitting 1009
. . . . . . . . ..
Move Character to the Transmitting 1009
. . . . . . . . ..
Move Characters and Edit ............................ .
Move Characters and Suppress Zeros .................. .
Move Characters from the Receiving 1009 ...............
Move Characters to A- or B-Field Word Mark (One Field)
Move Characters to A- or B-Field Word Mark (Two Fields)
Move Characters to Record Mark or GMWM ............ .
Move from MICR Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Move Numeric ..................................... .
Move Record .................................... .
Move Zone ................................ , ....... .
Multiply ...........................................

1009
1009

MU
MU
MCE
MCS

Format

Page

M %01 BBB W

G-3
H-53
B-19
B-11
G-3
B-11
B-11
B-12
G-8
B-13
B-12
B-13
H-32

M %01 BBB W

1009

MU

1412

MLC
MLC
MRCM
MU
MLNS
MRCM
MLZS

MD

M

E AAA BBB
Z AAA BBB
M %Dl BBB R
M AAA
M AAA BBB
P AAA BBB
M %S1 BBB R
D AAA BBB
P AAA BBB
Y AAA BBB
@ AAA BBB

NOP

N

B-17
H-56
H-56

No Operation
Operate in Load Mode .............................. .
Operate in Load Mode and Branch .................... .

1009
1009

5S
55B

KL
K III L

Punch and Feed ....................................
Punch and Stop ....................................
Punch Card ......... " .... '" ..... '" ..............
Punch Card Image and Feed .........................
Punch Card Image and Stop ..........................
Punch-Column Skip .................................

1442
1442
1444
1442
1442
1442

P

M
M
M
M
M
M

.
.
.
.
.
.

Read ............................................. .
Read Binary Tape .................................. .
Read Card ...................... , .................. .
Read Card Image ................................... .
Read Data ......................................... .
Read Data with Word Marks ......................... .
Read Disk Sectors ................................ .. .
Read Disk Sectors ................................ .. .
Read Disk Sectors with Word Marks ................... .
Read Disk Sectors with Word Marks ................... .
Read Disk-Track Record ............................. .
Read Disk-Track Record ............................. .
Read Disk-Track Record with Address ................. .
Read Disk-Track Record with Address ................. .
Read Disk-Track Record with Address with VVord Marks ..
Read Disk-Track Record with Address with Word Marks ..
Read Disk-Track Record with Word Marks ............. .
Read Disk-Track Record with Word Marks ......... .
Read Disk-Track Sectors with Addresses ................ .
Read Disk-Track Sectors with Addresses ................ .
Read Disk-Track Sectors with Addresses and Word Marks ..
Read Disk-Track Sectors with Addresses and Word Marks ..
Read Disk with Sector-Count Overlay ................. .
Read Disk with Sector-Count Overlay ................. .
Read Disk with Sector-Count Overlay with Word Marks .. .
Read Disk with Sector-Count Overlay with Word Marks .. .
Read from IBM 1026 ................................ .
Read from IBM 1026 with Word Marks ................. .
Read from Paper Tape .............................. .
Read from Paper Tape with Word Marks ............... .
Read from Primary ................................. .
Read from Primary with Word Marks .................. .
Read from 1447 Console ............................. .
Read from 1447 Console with Word Marks .............. .
Read in Load Mode ................................ .
Read in Move Mode ................................. .
Read Request ...................................... .
Read Request ....................................... .
Read Request and Branch ............................ .
Read Request and Branch ............................ .
Read Tape ........................................ .
Read Tape with Word Marks ......................... .
Read with Word Marks .............................. .
R~set ............................................. .
Reset and Branch ................................... .
Rewind Tape ...................................... .
Rewind Tape and Unload ............................ .
K-4

7740
7335
1442
1442
DDC
DDC
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1301
1311
1026
1026
1011
1011
EXPS
EXPS
1447
1447
1285
1285
DOC
7740
DOC
7740
7335
7335
7740
DOC
DOC
7335
7335

PS
P
PCB
None
PSK
MU
RTB
R

RCB
MU
LU
RD
RO
ROW
ROW
RDTR
ROTR
ROTA
ROTA
ROTAW
RDTAW
RDTRW
ROTRW
ROT
ROT
RDTW
ROT\V
ROCO
ROCO
ROCOW
ROCOW
RCP
RCPW
MU
LU
MU
LU
RCP
RCPW
LU
MU
SS
SS
SSB
SSB
RT
RTW
LU
SS
SSB
RWD
RWU

%Gn
%Gn
%G3
%Gn
%Gn
%Gn

BBB G
BBB P
B01 G
BBB G
BBB P
nnn C

D-11
D-11
D-27
H-60
H-60
H-61

M %A1 BBB R
M %Bn BBB R
M %Gn BBB R
M %Gn BBB R
M %H1 BBB R
L %Hl BBB R
M %F1 BBB R
M %Fl BBB R
L %F1 BBB R
L %F1 BBB R
M %F2 BBB R
M %F2 BBB R
M %F@ BBB R
M %F@ BBB R
L %F@ BBB R
L %F@ BBB R
L %F2 BBB R
L %F2 BBB R
M %F6 BBB R
M %F6 BBB R
L %F6 BBB R
L %F6 BBB R
M %F5 BBB R
M %F5 BBB R
L %F5 BBB R
L %F5 BBB R
M %TO BBB R
L %TO BBB R
M %Pl BBB R
L %P1 BBB R
M %01 BBB R
M %01 BBB R
M %TO BBB R
L %TO BBB R
L%V1 BBB R
M %V1 BBB R
KC
KC
K III C
K III C
M %Un BBB R
L %Un BBB R
L %A1 BBB R
KE
K III E
U %Un R
U %Un U

G-28
E-6
0-10
H-59
H-5
H-5
F-4
F-21
F-5
F-23
H-40
H-44
H-41
H-44
H-41
H-44
H-40
H-44
F-9
F-27
F-9
F-27
F-5
F-23
F-5
F-23
G-45
G-45
E-9
E-10
H-23
H-24
C-1
C-l
G-39
G-38
H-2
G-27
H-2
G-27
E-l
E-2
G-28
H-3
H-3
E-5
E-5

Instruction

Type

Mnemonic

Format

Page

Scan .............................................. .
Scan Disk Equal .................................... .
Scan Disk Equal with Word Marks .................... .
Scan Disk High .................................... .
Scan Disk High with Word Marks ..................... .
Scan Disk Low ..................................... .
Scan Disk Low with Word Marks ..................... .
Seek Disk ......................................... .
Seek Disk ......................................... .
Seek Disk with Word Marks .......................... .
Select Digital Time Unit ............................. .
Select IBM 1026 on Line 1 ......................... .. .
Select IBM 1026 on Line 2 ........................... .
Select IBM 1026 on Line 3 ..... . . . . . . . . . . . . . . . . . . . . .. .
Select IBM 1026 on Line 4 . . . . . . . . . . . . . . . . . . . . . . . . . .. .
Select Request-Service Indicator ...................... .
Select Stacker
.................................. .
Select Stacker ................................. ..... .
Select Stacker ...................................... .
Select Stacker ...................................... .
Select Stacker and Branch ........................... .
Select Stacker and Branch ...................... ..... .
Select Stacker MICR Reader ......................... .
Select Stacker (Selective-Stacker Feature) .............. .
Send Attention Signal ............................... .
Send Attention Signal and Branch ..................... .
Send End of File (EOF) ............................. .
Send End of File (EOF) and Branch ................... .
Send End Signal .................................... .
Send End Signal and Branch ......................... .
Send Unusual-End Signal ............................ .
Send Unusual-End Signal and Branch .................. .
Sense Request ...................................... .
Sense Request and Branch ........................ ... .
Set Correction Mode ................................. .
Set Direction to Receive ............................. .
Set Direction to Receive and Branch . . . . . . . . . . . . . . . . . .. .
Set Direction to Transmit ....... . . . . . . . . . . . . . . . . . . . .. .
Set Direction to Transmit and Branch .................. .
Set Ready to Receive .. , ............................. .
Set Word Mark (One Address) ....................... .
Set Word Mark (Two Addresses) ..................... .
Signal Control ...................................... .
Signal Control and Branch ........................... .
Skip and Blank Tape ................................ .
Start Transmission .................................. .
Store A-Address Register ............................. .
Store B-Address Register (One Address) ............... .
Store B-Address Register (Two Addresses) ............. .
Subtract (One Field) ................................ .
Subtract (Two Fields) .............................. .
Suppress 3-Second Alarm ............................ .
Suppress 3-Second Alarm and Branch . . . . . . . . . . . . . . . . .. .

1448
SCAN
SCAN
SCAN
SCAN
SCAN
SCAN
1301
1311
1301
1026
1026
1026
1026
1026
1026
1231
1442
1442
1444
1231
1412
1412
1442
EXPS
EXPS
1009
1009
EXPS
EXPS
EXPS
EXPS
7740
7740
1285
1009
1009
1009
1009
1009

None
SDE
SDEW
SDH
SDHW
SDL
SDLW
SD
SD
LU
None
None
None
None
None
None
SS
SS
SS
SS
SSB
SSB
SS
SS
SS
SSB
SS
SSB
SS
SSB
SS
SSB
SS
SSB
SSB
SS
SSB
SS
SSB
CU
SW
SW
SS
SSB
SKP
CU
SAR
SBR
SBR
S

o

G-20
H-39
H-39
H-39
H-39
H-39
H-39
F-4
F-19
F-4

Tape-Punch Read-Back Check ........................ .
Translate ............... . ........................ .
Translate with Word Marks .......................... .
Write
Write
Write
Write
Write
Write
Write
Write
Write
Write
Write
Write
Write

.............................................
Binary Tape ..................................
Data ........................................
Data with Word Marks .........................
Disk Check ..................................
Disk Check ..................................
Disk Check with Word Marks ...................
Disk Check with Word Marks ...................
Disk Sectors ..................................
Disk Sectors ..................................
Disk Sectors with Word Marks ..................
Disk Sectors with Word Marks ..................
Disk-Track Record ............................

.
.
.
.
.
.
.
.
.
.
.
.
.

7740
7740
7335
1009
INDX
INDX
INDX

S

III
M %F8 BBB W
L %F8 BBB W
M %F9 BBB W
L %F9 BBB W
M %F7 BBB W
L %F7 BBB W
M %FO BBB R
M %FO BBB R
L %FO BBB R
UO
U6
U 7
U 8

U9

U#
KA
K2
K 0

K#
K III A
K III d

K d
K 2

KA
K III A

KF
K III F

KE
K III E

KF
K III F

KG
K III G

K III C
KD
K III D

KE
K III E
U %D1 D
, AAA
, AAA BBB
K d
K III d
U 5bUn E
U %D1 E
Q AAA
H AAA
H AAA BBB
S AAA
S AAA BBB

G-44
G-44

G-44
G-44
G-44
G-44

G-30
D-12
D-12
D-27
G-30
G-9
G-9

H-61
H-16
H-17
H-56
H-56
H-17
H-17
H-18
H-18
G-27
G-27
G-39

H-56
H-56
H-56
H-56
G-3
B-15
B-15
G-27
G-27

E-4
G-3

H-29
H-30
H-31
B-4
B-4
G-5, H-55
G-6, H-55

1009
1009

SS
SSB

KA

1012
TRAN
TRAN

MU
TR
TRW

M %P1 BBB R
T AAA BOO
T AAA BOO>

E-12
H-48
H-48

7740
7335
DDC
DDC
1301
1311
1301
1311
1301
1311
1301
1311
1301

MU
WTB
MU
LU
WDC
WDC
WDCW
WDCW
WD
WD
WDW
WDW
WDTR

M %A1 BBB W
M %Bn BBB W
M %H1 BBB W
L %H1 BBB W
M %F3 BBB W
M %F3 BBB W
L %F3 BBB W
L %F3 BBB W
M %F1 BBB W
M %F1 BBB W
L %F1 BBB W
L %F1 BBB W
M %F2 BBB W

G-28
E-7
H-6
H-6
F-9
F-27
F-9
F-27
F-7
F-25
F-8
F-25
H-41

K III A

K-5

Type

Instruction

Write Disk-Track Record ............................ .
Write Disk-Track Record with Address ................. .
Write Disk-Track Record with Address ................. .
Write Disk-Track Record with Address with Word Marks ..
Write Disk-Track Record with Address with Word Marks ..
Write Disk-Track Record with Word Marks ............. .
Write Disk-Track Record with Word Marks ............. .
Write Disk-Track Sectors with Addresses ............... .
Write Disk-Track Sectors with Addresses ............... .
Write Disk-Track Sectors with Addresses with Word Marks
Write Disk-Track Sectors with Addresses with Word Marks
Write Disk with Sector-Count Overlay ................. .
Write Disk with Sector-Count Overlay ................. .
Write Disk with Sector-Count Overlay with Word 'Marks
Write Disk with Sector-Count Overlay with Word Marks .. .
Write Line ........................................ .
Write Line ........................................ .
Write Line ........................................ .
Write Line and Suppress Space ....................... .
Write Line and Suppress Space ....................... .
Write Line and Suppress Space ....................... .
Write on Tape Punch ............................... .
Write on 1447 Console .............................. .
Write on 1447 Console with Word Marks ............... .
Write Request ..................................... .
Write Request ..................................... .
Write Request and Branch ........................... .
Write Request and Branch ........................... .
Write Tape ........................................ .
Write Tape Mark ................................... .
Write Tape with Word Marks ......................... .
Write to IBM 1026 .................................. .
Write to IBM 1026 with Word Marks ................... .
Write to Primary .................................... .
Write to Primary with Word Marks .................... .
Write with Word Marks ............................. .
Zero
Zero
Zero
Zero

K-6

and
and
and
and

Add (One Field) ...........................
Add (Two Fields) ..........................
Subtract (One Field) .......................
Subtract (Two Fields) ........... ...........

.
.
.
.

1311
1301
1311
1311
1301
1301
1311
1301
1311
1311
1301
1301
1311
1301
1311
1403
1443
1445
1403
1443
1445
1012
1447
1447
DDC
7740
DDC
7740
7335
7335
7335
1026
1026
EXPS
EXPS
7740

Mnemonic

WDTR
WDTA
WDTA
WDTAW
WDTAW
WDTRW
WDTRW
WDT
WDT
WDTW
WDTW
WDCO
WDCO
WDCOW
WDCOW
W
W
W
WS
WS
WS
MU
WCP
WCPW
SS

SS
SSB
SSB
WT
WTM
WTW
WCP
WCPW
MU
LU
LU
ZA
ZA

ZS
ZS

Format

M %F2 BBB W
M %F@ BBB W
M %F@ BBB W
L %F@ BBB W
L %F@ BBB W
L %F2 BBB W
L %F2 BBB W
M %F6 BBB W
M %F6 BBB W
L %F6 BBB W
L %F6 BBB W
M %F5 BBB W
M %F5 BBB W
L %F5 BBB W
L %F5 BBB W
M %Yl BBB W
M %Yl BOI W
M %Yl BOI W
M %Yl BBB S
M %Yl BOI S
M %Yl BOI S
M %Pl BBB W
M %TO BBB W
L %TO BBB W
KD
KD
K III D
K III D
M %Un BBB W
U %Un M
L %Un BBB W
M %TO BBB W
L %TO BBB W
M %01 BBB W
L %01 BBB W
L %Al BBB W

? AAA
? AAA BBB
! AAA
! AAA BBB

Page

H-45
H-42
H-46
H-46
H-42
H-41
H-45
F-I0
F-28
F-28
F-I0
F-8
F-26
F-8
F-26
D-3
D-2'2
D-30
D-3
D-22
D-31
E-12
C-2
C-2
H-2
G-27
H-3
G-27
E-2
E-4
E-3
G-45
G-45
H-24
H-25
G-28
B-5
B-5
B-6
B-5

II
Index

A-Address ....................................... A-2
A-Address [1301] ................................. F-3
A-Address [1311] ................................ F-19
A-Address Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-11
A-Register ...................................... A-11
A-Register Error .................. . . . . . . . . . . . . . . .. A-8
Access Busy [1301] .............................. F-12
Access Busy [1311] .............................. F-29
Access Inoperable [1301] ......................... F-11
Access Inoperable [1311] ......................... F -29
Access Motion Time [1301] ....................... F-13
Add (One Field) ................................. B-4
Add (Two Fields) ................................ B-3
Additional and Modified Instructions for 1009 Buffer.. H-53
Address Modification ............................. A-13
Address Operations [1301] ......................... F-9
Address Operations [1311] ........................ F-27
Address Registers ................................ A-11
Address Registers after Operation . . . . . . . . . . . . . . . . . . .. A-3
Addressing ...................................... A-8
Addressing System .............................. " A-8
Alternate Code [1301] ............................. F-1
Alternate Code [1311] ............................ F-16
Any Disk Condition [1301] ........................ F-12
Any Disk Condition [1311] ........................ F-29
Appendix ........................................ 1-1
Arith Error ...................................... A-8
Arith Register ................................... A-11
Arithmetic ....................................... A-6
Arithmetic Instructions ....... . . . . . . . . . . . . . . . . . . . . .. B-3
Arithmetic Operations ............................. B-1
Arithmetic Operations .............................. 1-3
Assembled Instructions ............................ A-4
Asterisk Protection [Edit] ......................... H-12
Attention Response [7740] ........................ G-27
Attention Response and Branch [7740] .............. G-27
Auto Select [1231] .............................. G-31
Automatic Error Correction [1012] ................. E-20
B-Address .......................................
B-Address [1301] .................................
B-Address [1311] ................................
B-Address [1403] ................................
B-Address [1442] .................................
B-Address [1443] ...............................
B-Address [1447] .................................
B-Address Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
B-Cycle [Tran] '. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
B-Register ......................................
B-Register Error ..................................
Backspace Tape [1012] ..........................
Backspace Tape and Branch [1012] .................
Backspace Tape Record [7335] .....................
Basic Disk Operations [1301] .......................
Basic Disk Operations [1311] ......................
Bid Operation [1026] ............................
Bit Test [Bit] ....................................
Branch if Access Busy [1301] ......................
Branch if .Kccess Busy [1311] ......................
Branch if Access Inoperable [1301] .................
Branch if Access Inoperable [1311] .................
Branch if Account-Number-Field Ind. On [1412] .....
Branch if Amount-Field Indicator On [1412] .........
Branch if Any Disk Condition [1301] ...............
Branch if Any Disk Condition [1311] ...............

A-2
F-3
F-19
0-3
0-10
0-21
C-l
A-11
H-49
A-II
A-8
E-13
E-13
E-3
F-2
F-17
G-44
H-l
F-11
F-29
F-11
F-29
G-12
G-11
F-11
F-29

Branch if Arithmetic Overflow ........ . . . . . . . . . . . . .. B-7
Branch if Attention 1009 ......................... H-55
Branch if Attention-Signal Indicator On [7740] ...... G-27
Branch if Auto Select [1231] ...................... G-29
Branch if Bit Equal [Bit] .......................... H-l
Branch if Buffer Busy [1026] ...................... G-47
Branch if Buffer Busy [1447] ...................... H-63
Branch if Buffer Full [1231] ....................... G-29
Branch if Buffer Service [1009] ................... H-55
Branch if Channel 9 [1403] ........................ D-4
Branch if Channel 9 [1443] ....................... 0-23
Branch if Channel 9 [1445] ....................... 0-32
Branch if Channel 12 [1403] ....................... 0-6
Branch if Channel 12 [1443] ...................... D-24
Branch if Channel 12 [1445] ...................... 0-32
Branch if Character Equal ... :....... . . . . . . . . . . . . .. B-8
Branch if Data Transmission Ended [7740] .......... G-27
Branch if Disk Error [1301] ....................... F-11
Branch if Disk Error [1311] ....................... F-29
Branch if Document-Space-Check Ind On [1412] ..... G-13
Branch if Early Warning [1448] ................... G-24
Branch if End of Block [1448] ...........
G-23
Branch if End of File [1285] ...................... G-40
Branch if End of Line [1285] ..................... G-40
Branch if End of Reel [7335] ...................... E-5
Branch if End of Transmission [DOC] .............. H-4
Branch if Equal Compare (B = A) .................. -B-7
Branch if Error [1285] ........................... G-40
Branch if Header Information [1285] ............... G-40
Branch if High Compare (B > A) ................... B-7
Branch if Hopper Empty [1231] ................... G-30
Branch if in Backspace Operation [1012] ............ E-14
Branch if Indicator On . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-7
Branch if Indicator On [DOC] ..................... H-4
Branch if Indicator On [1009] ..................... G-5
Branch if Indicator On [1009] ..................... H-54
Branch if Indicator On [1285] ..................... G-40
Branch if Indicator On [1301] ..................... F-11
Branch if Indicator On [1311] ..................... F-29
Branch if Indicator On [7740] ..................... G-27
Branch if Indicator On Instructions [EXPS] .......... H-20
Branch if Input/Output Indicator On [1011] ......... E-I0
Branch if Inquiry Clear [1026] .................... G-48
Branch if Inquiry Clear [1447] ..................... C-3
Branch if Inquiry Request [1447] ................... C-3
Branch if Last Card (First Reader Punch) [1442] ..... D-13
Branch if Last Card (Second Reader Punch) [1442] .. D-13
Branch if Late-Read Indicator On [1412] ............ G-I0
Branch if Low Compare (B < A) ................... B-7
Branch if Marked Line [1285] ..................... G-40
Branch if Minus .................................. B-9
Branch if No Zone ... . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9
Branch if Operational Out [EXPS] ................. H-22
Branch if Paper-Tape Reader Ready [1011] .......... E-11
Branch if Primary-Control Indicator On [EXPS] ...... H-22
Branch if Primary-Read Indicator On [EXPS] ........ H-20
Branch if Primary-Sense Indicator On [EXPS] ....... H-21
Branch if Primary-Write Indicator On [EXPS] ....... H-21
Branch if Printer Busy [1403] ...................... 0-4
Branch if Printer Busy [1443] ..................... D-23
Branch if Printer Busy [1445] ..................... D-32
Branch if Printer-Carriage Busy [1403] .............. D-4
Branch if Printer Error [1403] ...................... 0-4
Branch if Printer Error [1443] ..................... D-23
Branch if Printer Error [1445] .................... 0-31
L-l

Branch if Process Check [DOC] .................... H-4
Branch if Process-Control Indicator On [1412] ........ G-11
Branch if Process Error ............................ B-7
Branch if Punch Error [1442] ..................... 0-13
Branch if Punch Error [1444] ..................... 0-28
Branch if Read-Check Indicator On [1412] .......... G-lO
Branch if Read Data [DOC] ....................... H-4
Branch if Read Error or Overrun Detention [1231] ... G-30
Branch if Read-Not-Ready Indicator On [1412] ...... G-10
Branch if Read Request [DOC] ..................... H-4
Branch if Reader Error [1442] ..................... 0-12
Branch if Reader Ready [1285] .................... G-40
Branch if Reader Ready to Read a Line [1285] ....... G-40
Branch if Reader Transporting [1285] .............. G-40
Branch if Receive End of Message or
Initial Inquiry [1009] .......................... H-55
Branch if Receive-Request Indicator On [7740] ...... G-27
Branch if Receive (EOF) [1009] ................... H-55
Branch if Receive Error [1009] .................... H-55
Branch if Reply Bad [1009] ....................... H-55
Branch if Reply Good [1009] ...................... H-55
Branch if Request-Service Indicator On [1026] ......... G-47
Branch if Sense Switch On [SS] .............. B-7, H-40
Branch if Successful-Completion Indicator On [7740] .. G-27
Branch if System A Stopped [DOC] ................ H-4
Branch if Tape Error [7335] ....................... E-6
Branch if Tape Punch Not Ready to Accept Data [1012] E-14
Branch if Tape Punch Not Ready to Read [1012] ..... E-15
Branch if Tape Punch Overextended [1012] .......... E-15
Branch if Tape Punch Ready [1012] ................ E-14
Branch if Time-Emitter Indicator On [1026] ......... G-48
Branch if Timing-Mark Check [1231] ............... G-30
Branch if Transit-Routing-Field Indicator On [1412] .. G-12
Branch if Transmission Error Indicator On [EXPS] .... H-20
Branch if Unequal-Address Compare [1301] .......... F-11
Branch if Unequal-Address Compare [1311] ......... F-29
Branch if Word Mark ............................. B-9
Branch if Word Mark or No Zone ....... . .. . . . . . . . .. B-9
Branch if Word Mark or Zero Zone .. . . . . . . . . . . . . . . .. B-9
Branch if Word Mark or Zone . . . . . . . . . . . . . . . . . . . . . .. B-9
Branch if Word Mark or 11 Zone . . . . . . . . . . . . . . . . . . .. B-9
Branch if Word Mark or 12 Zone . . . . . . . . . . . . . . . .. . .. B-9
Branch if Write Data [DOC] ...................... H-4
Branch if Write Request [DOC] .................... H-4
Branch if Wrong-Length Record [1301] ............. F-11
Branch if Wrong-Length Record [1311] ............. F-29
Branch if Zero Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9
Branch if 1009 Ready [1009] ...................... H-55
Branch if 11 Zone ................................ B-9
Branch if 12 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-9
Branch if 1231 Ready to Read [1231] .............. G-29
Branch Instructions [DOC] ........................ H-4
Branch if Supply-Reel Low or Chad-Box Full [1012] .. E-16
Branch Unconditional ............................. B-7
Buffer Full [1231] ........................ G-31, G-32
Card Image Feature [1442] .......................
Card Read-Punch Instruction Format [1442] .........
Carriage Speed [1443] ...........................
Chaining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Chaining Instructions .. . . . . . . . . . . . . . . . . . . . . . . . . . ..
Character Registers ..............................
Clear Storage ...................................
Clear Storage and Branch .........................
Clear Word Mark (One Address) ...................
Clear Word Mark (Two Addresses) .................
Clearing Storage after Read Errors [1412] ...........
Coded Halt .....................................
Combined Reading and Punching
(1442 Models 1 and 2) .........................
Compare ........................................
Complement Add .................................
Conditions that Interrupt the Feed Call [1412]

L-2

H-59
0-10
0-25
A-3
A-11
A-11
B-16
B-16
B-16
B-15
G-14
B-18
0-19
B-9
B-2
G-16

Console Instruction Format [1447] ................. .
Console Panel, IBM 1009 Buffer Feature ........... .
Console Printer Timing .......................... ..
Continuous Feed Mode [1231] .................... .
Control Carriage [1403] ........................ .. .
Control Carriage [1443] ......................... .
Control Carriage [1445] ......................... .
Control Carriage (Selective Tape Listing
Feature) [1403] ............................. .
Control Command [EXPS] ....................... .
Control Operation [EXPS] ....................... .
Control Request [7740] .......................... .
Control Request and Branch [7740] ............... .
Core Sector Address [1301] ....................... .
Core Storage Area Assignment .................... .

C-1
H-52
C-4
G-31
0-6
0-24
0-33
H-58
H-16
H-15
G-27
G-27
F-1
A-lO

D-Character ................................... .. A-2
D-Character [1301] .............................. . F-4
D-Character [1311] ............................. . F-19
D-Modifier Character [1403] ...................... . 0-3
D-Modifier Character [1442]
................. . 0-10
D-Modifier Character [1443] ..................... . 0-21
D-Modifier Character [1447] ................. .
C-1
Data Control Operations ........................... . 1-3
Data Field Addressing ........................... . A-9
Data Flow [1403] .................. .
0-1
Data Flow [1412] ......................... .
G-7
Data Flow [1442] ......................... .
0-9
Data Flow [7335] ......................... .
E-l
Data in Storage [1412]
....... .
G-14
Data Moving Instructions ....
. ....... .
B-11
Data Moving Operations
B-11
Data Stored with Read Error Conditions [1412]
G-15
Data Stored Without Read Errors [1412] ..... .
G-14
Decimal Control [Edit]
H-13
Declarative and Assembler Control Statements ....... .
1-2
E-17
Decode to a Table Address [1012]
Decreasing an Address [INDX] ................... . H-29
Delayed Form-Movement Operation [1443]
0-26
Determining the 1412 Feeding Rate [1412] ......... . G-16
E-4
Diagnostic Read [7335] ............ .
Direct Data Channel [DOC] ................ .
H-2
Direct-Dat~-Channel-Interrupt [1448] ......... .
G-24
................. .
Direct Seek [DRSK]
H-11
Direct Seek Timing [DRSK] ........ . ........... . H-12
Disable Interrupt [EXPS] ...
. ............ . H-19
Disable Interrupt [1026]
G-46
Disable Interrupt [1448] ........................ . G-22
Disable Interrupt and Branch [EXPS] ........ .
H-19
G-46
Disable Interrupt and Branch [1026]
Disable Interrupt and Branch [1448]
G-23
Disengage MICR Reader [1412]
G-7
Disk Control Field [DRSK]
H-11
Disk Control Field [1301] ....... .
F-l
F-16
Disk Control Field [1311]
Disk Error [1301] ....... .......... . ....... .
F-11
Disk Error [1311]
F-29
Disk Operations ..
. ........... .
1-5
F-16
Disk-Sector Address [1311] .......... .
Disk-Storage Input/Output Operations
F-l
............. .
Divide [MD]
H-33
H-35
Divide Subroutine [MD]
Document Spacing Error [1412] ............. .
G-13
Documents in Flight [1412] ........ .
G-18
Dummy Seek to Cylinder 00 [1311]
F-32
Edit Operations ............................... ..
Editing ......................................... .
Editing Rules .................................. .
Enable Interrupt [EXPS] ..................... , .. .
Enable Interrupt [1026] ......................... .
Enable Interrupt [1448] ......................... .
Enable Interrupt and Branch [EXPS] ............. .

B-19
A-7
B-19
H-18
G-45
G-22
H-19

Enable Interrupt and Branch [1026] ................
Enable Interrupt and Branch [1448] ................
End of Message (Receive) [ 1009] ..................
End of Message (Transmit) [1009] .................
End of Record Routine [1012] .....................
End of Reel Routine [1012] .......................
End Response [EXPS] ...........................
End Response [7740] ............................
End Response and Branch [7740] ..................
Ending of Operation [1009] .......................
Engage Line [1412]
. . . . . . . . . . . . . . . . . . . . ..
Engage MICR Reader [1412] ......................
Evaluation of Input [7770] .................. G-34,
Example
. . . . . . . . . . . . . . . . ..
Expanded Disk-Storage Control [EXDK]
........ ,
Expanded Print Edit [Edit] .......................
Expanded Serial Input/Output Adapter [EXPS] ......

G-45
G-23
G-5
G-5
E-19
E-21
H-16
G-27
G-27
H-52
G-13
G-7
G-35

Feature Operation [EXPS]
Feed Call [1412]
First A-Cycle [Tran]
Five Track Tape Operation [1012] ..
Floating Dollar Sign [Edit]
Function

H-25
G-16
H-49
E-21
H-12
A-3

General Description of Translate [Tran]
General Mode of Operation [1403]
General Mode of Operation [1442]
General Mode of Operation [1443]
General Mode of Operation [1447]
Get Table Argument for Punching [1012]
Go to Next Line [1285]
................... .
Go to Next Line and Branch [1285]
........ .
Good Transmission [1009]
....... .
Group Marks [1412]

H-49
D-2
D-lO
D-21
C-1
E-18
G-39
G-39
G-5
G-14

Halt
Halt and Branch
Hopper Empty [1231]

A-4

H-12
H-12
H-14

B-17
B-18
G-32, G-33

I-Address
I-Address Register
IBM 1009 Automatic Mode Operation
........... .
IBM 1009 Data Transmission Unit .......... .
IBM 1009 Data Transmission Unit, Buffer Feature .....
IBM 1009 Data Transmission Unit, Line Speed Operation
IBM 1009 Data Transmission Unit, Special Features .. .
IBM 1009 Instructions ......................... .
IBM 1011 Paper Tape Reader
............ .
IBM 1011 Paper Tape Reader Instructions .....' ....... .
IBM 1012 Programming Concepts .................. .
IBM 1012 Tape Punch
........... .
IBM 1012 Tape Punch Instructions ................. .
IBM 1012 Tape Punch, Read Feature ............... .
IBM 1012 Tape Punch, Special Features ...... .
InM 1026 Instructions ........................... .
InM 1026 Programming ..
. ........... .
InM 1026 Programming Considerations ............. .
InM 1026 Transmission Control Unit ............... .
IBM 1231 Instructions ........................... .
IBM 1231 Optical Mark Page Reader
IBM 1231 Program Control .................... .
IBM 1285 Instructions
................. .
IBM 1285 Optical Reader ......................... .
IBM 1285 Programming Techniques ................ .
IBM 1285 Timing Considerations
................
IBM 1301 Disk Storage Models 11, 12, 21, and 22 .... .
IBM 1301 Disk Storage Timing ., .................. .
IBM 1301 Instruction Format and Instructions ......... .
IBM 1311 Disk Storage Drive ...................... .
IBM 1311 Disk Storage Timing .................... .
IBM 1311 Error Routine .......................... .
IBM 1311 Instruction Format and Instructions ....... .

A-2
A-11

H-52
G-1
H-51
H-52
H-51
G-2
E-9
E-9
E-16
E-12
E-12
H-57
H-57
G-43
G-43
G-43
G-43
G-29
G-29
G-31
G-38
G-38
G-42
G-41
F-1
F-13
F-3
F-16
F-31
F-33
F-19

1403 Model 2' Printer Timings. . . . . . . .. ......... D-7
1403 Model 3 Printer Timings. . . . . . . . . . . . . . . . . .. D-7
IBM 1403 Model 5 Printer Timings. . . . . . . . . . . . . . . . . ..
D-8
IBM 1403 Model 6 Printer Timings. . . . . . . . . . . . . . . . . ..
D-8
IBM 1403 Printer Instruction Format- . . . . . . . . . . . . . . . ..
D-2
IBM 1403 Printer Instructions .......................
D-3
IBM 1403 Printer Model 2 .........................
D-1
IBM 1403 Printer Model 3 . . . . . . . . . . . . . . . . . . . . . . . . ..
D-1
IBM 1403 Printer Model 5 . . . . . . . . . . . . . . . . . . . . . . . . ..
D-2
IBM 1403 Printer Model 6 . . . . . . . . . . . . . . . . . . . . . . . . ..
D-2
IBM 1403 Printer Models 2, 3, 5, and 6 ..............
D-1
IllM 1403 Printer Operations . . . . . . . . . . . . . . . . . . . . . . ..
D-1
IllM 1403 Special Features ......... ..............
H-58
IBM 1412 Instructions
. . . . . . . . . . . . . . . . . . . . . .. G-7
IBM 1412 Magnetic Character Reader Modell. . . . . . ..
G-7
IllM 1412 Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
G-16
IBM 1440 Data Processing System ...................
A-I
IBM 1440 Data Processing System, Special Features ....
H-1
IBl\[ 1440 Programming Logic .....................
G-l
IBM 1441 Processing Unit ..........................
A-5
IBM 1442 Card Read-Punch ........................
D-9
IIlM 1442 Card Read-Punch Instructions .. . . . . . . . . . ..
D-I0
IBM 1442 Card Read-Punch Timing. . . . . . . . . . . . . . . ..
D-14
IBM 1442 Models 1, 2, and 4, Special Features . . . . . . ..
H-59
IBM 1443 PriIiter
. . . . . . . . . . . . . . . . . .. D-21
IBM 1443 Printer Instruction Format ...... '.' . . . . . . ..
D-21
IBM 1443 Printer Instructions . . . . . . . . . . . . . . . . . . . . ..
D-22
IBM 1443 Printer Timing. . . . . . . . . . . . . . . . . . . . . . . . ..
D-25
IBM 1444 Card-Punch
. . . . . . . . . . . . . . . . . . . . .. D-27
IBM 1444 Card-Punch Instructions ............... :..
D-27
IBM 1444 Card-Punch Timing .....................
D-28
IBM 1445 Printer.
. . . . . . . . . . . . . . . . . . . . . . . . .. D-30
IBM 1445 Printer Instructions .. . . . . . . . . . . . . . . . . . . ..
D-30
IBM 1445 Printing Speeds ..... . . . . . . . . . . . . . . . . . . ..
D-33
IBM 1447 Console Instructions
..................... C-l
IBM 1447 Console Operations .......................
C-l
IBM 1447 Special Features ........................
H-63
IBM 1448 Instructions
. . . . . . . . . . . . . . . . . . .. G-20
IBM 1448 Transmission Control Unit
............... G-19
IBM 7335 Magnetic Tape Unit . . . . . . . . . . . . . . . . . . . . ..
E-l
IBl\I 7740 Communications Control System
. . . . . . .. G-27
IBM 7740 Instruetions ....
. . . . . . . . . . . . . . . .. G-27
IBM 7770 Audio Response Unit Modell Programming.
G-34
IBM 7770 Instructions ............................
G-34
Immediate Form-Movement Time [1443] ........... D-25
Imperative Statements ..
1-2
Increasing an Address [INDX] .................... H-28
Index of Branch Instructions and d-Modifiers .......... J-l
Index of Instructions Including Special Features ....... K-l
Indexing [INDX]
. . . . . . . . . . . . . . . . . . . . . . . . .. H-28
Indexing and Store Address Registers [INDX] ........ H-28
Indexing Method
A-15
Indicators [1009]
. . . . . . . . . . . . . . . . .. G-5, H-55
Indicators [1301] ................................ F-11
Indicators [1311] ................................ F -29
Information Retrieval [7770] ............... G-34, G-35
Initialize a Message Tnmsmission (XMIT) [1009] ..... H-53
H-53
Initialize a Reply from Receiver (Rev) [1009] .....
Input/Output Device Operations. . . . . . . . . . . . . . . . . . . .. 1-4
Inquiry Input [7770] ............................ G-34
Instmction Addressing
............
A-lO
Instruction Descriptions ............................ A-3
Instruction Format
. . . . . . . . . . . . . . . . . . . . .. A-2, A-3
Instruction Initialization in the Program [DDC] ....... H-6
Instmction Length ..
...................
A-3
Internal Checking .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-7
Interrupt Instmctions [1448] ...................... G-21
IOCS Usage [7770]
. . . . . . . . . . . . . . . . . . . . . . . .. G-36
Issue IBM 1026 Line Bid ..........
. . . . . . .. G-44
IBM
IBM

Language
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. A-5
Large Vocabulary Programming [7770] ............. G-36
Less Than 285 Cards per Minute [1442] ............ D-15

L-3

Less Than 375 Cards per Minute [1442] ............ 0-17
Less Than 50 Cards per Minute [1442] ............. 0-17
Less Than 91 Cards per Minute [1442] ............. 0-19
Line Control [1448] ............................. G-24
Line Control Mode [1448] ........................ G-25
Line-Feed Operation .............................. C-3
Load Character from the Receiving 1009 .... . . . . . . .. H-54
Load Character to the Transmitting 1009 .. . . . . . . . . . .. G-4
Load Character to the Transmitting 1009 ............. H-54
Load Characters from the Receiving 1009 . . . . . . . . . . . .. G-4
Load Characters to a Field Word Mark (One Field) ... B-14
Load Characters to a Field Word Mark (Two Fields) .. B-13
Load Characters to a Record Mark or GMWM [Tran]. H-51
Load from MICR Reader [1412] .................... G-8
Load Point Time [7335] ........................... E-7
Load Record [Tran] ............................. H-51
Logic ........................................... A-6
Logic Instructions ............ ........ ,........... B-7
Logic Operations ............................ B-7, 1-3
Magnetic Core Storage ........................ ... . A-5
Magnetic Tape Instructions [7335] ................. . E-1
Magnetic Tape Operations ......................... . 1-4
Magnetic Tape Timing [7335] ..................... . E-7
Mark a Line [1285] ............................. . G-40
Mark a Line and Branch [1285] ................... . G-40
Maximum Processor Time Required for
Data Movement [1009] ......................... H-52
Message Assembly and Output [7770] ....... G-34, G-36
Miscellaneous Input/Output Instructions ............. G-1
Miscellaneous Instructions ......................... B-15
Miscellaneous Operations ..................... B-15, 1-4
Mnemonic ....................................... A-2
Mode Switch [1026] ............................. G-43
Model 1 Card Punching [1442] .................... 0-17
Model 1 Card Reading [1442] ..................... 0-14
Model 1 Printing Speed [1443] .................... 0-25
Model 2 Card Punching [1442] .................... 0-18
Model 2 Card Reading [1442] ..................... 0-15
Model 2 Printing Speed [1443] .................... 0-25
Modify Address Instruction Method ................ A-15
Modify Address (One Address) . . . . . . . . . . . . . . . . . . .. A-15
Modify Address (Two Addresses) .................. A-15
Modulus 4 Arithmetic Method ..................... A-13
Move [1231] ................................... G-30
Move and Load Instructions [DOC] ................. H-5
Move Character from the Receiving 1009 . . . . . . . . . . .. H-54
Move Character to the Transmitting 1009 . . . . . . . . . . . .. G-3
Move Character to the Transmitting 1009 .......... " H-53
Move Characters and Edit. . . . . . . . . . . . . . . . . . . . . . . .. B-19
Move Characters and Suppress Zeros. . . . . . . . . . . . . . .. B-ll
Move Characters from Record into Test Location [1012] E-17
Move Characters from the Receiving 1009 .. . . . . . . . . .. G-3
Move Characters to A- or B-Field
Word Mark (One Field) ........................ B-11
Move Characters to A- or B-Field
Word Mark (Two Fields) ....... : .............. . B-11
Move Characters to Record Mark or GMWM' ........ . B-12
Move from MICR Reader [1412] .................. . G-8
Move Numeric ........... , ..................... . B-13
Move Record ................................... . B-12
Move Zone .................................... . B-13
Multiply [MO] ................................. . H-32
Multiply.and Divide Subroutines [MD] ............ . H-34
Multiply and- Divide Timing [MD] ................ . H-37
Multiply Divide [MD] .......................... . H-32
Multiply Subroutine [MD] ....................... . H-34
No Operation ................................... B-17
Normal Form-Movement Operation [1443] .......... 0-25
Notes ........................................... A-3
On Demand Feed [1231] ......................... G-32
Op Code........................................ A-2
L-4

Op Code [1301] ..................................
Op Code [1311] .................................
Op Register ............................... A-7,
Operate in Load Mode [1009] .....................
Operate in Load Mode and Branch [1009] ..........
Operating Input/Output Unit [1403] ................
Operating Input/Output Unit [1443] ...............
Operating Input/Output Unit [1447] ................
Operation [1403] ................................
Operation [1448] ................................
Operational Out Line [EXPS] .....................
Parity Checking ........................... ...... .
Primary System Operations [EXPS] ............... .
Primary System Signals [EXPS] .................. .
Printer Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .
Process Error Functions Affected by Process
Check Stop Switch ............................ "
Process Error Functions Not Affected by Process
Check Stop Switch ............................ "
Processing .......................................
Program Instructions [1012] .......................
Programming Considerations on' the IBM 1412 . . . . . . ..
Programming Note 1440 Autocoder Assembly . . . . . . . ..
Punch and Feed [1442] ..........................
Punch and Feed Operation [1442] ..........
0-17,
Punch and Stop [1442] ...........................
Punch and Stop Operations [1442] .......... 0-17,
Punch Card [1444] ..............................
Punch Card Image and Feed [1442] ...............
Punch Card Image and Stop [1442] ................
Punch Character in Tape [1012] ...................
Punch Column Skip [1442] .......................
Punch Column Skip Feature [1442] ................
Punch Error [1442] ...............................
Punch Error [1444] ...................... ........
Read [1231] ............................. G-31,
Read [7740] ....................................
Read and Write Instructions [EXPS] ...............
Read Binary Tape [7335] ..........................
Read Card [1442] ...............................
Read Card Image [1442] .........................
Read Check [1012] ..............................
Read Command [EXPS] ..........................
Read Data [DOC] ................................
Read Data with Word Marks [DOC] ................
Read Disk Sectors [1301] ..........................
Read Disk Sectors [1311] .........................
Read Disk Sectors with Word Marks [1301] ..........
Read Disk Sectprs with Word Marks [1311] ..........
Read Disk-Track Record [1301] ...................
Read Disk-Track Record [1311] ...................
Read Disk-Track Record with Address [1301] ........
Read Disk-Track Record with Address [1311] ........
Read Disk-Track Record with Address
with Word Marks [1301] .......................
Read Disk Track Record with Address
Read Disk-Track Record with Address
with Word Marks [1311] .......................
Read Disk-Track Record with Word Marks [1301] ....
Read Disk-Track Record with Word Marks [1311] ....
Read Disk-Track Sectors with Addresses [1301] ........
Read Disk-Track Sectors with Addresses [1311] ......
Read Disk-Track Sectors with Addresses and
Word Marks [1301] .............................
Read Disk-Track Sectors with Addresses and
Word Marks [1311] ............................
Read Disk with Sector-Count Overlay [1301] .........
Read Disk with Sector-Count Overlay [1311] .........
Read Disk with Sector-Count Overlay with
Word Marks [1301] .............................
Read Disk with Sector-Count Overlay with
Word Marks [1311] ............................

F-3
F-19
A-11

H-56
H-56
0-3
0-21
C-1
H-58
G-20
H-16
A-7
H-14
H-15
A-8

A-7
A-7
A-6
H-57
G-13
A-4

0-11
0-18
0-11
0-18
0-27
H-60
H-60
E-18
H-61
H-61
A-8
A-8

G-33
G-28
H-23
E-6
0-10
Ii-59
E-18
H-15
H-5
H-5
F-4
F-21
F-5
F-23
H-40
H-44
H-41
H-44
H-41
H-44
H-40
H-44
F-9
F-27
F -9
F-27
F-5
F-23
F-5
F-23

Read Error [1231] ........................ G-31,
Read from IBM 1026 .............................
Read from IBM 1026 with Word Marks. . . . . . . . . . . . ..
Read from Paper Tape [1011] ......................
Read from Paper Tape with Word Marks [1011] .....
Read from Primary [EXPS] .......................
Read from Primary with Word Marks [EXPS] .......
Read from 1447 Console .......................... ,
Read from 1447 Console with Word Marks. . . . . . . . . ..
Read in Load Mode [1285] .......................
Read in Move Mode [1285] .......................
Read Operation [EXPS] ..........................
Read Operation [1301] ............................
Read Operation [1311] ...........................
Read Operation Timing [7335] .....................
Read Request [DDC] .............................
Read Request [7740] .. ,..........................
Read Request and Branch [DDC] ...................
Read Request and Branch [7740] ..................
Read Tape [7335] ........................ ~ . . . . . ..
Read Tape with Word Marks [7335] ................
Read with Word Marks [7740] ....................
Reader Error .................................... ,
Readers, Punches, and Printers ..................... ,
Reading and Writing with Word Marks Mode [1301] .,.
Reading and Writing with Word Marks Mode [1311] ..
Ready to Read [1231] ............................
Ready to Read [1231] ............................
Receive Error [1009] ..............................
Receive Subroutine [1009] .........................
Receiving System Operation [DDC] .................
Record Check Time [7335] .........................
Reset [DDC] ....................................
Reset and Branch [DDC] ..........................
Rewind Tape [7335] ..............................
Rewind Tape and Unload [7335] ....................
Rotational Delay Time [1301] .....................

G-33
G-45
G-45
E-9'
E-IO
H-23
H-24
C-1
C-1
G-39
G-38
H-14
F-2
F-17
E-8
H-2
G-27
H-2
G-27
E-l
E-2
G-28
A-8
D-1
F-3
F-18
G-32
G-31
G-5
G-l
H-7
E-7
H-3
H-3
E-5
E-5
F-13

Scan [1448] ....................................
Scan Disk Equal [Scan] ..........................
Scan Disk Equal with Word Marks [Scan] ..........
Scan Disk Feature [Scan] .........................
Scan Disk High [Scan] ...........................
Scan Disk High with Word Marks [Scan] ............
Scan Disk Low [Scan] ...........................
Scan Disk Low with Word Marks [Scan] ............
Second A-Cycle [Tran] ...........................
Secondary System Instructions [EXPS] ..............
Sector Count [1301] ..............................
Sector Count [1311] .............................
Sector-Count Overlay Mode [1301] ..................
Sector-Count Overlay Mode [1311] .................
Sector Mode [1301] ...............................
Sector Mode [1311] ..............................
Sector Operations. [1301] ..........................
Sector Operations [1311] ..........................
Sector Processing Time [1301] .....................
Seek Disk [1301] .................................
Seek Disk [1311] ................................
Seek Disk with Word Marks [1301] .................
Seek Operation [1301] ....................... F-2,
Seek Operation [1311] ..................... F-17,
Seek Overlap Feature [1311] ......................
Seeking Disk Storage Records [1311] ...............
Select Condition in Document [1231] ...............
Select Digital Time Unit [1026] ...................
Select IBM 1026 on Line 1 ........................
Select IBM 1026 on Line 2 ........................
Select IBM 1026 on Line 3 ........................
Select IBM 1026 on Line 4 ........................
Select Request-Service Indicator [1026] ............
Select Stacker [1231] ...................... G-30,
Select Stacker [1442] ............................
Select Stacker [1444] ............................

G-20
H-39
H-39
H-39
H-39
H-39
H-39
H-39
H-49
H-16
F-2
F-17
F-3
F-18
F-2
F-18
F-4
F-21
F-13
F-4
F-19
F-4
F-4
F-19
H-40
F-31
G-31
G-44
G-44
G-44
G-44
G-44
G-44
G-32
D-12
D-27

Select Stacker and Branch [1231] ..................
Select Stacker and Branch [1412] ...................
Select ,Stacker MICR Reader [1412] .................
Select Stacker (Selective Stacker Feature) [1442] ....
Select Stacker Timings [1412] .....................
Selective Stacker [1442] ..........................
Selective Tape Listing Feature [1403] ..............
Send Attention Signal [EXPS] .....................
Send Attention Signal and Branch [EXPS] ...........
Send End of File (EOF) [1009] ....................
Send End of File (EOF) and Branch [1009] .........
Send End Signal [EXPS] .........................
Send End Signal and Branch [EXPS] ...............
Send Unusual-End Signal [EXPS] .................
Send Unusual-End ~ignal and Branch [EXPS] .......
Sending System Operation [DDC] ...................
Sense Command [EXPS] .........................
Sense Operation [EXPS] ..........................
Sense Request [7740] ............................
Sense Request and Branch [7740]. . . . . . . . . . . . . . . . ..
Sense Switches ...................................
Serial-Number-Auxiliary-On-Us Field [1412] ........
Set Correction Mode [1285] . . . . . . . . . . . . . . . . . . . . . ..
Set Direction to Receive [1009] ...................
Set Direction to Receive and Branch [1009] .........
Set Direction to Transmit [1009] ...................
Set Direction to Transmit and Branch [1009] ........
Set Ready to Receive [1009] .......................
Set Word Mark (One Address) ....................
Set Word Mark (Two Addresses) ...................
Sign Control Left [Edit] ..........................
Signal Control [7740] ............................
Signal Control and Branch [7740] ..................
Signal Control Instructions [DDC] ..................
Signal Control Instructions [EXPS] .................
Skip and Blank Tape [7335] .......... . . . . . . . . . . . . ..
Start [1231] ....................................
Start Time [7335] ................................
Start Transmission [1009] ..........................
Stop [EXPS] ...................................
Stop Conditions [1412] ...........................
Stop Time [7335] ............... '.' . . . . . . . . . . . . . ..
Storage Address Register .................... A-7,
Storage Error ....................................
Store A-Address Register [INDX] ..................
Store Address Register [INDX] ....................
Store B-Address Register (One Address) [INDX] ....
Store B-Address Register (Two Addresses) [INDX] '"
Stored Program Instructions ........................
Subtract (One Field) .............................
Subtract (Two Fields) .............................
Suppress 3-Second Alarm [1009] ............. G-5,
Suppress 3-Second Alarm and Branch [1009] ... G-6,
System Check Conditions ..........................
System Operations ................................

G-SO
G-9
G-9
H-61
G-18
H-61
H-58
H-16
H-17
It-56
H-56
H-17
H-17
H-18
H-18
H-6
H-16
H-15
G-27
G-27
H-40
G-13
G-39
H-56
H-56
H-56
H-56
G-3
B-15
B-15
H-13
G-27
G-27
H-2
H-16
E-4
G-31

Tape Input/Output Operations [7335] ...............
Tape Punch Read-Back Check [1012] ...............
Text Mode [1448] ...............................
The Stored Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Time Between Documents [1412] ..................
Timing. . . . . . ... ... . . . ... . ... ..... .. . ... .... . ....
Timing Considerations for Reading and Writing [1311]
Timing-Mark Check [1231] .................. G-31,
Title ............................................
Track Record [1301] .............................
Track Record [1311] .............................
Track Sector with Addresses Mode [1301] ............
Track Sectors with Addresses Mode [1311] ..........
Translate [Tran] .. . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Translate with Word Marks [Tran] .................
Transmission Control [1448] ......................
Transmission Error [1009] .........................
Transmit Subroutine [1009] ........................

E-l
E-12
G-25
A-I
G-18
A-3
F-33
G-33
A-3
H-40
H-44
F-2
F-18
H-48
H-48
G-19
G-5
G-1

E-7

G-3
H-16
G-15
E-7

A-ll
A-8
H-29
H-29
H-30
H-31
A-2
B-4
B-4
H-55
H-55
A-7
B-1

L-5

True Add .......... .' '" . . . . . . . . . . . . . . . . . . . . . . . . . . .. B-2
Types of Read and Write Operations [1301] .......... F-2
Types of Read and Write Operations [1311] ......... F-17
Unequ~f Address
UIl;~qual Address

Compare [1301] .................
Compare [1311] ..................
Unit Number [1442] .............................

F-11
F-29
D-1O

Validity Checking. . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . ..
Variable Word Length. . . . . . . . . . . . . . . . . . . . . . . . . . . ..

A-7
A-2

Word Marks ..... . . . . . . . . . . . . . . . . . . . . . . . . . .. A-2,
Word Marks [1412] ..............................
Write [7740] ...................................
Write Binary Tape [7335] .........................
Write Command [EXPS] .........................
Write Data [DDC] ...............................
Write Data with Word Marks [DDC] ...............
Write Disk Check [1301] ..................... F-3,
Write Disk Check [1311] ................... F-18,
Write Disk Check with Word Marks [1301] ..........
Write Disk Check with Word Marks [1311] ..........
Write Disk Sectors [1301] .........................
Write Disk Sectors [1311] ........................
Write Disk Sectors with Word Marks [1301] ..........
Write Disk Sectors with Word Marks [1311] .........
Write Disk Track Record [1301] ...................
Write Disk Track Record [1311] ..................
Write Disk-Track Record with Address [1301]
Write Disk-Track Record with Address [1311] .......
Write Disk-Track Record with Address with
Word Marks [1311] ...........................
Write Disk-Track Record with Address with
Word Marks [1301] .......................... .
Write Disk-Track Record with Word Marks [1301] .. .
Write Disk-Track Record with Word Marks [1311] .. .
Write Disk-Track Sectors with Addresses [1301]
Write Disk-Track Sectors with Addresses [1311] ..... .
Write Disk-Track Sectors with Addresses with
Word Marks [1311] ...........................
Write Disk-Track Sectors with Addresses with
Word Marks [1301] ............................
Write Disk with Sector-Count Overlay [1301] .........
Write Disk with Sector-Count Overlay [1311] ........
Write Disk with Sector-Count Overlay with
Word Marks [1301] .............................

A-3
G-13
G-28
E-7
H.,;16
H-6
H-6
F-9
F-27
F-9
F-27
F-7
F-25
F-8
F-25
H-41
H-45
H-42
H-46

L-6

H-46
H-42
H-41
H-45
F-10
F-28
F-28
F-1O
F-8
F-26
F-8

W rite Disk with Sector-Count Overlay with
Word Marks [1311] ........................... .
Write Line [1403] ............................... .
Write Line [1443] .............................. .
Write Line [1445] .............................. .
Write Line and Suppress Space [1403] .............. .
Write Line and Suppress Space [1443] ............. .
Write Line and Suppress Space [1445] ............. .
Write on Tape Punch [1012] ..................... .
Write on 1447 Console ........................... .
Write on 1447 Console with Word Marks ............ .
Write Operation [EXPS] ........................ .
Write Operation [1301] ......................... .
Write Operation [1311] .......................... .
Write Operation Timing [7335] .................... .
Write Request [DDC] ........................... .
Write Request [7740] ........................... .
Write Request and Branch [DDC] ................. .
Write Request and Branch [7740] ................. .
Write Tape [7335]
........................... .
Write Tape Mark [7335] ......................... .
Write Tape with Word Marks [7335] ............... .
Write to IBM 1026 .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Write to IBM 1026 with Word Marks .............. .
Write to Primary [EXPS] ........................ .
Write to Primary with Word Marks [EXPS] ........ .
Write with Word Marks [7740] .................. .
Wrong-Length Record [1301] .................... .
Wrong-Length Record [1311] .................... .
Zero
Zero
Zero
Zero
Zero

F-26
D-3
D':'22
D-30
D-3
D-22
D-31
E-12
C-2
C-2
H-15
F-2
F-17
E-8
H-2
G-27
H-3
G-27
E-2
/E.,;4
E-3
G-45
G-45
H-24
H-25
G-28
F-ll
F-29

and Add (One Field) ........................ . B-5
and Add (Two Fields) ....................... . B-5
B-6
and Subtract (One Field) .................. .
and Subtract (Two Fields) ................... . B-5
Suppression Operation ...................... . B-21

I-Way System-to-System Data Transmission [DDC] ... .
1009 Run ...................................... .
1440 Register Operation ..................... .
2-Way System-to-System Data Transmission [DDC] .. ,
285 Cards per Minute [1442] .................... .
300 Cards per Minute [1442] .................. .. .
375 Cards per Minute [1442] .................... .
400 Cards per Minute [1442] .................... .

H-6
G-5
A-I0
H-I0
D-14
D-14
D-16
D-16

Technical Newsletter

System General 03
Re: Form No.

A24-1499-1
A24-1421-2
This Newsletter No. N24-0354
Date:

November 5, 1965

Previous Newsletter Nos.

N24-0314 (1419)
(1412)

N24~0316

This newsletter provides additional operating information for the IBM 1412 or
IBM 1419 when attached to the IBM System/360.
POWER ON - POWER OFF
A system-error condition will result if power to the 1412/1419 is turned on or
off while the System/360 is in operation. The following procedure must be used
when power is turned on or off on the 1412/1419:
1.
2.
3.
4.
5.
6.

Stop the CPU by pressing the stop key on the CPU console.
Set the rate switch on the CPU console to SINGLE CYCLE.
Press the start key on the CPU console.
Turn power on or off on the 1412/1419.
Set the rate switch back to the process position.
Press the start key to resume operation.

CHANNEL LINE TERMINATION
If the 1412/1419 is physically the last device on the channel (that is, the channel
line terminators are located in the 1412/1419), power to the 1412/1419 must be
on continuously whenever the System/360 is operating. The 1412/1419 can be
operated in anyone of the three available modes.

SORT MODE SELECTION
Changing the 1412/1419 from one mode to another can be done with the System/
360 in operation, provided the program in process is not using the 1412/1419.
Changing the mode of the 1412/1419 while the CPU program is communicating
with the 1412/1419 may cause a System/360 error condition.

IBM Corp., Product Publications Dept., Endicott, N. Y.

13764
N24-0354 (A24-1499-1) (A24-1421-2)

PRINTED IN U.S.A.

Technical Newsletter

File No. 1440-01
Re: Form No.

A24-3116-3

This N ewsletter No. N2 4- 03 92
Date:

December 30, 1966

Previous Newsletter Nos.

None

Replacement pages for System Operation Reference Manual, IBM 1440 Data
Processing System., Form A24-3116-3.

To bring your publication up to date, please replace the following pages with the pages
attached to this Newsletter. Changed figures are deSignated by a bullet (e) to the left
of the figure title. Changes to text are indicated by a vertical line ( I) next to the
affected text.
G37, G3S
G39, G40
G41, G42
G42.1, G42.2

Please insert this page to indicate that your publication now includes the modified
pages issued with this Technical Newsletter.

IBM Corp., Product Publications Dept., Endicott, N. Y.
PRINTED IN U.S.A.

13760



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                     : 2015:01:09 16:45:33-08:00
Modify Date                     : 2015:01:09 16:09:20-08:00
Metadata Date                   : 2015:01:09 16:09:20-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:357e9125-183c-f74b-9f46-69ceb715a932
Instance ID                     : uuid:60daac82-3d6c-0649-92e3-3988b1f1686a
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 279
EXIF Metadata provided by EXIF.tools

Navigation menu