C24 1464 3_1401_fargo 3 1401 Fargo

C24-1464-3_1401_fargo C24-1464-3_1401_fargo

User Manual: C24-1464-3_1401_fargo

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

DownloadC24-1464-3_1401_fargo C24-1464-3 1401 Fargo
Open PDF In BrowserView PDF
File Number 1401-28
Form C24-1464-3

Systems Reference Library

FARGO for IBM 1401
FARGO (Fourteen-a-One Automatic Report Generating
Operation) is a report generator that requires no expert
knowledge of programming techniques. This manual explains
the writing of report specifications and the preparation of
FARGO control cards to produce the desired results. Reports
can be prepared on blank paper or preprinted report forms.
The method requires a minimum of 4,000 positions of core
storage and is applicable to card input files only.
For a list of associated publications and abstracts, see the
IBM 1401 and 1460 Bibliography, A24-1495.

Fourth Edition
This is a reprint of C24-1464-2 incorporating changes released in the following
Technical Newsletter:
Form Number

Pages Affected

N24-0231

10, 11, 14

July 24, 1964

Significant changes or additions to the specifications contained in this publication
will be reported in subsequent revisions or Technical Newsletters.

Copies of this and other IBM publications can be obtained through IBM Branch Offices.
A form is included at the back of this manual for readers' comments. If this form has been
removed, address comments to: IBM Corporation, Programming Publications, Dept. 425,
Rochester, Minn. 55901.

©

International Business Machines 1961, 1963

Contents

Introduction ...................................................................................................

5

General Description

6

Report Specifications ....... ............................................................................

6

Coding Sheets ...................................................... ..........................................

8

Phase 4 (F:orm No. X24-6SS6) ........................."........................................
Report-Heading Control Cards ........ ................. ...... ................ ......... ......
Field-Headings Control Cards .................... "........................................

8
8
8

Phase 1 (Form No. X24-6SS6) ...................................................................
~1aster-Report Control Card ..................................................................
Control-Break Control Cards ..................................................................

10
10
10

Phase 1 (form No. X24-6SS7) ....... ................ ............ ...............................
Constants Control Cards .... ....................................................................

11
11

Phase 3 (Form No. X24-6SS9) ...................................................................
Detail Control Cards ..............................................................................

11
11

Phase 2 (Form No. X24-6SS8) ..................................................................
Total Control Cards ........ ................. ......... .............. .......... ...... ......... .......

13
13

Automatic-Carriage-Control Operation ................................................

15

Operating Instructions ................................................................................

16

Program Halts ................................................................................................

16

Patching ..........................................................................................................

17

Multiply-Divide Optional Feature ...........................................................
I\1ultiplication ..........................................................................................
Division ....................................................................................................
Half-Adjustments of Products and Quotients ....................................

20
20
22
26

FARGO General Program Operation and 1401 CoreStorage Organization ........................................................................

30

FARGO Report Examples ........................................ ..................................
Register of Earnings and Deductions ....................................................
Remittance Statement and Voucher Check ..........................................

31
31
31

Index ................................................................................................................

50

Fargo

FARGO, Fourteen-O-One Automatic Report Generating Operation, is a report generator that requires no
expert knowledge of programming techniques. It is
easy to learn and apply. Developed for the IBM 1401
Data Processing System, F ARGO may be quickly
adapted to many types of listed reports or groupprinted reports now prepared with unit-record equipment on blank paper or on preprinted forms.
In addition to providing the program for processing
the input detail-data cards, FARGO provides for
printing one title line, including page number, on each
page of the report. It also provides for printing two
lines of field headings used to designate the various
columns of the report. The printing of this information,
normally required when preparing reports on blank
paper, is controlled by the carriage tape. One advantage of FARGO is that any number of different reports
may be prepared in a continuous mode, provided the
reports are prepared on blank paper and that the
carriage-tape specifications are standardized for all
the reports.
Requirements of the report, such as title and field
headings, detail and/or total printing, carriage spacing,
skipping, ejecting, etc., are first laid out on an IBM
1403 Printer Spacing Chart. The report specifications
are then recorded on specially-designed FARGO con-

trol card coding-sheets (Phases 1, 2, 3 and 4). Control
cards for each of the four phases are then punched on
standard 50B1-type cards. These are inserted behind
their respective F ARGO condensed-program decks,
and all precede the detail data cards to be processed.
The file is then loaded into the 1402 file feed. The
operation is started by pressing the load key. The
1401 loads each phase of the FARGO program, and
generates the program steps from the control cards
that follow each phase.
In approximately 20 seconds, report printing is
started. It continues without interruption until the
report is finished. This procedure is graphically illustrated in Figure 1. If several reports are to be run
consecutively, a separator card containing a lozenge
(0 , 12-4-B) punch in card column one is placed behind the last detail data card for each report. This
branches the generated program into the last card
routine, ejects to the first printing line of the next
form, and immediately begins reading-in the next program deck.
FARGO is designed primarily for IBM 1401 card systems having a minimum of 4,000 positions of core
storage, and parallels the 407 approach to report preparation. It is a load-and-go system with no intermediate
operations such as symbolic assembly.

5

General Description
Following is a list of operations that can be performed
under FARGO control.
Print one full line (132 positions) of Report II eading
on the first line of each page of the report (carriagetape channel-I, including page numbers.
Skip to carriage-tape channel-2 and print a maximum of two full lines of columnar- or field-headings
on each page of the report.
Skip to the body line of the report (carriage-tape
channel-3).
List or group-print the body of the report.
Control on a maximum of four fields anywhere in
the detailed data cards regardless of length.
Group-indicate a maximum of four fields on the first
line of each minor control group.
Distinguish a maximum of 10 different types of detail cards and print results in the appropriate columns
of the report. Each code used to identify a given type
of card may be punched in the same column of the
detail card, or a separate column may be used to
identify each type up to a maximum of 10. If more than
one card-column must be tested to identify a given
type of card (multiple column type), a patching routine is generally required. Special provisions have been
made within the FARGO program for accomplishing
this type of patching. (See Patching.) However, two
columns may be tested without patching if, as is frequently the case, a type of card is identified by a digit
(1-9) in one column and a zone (usually an X) in another column. Example: 3 in column 6, X in column
80. (See Figure 25.)
Add, subtract, multiply, and divide detail data or
totals.
Accumulate and print totals (with or without summary punching) for each control level, plus final totals
at the end of the report. Minor totals are rolled into
intermediate totals, intermediate totals into major, etc.

6

Space before or after printing, or skip to predetermined total-lines (carriage-tape channels 4 to 9).
Crossfoot detail data or totals, print the results on
desired total levels, and print progressive totals whereever desired.
Print totals horizontally or vertically for each total
level on as many lines as desired.
Print multiple lines from one card (MLP).
Print reports on preprinted forms, including inverted
forms with MLP printing. In such cases, specifications
for report and field headings are not required.
Card count by types of cards and print card count
totals on desired total levels.
Overflow or eject from form to form.
Print any number of different types of reports
consecutively, provided that reports are prepared on
continuous blank paper and that the carriage-tape
specifications are standardized for all the reports.

Report Specifications
In developing report specifications, the first step is to
layout the report on an IBM 1403 Printer Spacing
Chart (step 1 in Figure 1). This establishes the positions at which the various data will be printed and
indicates the spacing or skipping between lines of
printing. This step is always required for new reports
but may not be necessary for existing reports, that is,
reports that have been prepared previously with the
407. In such cases, the same spacing chart used in
laying out the report for the 407 can be used with the
FARGO system. If minor modifications are made in
the conversion of the report from the 407 to the 1401
because of the greater printing capacity, a new layout
using the 1403 printer spacing chart is necessary. Once
the report layout is completed and the operations to
be performed are clearly indicated, the next step (step
2 in Figure 1) is to record the specifications on FARGO
coding sheets.

Carriage
r--:::-:--Tape - ____ -Glue
-'--_.';"

1403 Spacing Chart

---------------------I..r'

V-

Sample of report now being prepared on unit record
equipment to be, converted to FARGO

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

xxx xx xxx xx xxxxxx
xxx xx xxx xx xxxxxx
xxx xx xxx xx xxxxxx
xxxxxx*
xxx xx xxx xx xxxxxx
xxx xx xxx xx xxxxxx

0)

----

--

I

eD

I

.-

+

I

Phase 3
Phase 2
Phase 1

Phases 1 &4
FARGO
Code Sheets

rI-

f-

~.

Key~
FARGO

(2)

Numbers in squares indicate sequence
cod~s punched in column 77 of the
FARGO condensed program decks and
control cards.

Control Cards

