A24 3071 2_1401_spec Feature 2 1401 Spec

A24-3071-2_1401_specFeature A24-3071-2_1401_specFeature

User Manual: A24-3071-2_1401_specFeature

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

DownloadA24-3071-2_1401_spec Feature A24-3071-2 1401 Spec
Open PDF In BrowserView PDF
File Number 1401/1460-13
Form A24,..3071-2

Systems Reference Library

Speci;;ll Feature Instructions
IBM 1401 Data Processing' System
IBM 1460 Data Processing System
The special features described in this publication
are available for the IBM 1401 and/or 1460 Data
Processing Systems. Each feature is described and
identified for the system to which it can be applied.
These features offer additional flexibility in applicatiems where special processing requirements exist.
Also included are the instructions for the special
features on the IBM 1402, 1403, and 1009 when these
units are used with the IBM 1401 or 1460 Data Processing System.
For a list of other publications and abstracts, see
the IBM 1401 and 1460 Bibliography, Form A24-1495.

Preface

Tape Input/Output Instructions (A24-3069)
Section F Tape Input/Output Operations

This publication is a portion of the reference text for
the IBM 1401 and 1460 Data Processing Systems. The
full set of manuals provides a detailed explanation of
all the instructions used by the system to manipulate
data. Detailed explanations of the instructions used
with the required and available input/output units attached to the system are also included. The reader
should be familiar with the IBM 1401 System Summary, Form A24-1401, or the IBM 1460 System Sum··
mary, Form A24-1496, and the various publications on
programming material, such as Symbolic Programming
System (SPS) and Autocoder.

Disk Input/Output Instructions (A24-3070)
Section G Disk Input/Output Operations
Miscellaneous Input/Output Instructions (A24-3068)
Section H Miscellaneous Input/Output Operations
Special Feature Instructions (A24-3071)
Section I Special Feature Operations
The sections are independent and do not have to be
used in!!le order in which they appear. A System
Reference Library can be compiled using those sections applicable to the user's mach,ine configuration.

The complete manual is divided functionally into
these sections:
System Operation Reference Manual (A24-3067)
Section
Section
Section
Section
Section

This publication is intended for programmers and
systems personnel who have a general knowledge of
the IBM 1401 or 1460 Data Processing Systems and who
require a reference text for detailed information.

A Introduction
B System Operations
C IBM 1406 Operations
D IBM 1447 Operations
E IBM 1402 and 1403 Operations

Other publications referenced here are, in most
cases, prerequisites for a complete understanding of
the material presented in this publication.

Maior Revision, November 1964
This publication, Form A24-3071-2, is a major revision of A243071-1. It does not, however, obsolete the previous publication.
The added material includes the instructions for the special
features on the IBM 1402, 1403, and 1009 when these units are
used with the IBM 1401 or 1460 Data Processing System.

Copies of this and other

IBM

publications can be obtained through

Address comments concerning the content of this publication to

IBM

IBM

Branch Offices.

Product Publications, Endicott, New York

Reprinted Mar ch 1966

© 1960, 1961, 1962, and 1963 by International Business Machines Corporation

13764.

I

Contents

Special Features ............................................................

1-1

Adapter, 51-column Feed (1401, 1460) ................
Advanced Programming (1401) ...............................

1-1

Indexing .................................................................................
Store Address Register ........................................................
Move Record (1401; Standard on 1460) ............................