G)
(

+
L
(

Phase 4
REPORT DETAIL
DATA CARDS

Phase 3

J-

Phase 2

I--

Phase 1
FARGO
Control Cards

/

@]

CD
0
Figure 1.

1401 Data

Processing
System

I

FARGO
Report

F ARGO--Basic Steps
7

Phase 4 (Form No. X24-6556)

Coding Sheets
Coding sheets (Figure 2) are designed to facilitate the
recording of specifications in the FARGO language,
following a few simple rules. The statements used to
supply the information are based on the logic of the
-107. Thus, any person with sufficient knowledge to
develop IBM 407 specifications for a given report can
learn and apply the FARGO language with very little
training.
The areas on the coding sheets labeled Report, Programmed By, Page Nos., and Date are for the convenience of the programmer, but are not punched in
the FARGO control cards. If the programmer assigns
a number to the program for identification purposes,
the number is entered in the area labeled Program
Identification, 73-76. This number is later punched in
each FARGO control card.
Each line of the coding sheets is identified by a preprinted sequence number in columns 77-80. These sequence numbers should be punched in the control
cards. When the control cards for the four phases are
properly inserted behind their respective FARGO
condensed-program decks, the sequence numbers must
be in ascending order as shown here.
Phase
1
1
2
2
3
3
4
4

Cards
Condensed Program
Control Cards
Condensed Program
Control Cards
Condensed Program
Control Cards
Condensed Program
Control Cards

Deck
Deck
Deck
Deck

No. of
Cards
50
variable
32
variable
33
variable
12
variable

Sequence
Numbers
0001-0050
1000-lxxx
2000-2031
301O-3xxx
4000-4032
501O-5xxx
6000-6011
7001-70xx

The coding sheets for the four phases are described
in the order in which they are normally filled out.
x24-6556
Phase 4 - Report-Heading Control Cards (two cards
maximum).
Field-Headings Control Cards (four cards
maximum).
Phase 1 - Master-Report Control Card (one card maximum).
Control-Break Control Cards (four cards
maximum).
FORM NO.

x24-6557
Phase 1- Constants Control Cards (50 cards maximum).

Report-Heading Control Cards
Two report-heading control cards (sequence numbers
7001 and 7002) provide a maximum of 132 positions of
report-heading information that may be printed at the
top of each page of the report (carriage-tape channel-I). Report-heading specifications are entered in columns 1-68 as follows:
Card
Columns
1
2

3-68

RULE:

FORM NO. x24-6558
Phase 2 - Total Control Cards (variable)

8

If a report heading is required, two cards always must
be punched, and HI control card must precede H2 control card. Depending on the length of the report heading
and the print positions selected, either HI or H2 control
card may be blank in columns 3-68. The report heading
may include the word PAGE' anywhere on the line if
page numbering is specified.
. If a report heading is not required (preprinted forms),
these two control cards are omitted.

Field-Headings Control Cards
Four field-headings control cards (sequence numbers
7011-7014) provide two full 132 positions for fieldheading information that may be printed on each page
of the report following the report heading (carriagetape channel-2). Field-headings specifications are entered in columns 1-68 as follows:
Card
Columns
1
2

3-68

FORM NO.

FORM NO. x24-6559
Phase 3 - Detail Control Cards (variable)

Control Data
H - Report-Heading Control Carel.
1 - First card.
2 - Second card.
Enter report-heading information (66 characters maximum for each card). Card 1 prints
in positions 1-66, Card 2 prints in positions
67-132.

Control Data
F - Field-Heading Control Card.
1 - First Card.
2 - Second Card.
3 - Third Card.
4 - Fourth Card.
Enter field-heading information (66 characters maximum for each card). Cards 1 and 2
print first line of field headings:
Card 1 - print positions 1-66.
Card 2 - print positions 67-132.
Cards 3 and 4 print second line of field
headings:
Card 3 - print positions 1-66.
Card 4 - print positions 67-132.

RULE:

If field headings are required, these four cards must enter
the machine in ascending sequence. If not required (preprinted forms), they are omitted.

RULE:

Whethcr or not report and/or field headings are specified, a blank card punched with the # (3-8) symbol in
column 1 must be the last card in the combined program
deck. In other words, it always precedes the first detail
data card. This signals the end of FARGO program
loading and the beginning of detail card processing.

r--.-----------------------______________________.______________________

~

FORM X24-6!1i59
Printed In U.S,A.

IBI4

INTfiNAllOHAl IUStNESS MACHINES CORPORATION

IBM 1401 DATA PROCESSING SYSTEM

REPORT __________________

IFARGO REPORT SPECIFICATIONS •

PRCIGRAMMEO BY

1731741"IJ

PROGRAM IDENTIFICATION

Phase 3
DATE

Pave

of

DETAIL CONTROL CARDS - PHASE 3
A-Add; 5 Subtract
@ ;;;: Multlplyl % ;;;: Dly. .
? ;;;: Z.ro Addj I = Z.ro Subt,oct

D ;;;: Move Dlg"; Y ;;;: Mtn. ZOMI

........

M=Mov.

Z=MoveaftdSupp''''z...OI
_ConI

,,_1

IIII~~II

I

.-

C""'-

,

T.

N.......

..
IT

25
71
' ULI ' 7 1 111 '11' "ISII"II
11
:..1. II 7
"('1 .....
II
11
11
11111
I I I I
ttT~l~li~~~~~~~~~~t~~~~~.~~~~~~~-U~~~~~~~~~~~~~
I I ~lol, 0
D

-.l..1.

D

-.l..1.

D

I I

D

-.l...l

FORM )12-4·6.558
in U.S.....

'rl"~itd

~T

INTERNATIONAL BUSINESS MACHINES CORPORATION

_____________________

IBM 1401 DATA PROCESSING SYSTEM
FARGO REPORT SPECIFICATIONS

I'I!OGIIAMMED BY

..1.~

j

___________

•

PROGRAM IDENTIFICATION

Phase 2

DATE

~17i7'17.i
~of

Page

TOTAL CONTROL CARDS·- PHASE 2

I

~..1.

S::::Subt,ad
@=:Muhiply

LI

" "'Divide

l=load edif'Control Word

E:...::Edit

Summ~Jry

ctlKlr

Punch
Column Split

M ::::: MOve (fln,tanl Dolo
M = Move
~;;;: Move and Suppress Zeros I = Move and Suppren Ierot

~..1.

J.J..
~_I
D

D

I

-.l...l
J...1..
j

FORMX2"6!i!i7
Printed in U.S.A..

I

IB"1

11

INTERNATI()NAl BUSINESS MACHINES CORPORATION

IBM 1401 DATA PROCESSING SYSTEM

REPORT _____________________

J_..L
Ll
_U
T

t-J
.I
1
.L

FARGO REPORT SPECIFICATIONS

PROGRAMMED BY

•

PROGRAM IIlENTIFICATION

Phase 1

DATE

_

Poge_of_

CONSTANTS CONTROL CARDS - PHASE 1
;

No.

S

POI.

Label

Column 1 C Conltant with a word matk; S Corlltant without a word m.grk
Colt.,tnnI2·3 = Size of Con,tant Word
Columnl .. -6 = label to IdentlfyConltantWo,d
Column I 7·72 = field for punching Conltant Word (66 charaete,. mQlllmum)

1234

15

20

25

3D

Sequlnce

3,·.tO

50

5"

70

IB"':

FARGO REPORT SPECIFICATIONS •

·'1·

w

~

IBM 1401 DATA PROCESSING SYSTEM

~--~----

PROGRAMMED BY

~:;~3~;;;:;;::;;;:::,;;:"···
w

U

~

,.7.,32

~

PROGRAM IDENTIFICATION

Phases 4 and 1

~

~

~

l! J...1..1.J..LJJ L~U I.LLJ_LLLll.LU...1J..l.-Ll...LLLLL..LLL..LLUI I II I
t-+-t-I--H .. ~

12

....++++-t-t.

,J oJ,JQ

INTERNATIONAL BUSINESS MACHINES CORPORATION

REPORT _ _ _ _ _ _.__. __

I' ~

sa

7217178

I-++-+-+-I--t ~-L-l1 __l.....L.LbhbdJ....!J~I.~1-"L""U±~L..L1-.lbd~·~I±;I::!:I:;!I;:;!I~I:0;1::!:Ll==J~~~~:;!I..:::...LLL~:!::;!:.l:..:!.I=.li~.-l=J...!I~±:1::::1::!I::!I~",-Ic:L::!J..:c.J~L..=.1c:j...!.I_l!.-:..I..=.1 11 I I I 1 I. II

J

DATE _ _ _ ..____ Poge_

A

I·S~'

~

~

I I I..lJ.J ...1.~..1.111 II I I .

'7'

Ci

I';'

I I I I I I I

17101'2

I I II I I I II I I IJ UJ.I ILJ.J.JLL..UL.LLl...JJ....l-.lL1L.LLl._LLl...J....l ..l_LLU_LLLU I III I I I II I

'7Iol'~.

J..1..1.1 I

LLl....l..Ll.l.-LLLLLLLL1..J_LJ..J.._LIJ..JJ lli_LLLlLLLl...LJJ.LLLU.lJ

..

lil.i of.,~J-N~t Hu~ct,~i,~fol~MV ~u~T~o1.o~1 '~T Ok~6~ili-t'!'jH'~,J J

1

~ER_

1JLL! ILl

Ll

oL ..

I LLJ_LLLLLLLI

LL

L~L~l' .<

LLl

REPORT :ONTROL CARD - PHASE 1

CONTROL BREAK CONTROL CARDS

PHASE 1

Control Field
Card Coh.

Sequence
Number

~~
I

1

I I

I I

•

2..1~

.-l~

.3f-.L.1-_U
.<

Figure 2.

II

II

Flullevel Control (minor)
Second level Control (Intermediate)
Third Level Conlrol (molor)

6206 I 5MSP

1004

FARGO Coding Sheets
9

Phase 1 (Form No. X24-6556)
Master-Report Control Card
This card (sequence number 1000), always punched
"AI in column 1, specifies:
l. type of report (list or group-print).
2. page overflow, if desired.
3. page numbering, if desired.
4. positions selected to print the page number anywhere on the report-heading line.
5. data to be group-indicated on the first line of each
minor control group of a listed report only.
The control data is entered in the various columns
of the coding sheet as shown here.
Card
C antral Data

Columns

M - Master-Report Control Card.
L - List; Blank - Group Print.

1
2

3

o (alpha) - Page overflow to carriage-tape
channel-I.
Blank - No page overflow.

4

P - Page numbering if desired.
Blank - No page numbering.

5-7

(from)

8-10 (to)

1403 print positions selected for printing
page number on report-heading line. (From
indicates the left-hand or high-order print
position while to indicates the right-hand or
units print position.)
IBM

11

First field to be group indicated.
M - Move
Z - Move and suppress zeros.

12-14 (from)
15-17 (to)

Location of data in detail card to be groupindicated. (From indicates the left-hand or
high-order card column, while to indicates
the right-hand or units card column.)

18-20 (from)
21-23 (to)

IBM 1403 print positions selected for printing
first group-indicated field.

24-36

Second field to be group-indicated. Same format as Field 1.

37-49

Third field to be group-indicated. Same format as Field 1.
Fourth field to be group-indicated. Same
format as Field 1.

50-62

RULE:

10

The master-report control card is -always punched, even
though it might be blank except for the M in column 1
and the sequence number (1000) in columns 77-80.

Control-Break Control Cards
These cards (sequence numbers 1001-1004) always
punched B in column 1, specify the four control levels
and define the card columns in which the control fields
are punched in the detail cards. For a simple listed
report with no controls, these cards are omitted. When
controls are required, the specifications are recorded
in columns 1-8 as follows.
Card
Columns

1
2

Code
B
1
2
3
4

3-5 (from)
6-8 (to)

C antral Data
Control-break control card.
First-level control (minor).
Second-level control (intermediate).
Third-level control (major).
Fourth-level control.
Location of control field.

Split-Control Fields

Normally, information in a given level control, identified by a single card-field heading, is punched in
consecutive columns of the card. In some cases, the information may be punched in more than one card field
but still in consecutive columns of the card. The various card fields involved may be treated as one-level
control merely by specifying the level desired (1, 2, 3,
or 4), and the high-order position of the left-most field
(from) and the low-order position of the right-most
field (to).
When a given level control (for example, minor) is
split, that is, represented by two card fields that are
not adjacent, one field is specified as minor (code 1)
and the other field as intermediate (code 2). Because
an intermediate control-break forces a minor totallevel, all the total operations are specified in Tl (minor
level) control cards in Phase 2. A single T2 (intermediate level) control card, coded SPS in columns 52-54,
follows. However, no total operations are specified on
the intermediate level. For each extra B-control card
required in Phase 1, one total level is sacrificed in
Phase 2.

Phase 1 (Form No. X~24-6557)

Constants Control Cardl;
These cards, punched C or S in column 1, define the
length of each constant word, the label used in the
program when referring to the constant, and the characters that compose the constant word, with or without
a \vord mark. Constant areas of core storage used to
accumulate totals must be given a label. A maximum
of 50 constants control cards may be used. Any combination of characters except PGE may be used as a
label. The reason PGE cannot be used is that a 4position constant area is reserved by the program to
permit addressing the page number counter. If page
numbering is not required, the counter may be used
for other purposes in the program, in which case the
counter must be referred to by the PGE label.
Because the number of constants control cards may
vary from report to report, complete sequence numbers are not preprinted on the form. Only the hundreds position (column 78) need be entered, using 0
for the first 9 lines, then l'~, 2's, etc., as required to
establish sequence. If more than one sheet is needed,
skip the first line (sequence no. 1010) on all overflow
sheets and continue numbering with the second line
(lx20). The same numbering scheme applies to sequence numbers for Total and Detail Control Cards
recorded on other forms.
Specifications for constants are recorded in columns
1-72 as follows.
Card
Columns
1
2-3
4-6

7-72

Control Data
C - Constant with a word mark.
S - Special constant without a word mark.
Number of positions in the constant word,
including blanks.
Label assigned to identify the constant word
when referring to it in the program.
Composition of the constant word (66 characters maximum).
Blank positions are considered characters.

Phase 3 (Form No. X24-6559)

Detail Control Cards
These cards, always punched D in column 1, specify
the various operations to be performed for each type
of detail card as follows.
1. Recognize type of card upon which operations specified in the same card are to be performed.
2. Move digits or zones from a single column of the
detail card.
3. Transfer constant words to print/punch areas.
4. Transfer data from detail card to print/punch areas.
5. Perform arithmetic operations on detail-card data.
6. Print multiple lines from a single card.
7. After printing a detail line, skip to a carriage-tape
channel, or space 1, 2, or :3 lines.

Detail-control-card specifications are recorded in
columns 1 to 72 as follows.
Card
Columns
1

2-6

RULE:

Control Data
D - Detail Control Card.
If only one type of detail card, leave columns
2-6 blank. If more than one type (maximum
10), enter infonnation in columns 2-6 as
specified in the following rule.

For operations that are to be performed on all detail
cards regardless of type, leave column 2 blank and enter
ALL in columns 3-5. On the last ALL control card, also
enter an asterisk C') (11-4-8) in column 2. ALL control
cards must precede all other control cards punched D in
column l.
For operations that are to be performed on specific
types of detail cards, enter in column 2 the type code, in
columns 3-5 the column in the detail card that contains
the type code, and in column 6 C for a character tcst or
Z for a zone test. The C and Z codes in column 6 control the method to be used for determining the type of
card indicated in column 2.
Applications of this rule are illustrated in the following examples.
For detail cards where no operation is to be performed, columns 1-6 of the detail control card must
always be punched.
Applications of this rule are illustrated in the following examples.

11

Card
Columns

Control Card
Columns

1 2 345 6
D
D
D
D
D

°

ALL
ALL
ALL
ALL
ALL

Character test. Operations specified in this
control card are performed on cards containing only an X (11-punch) in column 80.

D -

080 Z

Zone test. Operations specified in this control card are performed on cards containing
an X in column 80. This includes characters
in the 11-zone (] to R).

D & 080 C

Character test. Operations specified in this
control card are performed on cards containing only a 12-punch in column 80.

D & 080 Z

D 6 080 C

Control-card columns 14 through 20 are used
primarily to move credit X-punches from
some position of the data card to the units
position of an amount field that is to be accumulated or edited. If the position from
which the X was moved must be cleared,
another control card may be used to move
a blank zone into the position from which
the X was moved.

22-24

Character test. Operations specified in this
control card are performed on cards containing a 6-punch in column 80.

Enter the label assigned to the constant to
be transferred to the print or punch areas.

25-27 (from)
28-30 (to)

Print positions selected to print the constant
data.

31-33 (from)
34-36 (to)

Summary-card columns selected to punch
the constant data.

37

E - Edit detail data.
M - Move detail data.
Z - Move and suppress zeros from detail
data.
D - Move digit.
Y - Move zone.

No-Zone test. Operations specified in this
control card are performed on cards containing no-zone punches (0, 11, 12) in column 80. For this type of test, any digit from
1 through 9 can be used in column 2 of the
control card.

Zero-Zone test. Operations specified in this
control card are performed on cards containing a zero-zone punch. This includes
special character (I) and letters S to Z. For
this type of test, any of the characters mentioned can be used in column 2 of the control card.

D

Blank-column test. Operations specified in
this control card are performed on cards that
are blank in column 80.

7-13

Enter the card column to which the digit or
zone is to be moved.

Zone test. Operations specified in this control
card are performed on cards containing a
12-punch in column 80. This includes characters in the 12-zone (A to 1).

D Z 080 Z

Card
Columns

18-20 (to)

E
L
M
Z
D

Character test. Operations specified in this
control card are performed on cards containing the letter Z (0-9) in column 80.

080 Z

Enter the detail card column that contains
the digit or zone to be moved.

21

D Z 080 C

080 C

Control Data

15-17 (from)

Last ALL control card.

080 C

D

12

Operations specified in these control cards
are performed on all cards regardless of type.

D -

D 6 080 Z

14

)
)
)
)
)

Result

No-Zone test. Operations specified in this
control card are performed on cards containing no-zone punches (0, 11, 12) in column 80. This test can be used to differentiate
between an X80 or NX80 condition.

38-40 (UOfrom) Location of field to be transferred.
41-43 (to)
oooNOTE: To conserve on 1401 core storage,
subsequent references to the same field in
the same card types may be made by inserting asterisks in columns 38-40. This also
applies to columns 57-59.
44-46 ( from)
47-49 (to)

Print positions selected to print detail data.

50-52 (from)
53-55 (to)

Summary-card columns selected to punch
detail data.

56

A

S
@

%
?
I

Control Data
Special 4- or 7-position instructions coded in
actual IBM 1401 machine language, to be
executed for specific types of cards, can be
inserted in these columns. Instructions can
also be used to branch to patching subroutines written in actual machine language.
The specific patch point in the program must
be determined by the programmer. Instructions for inserting patching subroutines are
given under Patching.
D - Move digit.
Y - Move zone.

Edit.
Load edit control word.
Move constant data.
Move and suppress zeros.
Move digit.
Y - Move zone.
..

D
Y
M
Z

- Add.
- Subtract.
- Multiply (4-8 punch).
- Divide (0-4-8 punch).
- Zero and Add (12-0 punch).
- Zero and Subtract (11-0 punch).
- Move digit.
- Move zone.
- Move.
- Move and suppress zeros.

57-59 (UOfrom) Location of field upon which operations
60-62 (to)
coded in column 56 are to be performed.
63-65

Label assigned to constant upon which
operations coded in column 56 are to be
performed.

66-68

Label of core-storage positions to be used as
accumulator, multiplier-product, or quotientdividend-remainder.

Card
Columns
69

Control Data
P - Print. Primarily used for MLP printing.
A control card is required for each MLP line

to be printed from the same type of card.
Coding in column 69 is required for all MLP
lines except the last. Printing the last line of
an MLP card is automatic. All lines printed
from an MLP card are single-spaced.
SP - Space after printing a detail line.
70-71
SK - Skip after printing a detail line.
1-3 - Single-, double-, or triple-space after
72
printing.
4-9 - Skip to corresponding carriage tape
channels.
In a listed report, skipping or spacing indicated in columns 70-72 takes place after
printing of the detail line for' the particular
type of card specified in column 2.
In a group-printed report, skipping or spacing
indicated in columns 70-72 causes no carriage operation. In such cases, skipping and
spacing is controlled with T (Total) control
cards entered in Phase 2.
RULE: When several control cards are entered for the same
type of detail card, a skip or space instruction must be
entered in the last control card of each type.
RULE: For printing and punching the same detail data, two
separate control cards are required: one to move data
to print positions, the other to move data to punch positions. This rule must be observed when entering data
in control card columns 22-36 and 38-55.

10. Print multiple lines of information read from a
single card in Phase 3.
11. Punch summary cards.
Several totals within the same class, designated by
Held headings, may be printed horizontally on the
same line, each under its appropriate column of the
report. Or, they may be identified by constants and
printed vertically on separate lines in the same column of the report. Examples:
Horizontal Method
Gross
Withholding
Earnings
Tax
27.00
150.00

These cards, always punched T in column' 1, specify
the various operations to be performed for each class
of total or each total within the same class. Operations
include:
1. Skip to a carriage tape channel, space before
and/or after total printing, or eject from form to
form.
2. Add one total-level accumulator to a higher-level
accumulator. Subtract one total-level accumulator
from a higher-level accumulator. Multiply or divide one total by another on the same level.
3. Crossfoot totals on any total level desired.
4. Load or move constant data to the printer output
area.
5. Move, move and suppress zeros, or edit accumulated totals to the print or punch areas.
6. Move digits or zones from a single storage position.
For example, remove or add a sign to the units
position of a total.
7. Clear accumulators.
8. Print constants on totailleveis to identify totals.
9. Print totals on total lines.

Other
Deductions
10.00

Net
Pay
107.56

Vertical Method
Gross Earnings
Less WHTax
F.I.C.A.
Other
Net Pay

150.00
27.00
5.44
10.00
107.56*

Similarly, different classes of totals may be printed
horizontally under designated report columns or vertically in the same report column.
Total-control-card specifications are recorded in
columns 1 to 56 as follows.
Card
Columns
1
2

Phase 2 (Form No. X24-6558)
Total Control Cards

F.I.C.A.
5.44

3-4
5

6

7-9 (from)
10-12 (to)
13

Control Data
Total control card.
Minor-totallevel.
IntermedIate-total level.
Major-total level.
Fourth-total level.
Fifth- (final) total level. (Occurs on last
card ronout with Sense Switch A
turned ON.)
SP - Space before total printing.
SK - Skip before total printing.
T
1
2
3
4
5

-

Enter 1-3 to space number of times designated.
Enter 4-9 to skip to corresponding carriage
tape channels.
NOTE: Because normal single spacing is
automatic, leave columns 3-5 blank
if normal spacing is desired.
A - Add.
S - Subtract.
@ - Multiply (4-8 punch).
% - Divide (0-4-8 punch).
M - Move.
Label of accumulator read out of.
Label of accumulator read into.
L - Load edit control word.
M - Move constant data.
Z - Move and suppress zeros.

14-16

Label assigned to constant being moved or
loaded.

17-19 (from)
20-22 (to)
23

Print positions selected to print constant
data.
E - Edit total or constant data.
M - Move total or constant data.
Z - Move and suppress zeros from total or
constant.

13

Card
Columns

Control Data

24-26

Label assigned to accumulator or constant.

27 -29 (from)
30-32 (to)

Print positions selected to print total or constant data addressed by the label coded in
columns 24-26 of the same control card.

33-35 (from)
36-38 (to)

Summary-card columns selected to punch
total or constant data addressed by the label
coded in columns 24-26 of the same control
card.

Card
Columns
54

NOTE:

RULE:
RULE:

39

40-42
4.3-4.5

For printing and punching from the same accumulator,
two separate control cards are required. One moves data
to print positions, and the other moves data to punch
positions.

Enter S to single space.
Enter 1-3 to obtain additional spaces beyond
the normal &ingle space (1 for double
space, 2 for triple space, 3 for quadmple space).
Enter 1-9 to skip to corresponding carriage
tape channels.
When skipping to carriage-tape channel-1 after total
printing, report and field headings do not print.
When several totals within the same level are printed on
separate lines, the last T (Total) control card for each
total level must contain a Skip, Space, or Eject instmction. If normal single spacing is desired, the last control
card must be coded SPS in columns 52-54.

D - Move digit (only) portion of a character from one card column to another
in punch area.
Y - Move zone (only).

55

E

Summary-card column from which digit or
zone is to be moved.

56

(J

Summary-card column to which digit or zone
is to be moved.

46

S

47-49

Label assigned to accumulator to be cleared.

NOTE:

When both printing and punching from the same accumulator, clear accumulator on the second control card,
after information has becn transferred to the print and
punch areas.

- Clear accumulator by subtracting it
from itself.

50

P

- Print total line. All totals within the
same level may be printed on one line
or on separate lines.

51

P

- Punch total summary card. All totals
within the same level may be punched
ill one card or in separate summary
cards.

52-53

SP - Space after total printing.
SK - Skip after total printing.

14

Control Data

- Eject form to carriage-tape channel-1
after total printing. Report and field
headings will print on the next page
following the eject.
The last T control card specified in
Phase 2 (Form No. X24-6558) must
contain an asterisk (<:I) punch in col-

umn56.
RULE:

\Vhen four control levels are specified in the problem,
final-total operations are specified on level 5. When less
than four control levels are specified, final-total operations
are specified on the next higher level. Examples:
No controls, final-total operations are specified on
level 1.
Minor control only (level 1), final-total operations are
specificd on level 2.
Minor and intermediate controls (levels 1 and 2, respectively), final-total operations are specified on
level 3.
Minor, intermediate and major controls (levels 1, 2
and 3, respectively), final-total operations are specified on level 4.
For all the conditions mentioned in these examples,
the last final-total control card must contain an asterisk
(<:I) punch in column 56.

If Final Totals are not required, a last-card-runout
total-card for levell, 2, 3, 4 or 5 must contain an
asterisk in column 56.
The level is always one higher than the number of
control levels specified in the problem.

Automatic-Carriage-Control Operation
Page overflow is controlled by the letter 0 in column 3
of the master-report control card - Phase l. Ejecting
from form to form (carriage-tape channels 12 to 1), and
skipping to carriage-tape channels 2 and 3, occur automatically as shown in Figure 3, depending on the
presence or absence of report- and field-headings COIltrol cards - Phase 4.

C~~~~~N
~=. ··ir:r"'r",;:,;w:":;"':":;:--+--Re=-po-rt-frl~~ea-d-ing---'

NO FIELD
HEADINGS

G L:U E

'." +.
-+.

NO REPORT
HEADING

Report Heading
Field
Headings

Field
Headings

NO REPORT HEADING
NO FIELD HEAD INGS

Body

Body

Body

Body

=

.

~
:=I:S::
•••, .....

.,UI .... W N _

I!!I

...

...

Overflow line

Overflow line

Overflow line

Overflow line

t:;

it

...+~

I:: I-H--I-II+.-+-,
.. H,'--+1-++--1- - - - - - - - - - - - - - - - -

.g.

·-hit

-.~

Figure 3.

-

Automatic-Carriage-Control Operation

15

Operating Instructions

Program Halts

To prepare reports with FARGO, proceed as follows:

Program halts may occur not only during the loading
of the FARGO program deck (Phases 1 to 4) but also
during processing of the detail cards. Halts occurring
during Phases 1 to 4 indicate that the control cards
punched from the coding sheets are not in the proper
sequence as shown in Figure l. Or, if they are in the
proper sequence, invalid codes are punched in column
1 of the control cards. Valid codes are M, B, C, S, T,
D, H, F, or #. Codes other than these are invalid.
Following is a list of program halts, reason for halt,
and procedure for restarting. When the halt occurs,
the last card in the read stacker (NR) has an invalid
code in column 1.

l. Ready the IBM 1403 Printer.
a. Insert into the carriage the paper or form on
which the report is to be printed. Make the necessary vertical and horizontal adjustments to properly
position the form.
b. Insert the carriage tape punched as follows.

Normal Condition
Channell- Report-heading line.
Channel 2 - First field-heading line.
Channel 3 - First body line.
Channels 4-9, if required. Skip-stops for predetermined line printing.
Channel 12 - Overflow line.
NOTE: For conditions other than normal, channels
2 and/or 3 may not be required. (See Figure 3.)
c. Set feed-clutch knob to neutral position.
d. Press carriage-restore key.
e. Turn feed-clutch knob back to drive position.
f. Press check-reset key on the 1403 printer.

2. Ready the 1401 Console.
a. Set mode switch to run position.
b. Set I/O check-stop switch to the ON (up) position.
c. Set sense switch A to the ON (up) position.
d. Press check-reset key on the 1401 console.
e. Press the start-reset key on the 1401 console.
3. Ready the 1402 read-punch unit.
a. Set reader switch to ON.
b. Press the non-process runout read key to clear
the read feed.
c. Place FARGO program and detail cards in the
1402 read unit in the sequence illustrated in Figures lor 6.
d. If summary punching, set punch switch to the
ON position.
1. Press the non-process runout punch key to
clear the punch feed.
2. Place cards to be summary punched in the
punch hopper.
e. Press check-reset key on the 1402 read-punch
unit.
f. Press load key on the 1402 read-punch unit.
If the control cards punched from the FARGO coding sheets contain no errors, the program is loaded
in approximately 20 seconds. Processing of detail data
cards is started immediately thereafter. When the last
card has left the hopper and the machine stops, press
the start key on the 1402. If specified in the program,
final totals print automatically on the runout.
16

Storage Address
Displayed
2639
2947
2363
2379
3090

Phase
1
1
2
3
4

Card
Card
Card
Card
Card

has
has
has
has
has

Reason for Halt
other than M.
other than B, C, or S.
other than T.
other than D.
other than H, F, or #.

To restart from any of these halts, proceed as follows.
1. Remove cards from read hopper.
2. Press non-process runout read key.
3. Remove the last three cards from the read stacker
(NR). The first of these three cards is the control
card in error.
4. Correct the error.
5. Replace the three cards in front of the cards taken
from the read hopper.
6. Place the card file in the read hopper.
7. Press check reset key on the 1402.
Do not press the start reset key on the 1401
console.
8. Press start key on the 1402 read unit.

CAUTION:

During processing of detail cards, if the machine
stops with the red Stop Light ON (1401 Console) and
storage address 0157 displayed, a constants label has
been referred to in one of the T or D control cards for
which there is no corresponding constants control card.
This may be due to misspelling the 3-character label
abbreviation on the T or D control card. Or, it may
be that constants control card was inadvertently omitted in the constants coding sheet. To restart, proceed
as follows.
l. Remove all cards from read hopper and file feed.
2. Press non-process run out read key on the 1402.
3. Locate erroneous control card, make corrections,
and restart from the beginning.
If the machine stops with the red Stop Light ON and
storage address 3547 displayed, the last card in the
stacker is a type of card for which no entry was made
on the Phase 3 code sheet.

5. Locate the control card in which the invalid character is punched and remove it from the program
deck.
6. Correct the error by punching a new control card
and inserting it in the program deck.
7. To restart, a complete card run out and start reset is
necessary.

During processing of detaH cards, the program may
hang up at an unknown address with the following
lights ON:
PROCESS
CHECK RESET
A- DEl I-ADDRESS REGISTER.

The A·Address Register Light means that an edit
control word entered in the constants coding sheet is
too small for the data being edited. The I-Address
Register Light means that a 1401 operation code represented by an invalid character is detected in storage.
To locate the edit control word that is too small for
the data being edited, execute a STORAGE PRINT-OUT as
follows.
1. Set mode switch to STORAGE PRINT-OUT.
2. Press I-address register key and note address location displayed.
3. Turn hundreds and thousands manual-address
switches to digits corresponding to the hundreds
and thousands positions displayed.
4. Press start key on the 1401 console.
5. Examine the storage print-out and find the I-address
displayed in Step 2.
6. Go back from there to the first load (L) instruction.
The A·operand of this instruction contains the storage address of the edit control word that is too
small.
7. Locate constants control card, make corrections,
and restart from the beginning.

Patching
The term patching as used in connection with FARGO,
means linking a special subroutine or library program
to the main FARGO program. The linkage is accomplished by branching from' a specific patch point in
Phase 3 (detail control cards) or Phase 2 (total control
cards) to the patch subroutine, then branching back
to the main FARGO program, after the subroutine is
executed.
With a 4k machine, at least 956 storage positions
are available for storing patch subroutines. In some
cases, depending upon the complexity of the report
involved, more storage positions may be available.
These subroutines must be entered into the machine
in actual 1401 machine language. Therefore, a knowledge of 1401 programming or symbolic programming
(SPS) is a prerequisite.
The specific patch pOint(s) for linking subroutines
is determined by the programmer as he normally
writes the FARGO instructions. These patch points are
first recorded on Phase 3 and Phase 2 coding sheets as
4- or 7-position no-op instructions. They are changed
later to unconditional branch instructions after the·
exact locations of the patch subroutines are determined.

To locate and correct an invalid character used as
an operation code execute a STORAGE SCAN as follows.
1. Set mode switch to STORAGE SCAN.
2. Set manual-address switches to 0000.
3. Hold down the start key.
4. Machine stops when an invalid character is detected
in storage. The storage position in error is shown in
the storage-address display unit. The B-register displays the contents of the storage position in which
the error is detected.

Phase 3 - Detail No-Op Control Cards
At each point in Phase 3 where branching to subroutines is required, make an entry on the coding sheet
in columns 1, 2-6, and 7-10 as shown in Figure 4.
Del AIL CONTROL CARDS - PHASE 3

0

Typ. of
D.tail
Card
C
Z

.,

=Chal'.
=ZonE

"0

a

U

1

Card
Cois.

2 3

+-

Special" or
7 position
1-'01 Instruction
(adual)

C 0
Z P

Digit
Y :: Moye Zone

10 1

5 6 7 8

From

From
202 122

From

From

To

3~ 31

27128.

2" 25

Data Card
Columns

Punch
Positions

Print
Positions

label

To
1718

13 1" 15

=

=

o =: Moye

11

E = Edit
DETAil CARD DATA
M Mov.
Z = May. and Suppr... Zeros
D = Mov. Digit
Y = Mov. Zan.

=

Column Split

B

A

E - Edit
l = load Edit Control Word
M = Moye Constant Data
Z = Moye and Suppress Z.ros
o Mov. Digit
Y Moye Zone

...

To

From
36 3738

3 34

Print
Positions

40141

To

Punch
Positions

To
To
From
From
43 .....
.u. '7 4950 §2 53 55

OX XtXlx Ix N 01010

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

0

I I

I I

I

I I

I

I I

I

I

I I

I I

I I

I I

I

I

I

I

i

I

I

I

i I
I

I

Figure 4

17

The D in column 1 is preprinted on the form. This
indicates that branching to the patch subroutine is to
occur during the detail portion of the program. The
codes entered in columns 2-6 specify the type of detail
card for which the patch subroutine is to be executed.
The entry, NOOO in columns 7-10, is the no-op instruction. This is changed later to an unconditional branch
instruction (~xxx), with xxx indicating the actual machine address of the patch subroutine.

Phase 2 - Total No-Op Control Cards
At each point in Phase 2 where branching to subroutines is required, make an entry on the coding sheet
in columns 1, 2, and 39-45 as shown in Figure 5.
The T in column 1 is preprinted on the form and
indicates that branching to the patch subroutine is to
occur during the total portion of the program. Any
digit from 1 to 5 entered in column 2 specifies the
program level during which the patch subroutine is to
be executed. The entry N788788 in columns 39-45 is
the no-op instruction. This must be changed later by
an instruction in the patch subroutine to an unconditional branch instruction (~xxxbbb), with xxx indicating the actual machine address of the patch subroutine
and bbb indicating blanks.
The FARGO program, including the no-op control
cards that cause no machine operation, is completely
tested with a representative deck of detail data cards
and approved before the subroutines are inserted into the program deck. This is necessary because any
change in the FARGO control cards after the subroutines are inserted affects the storage locations of the

gencrated report program, requiring changes in the
subroutine instructions.
After the FARGO-generated portion of the report
is satisfactorily tested, execute a STORAGE PRINT-OUT
and examine it to determine:
1. the end of the FARGO-generated program.
2. storage location of patch points (no-op detail and
total control cards).
The end of the generated program is determined by
locating the report-heading information that is loaded
into storage immediately after the last instruction from
the detail control cards. If report-heading information
is not specified in Phase 4, the end of the generated
program is the last ~E66 instruction. This instruction
appears follOWing the last generated instruction for
each type of detail card specified in Phase 3. Therefore, the end of the generated program is either the
last position of the report-heading information (including blanks), or the last BE66 instruction. The area
available for storing the-patch subroutines extends
from this point (storage location 2358 or lower, depending upon the complexity of the report involved) to
3313. Thus, with a 4k machine, 956 storage positions
or more are available for patch subroutines. Obviously,
with machines of greater capacity, an additional amount
of storage is available, starting with location 4000.
The storage location of each patch point is determined by visually scanning the storage print-out and
finding the no-op instructions. Detail no-op instructions
are identified by NOOO. Total no-op instructions are
identified by N888888. ~888888 was recorded on the
coding sheet as N788788 but changed by the FARGO
program to ~888888.

TOT AL CONTROL CARDS - PHASE 2

Be-

'?
T "i

fore
Print

A =Adr.l
S = Subtract
@ = Multiply
% = Divide
M = Move

L = Load Edit Control Word
M = Move Constant Data
Z Move and Suppress Z.ros

=

>

.!

Label

']

1

0

..... S
1

S
2 3

T

X

T

1

Print
Positions

Label

1

Print
Positions

Punch
Positions

D = Move Digit
Y = Move Zone

Clear
Accum.

Label
S-

~

P
To
To
From
To
From
To
From
From
To
From
From
From
To
K
-f---32 33
12 113 114
42 4l
49
4 5 ~6 7
1920
9 10
_29 30
45 4647
16 17
22 23124
26 127
35 36 38 139 40

I
I

Figure 5
18

Label

Summary Punch
Column Split

E = Edit
M = Move
Z = Move and Suppress Zeros

I I
I I

I I
I I

I I
I I

I I

I I

I I

I I

I I

I I

I~

I I

II

I I

I I

I I

I I

I I

N ~lli~ Zlilt - - J __L

I I

I I

I I

Converting No-Op Instructions
The control card containing the detail no-op instruction (~OOO) may be removed from the FARGO deck
and replaced with a control card containing an unconditional branch instruction ]xxx. Or, it may remain
in the deck in which case the no-op instruction must
be converted to an unconditional branch instruction
~xxx by an instruction in the patch subroutine.
The control card containing the total no-op instruction a~:7BB7BB) always remains in the FARGO deck.
The nOl-op instruction, therefore, must be converted
to an unconditional branch instruction Bxxxbbb by
an instruction in the patch subroutine.

NOTE:
If the 1401 does not have a Multiply-Divide optional

feature, the Multiply-Divide Subroutines discussed
in the 1401 Reference Manual can be patched into the
FARGO program.

1

\V
fs\(
o
4

oCD

(

REPORT DETAIL
DATA CARDS

TRAILER CARD

(PATCH SUBROUTINES

c-

{ ##

0/~~~~~
FARGO PROGRAM
AND CONTROL CARDS
Codin!1 the Patch Subroutines
As previously stated, a patch subroutine must be entered in storage in actual 1401 machine language. It
may be written in symbolic language and assembled
with an assembly processor as described in IBM 1401
Symoblic Programming Systems, Form C24-1480.
To branch back to the main FARGO routine after
the subroutine is executed, the last instruction in each
patch subroutine must be an unconditional branch instruction. For example, if a detail (Phase 3) no-op
instruction (~OOO converted to ~xxx) is in locations
1445-144B as noted in the storage print-out, the last
instruction in the subroutine used at this point must
branch back to 1449. If a total (Phase 2) no-op instruction (N~BBBBB converted to ~xxxbbb) is in locations
1201-1207 as noted in the storage print-out, the last
instruction in the subroutine used at this point must
branch back to location 120B.
If coded in SPS, the program is assembled after
testing the FARGO portion of the job so that the origin
address of the subroutine can be determined from the
storage print-out. When the object program deck is
created by the SPS assembly processor, the first two
cards contain instructions to clear storage. These two
cards must be removed from the deck. The rest of the
object program deck (one instruction per card) can
then be loaded directly behind Phase-4 control cards.
Or it can first be condensed into multiple instructions
per card with a condensing program as described in
IBM 1401 Symbolic Programming Systems, Form C241480.
An example of a patch subroutine coded in actual
machine language is shown in Figure 23-G. Another
example of FARGO patching and linkage using SPS is
shown in Figure 24.

(Phases 1 - 4 )
1.

Combined FARGO Program and FARGO Control Cards

2.

Last card in Phase 4 punched # in columns 1 and 2

3.

Patch subroutine(s)

4. Trailer card containing instructions to clear the
read-in area, and branch to 3314(C14).

s.

Report Detail Data Cards

Figure 6.

FARGO with Patch Subroutine

Loading the Patch Subroutines
All patch subroutines are loaded immediately after
the Phase-4 control cards. Normally, the last Phase-4
control card is punched # in column 1 of a blank card.
To signal the FARGO program that patch-subroutine
instruction cards are to be read into the system after
Phase 4 is completed, this same card must also have
a # punched in column 2. This causes the program
to clear the read-in area (locations I-BO), set a word
mark in location 001, read the next card, and then
branch to location 001.
After the last patch subroutine is loaded, a clearand-branch trailer card must follow to clear the readin area, and branch to location C14 (3314), this being
the starting location of the permanent FARGO program. The report detail cards immediately follow the
trailer card.
The cards are run through the machine in the sequence illustrated in Figure 6.
19

Multiply-Divide Optional Feature
If the multiply-divide optional feature is installed in
the 1401, direct multiplication and division can be
specified with FARGO detail and/or total (Phases 3
and 2) control cards. Before the proper entries can be
made in these coding sheets, however, several factors
must be considered.

Multiplication
Whenever FARGO report specifications involve a multiplying operation, the first thing that must be decided
is the size of the product to be developed. As explained
in the IBM 1401 Data Processing System Reference
Manual, A24-1403, this is done by adding 1 to the
sum of the number of digits in the multiplier and the
multiplicand. Assuming a 3-digit multiplier and a 4digit multiplicand, the size of the product can then be
readily determined by the following formula:
3 (multiplier) plus 4 (multiplicand) plus 1 = 8 (size of product).

The multiplier may be fixed; that is, not punched
in the detail cards but set up as a constant with an
identifying label in Phase 1 for later reference in

Phases 3 or 2. Or, it may be variable; that is, punched
in each detail card or some specific type of card within
a control group.
A fixed multiplier (example: 125) may be set up as
a constant in one of several ways as shown in Figure 7.
A variable multiplier may be punched in known
columns of all or specific types of detail cards.
Multiplicands are always variable and may be
punched in known columns of all or specific types of
detail cards. Or, they may be developed as a total
in an accumulator and identified with an appropriate
label. Although any 1-, 2-, or 3-character label may be
used to identify an accumulator, many users of
F ARGO prefer to use labels corresponding to 407
counters; for example, 2A, 2B, etc., 4A, 4B, etc.
Experience has shown that this method of labeling
accumulators often simplifies the conversion of report
specifications from the 407 to the 1401.
Having determined the size of the product, set up
a work area in storage for developing and retrieving
the product. This is done by making two successive
entries on the constants control cards coding-sheet
(Phase 1) as shown in Figure 8.
CONSTANTS CONTROL CARDS - PHASE

C

No.

~

Pos.

Label

1 2

Column 1 C = Conltant with a word mark; 5 = Constant without a word mark
Columnl 2·3
Size of Conltant Word
Columnl 4-6
Label to identify Conltant Word
Columnl 7·72 Field for punchinG Conltant Word (66 characters maximum)

=

=
=

10

40

15

co

45

I I

co
Figure 7

CONSTANTS CONTROL CARDS - PHASE
Column 1 C
C
or

S

No.

Pos.

Figure 8

20

Label

=Conltant with a

word mark; 5

=Conltant without a

word mark

50

I I I I

The first entry, C (constant with a word mark), sets
up the three high-order (left-hand) positions of the
product work area into which the 3-digit fixed or
variable multiplier will be moved later with a T or D
control card.
The second entry, S (constant without a word mark),
sets up the five low-order (right-hand) positions of the
product work area, thus establishing an 8-position
product work area somewhere in storage.

fixed multiplier, however, is still available for subsequent operations from the area labeled 125 or FIX.
Following the multiply operation @, another entry
moves the product either to print positions and/or to
an accumulator identified by a constant label. If the
product is to be punctuated, an edit control word is
first loaded into the desired print positions. The prodduct is then moved to the same print positions with
an E (edit) instruction.

Multiplying in Phase 3 with a Fixed Multiplier
Multiplying with a fixed multiplier (125) can be spe··
cified flOr all or any specific type of detail card by
making the entries in columns 56-68 as shown in
Figure 9.
The first or second entry? (whichever one is used)
zeros (resets) and adds the constant 125 in the three
high-order (left-hand) positions of the product area.
Entry @ multiplies the 4-digit multiplicand punched
in columns 31-34 of the detail card by the fixed multi··
plier (125). When the multiplying operation is completed, the product is in the seven low-order positions
of the product area, thus destroying the multiplier. The

Multiplying in Phase 3 with a Variable Multiplier
Multiplying with a variable multiplier can be specified
for all or any specific type of detail card by making
the entries in columns 56-68 as shown in Figure 10.
Entry? zeros (resets) and adds the variable 3-digit
multiplier punched in columns 21-23 of the detail
card into the three high-order (MPR) positions of the
product area.
Entry @ multiplies the 4-digit multiplicand punched
in columns 31-34 of the detail card by the variable
3-digit multiplier punched in columns 21-23 of the
same card. The product is developed in the same
manner as previously described.

DETAil CONTROL CARDS - PHASE 3

0

Type al'
Detail
Card
C = Char.
Z Zane

=

iu

Card
Call.

1 2 3

o "

Special.' or
7 pOlition
Y

I~~I

Digit

=Mov. Zone

!

OX ,xIXIXIX
~X flXlxlX
I I

=
=

''"~

Print
POlitionl

Po"itl~~

From
3~

=
=
=

31

~

1...

Data Card
Calumnl

From

To

363738

34

Print
POlltionl

4344

46 47

Data Card
Columns

Punch

...

Posltio~~

To

From

To

4041

=

A Add; S Subtract
@ = Multiply; % = Divide
?
Zero Add; ! = Zero Subtract
D Move Digit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros

E = Edit
DETAIL CARD DATA
M = Move
Z = Move and Suppr... Zerol
D Mov. Digit
Y Move Zone

=
=
=

C 0
B
From
To
From
From
I P
A
To
1011
131415
1718
202122
5 6 7 8
2425
2728

I I

0

o =Move

(actual)

~

Edit
Load Edit Control Word
Move Constant Data
Move and Suppress Z.ros
o Move Digit
Y=Move Zone

Column Split

1401 Inltruclion

XI XIX X

0

E=
L=
M
Z

From
4950

To
~.~

5253

Lobel

From
To
To
From
-_.---c
5 57
59 60
62 63-65 iM~

_LL _LI

I I

I I

I.L __Ll

1 1 LI
I I
I I
I 1 I I
I I
I I
I I
U
I I
I I
I I l L r~~ LL __LL _LL -.l.L_ _L I
I I ---LL '-- _LL ~LL
LL ~JL LL I I 11

LJ

l..l

I I

11
I I

I I

LL 2 LL f-!;)- l~lS 1\'Ul'l~
1 I LL t-- _LJ~_ r- L1
1 1 L_L
I L __ l-.-l_ ~LL 2- LL r---ll FI/IX IMjPI!i

I J

I I

I I

I I

I I

LL LLLLLL ~LL __LJ _ ~

I I

I I

I-.L

I I

LL -LL

I I

I I

I I

I I

I I

.~Ll ~

I I

11
I I

~.LL

1 1

J_L LJ_ ~Ol~( _~~I't I I fjl)IT
I I

I I

I I

I I

Figure 9

DETAil CONTROL CARDS - PHASE 3

0

i

U

1 2 3

~

Special 4 or
7 pOliti on
1401 Instruction
(actuol)

C 0
Z p

Card
Call.

1011

Move Digit
Y = Move Zone

!

From

131415

To

1718

..

o .,x XIXlxlx

I~~I

o=

B

A

5 6 7 8

I I

E = Edit
DETAIL CARD DATA
M = Move
Z = Move and Suppress Zerol
o = Move Digit
Y = Move Zone
Data Card
Print
Columnl
Posi.tions

=
=

Column Spilt

OX XIXU(lX. W-l-- _LL I~_ .~ l~--.l
0

Edil
load Edit Control Word
Move Constant Data
Move and Suppress Zeros
o Move Digit
Y = Move Zone

=

Type of
Detail
Card
C - Chaw.
Z = Zon ..

E=
L=
M
Z

Prinl
Position.

From

20 2122

~LL

From

2425

To

2728

JJ_ --.ll

~Ll

Punch
Position I
From

363738

_4041

_I L_ .J._J

I I

I I

I I

I I

I I ~L

I I

I I _J_L

I I

I I

I I

I I

I I

I I

I I

I I

1

From

To

30~3--: 34~
LJ~

...

-11

To

To

From
4344

4647

A
@
?

--

Punch
Positi"_1!!From

4950--s253

I I

I I

I I

I I

I I

Ll
I I

I I

I J

11

LLl-

To

= Add; S = Subtract
= Multiply; % = Divide

= Zero Add; ! = Zero Subtract
o = Move Digit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros
Data Card
Columns

...

label

From
To
To
From
6263
55 5 57
6566
611
5960

.Ll _ _LL L~8J! ~L2JJ I I '1IPl~
U ~ I I ~Oj.J11 1.>1) 11 I I ~~JI
~LL.LL _-LL

I I

I I

Jl

Figure 10

21

area labeled PDT (or any other label chosen by the
programmer). For example, in a payroll application,
the multiplier might be labeled RTE (rate), the multiplicand HRS (hours), and the product GES (gross
earnings). In another application, the multiplier might
be labeled UNP (unit price), the multiplicand QTY
(quantity), and the product AMT (amount).

Multiplying in Phase 2

Multiplying in Phase 2 (total control cards) always
involves three labels. One label identifies a fixed- or
group-multiplier. A second label identifies an accumulated multiplicand, while a third label identifies the
product.
In establishing the size of the product, the same
rule applies. However, because the multiplicand factor
is an accumulated total, the maximum number of
digits expected in the multiplicand must be predetermined before setting up a product work area.
Having determined the size of the product, make
the appropriate C and S entries on the constants control cards coding-sheet (Phase 1) to set up the product
work area.
During the Phase-3 (detail) portion of the program,
a fixed multiplier set up with a constant control card,
or a group multiplier punched in a specific detail card
within the control group, is moved to the MPR portion
of the product work area. The detail multiplicands are
accumulated in a storage area labeled, for example,
MCD. On any given total level in Phase 2, multiplication is specified by making the entry in columns
6-12 as shown in Figure 11.
Entry @ multiplies the accumulated multiplicand
labeled MCD (or any other label chosen by the programmer) by the fixed- or group-multiplier moved to
the MPR portion of the product work area during
Phase 3. The product is developed in the product work

Division
Whenever FARGO report specifications involve a dividing operation, a work area for accommodating the
dividend and developing the quotient and dividendi
remainder must be set up in storage with constants
control cards in Phase 1. The size of this work area
must be equal to the sum of the number of digits in the
divisor and dividend, plus 1. Assuming a 3-digit divisor and a 4-digit dividend, the size of the work area
can be readily determined by the following formula:
3 (divisor) plus 4 (dividend) plus 1 = B-position work area.

Having determined the size of the work area, set up
the area in sections to permit addressing specific
locations of the quotient, dividend, and dividendi
remainder. These sections must be set up in proper
sequence, which may vary, depending on the size of
the dividend and the divisor. For the example used,
the following analysis of the problem illustrates how
this sequence is established.

TOT Al CONTROL CARDS - PHASE 2
A
S
@

= Add

= Subtract

Be~

fore
Print

T "i

>

.!l
'0

a

S

P

S
1 2 3

K

~

I

T

I

Figure 11

22

!

L
M
Z

Label

From

4 .5 16 1

Tix

=Load Edit Control Word
=Move Constant Data
=Move and Suppress Zeros

= Multiply
% = Divide
M = Move

~ "II CJl>
I I

Label

To
9 10

Print
Positions

1

From

1211:1 lu

,From

1617

= Move
= Move and

1

From

22 23124

Clear
Accum.

Suppress Zeros

From

2t1 127

29 30

D
Y

Punch
Positions

Print
Positions

Label

To

1920

Summary Punch
Column Split

= Edit

E
M
Z

To
3233

:1.5 36

P~lr

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

~

To

From

:1A

I
1

I
I

Label
S-

From

1:19 40

1,_ ~-

r----

= Move Digit
= Move Zone
424:1

To

To
45 4647

f--l~- LJ-L
I I
I I

4~

--W-l
I I

PROBLEM ANALYSIS

III" " II

B-position area required for example used.

I I I I II I I I

Counting from the low-order position of
the work area, draw a line to the left of
the length of the divisor plus 1.
3 (divisor) plus 1 = 4.

Quat.

!I

LlI!X!X!i ! ! ! !

To the left of this line, a 4-digit quotient
is developed.
The units position is the address of the
quotient upon completion of the divide
operation.

Dividend

IIII

Ilxlxlxl~1

The 4-digit dividend with a plus sign in
the units position is placed in the loworder positions of the work area with a
ZERO and ADD instruction (?).
The high-order position of the dividend
must be addressed when executing the
DIVIDE instruction.

L

To set up the three sections of the work area in the
sequence established by the foregoing analysis, make
three entries in the constants control card coding-sheet
as shown in Figure 12.
Entry C (constant with a word mark) sets up the
4-digit quotient section of the work area.
The first entry S (constant without a word mark) sets
up the high:-order position of the dividend. This position is addressed when executing the DIVIDE instruction.
The second entry S sets up the remaining low-order
positions of the work area, thus establishing the 8position work area required for the example used.
In some problems, the analysis will show that the
quotient area and the dividend area overlap; that is,
the high-order position of the dividend extends further
to the left than the low-order position of the quotient.
Example: 5-digit dividend, 2-digit divisor.
Quot. ID/R

1!.lxlxlxlx Olxlxl

Quot. Div /Rem

+1

+

1~lxlxlx!Olxlxlxl

Dividend

L

The units position of the work area is
the address of the dividend/remainder
upon completion of the divide operation.
With a 3-digit divisor, the dividend/remainder is always less than the divisor.
Therefore, the position immediately to
the right of the quotient is always zero.

I I I Ixlxlxlxlxl
In such cases, the work area is set up in four sections
as shown in Figure 13.
Other variations are presented later in this manual
under Half-Adiustments of Products and Quotients.

CONSTANTS CONTROL CARDS - PHASE 1
C
No.
or
Pos.
S
1 2

Column 1 C
Columns 2·3
Columns 4·6
Columns 7·72

LClbel

3 4

6 7

CO I£/- QN IT

So I
5 03

10

=Constant with a word mark; 5 =Constant without a word mark
=Size of Constant Word
=label to identify Constant Word
= field for punching Constant Word (66 characters maximum)
15

20

25

45

40

3~

30

(NOTE: Blanks instead of zeros could be used in columns 7-10 if desired)
OIOIOELLU_J~Lli_LLl_1 1 1 1-1 1 1 1 1__L1J __llJLJ__LLLLLU_l

50

LLJJ

1J " V 01 1 1
J)/

I I I LI I I I I I I I I 1-Ll-1 1 1 1 I 11-_1_Ll~_LJ ___Ll_U_LJ I I I 1 I J
R. 0 1°1°1 I 1 1 I 1 I 1 I 1 1 1 1 1 1 1 1-1 1 1 1 I 1 1 LUlU~~ 1 I 1 1 I l_LU_J
I I 1I 11 1 1 I 1 1 1 1 I 1 1 I I 1 I 11 I I 1 11 1 I 1 I I I I I I I I I I I I I I
-

Figure 12
CONSTANTS CONTROL CARDS _. PHASE 1
C
No.
or
Pos.
S
1 2

3 4

Label

6 7

Column 1 C = Constant with a word mark; S = Constant without a word mark
Columns 2·3 = Si:r.e of Constant Word
Columns 4·6 = Label to identify Constant Word
Columns 7·72 = Field for punching Constant Word (66 characters maximum)
15
25
10
20
30

3~

40

45

50

This label is never referred to in the program.

3 0 00 OIOIDI I 1111I I 1 I 1 I I I I 1 II LI 1 I 1 LLLU_JlL_I--'-u 1 1 1 1 1 1 1_~_L_l J
label addresses the hig4-order position of the dividend when executing the divide instruction.
S () , 1> l V 01 I I I IThis
I 1 1 I 1 I 1 1 I I 1 1 1 I 11-1 1 I I I 1 1 I 1 1 1 1 I 1 1 U~l_l~~_LLJ
label addresses the low-order rsition of the  V Ii. 0IOIOLLLLLJ--LLLLL
1 1 1 1 1 1 1-1 1 1 1 1 1 1 I 1 1 1 1
1-1_
C{J

fu

I I 1 I 1 1 1 1 I 1 1 1 1 1 1 1 I 1 1 I 1 I 1 I 1 1 1 1 I 1 1 1 1 I 1 1

I 1 I 1 I 1 I I 1 1 1

Figure 13

23

entries are made in columns 56-68 as shown in Figure 15.
Entry? zeros (resets) and adds the dividend punched
in columns 21-24 in the four low-order positions of the
work area placing a plus sign in the units position, if
the dividend is positive.
Entry % addresses the high-order position of the
dividend, divides it by the divisor punched in columns
25-27, and develops a 4-digit quotient in the highorder positions of the work area labeled Q NT placing
a sign in the units position of the quotient,

Dividing in Phase 3 with a Fixed Divisor
Assuming that the fixed divisor (3 digits) is set up in
storage with a label FIX, and the 4-digit dividend is
punched in detail card columns 21-24, the divide instructions are recorded in detail control cards Phase-3
coding-sheet as shown in Figure 14.
Entry? zeros (resets) and adds the dividend punched
in columns .21-24 in the four low-order positions of the
work area placing a plus sign in the units position, if
the dividend is positive.
Entry % addresses the high-order position of the
dividend, divides it by the fixed divisor, and develops
a ·4-digit quotient in the high-order positions of the
work area labeled QNT.
Following the divide operation, another entry moves
the quotient to print positions and/or to accumulator identified by a constant label. If the quotient is
to be punctuated, an edit control word is first loaded
into the desired print positions; the quotient is then
moved to the same print positions with an E (edit)
instruction.

Dividing in Phase 2
Dividing in Phase 2 (total control cards) involves an
accumulated factor that may be either the dividend
or the divisor. Once the sizes of these factors are
known, appropriate C and S entries, as previously described, are made on the constants control cards coding -sheet (Phase 1) to set up the work area.
Assume that the accumulated factor developed in
Phase 3 (detail portion of the program) under the label
AMT (amount) is to be used as the dividend. The
divisor is either a fixed- or a group-divisor, properly
identified with any label chosen by the programmer.
On any given total level in Phase 2, division is specified

Dividing in Phase 3 with a Variable Divisor
Dividing with a variable divisor can be specified for
all or any specific type of detail card. Assuming that
the 4-digit dividend and the 3-digit divisor are
punched in columns 21-24 and 25-27, respectively, the

DETAIL CONTROL CARDS - PHASE 3

Type of
Detail
Card

. 0

C = Char.
Z = Zone
i

t0

C
Z P

Card
Cols.

u
1 2 3
D1

o X Xl11X X
I

I

Column Split

1011

1,.b.,

o = Move

Digit
Y = Move Zone

!

B

A

5 6 7 8

IXIXIX i

0

Special 4 or
7 position
1401 Instruction
(actual)

E - Edit
L = Load Edit Control Word
M = Move Conltont Data
Z = Move and Supprell Zeros
o = Move Digit
Y = Move Zone

From

131415

To

From

20 2122

1718

I I

I I

I....L

I

I

I

I

I

I

I

1 I

I

I

I

I

I

I

I

I

I

From

I

I

from

To

3~ 31

2728

-.U_. _-1.1
I I
I J.
I

I

Data Card
ColUMn.

PUMh
POIItIan.

Print
POlitionl

2425

A = Add; S = Subtract
@ = Multiply; % = Divide
? = Zero Add; ! = Zero Subtract
0= Move Digit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros

E=Edit
DETAIL CARD DATA
M=MaN
Z = MaN and Supprell Zeros
D=MaN Digit
Y= . . . Z_

I I

I I

I

I

I

I

I

I

...

froM

To

33 :u

Print
Positions

36 738

To

4041

To

from

4344

I I

I I

I

I

1

I

I

I

I

I

I

I

I

I

I

I

I

I

From

4647
I

I

J L
I

I

Data Card
Columns

Punch
Positions

...

To

55 5 57

From

To

From

5253

4950

Label

I I

I

I

I

I

? OIl-II

I

I

I

I

I

I

%

I

I

I

I

I

I

01 2

1'1'

I

I

I

I

I

I

I

I

To

65166

6263

5960

I

FillX'
I

All

.1>1/J/e

I

I

J)I/IV
I

I

Figure 14
DETAIL CONTROL CARDS - PHASE 3

D

Type of
Delall
Card
C = Char.
Z = Zone
iCard
U Col..

1 23

=

Special 4 or
7 polition

t

1401 Instruction
(actual)

1

Column Split

Z~~;

D- M
D' I
Y : M:::

1

Po~;i:n.
P

Pos;t:n.

=

~:~um::
•••

h

col

t

D

P:~~:~s

Cd'
p:';::ns

D~:~u~::d
•••

Label

Z P
A
B
From
To
From
from
To
From
To
From
To
From
To
From
To
From
To
From
To
56 78
1011
131415
1718
202122
2425
2728
3C31
3 34
363738
4041
4344
4647
4950
5253
5~5 57
5960
6263
65166
All

X'~
l.n.l£'x'-l-iY~e-L-L
11.-1- I I
I I
I I
I I
t-D-t'-Xf-IXWf-'IX"-JfLIX-'-llX"-t--t--,-I--,-I-+-I,-~I+--,-I..L.-t-I...LI-LI--+-+--L.I...L
I I

Figure 15

24

A = Add; S = Subtract
@
Multiply; % = Divide
? = Zero Add; ! = Zero Subtract
0 = Move Digit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros

DETAIL CARD DATA

Z = Move and Supprell Zeros
D = Move Digit
Y = Move Zane

PI

Label

I-D-¥x'-'-!ILL

D

E = Edit
M = Move

E - Edit
L = Load edit Control Word
M = Move Constant Data
Z M_ and Supprell Zeros
D = M_ DIgit
y = MaN Z_

I I

I I

I

I

I

I

I

I

I

I

I

I

I

I

I

L ~LL LL.~ qgU. ~l3-llf

I

I

bl/!R

I

I

I

I

I

I

I

I

I

I

I

I

I

I

%~S ()1~17

I

I

J)IIIV

I

I

I

I

I

I

I

I

I

1

I

I

I

I

I

I

I

I

I

..1. __ LL .J_.L..

I

I

I

_L....LL

I

I

I

I

I

I

I

1

I

I

I

I

by making the entries in columns 6-12 as shown in
Figure 16.

as the divisor. The dividend is either a fixed- or a
group-dividend properly identified with any label
chosen by the programmer. On any given total level in
Phase 2, division is specified by making entries in columns 6-12 as shown in Figure 17.
Entry ? zeros (resets) and adds the fixed- or groupdividend (xxx) into the low-order positions of the
work area (D/R).
Entry % addresses the high-order position of the
dividend (DIV), divides it by the accumulated quantity (QTY), and develops the quotient in the highorder positions of the work area labeled QNT.

Entry ? zeros (resets) and adds the accumulated
amount (AMT) in the low-order positions of the work
area (D/R).
Entry % addresses the high-order position of the
dividend (DIV), divides it by the divisor (xxx), and
develops the quotient in the high-order positions of
the work area labeled QNT.,
Assume that the accumulated factor developed in
Phase 3 under the label QTY (quantity) is to be used

TOTAL
CONTROL CARDS - PHASE 2
- - - - - - - - ,---------_________ - y - -_ _ _ _ _ _ _ _
_ _ _ _ _ _- - - ._ _' _ _ _ _-y--_ _- - - ,

t----.---.--------

A = Add
S = Subtract
@ = Multiply
% = Divide
M = Move

Be-

":l
T

fore
Print

Qj

r

>
~

"0

'0

I-

S

P

S

K

'1 :2 3--4
T

X

l := load Edit Control Word
M = Move Constant Data
Z := Move and Suppress Zeros

1

label

1

label

From

5

16

7

To

From

1

]1

From

Positions

I I

From

From

I I

I I

I I

From

Di~

label

Y = Move Zone

Positions

To

Clear
Accum.

I

S

t

To

From

f-----

To

To

29 :iO--32~33s '3638 39 40= --42 43 --4546 47

49

ILLJ~_J.___ . J I I L ___ 1--1

I I

1

LL

LJ-c-Di-LJ--~--'--J-Lr---L j _
I l

(~~!jta~d~ forar.1Y abel c~osen ty the ~rograitfmer to i( entity the

--~

1

1

To

'-9 20--:22 2:ii4---26 27

12 1314 --16 17

- 9 10

T
Il) I III
iJ
t---f'---+-'-+---fL'4~X~~~!..~r-

T

1

r-"la-b-e-I-'---'-P'-ri-nt---'---P-u-nc-h--t--D-=-M--o--ve

Positions

r---.----I

? AIMIT]) I/IR
r70 IX

I

X I

Print

Summary Punch
Column Split

E -= Edit
M = Move
Z == Move and Suppress Zeros

1

°

1

1

1

~pl d!v ~o U 1
I
I

I

I I

1

1

1

1

1

'

1

1

1_ 1

1

1

Figure 16i

TOT AL CONTROL CARDS - PHASE 2

BEI-

":l
T

fOI'.
Print

.l!!

II

>
~

S

FI

S
2 3

~:

I-

1

Add
Subtract
Multiply
Divide
Move

=
=
=

1
I

]
0

A=
S=
@
%
M

~

l ;= load Edit Control Word
M Move Constant Data
Z = Move and Suppress Zero.

=

Lobo'

1

To

FrOM

5 6 7

Print
Positions

label

From

12 113 flo(

9 10

From

1

From

22 23'24

T~

I

?IXIXlX l)VI~

I(f:e ~prl QI ~U:0~, ~iJ ~Ilfl)

TX

I

~ QITIY bl/iV

I I

T
1

1

1

1

1

1

I

I I

I

I

1

1

1

1

I

To

From

21§ 27

la~l

standb

'OSjD br

tl"r

1 I

I I

I

,

1

1 I
I

1

I

-cc

Move Digit

Clear
Accum,

.----Label

Y = M'Dve Zone

~

S I----From

To

To

38 39 40 __ 4243

35 36

T

c---------D

To

From

3233

29 30

J_ __ 1 I

I I

--

Punch
Positions

Print
Positions

label

To

19 20

16 17

Summary Punch
Column Split

=

E Edit
M = Move
Z = Move and Suppress Zeros

45 4647

mer :0 ide.ll1tify the
l~ -- -.J__":'~_ 1 .

L
1

1

I :

:-

I
i

49
1

I

i

I I

I

I

Figure 17

25

Half-Adjustments of Products and Quotients
Products and/ or quotients may be half-adjusted
(rounded) by adding 5 to the position in the product
or quotient immediately to the right of the wanted
result. If the position to which the 5 is added stood at
5, 6, 7, 8, or 9, a carry occurs to the units position of
the wanted result, thus rounding the product or quotient by adding the carry-over 1. If the position stood
at 0, 1, 2, 3, or 4, the carry does not occur and the
product or quotient is not adjusted. This procedure
is often used to round out results to the nearest cent.
The following examples illustrate.
Product Adjustment

Assume a 4-digit multiplicand (with two decimals)
and a 3-digit multiplier (all decimals).
EXAl\IPLE

Rule /01' placing the decimal point in
the product:
34.85
The sum of the number of decimal
X .125
positions in the multiplicand and
Product
4.3562
the multiplier equals the number
of decimal positions in the product.
!1 adjust
500
4.36125
Rounded Product
Dropped decimals
PROBLEM ANALYSIS

II II I I I I I
MPR
t

JxlxJxJ

:125

IIIII

4-digit multiplicand plus 3-digit multiplier plus 1 = 8-position work area.
3-digit multiplier area (label MPR).

PRODUCT t
JOJxJxlxJxJxJxlxJ
004.35625

-

LUnits position of developed product (label
PDT). Upon completion of multiply operation, sign in this position must be
moved to the units position of Constant
t
500 (label RND).
500
RND with sign must then be added into
the 3 low-order positions of the developed product.
ADJ '--P....D
....T- Units position of wanted product.

JOlxJXlxl:!xlxJ!1
004.36 125

-

26

t.___

Units position of adjusted product (label
ADJ). Sign in units position of PDT must
be moved to units position of ADJ.

To set up the three sections of the B-position work
area (MPR, ADJ, PDT), the constant 500 (RND), and
an edit control word (ECW) to edit the adjusted
product, Rve entries are made in the constants control
cards coding-sheet as shown in Figure lB.
Characters &CR in the edit control word are not
required if the products are always positive. The zero
(0) to the left of the decimal point suppresses all
insignificant zeros to the left of the decimal point, and
the & causes a space between the units position of
negative amounts and CR symbols. Examples of edit
printing:
.09
4.36
15.0B
.07 CR
B.39 CR
29.06 CR
To make proper entries on the coding sheets for this
example, base the specifications on the following assumptions.
1. Multiplication is to be accomplished for all detail
data cards (Phase 3).
2. Multiplier is punched in columns 21-23, with an
X punch in column 23 if negative.
3. :Multiplicand is punched in columns 31-34, with an
X punch in column 34 if negative.
4. Adjusted product (positive or n~gative) is to be
edited and printed in print positions 101-109, with
no sign if positive, and CR. symbols if negative.
To accomplish item 4, make the following entries in
addition to those required to perform the basic multiplication.
1. Move the plus or minus sign from the units position
of the developed product to the units position of
the constant RND 500.
2. Add RND with sign to the low-order positions of
the developed product (PDT).
3. Move the sign from the units position of PDT to
the units position of the adjusted product (ADJ).
4. Load edit control word (ECWbbO.bb&CR) to print
positions 101-109.
5. Edit and print ADJ in print positions 101-109.
Seven entries are required in various columns of
detail control cards (Phase 3) coding-sheet as shown
in Figure 19.

CONST ANTS CONTROL CARDS - PHASE 1

=

C
or

No.

Label

SPas.
1 2

Column 1 C :: Constant with a word mark; S Constant without a word mark
Columns 2·3 -=:'Size of Constant Word
Columns 4·6 :: Label to identify Constant Word
Columns 7·72::' Field for punching Constant Word (66 characters maximum)

3 4

6 7

15

10

20

:~:'4f+:

25

C. 03 NIP Ii 0 0101
~ Ol. 41> I:T 01 0 1 I

I

S 03 PJ:J T a·dlDI
c. (J.3 I~:N b.fi 0101

I I I I I I I I I I I I
I I I I 1~21 afj'f" IC~DSMt
~IC.IRI I I I I I I I I
I I I I I I I I I I I I

1

C 0'1 E:C. W
I

i

I

I

101'

I I

:

3~

30

45

40

50

I I I

I I

!

: : : : : : : : :

:

:

:

:

:

:

:

:

:

:

:- I

I

;

I

I I I I I I I I I i I I I I I I I I I I
I I I I I I I I I I I I i i I I I I i
I I I I I I I II I I I I I I I ~ I I I
I I I I I I I I I I I I I I I i I I I II
i

j

I I

I

I I

!

!

I

I

:

I I

I

I I

I

Figure 18

DETAIL CONTROL CARDS - PHASE 3

0

T,ype of
Detail
Card
C = Char.
Z Zone

=

j

Card
Call.

1 2 3

t

Special 04 or
7 pOliti on
10401 Inltructlon
(actual)

E- Edit
L= Load Edit Control Word
M = Move Conltant Data
Z = Move and Supprell Zerol
o = Move ~igit
Y = Move Zone
Print
POliti on.

Column Split

o =Move
Y

1~~I

Digit

=Move Znne

!

PUrich
POlltlon.

C 0
B
from
From
From
To
To
From
To
A
Z P
1011
13104 15
202122
5 6 7 8
1718
204 25
3031
3~304
2728

Ox IXI.XIX X
t. ilX'IK X

I I

I I

I I

I I

I I

I I

I I

E = Edit
DETAIL CARD DATA
M = Move
Z = Move and Supprell Zerol
o = Move ~igit
Y = Move Zone
Data Card
Print
Columnl
POliti on.

I I

...

3~

I I

A - Add; S - Subtract

=
=
=
M = Move
Z =Move and Supprell Zeros

@ Multiply; % = Divide
? == Zero Add; ! Zero Subtract
o Move ~igit; Y = Move Zone

Data Card
Column.

Punch
POlltlon!.._

...

Label

From
To
To
To
From
To
To
from
from
From
37,38
.co 041 0430404 461047 041'150 -~ "5'3_ ~ 5 ~7 5960 62163 65 66 68

j I

I I

j I

I I

I I

Ll ? PI.2.11 OIJ.13
~

I I "'!1~

.LL ~l~lL

o

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

DI~ yj XI X X

I I

I I

I I

I I

I I

I I

I 1

I I

I I

1 I

I 1

1 1

1 1

J I

J_ I ~ I I

I I

PIDIT ~1"'1l>

X

1 1

1 1

1 1

1 1

I I

I I

I I

I I -.J.I

I I

I I

I I

I I

I I

I I

IRiNib PlblT

I I

I I

I I

I

I

I I

I I

I 1

I I

I I

I I

I 1

1 1

I 1

I 1

J I IA
1-1 IY

I I

XIXIX X

I I

I I

PIDIT AI1>~

'LOJ Cf I I'

I I

I I

I I

I I

I I

I I

1- I

I I

I I

I 1

I I

I I

I I

I 1

I I

I 1

I I

I I

LL_ r--W·I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I_.L,-Ll

Dlt IXI)'I..(
D Ix
D

X XIXIX'

X-

I 1

1 I

1 1

1 I

L fl'lw IIOLI

D

X k'IYIX,X

I I

I I

I I

I I

EAID!.1' 11°11 '1°19

D

I I

I I

I I

I I

I I

I I

I I

I I

"1.311 0J3j'i

I I

1-.-1._

~-.L ,-'-~

Figure 19

27

Quotient Adjustment

Assume a 6-digit dividend (with two decimals) and a
3-digit divisor (with no decimals).
EXAMPLE

0034.856
125)4357.12('
375

~Extended

quotient adjusted to 34.86 by
adding 5 to the units position.

607

Rule for placing the decimal point
in the quotient:

500
1071
1000

-m (end of actual
dividend)
625
870 (dividend
extended)
750
120 (end of
division)

Number of decimals in the dividend minus the number of decimals in the divisor equals the
number of decimals in the quotient.

PROBLEM ANALYSIS

I II JJJJI JJJJ

7-digit extended dividend plus 3digit divisor plus 1 = ll-position
work area.

Line to the left of the number of
digits in the divisor plus 1 locates
the extended quotient including sign
in the units position.
Dividend

±

J J J J JxJxJxJxJxJxJ J

~Units position of extended dividend (label EXD). Supplied by moving constant 0 or blank to EXD.
Units position of actual dividend (label ACD). To signal end of division,
sign in this position resulting from a
ZERO AND ADD instruction must be
removed and transferred to the units
position of extended dividend before
executing the divide instruction.
&.-..---- High-order position of actual dividend (labcl DIV). This position is
addressed when executing the divide
operation.

4 3 5 7.1 2 0

L

-I

JXJxJX,x,x'X,iIO'X'X,i,

o0

3 4.8 5 6 0 1 2 0

±
5
Adj.Quot.

Units position of extended quotient
(label EXQ). Upon completion of the
divide operation, sign in this position must be moved to Constant 5
(RND).
RND with sign must then be added
to units position of extended quotient.

!xlxlxlxlx!~+1+~IOix~xlxl

r t
0 3 4.8

28

10 120

Units position of adjusted quotient
(label ADQ). Sign in units position
of EXQ must be moved to uilits position of ADQ.
High-order position of ADQ.

To set up the various sections of the work area in
the proper sequence and to set up other required constants as analyzed in the foregoing, make entries in
the constants control cards coding-sheet as shown in
Figure 20.
To make the proper entries on the coding sheets for
this example, base the specifications on the following
assumptions.
1. Division is to be accomplished for all detail data
cards (Phase 3).
2. Dividend is punched in columns 31-36, with X
punch in column 36 if negative.
3. Divisor is punched in columns 37-39, with X punch
in column 39 if negative.
4. Adjusted quotient (positive or negative) is to be
edited and printed in print positions 101-111 with
no sign if positive and CR symbols if negative.
To develop adjusted quotient as specified, make
entries in the various columns of the detail control
cards (Phase 3) coding-sheet as shown in Figure 21.

CONSTANTS CONTROL CARDS - PHASE 1
C No.
or
SPas.
1 2

Label

3"

CO

L/.

Column 1 C
Columns 2-3
Columns 4-6
Columns 7-72
6 7

00

o

SOl 1.1 I V

S ()

I

oS () I

= Constant with a

=

word mark; S Constant without a word mark
Size of Constant Word
Label to identify Constant Word
Field for punching Constant Word (66 characters maximum)

=

=
=

10

15

20

25

30

35

40

50

45

55

II II

Never referred to in the prorram.
o o QlQLLL1 __LU_LI I_~I L_U I I I I i lL I ILJ_JU-JJ~I I I I I I I I I LlJ
lIigh--oroer posffiOilor actua aivldenT.
JI
01 I ~-.LL~ I I I I ILOlJorke~ Josttibn Iot-akjJst~d IqJotlekli-L, lJn _L 1_ L I I. I I I 1._ L J I I j I J

AD a 0 I
c: X 001

I I

I

-LLLL1~w~~Josltibn Iot-ekt~nJeJ qhoke~t~

I I

I

L-L~_J_lJ I I I I I 1 1 1-1 I I I I 1~-l\.U-_LJ~l_l J_l.Ll_J_Ll

1--4U- ~b.&-JA-hl- L LJ

Low-order position of actual dividend.

,

LL L L j 1
J. L I

J
J

5 03 A C]) QI()lfJ I
I 1 I I I I_LU_ I I I I 1-1 I I IL~l I I I II I I I I I I I I I_~L I I I I I
low-order position of extended dividend.
I
S
pq..0-=-t-=-/t--f+~
)(-'-!--=-Dt-=-0...L.....I..._---'--~I__L_.L...1-1-l-I----!--I..1-1-L1---J1l--,-1~I--II~II_LLLLLI I I I I I I JiU __LLL1_LU_nLLLL1J1JJ
Constant zero to extend dividend.

0 _'+=2,,:+_R--+=-D+-O-L-'I---iI_--I---'----'I--L--L---1I--<-1-I-I_I,-U I I I I I I I 1-1 I I I I-1J I I I U-J--1..LL I I I I I I I I I I I I
I--C'-t--t

Constant 5 to half-adjust quotient.
I--C-+0-t--'+-~.~+N-t--/)F-JT--'----'--I_-'----'--'-I--,---,--_LLLJ-LJ_-LU I I I I_L1-1~LL~~U_ J--LLl I

(. II f:C

W

01.

1.. 1
/

C. 0 I 13 L Ik 1 1
1

I
I I I I I I I I I
Edit Control Word.
I I~ICIRI I I I 1 I Il~1-1~ I 1 1 I I I 1 I I I LLLl I I I I LLLL 1 1 IJ
Cc;mstant 1?1"nl.< lJSed to mov~_ blank zone to units pgsition of actual dividend,
1 1 I 1 1 IthUs lc1eah~ thElslglLd.fter !1itidenkLk~tgl11l1 ~~LMqrkL!IoteLvt!tltJ_lerpj 1 L L 1
and Add instruction.
I I I I I I I I I I I I I I 1 I I I I 1 I I I I II! I I 1 1 I I 1 1 1 I I I 1 1 1 I

I

I

1

Figure 20

DET AIL CONTROL CARDS - PHASE 3

0

Type of
Detail
Card

=Char.
Z =Zone

C

+

Special 4 or
7 po.ition
1401 In.truction
(actual)

C 0
iCard
A
Z P
U Col •.
1011
1 2 3
!i 6 7 8

o X XIXIXlx
o XXIXIXlx
o ;. XI,XIXlX
DrX'

XI XI 'I

'I

XXIXIX X
olx XIXIX K
oX XIXI,~IX

o

o X XIXIX

,x

o _}( XIKIX

lr

o
0
I-

X XIXIXIX
I L

Y

B

1

t

__ L I

I)igit

=Move Zone
From

131415

1718

From

To

20 21 22

I I

I I

I I

I I

I I

I 1

1J

LL I I

I I
I I

-'I
I I

I I

I 1

I I

I I

I I ~
I I
LL

I I
I-.-L

_1-1
I I

J _L

From

2425

2728

3~

3031

.*.

1

From

To

From

To

363738

34

Data Card
Columns

4041

--

From
4344

4647

Positiol1~~

To

From
4950

11

LI

I I

I 1

I I

I I

I I

1I

I I

I I

I I

11

I I

I I

I I

I I

I I

I 1

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I 1

I I

I I

I I

1I

I I

I

I I

1I

I 1

I I

I I

LL

.*.

Label

From
To
To
From
6263
65'66
68
59 160

To

555 57

5253

.LL -Ll. 1 I
I I -.LL ~I
1 I

Data Card
Columns

Punch

Print
POlitions

To

Subtract

=Multiply; % = Divide
= Zero Add; ! = Zero Subtract
D = Move Digit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros

?

1 I b I I I I :z..1~1/) EIXiJI
1 I ? 01.:3'11 0131b I 1 AICID
1 I Y I I I I Ale II> el,xlJ>

I I
I I

I I

I

I I

I I

I I

I I

[1

I I

I I

I I

I I

I I 81L1/( AlcP
Ll IY I I
01319
I I lJI/IV
I I _1 I ~ 01317
f'IXlbI
RiNlb
I I
1 I J I 'I I I
I I RiM]) flXIG
I I
I I A I I

I I

I I __

I I

I I

I I

I I

J L

I I

Ll

I I

I J

J I

1 I

I I

I 1_ ~L

I I

I I

-'

I I

I 1

I I

I I

II

I I

I I

I L

I-.-L W-L

~ t-~_LL

11___

I I

Punch
Po.ition.

Add; S

A
@

DATA

~igit

Print
Po.itions

L.b,1

I I .J . J ....
I_L I I

I I

E
M
Z

=
=
=
=
=

Column Split

o =Move

= Edit
DETAIL CARD
=Mave
=Move and Suppre.. Zero.
o =Move
Y = Move Zone

E - Edit
L Load Edit Contral Word
M Mave Con.tant Data
Z Move and Suppre.. Zero.
o Move Digit
Y Move Zone

I I
I I

LL

I I _LL ~

_Ll

I I

L

L ElclW 1l~1( I1II1

E AI])~

LL~{ (]ll!

I]
I I

LL ... L l J~LLL

L~

I I

I I
I I

]

J~
j

I

Y

flXI~ 41DI~

I I

LI

I I

I I

I 1

I I

I I

-1--'

I
I I

I L

LL

I I
11_l-lL

Figure 21

29

FARGO General Program Operation and
1401 Core-Storage Organization
The following table describes in summary the sequence of events occurring during the loading of the
combined FARGO program decks and the control
cards punched from the coding sheets.
Code in
Column 77

o

1

2
3
4
5

6
7

30

Program Operation and Core-Storage Organization
FARGO Phase 1 program is loaded temporarily into
locations 2618-3313.
FARGO program is loaded permanently into locations 3314-3699 during Phase 1.
Phase-1 control cards coded M, B, C, and S modify
the permanent FARGO program, load up to 50 constants into storage beginning with location 333, and
set up a table in locations 3700-3999 indicating the
location of each constant.
FARGO Phase-2 program is loaded temporarily into
locations 2306-3313, canceling out the temporary
FARGO Phase-1 program.
Phase-2 control cards coded T generate total instructions and load them into locations immediately following the constant area.
FARGO Phase-3 program is temporarily loaded into
locations 2301-3313, canceling out the temporary
FARGO Phase-2 program.
Phase-3 control cards coded D generate detail instructions and load them into locations immediately
following the total instructions. The last instruction
generated in Phase 3 will be ~E66.
FARGO Phase-4 program is loaded into locations
3023-3313, canceling out a portion of the temporary
FARGO Phase-3 program.
Phase-4 control cards coded H load the report-heading information into locations immediately following
the last BE66 instruction generated in Phase 3.
The conStant table in locations 3700-3999 set up
during Phase 1 is cleared and the Phase 4 control
cards coded F load the field-headings information
into this area.
Location 2358 (or less) up to location 3313 is available for storing patch subroutines.

FARGO Report Examples
Register of Earnings ~,"d Deductions
This report will be listed on blank paper. Specifications
include the following operations:
1. Report and Field Headings with overflow and page
numbering.
2. Minor and Intermediate Controls.
3. Group-indication of control fields.
4. Addition and Subtraction (two types of detail data
cards).
5. Three minor totals, three intermediate totals and
three final totals. All amounts listed and totalprinted will be edited.
Report format and completed FARGO coding
sheets are shown in Figures 22-A to 22-E. An example of the finished report is shown in Figure 22-F.

Remit~lance Statement and Voucher Check
Statement and voucher check will be prepared on
preprinted inverted forms. Statement portion of form
provides for listing of debit and credit accounts payable items (4 types of detail data cards punched 1-4
in column 7), total printing of date, vendor number,
and an edited statement total with floating $.
Voucher check provides for date, vendor number,
check number, and edited check amount with floating
$ on' one line. This is followed by a space and 3-line
printing of name, address, and city read into storage
from a card punched - (II-punch) in column 7. A
fourth line address, when required, is read into storage from a trailer address card punched & (I2-punch)
in column 7. N arne and address cards precede detail
data cards.
Specifications include punching of a summary card
for both valid and void (overflow) checks. The summary cards, including those punched for void checks,
will be used to prepare check registers and for check
reconciliation.
Valid checks are printed and summary pmiched
with FARGO instructions. Void checks are printed
and summary punched with instructions from a patching subroutine.
Format of Remittance Statement and Voucher
Check and completed FARGO coding sheets are
shown in Figures 23-A to 23-G. Patch subroutine card
format is shown in Figure 23-H. Examples of statements and checks are shown in Figure 23-J.

31

C-)

t-o

"rj

ciQ.

c:

~

LINE DESCRIPTION

to
to

;>
CJ:l

'0
(!)
n

s;

INTERNATIONAL BUSINESS MACHINES CORPORATION

IB'4
III II III

6 Lines Per Inch

I

I I I I I I I I 1111 I I I I I

I

CARD TYPES

II

~lILJII

I

I

I

III I I I I I

I

III

Printing span'

I II II

II X XI} XXXXIX 111 I I I I I I I I I I I I I I I

II III IIII II II II I

I I II I II I

I I A IJ

Cf.I

.....
"1

EG I STER

F EA NING

AND DEDU TIONS

-

PAGE XXX

(!)

oq

~

Q.,
~

DEDU T I NS
E PlO EE
E NI GS
SERIAL AFTER TAXES
DEP
X X

XXX X

XX • XX

s·

~

XX .X

E P.TO A
XXX

X

IX

XX

::!

0-

E P.

t:J

DEPT.T TA S

(!)

XXX.XX

OT L

PAY

X X. XX
.X
XXX.X
X x. XX

XXX.XX
XX
X

X XX. XX
XXX.XX
X X X.XX

• XX

~

N

.XX
XX X. XX
xIX .XX

xx

~

3

R '"

I

X ~X • XX

X XIX

.XX

X XX

X

0-

c:

o·::!~
Cf.I

~

XXX

XXX X

E P.T TAL

XX

X

XX • XX
XX • X
X •X

XX .XX

XXX.XX
XX .XX
X X. XX
XXX.XX

(!)

'0
0

I I I I l..IXlXIXI:
-

0

"1

~IBM 1403. Modell-+i

I

~

DE PI.

TA S

F I NA

T T LS

X Xx

• XX

XX XX

X

X

X • XX

X X.

X

::+
X XX

•X

X X.XX

R.

XIXI~

111

I

IBM 407. 408, 409

I

_ I B M 1403& 1404. Model 2

11 I I I I I I ·1 I I I I I I I I

Oed 1\
XIXIXIXlXIX XI)

n

(!)

I

/

I III II

I
I'Earnings)

o·~::!
~

11Llll1 I ILL

(Opt Serial"

Earnings Card (NoX-74)
Deduction Card (X-74)

FormX2~

Printed in U. S. A~

IBM 40,,!, 408, 409, 1403 AND 1404 PRINTER SPACING CHART
FIELD HEADINGS/WORD MARKS

II I I I

I
I

III

II I IIII II

II I I I I I I

I

I

I

FORM X24-6556
Printed in U_S_A-

IBM
REPOR;

I

iNTERNATiONAL 8USiNESS MACHiNES CORPORATiON

~~Ea.."'''7'

-ti-. IBM 1401 DATA PROCESSING SYSTEM
FARGO REPORT SPECIFICATIONS •

PROGRAM IDENTIFICAnON

Phases 4 and 1
DATE

PROGRAMMED BY
REPORT

,-.11
, s- I r- (

Page~of~_

~

- PHASE 4

fiE L D

Fields 1-4

=Group

r---~~----i-'-~Data~~C~a-rd~-r----P~r71.n-t----i-Jr--~--~~~----~------~r-----------'-----------~_r-----------.-----P------~
(InF~icatciondFiMel~s
)
Irst ar
Inor
rint
Columns

I

I~I~~~

Positions

Positions

M
Z

=Move
=Move and

Sequence
Number

CONTROL BREAK CONTROL CARDS - PHASE 1
B

Control field
Card Cals.

"i

.;

1 2 3

Sequence
Number

Yo

from

5 6

8

7778

80

B 1

411 I? I"'~I'

first leYeI Control (minor)

1 0 0

B 2

~II t'I 101'1'

Second l_1 Control (intermediate)

1 0

B 3

I

I

11

Third Level Control (major)

1 0 0

B 4

J I

I I

fourth Level Control

1 0

1

0 2
3

0 4

FORM X24-6557
Printed in U.S.A.

IBM

(!)a,<:.-tu.. -fee;

REPORT

INTERNATIONAL BUSINESS MACHINES CORPORATION

.. ;....... " 1,&,,,,, -t;...,.~ IBM 1401

r-a L
,

PROGRAMMED BY

~-

V

C No.
or
S Pos.

DATA PROCESSING SYSTEM

FARGO REPORT SPECIFICATIONS

•

PROGRAM IDENTIFICATION

Ph ase 1

Label

Sequence
Number

c-o

>E A" o\a\OIOI61 I I I I I I I fiplfYielErrnr Fiunfe, 1 I' 1 1 I 1 I I I

10

6 7

15

20

Ie::. () {-E Al.. °IOld10141 0 1 I I 1 I I I pertol

25

iari

35

30

40

"5

50

,,

(J

"1.1> ~J

al0lalolo1 01 I 1 j I 1

C.

S'N

010/010101 I I I I 1 I

0

r~tufef

~o~ir I
d
J filiall Df r1jns lCI'1~L I
I fiplrielNitl~ Flunfe~

101 0 10 I 01 01 I I I I I I pertol rfitiYi

( 0

60

65

70

727778

I \ I I I I I I \ \ I I I I I I I I I I I I I I I I I I I I I I

1Ctitjr I I I I I I I I I I I 1 I I I I I I I I I 1 I I I I I I I I , I , 1 , , 1 , , I I I 1

£ , 01 OJ 010 101 I I I I I I I f,plfYf e IDfdycyof
EJ.

55

9S

C 0 :1 E A3 016101 0 1010 10 1 l J ' J I r1al,Efjinfsr,urer I I I /111 J l 1 1 1 L l l l l I I I I 1 I

1(..0

P~ge ~ of!L

CONSTANTS CONTROL CARDS - PHASE 1

3"

"'"1:0

, .:L/Illl.,

Column 1 C = Constant with a word mark; S = Constant without a word mark
Columns 2-3 = Size of Constant Word
Columns 4-6 = Label to identify Constant Word
Columns 7-72 = Field for punching Constant Word (66 characters maximum)

1 2

IL 0

DATE

Lill I I I I 1 II L l l l i II I I

I I I I I I I I I I I I I I I I 1 1I I I 1 I I

I I I I I \:.'\ I I I 1 1 I I I I

I I I I I I I I I I I I , I I I I I I I I I I I I I I I I I I: I I I I I I I I I ,

1

Il 2 0

1

0 3 0

1 0

" 0

1 0 5 0

1 1 I 1 I 1 1 1 1 I 1 1 I 11 I 1 1 I I I , 1 I 1 J J I I I , I I I I , I 1 I I I

1 0 6 0
1 0

C.io (.N II).. 01 0 10 101 0 10 1 I I I I I I pertol ~e~ ~aYI C10jti I I I II I I I I I 1 I l J I J I 1'1 I I I I I I I 1 J I I l I 1 I I I I J I I I I I
Coo 1 Nfl .3 01010101010101 J I I J I fijal l NltJ~Y {~iteI I I I J I 1 I 1 1 1 1 I 1 1 1 1 I 1 1 1 1 I I L 11 11 J 1 1 I 1 1 1 1 I I I I 1 I 1

M' f1J>IJPi.
.,1

!

1 0 J 0

I I I I I I I \ I I 1 I I I I 1 1 1 1 1 I 1 I 1 I 1 'I I I 1 1 1 1 I I 1 1 1 1 I 1

r

Ie. I o E

80

InlliriAltl51 II} 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I· 1 1 1 1 1 1 I 1 1 1 1 I 1

7 0

J 0 8 0

1 0 9 0
1 I

o

0

C I I~
.DIEIPln .1716ITIAILISI 1 ' TOfaIII1e,~iCitiFf I I I I I I I I I I I I I I I J I I I I I I I I I I I I II 1 I I I I I I I I I I I I
c.. I ).,11: I /II (:1/ iNlA I tl ITla ITIA III S I I I 1 I I J I 1.1 I l I I J I I 1 j I 1 I I I 1 , I 1 , I , I l L 1 J 1 11 1 1 I 1 , L 1 J 1 1 I J J 1
t
l o
(. I IE c.w 1 1 1 I '101.1 1 1(:le ,
lWj
1 1I 1 11 1I J I 1 1I I I I I I 1I 1 1I 1 I 11I I I I 1I 1I I I I I I I 1I I
,

1

I 1 0

1

I

2 0

J I

3 0

I I I I I I I I I I I I I I I I I I I 1 I I I I 1 I I I I I I I I I I I I I I I I I I I I 1I I I I 1I 1I 1 I I I I I I I 1I 1

1

"

f4 foror

1,

I I I I I I I i I I I I I I I I I IJ 1 It I II I I I I I I I I I I I IJI I I I 11 I II I I I /1 i I I I I I I I I I I I

11

0

5 0

I I ' I lJll11 1 1 1 I 1 1 1 I I 1 1 1 I I1111 II I I I I111 I II I I 1 II I 1 1 I 1 1 I 1 I I 1 I I I I I I I I 1

1

1I I I I I I I I I I I I I I I I I I I I I I I 1I I I I I 1I I I I I I I I I I I I I I 1I I I I I I I I 1 I I I I I I I I I I

1

7 0

I I I I I I I I I I I I I I I I I I I I I I I I I IJI I I I IJ I l i l l I I I I /1 I LJ 11111111J lJ IJI /1 I I

1

8 0

LLl 11 I 11J I J ' 1'1 I 11111J111 I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I II I I I I I I I

1

9 0

1I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1I I I I I I I I I I I I I I

1

o

1 I I I I I I I I 1 I I I I \ I I I I i \ I I 11 I I I I t i l l I t I I t I I I I I I I 1 I 1 I I I t t I I l i t II I I I I I

1

1 0

1 I I 1 I I 1 1 1 I 1 1 1 1 I I I 1 1 I I 1 I I I 1 I_Ll-LL I I I I I I I I I I 1 I I I I

1

1 L 1 J 1.1 I 1 1 I J I L J I I I I j

I I I I I I I I I 1 I 11I1111 I 1 I I I I I I I I I I I I I I I I I I I I I I I I I 1'1 I I I I I I I I 1 I I I I I I 1 I I

1

I I I I I I I I I I I I 1 I 1 I I 1 I L.I I 1 I I I I I I I I I I I I I I I I I I J L 1 1 I I I I I 1 I I I 1- 1 1 1 I I I I 1 I 1

1

6 0

0

FORM )(24-6559

Printed in U.S.A.

IBM

REPORT~~i~' n: r
..
, cr.-(L j

INTERNATIONAL BUSINESS MACHINES CORPORATION

-J

A/. ,it; ,~I_B~ _14~! DA~~ ~RO~~S~I.NG SY~TEM_
FARGO REPORT SPECIFICAliONS

f;

PROGRAMMED BY

•

PROGRAM IDENTIFICATION

Phase 3

DATE

v

DElAIL CONTROL CARDS - PHASE 3
E=Edit
L = Load Edit Control Word
M = Move Constant Data
Z Move and Suppress Zeros
D = Move Digit
Y=Move Zone
Print
Label
Positions

E= Edit

M = Move
Z = Move and Suppress Zeros
D = Move Digit
Y,-==Mo=ve:,.::Z=oM=-----r--_ _ _,.--_ _----f.
Data Card
Print
Punch
Columns
Positions
Positions

=

Type of
Detail
D
Card
C Char.
I
lone

=

=

Special 4 or
7 position
1401 Instruction
(acrual)

Column Split
D
Y

co!
J,

=Move Digit

=Move Zone

1
I

1I

Punch
Positions

iCard
***
U
Cols.
Z P
A
I
From
To
From
From
To
From
To
From
To
From
To
From
To
1 23
56 78
1011
131415
1718
202122
2"25
2728
3C31
3334
~3738
4041
43 .... 46 ..7
4950
5:253
5!1
D

0I?141Z

D

ol?14Z

I f

I I

D -

oJ?14z

I I

I I

D-

(J1714-Z

I I

II

I I

I I

t.. Elq\'\j

"I~IS ol~lS-

I I I I E Ol?lt. 01i10 01ld5 DI-:iIS

I I

1

A = Add; S = Subtract
@ = Multiply; % = Divide
? = Zero Addi ! = Zero Subtract
D = Move Digit; Y = Move Zone
M = Move
L
Aftw
Z,-=_M_ove_a_nd_S....,:.up.:..,..pre_ss_Ze_ro_s_-I"'-'~ Print

I

Data Card
~
I--...=.;Co~iu=mn;;;...s-+_-=i.a;,;;;-:be",-i--I&. r--- rS P
From
To
From
To
P S IC
57
59 60
6263
6.566 6R 69170 71 72 77 U

J A *'I*~ bI riO I I .lIAII

I

SiP I
I I

I I

L Elq~ 01.31S" "141S" I I

I I

~

5 0 1 0

5

0

2 0

I

50 3 0

lSlP I

5 0 4 0

o

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

1 1

I

5

5 0

D

I I

I I

I I

I I

i I

Ii

I I

Ii

i Ii I

i

I

IJ

I

I

II

I

II

I

I

I

I

I

5

6 0

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I 1

I I

I I

I 1

I I

I I

I I

I

5

7 0

11

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

8 0

I I

I I

I I

I I

I I

I 1

11

11

1I

I I

I I

I I

1

I

I I

I I

I I

I I

I I

I I

I I

I

5

9 0

o

I I

I I

I I

I I

1I

I I

I I

I I

I I

I

I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

0 0

o

o

o
o

I I

I

I

I

I

I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I J

11

J1

1J

I I

J I

I I

1 L

I I

I I

I I

I

5

10

D

I I

I I

I I

I I

I I

J I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I L

I -I

I

5

2 0

D

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

3 0

I I

I I

I I

I I

I I

I I

I 1

I I

I 1

I I

I I

I I

I I

I I

IJ

11

1I11111L

I

5

4-0

I I
I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

5 0

I I

I I

I

5

6 0

o
D

o
o

o
o
D

o

I

I

I

11

I

I I

I

I

I I I I I

I

I I

I

I I I I I

I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

I

I J

I I

I I

I I

I 1

I

570

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

580

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

l1

I I

I I

I I

I I

I I

1 L

I I

I I

I I

I

5

1- I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

500

I I

I I

I I

I I

I I

I 1

1 I

I ILl

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

9 0

1 0

FORM X24-6558
Printed in U.S.A.

IBM
REPOR;

INTERNATIONAL BUSINESS MACHINES CORPORATION

~i. c;.

-..-IA.ub 1-tA.-.

?:O_ L_

PROGRAMMED BY

c

IBM 1401 DATA PROCESSING SYSTEM

v

Be-

'?
T

j
"0

~

r--l
fore
Print

T

I

T

I

T

I

T ,
T

J

T

I

1w~1

Print
Positions

I

A flAil

l

A~EII l>IEI~

I

AiN1Pli tV! PI 1.

I

I I

I

I I

flAIl.

1w~1

!

I

I I I,

i
!

1

I

j

I

I I

I I
I I

I I

I I

I I

I I

I I

I I
! I I

11

I I

j I

I

E'~ 11..IEIAI3

~ NIP~i"'IPI3

I I

1

I l

J J

I I

L E'I't!p

dl/ll

i()I~IO
I

I I

I I

I

I I

e:

.~

SI---

e:
:;)

4

_

'"

~
0

i I I 5 EIAI'
I I I I I 5 ,l)IEI'
i I I ; I I
SIMAI

I I

I I I

i

I I

I I if>

3 D 6 0

,

,

1

I

I I

I I

I I

I I

i

I I

I

I I

I I

!

I I

I I

I

I I I I I

I I

I I

I I

I

1 I

I I

11

I I

I 1

I

"

I

°1'f1,lol~I'

L.. E"ICjW

TIl.

I

I I

I I Ll>rPIT aI/if 01)...11

Tlj

I

! I 1

I I L£ICI\\I OIl. 15 0131S

r[3

I

1 L

!

ENjPIJ-. 0l'fl'

J 1

E [IAI3

I I
°12..1~

iD,,sI,1
1 1

"I"'~ °1.5'1' EN,PI3 "14",

I

I I

I I L Fill" bj/l' OI~IJ.

I

1 I

I I

1 1

1 1

1 I
I I

I 1

I

I I

I I

I I
I I

I I

I 1

OI~I'

!

I I

I

I

S NIPIl.

I

I I
SEIAI.3

I ! S~~IJ

I I

I
I

I

I I

I I

I I

11

I L

J 1

I Jl 1

I I

I I

I

j

I I

!

III

~

I I

I'

I I

L

I I

1 1

I

r24..&~ ~~

3,{) 8 0

,)~--/.:.-..R.. /.~~

3

C 9 0

I

3

f o

0

3

1,1

0

3

Ii

I

\

31
"7

-r-~~

rA.~..Lc.. ---./~L/..

.~ ~_ ... ~

) ~--J~
} F~}-'~
~.

I

~

£..-..~

,

3

3

L

,;:(

J

~1

,

£

3

3

I

I I

I I

I I

I I

I I

I I I

I I

I

I I

I I

I

I

I I

I I

I

I

0

4

0

,

t
I

31/

'1-.*L! I

2 0

t 13

1

3

J

I

5 0

3 () 7 0

J

I

I

~

..c.A.._'lI·

~:

Sf~

I I

---_-#~-f

'> .J~.}-~
,

I

5NIPl3

I

I I

"

V

1Ud-~~

i

I I

i

I

I

i

.s ]) IEJ2.

I I
I

I I : I I

1
1

ill " I

I j i I I

I I

\ I

I I

I I : I I
,
11 : I I

iJ I

"131.sl I I : I I

I I LE]Cl~ ()13j£ {)I¢/.S- E'»lE~ OlliS' °1~1~
I I LEICiW

I,

I 1

I I -SEIAll.

I I
'

V

~ ~L

J

3 () 4 0

~

~,

SIPI

I 1 I

I I

30 3 0

J

J

I I

2 0

1

I I

I I i I I

(J

3

I I

OI~lsf
o141~

3

I

I

L EICiW 01.1.1.51 DIJ IS" EEIAll 011.1.(

3 0 1 0

I

I'
i
i

!

,~

80

1~~~,,1,,I L.J I- . . 2~

I

I I

,,~

v;-h

,

I

I I

I I

\ I

I I

I I

I

I I

1

I I

I

I

I

I

I

~~.J~

~J..a.d~
> ;t:;)
_ 73-:.c. n

I

I I

1

I

I I

J I

1 1

I

TIl.

I I

I I

I

I I

I I

I I

77 78

I

I 1

\

I

l

I I

1

1 I

I I

I I ! I I L E"ICIW 013 lSi 0141';- E~lfl~ 01.3 is

1 I

i

I

1 1

I I

I I

I I

I

i

I I

1 :

i

I I I

!

I I

I

I

I

of--¥-

Sequence
Number

COMMENTS
u

.-

a.. a..

I I

I

I

I I

I I

Tl.l.

I I

41~1S

I

I

E MPII iOI~I' al5'"I"-' I I

I

I I

I I

I I

I I

TI~

T

Label

-,~

"\

E]C.IW Ol.JJS °1'1l.s- E ,)1£1' i O].J 15 alylS I I

I L EjCIW 0141' i L) IS'I~

~ ~IE 12.1) IE I;;'

I

I I

I 1

I

I

T

D = Move Digit
Y = Move Zone

Punch
Positions

~

l EI~IW °1~1.6 01315 E EIAI/IOll..l.S'

Til

T

.-----

Print
Positions

1.

A

TlJ

Page

After
Print

Clear
Accum_

=

I I

I

Tl1

Summary Punch
Column Split

E = Edit
M = Move
Z Move and Suppress Zeros

I

TI~

T~

l:2. ")LL s-7 Lt. l.

DATE

TOT AL CONTROL CARDS - PHASE 2

L = Load Edit Control Ward
M = Move Constant Data
Z = Move and Suppress Zeros

Label

Ph ase 2

w ....
S P
P
To
From
To
From
From
To
From
From
To
From
To
P P S K
To
From
E *
K
.. 5 16 7
1920
3233
910
1213 14
1617
22 2324
2930
3536 38 3940
454647
211 27
4243
4950 515253 5415556

S
S
1 2 3
T ,

A= Add
S = Subtract
@ = Multiply
% = Divide
M = Move

•

FARGO REPORT SPECIFICATIONS

.I

PROGRAM IDENTIFICATION

I

5 0
6
1

0

7 0
8