Binary Transfer (1460) ................................................
Bit Test (1401, 1460) ..................................................
Column Binary (1401) ................................................
Binary Tape Instructions ................................... ........
Compressed Tape (1401, 1460) ................................
Console (1447, Model 2 or 4)
Attachment (1460) ......................................................
Console Inquiry Station Adapter (1401) .............
Direct Data Channel (1401, 1460Y- ........................

1-1
1-1
1-2
1-4
1-5
1-5
1-5
1-8
1-10
1-12
1-12
1-12
1-12
1-14
1-15

Signal Control Instructions ................................................
Branch Instructions (Direct Data Channel) ........................
Move and Load Instructions ................................................
Instruction Utilization in the Program ............ ....................:r:16

Direct Seek (1460) ........................................................
Disk Storage Control (1460) ........ ........ ....................
Disk-Storage Drive Adapter (1401) .......................
Expanded Print Edit (1401 and 1460) .................
High-Low-Equal Compare Feature (1401;
Standard on 1460) ....................................................
Indexing and Store Address Register (1460) ....
Multiply-Divide (1401, 1460) ....................................
Multiply and Divide Timing ....................................
Multiply and Divide Subroutines ..........................
Numerical Print Control (1401, 1460) ...................
Print Control (1401) .....................................................
Print Control, Additional (1401) .............................
Print Sto:rage (1401, 1460) .........................................
Printer (1404) Adapter (1401) ..................................

1-20
1-21
1-21
1-21
1-23
1-24
1-24
1-27
1-27
1-30
1-30
1-30

Printer Adapter - 1403 Model 3 (1460).............. 1-33
Printer Control AdapterSecond Printer (1460) .............................................. 1-33
Processing Overlap (1401, 1460) ............................. 1-33
Processing-Overlap Instructions ...........................................
Programming Considerations ...............................................
System-Interlock Conditions .................................................
Processing-Overlap Timing ...................................................

1-34
1-40
1-41
1-42

Punch-Feed Read Control (1401, 1460) ..............
Read Compare Adapter (1401) ...............................
Read-Punch Release (1401, 14:60) ..........................
Scan Disk (1460) ..........................................................
Seek-Overlap Adapter (1460) ...................................
Selective-Tape-Listing Control (1401, 1460) ......
Sense Switches (1401) .................................................
Serial Input/Output Adapter (1401, 1460) .........
Space Suppression (1401; Standard on 1460)...
Tape Intermix (1401, 1460) .......................................
Track Record (1460) ....................................................
Translate (1460) ..............................................................

1-45

General Description of Translate .........................................

1-45
1-45
1-47
1-48
1-48
1-48
1-49
1-49
1-49
1-49
I-53
I-54

Transmission Control-Unit Attachment (1460).. I-57
800 CPI Feature (1401) ............................................. I-57
IBM 1402 Special Feature Instructions
and Timing ................................................................... I-57
Early Card Read (Modell only; Standard on Model 3) ....
Punch Feed Read (Models 1 and 3 only) ..........................
IBM

I-57
I-59

1403 Special Feature ........................................... 1-62

Selective-Tape-Listing Feature ..........................................

1-62

Buffer Feature for the IBM 1009 Data
Transmission Unit ............................................ ........ 1-64
IBM 1009 with Buffer (Instructions) ....................... 1-64

1-30

Maximum Processor Time Required for
Movement of Data ........ ................. ........ ........ ....................

1-33

Index .................................................................................. 1-69

1-64

I

Special Features

Adapter, 51-Column Feed (1401, 1460)
This feature is required when the 51-column inteTchangeable-read-feed special feature is installed on the
IBM 14m~ Card Read-Punch, MQdel 1, fQr the 1401
system or the IBM 1402, Model 3, for the 1460 system.
The adapter furnishes the cQntrolling circuitry necessary for the proper operation of the 51-column readfeed special feature.
For mQre detailed information on the 51-column
interchangeable-read-feed special feature refer to IBM
1402 Card Read-Punch, A24-3072.

The A- and/O'r B-address specifies which index register will be used by a combination of A- and B-bits
in the tens PQsition of the address. The bit combinations and the registers they specify are:
Bit Combination
A-hit, No B-hit
B-hit, No A-hit
A-hit, B-hit

Index Register No.

The advanced-programming feature prQvides the 1401
system with greater prQgram flexibility, by making
address indexing, address storing, and record mQvement more automatic. The variQus parts of the advanced programming feature and their methQd Qf QperatiQn are described in this sectiQn.

Indexing
The indexing PQrtiQn of the advanced-programming
feature provides three 3-positiQn index locations (registers) that can be used to' modify addresscs automatically. These three index registers are part of core
storage and can be used as nQrmal storage positiQns
when not being used as index-register locations. The
assigned core-storage addresses and index register
numbers are:
Index-Register No.
1
2

3

C ore-S torage' Positions
087 - 089
092 - 094
097 - 099

The index factor can be placed in the index register
by normal programming (add or move operatiQns, for
example) and the factQr can be changed (add operations norrnally). In these instances, a word mark should
be initially set in the high-order PQsition of the index
register befQre inserting or changing the index factor.
Both the A-address and/or the B-address can be
modified by the index factor in anyone of the three
index registers; however, only core-storage addresses
can be modified.

3

Zone Punch
Zero
Eleven
Twelve

When the tens PQsition of an A- and/or B-address
contains one of these zone-bit combinations, the address is referred to as being tagged.
Positions
J,
AAA

OP

Advan(:ed Programming (1401)

1
2

Tagged
J,
BBB

The modification of the A- and/or B-address occurs
in their respective address registers. FQr instance, if the
A-address is indexed, the indexing occurs in the Aaddress register. This means the original instruction in
storage is in no way changed or modified.
When a program is written using the symbolic programming system, indexing is indicated by writing a
1, 2, and 3 in the index column of the symbolic coding
sheet (cc27 for (A) operand--cc38 for (B) operand).
Digit
1
2
3

Result
Index operand by contents of 087-089
Index operand by contents of 092-094
Index operand by contents of 097-099

The (A) and (B) Qperands can be symbolic of actual
addresses. In the processing Qf instructions:

1. The A-address and B-address are analyzed for indexing as they are moved intO' the address registers.
2. The contents of the proper index location (indexing
factor) are added to the CQntents of the address
register and develops the effective address there,
when indexing is indicated.
3. Three Qr four additional cycles are required fQr
each address indexed.

Increasing an Address

To increase a core-storage address using the indexing
feature, the contents of the index location are added to
the selected address register. Figure I-I illustrates various methods of address modification using the index
locations.
1-1

INSTRUCTION
IN STORAGE
BEFORE

M.

080

lA7

010 025

050

AFTER

M.

080

lA7

010 025

050

BEFORE

M.

OSO

1J7

010 025 050

AFTER

M

OSO

1J7

010 025

BEFORE

M.

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 1-1.

INDEX LOCATION
1
2
3

EFFECTIVE
INSTRUCTION

--

. - ~-

..

._.

M.

-.-~--.

080

167

--------------

050

-.--

M.

030

M

J70 880

142

I

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 factor 16000 - 10 (15990)
( Complement)
The 15990 converts to the 3-digit factor I9? (Figure 1-2).
U sing the modulus 16 nIles, 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 15000-15999
block address). The addition of the A-bit increases the
value of the zone bits to 16 which, according to
modulus 16, has an address value of 0 (000-999 block
address). 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 program 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 pr0'gram instructions that
are executed, if a particuler condition arises during
the main routine. For example, if an unequal compare
0'ccurs 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 meth0'd must
be employed to link it with the main program. The
functi0'n of the STORE A-ADDRESS REGISTER and STORE
B-ADDRESS REGISTER instructi0'ns is to establish subroutine linkage S0' that upon leaving the sequence of the
main pr0'gram it is possible to execute the steps of the
subr0'utine, and return to the main program where the
sequence was interrupted.

Store A·Address Register

Instruction Format.
Store Address Register
The store-address-register portion of the advancedprogramming special feature makes 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
INDEX LOCATION
2
3
1

INSTRUCTION
IN STORAGE
---_._---

BEFORE
.

_ _.

--

AFTER

-~~-----.-

i

123 9T7

---~--

1.

-

..

...-

+

- - -

19?

=

Converting Address

-

-----

927 (with overflow)

=

1-2

-----

19? -

1= (AB9)
?
(ABO)

Figure 1-2.

EFFECTIVE
INSTRUCTION

.-

017 Code

A-address

SAR

Q

xxx

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.

19?

---

123 9T7

937

----

Mnemonic

1

123 927

Timing. T

= .0115

(LI

+ 5)

ms.

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

A-Add. Reg.
A-3

B-Add. Reg.

Ap

Example. Sture the contents of the A-address register
in area labeled AADRG (0625), Figure 1-3.

SPS
IAIOPERANO
OPERATIONI---A-OO-.ES-S

1,"':2.,;--_AO_J·---¥-'+=-_ _------'""'.~c:,._IA_OJ,____+"..'+'.<;l.

1111 17

o

I

0

020

L_-._.L._.L

~f--:-..,-

lSI OPERAND

-TI-:!:~'·-HA-R.--r-7l--AO-OR-ES-S--Ol-':!:I-CHA-R.---.---4~ d

LABEL

"'tUj,LTE.JLl_~-L--l----Ic--L--'--'

1ft

LL

f:"-~r-~

Autocoder
Autocoder

Label

OPERAND
~,~.~~perati~l~~.-~'---""-~
t==:r=: ':tSAR :~AD.R~
55
45

10

Figure

I-~3.

!!O

625

!lAs,/.

OPERAND

I

~Q

,~

[au

1fu./...r.A.U~-,

:I

MR

[L,ASr+~

I

If.1

In

I

40

Assembled Instruction: Q

~perati~

I

i

Store Contents of A-Address Register

~~

~~

4Q

lIQ

~

Assembled Instruction: B 495
(address machine-assigned)
.!! (address in main routine
following the ! 495 instruction)

.E

Figure 1-4.

Store Contents of B-Address Register (One Field)

Store B·Address Register (One Field)
Store B·Address Register (Two Fields)

Instruction Format.
Op Code

Mnemonic
SBR

A-address
xxx

H

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 instruction.
Word M'arks. Word marks are not affected.
Timing. T = .0115 (LI
~

+ 4 or 5(/<)

Instruction Format.
Mnemonic
SBR

Op Code
H

A-address
xxx

B-address
xxx

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-ADDRESS REGISTER inshTlction. The B-address
register contains the number specified by the Baddress portion of the STonE B-ADDRESS REGISTER
instruction.
Word Mark.s. Word marks are not affected.

ms.

Plus 4 or 5 depends on the presence or absence of zone bits
in the units position of the address being stored.

Note. When indexing is installed in the IBM 1401, the functioning of all branch instructions is altered to simplify subroutine
linkage. With these alterations, each time a branch occurs as
a result of one of these instructions, 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 distinct points in the main program, this use of the SBR operation
makes the subroutine linkage complete.

Timing. T
~

= .0115

(LI

+ 4 or 5(/<)

ms.

Plus 4 or 5 depends 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.
Bp

Example. Store contents (456) of the B-address register
in the area labeled BADRG (123), Figure 1-5.

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

A-Add. Reg.
A-3

B-Add. Reg.
Bp

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
. subrou tine linkage (Figure 1-4). The last instruotion
(labeled LAST) plus three will contain the address
of the next instruction in the main routine.

Autocoder

I'

Label

.:
Assembled Instruction:!!

Figure 1-5.

123 456

Store Contents of B-Address Register (Two Fields)
1-3

Move Record (1401; Standard on 1460)
The move record portion of the advanced-programming special feature provides a special MOVE instruction that makes it possible to move a complete record
from one storage area to another, without regard to
word marks within the record. This instruction is especially desirable in magnetic tape operations.
This feature is standard on the 1460 system.

operation. Any word marks in the B-field remain
unchanged. A-field word marks are not transmitted
to the B-field.
Timing. T
\) N
\) N

= N~

(LI

+ 1 + 2L A )

ms.

= .0115 on 1401 system;
= .006 on 1460 system

I

Address Registers After Operation.
I-Add. Reg.
NSI
Move Characters to Record or Group Mark

Instruction Format.
Mnemonic
SPS MCM
A MRCM

Op Code
p

A-address

B-address

xxx

xxx

Function. This operation code 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 groupmark with a word-mark (WMBA8421 bits) is sensed
in the A-field. The record mark or group mark
transfers to the B-field.

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

Example. Move the tape 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 1-6).

Autocoder

I'

OPERAND

:~ . ~

Label
!

:

Assembled Instruction:!

Word Marks. Word marks within the area do not affect
the MOVE CHARACTERS TO RECORD OR GROUP MARK

1-4

B-Add. Reg.
B + LA

Figure 1-6.

679

985

Move Characters to Record or Group Mark

Binary Transfer (1460)

Column Binary (1401)

This special feature makes it possible to process cards
and magnetic-tape data recorded in column-binary
form. This provides compatibility between the IBM
1460 and IBM scientific data processing systems, such
as the IBM 704, 709, and 7090.
Auxiliary operations that can be performed for largescale binary systems are:

This feature makes it possible for the IBM 1401 Data
Processing System to process column-binary-coded
cards and magnetic tapes used with IBM scientific data
processing systems such as the IBM 704, IBM 709, and
IBM 7090.
The reading, writing, and logic operational facilities
of the 1401 can be used to process the binary-coded
data.
The operation codes and instructions described in
this section are used whenever:

1. Card-to-tape.
2. Tape-to-card
3. Tape-to-tape
4. Card-to-card
5_ Card-to-printer
6. Tape-to-printer
7. Tape sorting, editing and merging

1. The information to be read or written is in binary
cards or binary-coded tapes.
2. There are invalid multiple punches in cards containing the standard IBM card code. This means that
cards, coded with several punches in one column,
that were designed for other machines can be entered by using this feature.

8. File maintenance
This special feature is the same as the column-binary
special feature on the 1401, with one exception. The
binary transfer special feature does not have the
BRANCH IF BIT EQUAL instruction as does the columnbinary feature. For more detailed information on this
feature, refer to the Column Binary section of this
publication. Replace 1401 timing (.0115) with 1460
timing (.006) in all instructions.

Bit Test (1401, 1460)
This special feature is available on both the IBM 1401
and 1460 systems. It is a BRANCH instruction that causes
thc character located at the B-address to be compared,
bit by bit, with the d-character. If any bit in the character located at the B-address matches any bit in the
d-character, the program branches to the specified 1address (WM and C-bits are not compared).
For more detailed information on the bit-test special
feature, refer to the BRANCH IF BIT EQUAL instruction in
the Column Binary seetion of this publication. Replace
1401 timing (.0115) with .006 for 1460 timing.

Read Column Binary

Instruction Format.
Mnemonic
SPS R
A RCB

Op Code

d-character

1

C

Function. This instruction causes the card at thc read
station to be read into the 1401 in the binary mode.
During the reading of a card, the read cycle is
divided into two parts, and three different areas in
storage receive the data. Card cycle 9 through 4
time uses the normal read addresses 001-080, and
column-binary-read area addresses 501-580. The
other portion of the card cycle (3-12 time) uses addresses 001 through 080, and 401 through 480. Note
that storage locations 001-080 are common read-in
locations for both halves of the read cycle.
At the completion of this read operation a BCD
coded image of the card is stored in address'es 001
through 080, just as in normal card reading. The
portion of the card that contains column-binary information appears as hash in the corresponding addresses 001-080, and the portion of the card that
contained alphamerical characters is stored in BCD
code in addresses 001 through 080. Storage addresses
401-480 and 501-580 contain the true card image. In
1-5

PUNCHES IN CARD COLUMN

BCD CODE
Storage

C

B

12

Addresses

A
8

11

401-480

4
2
1

o
2
3

~---------------------------~oroge

C
B

Addresses

501-580

A

4
5

8

6

4

7

2
1

8
9

~------------------------------

Storage

C

A

001-080

2

8
4

(BCD equivalent of the card
punches if alphamerical,

2
3
4
5
6

hash if true binary.)

7

1

8
9

Figure 1-7.

Autocoder

I.
._

Label

I

iperati~
I
I

OPERAND
Z5

!!!!

59

Assembled Instruction:

Figure 1-8.

:~ . ~

49

1 c

Read Column Binary

12
11
0

B
Addresses

Example. Read the card at the IBM 1402 read station in
the column-binary mode (Figure 1-8).

BCD Code and Column Binary Punches

these areas all alphamerical characters and all column-binary information appear as illustrated in
Figure 1-7.
If, for example, the following information is recorded in a binary card and appears in core storage:
Card-column 1 contains an IBM card-code H which
is represented by a 12-punch and an 8-punch.
Storage Locations

Contains
BA8

001
401
501

B
2

Card-column 2 is part of a binary field and contains punches in rows 12, 0, 1, 3, 4, 5, 6, 7, and 9.
Storage Locations

Contains
hash
CB841
BA841

002
402
502

Read Column Binary and Branch

Instruction Format.
Mnemonic
SPS R
A RCB

Op Code
1

I-address
xxx

d-character
C

Function. This is the same as READ COLUMN BINARY, except that the next instruction is at the I-address.
Word Marks. Word marks are not affected.
Timing. T

= .0115

(LI + 1) ms

+ I/O.

Note. The READ COLUMN BINARY AND BRANCH instruction
( !xxxC) cannot be combined with any other operation.
Read checking of input data is unchanged, except for the
validity check, which is not performed because all characters
read are considered valid.

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

A-Add. Reg.
BI

B-Add. Reg.
481

Example. Read the card at the read station in column
binary mode, and branch to BININ (0922) for the
next instruction (Figure 1-9).
'

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

= .0115

(LI + 1) ms

+ I/O.

Note. The READ COLUMN BINARY instruction (!C) cannot be
combined with any other operation.
Read checking of input data is unchanged, except for the
validity check, which is not performed because all characters
read are considered valid.

Autocoder
Label

.:

Address Registers After Operation.

t

I~

r9ti~

~

OPERAND
20

59

Assembled Instruction:!

I-Add. Reg.
NSI
1-6

A-Add. Reg.
dbb

B-Add. Reg.
481

Figure 1-9.

IS

922

Read Column Binary and Branch

49

C

:~ .

:

I

Punch Column Binary

Punch Column Binary and Branch

Instruction Format.

Instruction Format.

Mnemonic
SPS P
A PCB

Op Code
4

d-character
C

Function. This instruction, executed in two parts, requires that the information be stored in two different
areas. Information that is to be punched in rows 12-3
(card columns 1-80) is stored in locations 401-480.
Hows 4-9 of the card (columns 1-80) are punched
from storage locations 501-580.
U sing the same data shown in the READ COLUMN
BINARY example, the card is punched:
Storage Locations

BCD

Punches

401
501

B
2

12
8

I-address
xxx

d-character
C

Function. This is the same as the PUNCH COLUMN
BINARY instruCtion, except that the next instruction is
taken from the I -address.
Word l'.1.arks. Word marks are not affected.
Timing. T

= .0115

(LI + 1) ms

+ I/O.

Note. The PUNCH COLUMN BINARY AND BRANCH instruction
( 4xxxC) cannot be combined with any other operation. The
punch checking of output data is unchanged.

I-Add. Reg.
NSI

A-Add. Reg.
BI

B-Add. Reg.
181

Example. Punch a card in fhe column-binary mode,
and branch to BINCD (0986) for the next instruction
(Figure 1-11).

Punches

BCD
CB841
BA8 Ll!

402
502

Op Code
4

Address Registers After Operation.

This combination causes the H to punch in card
column 1.
Card column 2 is punched in rows 12, 0, 1, 3, 4, 5,
6, 7, and 9 as transferred from:
Storage Locations

Mnemonic
SPS P
A PCB

12,0,1,3
4,5,6,7,9

Word Marks. Word marks are not affected.
Autocoder

Timing. T

= .0115

(LI

+ 1) ms + I/O.

Note. The PUNCH COLUMN BINARY instruction (1C) cannot be
combined with any other operation. The punch checking of
output data is unchanged.

Assembled Instruction:

Figure 1-11.

1.

986

C

Punch Column Binary and Branch

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

'A-Add. Reg.

B-Add. Reg.
181

dbb

Example. Punch the card at the punch station in the
column-binary mode (Figure 1-10).

Branch if Bit Equal

Instruction Format.
Mnemonic
BBE

Autocoder

~

l~l:

I~t;ti~~

50

Assembled Instruction:

Figure I-JLO.

Punch Column Binary

OPERAND
35

~

C

40

45

Op Code
W

I-address
xxx

B-address
xxx

d-character
x

Function. The d-character can contain any character or
any combination of bits (BA 8421) that can exist in a
single position of the 1401 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.
1-7

"Vord "P.larks. Word marks are not affected.

of the tape record. The WRITE BINARY TAPE and READ
instructions cause the data to be recorded
in this manner.

BINARY TAPE

Timing. T = .0115 (LI

+ 2)

ms.

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

A-Add. Reg.
B1

B-Add. Reg.
B-1

Example. Examine the stoTage locatian labeled UNPOS
(0759) fOT a match in the d-character bit configuration. The d-character is a 9 (8- and I-bits). Therefore, if the character cantains either an 8- or I-bit,
the pragram branches to BITEST (0985), Figure
1-12.

Autocoder

Assembled Instruction:

Figure 1-12.

'!!.

985

759

9

Move and Binary Decode

I

Instruction Format.
Mnemonic Op Code
SPS Mew
M
A MBD

A-address
xxx

B-address
xxx

d-character
A

Function. This instruction arranges data in the correct
order for tape writing. The A-address is usually 572
or 580, depending on whether the card has 72 or 80
columns of binary data. It specifies the units or loworder position of the record. The B-address specifies
the low-order position of the area in core storage
from which the record is tOo be written on tape by a
WRITE BINARY TAPE instruction. The d-character specifies that this is a move and binary decode operation.
At the completion of this operation, the tape-write
area (B-address) contains the data from both the
401-480 and 501-580 areas in this sequence:

Branch if Bit Equal

401, 501, 402, 502, 403, etc.
Word Marks. A wOTd mark must be preset in the 401480 area to signify the high-order character of the
recoTd (normally in location 401). Any word mark
encountered stops the transfer to the tape-write area.

= .0115

Timing. T

Column-binary information should be recorded on
magnetic tape in its logical order. To do this it is necessary to arrange the data from storage locations 401480 and 501-580 in the fallowing sequence in a tapewrite area:

Address Registers After Operation.

Address 401 followed by 501, followed
by 402, 502, etc., until the entire area
is so arranged.

This puts the 12-3 data next to the 4-9 data from the
same card column, in the proper sequence for writing
on tape.
This arranging can be done automatically by a MOVE
AND BINARY DECODE instruction.
Conversely, data read from a tape unit can be arranged as a card image with 12-3 punches in the 401480 area and 9-4 punches in the 501-580 area. The
MOVE BINARY CODE operation performs this function.
Column-binary information must be written on magnetic tape in the odd-parity mode. This means that an
odd number of bits must be recarded in each position
1-8

I-Add. Reg.
NS1

(LI

+ 1 + 2Ln)

Binary Tape Instructions

ms.

A-Add. Reg.
Address of the
400 area preset
word mark + 99.

B-Add. Reg.
B-LB

Example. Write the data in 401-480 (labeled CLB14A)
and 501-580 (labeled CLB15A) areas in the tapewrite area labeled BITPAR (2080), Figure 1-13.

Autocoder
OPERAND

:~
Assembled Instruction:

Figure 1-13.

~

Move and Binary Decode

580

!80

A

,

:

Move and Binary Code

Instruction Format.
Mnemonic Op Code
SPS MCVV
M
A MBC

A-address
xxx

B-address
xxx

d-character
B

Function. Information read from magnetic tape is arranged into a coded card image in binary form, when
this instruction is used. Data to be punched in rows
12-3 is transferred to core-storage-area locations 401480, and data to be punched in rows 4-9 is stnred in
the 501-580 area for punching. The A-address specifies the units position of the tape read-in area, and
the B-address is usually 572 or 580, depending on
the number of columns to be punched. The d-characteT (13) specifies a move-hinary-code operation.
Word Marks. A word mark must be preset in the highorder position of the B-field (normally 401) to stop
the operation.
A word mark in the high-order position of the
A-field can be set to stop the operation after the
following B-cycle if desired.
Timing. T = .0115 (L r

+ 1 + 2LB )

ms.

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 columnbinary-tape operation. The B··address specifies the
high-order position of the tape record in core storage. The d-character indicates a tape-write operation. The sensing of a group-mark with a word-mark
in core storage stops transmission from the system to
the tape unit.
Word Marks. Word marks are not affected.
Timing. T

= .0115

(L r

+ 1)

ms

+ TM •

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

A-Add. Reg.
%2x

B-Add. Reg.
GM-WM+l

Example. Write a tape record in the binary mode on
the tape unit labeled 4, with the data stored in the
area labeled BTPOUT (2001) and ending at the
group-mark with a word-mark sensed in core storage
(Figure 1-15).

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

A-Add. Reg.

B-Add. Reg.
The address of the
preset word mark in
the 400 area + 99.

A-LA

Example. Move the data from the tape read-in area,
labeled BITPAR (2080), to the column-binary punch
area CLB14A (0401-0480) and CLB15A (0501-0580),
and store it in the proper sequence for punching
(Figure 1-14).

Autocoder

I'

Label

.:
Assembled Instruction:.M

Figure 1-15.

%B4

!01

W

Write Binary Tape

Read Binary Tape

Instruction Format.

Assembled Instruction:

Figure 1-14.

M

!80

580

B

Move and Binary Code

Write Binary Tape

Instruction Format.
Mnemonic
SPS MU
A WTB

Op Code
M

A-address
%Bx

B-address
xxx

d-character
W

Mnemonic
SPS MU
A RTB

Op Code
M

A-address
%Bx

B-address
xxx

d-character

R

Function. A tape record writtern 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 wordmark 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.
Word "Atlarks. Word marks are not affected.
1-9

Timing. T

= .0115

(LI + 1) ms + TMo

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

A-Add. Reg.
%2x

B-Add. Reg.
Message Length + 1

Example. Read the binary tape record from the tape
unit labeled 5 into the area of core storage labeled
BTPIN (2080) and ending at the group-mark with a
word-mark sensed in core stO'rage or at the first interrecord gap encountered in the tape record (Figure
1-16) .

Function. This operatiO'n code causes an entire tape
recDrd to' be read intO' core storage beginning at the
B-address and ending with the detection of an interrecDrd gap (IRG) in the tape recDrd. A group-mark
without a word-mark is placed in storage at the right
of the last data character transmitted when the IRG
is sensed. At the end of the operation, the B-address
register contains the address of the inserted group
mark.
Mode changes (alpha to numerical and vice versa)
are made automatically, and are controlled by the
presence of mode change characters (Ll) in the tape
record.
Word Marks. Word marks are not affected.
Timing. T

Autocoder

r

Label

.:

'38

=,

Figure 1-16.

(LI + 1) ms

+ TM •

Address Registers After Operation.

arPIN , ~o

Assembled Instruction:!!

=N

%85

180

I-Add. Reg.
NSI

R

Read Binary Tape

A-Add. Reg.
%3x

B-Add. Reg.
Address of the inserted
group mark

Example. Read a tape record from tape unit 2 (labeled
2) in the area O'f core storage labeled TPAREA
( 0498 ), Figure 1-17.

Compressed Tape (1401, 1460)
This feature makes it possible for the IBM 1401 and
1460 Data Processing Systems to' read compressed tape
prepared by the IBM 7070 Data Processing System, and
to expand it within core storage for processing by the
stored program.
The 7070 writes a compressed-tape record under
contrO'I of the WRITE WITH ZERO ELIMINATION (TWZ or
TWC) instruction. By using this 7070 instruction, as
many as five high-order zeros in each numerical word
in storage can be eliminated while the data is recO'rded
on magnetic tape, thus conserving tape capacity and
read-write time.
The READ COMPRESSED TAPE and MOVE AND INSERT
ZEROS operation codes are incorporated in the 1401 to
enable it to process cDmpressed-tape re-cO'rds.

Autocoder

r

Label

.:

,

Instruction Format.
Mnemonic

Op Code

MU

M

1-10

A-address
%Cx

B-address
xxx

d-character
R

51!

Assembled Instruction: M

Figure 1-17.

%C2

OPERAND
5

40

498

R

Read Compressed Tape

Move and Insert Zeros

Instruction Format.
Mnemonic
MIZ

Read Compressed Tape

trQtl~

Op Code
X

A-address
xxx

B-address
xxx

Function. The MOVE AND INSERT ZEROS instruction
moves the compressed tape data that was read intO'
core storage by a READ COMPRESSED TAPE instruction
to another storage area, and expands each field to' fill
the stDrage IDcations allotted to it by the field-defining wO'rd marks. The A-address specifies the units

I

position of the compressed tape record in core storage. (To obtain the A-address, execute a STORE
B-ADDRESS REGISTER instruction immediately following the execution of the READ COMPRESSED TAPE instruction. This stores the address that contains the
group mark ( =F) that indicated the end of the compressed tape record.) The B.-address of the MOVE AND
INSERT ZEROS instruction specifies the units positiOon
of the expanded area. The data moves from the compressed area to the expanded area, and zeros are inserted into the high-order positions of the expandedarea fields.

Word Marks. Word marks must be preset in the expanded area to indicate the high-order position of
each field. A group-mark, with a word-mark that has
also been preset by the program, must appear at the
position immediately tOo the left of the high-order
storage location of the A-field. It is this group mark
that signals the end of the MOVE AND INSERT ZEROS
operation.
Timing. T = N (LI
~

= Number

+1+2 ~

LA ~ Lz) ms.

of fields included in an operation.

Note. When the IBM 7070 writes a tape record, it writes each
word on tape in either the alphabetic or numerical mode.
Each time the mode changes from alphabetic to numerical or
vice versa, a mode change character, delta (Ll), is automatically written on tape. Each time a delta is read into core
storage by the READ COMPRESSED TAPE instruction, it changes
the setting of an internal switch to either the alphabetic or
the numerical indication, corresponding to the mode. Thus,
at the completion of the operation, the mode change switch
indicates the mode setting of the last tape character read.
In the expand operation, the setting of the internal mode
switch determines the method of operation. The machine
works on the MOVE AND INSERT ZEROS operation from right to
left, moving the data, field by field, from the compressed area
to the expanded area. If the compressed-area field is alphabetic, it is moved, intact, to the expanded-area field, as defined by the preset word marks. To ensure proper operation,
the expanded alphabetic fields should be equal in length to
the alphabetic fields read from tape. If the data are numerical, they are moved digit-by-digit, low order to high order,
until a zone bit (indicating sign position) or Ll (delta) is encountered. If any high-order positions in the expanded field
are unfilled, zeros are inserted until a word mark is sensed.
During this operation, the detection of a Ll in the compressed
area changes the setting of the mode switch, and the mode
of operation changes from alphabetic to numerical, or viceversa.

Example. A 4-wOord compressed-ta.pe record is prepared
by the IBM 7070:
Field
Part name
Part number
Unit Cost