0

9 0

3

o

31

1 0

0

0

0
0

0

REGISTER OF EARNINGS AND DEDUCTIONS - PAGE

0

EMPLOYEI: NO. EARNINGS DEDUCTIONS
DEPT. SERIAL AFTER TAXES

0

00120

1:25.75

0
E·~p.

0

TOTALS
00121

EMP.TOTALS

0

00122

125.75

3.75
1. 10
11.00
8.85

125.75
3.75CR
1.10CR
4.00CR
116.90

4.75
4.75

85.00
4.75CR
80.25
108.92
1.25CR
3.00CR
.80CR
.07CR
103.80

135.00
135.00

0

NET PAY

108.92

0
0
0
0

0

EMP.TOTALS

108.92

1. 25
3.00
.80
.07
5.12

0

DEPT.TOTALS

319.67

18.72

300.95

0

11
23815
EMP.TOTALS

185.00
185.00

.00

185.00
185.00

0

25.00
3.95
28.95

160.00
25.00CR
3.95CR
131.05

0

5.63
10.00
15.63

115.00
5.63CR
10.00CR
99.37

0

0

I

11

0
0

1

2:3816

EMP.TOTALS
11

23905

160.00
160.00
115.00

0
EMP.TOTALS

115.00

0
0

0
0

0
0

0
0

I

r- - _1- ._ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ . _ _ _ _ _ _

---------

0
0
0
0
0

I

0
REGISTER OF EARNINGS AND DEDUCTIONS - PAGE
EMPLOYEE NO. EARNINGS DEDUCTIONS
DEPT. SI:RJAL AFTER TAXES
23919
11
EMP.TOTALS

.00

5.00
5.00

DEPT.TOTALS

460.00

49.58

124

01060

192.50

0
EMP.TOTALS

0
0

2

124

01070

EMP.TOTALS

225.00
225.00

410.42

16.50
22.15
3.10
'4,1.75

192.50
16.50CR
22.15CR
3.10CR
150.75

25.00
25.00

225.00
25.00CR
200.00

155.45

0

5.00CR
5.00CR

0
I

10

i_

0
0
0
0

EMP.TOTALS

155.45

22.00
10.00
32.00

155.45
22.00CR
10.00eR
123.45

0

DEPT. TO'rALS

572.95

98.75

474.20

0

0

FINAL TOTALS

11,355.80

1,004.25

10,351.55

0

124

01080

1'92.50

0

NET PAY

- -------

0
0

0

0

0

0
Figure 22-F.

0

Register of Earnings and Deductions Report

37

Cr.:I

Q:)

"'l:j