Mode
alpha
numerical
numerical

IBM 7070 Storage Words
two words
one word, always plus
one word, always plus

The part number can be from twOo to seven digits
in length. The unit cost can be from three to six
digits. The compressed-tape record, written by the
7070 for a specific part, looks like this:
EXTbbSHANK~0475CI154E

The letter C is a plus sign over units digit 3. The E
is a plus sign over units digit 5. The mode switch is
set to alpha mode during the compressed tape operation instruction time. Therefore, it was changed to
the numerical mode by the ~. It is necessary to perfOorm the expand operation before the next READ
COMPRESSED TAPE instruction.
Figure 1-18 shOows the three program steps that
read and expand the cOompressed-tape record for this
example. A group-mark with a word-mark has been
preset in position 0699.
The READ COMPRESSED TAPE instruction reads into
core-storage lOocatiOons 0700-0721:
EXTbbSHANK~0475CI154E $

After the operation, the B-address register contains
the address of the group mark (0721). The STORE
B-ADDRESS REGISTER instruction modifies the MOVE
AND INSERT ZEROS instruction soo that the A-address
contains 721:

x

000

X

721

724
724

before
after

The maximum size of the compressed tape record
is 24 positions (to accommodate a 10-character part
name, a 7-digit part number, a 6-digit unit cost, and
the mode-change character). Thus, the expanded
SPS

OPERAND
40

00

Address R:egisters After Operation.
I-Add. Reg.
NSI

A-Add. Reg.
Address of preset
group-mark with a
word-mark -1 at immediate left of tape
read-in area.

B-Add. Reg.
At last word-mark
in B-field minus one.

Assembled Instruction:
M %C2 700 R located in storago positions 433-440
1:! 448
located in storage positions 441-444
X 000 724 located in storage positions 445-451

Figure 1-18.

Move and Insert Zeros
1-11

area is defined as locations 700-724 (the 25th position is for the group mark, =F). \Vord marks are
preset in positions 700, 711, and 718.
The MOVE AND INSERT ZEROS instruction first tests
the mode switch, and then moves the unit cost field
and the group mark (1154E $) from the compressed
field locations, 716-721, to the expanded field locations, 719-724. The detection of the zone bits in the
letter C of the part number indicates the units position of the next field. Because no mode-change character is detected, the mode switch continues to
indicate numerical. A zero is inserted in position 718.
The preset word mark in that position stops the insertion of additional zeros in the unit-cost expanded
field. In a similar way, the 0475C part number moves
from positions 711-715 to positions 713-717, and
zeros are inserted in positions 712 and 711, halted by
the word mark in location 711. The ~ in position 710
indicates the units position of the next field (part
name).
The ~ changes the setting of the mode-change
switch from numerical to alphabetic. In the alphabetic mode, characters are moved without insertion
of zeros.
The expanded area in core storage after the operation looks like this:

EXTbbSHANK~000475COI154E

*

NOTE: To conserve storage, the compressed area overlaps
with the expanded area in this example.

Console (1447, Model 2 or 4)
Attachment (1460)
This special feature provides for the attachment of a
console input-output printer to the 1460 system.
For more detailed information on the 1447, refer to
IBM 1447 Console, Form A24-3031.

Console Inquiry Station Adapter (1401)
This feature provides the additional circuitry to attach
an IBM 1407 Console Inquiry Station to the 1401. For
more detailed information on the 1407, refer to IBM
1407 Console Inquiry Station, Form A24-3084.
1-12

Direct Data Channel (1401, 1460)

This feature provides for the attachment of the following data processing systems through their serial I/O
adapters: 1401-1401; 1401-1440; 1401-1460; 1440-1440;
1440-1460; 1460-1460.
With the direct-data-channel special 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 on either system.
The cable length between the two systems can be
any length up to a maximum of 100 feet.
Data transmission takes place serially by character
and parallel by bit (WM BA8421 plus a parity bit). Because word marks can be transmitted, the 1401 systems
must have the engineering change installed that adds
the WM bit line.
The type of data transmission operation that can be
performed is varied and at the discretion of the customer. Depending on the written program, both systems can send and receive data, or one 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

instructions

and

LOAD

instructions.

Signal Control Instrudions
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.
NOTE: The Autocoder mnemonic for SELECT STACKER instruction (SS) can be used with the C, D, and Ed-characters for
direct-data-channel instructions.
The diagnostic phase of Autocoder will flag the instruction as
an error, because it assumes that the d-character represents a
stacker. However, the error flag can be ignored because the
assembled instruction in the output object program will contain
the intended (C, D, and E) d-characters.

I

Example. The system executing this instruction signals
the other system that it wants to send data to the
other system (Figure 1-20).

Read Request

Instruction Format.
Mnemonic

Op Code

SS

K

d-character
C

Autocoder

~

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.

OPERAND

Label

10

.:
.K

Assembled Instruction:

Figure 1-20.

10

15

D

Write Request

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

=N

(LI

+ 1) ms.

Address Hegisters After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

dbb

dbb

Reset

Example. The system executing this instruction signals
the other system that it wants to receive data from
the other system (Figure 1-19).
Autocoder
OPERAND
10

It)

Assembled Instruction:

'Figure 1-19.

K

15

10

C

Read Request

Instruction Format.
Mnemonic

Op Code

d-character

SS

K

E

Function. This instruction originates a signal that resets
the end of transmission circuitry in the other system.
This reset operation cannot be tested for in the other
system.
This instruction must be given prior to each execution of a read or write data instruction. It must
be executed by the 1401 (if one of the machines
is a 1401) every time the other machine is started or
restarted. This is the only way to reset the end-oftransmission circuitry in the other machine, because
the 1401 start-reset key does not include such a
funq~ion.

Write ReqlJest

Word fvlarks. Word marks are not affected.

Instruction Format.
Mnemonic

SS

Op Code

d-character

K

D

Function. This instruction informs 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.

Timing. T

=N

(LI

+ 1)

ms.

Address Registers After Opm'ation.
I-Add. Reg.

A-Add. Reg.

NS1

B-Add. Reg.

dbb

dbb

Example. Reset the end of transmission circuitry in
the other system (Figure 1-21).

Word Marks. Word marks are not affected.
Autocoder

Timing. T

=N

(LI

+ 1)

~

ms.

OPERAND

Label

Address negisters After Operation.

10

Assembled Instruction:

I-Add. Reg.

A-Add. R.eg.

B-Add. Reg.

NSI

dbb

dbb

Figure 1-21.

.K

E

Reset
1-13

ters, and the tests they perform, are shown in
Figure 1-22.

Branch Instructions (Direct Data Channel)
Branch if Indicator On

Word Marks. Word marks are not affected.

Instruction Format.
Mnemonic
BIN

Op Code
B

I-address

III

d-character
n

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 d-charac-

Condition in System Initiating
Line/Signal (System A)

Timing.
No Branch:
T = N (LI

Branch (without indexing):
T = N (LI + 1) ms.
Branch (with indexing):
T = N (LI + 2) ms.

Line/Signal

Sent
Process Check due to detection of
Transmission Error

I

+ 1) ms.

Reset By

System B, Testing Conditions in System A with
Branch-If-Indicator-On Instructions
Branch Instruction *

Indicator Reset

Start Reset Key

!!. (III) 1

By executing the Branch Instruction
in System B, or by pressing Start
Reset Key in System Ai both alternatives after pressing the Check Reset
Key in System A.

1401, 1440, 1460

!!. (III) 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
J.)()'thSystems before initiating any
data transfer.

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 equal in size to that of
System B.)

I/o

A Read Request Instruction (K C)
has been executed in System-A.

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 (!S. D)
has been executed by System A.

Write Request

Start Reset Key