.

~~
~
ta

Vl

~

FIElD

HEADI~SIWOID

MAIKS

(FIRST LINE)

NAME AND ADDRESS CARD
- (l1ponch) in column 7

TRAIlER ADDRESS CARD
& (12 punch) in column 7

IMo DafRefer·1

Date

SUMMARY CARD

C':)

~

I

5'

We enclose
I cbeck in full

.....

0

o

'"1

S"

::s

C':)
(I)

CI':l

S'
....
(I)

8
::s
....
(I)

Sl)

::sp,..

<::

0

s::
C':)

::r'

(I)

'"1

(')
::r'
(I)
C':)

Ii'i"

+
I

;;

w

-

•-

:::i

::

II

+++i+-H---~-=++

•

;;
;;
~

o :COOES:

••

;;
;;

i
I

-

: paymeot of
I items listed
I

-•-

=
;;

=

1

•
••

City or Address

I

I

~IBM 1-403. Modell+!

I

II

I

City

I II II II II I II II II II I II II I
.1 II

3

2

General MaDufacturing CompaDy -

o :

--

Pri"'" span-

LINE)

I

Amount

IXIXOOXIXIXIXI

lLJ 1
1181901

I

::sen

8::;:

I (THIRD

IVeodorlCheckli1 Amount

o

;

Name or Address

REPORT SPECIFICATIONS

5;

....

I (SECOND LINE)
I (FOURTH LINE)

II III I

t!j

~

Name

VeDdor
Vendor

(I)

fono X24-601U
Printed in U. S. A.

6 Lines Per Inch

CI':l

(I)
C':)

INTBINATIONAL BUSINESS MACHINES CORPORATION

IBM 407, 408, 409, 1403 AND 1404 PRINTER SPACING CHART

Invoice ~ Ref.
Invoice or
~'riaY Number Claim AmOUDt

xx
xx
xx
xx

xx
xx
xx
xx

I

4

5

~

1I2J31415llilll111S 1111121314151611IM
Endicott, No Y.

Discount or

i

Allowance

u

1
XXXX XX,XXX.XX
XX,XXX.XX 3
XXX X
2
XXXX XX.XXX.XX
XX,XXX.XX ..
XXX X

E
112131411

o

AMOUNT

o

XX.xxx.XX
XX,XXX.XXXX.XXX.XX
XX,XXX.XX-

o

~

MASTER REPORT CONTROL CARD - list
CONTROL BREAK CONTROL CARD - MillOr Control on Vendor (columns 1-5)
DETAIL CONTROL CARDS
All - Move Vendor (columns 1-5) to YEN
All - Branch to patch subroutine to test for overflow (see Figure 23-G)
- Move Name, Address and City to NME, ADD and CTY; space 1 (see NOTE)
& Move Trailer Address to TRL; space 1

r1

Edit Inv. Date (IDA); Move & Zero Suppress Reference; Move Code; Edit]
L2
Amount (ECl); add Amount to TOT; space 1
r3 Move Zone (-) in column 6 to column 37; Edit Inv. Date, etc. same
L4 for codes 1 and 2

asl
J

o

1.2. Claims
I3.DJscomd:s
14., Allow_
I

o

o

-

o

...
-

:

0:

10

I
IDEI'ACHCHECK

XX/XX/X·X Ixxxxx

I BEFORE DEl'OSlTING

- __ 1- -

-

-

-

11. bM>ioes

- - - - -

DIltIe

I V~

TOTALPAID ...... SXX.XXX.XX

I

:
1

'::-:=-=-=--=-=::-'::=--=-=-=--=_ - - - _._ - - - - - - - - - - ___I

GENERAL MANUFACTURING COMPANY
Endicott, N. Y •

0
__

o

Overflow - Execute patch subroutine
TOTAL CONTROL CARDS
Before priDt skip to carriage tape channel 5
Move Statement and Check Date (SCD) to print area
Move & Zero S"PP"'ss Vendor (YEN) to print area
Edit (EC2) TOT and print
,..-----------------,

-

-

-

FORM X24-6556
Printed in U_S.A.

IBM
REPOR;,?f

;Ua-,.

~ 1tJ._,d-.,."J!lL,,/"'. .J!!.le.A

INTERNATIONAL BUSINESS MACHINES CORPORATION

IBM 1401 DATA PROCESSING SYSTEM

FARGO REPORT SPECIFICATIONS •

PROGRAM IDENTIFICATION

Phases 4 and
DATE

PROGRAMMED BY

Page-L-of----b-_

REPORT HEADING CONTROL CARDS - PHASE 4

FIE L D

FIE L D 4

Fields 1-4 = Group

~----~----ir-r--D~ma---C~a-M~-.----~P~ri-nt----~~--~----~--r-----------;r.------------.------------~.---D-o-to--C-or-d--.-----P-r-in-t----4 ;;~~a~::dFi~~:r)
Columns

Positions

Columns

Positions

M = Move
Z =Move and

Sequence
Number

CONTROL BREAK CONTROL CARDS - PHASE 1
B

Control Field
CaM Cols.

l

.l

from

5 6

1 2 3
B

1

Sequence
Number

io

8

qGljI Q()I!>

7778
First Level Control (minor)

1 0 0

80
1

B 2

I I

I I

Second Level Control (intermediate)

1 0 0 2

B 3

I I

I I

ThiM Level Control (major)

1 0 0

3

Fourth Level Control

1 0 0

..

B

.

1I I I

FORM X24-6557
Printed in U.S.A.

IBM
1\
C ,

10

I

I~

C

1S

2S

20

30

Sequence
Number
35

I I I I I I I IEft l Crnl~ rOidltol °ftfnl slacr IbeFier

listi

Iln~

d

4S

40

50