!!. (III) 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. (Th is 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

!!.(l11)8

When System ,A starts.

Disconnect

Executing a K E
instruction i;-the
other system.

1440, 1460
Start Reset Key.

* The d-character must be in the operand field when using a BI N mnemonic.

Figure 1-22.
1-14

Branch if Indicator On Instruction Summary

Address Registers After Operation.
No Branch
Branch (without
index:ing)
Branch (with
index:ing)

I-Add. Reg.
NSI

Read Data

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

NSI

BI

Blank

NSI

BI

NSI

Example. Test for end of transmission by other system. If the other system did signal an end of transmission, bninch to MSGSNT (0843), Figure 1-23.

OPERAND

label

40

Assembled Instructi()n:

Figure 1-23.

!

45

Mnemonic

Op Code

MU

M

A-address
%H1

B-address
xxx

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.
Word Marks. Word marks are not stored when operating in the move mode (M operation code).

Autocoder

~

Instruction Format.

10

843 2

Branch if Indicator On

Timing. T
time.

=N

M or .!:---The M or L 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.

% H 1 - The A-address (0/0 HI) specifies that the direet data channel feature is used in performing this
instruetion.
B B B -- 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 vV specifies a
write operation. This d-character is used when the
other system is receiving the data.
The move and load instructions used, and the operations they initiate, are:

ms

+ transmission

and start

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

Move and Load Instructions
The MOVE or LOAD instruction (M or L (0/0 H 1) (B B B)
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 use are:

+ 1)

(LI

A-Add. Reg.
%81

B-Add. Reg.
B + message length + 1

Example. Read data from the o.ther system and place
it in core- storage, beginning at location 0633 (area
is labeled INPDAT), Figure 1-24.
Autocoder

~

label

.:
Assembled Instruction:

Figure 1-24.

M %Hl

633 R

Read Data

Read Data with Word Marks

Instruction Format.
Mnemonic

Op Code

LU

L

A-address
%H1

B-addres8
xxx

d-character
R

Function. This instruction is similar to. the READ DATA
instruction except that word marks in the record
area of core sto.rage are removed, and word marks
sent with the other data are written in core storage.
Word Nlarks. Word marks transmitted from other systems are written in core storage.
Timing. T
time.

=N

(LI

+ 1)

ms

+ transmission

and start
1-15

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

I-Add. Reg.
NSI

Write Data with Word Marks

B-Add. Reg.
B + message length + 1

Instruction Format.

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 1-25.

Mnemonic
LU

Op Code
L

A-address
%H1

B-address
xxx

d-character
W

Function. This instruction is similar to the WRITE DATA
instruction except that word marks in the output
area of core storage are transmitted with the associated data.

Autocoder

L

Label

.~rati:il

OPERAND

JLr--.-,:-~I1L.uilf!.!''-:-:--~fIU'_H-,.....I,~''''i-N-eo-A~l}II....;-R-JIII~·'-------:l:tK..~---2.:IiL..-.-:
Assembled Instruction:

Figure 1-25.

!

Word Marks. Word marks are sent to the other system.
Timing. T
time.

%Hl 633 R

Read Data with Word Marks

=N

(LI

Instruction Format.
Mnemonic

Op Code

MU

M

Autocoder

A':'address
%H1

B-address
xxx

~

d-charactef
W

Function. This instruction causes data to be sent to the
other system from core storage, beginning at the
core-storage location specified in the instruotion.
Word Marks. Word marks are not sent to the other
system when operating in the move mode (M operation code).
Timing. T = N (LI
time.

+ 1)

ms

+ transmission

and start

Address 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 OUTDA T (first position of the
data located in (633), Figure 1-26.
Autocoder

tiiati~

OPERAND

~o
,

AssembJed Instruction:

Figure 1-26.
1-16

+ transmission

and start

A-Add. Reg.
%81

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 OUTDA T (first position of the data located
in 0633), Figure 1-27.

Write Data

Label

ms

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

~

+ 1)

Write Data

It! %Hl 633 W

~.
"

~
!

Label

t

OPERAND

ratl
,

Assembled Instruction:

Figure 1-27.

!

%Hl 633 W

Write Data with Word Marks

Instruction Utilization in the Program
With the instructions just described, the specific type
of system-to-system data transmission can be set up.
The type of operation performed is at the discretion
of the user because the operation is completely programmed.
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 instnlC.tions used are completely dependent on the
specific type of data transmission involved.

I-Way System-to-System Data Transmission

To illustrate one kind of system-to-system data transmission, assume a hypothetical case wheTe one system
sends data only, while the other system receives data
only. The program procedure illustrated in Figure 1-28
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.

I

'"l:j
~.

t=
~

Sub-outi"" At Discretion
Of The Programmer

2

15

1-1

~

90
Io't:I
'"I
0

~

'"I
$l:>

8
8
8"



~
a.
CD

~Inte..-

6

or

.....

~

.----------.20
Operator Intervenes

1----.-1

$l:>

'<
00

'<
rIl

"'"

Reset End-of-T ransrnllllon 22

CD

8

Circuitry In Other System I - - - - - - - t

!S.E

SO
$l:>
"'"
$l:>

Clear And Readjust The 1-2_4_ _ _ _ __
Read-In Area

...,
~

,...-----''------,9

t:l

Reset EncI-of-T_i_Ion

2.

Clrculfly In Other System 1 - - - - - '

(IJ

(IJ

~.

!E

Sending-System Operation

1. The sending system enters its system-to-system
data transmission program and executes a BRANCH
IF INDICATOR ON instruction, ~ (I I I) 8, which
checks to see whether the other system is operating.
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.
3. If the other system is operating, another BRANCH IF
INDICATOR ON instruction,] (I I I) 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 ~ (I I I) 7 instruction.
4. When a ~ (I I I) 7 instruction results in a branch,
the sending system immediately executes a WRITE
instruction, M or L (0/0 HI) (B B B) W.
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 wordmark terminates the data transmission operation
and sends a termination signal to the other system.
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 enor occurred in the sending
system during the data transmission, then the corestorage address contained in the B-address register
is stored in a location specified by the STORE BADDRESS REGISTER instruction, H (x x x). This information is used later to determine whether the
complete message was transmitted.
8. A BRANCH IF INDICATOR ON instruction, B (I I I) 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 CKE
instruction) and the sending system tries to send
the data again. The actual data transmission does
not start until the operator corrects the error con1-18

dition in the other (receiving) system and starts
that system operating again.
10. If no transmission error occurred, a BRANCH IF INDICATOR ON instruction, B (I I I) 2, is executed, which
checks to see whethel~-"the other system ended the
data transmission.
11. If the other system did not end the data transmismission, it means that the entire message was transmitted. The subroutine ends, and the system returns to its main program.
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.
9. If the two addresses do not compare, then the endof-transmission 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.
13. If the two addresses do compare, it means that 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.
There is one other condition that could have occurred in the sending system. This is the condition that
occurs when the other system is not trying to execute
a READ instruction.
3. A BRANCH IF INDICATOR ON instruction, 12 (I I I) 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, then 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, there are three conditions that might 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 discussed.

I

15. The receiving system enters its system-to-system
data transmission program and executes a BRANCH
IF INDICATOR ON ins tnlC ti on , B (I I I) 8, which
checks to see whether the othe;system is Dperating.

23. If no transmission error occurred, a BRANCH IF INDICATOR ON instructian,.!! (I I I) 2 is executed, which
checks to see whether the ather system ended the
data transmission.

16. If the other system is stopped fDr any reason, the
program branches into a previously specified subrDutine that may be similar to the subroutine described in step 2.

24. If the other system did nnt end the data transmission, it means that the receiving system read-in
area was not large enaugh to accept the incoming
message. A subroutine is executed to readjust the
read-in area so that it can accept the entire incaming message, and the receiving system tries to receive the data again (step 18).

Condition 1-Sending system wants to send data.
17. If the other system is operating, another BRANCH IF
INDICATOR ON instruction, l! (I I I) 4 is executed.
This instructiDn checks to see whether the Dther
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 ins,truction, M or 1 (0/0 HI) (B B B) R. The data transmissiDn does not take place immediately, hDwever.
In trying to execute a READ instruction, the receiving system signals the sending system that it is
trying to execute a READ instructiDn. After a negligible time interval, the sending system enters its
system-tn-system data-transmission prngram and
this cDndition initiates the data transmission previously described in step 4.
18. When the executinn of a B (I I I) 4 instruction
results in a branch, the receiving system immediately executes a READ instruction, M or L (0/0 H 1)
(B B B) R.
The actual data transmission nccurs between the
two systems and cDntinues until one of the systems
encounters a preset group-mark with a word-mark
in its core stnrage. The group-mark with a wordmark terminates the data transmission operation
and sends a terminatinn signal to the nther system.
19. If any transmission error occurs in the receiving
system during the data transmission, the system
stops at the end nf 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 subrou tine (step 15).

At approximately this same time, steps 10, 12, and 9
are being executed in the other system. As previausly
described in these steps, the other system autamatically
tries to send the message again. As saon as the read-in
area is adjusted, anothe[' data transmissian operation
takes place.
25. If the other system did end the data transmission,
then the end-of-transmissian circuitry in the other
system is reset by initiating a RESET (!~E) instructian.
26. The subroutine ends and the system returns to' its
main pragram.

Condition 2-Sending system trying to execute a
instruction.

WRITE

27. If the other system is operating, and is nat trying
to' send data, anather BRANCH IF INDICATOR ON instruction, !! (I I I) 6 is executed. This instructian
checks to see whether the ather system is trying to
execute a WRITE insh'uction as a result of an aperatar intervention ar same other condition. If the
other system is trying to execute a WRITE instruction, it infnrms the receiving system by setting the
indicator tested by a l! (I I I) 6 instruction. \Vhen
the execution of a.!! (I I I) 6 instruction results in
a branch, the program previausly described in
steps 18-26 is executed.

Condition 3-Sending system does not want to send
data and is nat trying to execute a WRITE instructian ..
15, 17, 27, 26. If the other system is aperating, but
does not want to' send data, and is not trying to' execute a WRITE instruction, the subrautine ends and the
system returns to its main prO' gram.

21. If nO' transmission error occurred in the receiving
system during the data transmission, then a BRANCH
IF INDICATOR ON instruction, l! (I I I) 1 is executed,
which checks to see whether any transmissian errors occurred in the other system.

2-Way System-to-System Data Transmission

22. If any errar 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).

The programming involved in a 2-way system-tasystem data transmission operation is, of necessity,
more involved than the I-way system-to-system pragramming just described. If both systems send and re1-19

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, then 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 eliminated 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 loss of
one message in each system. This condition can be
eliminated by proper programming.

CHARACTER

BIT CODE
BA 8 21

=1=

BA 8421
B 8 21

$
t::,.

B 8421
A821

++t

A8421
8421

r

Figure 1-30.

Unacceptable Characters in Sixth Position of
Disk Control Field

The instruction used for the direct seek operation is
the ~ame as that used with normal seek operation,
M(%FO)(BBB)R. The B-address position of the instruction contains the core-storage address of the high-order
position of the 6-digit disk-control field used.

Disk-Control Field

Direct Seek (1460)
This special feature reduces access time (250 ms maximum, 150 ms average) by allowing the access assembly
to be positioned directly at a new setting without returning to the home position.
Disk Control Field

Alternate
Code

Sector
Address

X
X

XXXXXX
XXXXHX

-.-

Sector
Count
Field

Remarks

XXX

T

Any Valid Digit

Direct seek operations use a 6-position disk-control
field (Figure 1-29).
The first positiO'n of the disk-control field contains
the disk drive number (0, 2, 4, 6, ar 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 (-).
The sixth pO'sition contains a pound (#) sign to indicate a direct-seek operation.
NOTE: Any character with 8-2-1 bit combination will be
taken to indicate a direct seek operation and cannot, therefore,
be used in the sixth position. See Figure 1-30 for a list of these
characters.

The signed difference field can be calculated by the
method shown in Figure 1-31. This method uses the
four high-arder positions of the disk address at which
the access arm is positioned and the four high-order

Any Valid Digit
Direct Seek Code

Figure 1-29.
1-20

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

+

Figure 1-31.

Calculating Signed Difference

0010

I

Number of
Cylinders Traveled
1234-

5

6
7
8
910-

Figure 1-32.

Time in
Milliseconds
54 Minimum
67
80
90
105
115
130
140
,155
165

Number of
Cylinders Traveled

Time in
Mi II iseconds

2 0 - - - 130
30

137

4 0 - - - 154
5 0 - - - 170
60
70
80
90
99

185
202
·217
235
248 Maximum

Cylinder Seek Time with Direct Seek

positions of the disk address to be sought. Both Helds
must be changed to either odd or even (add one to
even, subtract one from odd). The old address is then
subtracted from the new address. The result of the
subtraction has the correct 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, direct seek will
be executed on the master :file.

Direct-Seek Timing

Figure 1-:32 provides seek times when direct seek feature is installed on the system.

feature. With this feature, asterisk protection, floating
dollar sign, decimal control, and sign control left
operations can be performed. The zero-suppression
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
1-33). 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.

Forward Scan:

Disk-Storage Control (1460)
This feature provides the controlling circuitry necessary for the proper operation of any IBM 1311 Disk
Storage Drives attached to the system.
For more detailed information on the IBM 1311, refer
to IBM 1311 Disk Storage Drive, Form A24-3086.

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 Held).
3. The editing process continues normally until the
B-field word mark is sensed and removed.

Reverse Scan:

Disk-Storage Drive Adapter (1401)
This feature provides the controlling circuitry to attach
a 1311, Model 4, Disk Storage Drive to the 1401. For
detailed information on the IBM 1311, refer to IBM
1311 Disk Storage Drive, FOIID A24-3086.

1. Asterisks replace zeros, blanks, and commas, to the
left of the first significant digit.
2. The word mark (set during the forward scan) signals the end of editing. It is erased, and the operation is stopped.

20257426

A-field
Control word (B-field)

- ------..

bbb, b*O. bb&CR
I

Forward scan

Expanded Print Edit (1401 and 1460)
The basic operations of the MOVE CHARACTERS AND EDIT
instruction can be increased by the expanded print edit

002,57,!26 CR

Reverse scan

**2,574.26 CR

Results of edit

**2,574.26 CR

Figure 1-33.

Asterisk Protection
1-21

A-field
Control word (B-field)
First forward scan
Reverse scan

Q0257426

Control word (B-field)

002,574.26

Forward scan

-----

bbb 2,574.26

Second forward scan

$2,574.26

Results of edit

$2,574.26

Floating Dollar Sign

Floating Dollar Sign

CR&bbb, bbO. bb

-. CRb003, 789.40
,-

Reverse scan

CRbbb3, 789.40

Results of edit

CR

Figure 1-35.
Figure 1-34.

Q0378940

A-field

bbbb, b$O. bb

3,789.40

Sign Control Left

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.

This feature causes the insertion of a dollar sign in the
position at the left of the first significant digit in an
amount field (Figure 1-34). The control word is written
with the $ immediately to the left of the zero-suppression code.

4. Editing continues, and the CR or minus symbols are
undisturbed in their corresponding positions in the
output field, only if the sign of the A-field is minus.
If the sign is plus, they are blanked.

NOTE: The control word must be larger than the A-field.
Three scans are necessary to complete this editing operation.

Reverse Scan:

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:

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.
Decimal Control

This feature ensures that decimal points print only
when there are significant digits in the A-field (Figure
1-3~).

1. A-field
Control word (B-field)
First forward scan
Reverse scan
Second forward scan

Second Forward Scan:
Results of edit·

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.

2. A-field
Control word (B-field)
First forward scan
Reverse scan

Sign Control Left

CR or minus symbols can be placed at the left of a
negative field, if the sign-control-Ieft feature is used
(Figure 1-35). The control word is written with the
CR or minus symbols in the high-order position.
Forward Scan:

Result of edit
3. A-field
Control word (B-field)
First forward scan
Reverse scan
Results of edit

1. The scan proceeds until the zero-suppression character in the control field is sensed.
1-22

Figure 1-36.

Decimal Control

QOOOO

--

2bb. bO
000.02

bbb.OO

...bbb

(Blank Field)
~9437

--

t>bb.bO
294.31

294.37
294.37
gOOOl

bbb.bO

:.....--

-

000.01

bbb.01
.01

I

Two scans are sufficient to complete this editing
operation, unless the field contains no. significant digits.
Then three scans are required.

Function. This instruction tests the compare indicato.r
for the result of the previous compare operatio.n and
branches to the I-address, if the condition specified
by the d-character is present:

First Forward Scan:

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.

BL

d-character
S
T

BH

U

Autocoder
BE

1. When the zero-suppression code (0) is sensed during editing, the corresponding digit from the A-field
replaces this positio.n.

Branch to I-address if:
B = A (B equals A)
B < A (B is less than A)
B > A (B is greater than A)

If the condition is not present, the program continues with the next sequential instnwtion.

Word Marks. Word marks are not affected.

Reverse Scan:
1. Blanks in the output field replace zeros and commas
until the decimal point is sensed.

Timing.
No branch:
T

2. The decimal point and the digits at its right are unaltered. The auto.matically 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.

=N

(LI

+ 1)

ms.

Branch (without indexing):
T = N (LI

+ 1) ms.

Branch "(with indexing):
Second Forward Scan:

T

1. Blanks replace the zeros at the right of the decimal
point and the decimal point itself.

=N

(LI

+ 2)

Address Registers After Operation.

2. The operation Sto.pS at the decimal column.
No Branch
Branch (without
indexing)
Branch (with
indexing)

High-Low-Equal Compare Feature
(1401; Standard on 1460)
This feature expands the compare operation to include
indicators for high, low, or equal conditions. Additional
d-characters are included so that the BRANCH IF INDICATOR ON instruction can test for these conditions. The
basic maehine permits testing for unequal conditions
only.
This feature is standard on the IBM 1460 Data Processing System.

ms.

I-Add. Reg.
NSI

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

NSI

BI

Blank

NSI

BI

NSI

Example. Co.mpare the data at RECNO (0596) to. the
control number at CONTNO (0495). If the data at
RECNO is higher than the co.ntrol number at
CONTNO, branch to GRTAN (0797) for the next
instruction (Figure 1-37).

SPS
~~~~----~--~-----------~------------~

(B) OPERAND

(A) OPERAND

LINE

COUNT

LABEL

Autocoder

~

Branch if High, Low, or E:qual Compare

L~I

Instruction Format.
Mnemonic
SPS B
A see chart

Op Code
B

rtl~
Assembled Instruction:

I-address
xxx

d-character

OPE~ND
£
!

495
797

596
U

x

Figure 1-37.

Branch if High Compare
1-23

Indexing and Store Address Register (1460)

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.

The indexing-and-store-address-register special feature
for the 1460 functions exactly the same as the indexing-and-store-address-register portions of the advancedprogramming special feature for the 1401. For detailed
information on indexing-and-store-address-register operation, refer to the appropriate sections of the Advanced Programming special feature write-up in this
publication. Replace 1401 timing (.0115) with 1460
timing (.006).

Example:

1246
X

4-digit multiplicand
3-digit multiplier

543

+

1.

- - 8 positions must be allowed in the B-field

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 will have zone bits in the units
position of the product only. The multiply operation
uses algebraic sign control (Figure 1-38).

4. Zone bits that appear in the multiplicand field are
undi'sturbed by the multiply operation. Zone bits
in the units position of the multiplicand are interpreted for sign control.

Multiply-Divide (1401, 1460)
This feature makes it possible to perform direct multiplication and division in the IBM 1401 and/or 1460
Data Processing Systems.

Timing. The average time required for a multiply operation is:

T = N (L r + 3 + 2Lc + 5LcL:\I + 7Ll\I) ms.
Lc = length of multiplicand field.
L:\I= length of multiplier field.
A chart of approximate timings is included in the
section on Timing.

Multiply

Instruction Format.
Mnemonic

Op Code

M

@

A-address
xxx

B-address
xxx

N ate. 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
Function. The multiplicand (data located in the Afield) is repetitively added to itself in the B-field.
The B-field contains 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 1460 system
has additional circuitry that automatically eliminates
readdressing machine cycles when recomplementing
is required during the operation.
1-24

the high-order positions of the multiplier and multiplicand fields.

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

A-Add. Reg.
A minus the length
of the multiplicand.

B-Add. Reg.
B minus the length
of product field.

Multiplier Sign

+

+

-

-

Multiplicand Sign

+

-

+

-

Sign of Product

+

-

-

+

Figure 1-38.

Algebraic Sign Control for Multiplication

Example. Multiply:
Location of
Data Word

Label
MULCAN
MULIEH
PRODCT

Contents of
Data Word
1246
543

0502
0065
0610

Description
Multiplicand
Multiplier
Product

The size of the product field is 4 + 3 + 1 = 8. The
multiplier is placed in the three high-order positions
of the PRODCT area (0603, 0604, and 0605). At
the completion of the multiply opeTation, load the
product in the area labeled OUT2 (0178). The units
positions of the multiplier and multiplicand fields
may be signed (Figure 1-39).
SPS
(BIOPERAND

(AI OPERAND
LINE

COUNT

LABEL

OPERATIOk
1314

ADDRESS

Ie 11

It I
I!~I

CHAR.
ADJ,

ADDRESS
27 21

I±I
3~1

CHAR.

~

d

ADJ.

H

31

Autocoder

Assembled Instruction: 1.
@

!:

Figure 1-39.,

065
502
610

605
610
178

Divide

Instruction Format.
Op Code
%

A-address
xxx

B-address
xxx

Function. This instruction divides the data (dividend)
in the low-order positions of the B-field by 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-order positions of 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, of the number of digits in the divisor and
dividend fields.
Example:
543

r 1246

+

+

-

-

Dividend Sign

+

-

+

-

Quotient Sign

+

-

-

+

Remainder Sign

+

-

+

-

Figure 1-40.

Algebraic Sign Control for Division

2. A word mark must be associated with the highorder position of the A-field.
3. In all cases A- and B-bits (plus sign) or B-bit
(minus sign) must appear in the units position of the
dividend field. The divisor may be either signed or
unsigned. If there are no bits in the units position of
the divisor, the machine assumes the divisor factor is
positive. The divide operation uses algebraic sign
control (Figure 1-40).
4. The dividend is loaded in the low-order positions
of the B-field (Figure 1-41) by a ZERO AND ADD instruction to ensure that zeros are present in the highorder positions of the B-field.
5. The B-address in the DIVIDE instruction specifies
the high-order position of the dividend.
At the completion of division:

Multiply

Mnemonic
D

Divisor Sign

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 DIVIDB instruction). This ensures
that the first divide operation will result in a single highorder quotient digit. A dividend improperly addressed can
cause an arithmetic overflow if the result of the first divide
operation is greater than 9.

Word Marks. A word mark must define the highorder position of the divisor.
Timing. Average time required for the execution of a
divide operation is calculated:
T

(LJ + 2 + 7L R L Q + 8L Q ) ms.
= length of the quotient field.
LR = length of the divisor field.

=N

LQ

Dividend

4 digit dividend
3 digit divisor
+ 1
--8 positions must be
allowed in the B·field

±

ooooxxxx
Figure 1-41.

Dividend in B-field

1-25

xxxx

Regular

+

+

XXX

Quotient

0001

Quotient Remainder
B·FIElD

~

~

oooT

1234

±

000001234

~

Figure 1-42.

Dividend
1234 Divisor

Location of the Results of a Divide Operation

I

Additional Quotient
digits desired.
Quotient

0001.000

A chart of approximate timings is included in the
section on Timing.

~

~
0001.000

1234.000

+

000001234.00'0

Note. A divide operation refers to the process of developing
each quotient digit. If the quotient ReId is not large enough,
no overflow is indicated. This is a programming error for
which the machine does not check. Division by zero results
in an arithmetic overflow condition. Figure 1-42 shows the
result of a divide operation.

~

Dividend
1234 Divisor

Figure 1-43.

Extra zeros can be added to the dividend prior to a divide
operation when a larger quotient is required. For each additional quotient digit desired, place one zero to the right of
the dividend as shown in Figure 1-43. Note that in this example, the units position of the quotient is not located in the
position previously described in the section At The Completion of Division, a.

DIVEND
DIVSOR
QUOT

The quotient ReId is not cleared before actual division
begins.

SPS

Additional Quotient Digits

Example. DIVIDE (Figure 1-44).
Label

Location of
Data Word
0502
0065

Data Word
1246
543

Description
Dividend
Divisor
Quotient

0985

IIIOPERA.O
COUNT

LABEL

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

A-Add. Reg.
A minus the length
of the divisor.

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.

Autocoder

Assembled Instruction: ~
~

Figure 1-44.

502 985
065 982

Division

1401 MULTIPLY TlMES* WITH SPECIAL FEATURE
No. Pos. Multiplicand

--+

Number Positions Multiplier

1

1
2
3
4
5
6
7
8
9
10

1
.276
.414
.552
.690
.828
.966
1.104
1.242
1.380
1.518

2
.347
.552
.748
.943
1.139
1.334
1.530
1.725
1.921
2.116

3
.418
.690
.944
1.196
1.450
1.702
1.956
2.208
2.462
2.714

4
.489
.828
1.140
1.449
1.761
2.070
2.382
2.691
3.003
3.312

* Multiply 1401 Times by Factor of .522 for 1460 Times

Figure 1-45.
1-26

IBM

1401 and 1460 Multiply Times (with Special Feature)

5

6

.560
.966
1.336
1.703
2.072
2.438
2.808
3.174
3.544
3.910

.631
1.104
1.532
1.956
2.383
2.806
3.234
3.657
4.085
4.508

- 7
.702
1.242
1.728
2.209
2.694
3.174
3.660
4.140
4.626
5.106

8

9

10

11

.773
1.380
1.924
2.462
3.005
3.542
4.086
4.623
5.167
5.704

.844
1.518
2.120
2.715
3.316
3.910
4.512
5.106
5.708
6.302

.915
1.656
2.316
2.968
3.627
4.278
4.938
5.589
6.249
6.900

.986
1.794
2.512
3.221
3.938
4.646
5.364
6.072
6.790

7.498

Multiply and Divide Timing

Multiply and Divide Subroutines

The four timing charts give the approximate timings
of multiply (Figures 1-45 and. 1-46) and divide (Figures
1-47 and 1-48) 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.

These are subroutines for multiply and divide operations, discussed here to illustrate programming methods and to aid programming for machines not equipped
with the multiply-divide special feature. These are not
the only methods of performing these operations-they
are typical methods.

1401 MULTIPLY TIMES'" BASED ON MULTIPLY SUBROUTINE
No. Pos. Multiplicand
Numb., Po.Hlon. MuIHpU.,
Value of Elach
Multiplier Digit
assumed to be an
average of 1/5/1

1

2

1

--~

3.51
7.10
10.74
14.42
18.15
21.93
25.76
29.63
33.54

1
2
3
4
5
6
7
8
9

3.63
7.33
11.08
14.88
18.73
22.62
26.57
30.55
34.58

3

4

5

6

7

8

9

10

11

3.74
7.56
11.43
15.34
19.30
23.31
27.37
31.47
35.61

3.86
7.79
11.77
15.80
19.88
24.00
28.18
32.39
36.65

3.97
8.02
12.12
16.26
20.45
24.69
28.98
33.31
37.68

4.08
8.25
12.46
16.72
21.03
25.38
29.79
34.23
38.72

4.20
8.48
12.81
17.18
21.60
26.07
30.59
35.15
39.75

4.32
8.71
13.15
17.64
22.18
26.76
31.40
36.07
40.79

4.43
8.94
13.50
18.10
22.75
27.45
32.20
36.99
41'.82

4.55
9.17
13.84
18.56
23.33
28.14
33.01
37.91
42.86

4.67
9.40
14.19
19.02
23.90
28.83
33.81
38.83
43.89

(Add 1ms to times shown above if signing of quotient is required)
." Multiply 1401 Times by Factor of .522 for 1460 Times

Figure 1-46.

Il3M

1401 and 1460 Multiply Times (based on Multiply Subroutine)

1401 DIVIDE TIMES'" WITH SPECIAL FEATURE

--+

No. of Pos. in Quotient
No. of Pos. in Divisor

1

1
2
3
4
5
6
7
8
9
10

1

2

3

4

5

6

7

8

9

10

.276
.357
.438
.518
.598
.679
.759
.840
.920
1.001

.449
.610
.771
.932
1.093
1.254
1.415
1.576
1.737
1.898

.621
.863
1.104
1.346
1.588
1.829
2.071
2.312
2.553
2.795

.794
1.116
1.437
1.760
2.083
2.404
2.727
3.048
3.370
3.692

.966
1.369
1.770
2.174
2.578
2.979
3.383
3.784
4.186
4.589

1.139
1.622
2.103
2.588
3.073
3.554
4.039
4.520
5.003
5.486

1.311
1.875
2.436
3.002
3.568
4.129
4.695
5.256
5.819
6.383

1.484
2.128
2.769
3.416
4.063
4.704
5.351
5.992
6.636
7.280

1.656
2.381
3.102
3.830
4.558
5.279
6.007
6.728
7.452
8.177

1.829
2.634
3.435
4.244
5.053
5.854
6.663
7.464
8.269
9.074

." Multiply 1401 Times by Factor of .522 for 1460 Times

Figure 1--47.

IBM

1401 and 1460 Divide Times (with Special Feature)

1-27

/

1401 DIVIDE TIMES * BASED ON DIVIDE SUBROUTINE
No. of Pos. in Quotient

Value of each
Quotient Digit assumed to be an
average of
liS"

1

~

No. of Pos. in Divisor

1

1
2
3
.4
5
6
7
8
9
1.0

3

2

8.5.02
8.870
9.238
9.606
9.974
10.342
10.710
11.078
11.446
11.815

13.703
13.899
14.094
14.290
14.485
14.681
14.876
15.072
15.267
15.468

18.904
18.928
18.950
18.974
18.996
19..020
19 ..042
19 ..066
19 ..088
19.113

.4

5

22.762
22.909
23 ..060
23.2.08
23.359
23.5.07
23.658
23.806
23.957
24.105

7

6

26.411
26.73.0
27 ..054
27.374
27.698
28.018
28.342
28.662
28.986
29.306

30.060
3.0.551
31..048
31.54.0
i
32;037
32.529
33 ..026
33.518
34.015
34.507

8

33.709
34.372
35..042
35.7.06
36.376
37.04.0
37.71.0
38.374
39.044
39.708

37.358
38.193
39.036
39.872
40.715
41.551
42.394
43.23.0
44.073
44.909

10

9
41.007
42 ..014
43 ..03.0
44.038
45 ..054
46.062
47 ..078
48 ..086
49.1.02
50.11.0

44.656
45.835
47 ..024
48.2.04
49.393
50.573
51.762
52.942
54.131
55.311

(Add 1ms to times shown above if signing of quotient is required)

* Multiply 1401 Times by Factor of .522 for

Figure 1-48.

IIW

1460 Times

1401 and 1460 Divide Times (buecl _ Divide Subroutine)
Multiply Subroutine
Clear
Product
Area

The block diagram in Figure 1-49 illustrates the logic
used in developing the two multiply subroutines discussed here. Both subroutines provide for a maximum
of a 9-digit multiplier, II-digit multiplicand, and a 20digit product. Both routines use positive factors.
The subroutine written in actual language (Figure
I-50) occupies the 900 block of storage. A multiplier
area is provided in storage positions 901-909, and the
product area is assigned in storage positions 910-929.
The multiplicand can be located anywhere.

Load
Multiplier

IBJ.1:

1401

PROGRAM

CHART

Program: Multiply Subroutine

~-,-_----,--__ -;---.':P~ro'l1'gr~am~~mlfOler"i=:= = = = = = = = = = = - " " O a l e :
Inslruclion
Slep
'nsl. 0
No. Address P I---Ac--/,..,-,-r----:----,
930

/

934

1,

941

E

Effeclive No.
of Characlers
Insl. 0010 Tola'

Remarks

929

Clear Product Area

XXX

909

975

909

LoadMulti~

0

Test 909 for true zero

975
909
? No true zero - test for ~~~9_~
~~ft'~~4-_~~~L~~~~'~~~~~':~~
957 I.A
YYY
921
No zero - add Multiplicand to Product
964

10

Shift
Right

Multiplicand
To Product

-,

Move
Product to
Output Area

I

L_-1-_J

I

Branch
Unconditional
To Zero Test

Figure 1-49.
1-28

I

r- --,
I Br~:ch I
IL

Main Routine

____

Multiply Flow Chart

JI

S

994

II

941

975

I\

995

909

983

II
11

928

929

990

7

Reduce Multiplier by 1

909

971

~-j----- j------

Branch to zero te at

1

Test 909 for Word Mark
No Word Mark - Shift Right

-- _____.

Branch to z""e,,,,ro,,-t,,e,-,,-,.t~_ _ _ _ _ _ _

941

r?- .__._. (---_

-----I--'--+-----+-------i

+_+__C""0::.::n"".t,::::an,,-,,t_"-,-1'_'______ ~__________

~1lr---"-99!..-'4~1't--_-t_ _ _

r-1-

---I---

~ __ _

~12'1----,-99,-"5,--+,E"1----=Z:.=Z:.=Z+--_--+-+--,M~u,",l"",tiPclli,,,,·c""at",i,o=-n ~lete - Branch back___ ~ __ _

to Program

Reduce
Multiplier
By 1

Branch
Unconditional
To Zero Test

XXX

Location of Multiplier

~+_---++_~Y~Y-,-Y+_---+~L~o~c~at~io~n~o~fM~ul~tip~li~'c~an~d~--------(----r--r-t--+_--++_...::Z:.=Z""Z+_--+-+---,A~d""d~re,-".,,-s.=...0£next Program Step .-----t-___t_--t----;

~+_--~+_--_t----~---~------------~-------

----r--

~+_---++_-_t--~-q"--""di.l!C'aii±-'tMultiplieL ____________ !---(--- __ I---_

~+_--~+_--_t----+_~-I~I~d=i~itMultipli=·c=a=nd~----------r_+____t_~
ZO digit Product

Figure I-50.

Multiply Subroutine (actual)

I

1401

IB,.,

Symbolic Programming System
Coding Sheet

Mull-i@../v SI.J6rou/-/ntU

Program _

Page No.lti of

J I

Programm4!d by

Date

Identification '

(A) OPERAND
COUNT

LINE
3

5 6

,

0

0

2

0

o
o

3

0

4

0

0

LABEL

7 8

OPERATION
13 14

I

MeAN!)

S

I
I

ONE

8

~

ZROTS Tl

A

060

o
o
o

8

9

0

I

o

0

0

iES .,.WM

0

I

I

0

I

2

0

I

3

0

I

4

0

I

5

0

I

8

0

I

7

0

I

8

0

I

9

0

2

0

0

I~I

LAS 7",

tsw1z

B

I

0,0 10 10 1

:

Figure 1-51.

I

..*

oc1w*

I
I
I
I
I
I

I

I

I

:-:020
:-\020
:-:02 0

:-:008
l-lO 20

A I?E A

:-10

I

A .1< E A

CHAR.
ADJ.

I

,
,I

,
I

,
I

I
I
I
I
I

I
I
I
I
I
I

r~l

A REA

,

I

I

I

80

I

g

0

55

CLEA 1<. PRO,!) AREA
'-OAO M.AI-IER,
OBRANCII T,R.Vc ZERO
?a R A I'VC J.I P L lJ S
ZERO
A,O,D...L-J..MP,A,N,O, I
S II 8 J
~ROM. N!P/../ER

I
I

2

COMMENTS

d

38 39 40

.t

"RANCH. ro ZROTS T
r,E,SL FOR WM,
SWIFT A R£ A RT i
ZR07ST
BRANCf.I ro
MUl-T

COMPL.ETE

I

~...L-J..

I
I
I
I

I

o c ~w *
!) c:w*
oc:w

MPL / ER
I I Me.4 N!)
DC:W

lOME

A REA
AREA

I
1
1

I

I

(~

AREA

I

!

30 Z£R 0 S
30 A R,E .4

ADDRESS

A RE A

LA s r
I
l. C:A A REA
:- 001
B
ZROiST:

:I

~
27 28

4RE.A

I

I

(B) OPERAND
CHAR.
ADJ.

L ciA ZEROS II
L. CiA MPL. / § Rl
Z!?O T S T 8, ! TESTW,.,:
B ~ rES TWMl

050

7

ADDRESS

16 17

76

I
I
I

,,
I

I
I

:1

I
I
I

~~

,

I

I

I

, ,

I
I

I
I
I
I

,

~-.L.....L

I

Multiply Subroutine (Symbolic)

Any program that uses this subroutine must include
a step that moves the multiplier address (XXX) to. location 937 and the multiplicand address (YYY) to IQ>catiQ>n 952.
At the cQ>mpletion of the multiply subroutine, the
program instruction step 12 can use a branch to the
main program or stop instruetion.
The routine starts in stQ>rage position 930. The product is found in 929 for a 9-digit multipler, 928 for
8-digit, 927 for 7-digit, 926 for 6-digit, etc.
The subroutine written using the symbQ>lic programming system (Figure I-51) parallels the one written in
actual. In this instance, the 1401 (through the processQ>r program) cQ>ntrols the location of the instructions, and the data and work areas.
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.

Divide Subroutine

The restdctions placed on this subroutine (Figures I-52
and I-53) are:

1. The dividend and quotient fields must be Q>f equal
length.
2. The dividend and divisor must both be positive.
3. The divisor must have no zone for its positive indicatiQ>n. This is necessary only if the divisor could
be zero.
4. The divisQ>r cannot contain more than nine leading
zerQ>s.
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 qUQ>tient can be found in
the B-address of the instructiQ>n 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 positiQ>n of the dividend.
9. The quotient area must be preset to zerQ>s or blanks
to develop the correct quotient. If the area is not
zeroed or blanked, then the quotient will be added
to whatever is there. The positions added will depend on the number of leading zeros in the divisor.
1-29

Numerical Print Control (1401, 1460)

Add One to
Address and
Quotient Counter

This feature is required when the numerical-print special feature is installed on the IBM 1403 Printer (MDdels
1 or 2 on 1401; Model 2 on 1460). This feature provides
the checking circuitry necessary for the Dperation of
the numerical-print special feature. For detailed information on this feature, refer to the IBM 1403 Printer,
Form A24-3073.

Find Number of
Significant Digits
in Divisor

Print Control (1401)
This feature controls the additional 32 print positions
of the IBM 1404 Printer, which includes the storage and
checking circuitry when used with the 1401 only.

Print Control, Additional (1401)
This feature controls the additional 32 print positions
of the IBM 1403 Printer, Model 2, attached to a 1401,
and includes the storage and checking circuitry. For
detailed information on the 1403, Model 2, refer to
the IBM 1403 Printer, Form A24-3073.
Add One
to
Quotient

Adjust Addresses
One Position
to the Right

Print Storage (1401, 1460)
Division
Completed
Branch to
Main Routine

Figure I-52.

Divide Flow Chart

10. The infDrmatiDn shown in Data for Division Subroutine (Figure I-53), except the constant 1 in
location 513, must be set initially fDr each desired
executiDn Df the divide subrDutine. 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 divisDr is contained in the
same area.
I-3D

This special feature provides 100 or 132 non-addressable extra positions of core storage on the 1401 (132
positions are standard on the 1460). They are used as
temporary storage for printer output data.
When this feature is installed, the WRITE LINE instruction transfers the data in the printer area (storage
location 201-332) to print storage. Two milliseconds
after the WRITE LINE instruction is given, the normal
printer interlock is released and processing can continue. Thus, available processing time during a l00-ms
cycle is 98 ms, as opposed to the 16-ms processing time
available when the machine is not equipped with print
storage. The print-storage area interlocks for 84 ms
during printing on 1401 system. Therefore, another
WRITE LINE instruction given during this 84 ms will
cause the program to stop until the interlock is released.

IB~

1401

PROGRAM

__

~
Step
Inst.

PRINTED IN U.S.A.

DIVIDE ROUTINE EXAMPLE

Program:
r--

fORM X 24·6437·0

CHART

L

~ _ _ ~ogramm~!: ~__ .~_ _ _ _ _

0-

.---1",t,u,';oo
~~---'-

Date:

Remarks

f-.

[=0

516

1M

507

523

B

66?_ I -YYY

531

IS.

512

538

A __~.!.? _

_ 501

545

A

515

504

~

--f-~~2.

1---

1---

--------

--

-

501
504

S

513

566

Y

755

573

Y

755

580

1M

501

__ ~OJ_ _Q1.9__

M

501

698

601

M

501

705

-£&B--lM --~Q1_M

622
629

1--f-..

1-.

'Store Address of Word Mark Position
{High Order } of Divisor
BranchiLQ!~~~Digit

Equals Zero
{NUlnber of High

of :QLvi.f!.~-= ___ ..Qrde!"_~ros} __

I··

{L~th

f··

.A~j\!.stj)iYi A), Dr equal to (B = A), a record
in the specified sectiDn of disk stDrage. (The operation also stops when the end Df the cylinder is
reached, or when the sector count reaches zerD.)
The B-address of the instruction specifies the
high-Drder core··storage pDsition Df the disk-control
field that specifies the starting address in disk storage. The record area associated with the disk-control

Figure 1-82.

-

Search Argument

Record in Core Storage for Scan Operation

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 disk-storage
recO'rd. Skip codes ($) are used in those positions of
the core storage read-in that are nO't a part of the
search argument (Figure 1-82). The search argument can be variable in length, but must be no
longer than 99 characters. The last character of a
sector (100th) cannO't be included as part of the
search argument. The units positions of the search
argument should be foUO'wed by a group-mark with
a wDrd-mark that signals the end Df the search argument.
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 not, be all zerO's at
this time.
2. when the operation reaches the end of a cylinder.
The sector-count field may, or may not, be all zeros
at this time.
3. when the sector-count field is reduced to all zeros.

Word Marks. A group-mark with a word-mark must be
set one position to the right O'f the last character of
the search argument.
Timing. T = .006 (LI + 1) + 2Ns + disk rotation. 400
ms is the maximum time fDr scanning one 1311 cylinder (200 sectors); 1,332 ms is the maximum time for
scanning one 1301 cylinder (800 sectors).
Note. The result of the scan is determined by testing the high,
low, or equal compare indicators with the BRANCH IF INDICATOR ON instruction.
The scan operation can be performed only on disk records
written in sector format.

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

A-Add. Reg.
B +6

B-Add. Reg.
B

+ 11 +LF

Example. Scan disk storage for an equal compare beginning at sector-address 012510 and continue scan1-47

ning until the record with part number A24537 is
found. The disk-control £eld is located in the highorder positions of the area of core storage labeled
SCANAR (966-974), Figure 1-83.
SPS

For example, a sense switch is turned ON if printing
only is required for a given job. If the switch is OFF,
the data is to be printed and punched.
The program can be written to interrogate the setting of this sense switch, to determine whether the
data is to be printed and punched or just printed. The
setting of a sense switch should not be changed while
the system is operating.

Autocoder

Assembled Instruction: ~ %FS 966 W

Figure 1-83.

Scan Disk Equal

Branch if Indicator On

Instruction Format.
I-address
xxx

Mnemonic
Op Code
SPS B
B
A BIN + d-character

Seek-Overlap Adapter (1460)
This feature is required when the seek-overlap feature
is installed on the IBM 1311 Disk Storage Drives attached to a 1460 system. This feature provides some of
the circuitry necessary for proper operation of the
seek-overlap feature.

Function. This instruction tests the position of the toggle switch speci£ed by the d-character. If the switch
is in the ON position, the next instruction is taken
from the I-address. If it is OFF, the program continues with the next sequential instruction.
Branch to the I-address if:
Sense switch B is on
Sense switch C is on
Sense switch D is on
Sense switch E is on
Sense switch F is on
Sense switch G is on

d-character
B

C

Selective-Tape-Listing Control (1401, 1460)
This feature is required when the selective-tape-listing special feature is installed on the IBM 1403 Printer,
Model 1, 2, or 3, and it provides the controlling circuitry necessary for proper operation of the selectivetape-listing feature.

d-character
x

D
E
F
G

"Vord Marks. Word marks are not affected.
Timing.
No branch:
T = N (LI + 1) ms.
Branch (without indexing):
T = N (LI + 1) ms.

Sense Switches (1401)
Six sense switches make it possible to control the stored
program from the 1401 console (Figure 1-84). The
BRANCH IF INDICATOR ON instruction expands to allow
the program to test each switch.

Branch (with indexing):
T = N (LI + 2) ms.
Note. Sense switch A (last card switch) is standard in all systems equipped with an IBM 1402 Card Read-Punch. When
the last card passes the second reading brushes, and switch
A is in the ON position, the last-card indicator is turned ON
and a B xxx A instruction causes a branch to the I-address.
It is tU""rned OFF; on a run-in; if the switch is physically
turned OFF; or if the start reset key is pressed.

Address Registers After Operation.

Figure 1-84.
1-48

Sense Switches

No Branch
Branch (without
indexing)
Branch (with
indexing)

I-Add. Reg.
NSI

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

NSI

BI

Blank

NSI

BI

NSI

Example. Branch to the subroutine labeled CLWARE
(beginning at 0585) if sense switch G is ON (Figure
1-85 ).

Autocoder

~~~.eL~_~_tl~~!~.~a-~_~__~~~=-__~on~~
__N_D~

t==:I: 118, r.J. J44WA2Ri~ G.

10

Assembled Instrudion:!

Figure 1-85.

"

40

41

DO

585. G

Branch if Indicator (Sense Switch G) On

Tape Intermix (1401, 1460)

This special feature makes it possible to have 729 II,
IV, V, VI and 7330 magnetic tape units in any combination, connected to the same 1401 and/or 1460 system
at one time. Thus, the tape units best suited for the
job to be done can be used. Some jobs may require a
pair of high-speed tape units (729 IV'S) while the remainder of the operation can be performed on a slower
unit (7330).
Now, any combination of tape units can be provided
to best suit the need of the application, thereby greatly
increasing the flexibility of the IBM 1401 and 1460 Data
Processing Systems to meet the requirements of any
application.

Serial Input/Output Adapter (1401, 1460)
This speeialfeature is required to attach these components to the 1401 and 1460 systems:
1009 Data Transmission Unit
1011 Paper Tape Reader
1012 Tape Punch
1412/1419 Magnetic Character Reader
1418 Optical Character Reader
1428 Alphameric Optical Reader
7710 Data Communication Unit (1401 only)
Direct Data Channel
7040/7044 System (1401 only)
One adapter can be used for any of these attachments,
but only one attachment can be connected at a time.

Track Record (1460)
The track-record special feature provides for reading
or writing an entire disk track with or .without the
track address. For IBM 1311, a single, 6-digit address
is used, followed by 2,980 characters (2,543 for IBM
1301) in the move mode and 2,682 characters (2,261
for IBM 1301) 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 pro...
vides the track-record function to all the attached
1301 and 1311 drives.

Read Disk-Track Record

Space Suppression (140 1;
Standard on 1460)
This feature provides program control for space suppression on the printer attached to the system. The
character S is used as a d-modifier character with any
WRITE instruction (operation codes 2, 3, 6, 7). The S
prevents the automatic spacing o~r;:ti~n -after the
next print operation. The next line printed appears on
the same line as the line printed by the SPACE SUPPRESS
instruction-2 S.

Instruction Format.
Mnemonic Op Code A-address
SPS MU
M or L
%F2
LU (word m~ks)
A RDTR
RDTRW (word marks)

B-address
xxx

d-character

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. From the 1311 disk track
1-49

2,980 characters (2,543 for 1301) are read in move
mode or 2,682 characters (2,261 for 1301) 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.
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 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 sector-count
field must be set at 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 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 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 turn Dn and reading
stops. FDr the 1311, the position of the group-mark
with a word-mark is determined by adding 2,991
(2,554 for IBM 1301) to the B-address.
1311 Timing. T

= .006 (LI + 1) + 40 ms + disk rota-

tion. 4
~ 42

ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.

1301 Timing. T

= .006 (LI + 1) + 33.3 ms + disk rota-

tation. 4
~ 35

ms is maximum time for disk rotation.
18.3 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Note. 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.
(1311)

I-Add. Reg.
NSI

I-50

A-Add. Reg.
B +6

(1301)

B-Add. Reg.
B-Add. Reg.
B + 11 + 2980 B + 11 + 2543
or
or
B + 11 + 2682 B + 11 + 2261

Example. Read disk track 012540 in core storage beginning at location 976 (area is labeled TRSEC1). The
high-order position of the disk address is in the first
ten positions of the label (966-975), Figure 1-86.
SPS

Autocoder

Assembled Instruction:

Figure 1-86.

M. %F2

966 R

Read Disk Track Record

Read Disk-Track Record with Address

This instruction is the same as
with these exceptions:

READ DISK-TRACK RECORD

Instruction Format.
Mnemonic Op Code
A-address
SPS MU
M orL
%F@
L U ( word marl<:s)
A RDTA
RDTAW (word marks)

B-address
xxx

d-character
R

Function. 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.
When a disk-track record operation is initiated, an
automatic check is made of the record address in
storage with the record address Dn 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-record address in the high-order positiDn
of the disk data field in core storage is written in the
first sector-address position after the index pulse.
Address Registers After Ope1'ation.
(1311)

I-Add. Reg.
NSI

A-Add. Reg.
B +9

(1301)

B-Add. Reg.
B-Add. Reg.
B + 11 + 2986 B + 11 + 2549
or
or
B + 11 + 2988 B + 11 + 2267

Example. Read the address and data from disk track
012540 into core storage beginning at location 476

(area is labeled TRECAD). The high-order position
of the d.isk-control field is in the first ten positions of
the label (466-475), Figure 1-87.
s~.s

Autocoder

Assembled Instruction:

Figure 1-87.

M. %F@ .466 R

Read Disk Track Record with Address

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 the
data in core storage. The writing of data stops when
the end of track is reached on the disk and a groupmark 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 data from core storage, and the wrong
length record and any-disk condition indicators are
turned ON. For the 1311, position or the group-mark
with a word-mark is determined by adding 2,991
(2,554 for IS01) to the B-address.
1811 Timing. T

= .006 (LI + 1) + 40 ms + disk rota-

tion.~

1;142 ms is maximum time for disk rotation.
22 ms is average time for disk rotation.
2 ms is minimum time for disk rotation.

Write Disk-Track Record

1801 Timing. T

Instruction Format.
Mnemonic Op Code
A-address
SPS MU
M or L
%F2
L U (word marks)
A WDTR
WDTRW (word marks)

= .006 (LI + 1) + S3.S ms + disk 1'0-

tation.~

B-address
xxx

d-character
W

Function. This instruction 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. From core storage an entire
1311 disk track of 2,980 characters (2,543 for IS01) is
written in move mode or 2,682 characters (2,261 for
1301) 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 a disk track is stopped 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 sedor-count field in core storage is reduced by one as the track is written. Set the sectorcount 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.

1;135 ms is maximum time for disk rotation.
18.3 ms is average time for disk rotation.
1.7 ms is minimum time for disk rotation.

Note. 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.
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.
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).
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. 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.

Address Registers After Operation.
(1311)

I-Add. Reg.
NSI

A-Add. Reg.
B +6

(1301)

B-Add. Reg.
B-Add. Reg.
B + 11 + 2980 B + 11 + 2543
or
or
B + 11 + 2682 B + 11 + 2261

Example. Write a disk-track record from the data in
the core-storage area labeled TRSECI (the first position of data is at 976). The high-order position of the
disk address is in the first ten positions of the label
( 966-975 ), Figure 1-88.
I-51

SPS

Autocoder
Label

.:

~rati~

151

I

OPERAND

Assembled Instruction:

Figure 1-88.

so~~~:o~.~~:~~~.~~

5

M. %F2

966 W

Write Disk Track Record

Write Disk-Track Record with Address

This instruction is the same as
with these exceptions:

WRITE DISK-TRACK REC-

ORD

Instruction Format.
Mnemonic Op Code
A-address
SPS MU
M or L
%F@
L U (waITT marks)
A WDTA
WDTAW (word marks)

B-address
xxx

d-character
W

Function. 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 in core storage is written in the
first sector-address position after the index pulse.
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

I-52

filled with valid blanks (C-bit), and the wrong-length
record, and any-disk condition indicators are turned
on. Processing is interlocked until the end of the
sector. For the 1311, the position of the group-mark
with a word-mark is determined by adding 2,997
(2,560 for 1301) to the B-address.
N ate. 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.
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.
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).
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. 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.

Address Registers After Operation.
(1311)

I-Add. Reg.
NSI

A-Add. Reg.
B+9

(1301)

B-Add. Reg.
B-Add. Reg.
B + 11 + 2986 B + 11 + 2549
or
or
B + 11 + 2688 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 476).
The high-order position of the disk-control field is in
the first ten positions of the label (466-475), Figure 1-89.

SPS

Autocoder

Assembled Instruction:

Figure 1-89.

M. %F@

466 W

Write Disk Track Record with Address

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.

Translate (1460)

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. (IOCS for this feature is described in the
SRL publication IOCS for the 1440/1448: Specifications, Form C24-3024.) 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 word-mark is detected in the field being translated.
Each code translation requires a table in storage
beginning at an even-hundreds address for TRANSLATEWITH-WORD-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
Baudot
Character

Enters 1440 or
1460 Storage as

T
5 (FIGS-T)
CR
CR (FIGS)
0
9 (FIGS-O)
SPACE
FIGS-SPACE

2
C21
4
C41
C42
421
8
C81
C82
821
C84
841
842
C842l
A
CAl
CA2
A2l
CA4
A4l
A42
CA42l
CA8
A8I
A82
CA821
A84
CA841
CA842
A8421
B
CBI

H
'(FIGS-H)
N
,(FIGS-N)

M
.(FIGS-M)
LF
FIGS-LF
L
)(FIGS-Lj
R
4 (FIGS-R)
G
&(FIGS-G)
I
8 (FIGS-I)
P
(FIGS-P)
C
:(FIGS-C)

o

V
;(FIGS-V)
E
3(FIGS-E)

Generates TranslateTable Address

X02
X03
X04

X05
X06
X07
X10
Xll
X12

X13
XI4
XI5

XI6
X17
X20

X21

xn

X23
X24

X25
X26

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

X27
X30

X31
X32
X33
X34
X35
X36
X37
X40

X41

U
7(FIGS-U)
Q
1(FIGS-Q)
K
( (FIGS-K)
LTRS
BLANK
FIGS-BLANK

Translate with Word Marks
Op Code
T

A-address
xxx

B-address
xOO

d-character

>

The TRANSLATE-WITH-WORD-MARKS instruction consists of I (C-A-2-1-WM) for the operation code, a 3character 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 groupmark 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 can 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 1-90 and 1-91 show that the digits 8
Enters 1440 or
1460 Storage as

Generates TransloteTable Address

CB2
B21
CB4
B41
B42
CB421
CB8
B81
B82
CB821
B84
CB84I
CB842
CBA42l
CBA
BAl
BA2
CBA2l
BA4
CBA41
Deleted From Input
by Adapter
BA8
BA8l
CBA82
BA821
CBA84
BA841
Deleted From Input
by Adapter
C
1

X42
X43
X44

X45
X46
X47
X50

X51
X52
X53
X54
X55
X56

X57
X60

X61
X62
X63
X64

X65

X70
X71

---

xn

X73
X74

X75

XOO
XOI

--

(Note: X in table address represents any hundreds-position digit.)

Figure 1-90.

Baudot Code to Translate-Table Address
1-53

and 9 are not used in the units or hundreds position of
any generated address of the translate table.) The
156-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).
Characters and word marks from the translate table
(initial address specified by B-address) replace the
characters and word marks in the record being translated, beginning at the address spedfied 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.

Generates Translate- 1440 or 1460 Generates Translate1440 or 1460
BCD Character Table Address
BCD Character Table Address
BLANK

1
2
3
4
5
6
7

8
9
0
/I
@

>

'Ii

(15)

/

S

T
U
V
W
X

Y
Z

t
,
%

=
I

(ttr>

Translate Without Word Marks
Op Code
T

A-address
xxx

B-address

xOO

XOO
X01
X02
X03
X04
X05
X06
X07
X10
Xll
X12
X13
X14
X15
X16
X17
X20
X2l
X22
X23
X24
X25
X26
X27
X30
X31
X32
X33
X34
X35
X36
X37

J
K
L
M
N

0
P
Q

R
I
$

*

)

;
.6-

&
A
B
C
D

E
F
G
H

I
?
tI

(

<

*

X40
X4l
X42
X43
X44
X45
X46
X47
X50
X51
X52
X53
X54
X55
X56
X57
X60
X61
X62
X63
X64
X65
X66
X67
X70
X71

xn

X73
X74
X75
X76

xn

Note: Word marks with the BCD characten will generate the same
sequence of addresses at (X+1)OO, (X+l)Ol, etc.

The TRANSLATE-WITHOUT-WORD-MARKS instruction
format is the same as the TRANSLATE-WITH-WORD-MARKS
instruction, but without a d-character. It functions the
same, with these exceptions:

Figure 1-91. BCD Character Generates Translate-Table
Address

1. One table size can be accommodated: the 78-character table, which provides as many as 64 usable
positions.

bits or shifted codes. The adapter detects SHIFT-bit
transitions, generates the required SHIFT character, and
removes the SHIFT bit.
Figure 1-90 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-34-5 bits respectively, are equal to BCD bits B-A-8-4-2
with the I-bit designating figures shift).
Figure 1-91 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 1-92 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.

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 tables depending on 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 of 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 Transmission Control Unit)
performs any necessary parity conv.ersion for input and
output. The tables also must contain required SHIFT
I-54

Fi rst A-Cycle

The first A-cycle generates the appropriate translatetable address specified by the character to be translated.

900

90 'I

902

903

![ill1Md

2
4
A

WM

4

~M

WM

B-REG.
1

2
4

L-.r-..--L--

,,

I--

Held
cord to be translated}

,,

,
,,
,

----------~

\

0
1
1

\

8
A
B

0
1
0
~

C

}
}

0

WMro }

\

,

\

19 10

10J

1. Transfer to units position of storage address register as 1-2-4.
2. Generate parity.
3. If all zeros, generate 8-2-C to storage address register
units position.
1. Transfer to ~ position of storage address register as 1-2-4.
2. Generate parity.
3. If all zeros, generate 8-2-C to main address register units
position.
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 add ress reg is te r •

I-

Storage Address Register at beginning of cycle.

~~===S=to=ra=g=e=A=dd=r=eS=S=Re=g=i5=te=r=a=t=en=d=O=f=C=yc=l=e=.========================================~~
A-Address Register
(Remains the same before
and at ~he end of first
A-cycl!,)
(T ranslcJte Instruction)

r .....

I

B-Address Register
(Initial Table Address)

900 600 >

I·WJ. Fint A--cycle of Translate Sequence

The translate insbuction acts upon all the characters
of the A-Held. Figure 1-92 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 co:q.tents 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 of the storageaddress register together with the A-B bits from the
units position of the B-addres:s register. A-B bits in the
units position of the generated address designate corestorage blocks over 3999. In Figure 1-92 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 (no-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 position of the storageaddress register. In Figure 1-92 the A-bit, which becomes a 2-bit, produces a 2 in the tens position of the
storage-address 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 storageaddress register.
If the jinstruction is a TRANSLATE-WITH-WORD-MARKS,
a word-mark bit in the B-register is interpreted as a 1bit 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 1-92)
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 mark out of a specified translate-table
address in storage into the A-register. It uses the address generated in the first A-cycle. The translate table
is unaltered.
Second A-Cycle

The second A-cycle of the operation again reads out
the character being translated and replaces it in core
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 hut moves word marks
from the translate table to the A-field. A TRANSLATEI-55

instruction regenerates original
A-field word marks into the A-field and moves translate-table word marks to the A-field.
Figures 1-93 and 1-94 show how the translate instruction affects processor-storage areas. No particular
codes are specified.

Load Record

WITHOUT-WORD-MARKS

The translate feature includes a special move instruction that moves characters and associated word marks
in a record from one storage area to another.
Op Code
p

Timing. The formula for the translate-operation exe-

= .006 (LI + 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

Example: N = TOO-character record
T = 1.8 IDS

900 901 902 903 904 905
0 1 0 1 0 0
0 0 1 1 1 1
1 1 1 0 1 0
8
0 1 0 0 1 1
A
0 1 0 0 1 1
B
0 1 0 0 1 1
0 1 1 0 0 0
C
WM 0 1 0 1 0 1
Original A-field (record to be
1
2
4

906 907 908
0 1 0
0 0 0
1 0 1
0 0 1
0 0 1
0 0 1
1 0 0
1 0 0
translated)

909
1
0
0
0
0
0
1
1

910
1
1
1
1
1
1
0
1

B-address
xxx

d-character

>

The LOAD RECORD instruction consists of P (B-4-2-1WM) for the operation code, a 3-characte; 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 ad-character
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.

cution time (T) for the 1460 is:
T

A-address
xxx

1
2
4
8
A
B
C

WM

900
0
0
1
0
0
0
0
0

90 1 902
1 0
0 1
1 1
1 0
1 0
1 0
1 1
1 0

903
1
1
0
0
0
0
0
1

904
0
1
1
1
1
1
0
0

905
0
1
0
1
1
1
0
1

906
0
0
1
0
0
0
1
1

907 908
1 0
0 0
0 1
0 1
0 1
0 1
0 0
0 0

909 910
1
0
0
0
0
0
1

1
1
1
1
1

1
0
1

1

Original A-field (record to be translated) (Note: Same bit
configurations as example translate-with-word-marks.)

600 601 602 603 604 605 606 607 608 674 675 676 677)TranSlate

I

I

I

I

I

I

I

I

r><1<

I

I

I

I

~

Represents an unused table address (X08, X09, X 18, X 19, X28,
X29, etc.)

900 901 902 903 904 905 906 907 908 909 910

900 901 902 903 904 905 906 907 908 909 910

© © © © © © © © © ©

© © © © © © © ©. © ©

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

I-56

1

6
0
4

f
WM

© 604 means the contents of 604 (character and

.I. 900 600 >
Figure 1-93.

7
0

6
7
5

6
0
6

6
0
3

WM

WM

Resultant A-field.
word mark) .

!
Translate-with-Word-Marks

I

Translate table 600-677 (coded characters are assigned by the program)

~ Represents an unused table address (X08, X09, X18, X19, etc.)

6
0
4

I

6
7
6

6
7
2

6
0
4

WM WM

6
0
1

6
7
4

6
0
1

© 604 means the contents of 604 (character and

900 600

Figure 1-94.

$

WM WM

Translate Without Word-Maw

I

Transmission Control-Unit
Attachment (14601
This feature is n~quired when the IBM 1448 Transmission Control UI1it is attached to an IBM 1460 Data
Processing System, For detailed information on the
1448, refer to the IBM 1448 Transmission Control Unit
Form A24-3010, and IBM 1448 Transmission Control
Unit with IBM 1460 Data Processing System, Form
A24-3050,

800 CP'I Feature (1401)
This feature provides the facility to operate 729 v magnetic-tape unit at 800 cpi density with the 1401. The
feature includes a tape-densities-option switch on
the 1401 console, which is used to select one of the
following pairs of densities: 200/556, 200/800, Dr
556/800, The high or low density seleoted by the
change-density switch on each tape unit operates in
conjunction with the pair of densities selected by the
tape-densities-option switch,
This feature is standard on an IBM 1460 Data Processing System with an IBM 1461 Input/Output ContrDI,
Model 2, and is effective for both the 729 v and 729 VI
magnetic-tape units,

IBM 1402 Special Feature
Instructions and Timing
Early Ccrrd Read (Model 1 Only;
Standard on Model 3)

The early-card-read feature for the IBM 1402 Card
Read-Punch minimizes the decrease in card-reading
speed caused by lengthy processing routines. In such

routines, the card-reading mechanism can engage
sooner, thus reducing the time between the reading of
cards.
The card reader operates at a rated speed of 800
cycles per minute (one cycle every 75 milliseconds).
The card reading speed depends on the tiIiiing of the
READ CARD instructions in the prDgram. To effect continuous card-reading at the rate of 800 cards per
minute, a READ CARD instruction must be given within
10 millisecDnds after the preceding card has been
actually read into. core storage (labeled Processing
Time in Figure 1-95),
Normally, if prDcessing time exceeds 10 ms in a
basic card-read cycle, the rated card-reading speed
decreases, This occurs because of the mechanical structure of the card-read feed, There is only one time during the read cycle when the feeding mechanism can
be engaged, If a READ CARD instruction is given too late
(processing time exceeds 10 IllS), a card-read cycle is
skipped, thus reducing the input speed from 800 to 400
cards per minute (Figure 1-96), Similarly, if the time
required for processing exceeds 85 ms, two read cycles
are skipped, and the input speed is reduced to 266
cards per minute,
The early-card-read feature provides two additional
points (clutch points) where the feeding mechanism
can engage, When processing time between cards exceeds 10 ms, the feed mechanism can engage 50 ms
sooner than before, The time between card feeding is
reduced to 100 ms rather than 150 ms, Instead of a 50
percent reduotion in the rated speed (to 400 cpm),
there is 'Only a reduction of 25 percent (to 600 cpm) as
shown in Figure 1-97,
Similarly, when processing time between cards exceeds 35 ms, the feed mechanism can engage 25 ms
sooner than before, The time between card feeding is
reduced to 125 ms rather than 150 ms, Instead of a 50
percent reduction in the rated speed (to 400 cpm),
there is only a reduction of 40 percent (to 480 cpm) as
shown in Figure 1-98,
Figure 1-99 is a chart showing the card feed cycle
times and the resultant cards per minute 'Output.

CARD READING
800 CARDS PER MINUTE (Assume that operation code "1" was given. during previous cycle)

~
~

75ms

21m.
Read S'a,' Time

..,...

--------------------------------------~~
44ms
Card Reading

Processing
Time

The Read Start Time not available as Process Time
unless the "Read Release" special feature is installed,

Figure 1-91:),

Card Read Cycle

I-51

Read Card 1

Read Card 2

No Card Feed

75 ms

75 ms

Clutch Point

75 ms

Clutch Point 2

RST

READ

PT

21 ms

44 ms

10
ms

Clutch Point 4

Clutch Point 3
RST

PT

READ

44

21 ms

m~

10
ms

Process time
(10 ms

+

75 ms)

Figure 1-96. 400 CPM Operation

-

-I

Clutch Latch

-

14--- Clutch Engagement

lOOms

lOOms

Clutch Points

I

25 ms

-

RST
21 ms

Figure 1-97.

--'T

25 ms

I

I

25 ms

I

Read
44 ms

I

10 ms

25 ms

25 ms

RST

Read

21 ms

44 ma

RST
21 ms

I

14-- Clutch Engagement

-

I
-r-

I

25 ms

Read
44 ms

I
10 ms I

25 ms

I

25 ms

25 ms

-I-

25 ms

60ms

Figure 1-98. 480 CPM with Early Card Read

I
I

25ms ___

35 ms

-I
I

10 ms

25 ms

Process Time

Clutch Points
25 ms

I

25 ms

35 ms

Process Time

I-58

I

Process Time

125 ms

-

25 ms

600 CPM with Early Card Read

Clutch Latch

25 ms

I

25 ms

RST
21 ms

-

Card IFeed
Cycle

The hole-count check O'f prepunched data is begun at
the punch-read statiO'n and is completed at the punchcheck station after punching has occurred.

Cards
Per Minut,e

Timing
75 ms
100 ms
125 ms
150 ms
175 ms
200 ms
225 ms
250 ms

NOTE: Punching in pre punched columns is acceptable, provided that the resultant character is valid and that the punches
read at the punch-feed-read station are not repeated. For example, an X can be punched in a card column that already
contains a 2, but punching a K (X and 2 punches) at the
punch station if either an X or a 2 was already in the card,
results in a hole-count check.

800
600
480
400
342
300
266
240

Figure 1-99.

The d-character R activates the punch-feed-read
brushes. It can be used with the operation codes PUNCH
CARD (4), WRITE AND PUNCH (6), and START PUNCH
FEED (9). If the cO'mbination instruction READ AND
PUNCH (5), or WRITE READ AND PUNCH (7) is given,
read and punch errO'rs occur.

Card Feed Timings

Punch Feed Read (Models 1 and 3 Only)
In some applications it is desirable to read information
into the system, calculate, and punch the results in the
same card from which the input data was read. By
using the punch feed read feature, the card at the
punch-feed-read station can be read while the card
ahead of it is being punched. To permit this type of
operation, a special set of BO reading brushes, called
punch feed read, is added to the IBM 1402 Card ReadPunch feed, one station ahead of the punch sitation
(Figure 1-100). The R d-character specifies that the
card is to be read from the punch side of the 1402. The
normal read area (storage locations 001-0BO) receives
the information from the punch feed read in the same
manner as information is read from the read feed. A
validity and a columnar hole-count check is made on
each card column read from the punch-feed-read
brushes. MLP card codes cannot be read by the punchfeed-read brushes.
The punching operation fo~ machines equipped with
punch feed read is the same as in the basic 1401. Storage positions 101-1BO are specified as the punch area,
and a hole-count check is made the punch brushes.

Read-Punch Feed

Instruction Format.
d-character
R

Op Code

Mnemonic
SPS P
A RF

4

Function. When this instructiO'n is used, the punch
feed operates and reads the card entering the read
station on the punch side. It also causes the card
at the punch station to' be punched. The R character
modifier makes this instructiO'n effective.
Word Marks. Word marks are nO't affected.
Timing. T = N (LI + 1) ms + punch start time
(37 ms) and punching time O'f 1B4 ms (Figure
1-101). (Punch start time can be used for processing
if the punch release special feature is installed.)
N ate. An additional 3 ms is required in excess of the normal
punch time of 181 ms when the punch feed-read-feature is
used. Processing time available is 19 ms.

Punch ••

unCh PF':~ ~

l~~:~ I:';~r
- -1

~
--~- ~----_J~!:~~ur UUUU~~!::~~I_ _r_Hopper

:.

Read

Pun,h
Check

Read

Normal

R d

Punch

eo

NP
Figure 1-100.

b

4

8/2

NR

Punch Feed Read Schematic

I-59

I:

~~~~~~~~~~~~~~~~~~~~

37ms
Punch Start

Tim~

240 ms
Punch Card operaHon~~~~~~~~~~~~~~~~~~~

I.....

,..

184 m s - - - - - - - -_ _ _-:.........
,9m.-!
Punching
Processing

Time

Figure 1-10 1.

Punch Timing (Read Punch Feed)

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

A-Add. Reg.

B-Add. Reg.
181

dbb

Example. Read the card at the punch-feed-read station, punch a card, and branch to START6 (0598)
for the next instruction (Figure 1-103).

Example. Read the card at the punch feed read station and punch a card (Figure 1-102).

Autocoder

~

11

.:
Assembled Instruction:! 598

Autocoder

Figure 1-103.
Assembled Instruction:.!

Figure 1-102.

OPERAND

Label

~

R

Read-Punch Feed and Branch

R

Read Punch Feed

Read-Punch Feed and Write

Instruction Format.
Mnemonic
SPS WP
A WRF

Read-Punch Feed and Branch

Instruction Format.
Mnemonic
SPS P
A RF

Op Code

I-address

d-character

4

xxx

R

Function. This instruction causes the same function
as READ-PUNCH FEED, except that an automatic branch
to the I-address is effected.
Word Marks. Word marks are not affected.
.Timing. T = N (LI + 1) ms + punch start time
(37 ms) and punching time of 184 ms. (Punch start
time can be used for processing if the punch-release
special feature is installed.)
Address Registers After Operation.
I-Add. Reg.
NSI
1-60

A-Add. Reg.
BI

B-Add. Reg.
081

Op Code
6

d-character
R

Function. This instruction causes the printer to operate and print a line, and the punch unit to read a
card, and also causes the card at the punch station
to be punched. The d-character R specifies that the
card at the punch feed station is to be read. The
printer takes priority and operates first, but the
signal to start the punch feed read is automatically
given before the end of the print operation, so that
actual card reading starts' soon after the print cycle
is complete .
Word Marks. Word marks are not affected.
Timing. T = N (LI + 1) ms + the timing conditions
for print and punch overlap (see Write and Punch
Operation Timing Chart - Figure E-44). The print
operation normally takes 84 ms. Punch start time is
37 ms and the punch reading time is 184 ms. An

additional 3 ms are added to the normal punching
time of 181 iris. Normal processing time available
is 19 ms.
Note. If the print-storage special feature is installed in the sys-,
tern, the automatic signal to start the punch-feed-read opera-,
tion is given shortly after the transfer of data to the print:
storage area. Thus, additional processing time can be gained.
by using print storage.

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

A-Add. Reg.

B-Add. Reg.
081

dbb

Example. Write a line, read a card at the punch-feed-,
read station, and punch a card (Figure 1-104).

Function. Same as the READ-PUNCH FEED AND WRITE
except that the program branches to the I-address
for the next instructiO'n.
Word Marks. WO'rd marks are not aHected.
Timing. T = N (LI + 1) ms + the timing conditiO'ns' for
print and punch overlap (see Write and Punch Operation Timing Chart - Figure E-44). The print operatiO'n normally takes 84 ms. Punch start time is 37
ms and the punch reading time is 184 ms. An additional 3 ms are added to' the normal punching time
of 181 ms. NO'rmal processi.ng time available is 19 ms.
Note. If the print-storage special feature is installed in the system, the automatic signal to start the punch-feed-read operation is given shortly after the transfer of data to the printstorage area. Thus, additional processing time can be gained
by using print storage.

Address Registers After Operation.
I-Add. Reg.
NSI
Assembled Instruction:!

Figure 1-104.

Read-Punch Feed and Write

Autocoder

~

Instruction Format.
Op Code
6

I-address
xxx

B-Add. Reg.
081

Example. Pri.nt a line, read and punch a card from the
punch side of the IBM 1402, and branch to START6
(0895) for the next instruction (Figure 1-105).

R

Read-Pulnch Feed, Write and IBranch

Mnemonic
SPS "vvp
A WRF

A-Add. Reg.
BI

OPERAND

Labe'

~I.

.:

d-character
R

Assembled Instruction:! 895

Figure 1-105.

•

~

R

Read-Punch Feed Write and Branch

1-61

IBM 1403 Special Feature
Selective-Tope-listing Feature
The selective-tape-listing feature can be attached to
any model of the IBM 1403 Printer so that output resuIts of data processed on a system can be printed on
adding-machine style paper tapes.

Operation

An IBM 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:

When a double-width tape is used, two tape linespace instructions are given, using the d-characters
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 (g) are
given. The print operation is a dummy print operation,
~nd the print area in core storage should be clear so
that nothing is printed. 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 be done by
using the same width tape in ano.ther location and
altering the program (changing the d-character to. the
character that corresponds to the new location). Tapes
can be pulled up manually before tearing them. against
the tear-bar portion of the tape-advancing mechanism
(Figure 1-106).
An end-of-tape conditio.n, 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-feeding
solenoids simultaneously.

A - Tape 1
B - Tape 2
C - Tape 3

Control (Feature Mode Switch)

D - Tape 4

A feature-mode switch is provided on the 1403. This
switch temporarily disconnects the standard carriagecontrol circuits and activates the tape-feeding circuits
when the tape-spool assembly tray is latched in the
operating position.

E - Tape 5
F - Tape 6
G - Tape 7
H - Tape 8

1-62

Figure 1-106.

Selective Tape Listing Feature Mechanism

1-63

Buffer Feature for the IBM 1009
Data Transmission Unit

The IBM 1009 Data Transmission Unit, with the buffer
feature installed, can be attached to an IBM 1401 or
1460 Data Processing System. With this feature installed on the IBM 1009, data can be loaded and unloaded to and from the transmission line while the
processor is free to perform any other function.
The buffer feature provides a 400-character corestorage buffer that is divided into four 100-character
blocks. Blocks of 100 characters are loaded into buffer
storage from the processor or unloaded from buffer
storage into the processor by a single MOVE or LOAD
instruction. After a block of 100 characters has been
moved into the core-storage area of the processor
(receive mode), testable latches can be interrogated
by the program to determine whether more data is
stored and available for transfer to the processor. After
a block of 100 characters 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 can initiate
another MOVE or LOAD instruction. The B-address of
the MOVE or LOAD instruction should be increased by
100 before the instruction is executed. This procedure
is followed until a group-mark with a word-mark (endof-message) is detected in the processor core storage
(transmit mode) or an end-of-message is detected in
the 1009 buffer storage (receive mode). The processor
program must determine the validity of the data received by testing the appropriate latch. 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 the control of
the program. 1£ the data is still invalid after three
transmissions the transmission of data ceases, and an
alarm sounds, indicating operator intervention is required.
The buffer feature also provides the 1009 with the
ability to answer automatically and establish a telephone connection for transmission of data and to disconnect at the end of transmission without operator
intervention. The direction of the transmission can be
automatically controlled through appropriate programming.
1-64

Maximum Processor Time Required for
Movement of Data

Blocks of 100 characters, with or without word marks,
are transferred by each MOVE or LOAD instruction. The
following formula can be used to calculate the time
involved in moving a 100-character block of data to or
from the buffer.

= 9N + IN + 1L + 99N

or 109N + 1L
(without indexing) ms.
T = 9N + IN + 3N + 1L + 99N or 112N + 1L
(with indexing) ms.
L = Line speed in ms.
N = .0115 (1401); .006 (1460) ms.

Timing. T

IBM 1009 with Buffer (Instructions)

Several processor instructions are expanded to provide
program control for operations that involve the IBM
1009 Data Transmission Unit with buffer feature
installed.

Initialize a Message Transmission (XMIT)

Instruction Format.
Mnemonic

Op Code
U

CU

A-address
%D1

d-character
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 instruction causes the processor
to interlock and an alarm to sound, signaling that
operator intervention is necessary. This instruction is
also used when the transmit, receive, and automatic
switch is set to the AUTOMATIC position( buffer feature installed) and a ~ E (SET DIRECTION TO TRANSMIT) instruction has been issued.
The A-address specifies the 1009, and the d-character specifies the start transmission operation.
Word Marks. Word marks are not affected.
Timing . . T

=N

(LI

+ 1)

ms.

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

A-Add. Reg.
%41

B-Add. Reg.
d41

Initialize a Reply' ,From Receiver (RCV)

Move Character from the Receiving 1009

Instruction Format.

Instruction Format.
Mnemonic

Op Code

CU

U

d-character

A-address
%Dl

D

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).

Mnemonic

Op Code

MCW

M

A-address
%Dl

B-.address
xxx

d-character

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-character specifies
a receive operation.

Word Marks. Word marks are not affected.

=N

Timing. T

Word Marks. Word marks are not affected.
(LI

+ 1)

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 instmction is also used when the transmit, receive, and
automatic switch is set to the AUTOMATIC position (buffer
feature installed) and a ! D instmction has been issued.

Timing. T = 109N + 1L (see Maximum Processor Time
Required for Movement of
Data)
Timing. T = 112N + 1L (with indexing)
Note. When the 1009 recognizes the end-of-message condition,

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

%41

d41

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.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

NSI

%41

B-Add. Reg.
B + 100 or GM + 1

Move Character to the Transntitting 1009

Instruction Format.
Mnemonic

Op Code

MCW

M

Load Character to the Transmitting 1009

A-address
%Dl

B-address
xxx

d-character
W

Instruction Format.
Mnemonic

Function. The transmitting processor sends 100 characters to the 1009 buffer, sta:rting with the position in
core storage specified by the B-address. The d-character, ~VV, specifies a transmit operation.
Word Marks. Word marks are not affected.
Timing. T

= 109N + 1L (see Maximum Processor Time

Required for Movement of
Data)
Timing. T = 112N + 1L (with indexing)
Note. If a group-mark with a word-mark is sensed in processor
core storage, an end-of-message transmit condition is recognized.

LCA

I-Add. Reg.

A-Add. Reg.

NSI

%41

B-Add. Reg.
B + 100 or GM + 1

A-address
%Dl

B-address
xxx

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 'Allarks. If a word mark is associated with a character, it is placed with the character in 1009 buffer
storage during one transfeT 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.
Timing. T

Address Registers After Operation.

Op Code
L

= 109N + 1L (see Maximum Processor Time

Required for Movement of
Data)
Timing. T = 112N + 1L (with indexing)
1-65

Note. A group-mark with word-mark in processor core storage
signals an end-of-message-transmit condition.

A-Add. Reg.

NSI

%41

B-Add. Reg.
B + 100 or GM

+1

Op Code
L

A-address

B-address

d-character

%DI

xxx

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 character and associated word mark are then transferred to processor
core storage during one transfer cycle.
Timing. T

= 109N + 1L (see Maximum Processor Time

Required for Movement of
Data)
Timing. T = 112N + 1L (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.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

NSI

%41

B-Add. Reg.
B + 100 or GM

+1

I-address
xxx

d-character
X

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.
1-66

XMIT
XMIT

B xxx 1 - This indicator turns on when the 1009 is in a nm
- condition. If the 1009 is not in a run condition, the program should stop, or loop until the run condition is established.
B xxx 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 first time when 100 characters have been placed in the
receive 1009 buffer or when a U%D 1 E instruction has been
issued when in a transmit mode.
B xxx 3 - This indicator turns on if the signal sent to the
- transmitting station by the !l%D 1 D instruction specified
that a good transmission occurred. The transmitting processor should test this indicator and branch to the routine
for the next message, if it is on. If the indicator is not on,
the program should advance to test the transmission-error
indicator.
B xxx 4 - The reply-bad indicator turns on if the signal sent
- to the transmitting station by the U%D l 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.
B xxx 5 - 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 en when the
first error character is detecteu in a message and remains
on until the next !l%D 1 D instruction is issued.
B xxx 6 - This inuicator turns on when anyone of the fol- lowing 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.
B xxx 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 on until the next U%Dl D instruction is issued.
B xxx 8 - This indicator, when on, indicates to the processor
- that the 1009 has received an EOF (end-of-file) signal
from the remote terminal.

Timing. T = N (LI

Instruction Format.
Op Code
B

XMIT
XMIT

Word Marks. Word marks are not affected.

Branch If Indicator On

Mnemonic
B

6
7
8

Station
RCVor
RCV or
XMIT
XMIT
RCV
RCV or
RCV
RCVor

Indicators.

Instruction Format.

LeA

1009 Ready
Buffer Service
Heply Good
Heply Bad
Receive Error
Attention 1009
Receive EOM
Heceive EOF

4
5

Load Character from the Receiving 1009

Mnemonic

Indicator

1
2

3

Address Registers After Operation.
I-Add. Reg.

d-character

+ 1)

ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.
With. Indexing

Branch
No Branch

BI
NSI

BI
BI

Branch
No Branch

BI
NSI

Without Indexing
BI
BI

B-Add. Reg.
NSI
dbl}
cleared to
blanks
dbb

Suppress 3-Second Alarm

Word Marks. Word marks are not affected.

Instruction Format.

Timing. T

Mnemonic

Op Code

d-character

SS

K

A

Function. 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 instruction addresses the 1009. This instruction can be given when a delay in processing
can be foreseen.
Word Marks. Wm-d marks are not affected.
Timing. T

=N

(LI

+ 1)

=N

(LI

+ 1)

ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

dbb

dbb

Mnemonic

Op Code

d-character

SS

K

F

Send EOF (End-of-File)

Instruction Format.

ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

dbb

dbb

Set Direction to Receive

Function. This instruction is incorporated in the prooessor transmit or receive program routine to initiate
sending an EOF (end-of-file) code signal to the
remote 1009.
Word Marks. Word marks are ,not affected.

Instruction Format.

Timing. T

Mnemonic

Op Code

SS

K

d-character
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

=N

(LI

+ 1)

ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

dbb

dbb

Mnemonic

Op Code

SS

K

d-character
L

AUTOMATIC.

Word Mark~" Word marks are not affected.
Timing. T = N (LI

+ 1)

Instruction Format.

ms.

Address R:egisters After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add., Reg.

NSI

dbb

dbb

Mnemonic

Op Code

a.-character

SS

K

E

Set Directicm to Transmit

Instruction Format.

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.

Operate in Load Mode

Function. This instruction is. placed ahead of the
U %D 1 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. T = N (LI

+ 1)

ms.

Address Registers After Operation.
I-Add. Reg.

A-Add. Reg.

B-Add. Reg.

NSI

dbb

dbb
1-67

Index

A-Address (Ovlp) ................................................................
Adapter 51-Column Feed (1401, 1460) ............................
Advanced Programming (1401) ..........................................
Asterisk Protection (Edit) ....................................................

1-34
I-I
I-I
1-21

B-Cycle (Tran) ................................ ,................................... ..
Binary Tape Instructions (Tape) ..................................... .
Binary Transfer (1460) ...................................................... ..
Bit Test (1401, 1460) ........................................................ ..
Branch if Bit Equal ........................................................... .
Branch if High, Low, or Equal Compare (HLE) ........ ..
Branch if Indicator On (DDC) ......................................... .
Branch if Indicator On (Ovlp) ........................................ ..
Branch if Indicator On (SS) ............................................ ..
Branch if Indicator On (1009) ......................................... .
Branch Instructions (Direct Data Channel) (DDC) ...... ..
Buffer Feature for the IBM 1009 (DTU) ........................... .

I-55
1-8
1-5
1-5
1-7
1-23
1-14
1-39
1-48
1-66
1-14
1-64

Column Binary (1401) ....................................................... .
1-5
Compressed Tape (1401, 1460) (Tape) .......................... .. 1-10
Console Attachment 1447, Model 2 or 4 (1460) .............. .. 1-12
Console Inquiry Station Adapter (1401-1447) ................. . 1-12
Control Feature Mode Switch (1403) ............................. . 1-62
Data Flow (Ovlp) ................................................................
Decimal Control (Edit) ........................................................
Decreasing an Address ........................................................
Direct Data Channel 1401, 1460 (DDC) ............................
Direct Seek................................ ..................... ........................
Direct Seek Timing ..............................................................
Disk Control Field ........ .................................... ..................
Disk-Storage Control (1460) ..............................................
Disk-Storage Drive Adapter (1401) ..................................
Divide ....................................................................................
Divide Subroutine ........................... "....................................

1-33
1-22
1-2
1-12
1-20
1-21
1-20
1-21
1-21
1-25
1-29

Early Card Read (1402) ....................................................
Expanded Print Edit (1401, 1460) ....................................

I-57
1-21

First A-Cycle (Tran) ............................................................
Floating Dollar Sign ............................................................

I-54
1-22

General Description of Translate (Tran) ............................

I-54

High-Low-Equal Compare Feature (1401, 1460) ............

1-23

1009 with Buffer (Instructions) (1009) ....................
1011 Paper Tape Reader (Ovlp) .................... 1-42,
1401 System Timing Considerations (Ovlp) ............
1402 Card Read-Punch (Ovlp) .............. 1-34, 1-42,
1402 Special Feature Instructions and Timing ......
1403 Special Feature ..................................................
1419 Magnetic Character Reader (Ovlp) ...... 1-42,
1460 System Timing Considerations (Ovlp) ............
Increasing an Address ..........................................................
Indexing .... ,...........................................................................
Indexing and Store Address Register (1460) ....................
Initialize a Message Transmission (1009) ............................
Initialize a Reply from Receiver (1009) ..............................
Instruction Utilization in the Program (DDC) ..................

1-64
1-43
1-42
1-43
I-57
1-62
1-43
1-43
I-I
I-I
1-24
1-64
1-65
1-16

IBM
IBM
IBM
IBM
IBM
IBM
IBM
IBM

Load Character from the Receiving 1009 .. ............. .......
Load Character to the Transmitting 1009 ......................
Load Record (Tran) ........................ ..... ...............................

1-66
1-65
I-56

Magnetic Tape (Ovlp) ................................................ 1-42,
Maximum Processor Time Required for
Movement of Data (1009) ................................................
Move and Binary Code (Tape) ........................................
Move and Binary Decode (Tape) ......................................
Move and Insert Zeros (Tape) ...........................................
Move and Load Instructions (DDC) ................................
Move Character from Receiving 1009 ............................
Move Character to Transmitting 1009 ............................
Move Characters to Record or Group Mark ..................
Move Record (1401, 1460) ..................................................
Multiply ................................................................................
Multiply and Divide Subroutines ......................................
Multiply and Divide Timing ..............................................
Multiply Subroutine ............................................................
Multiply-Divide (1401, 1460) ........ ,....................................

1-44
1-64
1-9
1-8
1-10
1-15
1-65
1-65
1-4
1-4
1-24
1-27
1-27
1-28
1-24

Numerical Print Control (1401, 1460) ................................

1-30

Operate in Load Mode (1009) .........,................................. ..
Operation 1403 .................................................................. ..
Other Input/Output Unit (Ovlp) ....................................... .
Overlap Off ........................................................................ ..
Overlap Off and Branch .................................................. ..
Overlap On ......................................................................... .
Overlap On and Branch .................,.................................. .

1-67
1-62
1-34
1-35
1-36
1-35
1-35

Print Control (1401) ........................ ,,, ................................. .
Print Control Additional (1401) ...................................... ..
Print Storage (1401, 1460) ............................................... .
Printer Adapter (1401-1404) ............................................. .
Printer Adapter (1460-1403-3) ........................................ ..
Printer Control Adapter - Second Printer (1460) ........ ..
Processing Overlap (1401, 1460) ..................................... .
Processing-Overlap Instructions ......................................... .
Processing-Overlap Timing ................................................ ..
Programming Considerations (Ovlp) ................................ ..
Programming Considerations, Print Storage Feature .... ..
Punch Card in Overlap Mode (Ovlp) ............................ ..
Punch Card in Overlap Mode and Branch (Ovlp) ...... ..
Punch Column Binary ... ,.................................................. ..
Punch Column Binary and Branch ................................... .
Punch Feed Read (Models 1 and 3 Only) ................... .
Punch Feed Read Control (1401, 1460) ......................... .

1-30
1-30
1-30
1-33
1-33
1-33
1-33
1-34
1-42
1-40
1-32
1-39
1-39
1-7
1-7
I-59
1-45

Read Binary Tape ............................................................ ..
1-9
Read Card in Overlap Mode (Ovlp) ............................... . 1-38
Read Card in Overlap Mode and Branch (Ovlp) ...... .. 1-38
Read Column Binary ........................................................ ..
1-5
Read Column Binary and Branch .................................. ..
1-6
Read-Compare Adapter (1401) ........................................ .. 1-45
Read Compressed Tape .................................................... .. 1.. 10
Read Data (DDC) ............................................................ .. 1-15
Read Data with Word Marks (DDC) ............................. . 1-15
Read Disk-Track Record (TRRC) .................................. .. 1-49
Read Disk-Track Record with Address ........................... . I-50
Read-Punch Feed ............................ ", ................................ .. I-59

1-69

Read-Punch Feed and Branch ..........................................
Read-Punch Feed and Write ............................................
Read-Punch Feed; Write and Branch ..............................
Read-Punch Release (1401, 1460) ....................................
Read Request (DDC) .................................................... ......
Read Tape with or without Word Marks in
Overlap Mode ................................ ........ ..........................
Receiving-System Operation (DDC) ..................................
Reset (DDC) ........................................................................
Reset Overlap (Ovlp) ..........................................................
Reset Overlap and Branch (Ovlp) ....................................

1-37
1-18
1-13
1-36
1-36

Scan Disk (1460) ................................................................
Second A-Cycle (Tran) ................................ ........................
Seek Overlap Adapter (1460) ............................................
Selective Tape Listing Feature (1403) ..............................
Selective-Tape Listing Control (l401, 1460) ....................
Send EOF (1009) ..................................................................
Sending-System Operation (DDC) ....................................
Sense Switches (1401) ..........................................................
Serial Input/Output Adapter (1401, 1460) ........................
Set Direction to Receive (1009) ........................................
Set Direction to Transmit (1009) ......................................
Sign Control Left (Edit) .. ..................................................
Signal Control Instructions (DDC) ....................................
Space Suppression (1401, 1460) ..........................................
Special Feature ......................................................................
Start Punch Feed ................................................................
Start Read Feed ..................................................................
Store A-Address Register ....................................................
Store B-Address Register ....................................................
Suppress 3-Second Alarm (1009) ......................................
System-Interlock Conditions (Ovlp) ....................................

1-47
I-55
1-48
1-62
1-48
1-67
1-18
1-48
1-49
1-67
1-67
1-22
1-12
1-49
I-I
1-46
1-45
1-2
1-3
1-67
1-41

Tape Intermix (l401, 1460) ..............................................
Tape Operations (Ovlp) ......................................................
Track Record (14,60) ............................................................
Translate (1460) ..................................................................
Translate with Word Marks ........ ................ ......................
Translate without Word Marks ........................................
Transmission Control Unit Attachment ............................

1-49
1-34
1-49
I-53
I-53
I-54
I-57

Write Binary Tape ..............................................................
Write Data (DDC) ........ ......................................................
Write Data with Word Marks (DDC) ............................
Write Disk-Track Record ..................................................
Write Disk-Track Record with Address ..........................
Write Request (DDC) ........................................................
Write Tape with or without Word Marks in
Overlap Mode ..................................................................

1-9
1-16
1-16
I-51
I-52
1-13

I-Way System to System Data Transmission (DDC)....
2-Way System-to-System Data Transmission (DDC) ....
800 CPl Feature (1401) ......................................................

1-16
1-19
I-57

1-70

1-60
1-60
1-61
1-45
1-13

1-37

Technical Newsletter

File Number

1402-03

Re: Form No.

A24-3072-2

This Newsletter No. N21-0098
Date

November 22, 1968

Previous Newsletter Nos.

None

This Technical Newsletter provides replacement pages for Component Description: IBM 1402 Card
Read-Punch, Form A24-3072-2. Pages to be inserted and/or removed are listed below.
Cover and Edition Page
1-2
5-6
17-18
A change to the text or a small change to an illustration is indicated by a vertical line to the left of the
change; a changed or added illustration is denoted by the symbol. to the left of the caption.

Summary of Amendments: (1) Only Models 3,4, and 5 are equipped with a punch idle control timer.
(2) When adding punches into prepunched columns, the previously punched characters must be
valid.

File this cover letter at the back of the manual to provide a record of changes.

lnternational Business Machines Corp., Product Publications Dept., Rochester, Minn. 55901
Printed in U.S.A.

A24-3071-2

5'

TIrn~
CI>

International Business Machines CorporatiDn
Data Processing Division
112 East Post Road, White Plains, N. Y. 10601



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                     : 2003:08:21 22:33:19-07:00
Modify Date                     : 2009:09:01 05:00:28-07:00
Metadata Date                   : 2009:09:01 05:00:28-07:00
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:b935b9a6-88c2-4d88-aa71-961972c0c7c6
Instance ID                     : uuid:406c0b4f-199a-4861-b247-5038389f1e7c
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 76
EXIF Metadata provided by EXIF.tools

Navigation menu