i1 f~ (,nIOifelite~ I I

60

55

65

70

727717B

1°, Srtj,ejt 1 1 1 I I I I I I I I I 1 I 1 I I I I J 1 I I I I I 1 I I I I I I
I I I I 101.1 I I-I IEft l Crnrf rOfdlfof jInfitj
t I I e.1 e .J. I 1"1 .. , INiOIII , 1_IEftICfnF~yofd,fcr~otfIIPatdlafoFf~nl4'teF1niardl I I I I I I I I I I I I I I 1 I I I I I I I L I I I I I I I I
GI () E

I

r1

Co .f &,AE JVOIOI~IOIOI I I I I I ,VjnfO, I I I I I I I I I I I I I I 1 I I I I 1 I I I I I I I
"Total Paid" counter
c.1J 7
r
DI 010 101010101 I , I I I I , I I I I I I I I I I I I I I I I I I I I I I I I I I I
I'
e
s6
ij
i
c qs Co./( N 11'l1517'Sf I I I , I I ~I clt,k iusido, t~1 ~elk 1# ~ol bi r,teld

tio

if rii 1

t

rr

I I I I I I I I I I I I I I I I I I I I I I I I
I I I I I I I I I I I I I I I I I I I I I I I I

I<~ii

iatf rlianper ~orl eyer jj> I

1 I I I I I I

0

i

1 iDi2
i

i

sic

80

I I lLLl I I I I I I I I I I I I I I I 1 ! 0 II

0

i

116] 3 0
!

110 4
I i

0

I !Dj

S 0

Ilo!

6

0

I

..

I 'Or

7 0

nfart I"Y fO Iijc"e IChfCf Y11fbfr I J I I I I I I I I I , I I I I , I I I L l J ilL 1 1 I I I , I I I I I I
e
lfe ~ I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I
~J.l/ ('{ME I I I 1 I I LJ J I INii I(fi

1it)

8 0

11 0

9' 0

4blz> I I I I I I I I I I INf~e fr I Ar<¥sr veTo~d lliye ~ I I I I , I I I I I I I I I I I I I I I I I I I I I I I I I I I I I , I I I I I I
(...J...O c-nY I I I I I I I I I I ICttyl of tdter 1(~i1 ¥n I I I I I I I I 1 I I I I I I 1 I I I I I , 1 I I I I I I I I I I I I I I I I I I I I
C .,l..;l TRIL I I I I I I I I I I ICttyl (l°tfj ltn, Tile~) I I I I I I I I I I I I J 1 1 J I I .1 I j I I I I I I I I I I I I I I I I I I I I I I I

11 f

l,

Cal~

r)

'=

:t: 1 C-LA

1 I j I I I I I I I

I~bil

r

I

I
I

.

:

0

0

I I I

0

I

i

I

2 0
3 0

1i

e

I

1

4

0

I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

I

5

0

I I I I I I I I I I I I I I I I I I I I I IJ I I I I I I I I I I I I I I I I I I I 1·111 I I I I I I I I

1

6

0

I I I I I I I I , I I I I I I I I I , I I I 1'1 I I I I I I I I I I I I I I 1 I I I I I I I I , I I I I I I I I I I I I I I I I

1

7 0

I I I I I I I I , I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1'1 I I I I 1 I I I I I I I I I I I I I

I

1

8

I I I I I I I I I I I I I 1 I I I I I I I I I , I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I II I I I I I I I

1

910

I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I , I I I I I I

1

o

I I I I I I I I I I I I I I I I I I I

I I , I I I 1'1 I I 1 I I

I

11

I I 1 I I I

1

:

I

i

I

I I I I I I I I

I I I I I I I I

i

I

Iclii ,uti f,urr llii I,iljr ,i4°ritiinl I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1 I I

I I I , I I I I , I I I I I I I I I I I I I I , I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

,

I

1I I I I I I I
III

I I II I I I I I I I I I 1 I I

I I

I I

lLI

i

I I I

I I

I I I

I

I I I I I I I I I

I I I I

III

I I

I I I 1 I I til 1 I I 1 1 I I I 1

I I I I I I I I I I I I I I I I I I I I I I I I f I

I

I I

I

I~I

j

I

1 I 1111 I

J J I I I I I I I I I I I I I I I I I I I I I , I I 1 I , I I I I I I I I I I I I I I I I I LlJ.--.l-.-LU. I I I I I I I I I I I

i

1

1 I 1 J J I I 1 1 J 1 1 I 1 I 1 I I I L -' I I , I '- I I I I I I I I I I I I , I I I I , I I I I I I II I

i

1

j

1 1 I I I L ILl 1

0

0
0

'1

FORM X24-6559
Printed in U.S.A.

~
~

IBM

iF: (J

~

6

d.c.I

REPORT~~;tt..cc,J~...;~
PROGRAMMED BY

INTERNATIONAL BUSINESS MACHINES CORPORATION

lBM 1401 DATA PROCESSING SYSTEM

FARGO REPORT SPECIFICATI 0 NS

,l

•

PROGRAM IDENTIFICATION

,

Phase 3

DATE

/-

-

/~III>/,"r
;

,

Page~of~

DelAIL CONTROL CARDS - PHASE 3

0

Type of
Detail
Card
C = Char.
Z = Zone •

.

"&
U

Card
Cols.

C 0
Z P

Special 4 or
7 position
140 1 Instruction
(actual)

A

B

Column Split

o=

Move ~igit
Y = Move Zone

t

To

From

E=Edit
L = Load Edit Control Word
M = Move Constant Data
Z = Move and Suppress Zeros
o = Move Digit
Y=Move Zone

I

!

Label
From

Punch
Positions

Print
Positions
From

A = Add; S = Subtract
@ = Multiply; % = Divide
? = Zero Add; ! = Zero Subtract
o = Move Digit; Y = Move Zone
M= Move
Z = Move and Suppress Zeros

E=Edit
DETAIL CARD DATA
M=Mvv.
Z = Move and Suppress Zeros
o = Move Digit
Y=Move Zone

From

To

To

I

!

Data Card
Columns

***

From

To

Print
Positions

Punch
Positions

To

from

From

I

To

-!

Data Card

11 ..~~-.
From

To

A-

Label
from

After
Print

Ii:"

I~

To

Sequence
Number

--

S
P S

P
K

1 23
5 6 7 8 1011 131415 1718 202122 2" 25 2728 3C 31 3334 363738 4041 43 44 46 47 4950 5253 5!l1~ 57 5960 6263 65L66 _68 6417071 727778 80
0 IAILIL
5 0 10
I I
I I
I I
I I
I I
I I
II M 01 0 11 "IOli I I VIEW
I
1 L II
I I
I 1 I I 11 I I I I
e stora ~e prlD ~Ut,
:be ma: n l'AH:
~r m a:na exam
(Ongl al
cOde
e~ll~~~
Idt;~~
IT
.
[OJ


I

5

I I

I I M 01)"1'1- °171 3

I I

I I M 0131l. 01$""13 I I TIRIL

1 I

I I

z.
z.

I I
I I

I I

o 1101011 c...

I I I

I I

0-

01~17

D~ 01°11

o I 01017

c..

I I

I I

I I

I I

I 1

I I

I I

I I

I I

1J

LIIIDIAlol/l~61/1I~IO

I I

I I Iz VIEIN

O~17:
i

(J1~lf OIS-18

L £1c..1.l.
I I
I 1
I

I I
I

I I

II E1 eld.

I I

I

I

I I

I

1 I

1I

I I

I

I I

I I

I I

I I

I I

I

ISlf' ETlOIT Ol11cf {JI>IB
I I

! I ~ q/(IN 1 I

I J

0101/ 01 0 18

I I

OI{}I~ DI/13

I

!

1~111'i

I I

I I

1 I

I I

~IAlblb 01/10iol31/i

I I

MClnv

i

I I

01/10 01.11'1

1

1 1

01.).15

01313 1 I I

r
M'TIJ?iL,al/iOIOL~i/i
I I

I I

.......
E *

I

I I

I I

I I

I I

I I

P

Move date to punch area

I I
I

I

I I

I
I

I .1

J I

I I

I

I I

P

I

1 I

I I

: ;

I

I

1 I

P

I

I I

I I

: I

I I

I I

IF

I

I I

If

I I

I I I

I

I

I

I I

I '

I

!

!

I I

i
I

I I

.511<.1

I

I I

I

1 I

I I

I

!

I

i

I I

1 I

I I

I

!

I I

I I

I

I I

I I

1

I I

I 1

I I

I I

I I

I I

I I

I I

I

I I

I I

I I

I 1

I I

1 I

1 1

1 I

I

I I

I I

I I

I i

1 I

ill

1 1

I I

I

I I

I I

I I

I I

1 I

I I

I I

J

I

I I

I

1

I I

1 \

I I

I 1

I I

I I

1 1

\ 1

I

1

1

I I

I

.move name to print area
pnnt
M9ve address to print area and
prInt
Move city to print area and
print
Move trailer address to print area
and print
IClear trailer address and SkIp to
channell

1 '

J I

II

I I

ch~ck total to Fafch ~eaj
remove SIgn; c ear to a an punch

S&.~ce;

I

0

3

2 0

3 0 3 0
3 () 4 0

3 D 5 0

3 0 6 0

3 (> 8 0
3 0 9 0

I o

3

I Move

I

: I

3 0 1 0

Move check # to punch area

I

Ir olflO °1.215 STIOIT P

80

77 78

3 () 7 0

I

I I

1
I

I I

. ~~ to-wr.0talPaid' line and move
t to pnnt area
M9ve and zero suppress venaor to
pnnt area
Kart "Total Pafi:l' amount ana
print
Skip to checkj a.~ "1 I to check #j
move date to pnnt area
Move and zero suppress vendor to
pnnt area
Mqve and zero suppress check # to
pnnt area
Edit check total and print

Move vendor to punch area

01 J It./- OJllf

I I

Mi1l0lT I I
MIMMIE al'IO

i

11

I I

I I

I

P

11

I I

I I

1

1 I

Sequence
Number

¥ -=a
--

I

1

I I

I I

I 1

I I

I

I I I~ VlEIN . I I

I

I I

I 1

I

I I

I i

II

I I

I I ~ SIClb

COMMENTS

4950 1515253 54155 56

I I

I I

I

P P S

II

I I

Iii

P
K

I I

z elKINi O131S" 01.31'1

I I

5

I I

I I

I I

~

I I

I I

I I

454647

e

0.0.

I I

I I

I I

To

f---.--

u

I I

z1VIE ltV! o~ I
I

r

I

80

I

I

Ski p to

tape_ channel 1
This is the address of the
ffirst instruction in Phase 3 that follows BKOl
~ranch back to Location 731.

Constant "1" to increase Check

Nl1'Inhp.1' fn1' voirlp.rl t"h~l"k~

Constant V -0-1-0 to void overflow checks

I

NOTE: The following addresses of the various instructions in the patch subroutine were
determined from the storage printout after testing the main FARGO program:
Address
KOl = Starting location (2201) of patch subroutine
337 = Location of low-order position of Vendor Number for compare purposes
371 = Statement and Check Date (label SCD)
376 = Vendor Nwnber (label VEN)
388 = Check Number (label CKN)
500 = Location of first instruction in Phase 2 after control break
731 = Location of instruction in ·Phase· 3 immediately following BKOl
I

"

7

1
7

k9S 8 7:3:1
I
I
K. q 'f I II I

(2306)

S-

l«1
1

$112.81

GENERAL MANUFACTURING COMPANY

o
o

o
o

Treasurer

o

o

Figure 23-J . (2)

47

II:t..
00

'"%j

Qq'
C
'"I
CD

to

~

tIj

><

IBM

INTERNATIONAL BUSINESS MACHINES CORPORATION

FORM X24·1152
PRINTED IN U.SA

IBM 1401 SYMBOLIC PROGRAMMING SYSTEM
CODING SHEET

Program

Page No.

~
I

Date _ _ _ __

Programmed by

of _ _ __

2

Identifi cation

80

76

III

:3

~

(;)

0
.....
'"%j
>!Xl

0
0

(A) OPERAND
LINE

COUNT

LABEL

3

5 6

7 8

I 10

~

o

2

0

11:

s·:r'

o

3

0

1.Jf-

III

o

4

0

13 14
L

'i:j

Ex

A,M,?
,

::s

s·t""I

33

L,E:

Q,F,

6

0

o R~G

~

o

7

0

B

~

o

8

0

OQ

o

9

0

U':J
'i:j

I

0

0

I

I

0

I

2

0

~

III

s·
til

sn

I ,3

0

I

4

0

I

5

0

I 16

0

I

7

0

I

8

0

I

9

0

200

NOTES:

I

I

I

I
I

I

I

I

o

I
I

I

()

,

B

I

T,P A T,C ,fl
I

,

I

I

,

,

I
I

IB, :

I
I
I
I
I
I

,

I
I

I

, ,

i

I

I

I

I

I

I

,

I

I 2. Vii
E ,N~.D ,3 3 I If

I

I
I
I
I
I
I

I
I
I

,

-"

I
I

I

,

I

I

I
I

I
I

I

I

I

I

I

I

I
I

f
I

I
I

I.

I
I

I
I

)

I

I

I

I

I
I

I

I

I

I

I

,

I

I
I

I

.1

•

D P,A T,L H

IT,D

i

T. c.. H, P (J. J lv' T.!-.1...----L.-...L.'--I
.1"0 ,T,P,A,TL,H
l

I

1<..5

T ,Hi? IE ,E. l3 L

A ,N,

INS Tl

OPERATION

I

I

I
I
I

I

I
I
I
I
I
I

,

,

I

'I

.,

c. L E ,A ,R.

•

A tv

D

I

I

'I

B R. 4

I

•

I

I

,

IV C.I-I

Entry 040 -- ORG 1445 specifies the location of ~ooo (detad No-Op) in the FARGO generated program.
Entry 050 -- B DPATCH will be converted during assembly to an actual machine language instruction (in this case ,!!MOO) and loaded over ~OOO in 1445-1448.
Entry 060 -- ORG 1201 specifies the location of N888888 (total No-Op) in the FARGO generated program.
Entry (J70 -- B TPATCH will be converted during assembly to an actual machine language instruction and loaded over ~88 followed by three blanks (entry 080).
Entry 090 -- In this example, the patch area begins in location 2400 converted to MOO during assembly. The last instruction in each subroutine must branch
back to the proper point m,1449 and ~1208) in the FARGO generated program.
Entry 200 -- The END card must branch back to 3314 to the first card read instruction of FARGO.

FORM X24-6559
Printed in U.S.A.

~

~O

IBM

(i!
to

...

~

INTERNATIONAL BUSINESS MACHINES CORPORATION

~

REPORT _ _ _ _ _ _ _ _ _ _ _ _ __

IBM 1401 DATA PROCESSING SYSTE'.-\
FARGO REPORT SPECIFICATIONS

5°~

g.

Type of
Detail
Card

0

p,.
0

1-4

p,.

C = Charo

('D

Z=Zone

a;

II

::s

50

;a
('D

{I>

a-

t

Special 4 or
7 position
1401 Instruction
{actual}

Column Split

o = Move Digit
Y=Move Zone

l

0

I 1

LJ

I

0

I I

I I

1 I

I

I I

I I

I I

I

5 0 1 0

1 1

I I

I I

I 1

I I

I I

I I

I I

I I

I I

I

5

2 0

OIDI~

I I
I I
1 I
I I
I I
I I
~~o.. ~ lin cfhj f1 rOI tc
n 6~ I

I I

OltlO

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

rt

3 0

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

4 0

1

1 I

I 1

I I

I I

i 1

I 1

J

I

1I

11

I I

I

5

5 0

I
I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

6 0

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

7 0

I

I I

I I

I I

I I

1 I

1 1

I 1

I I

I I

I 1

I

5

8 0

11

1 1

1 1

1 1

1 1

1 1

I 1

I 1

I 1

I 1

I 1

1

5

9 0

~
::r'

01..

01"1'-

I!.

I I

I I-

i .1

I I

03

°lolbe

I I

I I

I t

I I

0

0101& ~

I I

I I

I I

I I

OJ

0101" C.

I I

I I

I I

I I

I I

I I

I\)

Qi:i0

1-4
{I>

01(

0101"

oL

t>IDlb e..

0-

50

n
g..
c::

§

0

0101'

to

c

I I

1 -I

I 1

1 1

I 1

I I

I I

I I

I I

I I

I I

1 I

r

I I

rIm

f11 ill clli In 16'1 :ri °18~)
(2 ill colum 6
In 1, l:ri oX80)
I I
I I
i I

I I

1
6
°18~)
In
1
'1
:ri
I
'
l
l
Pl
I
k in C(
X~Ol)
fbIlaD I I Iumn
,
INI
I I
(1 in colum
X ~O~ I
r I
I I ~
I
iD

f',

6
1
l In 1, 1:x 8~) 1
ill cil,m n 16, I :x
89) I

f2 iIl cll

Pl

aD k

I I

I I

I I

I I

fbll

fnlc(

I I

I I

1 1

1 1

I I

I 1

111
1 1

I

I I

I I

I I

I 1

I 1

I I

I I

I I

I I

I I

I j

I

5

o

' IX~O

I I

1 1

I I

I I

I 1

I I

I 1

1 1

I I

I I

II

I

5

1 0

1 I

1 I

1 I

1 I

1 I

I I I 1 I

I I

I I

1 I

I I

I I

I

5

2 0

I

I I

I I

IL

I 1

I I

I I

I

5

3 0

I I

I I

I I

I I

I I

I I

I

5

4 0

I I

I

I

0
0
0

1 1

I 1

I 1

1.1

I I

I I I I

I I I

I

I

80

I I

::s

0

r---r-

1J

I I

::s('D

ll-

Label

I 1

I I

c::
::s

Sequence
Number

1 1

I I

'"d

c

1 1

I I

n
::r'
('D
p,.

Columns

Data Card
Columns

Punch
Positions

After
Print

I I

t

tj

-~~

Print
Positions

~

I I

o J OIDI'

::;:

I

Punch
Positions

Print
Positions

0:-

L I

a

('D

I~~

A = Add; S = Subtract
@ = Multiply; % = ~ivide
? = Zero Add; ! = Zero Subtract
o = Move ~igit; Y = Move Zone
M = Move
Z = Move and Suppress Zeros

E=Edit
DETAIL CARD DATA
M=Move
Z = Move and Svppress Zeros
o = Move Digit
Y=Move Zone

1 I

I I

n
{I>

E=Edit
L = Load Edit Control Word
M = Move Constant Data
Z = Move and Suppress Zeros
O=Move ~igit
Y=Move Zone

S P
***
*"'*
1: Card C 0
B
From
To
To
FrOill
To
From
A
From
FrOill
To
To
p S K
Z P
From
To
From
From
To
To
From
V
Colso
1011
131415
1718
202122
3~ 34
6263
5 6 7 8
2425
3031
36~7 38
4344
4950
.5253
5.!i ISj 57
6566
68 6~ 70 71 727778
1 2 3
4041
5960
27128
46 47

°l~ AILIL

I\)

of

DETAil CONTROL CARDS - PHASE 3

('D

OC!
I-j

Page

DATE

~==

'<

PROGRAM iDENTiFiCATiON

Phase 3

PROGRAMMED BY

>1\)

::s 8
o't::l
g.cr

0
...,

•

I I

I I

1 I

I 1

1 I 1 I I

I I

I I

I I

L I

I I

I I

I I

I I

I I

I I

1 I

I I

I I

I I

I I

I I

I I

I 1 I

I 1

I 1

I

I I

i

I I

I I I I I I I 1 I I 1 I I I I

I

1 I I I I I I I

I

I 1 I I I I I 1

I

I 1

I

I 1 I 1 I

I
I

I

51

I

0

I

5 0

I\)

::sp,.

0

I 1

I 1

1 1

1 1

1 1

I 1

::s

~

.-..

0
0

~
~

'"d

c::
::s

go

0
0
0

~

1 1

1 I

1 1

1 1

1 1

1 1

1 I

1 I

1 1

1 1

I I

I 1

I

I 1

5

6 0

I

I\)

1 1

J I

I I

11

I I

1 1

1 I

I 1

I I

1 I

1 1

I I

I I

I

1

I I

I I

1 I

I I

1 I

I

5

7 0
8 0

I

I I

I 1

I I

I I

I I

I I

I I

I I : I I

11

1 I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I

5

I I

. I I

1 I

1 I ' I I

-1 I

I I

1 1 1 I I

I I

I I

I I

I I

I 1

I I . I 1

I I

I I

I I

I I

I

5

9 0

1 I

ill

1 I

I I

1 I

I 1

1 I

I I ; I I

1 1

I I

I I

I I

1 I

I I

1 1

I 1

1 1

1 I ; I I

1

5

o

I I

I I I

I I

I I

I I

I I

I I

I I ' I I

I I

I I

I I

I I

I I

I I

I I

I I

I I

I I I I I

I

5

11 0

i

0

Index

Automatic-Carriage-Control Operation ................................

15

No-Op Control Cards ....................................................

Coding Sheets ........................................................................
Coding the Patch Subroutines ................................................
Constants Control Cards ........................................................
Control-Break Control Cards ................................................
Converting No-Op Instructions ..............................................

8
19
11
10
19

Operating Instructions ............................................................ 16
Overflow .......................................................................... 10, 46

Detail Control Cards ............................................................
Detail No-Op Control Cards ................................................
Dividing in Phase 2 ................................................................
Dividing in Phase 3 with a fixed Divisor ............................
Dividing in Phase 3 with a Variable Divisor ........................
Division ....................................................................................

11
17
24
24
24
22

Example method of identifying types of cards when
a digit is punched in one column and an X in
another ............................................................................
Example of FARGO patching and linkage using SPS ....
Examples of Card-Type Coding ........................................
Examples of Report Printing ................................ 37, 46,

49
48
12
47

FARGO General Program Operation and 1401 CoreStorage Organization ....................................................
FARGO Report Examples ....................................................
Field-Headings Control Cards ..............................................

30
31
8

General Description ................................................................
6
Group Indication ................................................ 10, 32, 33, 37
Half-Adjustments of Products and Quotients ....................
Horizontal Method of Total Printing ....................................

26
13

Introduction ............................................................................
5
Inverted Forms ........................................................ 31, 46, 47
Loading the Patch Subroutines ............................................

19

Master-Report Control Card ................................................ 10
Multiplication ........................................................................ 20
Multiply-Divide Optional Feature ........................................ 20
Multiplying in Phase 2 ............................................................ 22
Multiplying in Phase 3 with a Fixed Multiplier .............. 21
Multiplying in Phase 2 .......................................................... 22
Multiplying in phase 3 with a Variable Multiplier .......... 21

50

17, 18

Page Numbering .................................................................... 10
Patch Subroutine Card Format ............................................ 45
Patch Subroutine for Remittance Statement and Voucher
Check ................................................................................ 44
Patching .................................................................................. 17
Phase 1 (Form No. X24-6556) ............................................ 10
Phase 1 (Form No. X24-6557) ............................................ 11
Phase 2 (Form No. X24-6558) ............................................ 13
Phase 3 (Form No. X24-6559) ............................................ 11
Phase 4 (Form No. X24-6556) ............................................
8
Problem Analysis-Division .................................................. 23
Problem Analysis-Product Adjustment .............................. 26
Problem Analysi'>-Quotient Adjustment ............................ 28
Product Adjustment ................................................................ 26
Program Halts ........................................................................ 10
Quotient Adjustment ..............................................................

28

Register of Earnings and Deductions ............................ 31,
Remittance Statement and Voucher Check ............ 31, 46,
Report Specifications .................................................. 6, 32,
Report-Heading Control Cards ..............................................
Rounding Products and Quotients ........................................
Rules-Detail Control Cards ........................................ 11,
Rules-Field-Headings Control Cards ..................................
Rules-Report-Heading Control Cards ................................
Rules-Total Control Cards ..................................................

37
47
38
8
26
13
8
8
14

Specifications for Register of Earnings and Deductions
Report ..............................................................................
Specifications for Remittance Statement and Voucher
Check ................................................................................
Split-Control Fields ................................................................

32
38
10

Total Control Cards ..............................................................
Total No-Op Control Cards ..................................................
Total Printing ..........................................................................

13
18
13

Vertical Method of Total Printing ......................................

13

READER'S COMMENT FORM
FARGO for IBM 1401

Form C24-1464-3

• Your comments, accompanied by answers to the following questions, help us produce better
publications for your use. If your answer to a question is "No" or requires qualification,
please explain in the space provided below. Comments and suggestions become the property
of IBM.
Yes
No
• Does this publication meet your needs?
D
D
• Did you find the material:
Easy to read and understand?
D
D
Organized for convenient use?
D
D
Complete?
D
D
Well illustrated?
D
D
Written for your technical level?
D
D
• What is your occupation? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
• How do you use this publication?
As an instructor in a class? D
As an introduction to the subject?
D
For advanced knowledge of the subject?
D
As a student in a class?
0
For information about operating procedures? D
As a reference manual?
D
Other
• Please give specific page and line references with your comments when appropriate.
If you wish a reply, be sure to include your name and address.

COMMENTS:

• Thank you for your cooperation. No postage necessary if mailed in the U.S.A.

C24-1464-3

fold

fold
FIRST CLASS
PERMIT NO. 387
ROCHESTER, MINN.

BUSINESS

REPLY

MAIL

NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES

POSTAGE WILL BE PAID BY •••

IBM Corporation
Systems Development Division
Development Laboratory
Rochester, Minnesota 55901

......
,J:>.

o
......

Attention: Programming Publications, Dept. 425

fold

fold

()
N

t

......
,J:>.
0\
,J:>.

I
OJ

TIrn~

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:20 00:18:27-07:00
Modify Date                     : 2009:09:01 07:32:57-07:00
Metadata Date                   : 2009:09:01 07:32:57-07:00
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:ac2ebd67-a053-4f9d-92f0-b353a6fb787f
Instance ID                     : uuid:45b50f5a-bc6e-4f09-919b-3ba3b1ef1137
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 53
EXIF Metadata provided by EXIF.tools

Navigation menu