C26 3717 1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968 1 1130 Disk Monitor System Version 2 Programming And Operators Guide 1968

C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968 C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968

User Manual: C26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968

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

DownloadC26-3717-1_1130_Disk_Monitor_System_Version_2_Programming_and_Operators_Guide_1968 C26-3717-1 1130 Disk Monitor System Version 2 Programming And Operators Guide 1968
Open PDF In BrowserView PDF
File Number 1130-36
Form C26-3717-1

Systems Reference Library

IBM 1130 Disk Monitor System, Version 2,
Programming and Operator's Guide
Program Numbers 1130-0S-005
1130-0S-006
This manual contains the oper,ating and maintenance procedures
for the mM 1130 Disk Monitor System, Version 2. An introductory
section acquaints the user with the IBM 1130 System. A section
on programming tips and techniques assists the user in utilizing
the Monitor system.
Monitor system control records are described in detail. An
appendix contains all error messages generated by the system.

PREFACE

This publication provides the IBM 1130 System user
with the information required to operate and maintain
the IBM 1130 Disk Monitor programming system. It
is recommended that the user familiarize himself
with the terms contained in the Glossary at the back
of this manual. It is important that these terms be
understood in the context of the Monitor system.
All hexadecimal addresses in this manual are
shown in the form /XXXX.
Symbolic addresses rather than absolute addresses
are used throughout this manual. A table of equiva1ences is provided in Appendix H, Resident Monitor.

$XXXX

All symbolic labels whose first character is a dollar sign are found in the
Resident Communications Area
(COMMA)

=#XXXX

All symbolic labels whose first character is a poun<;i sign are found in the
Disk Communications Area (DCOM).

@XXXX

All symbolic labels whose first character is a commercial at sign are considered to have absolute values, i. e; ,
@HDNG refers to the page heading
sector (sector 7) and thus has a value
of 7.

MINIMUM SYSTEM CONFIGURATION
The minimum system configuration required to operate the 1130 Disk Monitor system is as follows:
•

IBM 1131 Central Processing Unit, Model 2, with
4096 words of core storage,and one of the following
input/output devices

•

IBM 1442 Card Read Punch, Model 6 or 7

•

IBM 2501 Card Reader, in combination with an
IBM 1442 Card Punch, Model 5, or an IBM 1442
Card Read Punch, Model 6 or 7

•

IBM 1134 Paper Tape Reader in combination with
an IBM 1055 Paper Tape Punch.

PUBLICATIONS
The following publications will assist the user in
utiliz ing the Monitor system.
IBM 1130 Functional Characteristics (Form
A26-5881)
IBM 1130 Computing System Input/Output Units
(Form A26-5890)
IBM 1130 Assembler Language (Form C26-5927)

NOTE: The =# and @ characters are not included in
the 1403 Printer or 1132 Printer character set; therefore, an equal sign (=) replaces the =# and an
apostrophe (') replaces the @ in the printer listings.

Second Edition
This publication, C26-3717-1, is a major revision of C26-3717-0,
which is now obsolete. The manual has been updated to correspond
with modification 1 of the IBM 1130 Disk Monitor System, Version 2.
A large number of changes and additions have been made to text and
tabular material throughout the manual.
Specifications contained herein are subject to change from time to
time. Any such change will be reported in subsequent revisions or
Technical Newsletter.
Requests for copies of IBM publications should be made to your IBM
representative or to the IBM branch office serving your locality.
A form is provided at the back of this publication for reader's
comments. If the form has been removed, comments may be
addressed to IBM Nordic Laboratory, Technical Communications,
Box 962, Lidingo 9, Sweden.

©

International Business Machines Corporation, 1967, 1968

IBM 1130/1800 Basic FORTRAN IV Language
(Form C26-3715)
IBM 1130 Subroutine Library (Form C26-5929)

CONTENTS

INTRODUCTION •••••••••••••••••••••••••••••••••

MONITOR SYSTEM LIBRARY. • • • • • • • • • • • • • • • • • • • • • • ••
Adding and Removing Subroutines. • • • • • • • • • • • • • • • • • • •
System Library Subroutines. • • • • • • • • • • • • • • • • • • • • • • • • ••
Pre-operative Errors. • • • • • • • • • • • • • • • • • • • • • • • • • • ••
1442 Ca.rd Subroutine Errors •••••••••••••••••••••••
2501 Card Subroutine Errors •••••••••••••••••••••••
Console Printer Subroutine Errors ••••••••••••••••••••
Keyboard Subroutine Functions •••••••••••••• '. • • • • • ••
Paper Tape Subroutines ••••••••••••••••••••••••••
System Library Mainline Programs· • • • • • • • • • • • • • • • • • • • ••
Disk Maintenance Programs • • • • • • • • • • • • • • • • • • • • • • • •
System Maintenance Program (MODIF)' • • • • • • • • • • • • • • ••
Paper Tape Utility (PTUTL) • • • • • • • • • • • • • • • • • • • • • • ••
System Library Utility Subroutines •••••••••••••••••••••

57
57
57
57
58
59
60
60
60
61
61
64
67
70

SYSTEM GENERATION AND SYSTEM RELOAD •• • • • • • • • • • ••
Card System Pre-Load •••••••••••••••••••••••••••••
Initial Load (Card System). • • • • • • • • • • • • • • • • • • • • • • • • • •
System Reload (Card System). • • • • • • • • • • • • • • • • • • • • • • ••
Initial Load (Paper Tape System) ••••••••••••••••••••••
System Reload (Paper Tape System) • • • • • • • • • • • • • • • • • • ••

73
73
74
77
79
81

COlD START (CARD AND PAPER TAPE SYSTEM) • • • • • • • • • ••

83

STAND-ALONE UTILITY PROGRAMS •• • • • • • • • •
Console Printer Core Dump •••• • • • • • • • • • • •
Printer Core Dump. • • • • • • • • • • • • • • • • • • • •
Disk Cartridge Initialization Program (DCIP) • • • •
Paper Tape Reproducing Program • • • • • • • • • • •
Stand-Alone Paper Tape Utility Program (PTUTL)

• • • • • • • ••
• • • • • • • ••
• • • • • • • ••
••••• ••"
• • • • • • • ••
•••••••••

85
85
85
85
89
89

APPENDIX A. MONITOR SYSTEM ERROR AND OPERA nONAL
MESSAGES. • • • • • • • • • • • • • • • • • • • • • • • • ••

91

1130 SYSTEM FAMILIARIZATION. • • • • • • • • • • • • • • • • • • • ••
Readying the IBM 1130 Computing System • • • • • • • • • • • • ••
Using the 1130 with the Monitor System •••••••••••••••

3
3
8

DISK ORGANIZATION • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
System Cartridge. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
IBM System Area. • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
User Area •••••••••••••••••••••••••••••••••••
Working Storage Area. • • • • • • • • • • • • • • • • • • • • • • • • • ••
Fixed Area. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Non-System Cartridge •••••••••••••••••••••••••••••

11
12
12
14
15
15
15

MONITOR PROGRAMS ••••••••••••••••••••••••••••
Supervisor •• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Resident Monitor. • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Disk-Resident Supervisor Programs •••••••••••••••••••
Monitor Control Records • • • • • • • • • • • • • • • • • • • • • • • • ••

17
17
17
18
18

Supervisor Control Records ••••••••••••••••••••••••
Supervisor Core Dump Program. • • • • • • • • • • • • • • • • • • • ••
Disk Utility Program (DUP) •• • • • • • • • • • • • • • • • • • • • • • • ••
General Flow •••••••••••••••••••••••••••••••••
Information Transfer and Fonnat Conversion •••••••••••••
Altering LET/FLET •••••••••••••••••••••••••••••
DUP Control Records • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Assembler • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Card Operation • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Keyboard/Paper Tape Operation • • • • • • • • • • • • • • • • • • • ••
Origins of Mainlines. • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Assembler Control Records ••••••••••••••••••••••••
FORTRAN Compiler ••••••••••••••••••••••••••••••
lIb Records Read During the Execution of a FORTRAN
Program •••••••••••••••••••••••••••••••••••
FORTRAN Control Records ••••••••••••••••••••••••
Core Load Builder • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Core Load Construction ••••••••••••••••••••••••••
Transfer Vector ••••••••••••••••••••••••••••••••
System Overlays • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
LOCAL/SOCAL Flipper •••••••••••••••••••••••••••
Core Image Loader •••••••••••••••••••••••••••••••
Fetching the Supervisor ••••••••••••••••••••••••••
F etching a Lillk •••••••••••••••••••••••••••••••

22
24
26
26
26
26
26
35
35
36
36
36
40

PROGRAMMING TIPS AND TECHNIQUES ••••••••••••••••
Using the Disk I/O Subroutines •••••••••••••••••••••
The Use of SOCALs • • • • • • • • • • • • • • • • • • • • • • • • • • • ••
Tips on Monitor Control. • • • • • • • • • • • • • • • • • • • • • • • • ••
Maximum Performance of High Speed Devices. • • • • • • • • • ••
Tips for Assembler Language Users ••••••• • • • • • • • • • • ••
Writing ISS and ILS •••• • • • • • • • • • • • • • • • • • • • • • • • ••
Reading a Core Map and a File Map • • • • • • • • • • • • • • • • ••
Locating FORTRAN Allocation Addresses • • • • • • • • • • • • • ••
Initializing $$$$$ Data Files for Use With FORTRAN
Unformatted I/O ••••••••••••••••••••••••••••
Use of Defined Files ••••••••••••••••••••••••••••
Duplicate Program and Data File Names •••••••••••••••
Mainline Programs that Use All of Core ••••••••••••••••

49
49
49
49
50
51
51
53
54

APPENDIX G. LET/FLET. • • • • • • • • • • • • • • • • • • • • • • • • • •• 123

54
54
55
55

APPENDIX K. BASIC DIFFERENCES BETWEEN 1130 DISK
MONITOR SYSTEM, VERSION 1 AND 2 • • • • • • •• 151

40
40
44
44
46
46
46
47
47
47

APPENDIX B.

CHARACTER CODE CHART. • • • • • • • • • • • • •• 105

APPENDIX C. FORMATS........................... 109
APPENDIX D. DISK STORAGE UNIT CONVERSION FACTORS ••• 115
APPENDIX E.

DECIMAL AND HEXADECIMAL DISK ADDRESSES • 117

APPENDIX F. MONITOR SYSTEM LIBRARY USTING • • • • • • • •• 119

APPENDIX H. RESIDENT MONITOR (INCLUDING TABLE OF
EQUIVALENCES) • • • • • • • • • • • • • • • • • • • • • •• 127
APPENDIX I.

APPENDIX

SYSTEM LOCATION EQUIVALENCE TABLE
(SLET) •••••••••••••••••••••••••••••• 143

J. MONITOR SYSTEM SAMPLE PROGRAMS ••••••• 145

GLOSSARY ••••••••••••••••••••••••••••••••••••'. 153

iii

INTRODUCTION

The 1130 Disk Monitor System provides for the continuous operation of the 1130 Computing System, with minimal set-up time and operator intervention, in a stacked
job environment. The Monitor system consists of seven
distinct but interdependent elements -- Supervisor, Disk
utility Program, Assembler, FORTRAN Compiler, Core
Load Builder, Core Image Loader, and System Library.
The Supervisor performs control functions for the
Monitor system and provides the linkage between user
programs and Monitor programs.
The Disk Utility Program (DUP) is a group of IBMsupplied programs that performs operations involving
the disk such as storing, moving, deleting, and dumping
data and/or programs.
The Assembler converts source programs written in
Assembler language into machine-language object programs.

The FORTRAN Compiler translates source programs
written in 1130 Basic FORTRAN IV language into
machine-language object programs.
The Core Load Builder constructs core image programs from mainline object programs. The mainline programs and all necessary subprograms are
converted into Disk Core Image format from Disk
System format, and the resultant core load is built
for immediate execution or for storing for future
execution.
The Core Image Loader serves as both a loader
for core loads and as an interface for the Monitor
programs.
The System Library is a group of disk-resident
programs that perform I/O, data conversion,
arithmetic, disk initialization, and maintenance
functions.

Introduction

1130 SYSTEM FAMILIARIZATION

The operating procedures for l.'eadying the system I/O
units are described below. Following these procedures
are instructions to the operator on the various ways of
actually getting data in and out of the system and how
these methods are utilized by the 1130 Disk Monitor
Programming System.

READYING THE IBM 1130 COMPUTING SYSTEM
This section describes the basic operator actions required to ready the IBM 1130 Computing System for
operation. The paragraphs on readying the I/O units
should be sufficient to allow the operator to prepare
the units for selection by the system. Where necessary, illustrations have been provided to supplement
the text.
Additional information regarding 1130 system and
unit displays and operator functions can be found in
the following publications.
IBM 1130 Functional Characteristics (Form A265881)
IBM 1130 Input/Output Units (Form A26-5890)
IBM 2501 Card Reader, Models A1 and A2 - Component Description and Operating Procedures
(Form A26-5892)
IBM Disk Pack Handling and Operator Procedures
(Form A26-5756)

3.

Lift up on the left and right platen pin feed pressure
plates.
4. Set the paper release lever in the forWard position.
This lever is located on the top right rear comer
of the Console Printer. If the paper is to be pin
fed, this lever should remain in this position.
5. Feed the paper in from the rear and guide it under
the platen. Make sure that the paper lies over and
closes the forms check microswitch. This will
turn off the FORMS CHECK light on the console
operator panel.
6. Lay the paper back across the top of the Console
Printer and guide the paper so that the holes line
up with the pin feeds.
7. Close the pin feed pressure plates.
8. Looking directly down into the Console Printer,
set the left and right margins. The margin settings can be read on the scale across the front of
the unit.
9. Close the top cover.
10. Press CARRIER RETURN.
The Console Printer is now ready to be selected.
To ready the single disk storage drive, perform the
following steps.
1.

2.
3.

1131 Central Processing Unit
Most operator action will occur at the console of the
1130 system. This console, as well as three I/O
devices -- the Keyboard/Console Printer, the console
entry switches, and a single disk storage drive -- are
all located in or on the 1131 CPU.

4.

System Power On. When the 1131 POWER switch is
turned on, the following console operator panel lights
will be on: DISK UNLOCK (no cartridge in single
disk storage drive) and FORMS CHECK (if there is
no paper in the Console Printer). If any other operator panel lights are on, press the RESE T key.
To ready the Console Printer, perform the following steps:

6.

1.

2.

Open the Console Printer top cover.
Pull the paper pressure rod forward (the rod with
three rubber rollers that leans against the platen).
If the paper is to be pin fed, this rod should remain
in this position.

5.

Open the single disk storage access cover located
at the front of the 1131 (to the right of the console).
The cover swings open to the right.
Grasp the handle of the access release mechanism
and pullout and down.
Pick up the cartridge and, holding the cartridge
with the IBM name towards you and on the left,
insert the cartridge into the slot.
When the cartridge is seated, raise the access
release handle to lock the cartridge into place.
Turn the DISK switch (leftmost switch on the panel
beneath the cartridge enclosure) to the ON position.
As the disk starts to turn, the DISK UNLOCK light
on the console operator panel will go out.
Close the access cover.

When the drive comes up to speed (approximately
90 seconds), the DISK READY indicator on the console operator panel will tum on. The single disk
storage drive is now ready to be selected.
1442 Model 6 and 7 Card Read Punch Ready Procedure
Pre-conditions. POWER ON light on, CHECK light off,
CHIP BOX light off, stacker not full, and covers closed.
When the system is first powered up, it is good
practice to press the NPRO key to ensure that no cards
are in the feed path.

1130 System Familiarization

3

Readying the Card Read Punch. When all pre-conditions
are met, place the cards to be processed in the hopper,
face down, 9-edge first, and press reader START.
When the first card is positioned at the read station,
the READY light will turn on. The card. read punch
is now ready to be selected.

Position a tape without a leader (or when starting in
the middle of a tape) so that the first character position
to be read is one position to the right of the read starwheels.
Lower the lever on the read head, thus bringing the
read starwheels in contact with the tape. Wind the
leader on the take-up reel and let down the tape tension
arms.

1442 Model 5 Card Punch Ready Procedure
Pre-conditions. POWER ON light on, CHECK light
off, and ATTENTION light off.
When the system is first powered up, the HOPPER
check light is lit. Press NPRO to turn this light off.
This action ensures the card path is clear.

Read Head

Readying the Card Punch. When all pre-conditions
are met, place blank cards in the hopper, face down,
9-edge first, and press punch START. Two card. feed
cycles are taken and the first card is registered at
the punch station. When the punch READY light turns
on, the card punch is ready to be selected.

Take-up Reel

Supply Reel

Tape Tension Arms

2501 Card Reader Ready Procedure
Pre-conditions. POWER ON light on, READ CHECK
light off, FEED CHECK light off, and ATTENTION
light off.
When the system is first powered up, the FEED
CHECK light is lit. Press NPRO to turn this light
off. This action ensures that the card path is clear.
Readying the Card Reader. When all pre-conditions
are met, place the cards to be processed in the hopper, face down, 9-edge first, and press reader
START. When the first card is positioned at the
pre-read station, the READY light will turn on. The
card reader is now ready to be selected.

The paper tape reader is now ready to be selected.

1055 Paper Tape Punch Ready Procedure

Pre-conditions. System power on.

Readying the Paper Tape Punch.

1.

1134 Paper Tape Reader Ready Procedure
2.
Pre-conditions. System power on.
Readying the Paper Tape Reader. Raise the lever
located at the top right side of the read head (see
illustration below). Load the reel containing the program tape on the right hand drive and lock the reel in
place. The tape must be loaded so that the threehole side is nearest the operator. With both tension
arms in the up position, feed the tape across the
read head and position the tape on the drive sprocket.
Position a program tape so that a delete code (all
punches) beyond the program ID punched in the leader
is under the read starwheels.

4

3.

4.

5.
6.

Place a reel of tape in the supply pan so that the
tape feeds out toward the punch die (see illustration
below).
With the punch die facing forward (unit name plate at
the front), pivot the tape pressure lever (right side
of die) up and to the right.
Feed the tape from the supply pan over the first
tape guide, under the tape tension lever, and slide
the tape in under the punch die, tear guide, and
tape pressure lever.
If the punch has a take-up reel, guide the tape over
the side of the unit, over the outside of the side
guide, and back up towards the front of the unit.
The tape now makes a half turn towards the outside
and comes up and over the end guide.
The tape is then brought up and over to the left and
wound over the top of the take-up reel.

Use a rocking motion to feed the paper under the
platen (if necessary raise the paper tension control
guide located in the center of the tractor).
7. When the paper appears in front of the platen, grasp
it firmly and pull it up so that it lies evenly across
the tractor.
8. Place the holes in the paper on the left and right
tractor pins and close the tractor pressure plates.
9. Reinsert the outfold guide bar.
10. Using the knob at the right end of the carriage, feed
the paper until a crease between two sheets appears
just above the print wheels.
6.

Supply Pan

To load the carriage control tape into the printer:
1.
2.
3.

4.
Take-up Reel

Raise the carriage cover directly above the platen
clutch knob.
Raise the brush holder by pulling the lever on the
right side towards you.
Insert a carriage control tape (channel one to the
left) and close the brush holder.
Close the carriage cover.

Tear Guide

Form Stop Bar

Tractor Assembly

After the tape is loaded, a leader (all delete codes)
may be made by first pressing and holding the DELETE
key. Now press the FEED key and hold until a leader
of sufficient length has been punched. Release the
FEED key ~releasing the DELETE key. The
paper tape punch is now ready to be selected.

Paper Tension Control Guide

1132 Printer Ready Procedure
Pre-conditions. POWER ON light on and MOTOR
switch on. The FORMS CHECK light will be on if
there are no forms in the printer.
Readying the 1132 printer. To load the forms into
the printer:
1.

2.
3.

4.
5.

Raise the top cover and disengage the PLATEN
CLUTCH (set it to OUT). This knob is located
on the right side of the print carriage (see illustration below).
Turn the outside knob on the right end of the
carriage to ensure that the carriage Is free.
Remove the spring loaded outfold guide bar (the
bar across the bottom front of the forms tractor,
directly behind the print wheels).
Open the left and right tractor pressure plates.
Now feed the forms from the rear of the printer
under the form stop bar (three levers) and down
under the tractor.

Holder Release

Platen Knob
1132 Carriage Fami liarization

Press the CARRIAGE RESTORE key on the 1132
operator's panel. Engage the platen clutch (set to
IN) and close the printer top cover. Press printer
START. When the READY light comes on, the 1132
printer is ready to be selected.

1130 System Familiarization

5

1403 Printer Ready Procedure

Carriage Tape

Pre-conditions. System power on. The END OF
FORMS light will be on if there are no forms in the
printer.

Carriage Brush •
Holder Release

Readying the 1403 Printer. To load the forms into
the printer:
1.

2.

3.
4.

5.
6.

7.

Paper
Advance

Raise the printer cover and set the feed clutch
selector knob to neutral. This knob is located
on the right side of the print unit (see illustration below).
Unlock the print unit by pulling back on the release lever located on the left side of the unit.
The print unit will swing out to the right.
Open the upper and lower left and right tractor
guides.
Lift the forms up from their position below the
front of the printer and lay them back across the
arched rack at the top of the printer.
Line up the holes in the paper with the tractor
pins and close all four tractor guides.
Close the print unit and lock the print unit release level. The ribbon drive will activate when
the print unit is closed.
Using the PAPER ADVANCE knob located at the
right end of the print mit, advance the paper until
a crease between two forms is about 1/2 inch
above the print position indicator bar on the
print unit.

Print
Unit

Feed Clutch
Selector Knob

Upper and Lower Tractor Guides

Print Unit

FRON:U
Forms
In

Rollers

To load the carriage control tape in the printer:
1.

2.
3.
4.

Raise the carriage brush holder by pulling down
on the lever on the right side. The carriage
brush holder is located to the right and slightly
above the print unit (see illustration).
Insert the carriage tape (channel one to the left)
and close the brush holder.
Set the feed clutch selector knob to 6 or 8 lines
per inch, whichever is desired.
Close the printer cover.

Press CHECK RESET and printer START on the
operator panel. When the PRINT READYlight comes
on, the 1403 printer is ready. Set the ENABLE/
DISABLE switch on the 1133 to the ENABLE position
(READY light on). The 1403 Printer is now ready to
be selected.

2310 Disk Storage Ready Procedures
Press the CARRIAGE RESTORE key on the 1403
operator's panel. Continue to restore until sufficient
paper has fed over the top arch to extend down the
back of the printer. Open the rear cover of the printer
and ensure that this paper has fed down between the
forms stacker guide and the printer. If the paper has
fed properly, the rollers on the forms stacker guide
will keep a constant downward pull on the paper. Close
the back cover.

6

Pre-condition. System power on, CARTRIDGE UNLOCKED lights on the 2310 operator's panel on.
Readying the 2310 Disk Storage Drive.
1.

2.

Open the front door of the disk drive.
Grasp the handle of the access release mechanism
of the drive to be loaded (drive 1 or 3 on top, 2 or
4 on the bottom) and pull out and down.

3.

4.

Pick up the cartridge and, holding the cartridge
with the IBM name towards you and on the left,
insert the cartridge into the slot.
When the cartridge is seated, raise the access
release handle to lock the cartridge into place.
If desired, load the other drive on the 2310 disk
storage unit.

Close the front door of the disk storage unit. Turn
on the START/STOP switch for the desired drives.
The CARTRIDGE UNLOCKED lights will go out when
the drives start to turn. When the drives come up to
speed (approximately 90 seconds), the indicators
showing the drive numbers wi1llight, thus showing
that the heads are loaded and the drives are ready.
When the drives are required by the system, set
the ENABLE/DISABLE switches on the 2310 disk
storage drives and on the 1133 to the ENABLE position
(1133 READY light on). The 2310 disk storage drives
are now ready to be selected.

7.

8.
9.

Pull a short length of paper off the roll, slide the
end under the carriage rods, under the tear bar,
behind the core, and fasten it to the front side of
the core with two or three short pieces of cellophane tape. Wind one or two turns of paper onto
the core. Make certain the drum sprockets are
properly meshed with the sprocket holes on both
sides of the paper.
Reinstall the pen assembly in the carriage.
Tum the 1627 power switch to ON. The 1627
power on indicator will come on.

NOTE = The pen is down when the power is off; therefore, the pen assembly should be installed with the
carriage over an area outside the "recording area".
If the pen does not raise when power is turned on,
tum the pen switch to DOWN, then to UP.

»

Supply Roll

1627 Plotter Ready Procedure
Pre-conditions. System power on.
Readying the 1627 Plotter. Load the chart paper using
the following procedure.
1.

2.

Ensure the 1627 Power switch is OFF (1627 power
on indicator lamp out).
Remove the pen assembly, if installed, by loosening the knurled knob at the bottom of the pen holder
and lifting the assembly out of the carriage.

Tear Bar

Take-up
Roll

With the pen in the UP poSition, use the drum (x axis)
and carriage (Y axiS) controls to position the pen for the
first plot. The 1627 plotter is now ready to be selected.

Caution
Use care when handling the pen assembly. This
assembly is manufactured to close tolerances for
optimum performance.
3.
4.

5.

6.

Rotate the right rear chart spool by hand until the
drive key is pointing upward.
Hold the new roll of chart paper so that the key
slot in the core is pointing upward. Place the
roll against the spring-loaded left rear idler spool
and force the spool to the left.
Lower the paper roll into the paper well and slide
the right end onto the drive spool. Make certain
the drive key engages the key slot in the core.
The paper should feed out from under the roll
and over the drum (see illustration).
Install a paper roll core on the front spool below
the drum, in the same manner as with the paper
roll.

1231 Optical Mark Page Reader Ready Procedure
Pre-conditions. System power on, RESET light on,
and READ light off. SYSTEM STOP light on if the
CPU is stopped.
Readying the Optical Mark Page Reader. Place the
data sheets in the hopper with the side to be read facing
up and the top edge positioned to feed first. Set the
FEED MODE switch to ON-DEMAND. The settings of
the other selector switches on the operator console are
dependent on the data being read.
Press PROGRAM LOAD on the 1231 operator's
console. This action clears the delay line and conditions
the machine for program loading. The PROGRAM LOAD
light turns on. Press 1231 RESET. This causes the
hopper to raise to the ready position. The RESET light
turns off and the 1231 START light turns on. Press

1130 System

Familiar~ation

7

1231 START. The first data sheet in the hopper is fed
through the 1231, loading the delay line. The first data
sheet is now in the stacker. The PROGRAM LOAD light
turns off. Press 1231 START. The 1231 START light
turns off.
With all lights off on the 1231 operator's console
(the SYSTEM STOP light may be on), the 1231 optical
mark page reader is ready to be selected.

To display the contents of the address:

1.
2.

Set the console Mode switch to DISPLAY.
Press PROGRAM START.

USING THE IBM 1130 WITH THE MONITOR SYSTEM

The contents of the selected location is displayed in
the Storage Buffer Register. Successive pressing of the
PROGRAM START key will display consecutive core
locations.
To alter the contents of the address:

When all I/O units required for a job are on-line and
in a ready condition, the user may proceed as follows.

I.
2.

Set the new data word in the console entry switches.
Press PROGRAM START.

To return to system operation:
Loading a Program from Card or Paper Tape
On the console:
1.
2.
3.
4.

5.

Press IMM STOP (press PROGRAM STOP if the
Monitor system is running) •
Press RESET.
Check that the console Mode swit ch is set to
RUN mode.
With the reader wired for IPL in a ready state,
press PROGRAM WAD (if the system has a 2501
and a 1442-6 or -7, ensure that the 1442 is not
ready). The first record (usually a loader) is
read into core starting at location zero. Instructions on this record tell the system what operation
is to be performed next, usually the loading of
more records from the input device.
When a card reader goes not ready, press reader
START to read in the last card and pass control
to the loaded program. This action is not required
with paper tape input.

Altering or Displaying the Contents of a Selected Core
Location Using the Console Entry Switches

1.
2.

3.

8

With the system stopped, set the console Mode
switch to LOAD.
Set the console entry switches to the desired fourcharacter hexadecimal core addr:. sSG Switches 0-3
constitute the first hexadecimal character, 4-7 the
second, etc.
Press LOAD IAR (the selected address is displayed
in the IAR).

1.
2.

Set the console Mode switch to RUN.
Press PROGRAM START.

NOTE: At a Monitor system WAIT, the address of
instruction causing the WAIT is at the address displayed
in the IAR minus 1.

Reading the Console Entry Switches Under User Program Control
The setting of the console entry switches can be read by
an XIO read instruction at any time during the execution
of a user-written stored program. The device code of
the instruction is set to 00111.

Entering Programs from the Keyboard Under Monitor
System Control
A single Monitor control record or an entire program
including all required control records and data records
can be entered from the 1130 Keyboard using the Monitor System. Control is passed to the Keyboard when a
/ / TYP Monitor control record is read from the prinCipal input device.
Control is returned to the principal input device
when a / / TEND or / / JOB record is entered from
the keyboard.
Keyboard Operation
When the / / TYF Monitor control record is read, the
Console Printer performs a carrier return and the
KB SELECT light on the Keyboard operator's panel
turns on. The system is now ready to accept input
from the Keyboard.

Enter all control records in the correct format.
Use the space bar for blanks. The records are printed
on the Console Printer as they are entered. Press
EOF to end each record. An NL (new line) character
is entered, the carrier is restored to a new line, and
the keyboard is reselected. This sequence of events
continues until a / / TEND or / / JOB record is entered.
Pressing EOF then returns control to the principal
input device.
Up to 80 characters can be entered in each record.
If an error is made when entering a record from the
Keyboard, the user can elect to backspace and correct
the entry or re-enter the entire record.
Backspace. When the backspace key (-) is pressed,
the last graphic character entered is slashed and the
address of the next character to be read is decremented
by +1. If the backspace key is pressed twice consecutively, the character address is decremented by +2,
but only the last graphic character is slashed. For
example, assume that *DELET has been entered and
the backspace key is pressed three times. The next
graphic character replaces the L, but only the T is
slashed. If the characters FINE are used for replacement, the paper would show *DELEtFINE, but *DEFINE
would be stored in the buffer.
Re-entry. When the ERASE FIEID key is pressed, a
character interrupt signals the interrupt response subroutine that the previously-entered Keyboard record
is in error and is to be re-entered. The subroutine
prints two slashes on the Console Printer, restores
the carrier to a new line, and prepares to replace the
old record in the I/O area with the new record.
The new record overlays the previous record, character by character. Blanks are placed in the buffer following the NL character which terminated the new
record.

Console Functions While Under Monitor System Control
PROGRAM STOP Key. Pressing this key causes a
level 5 interrupt and an entry to the PROGRAM STOP

key trap providing there are no user-written device
subroutines associated with level 5 currently in core.
The trap consists of a WAIT and a branch. When the
PROGRAM START key is pressed, the interrupt level
is turned off and execution resumes following the point
of the level 5 interrupt.
The PROGRAM STOP key trap allows the user to
stop the entire 1130 system with the ability to continue
execution without disturbing the system status or the
contents of core storage.
If a higher interrupt level is being serviced when
the PROGRAM STOP key is pressed, the PROGRAM
STOP key interrupt is masked until the current operation is completed.
INT REQ. Pressing the Interrupt Request key causes
the current job to be aborted. Control is returned to
the Supervisor, which then searches for the next JOB
record in the input stream.

IMM STOP. Do not press IMM STOP when running under
Monitor system control. The contents of a system cartridge can be destroyed, necessitatmg a regeneration
of the system.

Manual Dump of the Monitor System
If a problem occurs during the execution of a core load

and the user desires to dump core storage, the dump
entry point in the Skeleton Supervisor can be entered
by a manually executed transfer to the dump entry
entry point plus one (location $DUMP+l). A dump of
the entire contents of core storage is given in hexadecimal and the dump program (see Supervisor Core Dump
Program) executes a CALL EXIT thereby terminating
the execution of the core load in progress.
If the dump was necessitated by the introduction of
b&tl data in a Monitor system program, the system may
loop rather than perform the dump. If this occurs when
DISKZ is in use, the user must manually clear$IOCT
and $DBSY before reinitiating the dump.

1130 System F amili arization

9

DISK ORGANIZATION

Before describing the contents of a Monitor system and
non-system cartridge, it is necessary to briefly describe the steps to initialize the cartridges for use on
the system.
•

When the Monitor system is loaded by the System
Loader onto a disk cartridge that has been initialized
by the Disk Cartridge Initialization Program (DCIP),
that cartridge becomes a system cartridge.

•

Placement of a system cartridge on any physical
drive readies the system for the user-initiated cold
start procedure. The cold start establishes the
phYSical drive on which the system cartridge has
been placed as logical drive 0, which is, by definition,
the system drive. The system cartridge on logical
drive 0 is then called the master cartridge.

•

The other cartridges on the system (also initialized
by DCIP) are called non-system cartridges. If
desired, the I BM system can then be loaded on any
of these cartridges, thus making them system
cartridges. However, once a cold start has been
performed and a master cartridge established, all
other cartridges, system or non-system, are
called satellite cartridges,

The organization of programs and areas on system
and non-system cartridges is described and illustrated
below.

The copy ID (updated by DCIP or COPY) gives the user
the ability to identify any given copy of a system or nonsystem cartridge. Each time a copy is made, word 5
(initially 1) is incremented by one, i. e., word 5 of the
copy is always one greater than the source.
The reserved area of sector @IDAD is used by the
System Loader when the IBM System is loaded on the
cartridge (see Figure 2).
Following initialization by DCIP (or DISC), an error
message and the program that causes it to print are
stored in sector @IDAD. The error message -- NONSYST. CART. ERROR -- is printed if an attempt is
made to cold start a cartridge that is not a system
cartridge. This message and the program that prints
it are overlaid by the Cold Start program when the
Monitor system is loaded on the cartridge.

r.

Cartridge 10
.-Copy Code

Error Message
and Error
Message
Program

Defective

Cf~~~er
J

Words:

Reserved

J

1 2 3 4 5 6

270

271

320

Figure 1. Contents of Sector @>IDAD after Initialization by
OCIP or DISC

Sector @IDAD of any Cartridge
This sector, illustrated in Figure 1, contains the defective cylinder table, the cartridge ID, the cartridge copy
code, a reserved area, and an Error Message program.
The defective cylinder table contains the addresses
of the first sector on any cylinders on the cartridge
that are not capable of accurately storing data. The
Monitor system can be operated from a cartridge with
up to 3 defective cylinders.
The cartridge ID is a hexadecimal number in the
range /0001 - /7FFF that Wliquely identifies the
cartridge.

r;

Cartridge 10
y-Copy Code

Defective
Cylinder
Table

I

Words:

DISKZ (this copy of OISKZ
is used only during the cold Cold Start
start procedure).
Program

I

1 2 3

Figure 2.

Reserved

4

5 6

30 31

270 271

320

Contents of Sector @>IDAD after the IBM System is
on Disk

Disk Organization

11

SYSTEM CARTRIDGE

The system cartridge is divided into three logical areas,
which are illustrated in Figure 3. These areas are the
IBM System Area, the User Area, and the Working
Storage. In addition, the user may define a Fixed Area
on disk for the purpose of storing programs and/or
data files into permanent locations so they may be
referenced by sector address.

IBM SYSTEM AREA
During system generation, the IBM system decks are
loaded on disk by the System Loader. The disk areas
occupied by the IBM-supplied Monitor programs, and
the disk areas reserved for the use of these programs,
are collectively known as the IBM System Area.
The contents of the IBM System Area are listed below.

Cylinder 0
The contents of sector @IDAD have already been
described (see Figure 2). Sector @DCOM contains
the Disk Communications Area, which is described
below (see DCOM).
Sector @RIAD contains the Resident Image. The
Resident Image is a copy of the Resident Monitor without a disk I/O subroutine, that is, it is a reflection of
COMMA and the Skeleton Supervisor (see Resident
Monitor in the section Supervisor). The Resident
Image is used to initialize the Resic1ent Monitor during
a cold start.

-------...... ---2

5

Figure 3.

12

Layout of a System Cartridge

DCOM
The Disk Communications area, located in sector
@DCOM of a system cartridge, contains the parameters that must be passed from one Monitor program
to another and that must be accessed through disk
storage (as opposed to core storage). Generally
speaking, parameters that are not required when
fetching a link stored in Disk Core Image format are
found in DCOM. A listing of DCOM is provided in
Appendix H, Resident Monitor.
DCOM is divided into two parts. The first part of
DCOM contains the parameters that are not related to
all the disk cartridges, for example, the core map
switch. The second part of DCOM contains the
cartridge-related parameters: cartridge ID, LE T
address, file protect address, etc. Each of the

System Device
Subroutines,DISKZ,
DISKI,DISKN

----6

7

Can be deleted from the system by the user
2. Present only if a Fixed Area is defined for this cartridge by the user
3. Optionally defined by the user
". fW:Jy not be deleted by the user from a system cartridge.
S. Initially contains only the System Library; user-written programs may be added
1.

The System Location Equivalence Table (SLET) resides on sectors @SLET and @SLET+1. SLET is composed of an identification number, core loading address,
word count, and sector address for every phase of every
Monitor program.
Sector 5 is reserved.
Sector @RTBL contains the Reload Table, which is
used by the System Loader during a program reload and
by the Disk Utility Program (DUP) when deleting the
Assembler or FORTRAN Compiler. The Reload Table
is established during system generation when the System Loader reads the Type 81 System Loader control
card.
Sector @HDNG is used to store the page heading that
appears at the top of each page printed by a Monitor
program.

Symbol

Sector

@IDAD

0

@DCOM

I

@RIAD
@ SLET

2
3

@ RTBL

6

@HDNG

7

parameters in the second part is in the form of a fiveword table, one word for the corresponding value for
each of the five possible cartridges. The five words
of each table, known as a quintuple, are arranged in the
order of logical drive numbers; that is, the first is for
logical drive 0, the second for logical drive 1, etc.
The parameters for the non-system cartridges are obtained from the DCOM areas of 1hosecartridges and stored
in the DCOM on the system cartridge 1hrough the use of a
merge operation. For example, the file protect address
quintuple on the master DCOM is composed of the file protect address from each of the other four logical drives,
plus its own file protect address.
The subroutine for performing the DCOM merge operation is called SYSUP and mu~t be called by the user
for the purpose of updating the DCOM parameters if
cartridges are changed during a job (see SYSUP in the
section System Utility Subroutines). A similar subroutine is an integral part of the Monitor Control Record
Analyzer and is executed during JOB processing.
During the processing of a JOB record, the DCOMs
of only those cartridges listed on the JOB record are
merged into the master DCOM. The parameter tables
for the other drives are cleared to zero.
DCOM Indicator Words
In the following paragraphs, "set" means that a value
is stored in the word in question; "reset" means that
it is cleared to zero.
Working Storage Indicator Word. DCOM contains a
Working Storage Indicator word for each cartridge on
the system. The Working Storage Indicator word for
a cartridge contains the disk block count of any DSF
program, DCI program, or Data File currently in
Working Storage on that cartridge.
The Working Storage Indicator word for a cartridge
is set (1) at the completion of a DUP operation in which
information is transferred to Working Storage and (2)
at the completion of any assembly or successful compilation, at which time the Assembler or FORTRAN
Compiler places the assembled/compiled object program in Working Storage.
The Working Storage Indicator word for a specific
cartridge is reset 1) following any STORE operation to
the User Area on that cartridge and 2) following the
building of a core load that requires LOCALs and/or
SOCALs. Because the User Area is increased at the
expense of Working Storage, it is assumed that any
STORE operation to the User Area overlays a part of
the Working Storage area with that which was stored.
Therefore, the Working Storage Indicator word is reset.
Format Indicator Word. DCOM contains a Format
Indicator word for each cartridge on the system. The

Format Indicator word for a cartridge indicates the
format of any DSF program, DCI program, or Data
File currently in Working Storage on that cartridge.
The Format Indicator word for a cartridge is set
and reset under the same conditions as the Working
Storage Indicator word for the same cartridge.
Temporary Mode Indicator Word. The Temporary
Mode Indicator word in DCOM is set by the Supervisor
when temporary mode is indicated by the user in the
JOB record (see / / JOB under Monitor Control Records).
Table 1 lists DUP operations and any restrictions that
apply when in temporary mode. The temporary mode
indicator is set/reset during JOB processing.

Monitor System Disk Areas
Following cylinder 0, the IBM System is loaded onto
disk in the order shown in Figure 3. The individual
programs are described in the section of this manual
entitled Monitor Programs; the disk areas are
described below.
System Device Subroutine Area. The System Device
Subroutine Area contains the following components.
•

The subroutines used by the Monitor programs to
operate the following print devices.
1403 Printer
1132 Printer
Console Printer

Table 1.

Restrictions on DUP Operations in Temporary Mode

DUP Operations

Restrictions

DUMP

None

DUMPDATA

None

STORE

None

STORECI

To UA only

STOREDATA

To UA and WS only

STOREDATACI

To UA only

STOREMOD

Not allowed

DUMPLET

None

DUMPFLET

None

DWADR

Not allowed

DELETE

Not allowed

DEFINE FIXED AREA

Not allowed

DEFINE VOID ASSEMBLER

Not allowed

DEFINE VOID FORTRAN

Not allowed

Disk Organization

13

•

The subroutines used by the Monitor programs to
operate the following I/O devices.
2501 Card Reader/1442 Card Punch, model 5, 6, or 7
1442 Card Read Punch, model 6 or 7
1134/1055 Paper Tape Reader/Punch
Keyboard/Console Printer

•

The I/O character code conversion, subroutines used
in conjunction with the I/O subroutine for the following devices.
2501 Card Reader/1442 Card Punch
1134/1055 Paper Tape Reader/Punch
Keyboard/ Console Printer

•

The disk I/O subroutines.
DISKZ
DISK1
DISKN

All of the subroutines in the System Device Subroutine Area, except the disk I/O subroutines, are naturally
relocatable and are intended for use only by Monitor
programs.
The disk I/O subroutines are located in this area
rather than in the System Library because they are
processed by the Core Load Builder differently than
those stored in the System Library.
DISKZ is stored twice on the disk, once in sector
@IDAD with the Cold Start program, and once in the
System Device Subroutine Area with DISK1 and DISKN·.
Cold Start initializes with the DISKZ in sector @IDAD,
in all other cases, DISKZ is fetched from the System
Device Subroutine Area.
Supervisor Control Record Area. The Supervisor
Control Record Area (SCRA) is the area in which
Supervisor control records (LOCAL, NOCAL, and
FILES) are saved. These records are read from the
input stream (following an XEQ or STORE CI control
record) and are stored in the SCRA for subsequent
processing by the Core Load Builder.
Fixed Location Equivalence Table (FLET). This table
is a directory to the contents of the Fixed Area for the
cartridge on which it appears. There is one FLET
entry for:
•

Each program stored in Disk Core Image format

•

Each Data File stored in Disk Data format

•

The padding required to permit a DCI program
or Data File to be stored on a sector boundary.

Each cartridge on the system having a Fixed Area
has a FLET. Regardless of the size of the Fixed Area
(one cylinder is the minimum requirement), the FLET
for a cartridge occupies the cylinder preceding the
fixed Area (a minimum of 2 cylinders of Fixed Area
may be initially defined. The first cylinder becomes
FLET).
The sector address of the first sector of FLET on
a given cartridge may be obtained from the LET on the
same cartridge. The last LET header contains this
sector address.
A FLET dump is illustrated in Appendix G.
Core Image Buffer (CIB). The CIB is the area on disk
in which the Core Load Builder builds any portion of a
core load that is to reside below location 4096. It is
also used by the Core Image Loader to save any COMMON defined below location 4096 during the transfer
of control from one link to the next.
Location Equivalence Table (LET). The LET on a
cartridge is a directory to the contents of the User
Area on that cartridge. There is one LET entry for:
•

Each entry point for each program stored in Disk
System format

•

Each program stored in Disk Core Image format

•

Each Data File stored in Disk Data format

•

The padding required to permit a DCI program or
Data File to be stored on a sector boundary.

Each LET entry specifies the name of an entry
point, DCI program, or Data File; its format; and
its size in disk blocks.
Each cartridge on the system has a LET. However,
a cartridge has a User Area only if there is an entry
in the LET on that cartridge other than a dummy entry
(lDUMy). On a system cartridge, LET occupies the
cylinder preceding the User Area.
COMMA contains the sector address of the first
sector of LET for each cartridge being used in a given
job.
A LET dump is illustrated in Appendix G.

USER AREA

Each FLET entry specifies the name of the DCI program or Data File, its format, and its size in disk blocks.

14

The User Area (UA) is the area in which the user can
store programs in Disk System format or Disk Core
Image format and/or Data Files in Disk Data format.
The User Area is defined on any cartridge when the
cartridge is initialized. However, its size is 0 sectors
until the first DSF program, DCI program, or Data

File is stored in the User Area on that cartridge. The
User Area occupies as many sectors as are required
to contain the DSF programs, DCI programs, and Data
Files stored on that cartridge.
When a DSF program, DCI program, or Data File is
to be added to the User Area, it is stored at the start
of Working Storage, that is, immediately following the
end of the User Area. The area occupied by the new
DSF program, DCI program, or Data File is then
incorporated into the User Area, and Working Storage
is decreased by the size of that area.
DSF programs are stored in the User Area starting
at the beginning of a disk block; DCI programs and
Data Files are stored starting at the beginning of a
sector.
The User Area is packed when a DSF program,
DCI program, or Data File is deleted from the User
Area; that is, the DSF programs, DCI programs,
and/or Data Files in the User Area are moved so as
to occupy the vacancy (the area formerly occupied by
the deleted DSF program, DCI program, or Data File).
In packing, DSF programs are moved to the first disk
block boundary in the vacancy; DCI programs and Data
Files are moved to the first sector boundary in the
vacancy. All following DSF programs, DCI programs,
and Data Files are Similarly packed.
The area gained by packing the User Area is returned to Working Storage.

WORKING STORAGE AREA
Working Storage (WS) is that area on all cartridges
that is not defined as the User/Fixed Area and, on a
system cartridge, as the IBM System Area. Working
Storage is available to Monitor and user programs
alike as temporary disk storage. It extends from the
sector boundary immediately following the User Area
to the end of the cartridge (cylinder 199).

FIXED AREA
The Fixed Area (FX) is 'the area in which the user may
store programs in Disk Core Image format and/or
Data Files in Disk Data format if it is desired that
these programs and Data Files always occupy the same
sectors. The Fixed Area is optionally defined on any .
cartridge by the use of the DUP operation, DEFINE
FIXED AREA. This operation is also used to increase
or decrease the size of the Fixed Area.
When a DCI program or Data File is stored in the
Fixed Area, it is stored starting at the beginning of a
sector. When a DCI program or Data File is deleted

from the Fixed Area, no packing of the Fixed Area
occurs. Hence, DCI programs and Data Files in this
area reside at fixed sector addresses and can be referenced as such by the user.

NON-SYSTEM CARTRIDGE

Figure 4 shows the layout of a non-system cartridge,
a cartridge that contains no Monitor programs. Such
a cartridge on multi-drive 1130 systems can be used
exclusively for the storage of data and/or programs
and is called a satellite cartridge.
Except for cylinder 0, which is described below,
the definitions of the ~ present on a non-system
cartridge are the same as those previously described
for a system cartridge.

Cylinder 0
Sector raIDAD of cylinder 0 on a non-system cartridge
contains the parameters established by DCIP or DISC
(see Sector @lDAD of any Cartridge). Note however
that the Error Message program has not been overlaid
since this is not a system cartridgeo An attempt to
cold start a non-system cartridge will cause the error
message to be printed on the Console Printer. Sector
@DCOM of cylinder 0 contains only that information
from DCOM applicable to this non-system cartridge
(see DCOM).
The location equivalence table (LET) for the cartridge (see Location Equivalence Table), occupies the
remaining six sectors of cylinder O.

! CyJ. 0

I

I
I

I

FLETl !Fixed
l

-_

--

I

~rea2! Ct~~rea I Workin~ Storage

----

--- __

Error
Message
Prog.

I I
DeOM

LET

o

1

2-7

IDand

I

- - __

I

--I

1. Present only if a Fixed Area is defined for this cartridge by the user
2. Optionally defined by the user
3. May be deleted by the user. However, a CIB must be present on at least
one of the cartridges on the system at any given time.

Figure 4.

Layout of a Non-System Cartridge

Disk Organization

15

MONITOR PROGRAMS

The Monitor programs: Supervisor, DUP, Assembler,
FOR TRAN Compiler, Core Load Builder, and Core
Image Loader reside in the IBM System Area on the
master cartridge. The following paragraphs briefly
describe these programs and the subprograms within
them that are of most interest to the user.

SUPERVISOR

The Supervisor is actually a group of programs and
areas which are responsible for the control functions
of the Monitor system. The Supervisor reads control
records included in the stacked job input, decodes
them, and calls the appropriate Monitor program to
perform the specified operation. The Supervisor
initially achieves control of the Monitor system
through the user-initiated cold start procedure
(see Cold Start).
A portion of the Supervisor is located in core
storage. This portion is called the Resident Monitor.

the link to be executed is in Disk System format, it
will be necessary to call the Core Load Builder before
transferring control to the core load itself. )
The use of the Core Image Loader as an intermediate
supervisor allows the Monitor system to achieve
efficient link-to-link transfer of control.
The Skeleton Supervisor, which is interspersed
with. COMMA, consists of the entry points and subroutines described below.
LINK Entry Point. LINK is the entry point in the
Skeleton Supervisor that accomplishes link-to-link
transfer of control.
EXIT Entry Point. EXIT is the entry point in the
Skeleton Supervisor that accomplishes link-toSupervisor transfer of control.
DUMP Entry Point. DUMP is the entry point in the
Skeleton Supervisor that prints out the contents of
core storage between specified limits. Dynamic
dumps are obtained through the DUMP entry point;
terminal dumps are obtained through the DUMP entry
point plus 1.

RESIDENT MONITOR
The resident portion of the Monitor system consists
of (1) a data area used for system parameters and for
communication between Monitor programs (COMMA),
(2) the Skeleton Supervisor, and (3) a disk I/O subroutine (either DISKZ, DISK1, or DISKN).

Core Communications Area (COMMA)
In general, COMMA consists of the parameters re-

quired by the Core Image Loader to process a CALL
LINK to a DCI program without referring to the Disk
Communications area (DCOM). This information is
interspersed with parts of the Skeleton Supervisor
(see Appendix H, Resident Monitor).

Skeleton Supervisor
On any entry to the Resident Monitor (EXIT, LINK,
or DUMP), the Skeleton Supervisor calls the Core
Image Loader, which determines where the Skeleton
Supervisor was entered and either calls the Supervisor if the entry was at EXIT or DUMP or fetches
and transfers control to the core load specified in the
CALL LINK statement if the entry was at LINK. (If

ILS02 Subroutine. The ILS02 subroutine handles the
servicing of interrupts on level 2. Only the disk devices on the system interrupt on level 2. Since the
Skeleton Supervisor requires the disk, the ILS02 subroutine is a part of the Resident Monitor.
ILS04 Subroutine. The ILS04 subroutine handles the
servicing of interrupts on level 4. One of the devices
that interrupt on level 4 is the Keyboard. Since the
user may perform a console interrupt request at any
time, the ILS04 subroutine is a part of the Resident
Monitor.
Preoperative Error Trap. The preoperative error
trap is entered by all ISS subroutines when an error
is detected before an operation has been initiated.
The trap consists of a WAIT and a branch. When the
PROGRAM START key is pressed, execution resumes
at the location following the branch to this trap. Undel!'
certain conditions, this trap is entered when no error
has occurred, e. g., FORTRAN PAUSE.
Postoperative Error Traps. One of the postoperative
error traps (there is one for each interrupt level) is
entered by all ISS subroutines when an error is detected
after an operation has been initiated. Each trap consists of a WAIT and a branch. When the PROGRAM

Monitor Programs

17

START key is pressed, control is returned to the ISS
subroutine, which may then retry the operation in error.
PROGRAM STOP Key Trap. The PROGRAM STOP key
trap is entered if a level 5 interrupt occurs and there
is no user-written device subroutine associated with
level 5 currently in core. 'The trap consists of a
WAIT and a branch. When the PROGRAM START key
is pressed, the interrupt level is turned off and execution resumes following the point of the level 5 interrupt.
This trap allows the user to stop the entire 1130
system with the ability to continue execution without
disturbing the system status or the contents of core
storage.
If a higher interrupt level is being serviced when
the PROGRAM STOP key is pressed, the PROGRAM
STOP key interrupt is masked until the current operation is completed.

any of the three disk I/O subroutines; however, only
one clisk I/O subroutine may be referenced in a given
core load. In this context "core load" includes column
19 of the XEQ record (the entry in column 19 of the
XEQ record specifies the version of the disk I/O subroutine to be used by the core load during execution).

DISK-RESIDENT SUPERVISOR PROGRAMS
The programs described below are the disk-resident
programs that constitute the Supervisor. One of these
programs is fetched and given control by the Core
Image Loader, depending upon the entry made in the
Skeleton Supervisor; the Monitor Control Record
Analyzer is called follOwing an EXIT entry, the DUMP
program following. a DUMP entry.

Monitor Control Record Analyzer
Interrupt Request Key
When the INT REQ key is pressed, all busy indicators
are turned off anc;l a switch in COMMA is set to instruct
the Supervisor to pass input records until a JOB record
is encountered. Parts of the Monitor which should not
be interrupted before completion, e. g., SYSUP, delay
the interrupt request until they have completed their
operation.

Disk I/O Subroutine
The disk I/O subroutine required by the program in
control resides in core storage following the Skeleton
Supervisor. The following table lists the disk I/O
subroutines, their approximate sizes, and the corresponding addresses of the end of the Resident Monitor
plus 1.
End of Resident Monitor +1
(CQre Location)
Subroutine
(in Core)
Decimal
Hexadecimal
480
/01EO
DISKZ
660
/0294
DISK1
930
/03A2
DISKN
DISKZ is the disk I/O subroutine used by all system
programs. DISKZ is initially loaded with the Resident
Monitor.
Prior to the execution of a core load requiring
DISK1 or DISKN, the Core Image Loader overlays
DISKZ with the required disk I/O subroutine. When
control is returned to the Supervisor, the Core Image
Loader overlays the disk I/O subroutine currently in
core (if DISK1 or DISKN) with DISKZ. User programs,
including those written in FORTRAN language, may use

18

The Monitor Control Record Analyzer (1) reads a
Monitor control record or Supervisor control record
from the input stream, (2) prints the control record
on the principal print device, and (3) fetches the required Monitor program and transfers control to it.
Supervisor control records are stored on disk in the
Supervisor Control Record Area.
Supervisor Control Record Area. The Supervisor
Control Record Area is the area on disk, within the
IBM System Area, on which the FILES, LOCAL, and
NOCAL control records are stored from the input
stream. The Core Load Builder reads these records
from this area on disk for analysis during the building
of the core image program.

MONITOR CONTROL RECORDS
Monitor control records perform the load and control
fWlCtions of the Monitor system. The individual control records are described in the paragraphs that follow.
Where shown in the control record format, the
character "b" indicates that the column must be blank.
Remarks may be punched in the card columns listed
as "not used" in the control record formats.

// JOB
The JOB control record defines the start of a new job.
It causes the Supervisor to perform the job initialization

procedure, which includes:
•

The initialization of COMMA

•

The initialization of the parameters in DCOM

•

The setting of the Temporary Mode Indicator if a T
is present in column 8 of the JOB control record
(reset if no T in column 8). If set, the temporary
mode indicator causes all nSF programs, DCI programs, or Data files stored in the User Area by DUP
during the current job to be deleted automatically
from that area at the end of the job (that is, at the
beginning of the next job). See DCOM for DUP restrictions while in the temporary mode.
• The definition of the cartridges to be used during
the current job. IDs 1 through 5 on the JOB control
record specify the cartridges to be used. These
cartridges may be mounted on the physical drives
in any order. The order of the IDs in the JOB control record specifies the logical assignments for
the cartridges. IDs 1 through 5 correspond to logical drives 0 through 4, and they must be specified
consecutively. If only three drives are to be used
IDs 1-3 only are specified. The cartridge-related
entries of COMMA and DCOM (quintuples) are filled
in according to the logical order specified by the
user. The first ID may be left blank, in which case
the master cartridge for the last JOB will also be the
master for this JOB.
• The definition of the cartridge on which the Core
Image Buffer for the current job is to be found. The
ID of the cartridge containing the CIB must follow the
field of the fifth cartridge ID. If the CIB ID is omitted, the CIB on the master cartridge is used. Core
image programs can be built faster if the CIB is
assigned to a cartridge other than the master
cartridge.
• The definition of the cartridge containing the Working Storage to be used by the Monitor programs
(System Working Storage). The ID of the cartridge
to be used for Working Storage by the Monitor Systern must follow the CIB ID. If the Working Storage
II> is omitted, all Monitor programs use the Working Storage on the master cartridge (except when
otherwise specified, see nup Control Records).
Core Image programs can be built faster if the
System Working Storage is on a cartridge other than
the master cartridge. They can be built even faster
if the CIB, the system Working Storage, and the Monitor system itself are all on separate cartridges.
Assemblies are also faster if System Working Storage is on a separate cartridge.
• The definition of the cartridge containing the unformatted 170 ($$$$$) disk buffer area to be used with
this job.
•

The starting of a new page on the principal print device. A skip to channel 1 is executed on the 1132 or
1403 Printer; or five consecutive carriage returns
are made on the Console Printer. The page count

is reset to 1, and the current page heading is replaced with whatever appears in columns 51-58 of
the JOB control-record. HDNG (assembler language)
statements and * *(FORTRAN control record)
records will cause additional information to be
printed.
The format of the JOB control record is as follows.
Card
Column
1-6

Contents

9-10
11-14

//bJOB
Reserved
Temporary mode
indicator
Reserved
First ID

15
16-19

Reserved
Second ID

20
21-24

Heserved
Third ID

25
26-29

Reserved
Fourth ID

30
31-34

Reserverl
Fifth In

33
36-39

Reserved
CIB ID

40
41-44

Reserved
Working Storage
ID

45
46-49

Reserved
Unformatted dtsk

I/o ID
50
51-58

Reserved
Date, Name, etc.

59-80

Not used

Notes

T or blank. A T ind icates that
temporary mode is desired for this job.
This is the ID of the master cartridge
(logical drive 0).
This is the ID of the cartridge on
logical drive 1.
This is the 1D of the cartridge on
logical drive 2.
This is the ID of the cartridge on
logical drive 3.
This is the In of the cartridge on
logical drive 4.
This is the ID of the cartridge containing the CIB to be used during
this Job.
This is the ID of the cartridge contnining the Working Storage to be used b'the monitor during this Job. See
*FILES, p.23, for details on Workinp;
Storage for user programs.
This is the ID of the cartridge containing the unformatted disk I/o area to
be used during this Job.
This information is printed at the top
of every page of the listing on the
prindpnl print device during this job.

II ASM
This control record causes the Supervisor to read the
Assembler into core storage and transfer control to it.
Any Assembler control records and the source statements to be assembled must follow this control record.
Comments control records (I I *) may not follow this
control record.
The format of the ASM control record is as follows.

Card
Column
1-6
7-80

Contents

Notes

//bASM
Not used

(See *FILES, p. 23 for working storage for user programs. )

Monitor Programs

19

//FOR
This control record causes the Supervisor to read the
FOR TRAN Compiler into core storage and transfer
control to it. Any FORTRAN control records and the
source statements to be compiled must follow this
control record. Comments control records (// *) may
not follow this control record.
The format of the FOR control record is as follows.

Card
Column

1-6
7-80

Contents

Notes

//bFOR
Not used

the Core Load Builder via the LINK entry point in the
Resident Monitor.
After the Core Image program has been built, or if
the name in the control record is that of a program
already stored on disk in DCI format, the Core Image
Loader is called to read the core load into core storage
and transfer control to it.
If an L is punched in column 14 of this control record, a core map is printed by the Core Load Builder
during the building of the core image program. In addition, a core map is printed for all DSF links during
the execution (see Reading a Core Map and a File Map
for an example of a core map). These core maps
include:
•

The execution address of the mainline program

•

The names and execution addresses of all subprograms in the core load

•

All file allocations, with the file number, sector
address (relative to first sector of Working Storage
for files in Working Storage, absolute otherwise),
sector count, and either cartridge ID or the address
of Working Storage. (If the file is in Working Storage, the address of Working Storage will be included; otherwise, the name of the file is printed.)

//DUP
This control record causes the Supervisor to read the
control portion of the Disk Utility Program into core
storage and transfer control to it. A DUP control
record must follow this control record. Only one
/ / DUP control record is required to process a stack
of D UP control records, provided no Monitor control
record other than the Comments control record (// * )
is encountered.
The format of the DUP Monitor control record is
as follows.

Card
Column

1-6
7-80

Contents

Notes

//bDUP
Not used

//XEQ
This control record causes the Supervisor to initialize
for core load execution. If the name specified in this
control record (columns 8 through 12) is that of a
mainline program stored in Disk System format, the
Supervisor reads the Supervisor control records
(LOCAL, NOCAL, or FILES), if any, from the input
stream and writes them in the Supervisor Control
Record Area (SCRA). The Core Load Builder is then
called to build a core image program from the mainline
program.
If no name is specified on this control record, a
mainline program in Disk System format is assumed
to be stored in the Working Storage of the cartridge
specified in columns 21-24. The Supervisor then
processes the Supervisor control records and calls

20

Columns 16 and 17 of this control record contain
the right-justified decimal count of Supervisor control
records to be read by the Supervisor before calling the
Core Load Builder.
Column 19 contains a character that identifies the
disk I/O subroutine to be used by the core load during
execution. If column 19 contains zero or one, DISK1
is fetched by the Core Image Loader along with the core
load. If Column 19 contains an N, DISKN is fetched.
If column 19 contains a blank or a Z, no disk I/O subroutine is fetched (that is, DISKZ, which is in core
storage for use by the Monitor programs, is used by
the core load). Any other character is illegal and will
cause the execution to be bypassed. All links in Disk
System format that are called during a given execution
must utilize the same disk I/O subroutine as the link
that precedes them in execution.
Comments control records (// *) may not follow
an XEQ control record.
The format of the XEQ control record is as follows.
Card
Column

1-6
7
8-12

( continued)

Contents
//bXEQ
Reserved
Name

Notes

This is the name (left-justified) of the
nSF program or DCI program to be
executed.

Card
Column
13
14

15
16-17

1&
19

21-24

25-80

II

Contents
Reserved
Core Map
Indicator
Reserved
Count

Reserved
Disk I/O
subroutine
indicator
Cartridge ID

Notes

L or blank.. An L indicates that a
core map is to be printed for this and
all following DSF links during this
execution.
This is the right justified decimal
munber of Supervisor control records
(LOCAL, NOCALt and FlLES) that
follow.
This column specifies the disk I/O
subroutine to be loaded into core by
the Core Image Loader for use by the
core load during execution.
The ID of the cartridge that contains
the mainline program in its Working
Storage (valid only if no name is
specified in columns 8-12; blanks
in this field indicate the System
Working Storage).

8-80

Card
Column

Contents

1-7

J/bTEND

8-80

Not used

Notes

I I EJECT

This control record causes the Supervisor to WAIT.
When PROGRAM START is pressed, the Supervisor
continues processing Monitor control records from
the input stream.
The format of the PAUS control record is as follows.

1-7

This control record causes the Supervisor to reassign
the card or paper tape reader as the principal input
device. The reassignment is to whichever unit was
the principal device prior to the detection of a TYP
control record.
The TEND control record must be entered from the
Keyboard. The format of the TEND control record is
as follows.

Not used

PAUS

Card
Column

II TEND

Contents

Notes

//bPAUS
Not used

This control record causes the 1403 Printer or 1132
Printer, whichever is the principal print device, to
skip to a new page and print the page header. Control
is then returned to the Supervisor, which reads the
next record in the input stream. The EJECT control
record itself is printed.
The format of the EJECT control record is as follows.

Card
Column
1-8

9-80

Contents

Notes

//bEJECT
Not used

IITYP
This control record causes the Supervisor to temporarily assign the Keyboard as the principal input device.
The Keyboard replaces the card or paper tape reader
as the principal input device until a TEND or JOB
control record is entered from the Keyboard.
The format of the TYP control record is as follows.
Card
Column
1-6
7-80

Contents

Notes

//bTYP
Not used

With the Keyboard as the principal inp~t device,
the keyboard functions are identical to those discussed
for TYPEZ and TYPEO (System Library Subroutines)
with one exception. The END-OF-MESSAGE character
causes the rest of the buffer to be filled with blanks.
Therefore, at the completion of a new message, nothing
will remain of any previously-entered message.

I I *(comments)
This control record allows the user to print alphameric
text on the listing printed on the principal print device
by the Supervisor and DUP. The Supervisor and DUP
simply print the control record and continue reading
control records from the input stream. The Comments
control record may not immediately follow an XEQ,
ASM, or FOR control record.
The format of the Comments control record is as
follows.

Card
Column
1-4
5-80

Contents

/ / ti*
User comments

Notes
Any alphameric characters may be
used.

Monitor Programs

21

II CPRNT

area. The LOCAL subprograms are specified on the
LOCAL control record as follows:

This control record causes the Supervisor to print
all Monitor and Supervisor control records that it
reads on the Console Printer. Printing by all other
Monitor programs will be on the principal print device.
Once the CPRNT control record has taken effect,
all Monitor and Supervisor control records will be
printed as described above. To return the printing
of Monitor and Supervisor control records to the principal print device, a reload function must be performed by the System Loader to redefine the principal print device.
The format of the CPRNT control record is as
follows.
Card
Column

Contents

1-8

l/bCPRNr

9-80

Not used

Notes

where
MAlNl is the name of the mainline program
already stored on disk. SUBl through SUBn are
the names of the LOCAL subprograms used with
that mainline program.
In the case illustrated below, all the LOCAL control
records except the last end with a comma (continuation
character) and the mainline program name appears on
the first LOCAL control record only.

SUPERVISOR CONTROL RECORDS
The control records described below (LOCAL, NOCAL,
and FILES) are used by the Core Load Builder to:
•

Provide for subprogram overlays during execution
(LOCAL)

•

Include subprograms not called in the core load
(NOCAL)

•

Equate disk storage files defined in the mainline
program during compilation or assembly to specific
files stored on the disk (FILES)

These control records are placed in the input stream
following an XEQ Monitor control record that names a
mainline program stored in Disk System format or
following a STORECI control record. In either case
the control records are written on disk in the Supervisor Control Record Area (SCRA), from which the
Core Load Builder reads them for processing.
Up to 99 Supervisor control records may follow
the XEQ or STORECI control record. There is no
specified order (by type) to be followed; however,
the types may not be intermixed.
*LOCAL
LOCAL (load-on-call) subprograms are subprograms
specified by the user to be read, one at a time, as they
are called during the execution, into a LOCAL overlay

22

The same results would have been obtained if the
records had been:

All the LOCAL subprograms for each mainline program in an execution must be specified on the LOCAL
control records that follow the XEQ Monitor control
record initiating the execution.
Separate LOCAL control records must be used for
each mainline program in the execution that calls
LOCAL subprograms. For example,

•

If a subprogram is specified as a LOCAL subprogram,
it is included as a LOCAL subprogram in the core

image program even if it is not otherwise called.
•

The information on all the LOCAL control records for
an execution may not exceed M+2(C+ 1), where M is the
number of mainlines and C is the number of commas.
This restriction also applies to NOCAL control records.

•

Only subprogram types 3, 4, 5, and 6 can be named
on LOCAL and NOCAL control records. Subprogram
types 3 and 5 are referenced by LIBF statements,
types 4 and 6 with CALL statements. Types 5 and 6
are ISSs; types 3 and 4 are subprograms. See
Appendix C for a description of subprogram types.

•

Conversion tables, e. g., EBPA, HOLTB, may not be
used as LOCALs.

where
MAIN2 is a link called by MAIN!.
If the mainline program is to be executed from
Working Storage, the mainline program name must
be omitted from the LOCAL control record. For
example,

*FILES
This LOCAL control record format must be used
if LOCALs are to be specified with the DUP operation STORE CI.
No embedded blanks are allowed in the LOCAL
control record.

*NOCAL
NOCAL (load-although-not-called) subprograms are
subprograms specified by the user to be included in
the core load, even though they are not called. They
are specified on NOCAL control records using the
same format that applies to LOCAL control records
except that *NOCAL is used in place of *LOCAL.

Rules for LOCAL and NOCAL Usage
The user must observe the following rules in the
usage of LOCAL and NOCAL control records:
•

A subprogram cannot be specified as a LOCAL
subprogram if it causes another subprogram, also
specified as a LOCAL subprogram in the same
mainline program, to be called. For example, if
A calls B and B calls C, and A is a LOCAL subprogram, neither B nor C can be specified as a
LOCAL subprogram for the same mainline program.

•

If a subprogram is specified as a LOCAL subprogram

and system overlays (SOCALs) are employed, the
subprogram is made a LOCAL subprogram, even if
it would otherwise have been included in one of the
SOCALs.

By means of FILES control records the file numbers
specified in FORTRAN DEFINE FILE statements or in
Assembler FILE statements are equated to the names
of Data Files stored in the User and Fixed areas.
FILES control records may also be used to define
Data Files in Working Storage other than the
master cartridge. All the User/Fixed Area files
to be used by all the core loads in an execution
must be defined in the FILES control records
following the XEQ Monitor control record initiating the execution. All the files thus defined
are available to each core load in the execution.
When Data Files are equated in a program stored in
DCI, successful execution of this program requires that
all cartridges on which these files are stored must be
in the same condition and on th8\same logical drives as
when the STORECI occurred. This is necessary since
the Core Load Builder places an absolute sector address,
including the drive code, into the file table for each
equated file.
The format of the FILES control record is as follows.

where
FILE 1 through FILEn are the file numbers specified
in the FORTRAN DEFINE FILE statements or
Assembler FILE statements.

Monitor Programs

23

NAME1 through NAMEn are the names of Data Files
already stored on disk. If the name is omitted
(2 commas are required in the control record format), the file is placed in Working Storage on the
specified cartridge.
CARl through CARn are the IDs of the cartridges
on which the respective Data Files are found. If
the cartridge ID is omitted, it is assumed that the
corresponding Data File has been defined on the
master cartridge.
Continuation of FILES control records may be indicated by a comma following the last file definition on
the control record, as follows:

SUPERVISOR CORE DUMP PROGRAM
The DUMP program provides the user with a hexadecimal printout of the contents of core storage. The calling sequences for the DUMP and PDMP statements are
contained in the Assembler language manual (Form
C26-5927). FORTRAN programs access the DUMP Program through the FORTRAN statement CALL PDUMP
(See FORTRAN language manual, Form C26-3715).

Terminal and Dynamic Dumps

The DUMP entry point ($DUMP) in the Skeleton Supervisor (and thus the DUMP program in the Supervisor) can be entered (1) by a BSI to the DUMP entry
point, (2) by a manually executed transfer to the DUMP
entry point plus 1, or (3) by a branch to location zero.
which contains an MDX to $DUMP+1.

The continuation comma may appear only immediately
after a right parenthesis.
No more than 159 files may be equated during an
execution.
No embedded blanks are allowed in the FILES
control record.

24

When the DUMP entry point is entered, a dump of
the area of core storage bounded by the limit parameters is given in hexadecimal format. Execution of
the core load in progress then resumes at the location
following the last parameter of the call to the DUMP
entry point.
When $nUMP+1 is entered, a dump of the entire
contents of core storage is given in hexadecimal
format. The DUMP program then executes a CALL
EXIT, thereby terminating the execution of the core
load in progress.
A portion of a core dump is printed below.

ACCUMULATOR 4000

EXTENSION 7803

XRl 7FAO

XR2 7803

OVERFLOW OFF

XR3 0000

CARRY OfF

AOOR

••• 0

···1

···2

•• ·3

••• 4

••• 5

••• 6

••• 7

···8

••• 9

••• A

•• ·B

···C

••• 0

••• E

••• F

0000
0010
0020
0030
0040
0050
0060
0070
0080
0090
OOAO
OOBO
OOCO
0000
OOEO
OOFO
0100
0110
0120
0130
0140
0150
0160
0170
0180
0190
OlAO
01BO
01CO
0100
OlEO
01FO
0200
0210
0220
0230
0240
0250
0260
0270
0280
0290
02AO
0280
02CO
0200
02EO
02fO
0300
0310
0320
0330
0340
0350

703F
0000
4000
0000
7400
0032
OOEE
COOO
0000
0080
oooe
0000
4CCO
6109
0200
OOEf
6AEO
6600
0198
5002
0400
0028
OCOE
4828
023A
1002
4810
4808
C247
0000
4480
7F33
0395
4480
4400
70BO
4480
4C3F
6A50
4(,18
703C
0254
6A01
70B3
0004
0398
0336
0845
0835
4C20
039B
40C5
4040
7BC3

FFFB
5540
C002
0000
0032
70FD
70fO
0000
0000
COOO
CCOO
COOo
0083
0810
CfOO
FF6A
COFO
00F2
7000
5004
0141
703A

0000
fFFF
4400
COOl
70fO
C8BO
4102
COOO
30CO
3000
0000
0000
0001
1149
0000
004B
00F4
0819
0001
FECO
0000
C009
001B
C101
0239
70BB
F251
8A40
4213
0000
0006
045A
02A9
4480
6600
OA01
C928
037B
6A13
4480
039B
630A
032F
02A9
0209
1F70
1810
0845
0835
OOIC
03A7
4006
03C5
C140

0000
COOO
00f2
0000
0806
6580
0000
0000
4C80
4CCO
OCCC
0051
9400
4580
0300
7400
7053
00C9
0140
0001
FFFF
1800
800A
80e2
EA50
100B
8230
DA3C
CA32
COO a
6180
6FOO
(,302
70B5
035A
C303
OA13
403C
1810
70BB
70DE
400B
0700
C700
C700
180C
0400
6600
66CO
72FO
C400
C640
£340
4C40

OFFA
0327
7400
0000
6902
0039
COOO
0000
0081
con
0658
6906
002A
7FE8
0000
OOEE
4(.00
4850
OFFA
0080

0140
0008
COEE
oeoo
C480
C101
OCOO
0000
0000
0106
0658
6A07
0818
2eoo
CODA
70FD
OIBE
70EE
0140
C600
COOO
1803
8006
016F
0237
70BC
4213
1810
('23C
0000
18AO
C120
4C20
70B5
4079
70BO
708B
7085
C390
6600
613C
02A4
73FF
1004
1004
E('80
4COO
630A
630A
C019
4C18
0407
C9C4
03C5

0080
COOl
70fO
COOO
003f
1800
0000
fFFF
3000
CCOO
0658
2807
280E
6500
COOO
7002
6908
(,800
0004
0008
1810
7040
8008
7201
EA42
C101
CA38
824F
4808
COOO
OFOO
4(,20
020C
4480
4480
C928
7925
6215
4400
7192
C008
llFF
70FA
1804
1804
02BE
01Ft
40A8
70fF
4C20
02E7
C603
0540
E340

0000
7fAO
70F4
OOOC
0001
(,100
0000
0000
4C80
0000
0000
080A
690F
7fAO
0000
OOBA
08lE
0900
90;00
5000
00A6
7401
8007
70F5
8247
9400
OA34
0100
70E9
0000
0142
0307
CCOO
70B5
70B8
0206
4480
6EOO
03A7
C202
0500
70fA
4C80
4C18
9480
4COO
4480
4480
6827
031B
4480
C5E3
4040
4040

7AEO
0900
783F
7014
C8f3
088B
0000
0802
0085
0000
0000
4400
6A10
6600
0000
7015
6500
74fF
0004
OFF8
74FF
0032
0006
6600
0240
009A
4213
CA36
7500
0000
633C
ClIO
0342
4480
7925
1800
7085
039f
1000
8400
7925
C003
029F
0209
02BE
01FF
70B5
70BB
4400
C112
708B
4040
58C6
18C6

7C56
703f
30CC
OCCO
4400
6500
0000
OC01
CCOO
OCOO
OCOO
OCF7
0816
7803
oeco
690f
7FAO
OOEE
<15CO
01CC
0032
6500
62fO
00f2
EA48
4818
C231
OA34
0140
0000
6FCC
4C28
OCOO
70B5
405A
0207
4480
C400
C('OO
039C
llFF
OOOA
0203
C700
0400
C193
4480
1925
044C
9202
7925
4040
07C1
03C5

00B3
4000
4C80
1810
00F2
010C
COOO
0000
3000
0140
CCOO
6500
1002
C803
cooo
6A10
6600
703E
0122
0101
1000
C004
6980
C230
023B
7014
0480
CI01
C900
COAD
7925
0283
70A4
4480
6600
C305
70B5
039B
0390
0400
70FC
4480
6180
7F6B
0386
4C10
70BS
C845
6700
0112
1203
03e5
(440
E340

0000
7803
0028
7012
COfO
COfE
0000
COOO
4C80
0000
0000
7FAO
4(,10
4CCO
0000
1008
7803
C812
9600
0001
70BC
C900
CI01
E249
CA3C
1893
0198
EA50
OA32
3333
6300
C700
7004
70B5
7925
4480
4480
0400
0916
039C
6500
70BB
7FF(.
4COO
(,600
02E7
4098
DCOO
7925
1810
C202
E361
4040
£2(,3

00C4
00F2
003f
0001
7001
1890
COOO
0000
0089
0000
0000
6600
0000
00C4
0000
003C
4C80
C014
9400
000 A
COE3
08C7
EOCB
0250
OA3A
180F
9101
0101
CA3C
016E
C193
7F70
CCOO
(,400
6780
10BO
70B5
039(,
4480
7203
7FAO
7925
CCOO
OlFf
OOFS
7301
CllO
70A4
6680
0400
4C20
C603
78C6
E309

0091
7400
0150
0004
COFO
4400
0000
0000
0000
0000
0000
7803
4480
4001
oeoo
1800
00F7
4293
9781
009F
70(.F
0800
0101
C400
02EB
1002
4C20
4213
0900
0100
4C28
4C18
033£
0386
7FFC
C928
4036
6680
7087
14FF
4C80
4C80
0394
e400
8400
6FOO
4C28
4480
7FB4
0390
02E7
C5E3
07C1
4005

8000
OOEE
OCCO
FFfF
00C7
00F2
COOO
0000
3000
0000
occd
2000
002C
4000
0011
0058
6500
1810
OEBA
FFfB
COE8
1810
9400
009F
4828
EA3A
0116
C240
708f
03CO
OlFl
02E7
OCOO
4418
C302
OAOO
6600
7FFC
C4CO
039F
0284
0290
OBOO
7188
039B
0336
02FF
70RO
1201
C1l2
70f2
C603
C440
0648

0000
70FO
0000
0000
7400
7400
CCOO
0000
4C80
9000
0000
C802
FFfE
7803
0000
6211
0004
0480
0141
9680
4400
1084
00A4
EA4E
70BC
1800
CA3C
0235
0000
ODIC
6780
0400
10A4
03E7
4480
C306
0371
1206
0390
1001
4040
02F7
4480
6700
0400
74fC
C84A
C83E
C202
0400
0000
C5E3
4040
4040

-

800~

7006
EA43
482ij
7002
7094
4820
0000
7089
6FOO
4400
10B8
044(.
C928
70BO
6600
7201
02BO
0400
6105
C700
4C80
4(,18
(.700
7005
C84A
C831:
0315
4400
05(;4
4040
C9C2

oeoo

CI01
0033
1401
9247
4828
CA34
4830
0900
0000
7FFC
02CO
1804
4480
6317
4480
4480
4480
0400
7925
02E('
140C
7925
7F68
7F6B
100C
0386
032F
032F
70FA
0390
C4E4
7B('3
7BE4

....,

7E80
7ECO
lEOO
7EEO
7EfO
7FOO
7flO
7F20
7F30
7F40
7f50
7F60
7F70
7F80
7F90
7FAO
7F80
7FCO
7FOO
7fEO
7FFO

~

4480
7926
4480
80AC
70FO
0116
0000
0000
0000
0000
0000
0000
0150
0000
05A3
05F8
0000
0000
0000
7C64
0000

70B3
6500
70BA
1800
can
8300
0000
0000
0000
COOO
COOO
0110
0000
eooo
COOB
0030
0000
0000
0000
0000
0000

7U4
7FAO
0200
1010
0116
0117
0000
0000
0000
0000
COOO
1110
0000
COOO
0568
0230
0000
COOO
0000
0000
OOAO

08C8
C8B8
C084
A8AA
8300
4480
eooo
COOO
0000
1052
2222
0000
0000
0000
0010
0035
0000
0000
0000
0000
00F2

280F
2001
OOAD
8115
0111
10B7
0000
C406
0000
0000
3333
0000
0000
0000
03CO
C230
0000
0000
0000
COOO
7803

690C
4C80
6BAO
90A9
4480
C12E
0000
3040
0000
0000
OOOF
0000
0020
COOO
0015
0037
CCOO
0000
0000
0000
10BB

6A09
1EBC
C301
4C08
70B7
4C98
0000
0020
0000
0000
OABB

6B06
435E
EOB3
7EEB
C12E
7EOO
0000
0000
COOO
0000

FFFE

0000
0000
0000
C018
0039
70BB
0000
0000
0000
7803

ecoo
0000
0461
C248
7803
0000
0000
0000
0802

3333

6500
4480
0115
4480
4C98
1010
0000
0200
0000
1052
0000
0000
0000
0000
03CO
0000
0000
0000
0000
0080
1l0E

7FAO
7DBA
4820
1084
7ECf
012E
0000
0000
COOl
OCOO
0000
oeoo
0000
0000
001(.
0000
0000
oeco
oeoo
0080
7091

4C80
0100
C300
0050
1010
4FOO
0000
0000
0001
0000
0000
COOO
OOOC
0000
05A3
0000
OCOO
cooo
0004
0080
7A06

7EB2
COFB
4(.30
C896
012E
0002
0000
0000
010A
0000
0000
0118
0009
0000
OOlF
0000
0000
0000
056B
0080
0640

7E4f
0002
7EEO
4400
4FOO
0000
0000
oeoo
7800
0000
0140
0000
0000
0000
05A3
0000
0000
0000
0461
0080
7182

6700
COB9
4480
00F2
0002
0000
0000
FFF6
OCOO
0106
0000
0000
0000
0000
0024
0000
0000
0000
70FO
1C56
7925

0000
1005
7084
7400
70FO
0000
0070
oeoo
0000
oeoo
0000
0000
0000
OCOO
0500
0000
OCOO
0000
003F
7A£A
7985

6600
435E
005C
OOEE
C080
0000
0001
0000
0000
0000
0000
0000
0000
0000
0029
0000
0000
0000
0000
7AEA
7963

Monitor Programs

25

DISK UTILITY PROGRAM (DUP)

IN FORMA TION TRANSFER AND FORMAT
CONVERSION

The Disk Utility Program (DUP) provides the user
with the ability to perform the following operations
through the use of control records.

Table 2 summarizes the DUP operations that transfer
information from one area or medium to another area or
medium. In addition, the format conversions made during the transfers of information are shown. The acronyms
for the various formats are described below. The formats
are described in Appendix C.

•

Store Disk System Format (DSF) programs, Disk
Core Image (DCI) programs, and Data Files on
the disk

•

Make the DSF programs, DCI programs, and
Data Files on the disk available in printed,
pWlChed card, or punched paper tape output

Format

Acronym

•

Remove DSF programs, DCI programs, and Data
Files from the disk

DSF
DDF
DCI

CDS
CDD
CDC
PTS

• Determine the status of disk storage through a
printed copy of LET/FLET

PTD

•

Modify the system

PTC
PRD

•

Perform other disk maintenance functions

Disk System Format
Disk Data Format
Disk Core Image Format
Card System Format
Card Data Format
Card Core Image Format
Paper Tape System Format
Paper Tape Data Format
Paper Tape Core Image Format
Printer Data Format

ALTERING LET/FLET
DUP control records are described in the section of
this manual entitled DUP Control Records. DUP
error messages are listed in Appendix A.

GENERAL FLOW
DUP is called into operation when the Supervisor
recognizes a DUP Monitor control record (// DUP).
The control portion of D UP is brought into core to
read the next record from the input stream, which
should be a DUP control record (* ••• ). The DUP
control record is printed and analyzed. LET is
searched for the program specified, and switches
and indicators are set in accordance with the information obtained from the control record. The DUP
program required to perform the requested operation
is then read into core from the disk and given control.
The DUP program performs its assigned tasks,
directed by the switches and indicators that were set
according to the information on the DUP control record. Upon completion of its tasks, the DUP program
prints a message and returns control to the control
portion of DUP. The control portion indicates the
completion of the DUP operation with a printed message and reads the next record from the input stream.
If the record read is a Monitor control record other
than comments, control is returned to the Supervisor
to process the record. If the record read is a DUP
control record, DUP maintains control and reads the
next record. Comments Monitor control records are
Simply printed; blank records are passed.

26

The two tables LET and FLET constitute a directory
to the contents of the User and Fixed areas on disk.
The allocation of disk storage and, correspondingly,
the contents of LET /FLET can be altered by the user
only through the use of DUP.
Before storing any DSF program, DCI program,
or Data File, DUP searches LET/FLET to ensure that
the name of the DSF program, DCI program, or Data
File does not already appear in LET/FLET on the
cartridge specified on the DUP control record. (If
no cartridge is specified, the LET /FLET of every
cartridge specified on the last JOB record is searched.)
Disk storage is allocated to the DSF program, DCI
program, or Data File and a corresponding entry is
made in LET/FLET only if the name is not found.
When dumping or deleting a DSF program, DCI
program, or Data File from the User/Fix~d Area, the
DSF program, DCI program, or Data File is located
through LET /FLET using the name specified by the
user in the DUP control record.
A LET/FLET printout and description is contained
in Appendix G.

DUP CONTROL RECORDS
DUP control records call IBM-supplied programs that
perform operations involving the disk such as storing,
moving, deleting, and dumping data and/or programs.
DUP control records generally follow the format
described below. Note that all fields in the control

Table-

2. Summary of DUP Data Transfer Operations
uTO·· AretJ Symbols, with Formats

"FROM" Area
Symbols, with

UA

Formats

DSF

DDF

FX
DCI

DDF

DSF

UA

CD

WS
DCI

DSF

DDF

DCI

DUMP

DUMPDATA

DDF

DUMP
DUMPDATA

DCI

DUMPDATA

DDF

DUMP
DUMPDATA

DCI

DUMPDATA

PT

CDS

COD

DUMP

DUMPDATA

CDC

PTS
DUMP

DUMP
DUMPDATA

DUMPDATA

DUMP

DUMP

PTD

PR
PTC

DUMPDATA

DUMP
DUMPDATA

DUMP
DUMPDATA

DUMP
DUMPDATA

DUMPDATA

DUMP

DUMP
DUMPDATA
DUMP
DUMPDATA

DUMP
DUMPDATA

DUMP
DUMPDATA

PRO

FX

DSF

WS

STORECI

STOREDATA

STORECI

DUMP

STOREMOD
STOREDATA

DUMP
DUMPDATA

DCI

STOREDATA

STOREMOD
STOREMOD
STOREDATA STOREDATACI
STOREDATACI

DUMPDATA

STORE

STOREDATA

STORECI

STOREDATA

STORECI

STORE

STOREDATA

STOREDATACI STOREDATA STOREDATACI

STOREDATA STOREDATACI

CDC

STOREDATA STOREDATACI STOREDATA STOREDATACI

STOREDATA STOREDA TACI

STOREDATA

STORECI

STOREDATA

STORECI

STORE

STOREDATA STOREDATACI STOREDATA STOREDATACI

STOREDATA STOREDATACI

PTC

STOREDATA STOREDATACI STOREDATA STOREDATACI

STOREDATA STOREDATACI

Column 1. Column 1 always contains an *(asterisk).
Operation Field. Columns 2 through 12 (21 in the
case of the DEFINE operation) contain the name of
the desired DUP operation. Columns 2 through 6
identify the basic operation (STOREDATACI); columns 7 through 12 (or 21) identify the extended operation (STOREDATACI). Where shown in the control
record format, a blank character (b) is required within or following the operation name.
FROM and TO Fields. Columns 13 and 14 contain the
"FROM" symbol, that is, the symbol specifying the
disk area or I/O device from which information is to be

DUMP
DUMPDATA

DUMPDATA

DUMP
DUMPDATA

DUMP
DUMPDATA

DUMP

DUMP
DUMPDATA

DUMPDATA

DUMP

DUMP
DUMPDATA

STOREDATA

PTD

record except the count field are always left-justified
and that unless otherwise stated, all fields are required.

DUMP

DUMP

STOREDATA

COD

STORE

DUMPDATA

DUMP

DUMPDATA

STOREMOD
STOREDATA

PTS

PT

STOREDATA

DDF

CDS

CD

STORE
STOREMOD

DUMPDATA

DUMP

obtained (the source). Columns 17 and 18 contain the
"TO" symbol, that is, the symbol specifying the disk
area or I/O device to which information is to be transferred (the destination). The symbols that must be
used as the "FROM" and "TO" symbols are shown
below.
Symbol
UA

FX
WS
CD

PT
PR

Disk Area or I/O Device
User Area, Disk
Fixed Area, Disk
Working Storage, Disk
Card I/O device. If the 1134 has
been defined as the prinCipal input
device, CD is equivalent to PT.
Paper Tape
Principal print device

Monitor Programs

27

When used, the symbols UA, FX, and WS each
specify an area on disk but do not identify the cartridge
on which the area is found.
Name Field. Columns 21 through 25 contain the name
of the DSF program, DCI program, or Data File involved in the specified DUP operation. The name may
consist of up to five alphameric characters, and
must be left-justified within the field. The first
character must be alphabetic (A-Z, $), and no embedded blank characters are allowed.
When referencing a DSF program, DCI program,
or Data File already stored on disk, the name must
be an exact duplicate of the LET/FLET entry.
Count Field. Columns 27 through 30 contain the cOlmt.
The COlUlt is always a right-justified decimal integer.
The COlUlt field is defined in the individual control record formats for those operations that require it.
FROM and TO Cartridge ID Fields. Columns 31
through 34 contain the cartridge ID of the cartridge
containing the disk area from which information is to
be obtained, that is, the "FROM" (source) cartridge
ID. Columns 37 through 40 contain the cartridge ID
of the cartridge containing the disk area to which information is to be transferred, that is, the "TO"
(destination) cartridge ID.
Either or both of these cartridge IDs may be omitted. If a cartridge ID is omitted, and the corresponding FROM or TO field is the User or Fixed Area, a
search is made of the LE T /FLE T on each cartridge
specified on the JOB record, starting with the cartridge
on logical drive zero (the master cartridge) and continuing through logical drive four. If the corresponding FROM or TO field is Working Storage, then a
default to System Working Storage is made. If a
cartridge ID is specified, the LET/FLET on the
specified cartridge only is searched, or System Working Storage is used.
Use of the "FROM" and "TO" cartridge IDs makes
it possible for DUP (1) to transfer DSF programs, DCI
programs, and Data Files from one cartridge to another
without deleting them from the source cartridge, and
(2) to operate on a nSF program,. DCI program, or
Data File even though the same name appears in the
LET/FLET on more than one cartridge.
Unused Columns. All unused columns between columns
2 and 40 must be left blank. Columns 41 through 80 are
ignored by DUP and are available for user's remarks.
DUP Operations and Control Record Formats

down of the control record for the operation, and (3) a
table of the transfers and format conversions possible
in the operation.

*DUMP
The DUMP operation moves information from the User/
Fixed Area on disk to Working Storage or makes information from the User/Fixed Area and Working Storage
available as card, paper tape, or printed output. The
print format is illustrated in Appendix C.
The movement of DSF programs from the User/
Fixed Area to the output devices is accomplished in
two phases; that is, the information is first moved to
System Working Storage and then to the output device.
Hence, information residing in Working Storage on the
cartridge defined in the JOB Monitor control record
by the Working Storage ID (see / / JOB under Monitor
Control Records) is destroyed during the DUMP operation. Data Files and DCI programs are moved directly
from the User/Fixed Area to the output devices.
The number of disk blocks to be dumped is obtained
from the LET/FLET entry, or, if the dump is from
Working Storage, from the appropriate Working Storage
Indicator in DCOM.
The format of the DUMP control record is as follows.

Card
Column
1-6
7-12
13-14

*DUMPb
Reserved
"FROM"
symbol

15-16
17-18

Reserved
"TO" symbol

19-20
21-25

Reserved
Program name

26-30
31-34

II

35-36
37-40

The following are descriptions of the various DUP
operations. Each description consists of (1) a brief
description of the processing performed, (2) a break-

28

Contents

41-80

Reserved
FROM II
cartridge
ID
Reserved

"Ta"
cartridge
ID
Not used

Notes

See chart below. If the dump is from
Working Storage and the corresponding
Working Storage Indicator is zero, an
error message is printed (see DUP
error messages, Appendix A).
See chart below. If the dump is to
cards and if a 1442-6 or 1442-7 is
utilized, each card is checked to see
that it is blank before it is punched.
If a non-blank card is read, the
System will WAIT at $PRET with /100F
displayed in the Accumulator after the
appropriate erroi message has been
printed (see DIn '.Tor Messages,
Appendix A).
The name is required except when the
dump is from Working Storage to the
printer.

The following chart is a su:m:mary of the information
transfers and format conversions performed by DUMP.

Card
Column

27-30

Possible Somces,
IDeluding Fcrmats

COId:eDIs

Comd:

Possible Destinatkms,.
IueJu.ding Fonnats

UA(nsF)

WS(DSF)

UA or WS (nsF)

cq:CDS)

Bme...-

P'l'{PTS)
PR(PRD)

35-36
37-40

BT(JI

UA or F.X (DDF)

WS(IDF)

41-80

ca1d.dgeID
Not used

UA, FX, or WS (IDF)

cq:cm)

UA or F.X (DCI)

WS(OCI)

UA, FX, or WS (OCI)

cq:CDC)

Possible Sources.
Including Fonnats

*DUMPDATA

Card
Column

Contents

1-10
11-12
13-14
15-16
17-18

:tDUMPDATAb
Reserved
n FROM" symbol
Reserved
nTO' symbol

19-20

21-25
26

(continued)

Reserved
Program name

Reserved

Notes

carlridge ID
Resened

The following chart is a su:m:mary of the information
transfers and format conversions performed by
DUMPDATA.

PI(PTC)
PR(PRD)

The DUMPDATA operation moves information from
the User/Fixed Area on disk to Working Storage or
makes information from the User/Fixed Area and
Working Storage available in ca:nl, paper tape, or
printed output. The print format is similar to that
of DUMP (see Appendix C). The DUMPDATA operation differs from the DUMP operation in that the information, after transfer, is always in data. format,
and the amount of information transferred is dependent
upon the count field of the DUMPDATA control record
rather than the actual length of the program or data.
Information is moved directly from the User/Fixed
Area or Working Storage to the output devices. The
contents of Working Storage are not changed.
The COWlt field (columns 27-30) in theDUMPDATA
control record specifies the number of sectors to be
dumped. This number of sectors is dumped regardless of the length of the DSF program, DeI program,
or Data File, as indicated in the LET/FLET entry or
in the Working Storage Indicator.
The format of the DUMPDATA control record is
.as follows.

The COIIDt (dgbt justU'led, decimal)
specifies the .'IIIDIIher of secIDIs 10 he
doJapecI.. The COIDIt ovenides. the
CODteIds of theWoddDg S1DI'age
diem. aDd the dbk. h10ck COIIDt :in
the JEr/FIEC euby.

m-

31-34

P'l1PTD)
PR(PRD)

Notes

Possible Destin~
IDcfuding Falmats

UA(DSF)

WS(DDF)

UA or WS(DSF)

CD(CDD)
PT(PTD)
PR(PRD)

UA or EX (DDF)

WS(DDF)

UA, FX, or WS(DDF)

CD(CDD)
PT(PTD)
PR(PRD)

UA(DCI) or FX(IDF)

WS(DDF)

UA, FX, or WS(DCl)

CD(CID)
PT(PTD)

PR(PRD)

*DUMPLET
The DUMPLET operation prints the contents of LET
on the principal print device. In addition, the contents
of FLET are also printed on the principal print device
if a Fixed Area has been defined by the user.
If the name of a DSF program, DCI program, or
Data File is specified in the DUMPLET control record,
only the LET/FLET entry corresponding to that name
is printed. If a cartridge ID is specified in the control
record, the LET/FLET on only that cartridge is printed.
If neither name nor cartridge ID are specified, the entire contents of both LET and FLET on each cartridge
specified on the JOB record are printed. A sample
LET/FLET dump and description appears in Appendix G.
The format of the DUMPLET control record is as
follows.

See chart below.
See chat below. If 1he dump is to
carc:ts. and if a 1442-6 or 1442-7 is
u~ each card is checked to
see that it is blank be:mre it is
punched.
The name is required eJtC.ept when
the dump is :&om WoddDg Storage to
the printer.

Card
Cohmm

Contents

1-8

:t{)Q,,{PLET

9-20

Reserved
PIogram name

21-25
26-30
31-34
35-80

Reserved
"FROM"
cartridgeID
Not used

Notes

Use of the name specifies tha the
JEr/FIET eDtry for that name only is
to be printed..

If aD. ID is specified, the IEr/RET
on that cartridge only is printed.

MoDitor Programs

29

*DUMPFLET

Card
Column

The DUMPFLET operation prints the contents of FLET
on the principal print device.
If the name of a DCI program or Data File is specified in the DUMPFLET control record, only the FLET
entry corresponding to that name is printed. If a
cartridge ID is specified in the control record, the
FLET on that cartridge only is printed. If neither
name nor cartridge ID are specified, the entire contents of the FLET on each cartridge defined on the
JOB record are printed. A sample LET /FLET dump
and description appears in Appendix G.
The format of the DUMPFLET control record is
as follows.
Card
Column
1-10
11-20
21-25

Contents

Notes

*DUMPFLETb

26-30
31-34

IIFR01v1"I

35-80

cartridgeID
Not used

13-14

*STORE
Reserved
Subtype (for type
3.4,5 and 7
subprogr ams
only)
IIFROM" symbol

15-16
17-18
19-20
21-25

Reserved
liTO" symbol
Reserved
Program name

26-30
31-34

II

35-36
37-40
41-80

Res~ed

Progr am name

1-6
7-10
11-12

Contents

See" System Overlays" under
Load Builder.

~

If the STORE operation is from Working Storage and the corresponding
Working Storage_Indicator is zero, an
error message is printed (see DUP
Error Messages, Appendix A).

See chart below.
The name is required except when
the STORE operation is to Working
Storage.

Reserved
FROM II

cartridge ID
Reserved
II TOil
cartridge ID
Not used

Use of the name specifies that the
FLET entry for that name only is to be
printed.

Reserved
If an ID is specified, the FLET on
that cartridge only is printed.

The following chart is a summary of the information
transfers and format conversions performed by STORE.
Possible Sources,
Including Formats

*STORE
The STORE operation moves information from Working Storage to the User Area or accepts information
from the input devices and moves it to Working Storage or the User Area.
All movement of information from the input devices
to the User Area is accomplished in two phases; that
is, the information is first moved to the System Work...,.
ing Storage and then to the User Area. Hence, information residing in Working Storage on the cartridge
defined in the JOB Monitor control record by the
Working Storage ID (see / / JOB under Monitor Control
Records) is destroyed during the STORE operation.
Since the User Area and Working Storage are adjacent areas, and since the User Area expands as
needed into what had been Working Storage, DUP
assumes that on any STORE operation to the User
Area, the contents of that Working Storage are destroyed. Therefore, the appropriate Working Storage
Indicator is reset to zero following the STORE operation to the User Area.
DUP makes the required LET entry (or entries) for
each program stored. A LET entry is made for each
entry point in the program. DUP supplies the disk
block count required in the LE T entry for the primary
entry point.
The format of the STORE control record is as
follows.

30

Notes

Possible Destinations,
Including Formats

WS(DSF)

UA{DSF)

CD(CDS)
PT(PTS)

UA or WS( DSF)

*STOREDATA
The STOREDA TA operation moves information from
Working Storage to the User/Fixed Area or accepts
information from the input devices and moves it to
Working Storage or the User/Fixed Area. DUP assumes that the input to the STOREDA TA operation is
in data format; the output from the STOREDATA operation is always in data format.
Information is moved directly from the input devices
to the User/Fixed Area. The contents of Working Storage are not changed except that when storing to the
User Area, the contents of Working Storage on that
drive are destroyed since the User Area and Working
storage are adjacent areas.
DUP makes the required LET/FLET entry. The name
specified on the STOREDA TA control record is the name
used to generate the LET /FLET entry and is the name
that must be used in all subsequent references to the
Data File. DUP supplies the disk block count required
in the LET/FLET entry if the source is cards or paper
tape. If the source is Working Storage, the sector COllllt
specified in the STOREDA TA control record is used.

The format of the STOREDATA control record is
as follows.
Card
Column

Contents

1-10
11-12
13-14
15-16
17-18
19-20
21-25

*STOREDATA
Reserved
"FROM" symbol
Reserved
"TO" symbol
Reserved
Program name

26
27-30

Reserved
Count

31-34

"FROM"
cartridge ID
Reserved
"TO"
cartridge ID
Not used

35-36
37-40
41-80

Notes

See chart below.
See chart below.
The name is not required when the
STORE operation is from cards or
paper tape to Working Storage.
If the source is Working Storage, the
count is the munber (decimal) of
sectors of data to be stored. This
count overrides the contents of the
Working Storage Indicator. If the
source is cards, the count is the munber (decimal) of cards to be read. If
the source is paper tape, the count is
the munber (deCimal) of paper tape
records to be re ad.

Card
Column

Possible Destinations,
Including Formats

WS(DSF, DDF, DCI)

UA or FX(DDF)

CD(CDS, CDD, CDC)

UA, FX, or WS(DDF)

PT(PTS, PTD, PTC)

UA, Fx, or WS(DDF)

*STOREDATACI
The STOREDATACI operation moves information from
Working Storage to the User/Fixed Area on disk or
accepts information from the input devices and moves
it to Working Storage or to the User/Fixed Area. If
the input is from cards or paper tape, the STOREDATACI operation assumes the input format to be
card or paper tape core image format. If the input
is from Working Storage (the information has been
previously dumped to Working Storage or stored in
Working Storage from an input device), the appropriate
Format Indicator must indicate Disk Core Image format
(DCI); otherwise, no STORE operation is performed.
The output from the STOREDA TACI operation is always
in Disk Core Image format.

Contents

21-25

*STOREDATACI
"FROM" symbol
Reserved
"TO" symbol
Reserved
Program name

26
27-30

Reserved
Count

31-34

"FROM"
cartridge ID
Reserved
"TO"
cartridge ID
Not used

1-12
13-14
15-16
17-18
19-20

The follOwing chart is a summary of the information
transfers and format conversions performed by
STOREDATA.
Possible Sources,
Including Formats

All movement of information from the input devices
to the User/Fixed Area is done directly; that is, the
transfer is not made via Working Storage. Hence, the
contents of Working Storage are not changed by the
STOREDATACI operation when storing information from
an input device to the Fixed Area. Note, however,
that when storing to the User Area, the contents
of Working Storage on that drive are destroyed.
DUP makes the required LET/FLE-T entry. The
name specified on the STOREDATACI control record is
the name used to generate the LET/FLET entry and is
the name that must be used in all subsequent references
to the core image program. DUP computes the disk
block count required in the LET/FLET entry from the
count specified in the STOREDATACI control record.
The format of the STOREDATACI control record is
as follows.

35-36
37-40
41-80

Notes
See chart below.
See chart below.
If the STORE operation is to Working
Storage, the name is not required.

The count (right justified, decimal)
is the munber of records in the core
image input. The count is not required if· the source is Working
Storage.

The following chart is a summary of the information
transfers and format conversions performed by
STOREDATACI.
Possible Sources
1Dc1uding Form ats

Possible Destinations,
Including Formats

WS(DCI)

UA or FX(DCI)

CD(CDC, CDD)

UA, FX, or WS( DCI)

PT{PTC, PTD)

UA, FX, or WS(DCI)

*STORECI
The STORECI operation obtains an object program from
Working Storage or from an input device, converts it
into a core image program using the Core Load Builder,

Monitor Programs

31

II Mo;~l;ne Isu~
~ore I~.e
Figure 5.

grams

LOCAl/
SOCAL
Flipper

LOCAL
Area

SOCAL
Area

COMMON

DUP makes the required LET/FLET entry for the
core image program as it is stored. The name specified on the STORECI control record is the name used
to generate the LET/FLET entry and is the name that
must be used in all subsequent references to the DCI
program. DUP obtains the disk block count required
in the LET/FLET entry from the Core Load Builder.
The format of the STORECI control record is as
follows.

Card
Column

Notes

Contents
*STORECI
Disk I/O subroutin<'
indicator

This column specifies the disk I/o
subroutine to be loaded into core by
the Core Image Loader for use by the
core load during execution.
Disk Subroutine

Indicator
0,1
N

blank or Z
:In others

10-12
13-1-!

Reserved
"FROM" symbol

15-16
17-18
19-20
21-25
26

Reserved
"TO" symbol
Reser,-ed
Program name
Reserved

(continued)

32

SOCALs

Layout of a Core Image Program Stored in the User/Fixed Area

The DCI program stored in the User/Fixed Area
includes the Transfer Vector built by the Core Load
Builder; however, neither the disk I/O subroutine nor
any COMMON area is included. Figure 5 shows the
layout of a DCI program as it is stored in the User/
Fixed Area. No scale is intended in this illustration.

9

LOCALs

Head.,

and stores the core image program into the User/
Fixed Area.
The Core Load Builder is fetched to build a core
image program for the STORECI operation as if execution were to follow; that is, that portion of the core
load residing above core location 4096 is placed in the
System CIB, and LOCALs and/or SOCALs are placed
in System Working Storage. The STORECI operation
stores all these portions of the core image program
into the "TO" (destination) area.

1-8

Transfer
Vector

DISK 1
DISKN
DISKZ
An error message is
printed (see DUP Error
Messages, Appendix
A.)

See chart below. If the STORE operation is from Working Storage and the
corresponding Working Storage Indicator is zero, an error message is printed
(see DUP Error Messages, Appendix A).
See chart below.

Card
Column

Contents

27-30

Count

31-34

"FROM"
cartridge ID
Reserved
"TO"
cartridge ID
Not used

33-36
37-40
41-80

Notes
The count is the number (decimal) of
FILES, NOCAL, and LOCAL control
records that follow the STORECI control record. These records are read
by DUP for use by the Core Load
Builder before the STORE operation is
performed. Note that the mainline
program name must not be used on
the LOCAL or NOCAL control records.
Data files named in FILES record
must be in Fixed Area.

The following chart is a summary of the information
transfers and format conversions performed by
STORECI.
Possible Sources,
Including Formats

Possible DestinatiollSt
Including Formats

WS(DSF)

UA or FX(DCI)

CD(CDS)

UA or FX(DCI)

PT(PTS)

UA or FX(DCI)

*STOREMOD
The STORE MOD operation moves information from
Working Storage into the User/Fixed Area. If the name
of the DSF program, DCI program, or Data File specified on the STORE MOD control record is identical to an
entry in LET/FLET (that is, a DSF program, DCI program, or Data File of the same name already resides
in the User/Fixed Area), the information in Working
Storage overlays (replaces) that DSF program, DCI
program, or Data File in the User/Fixed Area. The
format of Working Storage must match the format of
the LET/FLET entry which is to be replaced.
If the name on the STOREMOD control record does
not match an entry in LET/FLET, a simple STORE
operation is performed (see *STORE).
The STOREMOD operation permits the user to modify a DSF program, DCI program, or Data File in the
User/Fixed Area without changing its name or relative
position within the area. However, the length of the
DSF program, DCI program, or Data File in Working
Storage cannot be greater than the length of the DSF
program, DCI program, or Data File that it replaces
in the User/Fixed Area. No change is made to the
LET /FLET entry as a result of this operation.

The format of the STORE MOD control record is as
follows.
Card
Column

Contents

1-10
11-12
13-14
15-16
17-18
19-20
21-25
26-30
31-34

*STOREMODb
Reserved
"FROM" symbol
Reserved
liTO" symbol
Reserved
Program name
Reserved
"FROM"
cartridge ID
Reserved
"TO"
cartridge ID
Not used

35-36
37-40
41-80

Notes

The source is

~ Working

Contents

1-8
9-20
21-25
26-30
31-34

*DELETEb
Reserved
Program name
Reserved
"FRQ}.1"
cartridge ID

35-80

Not used

Storage.

See chart below.

Notes

The deletion is performed on the specified
cartridge only. If no cartridge ID is
specified, and the program or data file
name (21-25) is present in LET /FLET of
more than one cartridge specified for this
JOB, the deletion will be from the first
logical drive on which the name is
found.

*DEFINE

The following chart is a summary of the information
transfers and format conversions performed by
STORE MOD.
Possible Sources,
Including Formats

Card
Column

Possible DestinatloDSt
Including Formats

WS(DSF)

UA(DSF)

WS(DDF)

UA or FX(DDF)

WS(DCI)

UA or FX(DCI)

*DELETE
The DELETE operation removes a specified DSF program, DCI program, or Data File from the User/
Fixed Area. The deletion is accomplished by the
removal of the LET/FLET entry (or entries) for the
DSF program, DCI program, or Data File, including
the dummy entry for associated padding, if any.
If a DSF program, DCI program, or Data File is
deleted from the User Area, that area is packed so
that (1) the areas represented by LET entries are contiguous, and (2) Working Storage can be increased by
the amount of disk storage formerly occupied by the
OeTefeODSYprograrrf,DC1pr-o-gram,orftata File.
If a DCI program or Data File is deleted from the
Fixed Area, no packing of that area occurs. The
FLET entry for the deleted DCI program or Data File,
including the dummy entry for associated padding, if
any, is replaced by a single dummy entry (lDUMY)
representing the area formerly occupied by the deleted
DCI program or Data File and its padding. DUP store
operations may be used to place new entries in. the
Fixed Area.
The contents of Working Storage are not destroyed
by the DELETE operation.
The format of the DELETE control record is as
follows.

The DEFINE operation (1) initially establishes the size
of the Fixed Area, (2) increases or decreases the size
of the Fixed Area, (3) deletes the Assembler or
FORTRAN Compiler, or both, from the System Area.
If the Assembler and/or FORTRAN Compiler is to be
deleted, this deletion must be performed prior to defining the Fixed Area on the master cartridge (or after
completely removing a defined Fixed Area).
Definition of a Fixed Area on disk allows the user to
store DCI programs and Data Files in fixed locations,
which can subsequently be referred to by sector address.
The Fixed Area is defined in cylinder increments (one
cylinder minimum). When a FIXED AREA is defined,
one cylinder is always reserved for FLET, i. e., the
initial definition of the Fixed Area must be two cylinders.
Increases and decreases in the size of the Fixed
Area must also be made in cylinder units; however, the
Fixed Area cannot be decreased by a number greater
than the number of unused cylinders at the end of the
last program or data file in the Fixed Area. If all DCI
programs and Data Files have been deleted from the
Fixed Area (lDUMY entries) and the Fixed Area is decreased to less than two cylinders by a DEFINE FIXED
AREA control record, the remaining Fixed Area, as well
as FLET, is deleted. The Fixed Area and FLET will
Iikewfse-be-aefetea-lT-tlie-UEFINE FIXED AREA control
record specifies a decrease that exceeds the number of
cylinders of Fixed Area on the cartridge.

The control record format for definition of the Fixed
Area is described below.
Card
Column
1-8
9-18
19-26

Contents

Notes

*DEFINEb
FIXEDbAREA
Reserved

(continued)

Monitor Programs

33

Card
Column

27-30

31

Contents
Count

Sign

32-36
37-40

Reserved
Cartridge 10

41-80

Not used

Notes
In initial definition of the Fixed Area, the
count is the munber (decimal) of cylinders
to be allocated as the Fixed Area which
must INCLUDE one cylinder for FLET J thus
a minimum of two cylinders must be speci.
fied. After initial definition, the count is
the number of cylinders by which the Fixed
Area is to be increased or decreased.
If the Fixed Area is being decreased, this
column contains a minus sign; otherwise,
it is blank.

This 10 specifies the cartridge which is to
be altered.

Deletion of the Assembler and/or FORTRAN Compiler causes the specified Monitor programs to be
removed from the IBM System Area on the master
cartridge. The IBM System Area is then packed so
that following programs and areas occupy the areas
formerly occupied by the deleted Monitor programs.
SLET entries are updated to reflect the new disk storage allocation for the Monitor programs. The reload
table is used to make adjustments in the programs
which use disk storage addresses from SLET. If the
Assembler and/or FORTRAN Compiler is to be deleted,
the user must perform this deletion before defining the
Fixed Area on the master cartridge, or after completely
removing the Fixed Area. After the Assembler and/or
FORTRAN Compiler have been deleted, neither can be
restored without performing an initial load.
The control record format for deletion of the Assembler and/or FORTRAN Compiler is described below.

34

Card
Column

1-8
9-13
14-22
23-80

Contents

Notes

*DEFINEb
VOIDb
ASSEMBLER or
FORTRANbb
Not used

*DWADR
The DWADR control record causes a sector address to
be written on every sector of Working Storage on the
cartridge specified by the DWADR control record, or
if no ID is specified, on the System Working Storage.
The operation restores correct disk sector addresses
in Working Storage if they have been modified during
execution of a user's program.
The contents of Working Storage prior to the operation
are destroyed.
Following the sector address word (word 0), the first
240 words of each sector contain the sector address of
that sector, including the drive code. The remaining
80 words of each sector contain zeros.
A dummy / /DUP record is printed on the principal
printer following the printing of the *DWADR control
record and the DUP exit message.
The format of DWADR control record is as follows.
Card
Column

Contents

1-6
7-36
37-40

*J)WAOR
Reserved
Cartridge 10

41-80

Not used

Notes

This 10 specifies the cartridge on
which the Working Storage sector
addresses are to be rewritten.

ASSEMBLER

The basic language for the Assembler in the Monitor
system is described in the publication mM 1130 Assembler Language (Form C26-5927). Therefore, this section contains only a general description of the Assembler program and its operation. Assembler control
records are described in the section Assembler Control
Records; Assembler messages, error messages, and
error detection codes are listed in Appendix A.
The 1130 Monitor Assembler cannot be operated
independently of the Monitor system; however, the
Assembler can be deleted from the Monitor system if
desired (see *DEFINE under DUP Control Records).
An ASM Monitor control record is used to call the
Assembler into operation. The Assembler reads the
source program, including control records, from the
principal input device. After assembly, the object
program resides in System Working Storage. The
object program can now be (1) called for execution
with an XEQ Monitor control record, (2) stored in the
User /Fixed Area with a STORE or STORECI operation
(see DUP Control Records), or (3) punched as a binary
deck or tape with a DUMP operation (see DUP Control
Records).
If symbol table overflow ,exceeds the number of
sectors allocated for overflow by the OVERFLOW
SECTORS control record (a maximum of 32 sectors is
allowed), an Assembler error message is printed.
The approximate maximum size of the symbol table
(including overflow) and, hence, the maximum number
of symbols that can be defined in a program, is determined by the size of core storage as indicated below:
Size of Core storage (Words) 4096 8192 16384 32768
Symbol Table Size
3500 4865 7595 13055

CARD OPERATION
The source deck (including Assembler control cards)
can be assembled either as part of a job or as a separate
job. In. either case, the source deck must be preceded
by an ASM Monitor control record.
One-Pass Mode

The assembly of a program may start in one-pass
mode and then change to two-pass mode. This condition occurs when the intermediate output of pass 1
exceeds the capacity of Working Storage less the
number of overflow sectors specified. The system
WAITs at the preoperative error trap ($PRET).with
/100E (1442 input) or /400E (2501 input) displayed in
the Accumulator (see Assembler error messages,
Appendix A). If this assembly is part of a stacked
job, operator intervention is necessary to prevent the
Assembler from reading the Monitor control card following the END card of the source deck. Remove the
stacked input behind the END card and press PROGRAM
START. The assembly will continue in two-pass mode.
Two-Pass Mode
In. some cases it may be known in advance that it is

necessary to assemble in two-pass mode, that is, pass
the source deck through the 1442 Card Read Punch or
the 2501 Card Reader twice. If a copy of the source
deck, including all Assembler control records, is
placed behind the original, the source deck will be read
twice, and a stacked job is again possible even when in
two-pass mode. Two-pass mode is not allowed with
1134 or Keyboard input.
It is important to note that when a deck is being
assembled in two-pass mode, the Assembler is ready
to read another card as soon as pass 1 processing of the
END card is completed. Therefore, a Monitor control
record must not follow the END card the first time (or
the first END card if the deck has been copied), or the
Assembler will trap this record and execute a CALL
EXIT.
If the deck has not been copied, the END card should
be the last card in the hopper. Press reader START to
process the last card and complete pass 1. The Assembler will then try to read cards for pass 2; therefore,
the source deck (with its control cards) should be removed from the stacker and placed in the hopper. Press
reader START to begin pass 2 of the assembly. Operation is continuous if the source deck is taken from the
stacker during pass 1 and placed in the hopper behind
the END card. If the END card is the last card in the
hopper, press reader START to complete the assembly.
Punch Symbol Table Option

In most cases, the source deck is passed through the

If the *PUNCH SYMBOL TABLE Assembler control

1442 Card Read Punch or 2501 Card Reader only once.
If the assembly is part of a stacked job, the assembly
proceeds without operator intervention. If the END
card of the source deck is the last card in the hopper,
press reader START when the reader goes not-ready.

card is used and the principal input device is the 1442
Card Read Punch, sufficient blank cards must be
placed after the END card and before the next Monitor
control record in the stacked job input. (If a non-blank
card is read when punching on the 1442-6, 7 the

Monitor Programs

35

Assembler will WAIT at the preoperative error trap
($PRET) with /100F displayed in the accumulator). In
estimating the number of blank cards required, allow
one card for each symbol used in the source deck.
Unnecessary blank cards will be passed until the next
Monitor control record is read.
If the system configuration is 2501/1442, place
blank cards in the 1442 hopper and press 1442 START
before beginning the assembly.
Note: Do not place non-blank cards in the 1442-5. The
punch may be damaged if an attempt is made to punch
a hole where a hole exists. No error is detected.

KEYBOARD/PAPER TAPE OPERATION
Most of the procedures for card input are also applicable
to keyboard/paper tape input. The LIST DECK, LIST
DECK E, PUNCH SYMBOL TABLE, and TWO PASS
MODE options are not allowed with keyboard/paper tape
input.
Note: The paper tape input to the Assembler is punched
iiiPTTC/8 code, one frame per character. The format
of the keyboard/paper tape control records is the same
as the card format. The format of the symbolic program keyboard/paper tape records is the same as card
format except for the following:
•

ORIGIN OF MAINLINES
The origin of a relocatable program is always set at
zero unless otherwise specified in the source program.
The origin of an absolute mainline program, if not
otherwise specified in an ORG statement, is set to the
end of DISKN plus 30 (the core image header record is
30 words long).
If the program requires DISKZ, DISK 1, or DISKN,
the origin may be set to the end of the requested disk
I/O subroutine plus 30.
If no disk I/O subroutine is used by the program,
the origin may be set as low as the end of DISKZ plus 30.
Note that if DISKZ is in core during execution (required or not), the ORG statement for the program being
executed must specify an ~ core address greater
than or equal to the end of DISKZ plus 30. An ORG to
the end of DISKZ plus 30, followed by a BSS or a BES
of an odd number of locations is not allowed. This
sequence has the same effect as an ORa to an odd
location.

ASSEMBLER CONTROL RECORDS
Assembler control records are used to specify options
affecting an assembly and its output. These control
records must precede the source program and can be
in any order (see Figure 6). Assembler control records

The record does not contain leading blanks corresponding to card columns 1-20.

• The record does not contain blanks or data corresponding to card columns 72-80.
•

Trailing blanks need not be used. Therefore, up to
51 characters (corresponding to card columns 21-71)
can appear in the record.

The assembly is continuous, and at the end of the
assembly control is returned to the Supervisor, which
will then pass any delete codes between the Assembler
and the next Monitor control record. The assembler
will also pass any codes that may occur between paper
tape records of the source program.
The first record processed by the Assembler is
checked for an asterisk in column one. If an asterisk
is present in column one, this record is treated as an
Assembler control record. This procedure continues
until the first non-asterisk character is detected in
column one. For this record, and all records following (up to and including the END statement), column
one is treated as if it were column twenty-one; therefore, the first non-control record should not be an
comments record.

Next
Monitor
Control
Record

Assembler Source
Statements

*

36

Figure 6.

Layout of an Assembler Input Deck

can be entered in card or paper tape form along with the
source program deck or tape or, unless otherwise
noted, may be entered from the Keyboard along with the
source statements (see / / TYP under Monitor Control
Records).
All Assembler control records have the following
format:
Column 1: * (asterisk)
2-71: Option
If an Assembler control record contains an asterisk in

column 1, but the option does not agree, character for
character, with its valid format, as described below,
the asterisk is replaced by a minus sign on the control
record listing. The erroneous control record is ignored
and no other error occurs.
Assembler control records can be written in free
form; that is, any number of blanks may occur between
the characters of the option. However, only one blank
must separate the last character in the option, and the
first character of any required numeric field. Remarks
may be included in the control record following the
option or numeric field; however, at least one blank
must separate the last character of the option or numeric
field and the remarks.

*TWO PASS MODE
This control record causes the Assembler to read the
source deck twice. TWO PASS MODE must be specified
when:
• The user desires a list deck to be punched on the
1442 Card Read Punch, model 6 or 7 (see LIST DECK
and LIST DECK E).
• One-pass operation cannot be performed because the
intermediate output (source records) exceeds the
capacity of Working Storage.
This control record is ignored if source statements are
entered from the Keyboard or the 1134 Paper Tape
Reader.
The format of the TWO PASS MODE control record
is as follows.
Card
Column
1
2-71
72-80

Contents

*TWO PASS MODE
Not used

Notes
Asterisk

This control record causes the Assembler to provide a
printed listing on the principal print device (1403
Printer, 1132 Printer, or Console Printer). The format
of the printed listing corresponds to that of the list
deck (see Figure 7). If the LIST control record is not
used, only those statements in which assembly errors
are detected will be listed. All BSS, BES, ORG, and
EQU statements in which errors are detected will be
unconditionally listed in Pass 1 of the assembly.
A sample program listing appears in Appendix J.
The format of the LIST control record is as follows.
Card
Column
1
2-71
72-80

Contents

*UST

Notes
Asterisk

Not used

*LIST DECK
This control record causes the Assembler to punch a
list deck if the principal I/O device is a 1442 model 6 or
7 Card Read Punch. This option requires two passes
of the source deck (TWO PASS MODE). The list deck
format is shown in Figure 7. Object information is
punched into columns 1-19 of the source deck during
pass 2.
This control record is ignored if entered from the
2501 Card Reader, the 1134 Paper Tape Reader, or the
Keyboard.
The format of the LIST DECK control record is as
follows.
Card
Column
1
2-71
72-80

Contents

*UST DECK

Notes
Asterisk

Not used

*LIST DECK E
This control record causes the Assembler to punch
assembly error codes only (columns 18-19) in the list
deck output (see LIST DECK). The principal I/O device
must be a 1442 model 6 or 7 Card Read Punch. The
Assembler error detection codes are listed in
Appendix A.
This control record is ignored if entered from the
2501 Card Reader, the 1134 Paper Tape Reader, or
the Keyboard.

Monitor Programs

37

~~~~~-+~~~~~'-~~-r~~--r-~~~~~~~~~~+-~'-~~-+~~~r-~'-~~-r~~

41

Address of the
Instruction;
Address
Assigned to
the label, if any

Error Flogs,
if any

Relocation Indicators;
Col. 7 is Blank for OneWord Instructions or DC
or
Exponent for an
XFlC Statement.

label

Caro
Column

OpCode
Tog

Second Word of
the Assembled
Code*

~~~~~~~~r-~'-~-r~~~~~r-~'-~-r-r~~~r-~~~~-r-+~~~r-~~'--r-r-iCaro
__~-L-L~~~L-L-~~~-L-L~~~L-~~~~-L-L~~L-L-~~~-L~~~~~L-~~~-L~8~O Column

Blank
*For EBC statements, columns 9-12 contain the number of EBC characters.
For BSS and BES statements, columns 9-12 contain the number of words reserved for the block.
For ENT, IlS, and ISS statements, columns 9-16 contoin the entry label in pocked EBCDIC code.
Figure 7.

List Deck Format

The format of the LIST DECK E control record is as
follows:

Card
Column
1

Card
Column

1
2-71
72-80

2-71
Contents

*LIST DECK E

Notes

*PRINT SYMBOL

Notes
Asterisk

TABLE

72-80

Not used

Asterisk

Not used

*PRINT SYMBOL TABLE
This control record causes the Assembler to provide a
printed listing of the symbol table on the principal print
device. Symbols are grouped five per line. Multiplydefined symbols are preceded by the letter M; symbols
with absolute values in a relocatable program are preceded by the letter A. The M and A flags, however,
are not counted as assembly errors.
The format of the PRINT SYMBOL TABLE control
record is as follows.

38

Contents

*PUNCH SYMBOL TABLE
This control record causes the Assembler to punch the
symbol table as a series of EQU source cards. Each
source card contains one symbol. These cards can be
used as source input to the System Symbol Table when
the SAVE SYMBOL TABLE control record is used with
an assembly in which they are included:
This control record is ignored if entered from the
1134 Paper Tape Reader or the Keyboard.
The format of the PUNCH SYMBOL TABLE control
record is as follows.
Card
Column
1
2-71

Contents

*PUNCH SYMBOL
TABLE

72-80

Not used

Notes
Asterisk

*SAVE SYMBOL TABLE
This control record causes the Assembler to save the
symbol table generated in this assembly on the disk as a
System Symbol Table. This System Symbol Table is
saved until the next assembly containing a SAVE
SYMBOL TABLE control record causes a new assemblygenerated symbol table to replace it. This control record is also used with the SYSTEM SYMBOL TABLE control record to add symbols to the System Symbol Table.
The SAVE SYMBOL TABLE option requires that this
assembly be absolute. If any assembly errors are detected, or if the symbol table exceeds 100 symbols, the
symbol table is not saved as a System Symbol Table,
and an assembly error message is printed (see Assembler Error Messages, Appendix A).
The format of the SAVE SYMBOL TABLE control
record is as follows.
Contents

1
2-71

*SAVE SYMBOL

Asterisk

TABLE
Not used

This control record causes the Assembler to add the
System Symbol Table (previously built by a SAVE
SYMBOL TABLE assembly) to the symbol table for
this assembly as the assembly begins. This control
record is used when it is desired to refer to symbols
in the System Symbol Table without redefining those
symbols in the source program, or it is used together
with the SAVE SYMBOL TABLE control record when it
is desired to add symbols to the System Symbol Table.
AU symbols in the System Symbol Table have absolute
values.
The format of the SYSTEM SYMBOL TABLE control
record is as follows.

1

2-71

72-80

1

Contents

2-71

*LEVELbn

72-80

Not used

Notes
Asterisk
n is an interrupt level number

Notes

*SYSTEM SYMBOL TABLE

Card
Column

Card
Column

*OVERFLOW SECTORS

Card
Column

12-80

than one interrupt level (for example, the 1442 Card
Read Punch), one LEVEL control record is required for
each interrupt level on which the device operates. At
least one blank must separate the word LEVEL and the
interrupt level num ber .
If a LEVEL control record is not used when assembling an ISS subroutine, an Error Message is printed at
the end of the assembly (see Assembler Error Messages,
Appendix A).
The format of the LEVEL control record is as
follows.

Notes

Contents

*SYSTEM SYMBOL

Asterisk

TABLE
Not used

*LEVEL
This control record specifies the interrupt levels
serviced by an ISS and, hence, the associated ILS subroutines. It is required for the assembly of an ISS subroutine. The interrupt level number is a decimal number in the range 0-5. If the device operates on more

This control record specifies the number of sectors of
Working storage to be used by the Assembler for symbol table overflow. The number of overflow sectors (nn)
is a decimal number between 1 and 32. If the entry is
zero or blank, no overflow sectors are allowed. If the
entry is greater than 32, only 32 overflow sectors are
allowed. If this control record is not used, no overflow
sectors are allowed; if it is used, the Assembler actually allocates one more sector than the number specified. This additional sector is used as a working sector
when the Assembler is handling symbol table overflow.
The format of the OVERFLOW SECTORS control
record is as follows.
Card
Column

1
2-71

12-80

Contents

*OVERFLOW
SECTORSbnn
Not used

Notes
Asterisk
nn is the number of sectors assigned
to symbol table overflow.

*COMMON
This control record specifies the length (in words) of
COMMON as defined by a FORTRAN core load that is
to be executed prior to the execution of the program
being assembled. Use of this control record provides
for a COMMON area to be saved in linking between
FORTRAN mainlines and Assembler mainlines. At
least one blank must separate the word COMMON and
the decimal number.
The format of the COMMON control record is as
follows.
Card
Column

1
2-71
72-80

Contents

*

COMMONbnnnnn

Notes
Asterisk
nnnnn is the number of words of
COMMON (decimal) to be saved
between links.

Not used

Monitor Programs

39

FORTRAN COMPILER

The basic language for the FORTRAN Compiler in the
Monitor system is described in the publication IBM
1130/1800 Basic FORTRAN IV Language (Form C263715); therefore, this section contains only a general
description of the Compiler and its operation. The
FORTRAN Compiler control records are described in
the section FORTRAN Control Records; FORTRAN
messages and error messages are listed in Appendix A.
The FORTRAN Compiler cannot be operated independently of the Monitor system; however, it can be
deleted from the Monitor system if desired (see
*DEFlNE under DUP Control Records).
A FOR Monitor control record is used to call the
FORTRAN Compiler into operation. The Compiler
reads the source program, including control records,
from the principal input device. After compilation, the
object program resides in System Working Storage and
can be (1) called for execution with an XEQ Monitor
control record, (2) stored in the User IFixed Area with
a STORE or STORECI operation (see DUP Control
Records), or (3) punched as a binary deck or tape with
a DUMP operation (see DUP Control Records).
The 1130 FORTRAN 1/0 logical unit numbers and
record sizes are listed in Table 3.

//b RECORDS READ DURING THE EXECUTION OF
A FORTRAN PROGRAM
During the execution of a FORTRAN program, any lib
record encountered by CARDZ, READZ, or PAPTZ will
cause an immediate CALL EXIT. The Supervisor will
then search for the next valid Monitor control record
entered from the reader. Only the / /b characters on
the record trapped by CARDZ, READZ, or PAPTZ are
recognized. Any other data entered in this record is
not available to programs in the Monitor system. The
record is not listed. For off-line listing purposes,
however, this record can contain comments (e. g.,
II END OF DATA).

Monitor Control Records). The IOCS and NAME control records can be used only in mainline programs; the
others can be used in both mainline programs and subprograms.
All FORTRAN control records have the following
format:
Column 1: *(asterisk)
2-72: Option

Table 3.

Logical
Unit
Number

FORTRAN I/O Logical Unit Designations and
Record Sizes

Device

Kind of
Transmission

Record Size
Allowed

1

Console Printer

Output only

120

2

1442 Card Read
Punch

Input/output

80

3

1132 Printer

Output only

1 carriage
control + 120

4

1134/1055
Paper Tape
Reader Punch

Input/output

80, plus max. of
80 case shifts for
PTTC/8 code,
plus NL code.

5

1403 Printer

Output only

1 carriage
control + 120

6

Keyboard

Input only

7

1627 Plotter

Output only

8

2501 Card Reader

Input only

9

1442 Card Punch

Output only

80

UDISK

Unformatted
input/output
without data
conversion

320*

10

80
120

80

*Unformatted disk I/O comprises 320 word records (including a two-word
header). The first word of the header must contain the count of the physical record within the logical record (see example following). The second
word of the header must contain the number of effective words in the individual physical record. The second word of the header of the last physical record within a logical record must have the sign bit (-) on. Unformatted disk characters are stored in as they appear in core storage.
Example:
DIMENSION A (400)

800 words

WRITE (10) A

FORTRAN CONTROL RECORDS
Before a FORTRAN program is compiled, the user can
specify certain options affecting both the compilation
and execution of the program by means of control records. These control records must precede the source
program and can be in any order (see Figure 8).
FORTRAN control reCOrds can be entered in card
or paper tape form along with the source program deck
or tape, or they may be entered from the Keyboard
along with the source statements (see 1/ TYP under

40

Physical records (maximum record

Logical record
(total number of
words to be written)

'e: :::W:::::::::r
[I z" I I
3

,;z.)

DATA WORDS

:64 and sign bit (/80M). Not/FF5C.
An end-of-fi Ie record occupies one sector. Word one of the header must
be 1 and word two must be a negative zero (/8000).

Name

....- Next Monitor
Control Record

Figure 8.

Layout of a FORTRAN Compiler Input Deck

If a FORTRAN control record contains an asterisk in
column 1, but the option does not agree, character for
character, with its valid format, as described below,
the asterisk is replaced by a minus sign on the control
record listing. The erroneous control record is ignored
in the compilation and the option is not performed; however, no error results.
FORTRAN control records can be written in free
form; that is, any number of blanks may occur between
the characters of the option. No remarks are allowed.

*IOCS( ... )
This control record is required to specify any I/O device that is to be used during execution of the program;
however, only the devices required should be included.
Because the lacs control record may appear only in the
mainline program, it must include all the I/O devices
used by all FORTRAN subprograms that are called.
The device names must be in parentheses with a comma
between each name. The valid names and the devices
to which they correspond are listed below:

-

Device

~
CARn
2501 READER
1442 PUNCH

1442 Card Read Punch, Model 6 or 7
2501 Card Reader
1442 Card Punch, Model 5 (1442

TYPEWRITER
KEYBOARD
1132 PRINTER
1403 PRINTER
PAPER TAPE

Model 6 or 7 if used as a punch only)
Console Printer
Keyboard
1132 Printer
1403 Printer
1134/1055 Paper Tape Reader/Punch

Device

PLOTTER
DISK
UDISK

1627 Plotter
Disk
Disk (unformatt~d disk I/O)

Note that CARD is used for the 1442 Card Read Punch,
Model 6 or 7 and that 1442 PUNCH is used for the 1442
Card Punch, Model 5 (1442 PUNCH may be used with a
1442 Model 6 or 7 if the function is punch only; 1442
PUNCH uses less core). These two names are mutl,lally
exclusive; therefore, the use of both the CARD and 1442
PUNCH IOCS Control Records in the same compilation is
not allowed.
Subprograms that are a part of a FORTRAN core load
but are written in Assembler language can use any I/O
subroutines for any device that is not specified on the
lacs control record. Otherwise they must use the same
I/O subroutine as the FORTRAN subprogram.
Any num ber of IOCS control records can be used to
specify the required device names.
The format of the 10CS control record is as follows.
Card
Column
1

2-72

Contents

*lacS
(d, d, ••• , d)

73-80

Notes
Asterisk
d is a valid device name selected
from the above list.

Not used

*LIST SOURCE PROGRAM
This control record causes the Compiler to list the
source program on the principal print device as it is
read in.
The format of the LIST SOURCE PROGRAM control
record is as follows:
Card
Column
1

2-72
73-80

Contents

*LIST SOURCE

Notes
Asterisk

PROGRAM
Not used

*LIST SUBPROORAM NAMES
This control record causes the Compiler to list on the
principal print device the names of all subprograms
(including EXTERNAL subprogram s) called directly by
the compiled program.
The format of the LIST SUBPROGRAM NAMES control record is as follows.
Card
Column
1

2-72
73-80

Contents

*LIST

Notes
Asterisk

SUBPROGRAM
NAMES
Not used

Monitor Programs

41

*LIST SYMBOL TABLE

*ONE WORD INTEGERS

This control record causes the Compiler to list the following items on the principal print device:

This control record causes the Compiler to allocate one
word of storage for integer variables rather than the
same allocation (two or three words) used for real variables. Whether this control record is used or not,
integer constants are always contained in one word.
When this control record is used, the program does not
conform to the USASI Basic FORTRAN standard for
data storage and may require modification in order to be
used with other FORTRAN systems.
The format of the ONE WORD INTEGERS control
record is as follows.

• Variable names and their relative addresses
•

statement numbers and their relative addresses

• statement function names and their relative
addresses
• Constants and their relative addresses
The format of the LIST SYMBOL TABLE control
record is as follows.

Card
Column

2-72

*ONE WORD

73-80

INTEGERS
Not used

1

Card
Column
1

2-72
73-80

Notes

Contents

*UST SYMBOL
TABLE
Not used

This control record causes the Compiler to print the
speCified program name at the end of the listing. The
name is five consecutive characters (including blanks)
starting at the first non-blank column following NAME.
At least one blank niust separate the word NAME and
the mainline program name.
The format of the NAME control record is as
follows.
Card
Column
1

2-72
73-80

2-72
Contents

*UST ALL

Notes

Not used

2-72
73-80

42

Contents

PRECISION
Not used

Asterisk
xxxxx is the name of the mainline
object program.

Not used

This column record causes the Compiler to print the
information in columns 3-72 at the top of each page of
compilation printout when a 1403 Printer or 1132
Printer is the principal print device. It initially causes
a skip to channel 1 when the first statement of the program is read.
The format of the header control record is as
follows.
Card
Column

*EXI'ENDED

*NAMEbxxxxx

Notes

**(Header Information)

This control record causes the Compiler to store variables and real constants in three words instead of two
and to generate linkage to extended precision subprograms.
The format of the EXTENDED PRECISION control
record is as follows.

1

73-80

Contents

Asterisk

*EXTENDED PRECISION

Card
Column

Asterisk

*NAME

This control record causes the Compiler to list the
source program, subprogram names, and the symbol
table on the principal print device. If this control"
record is used, the other LIST control records are not
required.
The format of the LIST ALL control record is as
follows.

1

Notes

Asterisk

*LIST ALL

Card
Column

Contents

Contents

Notes

Notes
Asterisk

1
2

3-72
73-80

**
Any string of
characters
Not used

Asterisk
Asterisk

*ARITHMETIC TRACE

Card
Column

This control record causes the Compiler to generate
linkage to the trace subprograms, which are executed
whenever a value is assigned to a variable on the left of
an equal sign. If console entry switch 15 is on during
execution and program logic (see Optional Tracing) does
not prevent tracing, the value of the assigned variable is
printed as it is calculated.
If tracing is requested, an IOCS control record must
also be present to indicate that either the typewriter
(that is, the Console Printer), 1132 Printer, or 1403
Printer is needed. If more than one print device is
specified in the IOCS control record, the fastest device
is used for tracing.
The traced value for a variable to the left of an equal
sign of an arithmetic statement is printed with one
leading asterisk.
The format of the ARITHMETIC TRACE control record is as follows.
Card
Column
1

2-72
73-80

1

2-72
73-80

Contents

Notes

*TRANSFER TRACE Asterisk
Not used

Optional Tracing
The user can elect to trace only selected parts of the
program by placing statements in the- source program
logic flow to start and stop tracing. This is done by
executing a CALL TSTOP to stop tracing or a CALL
TSTRT to start tracing. Thus, tracing occurs only if:
•

Console entry switch 15 is on (can be turned off at
any time)

•

The trace control records were compiled with the
source program

•

A CALL TSTOP has not been executed, or a CALL
TSTRT has been executed since the last CALL
TSTOP.

Operating Notes
Contents

*ARITHMETIC

Notes
Asterisk

TRACE
Not used

*TRANSFER TRACE
This control record causes the Compiler to generate
linkage to the trace subprograms, which are executed
whenever an IF statement or computed GO TO statement
is enco\IDtered. If console entry switch 15 is on during
execution and program logic (see Optional Tracing) does
not prevent tracing, the value of the IF expression or
the value of the computed GO TO index is printed.
If tracing is requested, an 10CS control record must
also be present to indicate that either the typewriter
(that is, the Console Printer), 1132 Printer, or 1403
Printer is needed. If more than one print device is
specified in the IOCS control record, the fastest device
is used for tracing.
The traced value for the expression in an IF statement is printed with two leading asterisks. The traced
value for the index of a computed GO TO statement is
printed with three leading asterisks.
The format of the TRANSFER TRACE control records
is as follows.

A constant in a STOP or PAUSE statement is treated as
a hexadecimal number. This hexadecimal number and
its decimal equivalent appear in the list of constants.
The hexadecimal number is also displayed in the accumulator when the system waits at $PRET during the
execution of th'e PAUSE or STOP statement.
Variables and constants that require more than one
word of storage have the address of the word nearest the
zero address of the machine. In the case of arrays, the
given address refers to the addressed word of the first
element. In the case of a two- or three-word integer,
the integer value is contained in the addressed word.
The first variable listed might not be addressed at 0000
because space may be required for generated temporary
storage locations.
The relative address for variables not in COMMON
would be the actual address if the program started at
storage location zero. The relative address for variabIes in COMMON would be the actual address if the machine had 32K storage. Variables in COMMON reside in
the high-order core location of the machine being used
(e. g., first COMMON variable will be loaded to /IFFF
on an 8K machine).
Any of the three versions of the disk I/O subroutines
may be used with a FORTRAN core load. However,
under normal circumstances no advantage in speed may
be gained, because the FORTRAN disk formatting subroutine operates with one sector at a time. SOCALs
may operate faster if DISKN is used.

Monitor Programs

43

KEYBOARD INPUT OF DATA RECORDS
Data records of up to 80 characters can be read
from the keyboard by a FORTRAN READ statement. Data values must be right-justified in their
respective fields.
Keyboard Operation
If it is desirable to key in less than 80 characters,

the EOF key can be pressed to stop transmittal.
Also, the ERASE FIELD or BACKSPACE key can be
pressed to restart the record transmittal if an error
is detected while entering data. If the keyboard
appears to be locked up, press REST KB to restore
the keyboard. The correct case shift must be selected before data is entered.

Buffer Status After Keyboard Input
When the END FLD key is pressed prior to completing a full buffer load of 80 characters, blanks
are inserted in the remainder of the buffer. If more
data is necessary to satisfay the list items, the remaining numeric fields (I, E, or F) are stored in
core as zeros and remaining alphameric fields
(A or H) are stored as blanks. Processing is continuous and no errors result from the above condition.

OBJECT PROGRAM PAPER
TAPE DATA RECORD FORMAT

The input! output routines used by FOR THAN
(PAPTZ, CARDZ, PRNTZ, WRTYZ, TYPEZ, PNCHZ,
READZ, PRNZ) wait on any I/O device error or device
not in a ready condition. When the devices are ready,
press PROGRAM START to execute the I/o operation.
Error detection in functional and arithmetic subroutines is possible by the use of source program statements. Refer to "FORTRAN Machine and Program
Indicator Tests" in the manual, IBM 1130/1800
Basic FORTRAN IV Language (Form C26-37l5).

CORE LOAD BUILDER

The Core Load Builder builds a specified mainline program into a core image program. The mainline program, with its required programs (LOCALs and SOCALs
included), is converted from Disk System format to
Disk Core Image format. During the conversion, the
Core Load Builder also builds the Core Image Header
record and the Transfer Vector. The resultant core
image program is suitable for immediate execution or
for storing on the disk in Disk Core Image format for
future execution. The Core Load Builder can build a
core load that references up to approximately 150 different LmF and CALL entry points, e. g., 80 LlBFs
plus 70 CALLs (the maximum number of LffiFs allowable
is 83 due to the size of the LffiF Transfer Vector).
The Core Load Builder is called by:
•

The Supervisor. After the Supervisor has detected
the XEQ Monitor control record in the input stream
and has read the Supervisor control records, if
any, and written them in the Supervisor Control
Record Area (SCRA) on disk, the Supervisor dummys up a CALL LINK to the program specified on
the XEQ record unless the program resides in
Working Storage, in which case the Supervisor
calls the Core Load Builder directly. The Core
Load Builder then builds the core load and returns
control to the Core Image Loader to fetch the core
load and transfer control to it.

•

DUP. After DUP has detected the STORECI control
record, it reads the Supervisor control records, if
any, and writes them in the Supervisor Control
Record Area (SCRA) on disk. Unless the program
is already in Working Storage, DUP fetches the
program, converts it to Disk System format, if
necessary, and stores it in Working Storage. Next,
the Core Load Builder is fetched to construct the
core image program (see Core Load Construction).
After the core image program has been built, the
Core Load Builder returns control to DUP to store
the core image program in the User or Fixed Area.

Data records of up to 80 EBCDIC characters in
PTTC/8 code can be read or written by the FORTRAN object programs. The delete and new-line
codes are recognize.d. Del~te codes and case shifts
are not included in the count of characters. If a
new-line code is enountered before the 80th character is read, the record is terminated. If the 80th
character'is not a new-line code, the 8lst character
is read and assumed to be a new-line code. A newline code is punched at the end of each output record.

FORTRAN

I/o

ERRORS

If input/output errors are detected during execution,

the program stops and cannot be contined. The
error is indicated by a display in the accumulator.
The error displays and meanings are listed in
Appendix A, Table 12.
When the output field is too small to contain
the number, the field is filled with asterisks and
execution is continued.

44

•

The Core Image Loader. When the Resident Monitor is entered at the LINK entry point, the Core
Image Loader is called to transfer control to the
next link. The Core Image Loader determines the
format of the link from the LET /FLET entry and,
if the program to be executed is in Disk System
format, calls the Core Load Builder to construct
the core image program (see Core Load Construction). After the core image program has been built,
the Core Load Builder returns control to the Core
Image Loader to fetch the core load and transfer control to it.

CORE LOAD CONSTRUCTION
The following paragraphs describe the functions of the
Core Load Builder during the construction of a core
image program. These functions are not necessarily
performed in the order in which they appear.
Figure 9 shows a core image program being built.
Figure 5 (see *STORECI under DUP Control Records)
shows a core image program stored on disk. Figure 11
(see Fetching a Link under Core Image Loader) shows a
core load ready for execution.
Processing the Contents of the SCRA
The LOCAL, NOCAL, and FILES control records are
read from the Supervisor Control Record Area (SCRA)
on disk and analyzed. Tables are built from the information obtained from the respective control record
types. These tables are used in later phases of the
construction of the core image program.
Conversion of the Mainline Program
The mainline program is converted from Disk System
format to Disk Core Image format. The mainline is
always converted before any other part of the core
load.
Working Storage Files
Defined in the
Core Load

LOCALs

SOCALs

Not Used

I

I

~~---------------------y---------------------~I
Working Storage
That Part of the Core
Load Below 4096

Not Used

Saved COMMON

Incorporation of Subprograms
All the subprograms called by the mainline program and
by other subprograms are included in the core load, except for (1) the disk I/O subroutine, (2) any LOCAL subprograms specified, and (3) SOCALs (see System Overlays).
LOCALs have been specified or if SOCALs are employed by the Core Load Builder, the LOCAL/SOCAL
flipper (FLIPR) is included in the core load. The order
of conversion is generally NOCALs, followed by the subprograms in the order they are called. The order of
processing when either LOCALs or SOCALs are included
is more complicated and will not be discussed here.

---rr

Provision for LOCALs and SOCALs
If LOCALs have been specified, a LOCAL Area as large
as the largest LOCAL is reserved in the core load, into
which the LOCAL subprograms are read by the LOCAL/
SOCAL flipper. In addition, the subprograms specified
on the LOCAL control records are written in Working
storage following any files defined in Working storage.
If the core load is executed immediately, each LOCAL is
read, as it is called, from Working storage into the
LOCAL Area by the LOCAL/SOCAL flipper. If the core
load is stored in Disk Core Image format before it is
executed, the LOCALs are stored following the core
load. During execution, the LOCAL/SOCAL flipper
fetches them from the User/Fixed Area.
If SOCALs are employed by the Core Load Builder, a
SOCAL Area as large as the largest SOCAL (usually
SOCAL 2) is reserved in the core load, into which the
SOCALs are read by the LOCAL/SOCAL flipper. In addition, the subprogram s comprising the SOCALs are
written in Working storage following any files defined in
Working storage and any LOCALs stored there. If the
core load is executed immediately, each SOCAL is read
from Working storage into the SOCAL Area by the
LOCAL/SOCAL flipper as it is called. If the core load
is stored in Disk Core Image format before it is executed, the SOCALs are stored following the core load and
the LOCALs, if any. During execution, the LOCAL/
SOCAL flipper fetches the SOCALs from the User/
Fixed Area.

~~--__v_----~A~----~v__--~A~----_\

,I

I

I

I
)

y

Construction of the Core Image Header

Core Image Buffer
Resident
Monitor

Core Load Builder

That Part of the Core Load Above 4095

I~I...-----A--r------A

,

Location
0000

End of DISKZ

Location
4096

y
Core Storage

Figure 9.

End
of
Core

During the construction of the Core Image program, the
Core Load Builder also constructs the Core Image
Header, which contains the information required by the
Core Image Loader to initialize the core load for execution. This header becomes a part of the core image
program and resides in core along with the rest of the
core load during execution. Since FORTRAN subroutines access this information during execution, the
header is not to be considered a work area.

Distribution of a Core Image Program being Built

Monitor Programs

45

Processing Defined Files
The Core Load Builder uses the information in the
FILES control record to equate files defined in the
mainline program (by the FORTRAN DEFINE FILE
statement or by the Assem bIer FILE statement) to
Data Files on disk. The processing consists of comparing the file num ber in a 7 -word DE FINE FILE
table entry with each of the file numbers from the
FILES control records, which have been stored in the
SCRA by the Supervisor or DUP. If a match occurs,
the name of the disk area associated with the file number on the FILES control record is found in LET /FLET,
and the sector address of that disk area (including the
logical drive code) is placed in word 5 of the DEFINE
FILE table entry. If none of the file numbers from the
FILES control records match the number in the
DEFINE FILE table entry or if no name is specified on
the FILES control record, the Core Load Builder assigns an area in Working Storage for the Data'File. The
sector address of the Data File, relative to the start of
Working Storage, is placed in word 5 of the DE FINE
FILE table entry. This procedure is repeated for each
7 -word DE FINE FILE table entry in the mainline program.

Use of the Core Image Buffer (ClB) and Working Storage
The Core Load Builder places in the CIB any parts of the
core load which, when loaded, are to reside below location 4096. Any parts of the core load that are to reside
above location 4095 are placed directly into core storage.
Enough Working Storage is reserved by the Core Load
Builder to contain any Data Files assigned by the Core
Load Builder to Working Storage. All the LOCAL subprograms and SOCALs, respectively, are stored in
Working Storage following any files defined there.
Figure 9 shows the distribution of a core image program
between core storage, the CIB, and Working Storage.
These diagrams depict a core image program just after
it has been built but before it has been stored (STORECI).
Assignment of the Core Load Origin
The Core Load Builder origins core loads built from
relocatable mainline programs at the next higheraddressed word above the end of the disk I/O subroutine to be used by the core load plus 30.
Disk I/O
Subroutine in Core
DISKZ
DISK 1
DISKN

Core Load Origin
Decimal Hexadecimal
510
690
960

/01FE
/02B2
/03CO

The origins for core loads built from absolute mainline programs are not controlled by the Core Load
Builder. Therefore, the user must origin absolute

46

mainline programs at 30 or more words above the end
of the disk I/O subroutine to be used by the core load
(these 30 words are required for the Core Image
Header).
TRANSFER VECTOR
The Transfer Vector is a table included in each core
load that provides the linkage to the subprograms. It is
composed of the LIBF TV, the Transfer Vector for subprograms referenced by LIBF statements, and the CALL
TV, the Transfer Vector for subprograms referenced by
CALL statements.
Each CALL TV entry is a single word containing the
absolute address of an entry point in a subprogram included in the core load that is referenced by a CALL
statement. In the case of a subprogram referenced by a
CALL statement but specified as a LOCAL, the CALL
TV entry contains the address of the special LOCAL
linkage instead of the subprogram entry point address.
If" SOCALs are required, the CALL TV entries for function subprograms contain the address of the special
SOCAL linkage instead of the subprogram entry point
address.
Each LIBF TV entry consists of three words. Word 1
is the link word in which the return address is stored.
Words 2 and 3 contain a branch to the subprogram entry
point. In the case of a subprogram referenced by a
LIBF statement but specified as a LOCAL, the LmF TV
entry for its entry point contains a branch to the special
LOCAL linkage instead of to the subprogram entry point
address. If SOCALs are required, the LIBF TV entry
for a SOCAL subprogram contains a branch to a special
entry in the LIBF TV for the SOCAL of which the subprogram is a part. This special entry provides the linkage to the desired SOCAL subprogram.
SYSTEM OVERLAYS
SOCALs (system-overlays-to-be-Ioaded-on-call) are
subprogram groups (by type and subtype) that are made
into overlays by the Core Load Builder. They make it
possible for many FORTRAN core loads that would
otherwise not fit into core to be loaded and executed.
If, in constructing a core image program from a
FORTRAN mainline program, the Core Load Builder
determines that the core load will not fit into core,
SOCALs are created by the Core Load Builder for the
core load. In addition, the LOCAL/SOCAL flipper,
which fetches the SOCALs when they are required during
execution, is included in the core load along with the
area into which the SOCALs are loaded (the SOCAL
Area).
The SOCALs are created by subprogram type and
subtype (see the description of program type and subtype
under Disk System Format in Appendix C). The following table describes the SOCALs.

Subprogram Class
Arithmetic
Function
Non-disk FORTRAN
I/O and "Z" conversion subroutines
liZ" device subroutines
Disk FORTRAN I/O

Type

Subtype

Overlay
Number)

~SOCAL

3
4
3

8
3

1
1
2

5
3

3
1

2
3

2

There are two SOCAL options. The Core Load
Builder first attempts to make the core load fit into
core by using SOCALs 1 and 2 only (option 1). If the
core load still will not fit into core, SOCALs 1, 2, and
3 are used (option 2). If the use of option 2 still does
not make it possible for the core load to fit into core,
an error message is printed (see Core Load Builder
Error Messages, Appendix A).
Option 1 reduces the core requirement of the core
load by an amount equal to the size of the smaller of the
two SOCALs used, minus approximately 15 additional
words required for the special SOCAL linkage. Option
2 reduces the core requirement by an amount equal to
the sum of the sizes of the two smallest SOCALs minus
approximately 20 additional words required for the
special SOCAL linkage. SOCAL 2 is usually the largest
SOCAL.
Each SOCAL does not contain all the available subprograms of the specified types and subtypes; only
those subprogram s of the specified types and subtypes
required by the core load are contained in the SOCAL.
If a subprogram that would otherwise be included in
a SOCAL is 'specified as a LOCAL subprogram, that
subprogram is made a LOCAL and is not included in the
SOCAL in which it would ordinarily be found.
SOCALs are never built for core loads in which the
mainline program is written in Assembler language.

LOCAL/SOCAL FLIPPER (FLIPR)
The LOCAL/SOCAL flipper is included in each core
load in which LOCAL subprograms have been specified
and/ or in which SOCALs have been employed. If execution of the core load immediately follows the building
of the core image program, this subroutine reads a
LOCAL/SOCAL from Working Storage into the LOCAL/
SOCAL Area as it is called during execution. If the
core image program was stored in the User or Fixed
Area in Disk Core Image format prior to execution, the
flipper reads each LOCAL/SOCAL as it is called during
execution from the User or Fixed Area (where it was
stored following the core load) into the LOCAL/SOCAL
Area.
The flipper is entered via the special LOCAL/SOCAL
linkage. A check is made to determine if the required
LOCAL/SOCAL is already in core. If it is not in core,
the flipper reads the required LOCAL/SOCAL into the
LOCAL/SOCAL Area, and transfers the LOCAL/SOCAL
subprogram via the special linkage.

CORE IMAGE LOADER
The Core Image Loader serves both as a loader for core
loads and as an interface for some parts of the Monitor
system.
On any entry to the Skeleton Supervisor, the Core
Image Loader is fetched and control is transferred to it.
The Core Image Loader determines where the Skeleton
Supervisor was entered, i. e., at $EXIT, $DUMP, or
$LINK.
FETCIDNG THE SUPERVISOR
If an entry was made to the Skeleton Supervisor at the

$EXIT entry point, the Core Image Loader first fetches
the disk I/O subroutine used by the Monitor programs
(DISKZ), if it is not already in core. It then fetches and
transfers control to the Monitor Control Record Analyzer
to read Monitor control records from the input stream.
If an entry was made to the Skeleton Supervisor at the
$DUMP entry point, the Core Image Loader first saves
words 6-4095 on the crn and then fetches and transfers
control to the DUMP program to perform the core dump
according to the parameters specified. At the completion of the dump, the DUMP program either restores
core from the CIB and transfers control back to the core
load, or it terminates the execution with a CALL EXIT
(see Terminal and Dynamic Dumps under Supervisor).
FETCHING A LINK
If an entry was made to the Skeleton Supervisor at the

$LINK entry point, the Core Image Loader first saves
low COMMON (locations 1536-1855 if DISKN is in core,'
locations 1216-1535 if DISKI is in core, or locations
896-1215 if DISKZ is in core). It then determines from
COMMA the lowest-addressed word of COMMON, if any,
defined by the core load just executed. Any COMMON
below location 4096 is saved in the CIB by the Core
Image Loader.
Figure 10 illustrates the scheme used in saving
COMMON between links.
The LET /FLET entry for the link to be fetched is
then located, and the Core Image Loader determines
from it whether the link is in Disk Core Image format
or Disk System format. If the link is in Disk Core
Image format, the Core Image Loader fetches the
disk I/O subroutine required by the core load, if it
is not already in core. It next restores low COMMON
if it lies within the COMMON defined by the core load
just executed. The core load is then. fetched and control is transferred to it.
If the link is in Disk System format, the Core Image
Loader calls the Core Load Builder to construct a core
image program from the mainline program. After the
core image program has been built, the Core Load
Builder returns control to the Core Image Loader, which
then fetches the core load, as described above, and
transfers control to it.
Figure 11 shows the layout of a core load loaded into
core, ready for execution.

Monitor Programs

47

Core Image Buffer

~~~~~

__________________

~A~

____________________________

( Core load Built
~

Sector

Figure 10.

b
~

~

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

4:

~nl~

LOCAL!

:J

~~~Lro_~~~_S_O~~_l
.Flipper__~_l_O_~_l_A_r_~~_m_C_A_l_A_re_a~___u_n_~_~___~T_ro_rn_fu_r_~_c_~_r~_C_O~~ON
NOCALs

Core Image Header

Figure 11. Layout of a Core Load Loaded for Execution

48

I

Scheme for Saving COMMON between llnks

~~~M~~

location

~

Saved COMMON "\

End
of
Core

PROGRAMMING TIPS AND TECHNIQUES

The information presented in this section should assist
the user in achieving maximum utilization of the Monitor
system.

•

No validity checking of the function indicator

•

No write without readback check option

•

No write immediate function

USING THE DISK I/O SUBROUTINES
• Word count may not be on an odd boundary
All core loads, whether they use disk I/O or not, require
one of the three disk I/O subroutines. As a minimum,
this disk subroutine is used to read the core load into
core and execute CALL EXIT, CALL LINK, CALL
DUMP, and/or CALL PDUMP. Generally, DISKZ is
used by FORTRAN core loads and DISK1 or DISKN by
Assembler-Language core loads. DISKN provides faster
operation than DISK1 for operations involving more than
320 words, as well as the simultaneous operation of disk
drives. DISKZ is intended for use only in an error-free
environment, because it does no preoperative parameter
checking, whereas DISK1 and DISKN do. DISKZ also has
a special calling sequence; DISK1 and DISKN have the
LIBF calling sequence. Bear in mind that all three disk
subroutines are assembled as mainlines and are thus
not the same as programs stored in the System Library,
even though DISK1 and DISKN (but not DISKZ) may be
referenced with the LIBF statement. They are described
with library subroutines because they are similar in
some respects to library subroutines. Actually, they
are neither incorporated into the core load like library
subroutines nor are they stored in the System Library.
A switch is set in COMMA to indicate which version
of disk I/O is requested on the XEQ record. The setting of this switch is not altered until 1) a Monitor control record is read or 2) a link that is stored in DCI is
called. In the first case the switch is set to indicate
DISKZ, unless the record was XEQ, in which case the
switch is set to indicate whatever version is requested.
In the second case the switch is set to indicate the version of disk I/O required by the link. In short, each
DSF link except the first in an execution must utilize the
same version of disk I/O as the preceding link. The
first link must, of course, utilize the disk I/O specified
on the XEQ record.
In order to save core in Monitor programs, all of
which utilize DISKZ, DISKZ has been pared to a minimum. The following is a list of functions that are not
available in DISKZ but are available in DISK1 and/or
DISKN.

•

No simultaneous disk operations

•

Does not "make" the sector gap when reading or
writing more than 320 words

THE USE OF SOCALs

Restrictions' on Subroutines in SOCALs
A rule of prime importance regarding subroutines in the
SOCAL scheme is that none must cut across SOCALs.
That is, a given subroutine that is in one SOCAL may
not call a subroutine that is in another SOCAL or cause
another SOCAL to be brought into core before the execution of the given subroutine is completed. This is due
to the fact that the IBM-supplied 1130 subroutines that
go into the SOCAL scheme are not re-enterable. It
should also be noted that disk I/O is used every time a
SOCAL is brought into core. This means that disk I/O
will sometimes be entered without the user's direct
lmowledge.

Decreasing Program Execution Time
When writing or modifying a program that is lmown to
require SOCALs, planning is required to minimize the
flipping of the various SOCALs in and out of core during
execution. Ideally the program should be written in
sections, each of which employs a single SOCAL, e. g. ,
input, computation, and output. Even input and output
should be carefully planned so as to separate disk and
non-disk operations whenever possible.
TIPS ON MONITOR CONTROL
Temporary JOB Mode

•

No validity checking of the word count and sector
address

•

No file protection

•

No LIBF type calling sequence

In many cases DUP delete functions must be performed
to clear the User Area of old programs before newly
assembled or compiled programs may be stored. The
necessity for such deletions is avoided by using the
temporary mode when running jobs that contain programs

Programming Tips and Techniques

49

that are likely to be replaced at a later time. In the
Temporary mode all programs stored to the User Area
are automatically deleted when the next JOB record is
processed. This assures the user that his new program
is the one stored in the User Area and is particularly
useful while debugging.

It is also permissible to provide no system cartridge
on the system at this time if no further system operations
are' required, e.g., CALL EXIT, CALL DUMP, or
CALL LINK. This is particularly useful to the one drive
user.
The FORTRAN calling sequence for SYSUP is described in the section of this manual entitled System
Library Utility Subroutines.

EJECT Monitor Control Record
The EJECT record is used to control the beginning of a
new page on the principal print device during a job. For
example, messages to the operator of the Monitor Comments control record type may be placed in a more
readable position if followed by an EJECT record.
Example:
2 3 .( S 6 7 1 , 10 " 12 13 I. 15 .. 1711" 2021 22 23 ZC2S 2627212930 31 3233:U 3S 3637 3139 40 ."'2.3

'/~ J.O.&

.

•
•

~~

,

,

-'-I

,

I

-.L....&..-'

•

-....

!/./.'rl
I/~ .E:i.£c.r
I/./: ,PAU.~~

·..

·

.

~-t.s.

I

\

.I

I

I

I

.
,

,

.

I
•

,

.,

I

,

I

I

MAXIMUM PERFORMANCE OF HIGH SPEED
DEVICES
Double Buffering
The 2501 Card Reader model A2, rated at 1000 cards
per minute presents a special problem to the programmer who desires maximum performance from his card
I/O operations. If any conversion of the card data is
required, the reading speed is likely to drop to 500
cards per minute, unless double-buffering is used .
The principle involved, is to read into one buffer
while converting and processing the data from another
buffer. This scheme does cost core for the extra
buffer and additional programming involved, but in most
cases it should allow the card throughput for the 2501 to
remain at 1000 cards per minute. The coding illustrated below shows the double-buffering technique used
for reading cards from the 2501, and converting them
to EBCDIC.

....,
Changing cartridges in the middle of a job is permissible; however, great care must be exercised. A system update operation must always be performed. This
function is provided by the System Library subroutine
SYSUP. The subroutine should be called immediately
following the loading of the new cartridge or cartridges
as follows:

""......

"

"

Io.c.
ID.c..

W.
IR..E.A.o..

1D.c,
1D,c.

IS .... T.1

.....,

..

0p0....1an
u

"

Ir.A.L.L

In.l'.

.
lAoD.~

Lo.c,
In.r.

In,c.

ID.Co
1D.c,

F

'.C;.

..

..

T

"" "c.

"

....L.B.E'

lD.c.,

.n.Cn."

"

"

-

• b.Lo.

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

.".".V

iL.iI!.Z.Z,lIL

I

I

I

I

I

a I

I

I

I

I

I

I

I

I

I

I

• (.CoAJfi'L ~ ~~
• (.eA.II"1' • • r.n

.()",

.""G.... .A,
•.c,

.f.)
• z.)

..D6.r..JI.L

..?)

,(.CoA.R..L ,z.D._.t1h .1.n,tt;./,r,A,L

,4.)

.0."

oLJJ~

..•.

"

~

.",-~-~

,"'.U.I.S, ,/1.1£..4,0.

,r" .n.

,r.,.., .nAl..v.

.n.T....,.T.4........
.... ~.A.n.

,&.r.s .r.n. ... .".T.e.'"
.a.a. .Tn .~.~.r.
.e. •,".ALS.T. '
.r.8oM ,c..AoR,o,...c.t:JtI:lL,
,£'.BL'.n.r,c.
.T, lP, j,T .A,R,~,
.n.IJ.T.D, '.T, .A.R.E.JI
~
,Noll.

ia....: ....

...
.~

."'.llI

"i

e."

.".a.AI,V,

." •. r.,

~R..... TD,II.I

~

.~r

,.,.

IR.II!

IC..4..L...&.

.T..4,S

"

,T.O.

,"A

.F'• .

r.""'"

r~

..0.0.

IA.JO.A.n.R.

IS,T,a

1'<:,"'.T.1.
14....
1... C .... n.R.

IA

IO.A1,E,

M,D"

l.,.,..T.2.
lC;.F:.T ..~.

~,T,a,

c. iD.x.Noli

.c.UoA.AI,r.;.E:, ,R.£Aol),

,"'.1

~

',I:,I:.F'.IfI.

......"'=.",....
...r,n.R.

I,E.X,T, ,T.r.ME: •. T.U ....

,c,IL.A..N.Gi.oE..

....

.......".. '.T.'U·.n.

~

.t'I.", ...

.4.1J.0. ,O,U.T.PlU,-r ••B.F'.R

... oFJ.O,J>".

.r

,....

,""I.n •

.n. ,,..,n,

...a,MII

.

.

olII

J..

.

lB.

...

IR.E.A.O,

.oJ.",....". .4.12,"'.4,s.

Il,

Io..N..E..
Ia. I.E'~,

IoJ:.
I.o.c.

.V,A,

IB.U.F.Z,

110,

ID.C.

1a.6!.
lA.iII.

~

I,E,
o..E.Q&..

,C,A,R,a .RoLIoE..E.£oR.

.al:..'1.,
.r.JI.D.n. .AoO:,A. . "l.

.,L

.c.a. IJiLL ~ ,CoA,R.D• .B.t:,R, .:2..
.(',4,/l,0. . 11. ',F.FE,R. ,Z,

,MOlD.R.D.

i&~

IB.s..s.

J..

.1IIJ.l1"RoD,.

11I.1lI.

Iss,s.

..

...••
JII

LA.AI.D,

R.

so

.

.

lIE,

The IDs of cartridges to be used must be specified,
even those that were previously specified except the
master (logical 0), which if unspecified will be the
previous master. Continuation of the job must be delayed until all the newly loaded cartridges are ready.
Rules governing the specification of cartridges are the
same as those for the JOB Monitor control record.

.•

.~.r.p.r.t"J

,lI

I

.11.)

.r.JI,

.n,r.. ....It.

,z.o.

.( ,c,A.P.T,
,(,(".AoII,-(. ,L,a,

"

I,A,E,-

<2

12.r.p,c.l),
1/.t.1,d!.1

IA. I.I:.~ ... ~

1&
Ia.

" .nn.

. T •. I.r,s, .p,E:,lI,a ,wr
'-,U,N,T,I,

I/.f..liili,.,
IA. '.I:.~

Ill,C,

IR,T.E,

I

Opon..do&..-.

'I",
,lIf.c.A.R,D"

1",.#'.A.n.m.

ID.l::.
I.a.c

IsJ...o..

--'-

.PoR.I

1/01.411.•.0.
lAo lI:.~

LC;.E:.T.2.

.n.ll.R.
I

"

Is....£.:L.3.

..

Opon,nd,&.~.JI

I....

1",.... 4.n. •.

lit.

!It..

"

..LaE

..

F T

u
" ""
I.L....La.E

.....
...dI

•T

I..

IE,
Ie,

.~.
.

..

.........

. 4 ........ ~
.(1.1::,
.T. I,f". ,C.JI.Il.o• .......JI.n.T. I.r.
• n.n.P.

•PJI.r.lI.,

Ia.
III,
\a.~.A.D,A

..
..
HI

,Al.A,KoE, .N,E,JC...L

Is.soS

106.

!D,c

lEI.

ID.c.

lBolJoJ'.2,

I.....

".T."'''' ,E:,V.£.N,

.o...E.. .r."."'.n .AII.I:.I:.E:.R, ,1.
,0.1=, .r.4.Il.n ... J.I:....F,,,.. . 2.

1403 Conversion Subroutines

Intermediate I/O

Two subroutines are provided with the Monitor system
that may be used by Assembler object programs to convert EBCDIC to 1403 Printer Code. These subroutines
are EBPRT and ZIPCO.
U sing the execution times listed in the Subroutine
Library manual, the average time EBPRT requires to
convert a 120 character line is 156 m s. This compares
with an estimate of 72 ms per line for ZIPCO.
Considering that the available times on the 1403
Printer are

As the source records are read and processed by the
Assembler in Pass 1, each statement is packed and
saved on the disk in Working storage. The part of the
record that is saved is from column 21 to the last nonblank column. If no listing is specified, comments
records are not saved on the disk.
Each record saved on the disk is preceded by a prefix word that contains the length of the associated record plus one. Up to sixteen 38-column records are
saved on one sector.

Model 6 (340 LPM): 176 ms/line
Model 7 (600 LPM): 100 ms/line
it would be difficult or impossible to run the printer at
rated speed, depending on the model, using EBPRT. If
overlapped I/O were attempted, it would be impossible
to run either model at rated speed.
The assembly language programmer is therefore advised to use ZIPCO for all EBCDIC to 1403 Printer code
conversions.

WRITING ISS AND ILS

Interrupt Service Subroutines
The following rules must be adhered to when writing an
ISS:
•

Precede the ISS statement with an LIBR statement
if the subroutine is to be called by LIBF rather than
CALL.

•

Precede the subroutine with an EPR (extended) or an
SPR (standard) statement if precision specification
is necessary.

•

Precede the subroutine with one ISS statement defining the entry point (one only), the ISS number, and
the ILS subroutines required. The device interrupt
level assignments, and the ISS numbers used in the
IBM-provided ISS and ILS routines, are shown in
Table 4. See the 1130 Assembler Language Manual
(Form C26-5927), for a description of the ISS statement. Note that the ISS numbers assigned by the
IBM-supplied subroutine range from 1-11. ISS
numbers 12-20 are assignable by the user. (They
should be assigned from 20 downwards. )

•

When assembling the ISS, an *LEVEL n control
card must be included for each interrupt level
associated with the device.

•

The entry points of an ISS are defined by the related
ILS. This must be taken into consideration when a
user-written ISS is used with an IBM supplied ILS.
The ILS executes a Branch and Store I instruction
to the ISS at the ISS entry point plus n (see Table 4).
The ISS must return to the ILS via a BSC instruction
(not a BOSC).

TIPS FOR ASSEMBLER LANGUAGE USERS

Grouping of Mnemonics
Assem bIer language program s can often be organized in
such a manner as to improve the assembly time. The
Assembler Program is divided into overlay phases, each
phase processing a certain group of mnemonics. By
grouping mnemonics of a common type in the source program, fewer disk reads of overlay phases will be required by the Assembler. The following is a list of the
mnemonics as they are grouped within the Assembler
program:
A.
B.
C.
D.
E.
F.

ABS, FILE, ENT, ISS, ILS, SPR, EPR
DCs and imperative instructions (A, LD, EOR,
BSC, etc.)
DEC and XFLC
DMES
HDNG, ORG, EQU, BSS, BES, LIST, SPACE,
EJCT, DUMP, PDMP
LIBF, CALL, DSA, LINK, EXIT, EBC, DN

Each time a mnemonic is encountered during the
assembly process, the overlay phase required to process it will be read into core, unless it is already residing in core.

Programming Tips and Teclmiques

51

Table 4. ISS/ILS COlTespondence
ISS
Number

Device Interrupt
level Assignments

Device

n

1

1442 Card Reader Punch

0,4

+4, +7

2

Input Keyboard/Console
Printer

4

+4

3

1 134/1055 Paper Tape
Reader/punch

4

+4

4

Disk Storage

2

+4

6

J 132 Printer

1

+4

7

1627 Plotter

3

8

Synchronous Communications Adapter

+4
I

9
10

1

+4

1403 Printer

4

+4

1231 Optical
Mark Page Reader

4

+4

Interrupt Level Subroutines
An ILS is included in a core load only if requested by an
ISS that is a part of the same core load. ILS02 and
ILS04 are a part of the Resident Monitor unless they are
deleted from the System Library and replaced with userwritten subroutines. The following rules must be adhered to when writing an ILS.
•

Precede the subroutine with an ILS statem ent to
identify the interrupt level involved.

•

Precede all instructions by an ISS branch table
and include one word per ILSW bit used. If the
ILSW is not to be scanned, (i. e., a single ISS
handles all interrupts on the level), then a one
word table is sufficient. The minimum table
size is one word. Table words must be non-zero.
A zero must follow the branch table.

is the ISS number implied by bits 8-15 of the branch
table word and specified in the ISS statement. This
number identifies a core location in which the Core Load
Builder has stored the address of the called entry point
in the ISS. This entry point address is incremented by
the value in bits 0-7 of the branch table word, prbducing the interrupt entry point address. The Core Load
Builder replaces the ISS branch table word with the
interrupt entry point address.
During execution, each address in the branch table
may be used with an indirect branch and store I (BSI)
instruction to reach the ISS corresponding to that ILSW
bit position. The ILSW bit that is ON can be determined
by the execution of a SLCA instruction. At the completion of this instruction, the index register specified
contains a relative value equivalent to the bit position
in the ISS branch table. An indirect, indexed BSI may
then be used to reach the appropriate ILS.
Before processing by the Core Load Builder, each
word in the ISS branch table has the following format:
Bits 0-7 -- Increment added to the entry point named in
the ISS statement to obtain the interrupt entry point in
the ISS for this ILSW bit. (In IBM -written ISS subroutines, this increment is +4 for the primary interrupt
level and +7 for the second interrupt level.)
Bits 8-15 -- @ISTV+ the ISS number for the ISS subroutine for this ILSW bit.

•

The ILS entry point must immediately follow the ISS
branch address table and must be loaded as a zero.
The Core Load Builder assumes that the first zero
word in the program is the end of the branch table
and is also the entry point of the ILS. (The table
must contain at least one entry.) The interrupt
results in a BSI to the ILS entry point.

•

To clear the level, a user-written ILS, used with
an IBM-supplied ISS, should exit via the return
linkage with a BOSC instruction.

•

User-written ILS must replace the equivalent IBMsupplied ILS. The user written ILS must be stored
as ILSOx, where x = 0, 1, 2, 3, 4, or 5.

•

The IBM-supplied ILS02 and ILS04 subroutines
are stored as subtype 1. User-written replacements
must be stored as subtype zero.

•

The branch table for ILS04 may have no more than
9 entries.

Word Corresponding To
ILSW Bit 15
ILSW Bit 14

ILSW Bit 0

I

ISS Branch Table

The ISS branch table identifies both the ISS subroutine
and the point within the ISS which should be entered for
each bit used in the ILSW. The actual linkage is generated by the Core Load Builder. Basic to this generation

52

READING A CORE MAP AND A FILE MAP
The core maps described below are taken from the
sample programs supplied with the Monitor system.
(The sample program listings and operating instructions
are printe<;y in Appendix J.)
The core map for the Assembler-language sample
program indicates that there were /7904 words of core
storage not occupied by the core load (R41 is an informational message, not an error message). There was
only one CALL (FSQR), but there were several LmFs,
e. g., FARC. The ILS02 and ILS04 subroutines are
required; however, their addresses indicate that they
are a part of the Resident Monitor and not in the core
load proper. The entry point to the mainline program
is /OlFE.
The principal difference in the core map printed for
the FORTRAN-language sample program is that it includes a file map. The file defined as file number 103
has been equated to a data file named FILEA, which begins at sector /OlAE, is one sector in length, and is
stored on a cartridge labeled OOOF.
If file 103 had required more than the two sectors
available in FILEA, the record count would have been
reduced to make the file fit in FILEA, and the file
map entry would have been
103 01AE 0002 OOOF FILE A TRUNCATED
The files defined as 101 and 102 are files in Working
Storage because they do not appear in the *FlLES record. This can be determined by looking at the rightmost entry in the file map. For files defined in the
User /Fixed Area, for example, FILEA, this entry is
the name of the file; otherwise, it is the address of
Working Storage.
The second entry for a User/Fixed Area file is the
absolute sector address of the first sector of the file.
For files in Working Storage, this address is relative
to the first sector of Working Storage. Thus, the absolute sector address of the first sector of file 101 is
/0000 + /01BO; for file 102 it is /0001 + /OlBO.
Note that the 4K example requires both LOCALs
and SOCALs. The LOCALs were, of course, requested
by the user, and the core map entries for the LOCAL
subroutines (FLOAT, FARC, and IFIX) have been flagged. The presence of SOCALs, which were selected and
constructed by the Core Load Builder, are also indicated
by flags on the core map entries for the subroutines included in the various SOCALs. The number following the
word "SOCAL" indicates in which of the SOCALs a particular subroutine is to be found. In this case SOCAL
Option 2 was employed. This can be deduced from the
fact that there are three SOCALs. Option 1 consists of
only two.
Several other facts about the 4K core load can be extracted from the core map. For one thing, the core

load exceeds the capacity of core storage (before
SOCALizing) by /03AB words (message R40). Furthermore messages R43, R44, and R45 indicate that
SOCALs 1, 2, and 3 reqUire /0124, /06AC, and /02A2
words of core, respectively. This information indicates
that, for example, since SOCAL 2 is much larger than
SOCAL 1, more arithmetic and function subprograms
may be called at little extra cost in core. (It would be
necessary to reduce the dimension of the variable B
to realize this.) Message R41 say s that, after '
SOCALizing, there are only /0004 words of core that
are not used by this core load.

Assembler Core Map
1/ XEQ

L
R 41 7904 (HEX) WDS UNUSED BY CORE LOAD
CALL TRANSFER VECTOR
FSQR
0248
LIBF TRANSFER VECTOR
FARC
069E
XMOS
0682
HOLL
0632
PRTY
05E2
EBPA
0592
FAOO
04El
FDIV
0540
FLO
048C
FADDX 04E7
FMPYX 04A2
FSTO
0470
FGETP 0456
NORM
042C
TYPEO 0312
EBPRT 02AC
IFIX
0280
FLOAT 0230
SYSTEM SUBROUTINES
ILS04 00C4
IlS02 00B3
01FE (HEX) IS THE EXECUTION ADOR

FORTRAN Sample 4K Core and File Map
II XEQ
l 2
*lOCAl'FlOAT,FARC,IFIX
*FILES(10"FIlEA)
FILES AllOCATION
103 OIAE 0001 OOOF FIlEA
101 0000 0001 OOOF 01BO
102 0001 0001 OOOF 01BO
STORAGE ALLOCATION
R 40 0'A8 (HEX) ADDITIONAL CORE REQUIRD
R 43 0124 (HEX) ARITHIFUNe SOCAl WD CNT
R 44 06AC (HEX) FIIO, 110 soeAL WD CNT
R 45 02A2 (HEX) DISK FIIO SOCAl WD CNT
R 41 0004 (HEX) WDS UNUSED BY CORE lOAD
LIBF TRANSFER VECTOR
EBCTS OF53 soeAl 2
HOlTA OF17 SOCAl 2
GETAO OED4 soell 2
XMOS
0982 soeAl 1
HOlEl OE9E SOCAl 2
NORM
07De
FADDX 0950 SOCAl 1
FSBRX 0934 soeAl 1
FMPYX 0900 soeAl 1
FDIV
08AE soeAl 1
FSTOX 0788
FlDX
07A4
SDCOM 0920 soeAl 3
SDFX
08E6 soell ,

Programming Tips and Techniques

53

SOWRT
SIOFX
,sUBSC
SIOI

0954
OttA
078E
099E
0982
08AB
0880

The variable array A is to be found between core locations /OODC + /001E + $ZEND and /0016 + /001E
+ $ZEND, inclusive. That is, Al is at /OODC + /001E
+ $ZEND, A2 at /OODB + /001E + $ZEND, etc. The
/OOlE term is the length of the Core Image Header and
$ZEND is the address of the first core location following DISKZ.
The other allocation addresses, e. g., statement
allocation, may be calculated in a similar manner.

SOCAL 3
SOCAL 2

SOCAl 2
SCO~P
SOCAl 2
SWRT
SOCAL 2
SRED
SOCAl 2
FSTO
onc
Fl.O
07Ae
PRNTl OOEO SOCAL 2
CAROl 0036 SOCAl 2
SFIO
09AO SOCAl 2
SOFIO 0959 SOCAl ,
IFIX
OB7C lOCAL
FARC
087C lOCAL
PLOAT OB7C LOCAL
SYSTEM SUBROUTINES
IlS04 00C4
Il.S02 0083
ILS01 OF5A
1 LSOO OF75
FLIPR 0816
0400 IHEXI )S THE EXECUTION AOOR

INITIALIZING $$$$$ DATA FILES FOR USE WITH
FORTRAN UNFORMATTED I/O
The user must define a Data File with the name $$$$$
prior to executing a FORTRAN mainline program or
subroutine that uses unformatted I/O. This Data File
must be located in the Fixed Area. One file may be
defined in the Fixed Area of each cartridge on the system; however, only one $$$$$ file may be referenced
in anyone job.
The following example shows a $$$$$ file being defined on a satellite cartridge.

FORTRAN Sample 8K Core and File Map
II, XEQ
L 1
·'ILESC103.FIlEAI
FILES ALLOCATION
103 OlAE 0001 OOOF 'ILEA
101 0000 0001 OOOF 0180
102 0001 0001 OOOF 0180
STORAGE ALLOCATION
R 41 OC9C (HEXI wes UNUSED BY CORE LOAD
LIBF TRANSFER VECTOR
E8CTa UCO
HOLTS 1291
G!TAD 124E
NOR,..
1224
XMOS
1208
FARC
11E6
HOLEZ 1180
FLOAT llA6
IFIX
117A
FADOX 1125
F58RX
10FC
FMPYX 10C8
FOIV
1076
FSTOX 101E
FLDX
103A
SDCC»'! 07FE
SOFX
07C4
SOWRT 0832
SIOFX OSIA
SUBSC 1054
SIOI
OB1E
SCO~P
OB02
SWRT
OA2A
SRED
OA30
1022
FSTO
FLO
103E
PRNTl OF60
CAROZ OEB6
SFIO
OB20
SOFIO 0.837
SYSTEM SUBROUTINES
ILS04 00C4
ILS02 00B3
ILSOl 1202
IL500 UEO
0400 CHEXI IS THE EXECUTION AOOR

The satellite cartridge ID is 1004
The system cartridge ID is 1001
A file of 100 sectors is desired
After the file is defined, program ML1 which uses unformatted I/O can be executed. Note that no *FILES
card is required at execution time to define the $$$$$
file.

.1()Q4 .

USE OF DEFINED FILES

LOCATING FORTRAN ALLOCATION ADDRESSES
The variable allocations listed below are taken from the
FORTRAN sample program in Appendix J.
VARIABLE
AIR
V3CI
l211
KI r

ALLOCATIONS
)-000C-0016
,-020E
'-0214
'-02lA

OCR '-020A
1141 (I 1-0211
Nil 1-0217

54

XCR I-OOFO-OOOE
MIl '-020F
NlII 1-0215
IKII 1-021B

SIR
LI I
N21I
Il(I

,-0208-00F2
1-0210
).0216
'-021C

Vl (I 1-02,OC
1142(1 )-0212

V2CI

'-0200

IC I )-0218

Ll (l '-02lS
JC I h0219

When an *FILES Supervisor control record is used following a / / XEQ Monitor control record, or a
*STORECI control record, the Core Load Builder
attempts to locate the file name by searching LET or
FLET. If the name is found, the sector address of
this Data File is inserted in the file table (created as a
result of the FORTRAN DEFINE FILE statement or the
Assembler FILE mnemonic) identified by the file number specified on the *FILES record. If the file name
is not found in LET or FLET, the Core Load Builder
causes this file to be a Working Storage file. A suggested way of initially allocating a disk area for a Data
File is to perform a *STOREDATA DUP operation from
Working Storage to the User or Fixed Area. The number of sectors stored should be determined on the basis
of the number of records the file is to contain, and the

size of each record. Note that records do not continue
across sector boundaries. Once the number of sectors
required has been determined, this number of sectors
should be specified on the *STOREDATA control record,
provided the User Area or Fixed Area is large enough
to contain this file.

initialize sector addresses only.
operating procedure. )

(See p. 87 for

If some part of the Monitor System has been

DUPLICATE PROGRAM AND DATA FILE NAMES

destroyed (including LET, FLET, User Area and
Fixed Area) a reload function may be performed
with the System Loader. In this case, the entire
Monitor System deck, except the System Library,
should be processed by the System Loader.

On a multi-drive system, it is possible to have more
than one program or data file with the same name. This
can cause problem s when attempting to execute or delete
the named program.

MAINLINE PROGRAMS THAT USE ALL OF CORE

Example:
2 3 " 5 6 7 8

"011'2'3'" 1516171819 20212223 2"252627282930 3132333<1 3536373839<10"1<12"3

.PItDt:.l

Before writing a program that -occupies all or nearly all
of core, the user should weigh the advantage gained
against the possible later rewriting required if IBMsupplied subroutines used by the core load are expanded
due to modification .

.2.222

TIPS FOR FORTRAN LANGUAGE USERS

•

It is strongly recommended that the use of the 1130
device code be avoided in READ and WRITE statements, the use of integer variables in such cases
allows for easier modification.

././. J(~Q DO~l

This sequence of instructions will cause PROG1 on the
cartridge labeled 1111 to be executed when PROG1 on
2222 may have been desired. A similar problem can
occur on a DELETE operation.
1 2 3 " 5 6 7 8 ' 101112131"1516171819202122232"2S26272829303132333<13536373839<1O""'H3

would delete the program on 1111, not the one on 2222.
The answer to this problem is to avoid having two
programs or data files with the same name. If a strange
cartridge is on line and it is not needed for the job,
disable it.

NAME CONFLICTS

CONNECTING FROM VERSION 1 TO VERSION 2
•

Data files and DSF programs must be dumped
from the Version 1 cartridge to cards or paper
tape and stored on the Version 2 cartridge under
DUP control,

•

The five-character alphameric disk cartridge
labels used in Version 1 must be changed to
four-character hexadecimal labels.

•

DCI programs on a Version 1 cartridge cannot
be dumped and stored on a DM2 cartridge.
They must be stored in DSF on the DM2 cartridge and then converted to DCI under DUP
control, which implies that the original DSF
mainlines must be available.

•

Since the FORTRAN I/O device numbers are
fixed, some reprogramming is necessary whenever programs that use a given I/O device are
required to employ a different device. For
example, if a program that uses an 1132 Printer
is to use a 1403 Printer, the device numbers must
be changed in all READ and WRITE statements
that reference the printer.

In STORE and DELETE operations, care should be
taken to avoid name conflict with IBM-supplied programs. If the program to be stored or deleted
carries the same name as an IBM program, the
system may execute the operation on the wrong
program.
RESTORING DESTROYED CHARACTERS
Cartridges that contain data and/or programs in
the User Area or Fixed Area, and which may be
difficult to replace, can sometimes be restored to
use after being rendered unusable. If only sector
addresses are affected, DCIP may be used to

Programming Tips and Techniques

55

MONITOR SYSTEM LIBRARY

The System Library is a group of disk-resident subprograms and mainline programs that perform I/O,
conversion, arithmetic, and disk initialization and
disk maintenance functions. A paper tape utility program (PTUTL) is also included in ~e System Library.
Appendix F is a listing of the Monitor System Library.

ADDING AND REMOVING SUBROUTINES
Subroutines can be added to or deleted from the Monitor
System Library as desired by the user. The DUP control record STORE is used ~o add a subroutine and the
DUP control record DELETE is used to remove a program (see DUP Control Records). Each program in the
mM-supplied system deck is preceded by a DUP STORE
control record.
The user should not remove subroutines that are
called by other subroutines left in the System Library
(refer to Appendix F for a list of subroutines called by
other subroutines). Neither should he delete any of the
mainline programs, since they may be required by
Monitor programs.

PREOPERATIVE ERRORS
A preoperative error is an error condition detected
before an I/O operation is started. It denotes either an
illegal parameter, an illegal specification in the I/O
area, or a device not-ready condition. This error
causes a trap to $PRET and the following conditions:
• The Instruction Address Register displays the
address $PRET+1.
• The Accumulator displays an error code represented by four hexadecimal digits.
Digit 1 identifies the ISS called:
1234-

5 - DISKx

6789A-

SYSTEM LIBRARY SUBROUTINES

The 1130 Monitor System Library contains a group of
programs that aid the programmer in making efficient
use of the 1130 Computing System. Descriptions of the
programs and methods for programming them are contained in the publication, mM 1130 Subroutine Library
(Form C26-5929). From an operational standpoint, the
programs of particular interest are the I88s, which
manipulate the I/O devices attached to the 1130 Computing System and handle all programming details peculiar
to each device. Table 5 lists the!SSs supplied with the
1130 Monitor system.
NOTE: User-written ISSs should be numbered from 20
down to avoid conflict with IBM -assigned ISS numbers
(see Digit 1 under Preoperative Errors).
NOTE: Although the disk subroutines are technically not
ISSs, they have most of the characteristics of an ISS.
The following paragraphs describe the use of some of
the IBM-supplied ISS subroutines and discuss preoperative errors and I/O error restarts in which special
handling is required. All addresses are given in symbolic form. See the table of equivalence in the listing of
the Resident Monitor (Appendix H) to equate the symbolic
to the absolute addresses. ISS preoperative error WAITs
are listed in Appendix A.

CARDx or PNCHx
TYPEx or WRTYx
PAPTx
READx
PRNTl, PRNT2, or PRNT Z
PLOTl
SCATx
PRNT3 or PRNZ
OMPR1

Digits 2 and 3 are not used.
Digit 4 identifies the error:

o - Device not ready
1 - nlegal parameter or illegal specification in
I/O area

Table S. 1130 Disk Monitor System ISS Names

Subroutine

Device
1442 Card Read Punch

CARDZ, CARDO, or CAROl

2501 Card Reader

READZ, READO, or READI

1442 Card Punch

PNCHZ, PNCHO, orPNCHI

Disk

DISKZ, DISKl, or DISKN

1132 Printer

PRNTZ, PRNTl, or PRNT2

1403 Printer

PRNZ, or PRNT3

Keyboard/Console Printer

TYPEZ, or TYPEO

Console Printer

WRTVZ, or WRTYO

1134/1055 Paper Tape Reader
Punch

PAPTZ, PAPTl, PAPTN, OR PAPTX

1627 Plotter

PLOTI

1231 Optical Mark Page Reader

OMPRI

Synchr. Comm. Adapter

SCATI, SCA T2, or SCAT3

Monitor System Library

57

•

$PRET contains the address of the call in
question.

The ISS is set up to attempt initiation of the operation
a second time if the CALL is re-executed. Pressing the
PROGRAM START key will return control to the ISS for
a re-execution of the call.
When a preoperative error is encountered the operator
can:
•

Correct the error condition if possible and press
PROGRAM START, or

•

Note the contents of the Accumulator and location
$PRET, dump core storage, and proceed with the
next job.

1442 CARD SUBROUTINE ERRORS
(CARDx AND PNCHx)

if necessary, on a read or feed operation) and reinitiating the function whenever the card reader becomes
ready.
Read errors do not apply to the 1442-5.
Hopper Misfeed. Indicates that card 2 failed to pass
properly from the hopper to the read station during
the card 1 feed cycle.
Card positions after error:
Punch Station

Read Station

m

Corner

Stacker

Hopper

Error indicator:
Operator procedure:

Error Parameters
CARDZ, CARDO, PNCHZ, or PNCHO. There is no
error parameter. If an error is detected during processing of an operation-complete interrupt, the subroutine traps to $PST4, with interrupt level 4 on. After
the 1442 is made ready, pressing the PROGRAM START
key will cause the operation to be reinitiated.

Feed Check (punch station). Indicates that card 1 is
improperly pOSitioned in the punch station at the completion of its feed cycle.
Card positions after error:
Punch Station

CARD1 or PNCH1. There is an error parameter. If
an error is detected during processing of an operationcomplete interrupt, the user program can elect to
terminate (clear "subroutine busy indicator" and turn
off the interrupt level) or to retry. A retry consists of
waiting at $PST4 with interrupt level 4 on and then reinitiating the function.
Last Card. A read or feed function requested after the
last card has been detected causes the last card to be
ejected, and a trap to $PRET occurs. A punch function
will punch and then eject the last card with a normal exit.

1442 Errors and Operator Procedures
If a 1442 error occurs, the 1442 becomes not-ready

until the operator has intervened. Unless the stop is
caused by a stacker full (no indicator) or chip box: indication, the 1442 card path must be cleared before proceeding. The 1442 error indicators and the position of
the cards in the feed path should be used to determine
which cards must be placed back in the hopper.
For the card subroutines, a retry consists of positioning the cards (i. e., skipping the first card in the hopper,

58

HOPR
When program halts, press
NPRO to eject card 1, place
card 1 in hopper before card
2, and ready the 1442.

Read Station

Hopper

Error indicator:
Operator procedure:

PUNCH STA
When program halts, empty
hopper, clear 1442 card path,
place cards 1 and 2 in hopper
before card 3 and ready the
1442.

Transport. Indicates that card 1 has jammed in the
stacker during the feed cycle for card 2.
Card positions after error:
Punch Station

Read Station

Comer

Stacker

Hopper

Error indicator:
TRANS
Operator procedure: When program halts, empty
hopper, clear 1442 card path,
place cards 2 and 3 in hopper
before card 4, and ready the
1442.
Feed Cycle. Indicates that the 1442 took an unrequested feed cycle and, therefore, cards 1, 2, and 3
are each one station farther ahead in the 1442 card
path than they should be.
Card positions after error:
Punch Station

Read Station

[JJ

Corner

Stacker

Hopper

Punch Station

Corner - - - .

Feed Check (read station). Indicates that card 1 failed
to eject from the read station during its feed cycle.
Card positions after error:
Punch Station

Read Station

[JJ

[!:]
[JJ

Stacker

Hopper

Error indicator:
READ REG
Operator procedure: See Feed check (punch station).
Repeated failures of this type
might indicate a machine malfunction.
Punch Check. Indicates an error in output punching.
Card positions after error:
Punch Station

Error indicator:
FEED CLU
Operator procedure: When program halts, empty
hopper, press NPRO to eject
cards 2 and 3, place cards 1,
2, and 3 in hopper before
card 4, and ready the 1442.

Read Station

Read Station

Corner

Hopper

Stacker

Error indicator:
PUNCH
Operator procedure: When program halts, empty
hopper, check card position
and press NPRO to clear 1442
card path. If necessary, correct card 1 to prepunched state.
Place (corrected) card 1 and
card 2 in hopper before card 3
and ready the 1442.

Hopper

2501 CARD SUBROUTINE ERRORS (READx)

Error indicator:
READ STA
Operator procedure: When program halts, empty
hopper, clear 1442 card path,
place cards 1 and 2 in hopper
before card 3, and ready the
1442.
Read Registration. Indicates incorrect card registration or a difference between the first and second reading
of a column.
Card positions after error:

Error Parameters
READZ or READO. There is no error parameter. If an
error is detected during proces sing of an operationcomplete interrupt, the subroutine traps to $PST4, with
interrupt level 4 on. After the 2501 is made ready,
pressing the PROGRAM START key will cause the
operation to be reinitiated.
READ!. There is an error parameter. If an error is
detected during processing of an operation-complete

Monitor System library

59

interrupt, the user program can elect to terminate
(clear "subroutine busy indicator" and turn off the
interrupt level) or to retry. A retry consists of waiting
at $PST4 with interrupt level 4 on until the 2501 becomes ready, and then reinitiating the function.

KEYBOARD SUBROUTINE FUNCTIONS
(TYPEZ and TYPEO)

Re-entry
Last Card. A read function requested after the last
card has been detected causes a trap to $PRE T.

2501 Errors and Operator Procedures
If a 2501 error occurs, the 2501 becomes not-ready

until the operator has intervened. Unless the stop is
caused by a stacker full or cover open (A TTE NTION),
the 2501 card path must be cleared before proceeding.
The 2501 error indicators and the position of the cards
in the feed path should be used to determine which
cards must be placed back in the hopper.
For the card subroutines, a retry consists of positioning the cards (i. e., skipping the first card in the
hopper, if necessary) and reinitiating the read function
whenever the card reader becomes ready.
FEED CHE CK. A feed check indicates that a card is
mispositioned in the feed path or a card has failed to
feed from the hopper.
When the program traps to $PST4, empty the hopper
and clear the 2501 card path. If a card is improperly
positioned at the pre-read station (it has not been read),
place this card ahead of the cards remaining to be
read, place the deck back in the hopper, and ready the
2501.
READ CHECK. A read check indicates incorrect
card registration or a difference between the first and
second reading of a column.
When the program traps to $PST4, empty the hopper,
NPRO, place the last two cards in the stacker ahead of
the deck remaining to be read, place this deck back in
the hopper, and ready the reader.

When the ERASE FIELD key is pressed, a character
interrupt signals the interrupt response subroutine that
the previously-entered Keyboard message is in error
and will be re-entered. The subroutine prints two
slashes on the Console Printer, restores the carrier to
a new line, and prepares to replace the old message in
the I/O area with the new message. The operator then
enters the new message. The old message in the I/O
area is not cleared. The new message overlays the
previous message, character by character. If the
previous message was longer than the new message,
characters from the previous message remain (following
the NL character which terminated the new message).
When the interrupt response subroutine recognizes
the end-of-message control character, it assumes the
message has been completed, stores an NL character
in the I/O area, and terminates the operation.

Backspace
When the backspace key is pressed, the last graphic
character entered is slashed and the address of the next
character to be read is decremented by +1. If the backspace key is pressed twice consecutively, the character
address is decremented by +2, but only the last graphic
character is slashed. For example, assume that
ABCDE has been entered and the backspace key pressed
three times. The next graphic character replaces the C,
but only the E is slashed. If the character F had been
used for replacement, the paper would show ABCDEFFF,
but ABFFF would be stored in the buffer.
TYPE Z treats the backspace key as if it were the
erase field key.

CONSOLE PRINTER SUBROUTINE ERRORS
(TYPEZ, TYPEO, WRTYZ, and WRTYO)
PAPER TAPE SUBROUTINES (PAPTx)
If the carrier attempts to print beyond the manually

positioned margins, a carrier restore (independent of
the program) occurs.
Subroutine printing begins wherever the carrier is
pOSitioned as a result of the previous print operation.
There is no automatic carrier return as a result of a
call to the subroutine.
If the Console Printer indicates a not-ready condition after printing has begun, the subroutine traps to
$PST4 with interrupt level 4 on. After the Console
Printer is made ready, pressing the PROGRAM START
key will cause the operation to be reinitiated.

60

If the reader or punch becomes not ready during an

I/O operation, the subroutines exit to the user via the
error parameter. The user can request the subroutine
to terminate (clear device busy on the interrupt level)
or to wait at $PST4 (postoperative error trap) waiting
for operator intervention (interrupt level 4 on).
If the 1134/1055 indicates a not-ready condition after
an operation has been initiated, the subroutines trap to
$PST4 with interrupt level 4 on. After the device has
been made ready, pressing the PROGRAM START key
will cause the operation to be reinitiated.

SYSTEM LIBRARY MAINLINE PROGRAMS

Printout
PHYSICAL DRIVE

CART.ID

00
01
02
03

xxxx

The 1130 System Library mainline programs provide
the user with the ability to perform disk maintenance
and paper tape utility functions by requesting execution of the appropriate program directly through the
job stream.

04

DISK MAINTENANCE PROGRAMS
The disk maintenance programs are mainline programs
that are a part of the System Library and that initialize
and modify disk cartridge IDs, addresses, and tables
required by the Monitor system. Normally, they should
never be deleted from the System Library.
The disk maintenance mainline programs are:
IDENT
DISC
DSLET

-

ID

COpy

-

ADRWS

-

DLCIB
MODIF

Print Cartridge ID
Satellite Disk Initialization*
Dump System Location Equivalence
Table
Change Cartridge ID
Disk Copy
Write Sector Addresses in
Working Storage
Delete CIB
Monitor System Update

The disk maintenance programs (except ADRWS)
are called by an XEQ monitor control record. Some
disk mmtenance programs also require an ID control
record. The format and use of the ID control record
is described under the program descriptions which
follow.

IDENT (Print Cartridge ID)
This program prints the ID and physical drive number
of each cartridge motmted on the system. The program
overrides any cartridge IDs specified on the JOB card
and operates with all ready drives. IDENT will read
and print illegal IDs including negative numbers.
The calling sequence for IDE NT is:
,

10 11 1

17 I' •• 20 21 22 23 U 25 26 'D 21 29 30 3132 33

*All new cartridges must he initialiZed with DOIP before any operation
is performed under Monitor control. DCIP also provides a disk copy
function similar to the COPY program in the System Library.

XXXX
XXXX
XXXX
XXXX

where
XXXX is the cardridge ID. Only the IDs on ready
drives are printed.

DISC (Satellite Disk Initia.1:ization)
This program re-initializes up to four satellite
cartridges -- all but the master cartridge (see DCIP).
DISC gives the user the ability to re-initialize a disk
cartridge on line. It writes the sector addresses,
defective cylinder addresses, a cartridge ro, a LET, a
DCOM, an error message program, and a CIB on each
cartridge initialized.
DISC overrides all cartridge IDs specified on the
JOB card except the master cartridge ID.
The calling sequence for DISC is:

where
FID1 through FIDn are the IDs currently on the
satellite cartridges to be re-initialized (identified
by IDENT or a JOB record).
TID1 through TIDn are the IDs to be written on the
satellite cartridges by this program. A valid
cartridge ID is a number between /0001 and /7FFF.
DISC Operation
DISC causes all selected satellite drives to seek home.
The program then writes sector addresses and three
distinct bit patterns (/AAAA, /5555, and /0000) on all
sectors on the first cylinder of the first disk cartridge
being reinitialized. The program reads back each pattern after it is written. If no error occurs on any of
the patterns, DISC continues to the next cylinder.
This procedure is repeated until all 203 cylinders have
been checked. The program then starts reinitialization
on the next cartridge selected. If a read error occurs,
the cylinder on which the error occurred is rewritten

Monitor System Library

61

and reread 50 times using the same pattern that caused
the error to appear. If a second error occurs, the first
sector address of the cylinder is placed in the defective
cylinder table in word 1 of sector @IDAD. If a second
and third defective cylinder are found, their cylinder
addresses are written in words 2 and 3 of sector
@IDAD. If there are no defective cylinders on the
cartridge, words 1, 2, and 3 contain /0658. The
cartridge ID is written in word 4 and the copy ID is
written in word 5 of sector @IDAD. An error message
(NON -SYST. CART. ERROR) and the program to print
it on the Console Printer is also stored in sector
@IDAD. The error message is printed if a cold start
is attempted on this non-system cartridge.

One line is printed for each satellite cartridge that is
reinitialized. A NOT DONE message should appear only
if an error message has previously been printed.

DSLET (Dump System Location Equivalence Table)
This program dumps the contents of SLET to the principal
print device. Each entry printed consists of a symbolic
name, phase ID, core address, word count, and disk
sector address. A SLET dump is shown in Appendix I.
The calling sequence for DSLET is:

Printout
When DISC is executed, the user punched *ID record
is printed on the principal print device. Following this
printout one or more of the following error messages
may be printed.
CARTRIDGE XXXX INVALID ••• LOGO CARD ID
The ID of the master cartridge (logical drive 0)
has been specified as a current ID on the *ID card.

ID (Change Cartridge ID)
This program changes the ID on up to four satellite
cartridges.
The calling sequence for ID is:

CARTRIDGE XXXX NEW LABEL IS INVALID
A new ID is outside of the range /0001 - /7FFF.
CARTRIDGE XXXX IS NOT AVAILABLE
A selected cartridge is not on the system
where
CARTRIDGE XXXX IS DEFECTIVE
Sector @IDAD or more than 3 cylinders are defective
on a satellite cartridge being reinitialized (to identify
the defective cylinders, initialize the cartridge using
DCIP).
Following the reinitializ ation of the selected cartridges,
the following message is printed.
XXXXYYYY NOT DONE
or

FID 1 through FIDn are the ID s currently on the
satellite cartridges being changed (these IDs
must be in the same logical order as the entries
on the JOB card),
TID1 through TIDn are the new IDs to be written
on the selected satellite cartridges. A valid
cartridge ID is a number between /0001 and /7FFF.
Printout
FFFF TTTT NOT DONE

COMPLETE
XXXX is the old (FID1) cartridge ID
YYYY is the new (TID1) cartridge ID

62

or
COMPLETE

where

where

FFFF is the FROM ID
TTTT is the TO ID
NOT DONE is printed if a selected cartridge is not
found on the system.

FFFF is the FROM ID
TTTT is the TO ID
NOT PR~S indicates that the ID requested was not
found.
NO. ERROR indicates that the ID requested exceeded
/7FFF.

One line is printed for each cartridge ID that is changed
(maximum 4).

One line is printed for each copy requested on the *ID
record. The printout occurs at the end of the job.
COpy (Disk Copy)
This program copies the contents (except the defective
cylinder table and the cartridge ID) of one cartridge onto
another. The copy ID (word 5 of sector @IDAD) is incremented by one on the destination cartridge. The cartridge to be copied onto must have previously been initialized (see DISC or DCIP).
The calling sequence for COpy is:

ADRWS (Write Sector Addresses in Working Storage)
This program, linked to from DUP on detection of the
DUP control record, DWADR, writes the sector address
on each sector of Working Storage of the disk cartridge
specified in the DWADR control record (see *DWADR
in DUP Control Records). ADRWS is intended for system use only.

D LCIB (Delete Core Image Buffer)

where
FID! through FIDn are the IDs of the cartridges
to be copied,

This program deletes the CIB from a non-system
cartridge. If a User Area is defined, it is moved two
cylinders closer to cylinder o. The new addresses of
disk areas moved as the result of the deletion of the
CIB are reflected in DCOM on the master cartridge,
on the non-system cartridge from which the CIB is
deleted, and in COMMA.
The calling sequence for DLCIB is:

TID! through TIDn are the IDs of the cartridges
onto which the copies are to be made.
If multiple copies are to be made from a single
master, FID! through FIDn will all contain the same ID.
If a system cartridge from a system with a different
configuration is copied, it will be necessary to reconfigure
the cartridge before a Cold Start can be performed (see
System Reload).

where

Printout

CART is the ID of the non -system cartridge from
which the CIB is to be deleted.

FFFF TTTT NOT DONE
or

Printout
COMPLETE
CART
XXXX

or

UA/FX
YYYY

FPAD
NNNN

NOT PRES
or
NO. ERROR

or
XXXXERROR

Monitor System Library

63

where

System Program Maintenance (Patch) Control Record

xxx:x is the cartridge ID
YYYY is the User Area sector address
NNNN is the File Protect Address
ERROR is printed if the CIB was not deleted
(cartridge not found on system or cartridge not
specified on JOB card)

MODIF--SYSTEM MAINTENANCE PROGRAM
Included in the System Library is a system maintenance
program, MOD IF , that provides the user with the ability
to update the Monitor system on the master cartridge.
This program makes changes to the version and modification level word in DCOM, and can be used to update
both System Programs and/or the System Library. A
card deck or paper tape containing corrections to update
the Monitor system to the latest version and modification level is supplied by IBM. Every modification must
be rlID to update the version and modification level, even
if the affected program has been deleted from the system.
NOTE: The replacement of a system program. phase that
contains reload entries (references to SLET generated
by the System Loader during an initial or reload operation) cannot be performed by MODIF. MODIF does not
update the System Reload Table. The replacement
phase must be loaded by a system reload.

Each Monitor program phase to be changed requires a
patch control record. If MODIF determines in analyzing
SLET that the FORTRAN Compiler or the Assembler has
been voided from the disk, modifications to these programs are not made; however, the version and modification levels for these programs are updated in DCOM.
The format of the patch control record is as follows.
Card
Column

Contents

1-5

*MON

5
6-8

blank
vmm

9
10
11-14

0
blank

xxxx

15
16-19

nnnn

20
21

B or H

22
23-26

blank
pppp

27
28-31

blank
dsss

32
33-36

blank
cccc

37-80

Not used

..
..

I/XEQ

Next Monitor Control
Record
MODIF Define End Record

The version (v) and modification level
level (mm) are specified in hexadecimal.
Reserved
The SLET ID of the Monitor program
phase to which the patch is to be
made is specified in hexadecimal.
0000 indicates an absolute patch (see
columns 28-31, 33 -36)•.

"nnnn" specifies (in hex) the number
of patch data records following this
patch control record.

blank

System Program Maintenance

II •••

These characters identify a system
patch to the FORTRAN Compiler,
Assembler, DUP, Supervisor, Core
Load Builder, System Device Subroutinegl, or Core Image Loader

blank

The calling sequence for MODIF is:

Typical input for System Program update is shown in
Figure 12.

Notes

This character identifies the format
of the patch data records (binary
system format or hex patch format)
"pppp" specifies (in hex) the total
number of patch control records to be
processed. This parameter is required on the first patch control
record only. 2
The drive code (d) and sector address (sss) of the program to be
patched are specified in hexadecimal. This field is used only when
the SLET ID (columns 11-14) is o.
"cccc" specifies (in hex) the core
address of the first word of this sector.
This field is used only when the
SLET-ID (columns 11-14) is 0. 3

Notes:
1. Modifications to subroutines in the System Device Subroutine
Area must be made with a *MON patch, not a *SUB DELETE
and STORE.
2. A MODIF job may perform both System Program and System
Library maintenance (see System Library Maintenanc~). In
such a case the number in columns 23-26 must include the
*SUB card in the count. Only one subroutine control record
is allowed in any MODIF job, and it must be the last MODIF
control record (not counting / / DEND) in the stacked input.
3. Core addresses can be obtained from the microfiche listing.

Following System Program
0 4 - - - Maintenance Control Records
and Data Records (if any).
Wt+----Data Records
MODIF
, ......t-----System Program Maintenance
Control Record

Patch Data Record Formats

L _ _ _ _ _ _ _ _.J·....I----System Maintenance Program Call

Figure 12. Layout of an Input Deck for a System Program
Update

64

Patch Data Records may not contain CALLs or LIBFs,
nor will the relocation indicators be used.

Binary System Format.

Word

System Library Maintenance (Subroutine)
Control Record
Contents

Location
Checksum
Type Code (first 8 bits) 00001010
Relocation Indicators
Data words 1 through 45
ID and sequence number or may be blank

1
2
3
4-9
10-54
55-60

Hex Patch Format.
Card
Column
1-4

5
6-9,
11-14,
16-19,
etc.

Card
Column

Contents
aaaa

Only one subroutine control record may appear in a
MODIF job; however, any number of DELETEs and
STOREs may be performed with that control record.
System Library maintenance may also be performed
concurrently with System Program maintenance (see
note 2, columns 23-26 of *MON card)-.
The format of a subroutine control record is as
follows

Notes
"aaaa" specifies (in hex) the core
address (origin) of the patch. Each
patch record must have a core
address.

blank
Each 4-column field contains one
word of patch data (in hex). Up to
13 words of patch data can be specified per record. A blank column
follows each word.

Notes

Contents

1-4

*SUB

5
6-8

blank
vmm

9
10-15
16-19

0
blank
nnnn

20-80

Not used

These characters identify a system
patch to the System Library.
The version (v) and modification
level (mm) are specified in hexadecimal.
Reserved
"nnrm" specifies (in hex) the number
of deletes and stores to be processed.

66-68,
73-80

Not used

Hex patch cards may contain ID/sequence numbers.
Zeros must be punched as leading blanks will not be
assumed.

All Maintenance

Define End Record
System Library Maintenance

All MODIF jobs must end with a card punched as follows.

Changes to the System Library require the deletion of
the old program and the storing of the new one.
MODIF updates the version and modification level word;
the actual operation is performed by a DUP DELETE
operation, followed by a DUP STORE operation.
Typical input for System Library maintenance is
shown in Figure 13.

Card
Column

1-7
8-80

Contents

Notes

//bDEND
Not used

This card terminates MODIF execution and passes
control to the Supervisor.

Operating Procedures
Next Monitor Control Record

MODIF Define End Record

~.xt
DELETE and STORE and New
Version of System library Program, •••

The card deck or paper tape supplied by IBM is to be
run as a Monitor job.
When a modification is completed successfully, the
following messages are printed on the principal printer.
MODIF EXECUTION OWXX
MODIF TERMINATION OYZZ

'-------.JoI~--System Maintenance

where

Program Call

wx:x is
Figure 13. Layout of an Input Deck for a

S~1:em

library Update

the old version and modification number, and
YZ Z is the new version and modification number.

Monitor System library

65

MODIF Error Messages

MODIF Example

If an error occurs during MODIF execution, an error

The purpose of the following example is to change one
instruction in the 1134/1055 System Subroutine. The
SLET ID of this subroutine is /0091.

message is printed on the principal printer. The
format of the error message is as follows.
ERROR#

Address
(from assembly listing)

xxxx: xxxx:

Following the printing of the error message, the system
will WAIT. All MODIF errors and their recovery procedures are listed in table 6.
Table 6.
Error
Number

/0023

Change To

/0000

/7002

If the new modification level is 8, the following control
and data cards must be punched by the user.

MODIF Errors and Recovery Procedures

Description

Recovery Options*

Invalid patch control record
(*MON or *SUB)

A. Correct error and reread from corrected patch
control record. (If the error has occurred
on the first patch control record, restart
the mocffilcation.)
B. Terminate modification, CALL EXIT.

Checksum error on binary
patch data record.

A. Rechecksum and reread from preceding patch
control record. (If the error has occurred
on the first patch control record, restart
the mocffilcation.)
B. Terminate modification, CALL EXIT.
C. Reread card in error (cards may be out
of order).

Invalid hex data record.

A. Correct error and reread from preceding patch
control record.
B. Terminate modification, CALL EXIT.
C. Reread card in error.

1

First Hex Number Printed

Second Hex Number
Printed

Amount of checksum difference.

Number of binaJ: records
read after patc header
(including record in error).

A. Correct error and reread from corrected patch
contro I record.
Terminate modification, CALL EXIT.

Present version and modification
level (from DCOM on disk).

Change level of version and
modification (from patch
control record).

New change level lower
than current level.

A. Correct error and reread from corrected patch
control record.
B. Terminate modification, CALL EXIT.
C. Reduce level and continue.

Present version and modification
level (from DCOM on disk).

Change level of version and
modification (from patch
control record).

Monitor control record or
II DEND card read before
required number of patches
read.

A. Read new patch header.
B. Terminate modification, CALL EXIT.

Number of patches not installed.

6

7

DCOM configuration indicators do not agree with SLET
or, Required system I/o
routine missing.

A. Restart MODIF execution.
B. Terminate madification, CALL EXIT.

Contents of Accumulator when
error was detected.

Address +2 from which error
branch was executed.

DUP control record errors
(DELETES or STORES).

Print error indicators and WAIT.
Press START to continue.

XXVY where XX is the number
of DUP errors detected and
YY is the number of DUP
control records processed (see
DUP error printout).

Number of DUP control
records specified on *SUB
patch control record.

SLET ID not found.

Print error indicators and WAIT.
Press START to read patch data cards without processing and read new control record.

SLET ID in question.

Patch exceeds space allotted
on disk for this phase.

Print error indicators and WAIT.
Press start to read patch data cards without
processing and read new control record.

High core patch address.

II DEND

Press START to CALL EXIT or, Rerun modification
with II DEND card.

2

3

Change level error.
4

B.

5

8

9

A

B

card not found
(patches completed but
version and modification
level in DCOM not updated.

* Set console entry switches as desired for errors 1-7 and press START.
No switches on - recovery A
- recovery B
Switch 0 on
Switch 15 on - recovery C

66

Change From

High core SLET address.

System Program Maintenance Control Record

•

1 2 3 . 5 6 7 . 910111213'415 '6'718'9201'221320526l72829303I31333.353637

•

Patch Data Record: Hex Patch Format
1 2 3 . 5 6 7 8 9'01112,3,.,5,617,8,9202,22232.2516272829303,32333.353637

These two cards together with the Monitor control
cards shown in Figure 12 will perform the required
modification.
At completion of execution, the following messages
will print on the principal printer.
MODIF EXECUTION

MODIF TERMINATION

0207 The execution of
MODIF has been
initialized on version
2 level 7
0208 The patch has been
installed and the new
level is 8.

•

The paper tape utility program is loaded into core and
then comes to a WAIT with /1111 displayed in the Accumulator. This WAIT allows the operator to ready the
Console Printer, paper tape reader, and paper tape
punch. The user should punch a leader of delete codes
on the paper tape punch.
At this time, the user can select the desired program
options by turning on the appropriate console entry
switches. Figure 14 shows the PTUTL console entry
switch logic in flowchart form.

Console Entry
Switch On

o

Print record after reading
Read paper tape records from 1134
Accept Keyboard input1
Punch paper tape records on 1055
WAIT after punching with /3333 in the
Accumulator 3
15
WAIT after printing with /2222 in the
Accumulator 2
All switches off CALL EXIT3
1
2
3
14

PAPER TAPE UTILITY (PTUTL)
This program accepts input from the Keyboard or the
1134 Paper Tape Reader and provides output on the
Console Printer and/or the 1055 Paper Tape Punch.
PTUTL allows changes and/or additions to FORTRAN
and Assembler language source records as well as
Monitor control records.
The calling sequence for PTUTL is:

Operating Procedure
If paper tape is the principal input, select the appro-

priate initializing procedure listed below and continue.
If the Resident Monitor is in core:
• Place the PTUTL execute tape in the paper tape
reader.
• Press PROGRAM START.
If the Resident Monitor is not in core:
• Place the cold start paper tape record in the
paper tape reader.

Press IMM STOP, RESET, and PROORAM LOAD
on the console.
Place the PTUTL execute tape in the paper tape
reader.
Press PROGRAM START.

NOTES:
The keyboard input option uses TYPEO; therefore
all features of that subroutine apply to PTUTL.
• The input record cannot exceed 80 characters.
• Pressing the backspace key cancels the last
character entered.
• PreSSing the ERASE FIE ill key cancels the
entire record and allows the user to restart.
• Pressing the EOF key indicates that the record
is complete. The Keyboard is released and
the program continues.
2. Keyboard input will replace the last paper tape
record read if console entry switch 2 is turned on
prior to pressing PROORAM START.
3. The test for exit is made just before an input
record is read; therefore, a convenient way to
branch out of PTUTL is to perform a WAIT after
punching the last record desired (console entry
switch 14 on). Turn off all console entry switches
and press PROGRAM START. A CALL EXIT
will be executed.
1.

Monitor System Library

67

Paper Tape Not-Ready WAITs
Condition

Indication

Paper tape Program WAITs
reader not with /3005 in
the Accumulator
ready

Recovery Procedures
Ready reader if additional tape is to
be read. Set the console entry
switches as desired and press
PROGRAM START.

Ready the paper tape punch and
Paper tape Program WAITs
punch not with /3004 in the press PROGRAM START.
To repunch the record that was
ready
Accumulator
being processed when the not-ready
occurred., set console entry
switches 1 and 2 off (to prevent
another record from being read), set
switches 3 and 14 on (punch a record and WAIT with /3333 in the
Accumulator), and press PROGRAM
START. After the record is punched,
return the console entry switches to
the original configuration and press
PROGRAM START.

Example
Assume that the follOwing records appear on a tape.
// JOB
/ / *(comments)
// ASM
//DUP
ASM Control Records
Source Program
The user now desires to alter the comments record,
insert a / / PAUS record after the comments record,
and delete the / / DUP record. The procedure is as
follows.
1. Load and execute PTUTL. The program will
WAIT with /1111 in the Accumulator.
2. Load the source tape in the paper tape reader
and ready the paper tape punch and Console
Printer. Make a leader of delete codes on the
punch.
3. Turn on console entry switches 1, 3, and 14.
4. Press PROGRAM START.
5. The / / JOB record will be read, reproduced, and
the program will WAIT with /3333 in the Accumulator.

68

6. Turn on console entry switches 0, 1, 2, 3, 14,
and 15.
7. Press PROGRAM START.
8. The comments record in the source tape will be
read and printed on the Console Printer. The program will WAIT with /2222 in the Accumulator.
9. Press PROGRAM START. The Keyboard will be
selected (PROCEED light on) and the program will
WAIT with /3333 in the Accumulator.
10. Enter the new comments record in the proper format.
11. Press the EOF key on the Keyboard.
12. The new comments record will be punched on the
tape, replacing the old record. The program will
WAIT.
13. Turn off console entry switch 1. Press PROGRAM
START. The Keyboard will be reselected.
14. Enter the / / PAUS record from the Keyboard and
press EOF.
15. Turn off the console entry switches 0, 2, and 15.
Turn on switch 1. Leave switches 3 and 14 on.
16. Press PROGRAM START.
17. The / / ASM record will be read and reproduced
on the punch. The program will WAIT with /3333
in the Accumulator.
18. The next record / / DUP, is to be deleted;
therefore, switches 0, 1, and 15 should be set on,
all other console entry switches should be set off.
19. Press PROGRAM START.
20. The / / DUP record will be read and printed but
not punched. The program will WAIT with /2222
in the Accumulator.
21. Leave the sense switches at the present setting
and press PROGRAM START. The next record
on the input tape will be read into the I/O buffer,
overlaying the / / DUP record.
22. Turn on console entry switches 1 and 3, all others
off.
23. Press PROGRAM START.
24. The remainder of the source tape will be read in
and reproduced, record for record.
25. When the paper tape reader goes not-ready at the
end of the source tape, the program will again
WAIT with /3005 in the Accumulator. Set all
console entry switches off and press PROGRAM
START. A CALL EXIT will be executed.

....

·.....
•• u ••

..··.....·•
•
······U·

S""T

X

•_
.._.........•
·......
•

IIAIT

:
•••• •••
x

•

: C3 :.Il:
5.,1

....
13

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

••

SCnCHES·:.~~~ •••••

....
.. .-

•:U.L
••

OFF..

X:•

UIT
..............
.

•

·NO

C3

YES

•*
••

•• •••••••• ••••••••••

.•.i

••

IS

-. ••

.. ..

NO

SWITCH 1
••••••••••••••••••••
••
ON
••

·

*•••

·····*02·.······.··
..•.•..•.....
i

•

PAP;lA¥APE
•
RECORD

E2

•••

•:*•• SWill"
ON
*.

•

-.

0

·:.··.·e. .·•..•.•·..:
·..•.....••........

•

·:.~~ •••••••••••••• x:

~TTc~rl&~1

i

.:*•• SII.JlH
ON

•*

H3

•••

••

e•

-. -. .....
·NO

••

.:.~~••
.*

.. ..

.•••••.•
••••
··.·*tt2·
..
••
....
•
··
.
.
.
•
•
.................
·•....._..•
.p,..

X

•

IIAIT

PAP:~:PE

.............
RECORD

i

....•••

.*

..

••

•

•

• ...

•
••
IS
•• YES.
•
•••••••••••••••••••• SWIT'" 1. • ••••• X. A3 •

i

•••
*
• YES

•

• . . . .*It. . . . . . . . . . . ..

• : . SV.IlH 3 .:.~~~.... •••
••
011
••
•

511 1"

15

•

KEYBOARD TO

i

SII3

"'~TT=5iAD

••

COIIVERT

• p"e,. eoOE •

i

.•.i

•

• X•••••••••••••••• *

•

···.·
. .2···········.•
•.
....•..•••..•
J2

•

KEI:~OfD

.
...
·_....•.••.•..•...

•

TO :

nPIiR COOE

ACC;EPT

. . . . .F4··•• • . . .••

*-

·..................

•*

•

*••
*
• YES

i
....•F2·····
..••·

511 15

••

• ••
*
• YES

••

.*

*
•

•••

i

••

•*

p,.

•*
*.
• •••
•••••••••••••••• ~.:. Sallt~H 2 ·:.X .... : D4 :
*. O N . .
••
*..*
••••

X

SIlO

i

S.,2

•

*.

ON.*
*..*
*••
·NO

••
••••

··....••••..
i

• C3 •

i

• p,. •

Figure 14. PTUTL Console Entry Switch Options

Monitor System Library

69

SYSTEM LIBRARY UTILITY SUBROUTINES

Also included in the System Library are a group of
subroutines that perform utility functions for the
Monitor system.
The utility subroutines are:
SYSUP
RDREC
CALPR
FSLEN

-

DCOM Updating Subroutine
Read *ID Record Subroutine
Call-System Print Subroutines
Fetch Phase ID (FSLEN) or Fetch
System Subroutine (FSYSU)
LOCAL/SOCAL Overlay Subroutine

FLIPR

where
a is the name of the last item in an array containing
the IDs of the satellite cartridges on the system.
The last item in the array may be zero, in which case
the master cartridge is the same as that defined for the
previous job. For example:
CALL SYSUP (A(5»

SYSUP can be called by the user. The other utility
subroutines are for system use only.

SYSUP (DCOM Update)
Whenever a core load requires changing disk cartridges
during the job, SYSUP must be called to update DCOM
on the master cartridge (logical drive 0) with the IDs
and DCOM information from all satellite cartridges
mounted on the system that are specified in the list or
array in the calling sequence.
The Assembler language calling sequence for
SYSUP is:
Operation

Label

"

25

27

30

r,A,LL
D,C,

IL.I,S,T,

F T
32

JJ

"

is.'''S,U,P,

.,

Operonds&Remorks

"

,r:.A,L,L

"

,DlC,OM

"

'"

."""'.A.orr

IL.I,S,T,

In,r,

In.

In,r:,

II..

In,c~

leo

In,c,
If),(',

If!,

The array is stored in reverse order
A(5) DC
A(4) DC
A(3) DC
A(2) DC
A(l) DC
Thus A(5) is the entry for logical 0, the master cartridge.
A is a one-word integer.
NOTE: The list or array must be no longer than five
words. It may be shorter. If a list or array shorter than
five words is specified, the Assembler array must be
terminated with an ID of all zeros (all zeros in the
first entry will. not terminate the array).
The FORTRAN array must be started with an ID of
all zeros (all zeros in the last entry will not terminate
the array). For example, a three-cartridge FORTRAN
array would be specified as (A(4» with A(l) having a DC
of all zeros.

Id.

Printout
The following error messages may be printed by SYSUP
(SYSUP error messages are also listed with the Supervisor Errors in Appendix A).

where
a is the ID
b is the ID
system,
c is the ID
system,
d is the ID
system,
e is the ID

of the master cartridge on the system,
of the first satellite cartridge on the
of the second satellite cartridge on the
of the third satellite cartridge on the
of the fourth satellite on the system.

a may be zero, in which case the t;naster cartridge
is the same as that defined for the previous job.
The FORTRAN calling siequence for SYSUP is:

70

XXXX IS NOT AN AVAILABLE CA ;TRIDGE ID
A specified cartridge is not in the system.
XXXX IS A DUPLICATED SPECIFIED CARTRIDGE ID
The same ID appears more than once in the list
or array in the calling sequence.
XXXX IS A DUPLICATED AVAILABLE CARTRIDGE ID
Two or more disks (specified in the calling sequence)
have the same cartridge ID.

An error printout is followed by termination of
execution.

CALPR (Call System Print Subroutine)
This subroutine calls FSLEN to bring the system print
subroutines into core .storage for the purpose of printing
one or more lines on the principal printer. This subroutine is intended for system use only.

•

FSLEN -- Fetch Phase IDs from SLET
This entry point obtains the requested phase ID
headers from SLET.

•

FSYSU -- Fetch System Subroutines
Fetches the requested system subroutine into core
storage. This subroutine is intended for system use
only.

FLIPR (LOCAL/SOCAL Overlay)
RDREC (Read *ID Record)
This subroutine is called by the Disk Maintenance
Programs to read the *ID record. The *ID record is
printed on the principal print device. This subroutine
is intended for system use only.

FSLEN (Fetch Phase IDs and Fetch System Subroutine)

This subroutine has two entry points: FSLEN and
FSYSU.

The Monitor system library contains a flipper subroutine
(FLIPR), which is used to call LOCAL (load-on-call)
and SOCAL (system-Ioad-on-call) subroutines into core
storage. FLIPR is used with DISKZ, DISK!, or
DISKN.
FLIPR passes the total word count to DISKZ, DISK!,
or DISKN to fetch the LOCAL. When a LOCAL subroutine is called, control is passed to the flipper, which
reads the LOCAL into core storage if it is not already in
core and transfers control to it. All LOCALs in a given
core load are executed from the same core storage locations; each LOCAL overlays the previous one. FLIPR
fetches SOCALs in the same manner as LOCALs.

Monitor System Library

71

SYSTEM GENERATION AND SYSTEM RELOAD

The steps required to generate a complete multi-drive
Monitor system are as follows.
•

Initialize all disk cartridges using the stand-alone
program DCIP.

•

Punch an initial load MODE control record and
system configuration deck (or tape) and insert these
cards in the System Loader deck. (These records
are prepared using the stand-alone utility PTUTL
in the paper tape system).

•

Use the System Loader to load the Monitor system
to disk.

•

Perform a cold start.

•

Set the physical drive number of the drive containing
the pre-load cartridge in console entry switches
12-15

Switches 12-15 off, drive 0
Switch 15 on, drive 1
Switch 14 on, drive 2
Switch 15, 14 on, drive 3
Switch 13 on, drive 4

•

Place the cold start card in the reader wired for
IPL and ready the reader.

If the IPL device is a 1442-6 or 7, place the blank

cards directly behind the cold start card.

The complete Monitor system is now on-line and
operational.
Detailed instructions for initial load and reload of
the card and paper tape Monitor system are listed below.
All loading and reloading is performed by the System
Loader. System Loader error messages are listed in
Appendix A.

If the IPL device is a 2501 and the system,has a

1442, place the blank cards in the 1442 but do not
ready the 1442. Make the 1442 ready when the
the system WAITs after the cold start progt:am is
loaded.

•
CARD SYSTEM PRE-LOAD
'The Monitor system for the card user is supplied on a
disk cartridge and must be dumped to cards before the
Initial Load procedure can be started. The dump is
accomplished by loading the Monitor 2 cold start card
supplied with the cartridge.

Operating Procedure
•

Place the pre-load cartridge on any drive on the
system and ready the drive

With the console Mode switch set to RUN, press
IMM STOP, RESET, and PROGRAM LOAD

The cold start card is read in and punching begins. If
the punch is a 1442-5, the first card will be blank.
Throw the blank card away. If the plIDch runs out of
cards or is not-ready as in the latter case listed above,
the system executes a standard pre-operative WAIT
at $PRET. Ready the punch unit and press PROGRAM
START to continue. If a punch or feed error occurs,
refer to the writeup on 1442 Errors and Operator Procedures in the System Library section of this manual.
The dump of the Monitor system requires approximately 3000 cards.

System Generation and System Reload

73

INITIAL LOAD (CARD SYSTEM)

The user must prepare an initial load mode control card
and system configuration cards (REQ) and insert these
cards into the System Loader deck. These System Loader
control cards must be present before the Monitor system
can be loaded. An optional CORE card may also be used.
See Figure 15 for the placement of these cards. The
card formats are listed below.

Compiler can be deleted from the system through. the use
of the load mode control card. The load mode control
card is placed behind the last card of the first part of
the System Loader.
The format of the user-punched load mode control
card is as follows.
Card
Column

User Entry

1-4

MODE
I (initial load) or R (reload)
A (do not load Assembler) or blank (load Assembler)
F (do not load FORTRAN) or blank (load FORTRAN)

8

12
13

User-Punched System Loader Control Cards
The follOwing System Loader control cards are punched
by the user (see Figure 15).
Load Mode Control Card. The load mode control card informs the system whether the operation is an initial load
or a reload. In addition, the Assembler and/or FORTRAN

Note: If FORTRAN and/or the Assembler are deleted they cannot be
reloaded using the reload procedure. They must be loaded by an
initial load.

System Configuration Cards (REQ). The system configuration cards are user-punched REQ cards that identify

r - - -_ _

r - - - -_ _ _

Res ident Mon itor (I D: EM N)

I

r - - - - - ___
System loader - Part 1
Columns 73-75 ID:DPl (with
7 card Core Image loader
ID: DCl)

Figure 15. IBM System Load

74

I

I

the system I/O devices that are a part of the user's
system. If an REQ card sp~cifies the 1442, columns
15-20 of that card must contain the model number, as
indicated on the REQ card format chart.
The format of the REQ cards required by the System
Loader are listed below. The user should punch only
those cards that identify units on the system currently
being generated. Punch one card for each device. Missing or extraneous REQ cards may cause initial load operations to fail. The REQ cards must be placed between
the SCON card and the TERM card in the IBM system
deck.
NOTES:
1. Those I/O devices not listed on the following chart
are initialized as p~rt of the system. REQ cards
are not required.
2. The principal printer is defined as the fastest printer entered on an. REQ card.
Card Columns
1-3

9-10*

1442 Card Read Punch or
Card Punch

REQ

1

Paper Tape Reader and/or
Punch
2501 Card Reader
1132 Printer
1403 Printer

REQ

3

1442-5
1442-6
1442-7
1134

REQ
REQ
REQ

4
6
9

2501
1132
1403

Device

15-20

t

I

SCON and TERM Card. These cards (supplied with the
card system), together with the user-punched REQ cards,
make up the system configuration deck. The system configuration deck must be included in the System Loader for
any system load or reload. The format of the SCON and
TERM car4s are listed below.
SCON card, columns 1-4: SCON
TERM card, columns 1-4: TERM
Phase Identification Card (PHID). The PHID card contains the beginning and ending phase numbers of the various programs in the IBM system deck. All numbers in
the phase ID field of the PHID card are in ascending sequence and in the order in which the system decks occur.
The Resident Monitor and Cold Start Program have no
phase IDs and are included in part 2 of the System Loader.
The entries in the PHID card are loaded into the System
Location Equivalence Table (SLET) and SLET is then used
by the system as an internal directory to the Monitor programs.
The format of the PHID card is as follows.
Card
Columns

whichever
is applicable

Unit ID is

1-4

En1ry
PHID

6-8
10-12

Phase IDs of first and last DUP phases

14-16
18-20

Phase IDs of first and last FORTRAN Compiler phases

22-24
26-28

Phase IDs of first and last Assembler phases

30-32
34-36

Phase IDs of first and last Supervisor phases

38-40
42-44

Phase IDs of first and last Core Load Builder phases

46-48
50-52

Phase IDs of first and last System Device Subroutine
phases

54-56
58-60

Phase IDs of first and last Core Image Loader phases

66-68

Vxx (xx is the version number)

70-72

Mxx (xx is the modification munber)

73-80

Card identification and sequence wmber

Optional

-ISS numbers. right ,aUlled. Maximum entry number ISS 20.

CORE Card (Optional). An optional user-punched control
card CORE may be placed anywhere between the SCON
and TERM cards in the IBM system deck. If this card
is used, the calculated (actual) core size of the system
is replaced by the core size defined in the CORE card.
The format of the CORE card is as follows.
Card Columns
User-Defined Core Size

4K
8K
16K
32K

1-4

6-8

CORE
CORE
CORE
CORE

04K
08K
16K
32K

IBM -Supplied System Loader Control Cards
The follOwing System Loader control cards are supplied
with the IBM system (see Figure 15) and must be present in the mM system deck on any system load.

TYPE 81 Card. During an. initial load, the type 81 card
causes the principal print device and the principal I/O
device entries to be placed in SLET. The Disk Communications Area (DCOM) and Location Equivalence Table
(LET) are initialized and the Reload Table is established
during an initial load. The IBM System Library is loaded
following the reading of the type 81 card. The format of
the type 81 card is as follows.
Column 3: 6 punch
Column 4: 1 punch

System Generation and System Reload

75

Operating Procedures

Switches 12-15 off, drive 0
Switch 15 on, drive 1
Switch 14 on, drive 2
Switch 14, 15 on, drive 3
Switch 13 on, drive 4

•

Initialize a cartridge using DCIP (see Disk Cartridge
Initialization Program)

•

Prepare the required user-punched control records
(see User-Punched System Loader Control Cards)

•

With the console Mode switch set to RUN, press IMM
STOP and RESET.

Remove the Cold Start card, the stand-alone
utilities, and the sample programs from behind the
System Library.

•

Place the IBM system deck in the hopper of the reader
wired for initial program load (IPL).

•

Press reader START. If both a 2501 and a 1442
model 6 or 7 are present, place the 1442 in a notready status.

Press PROGRAM LOAD on the console.

•

After the disk cartridge has been initialized by DCIP
and the user-punched System Loader control cards
inserted in the IBM system deck, the Monitor system is
ready to load. The complete system, ready for loading,
is illustrated in Figure 15.
The steps necessary to perform a system load are
as follows.
•

Ready the selected disk drive

•

•

Ready the Console Printer and the principal printer

•

Set the physical drive number of the drive containing
the initialized cartridge in console entry switches
12-15.

After the type 81 card has been read, the Auxiliary
Supervisor calls DUP directly to store the System Library.
After the last program of the System Library has been
stored, the Monitor system is on disk and can be made
operational by a user-initiated cold start.

76

SYSTEM RELOAD (CARD SYSTEM)

The Monitor programs are divided into phases so that if
changes are made within a program, only the affected
phase needs to be reloaded. As in initial load, the userpWlched load mode control card and REQ cards are required with the System Loader. The only difference is
that the load mode control card for a reload must have
an R in column 8. The programs or program phases
being loaded by the reload procedure must be placed
directly behind the IBM -supplied phase identification
(PHID) card.
When using a 2501 Card Reader, the double-buffering
procedure in the System Loader requires a blank card
follOwing the type 81 control card. The message END
RE LOAD will be printed by the Console Printer when the
reload is com.pleted.
If the Assembler or FORTRAN Compiler were deleted on initial load or deleted by a: DUP DEFINE VOID
operation, they cannot be reloaded using the reload procedure. They must be loaded by an initial load.
A useful option provided by the reload function is the
ability to reconfigure a system oartridge with different
I/O devices. Reconfiguration will be necessary if a system cartridge is copied from a system with a different
configuration. The reload deck listed below will perform
this function. (To reconfigure only, place the Type 81
card directly after the PHID card.)
•
•
•
•
•

System Loader deck, part 1, with Core Image Loader
Load mode control card (R in column 8)
Resident Monitor/cold start deck
System Loader deck, part 2
System configuration deck:
SCON card
System reconfigured
REQ cards
CORE card (optional) } if desired
TERM card
• PHID card
• (Revised programs or program phases)"*
• Type 81 control card
• Blank card
*All decks must have phase ID numbers within the limits of the IDs listed on the PHID card.
During a reload operation, loading terminates with
the reading of the type 81 card, and the printing of
END RELOAD.

Operating Procedures
With the console Mode switch set to RUN, press PROGRAM STOP on the console.
•

Ready the selected disk drive.

•

Ready the Console Printer

•

Set the physical drive number of the drive containing
the cartridge to be reloaded in console entry switches
12-15.
Switches 12-15 off, drive 0
Switch 15 on, drive 1
Switch 14 on, drive 2
Switch 14, 15 on, drive 3
Switch 13 on, drive 4

•

Press RESET on the console

•

Place the reload deck (see listing above) in the reader
wired for IPL.

•

Press reader START. If both a 2501 and a 1442 model 6 or 7 are present, place the 1442 in a not-ready
status.

•

Press PROGRAM LOAD on the console.

•

Perform a cold start to make the revised Monitor
system operational.

System Program Phase Sector Break Cards
In order to allow the user to load only a portion of a
Monitor program, the programs are divided into phases,
each identified by a sector break card. The user can
load the revised phase using the reload procedure and
then place the revised phase in the IBM system deck in
place of the phase it replaces.
The sector break cards identifying the phases of the
IBM system programs are listed b-elow. Sector break
cards (see Appendix C) have a 1 punch in column 4 •. The
version and modification level are punched in the cards
starting at column 67 (VxMxx).
Phase

~
XX

01
02
03
04
05
06
07
OB
09
OA
OB
OC
OD
OE
OF
10
11

Prol1jram or Prol1jram Phase Name

I

Part of
RESIDENT IMAGE
COLD START PROGRAM
System Loader
DUP
DUP COMMON SUBROUTINES, CCA T
DUP CTRL RECORD PROCESSOR
DUP STORE PHASE
DUP *FILES, *LOCAL, *NOCAL PHASE
DUP DUMP PHASE
DUP DUMP LET/FLET PHASE
DUP DELETE PHASE
DUP DEFINE PHASE
DUP EXIT PHASE
DUP CARD I/O INTERFACE
DUP KEYBOARD INPUT INTERFACE
DUP PAPER TAPE I/O INTERFACE
DUP UPCOR PHASE SAVED BY DEXIT DURING
STORECI
DUP PRINCIPAL INPUT Willi KEYBOARD
DUP PRINCIPAL INPUT W/O KEYIDARD
DUP PAPER TAPE I/O
DUP STORE CI

ID Starting in
Column 73
ERI
EST
J01
J02
J03
J04
JOS
J06
J07
JOB
J09
J10
Jll
J12
J17
J17
J17
J17
Jt7

System Generation and System Reload

77

Phase
Number
12
IF
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
51
52
53

54
55
56
57
58
59
SA
5B
5C
5D
5E
SF

78

Program or Program Phase Name
DUP MODIF DUMMY PHASE
FOR TRAN Compiler
FOR INPUT PHASE
FOR CLASSIFIER PHASE
FOR CHECK ORDER/STMNT NO. PH
FOR COMMON SUBR OR FUNC TION PH
FOR DIMENSION, REAL, INTEGER
FOR REAL CONSTANT PHASE
FOR DEFINE FILE, CALL liNK EXIT
FOR VARIABLE, STMNT FUNC PHASE
FOR DATA STATEMENT PHASE
FOR FORMAT STATEMENT PHASE
FOR SUBTRACT DECOMPOSITION PH
FOR ASCAN I PHASE
FOR ASCAN II PHASE
FOR DO, CONTINUE, ETC. PHASE
FOR SUBSCRIPT OPTIMIZE PHASE
FOR SCAN PHASE
FOR EXPANDER I PHASE
FOR EXPANDER II PHASE
FOR DATA ALLOCA TION PHASE
FOR COMPlLA TION ERROR PHASE
FOR STATEMENT ALLOCATION PHASE
FOR LIST STATEMENT ALLOCATION
FOR LIST SYMOOL TABLE PHASE
FOR LIST CONSTANTS PHASE
FOR OUTPUT I PHASE
FOR OUTPUT II PHASE
FOR RECOVERY (EXIT) PHASE
ASSEMBLER
ASM INITIAliZATION PHASE
ASM CARD CONVERSION PHASE
ASM DSF OUTPUT PHASE
ASM INTERMEDIATE INPUT PHASE
ASM END STATEMENT PHASE
ASM ASSEMBLY ERROR PHASE
ASM CONTROL CARDS 1
ASM CONTROL CARDS 2
ASM DUMMY PH (SYST SYMBOL TBL)
ASM SYMBOL TABLE OPTIONS PHASE
ASM EXIT PHASE
ASM PROG HEADER MNEMONICS PH
ASM FILE STA TEMENT PHASE
ASM COMMON SUBROUTINES, ASCOM
ASM PROG CONTROL MNEMONICS PH

ID Starting in
Column 73
J17
KOl
K02
K03
K04
K05
K06
K07
K08
K09
KlO
K11
K12
K13
K14
K15
K16
K17
K18
K19
K20
K2I
K22
K23
K24
K25
K26
K27
MOl
M02
M03
M04
M05
M06
M07
M08
M09
M10
Mll
M12
M13
M14
M15

Phase
;Number

Program or Program Phase Name

60
61
62
63

ASM IMPERATIVE STATEMENTS PH
ASM DECML XFLC PROCESSING PH
ASM DECIMAL CONVERSION PHASE
ASM PROG LINKING PHASE
ASM DMES PROCESSING PHASE
ASM PUNCH CONVERSION PHASE
ASM INTERMEDIATE DISK OUTPUT
ASM SYMOOL TABLE OVERFLOW
SUPERVISOR
SUP PHASE 1 - MONITOR CONTROL
RECORD ANAL Y2ER
SUP PHASE 2 - XEQ CONTROL AND
PROCESSOR SUPERVISOR CONTROL
RECORD PROCESSOR

64
65
66
67
6E
6F

70
71
78
79
7A
7B
7C
7D
7E
7F
80
81
82
83
8C
8D
8E
8F
90

91
92
93
94
95
96
97
98
AO
Al

SYSTEM DUMP-CORE-TO-PRINTER
AUXILIARY SUPERVISOR
CORE LOAD BUILDER
CORE LOAD BUILDER, PHASE 0/1
CORE LOAD BUILDER, PHASE 2
CORE LOAD BUILDER, PHASE 3
CORE LOAD BUILDER, PHASE 4
CORE LOAD BUILDER, PHASE 5
CORE LOAD BUILDER, PHASE 6
CORE LOAD BUILDER, PHASE 7
CORE LOAD BUILDER, PHASE 8
CORE LOAD BUILDER, PHASE 9
CORE LOAD BUILDER, PHASE 10
CORE LOAD BUILDER, PHASE 11
CORE LOAD BUILDER, PHASE 12
SYSTEM DEVICE SUBROUTINES, DISK I/O
SYS 1403
SYS 1132
SYS CONSOLE PRINTER
SYS 2501
SYS 1442
SYS 1134
SYS KEYBOARD
SYS 2501/1442 CONVERSION
SYS 1134 CONVERSION
SYS KEYBOARD CONVERSION
DISKZ
DISKI
DlSKN
CORE IMAGE LOADER
CORE IMAGE LOADER, PHASE 1
CORE IMAGE LOADER, PHASE 2

10 Starting in
Column 73
M16
M17
M18
M19
M20
M21
M22
M23
N01
N01

N02
N03
OCB
OCB
OCB
OCB
OCB
OCB
OCB
OCB
OCB
OCB
OCB
OCB
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN
PMN

INITIAL LOAD (PAPER TAPE SYSTEM)

The tapes constituting the complete Paper Tape Monitor
System, including the user-punched control record tapes
are'listed below.
Tape
Number
1
2

3
4
5
6
7

8
9

10
11

12
13
14
15
16

17
18
19

20

Description
System Loader, Part 1
Load Mode Control Record (User-punched)
System Loader, Part 2, with Resident
Monitor and Cold Start
System Configuration Records (User-punched)
Phase Id. (PHID) Control Record
Disk Utility Program
FORTRAN Compiler
Assembler
Supervisor, Core Load Builder, System I/O
Subroutines, Core Image Loader
End of System Tapes Control Record
(Type 81 record)
Standard LIBFs and CALLs
Extended Precision LIBFs and CALLS
Common LIBFs and CALLs
ILS, ISS, Conversion and Utility Subroutines
Plotter Subroutines
SCA Subroutines
Cold Start Paper Tape Record
DCIP Disk Cartridge Initialization Program
PTUTL Paper Tape Utility Program
Paper Tape Reproducing Program
1132/1403 Printer Core Dump from /OlEO
Console Printer Core Dump

Tape 15 is used to initialize the Monitor system after
it is loaded. Tapes 16-20 are stand-alone utilities and
are not loaded as part of the Monitor System; however,
PTUTL and DCIP are used during the loading process.
Tapes 21 and 22 are the Monitor system sample programs

punched control cards (see Initial Load (Card System».
The Load Mode Control record and System Configuration
records must be prepared by the user. If these tapes are
not prepared correctly, the System Loader will print an
error message during system load (see Appendix A). A
user-punched CORE record is optional.

Preparation of Load Mode and
System Configuration Control Tapes
Paper tape control records must be punched in PTTC/8
(Perforated Tape Transmission Code). The formats
are the same as the previously-described card formats.
Paper tape control records must be separated by one NL
(new line) control character. A control record that immediately follows paper tape data not followed by an NL
code must be preceded by one NL code. Delete codes
may precede or follow this NL code.
To initially generate a system cartridge the necessary
control records can be punched using a stand-alone paper
tape utility program (PTUTL).
To load the PTUTL program tape, perform the following steps:
•

Place the PTUTL tape in the Paper Tape Reader,
pOSitioning the tape so that one of the delete codes
beyond the program ID in the tape leader is under
the read starwheels.

•

With the console Mode switch set to RUN, press IMM
STOP, RESET, and PROGRAM LOAD.

•

PTUTL is read in and the program WAITs with /1111
in the Accumulator.

•

Set console entry switches 2 and 3 on.
requested by these switches are:

NOTE: If the FORTRAN Compiler and/or the Assembler
are not be be loaded during an initial load, the corressponding tapes (7 and/or 8) need not be read. If the
FORTRAN Compiler and/or the Assembler are not
loaded, they cannot be loaded using the reload procedure. They must be loaded by an initial load.

Functions

Switch 2-accept Keyboard input
Switch 3-punch records on the 1055 Paper Tape Punch
NOTE: Complete operating procedures for PTUTL
are contained in the writeup for the System Library
version of the Paper Tape Utility Program (see Paper
Tape Utility (PTUTL).
--

System Loader Control Records
With the exception of the Load Mode Control Record
and the System Configuration Records, all of the paper
tape control records needed to load the Paper Tape
Monitor System to disk storage are supplied to the
user by IBM. These control records have the same
functions as the corresponding IBM-supplied and user-

•

Ready the Paper Tape Punch. Be sure to punch a
leader of delete codes.

•

Use the Keyboard to prepare the user-punched System
Loader control records.

System Generation and System Reload

79

Paper Tape Load Mode Record

Operating Procedure

Steps in preparation are:

•

Initialize a cartridge using DCIP (see Disk Cartridge
Initialization Program)

•

Prepare the required user-punched control records
(see Preparation of Load Mode and System Configuration Control Tapes)

•

Write MODE using Keyboard input.

•

Space 3 times.

•

Write I or R for iriitial load or reload operation.

•

Space 3 times.

•

If the Assembler is not to be loaded write A,

otherwise space 1.
•

If the FORTRAN Compiler is not to be loaded
write F, otherwise space 1.

•

Press EOF on the Keyboard if no mistakes were
made, otherwise press ERASE FIELD and repeat
the above procedure.

•

After the disk cartridge has been initialized by DCIP and
the user-punched System Loader control record tapes
generated, the Monitor system is ready to load.
The steps necessary to perform a system load are as
follows.
•

Ready the selected disk drive

•

Ready the Console Printer and principal printer

•

Set the physical drive number of the drive containing
the initialized cartridge in console entry switches
12-15.
Switches 12-15 off, drive 0
Switch 15 on, drive 1
Switch 14 on, drive 2
Switch 14, 15 on, drive 3
Switch 13 on, drive 4

•

Place the System Loader Part 1 (Tape 1) in the Paper
Tape Reader.
When loading tapes, position any of the delete
codes following the program ID in the tape leader
under the read starwheels.

•

With the console Mode switch set to RUN, press IMM
STOP, RESET, and PROGRAM LOAD
Tape 1 is read in and the system WAITs at $PST4
or $PRET.

•

Place the user-punched Load Mode control record
tape in the reader and press PROGRAM START.
This tape is read in and the system again waits
at $PST4 or $PRET.

•

Place the System Loader Part 2 (Tape 2) in the
reader and press PROGRAM START. The system
will WAIT after loading.

•

Place the user-punched System Configuration Tape
in the reader and press PROGRAM START. The
system will WAIT.

•

Load tapes 3 through 14 as required using the same
procedure.

Create a trailer (and new leader) of delete codes on
the paper tape punch.

Paper Tape System Configuration Tape
Steps in preparation are:
•

Write SCON using keyboard input.

•

Press EOF to end the SCON record.

•

Write REQ

•

Space 6 (or 5 in cases of a 2 digit ISS number)

•

Write the ISS number for an I/O device to be configured into the system (see System Configuration
Cards (REQ) for the required ISS numbers).

•

Press EOF. Repeat the preceding three steps until
all necessary REQ records have been punched.

•

A CORE record may be added if desired. Its format
is identical to the card system description.

•

Write TERM

•

Press EOF to end the TERM record and Configuration
tape.

•

Create a trailer of delete codes on the Paper Tape
Punch.

80

NOTE: If the FORTRAN Compiler and/or Assembler
are to be deleted, tapes 5 and/or 6 need not be loadedo
Load only those System Library Tapes (9 through 14) that
are required for your system.
After the last required System Library Tape has
been loaded, the Monitor system is on disk and can be
made operational by a user-initiated cold start.

Tape 2
User-punched System Configuration tape (revised
if system is being reconfigured)
Tape 3
(Revised programs or program phases)*
Tape 8

SYSTEM RELOAD (PAPER TAPE SYSTEM)

During a reload of system programs or a system reconfiguration, all System Loader Control record tapes
must be used. A typical paper tape reload would
include:
Tape 1
User-punched Load Mode Control record
(R for reload)

*All programs must have phase ID numbers within the
limits of the IDs listed on the PHID tape.
If the Assembler or FORTRAN Compiler were
deleted on initial load or deleted by a DUP DEFINE VOID
operation, they cannot be reloaded using the reload
procedure. They must be loaded by an initial load.
For further information regarding reload, see
System Reload (Card System).

System Generation and System Reload

81

COLD START (CARD AND PAPER TAPE SYSTEM)

The Supervisor initially achieves control over the 1130
Monitor System through the user-initiated Cold Start
procedure. The Cold Start procedure begins with the
IPL (Initial Program Load) of the Cold Start record,
which causes the Cold start program to be read into
core storage from the system cartridge and control to
be transferred to it.
The Cold Start program, in turn, loads the Resident
Monitor into its location in lower core storage. The
Cold Start procedure ends when control is given to the
job initialization program in the Supervisor.
NOTE: Do not perform a cold start with an uninitialized
cartridge on line.
Cold Start Procedure
To perform a cold start:
•

Ready the principal print device.

•

Set the physical drive number of the drive containing
the system cartridge in console entry switches 12-15.
Switches 12-15 off, drive 0
Switch 15 on, drive 1
Switch 14 on, drive 2
Switch 15, 14 on, drive 3
Switch 13 on, drive 4

• Ready the selected disk drive.
•

Press IMM STOP and RESET on the console.

•

Ready the Console Printer.

•

When the Cold start record is read~ a dummy / / JOB
record is printed on the principal printer and the
Supervisor prints cartridge status information as follows.

LOG DRIVE CART SPEC

xxxx

CART AVAIL PHY DRIVE

xxxx

xxxx

xxxx

where
LOG DRIVE is always zero
CART SPE C is the cartridge ID written on the
cartridge by DCIP.
CART AVAIL is the same as CART SPEC.
PHY DRIVE is the physical drive number selected
in the console entry switches. This physical drive
is now logical zero.
The Monitor system is now operational and is ready
to receive the first JOB record from the reader. If an
attempt is made to cold start a non-system cartridge,
an error message -- NON-SYST. CART ERROR -- is
printed on the Console Printer.

The table below lists the error stops contained in
the Cold Start Loader (i. e., card or paper tape).

Absolute Address

Explanation

Place the cold start record in the reader wired for
IPL (Tape 15, paper tape system).

/0014

-Invalid disk drive number
in Console Entry Switches
-Indicated disk drive not
ready

•

Press reader START. If both a 2501 and 1442 model
6 or 7 are present, place the 1442 in a not-ready
status.

/0044

-D i sk read error
-Waiting for interrupt from
seek operation

/0046

•

Press PROGRAM LOAD on the console.

-Waiting for interrupt from
reading sector @ lOAD

Cold Start (Card and Paper Tape System)

83

STAND-ALONE UTILITY PROGRAMS

PRINTER CORE DUMP

These utility programs -- each self-loading and complete
with subroutines -- are separate from the System Library
and enable the user to perform operations without Monitor system control. The first three programs are
available in card and paper tape, the· last two in paper
tape only. The utility programs are:

This program dumps core in hex~ecimal format on
either the 1403 Printer or the 11~2 Printer, whichever
is in a ready status. If both are ready, the dump will be
on the 1403.

•

Console Printer Core Dump

NOTE: "Not present" is equivalent to "not ready".

•

Printer Core Dump
Format

• Disk Cartridge Initialization Program (DCIP)
•

Paper Tape utility (PTUTL)

•

Paper Tape Reproducing

CONSOLE PRINTER CORE DUMP
This program aids the user in debugging programs by
dumping selected portions of core on the Console Printer.

Dumping starts at location $ZEND. Each line contains
a four-digit hexadecimal address, followed by 16 fourdigit hexadecimal words. A space separates the address
and each word in the printed line. An additional space is
inserted between each group of four words.
To decrease dump time, the program does not print
consecutive duplicate lines. Before printing a line, it
compares the next 16 words with the 16 words just
printed. If they are identical, the program goes on to
the next 16 words in core. If they are not identical, the
printer spaces one line and prints. The address printed
is that of the first word on the line.

Format
Each core location is dumped as a four-digit hexadecimal
word with a space separating each word. The first word
dumped is the starting address of the dump (as specified
in the console entry switches).

Operating Procedures
•

With the console Mode switch set to RUN, press IMM
STOP and RESET.

•

Place the Printer Core Dump program in the reader
wired for IPL and ready the reader. (If the system
configuration is 2501, 1442-6 or -7, make the 1442
not-ready. )

•

Ready the printer.

•

Press PROGRAM LOAD.

Operating Procedures
•

With the console Mode switch set to RUN, press IMM
STOP and RESET on the console.

•

Place the Console Printer Core Dump program in the
reader wired for IPL and ready the reader (if the
system configuration is 2501, 1442-6 or -7, make the
1442 not-ready).

•

Set the margin on the Console Printer. To print the
same format on each line set the number of print
positions to a multiple of 5.

•

Set the starting address (in hexadecimal) in the console entry switches.

•

Press PROGRAM LOAD.

Dumping starts at location $ZEND and continues to the
end of core. The user may halt the dump at any time by
pressinglMM STOP. Press PROGRAM START to continue on the 1403. The 1132 has no restart capabilities.
DISK CARTRIDGE INITIALIZATION PROGRAM (DCIP)

Dumping continues until lMM STOP is pressed. To continue, press PROGRAM START.

The Disk Cartridge Initialization Program (DCIP) is
composed of
•

A disk initialization subroutine

•

A disk copy subroutine

•

A disk dump subroutine

Stand-Alone Utility Programs

85

Initialization
•

•

•

An initial LET is also created on sector @RIAD. Its
contents are as follows:

Writes a sector address on every sector, including
defective sectors.

Word
Word
Word
Word
Word
Word
Word
Word

Determines which, if any, sectors are defective
and fills in the defective cylinder table accordingly.
Establishes a file-protected area for the disk
cartridge.

•

Puts an ID on the disk cartridge.

•

Establishes a DCOM, LET, and CIB.

1
2
3
4
5
6
7
8

LET sector number
Sector address of UA
Reserved
Words available in this sector
LET IFLET chain address
1 st Word of 1 DUMY entry
2nd Word of IDUMY entry
Size of IDUMY

10000
10018
10000
10138
10000 (Last LET /FLET sector)
IDUMY in packed
/4568
truncated EBCDIC
16280 (Sue of WS available in
disk blocks)

171121

Words 9-320 of @>RIAD all contain zero.

Copy
The disk copy subroutine of DCIP
Initialization of a cartridge is required before the Monitor system can be loaded.
The disk I/O subroutines operate with up to three
defective cylinders, i. e., three cylinders that contain
one or more defective sectors.
Cylinder zero must not be a defective cylinder;
otherwise, the cartridge cannot be initialized.
At the completion of disk initialization, a fourword table is written on sector~IDAD. Words 1, 2,
and 3 contain the address of sector zero of any
defective cylinders fonnd (maximum of three).
When there are no defective cylinders, these words
contain /0658, e. g. , the table for a cartridge with
a defect only in sector 9 (cylinder 1) would contain:.

•

Checks to ensure that both the cartridge to be copied
and the cartridge onto which the copy is to be made
have been correctly initialized.

•

Copies a cartridge from any drive onto a cartridge on
any other drive, making allowances for defectWe -eylinders. The cartridge ID, copy code, and defectivecylinder table are not copied from the source cartridge.
Both Version 1 and Version 2 cartridges may be copied.

Dump
The disk dump subroutine of DCIP
• Dumps any disk sectors from any drive.

/0008
/0658
/0658

•

Word 4 contains the cartridge ID. The copy code (word
5) through word 270 is cleared to zero, and the Cold
Start Error Message (including the program to type the
message) is stored on sector @IDAD starting at word
271.
After sector @DCOM has been cleared to zeros, certain parameters are initialized to indicate that this is a
non-system cartridge. The parameter set, including
their initial values, are listed below:
#ANDU

10180 (disk block address)

#BNDU
#FPAD

10180 (disk block address)
/0018 (sector address)

#CION
#ClBA

XXXX

#ULET

/0002 (sector address)

86

/0008 (sector address)

End of User Area, adjusted
(update during JOB T)
End of User Area, base
File protect address on this
cartridge
Cartridge ID of this cartridge
First sector of CIB on this
cartridge
First sector of LET on this
cartridge

Prints the dump on the fastest printer on the system
(in the order of speed -- 1403, 1132, or Console
Printer).

The address of the first sector to be dumped and the
number of consecutive sectors to be dumped are specified in the console entry switches.
Each sector printout is 20 lines -- 16 four-digit
hexadecimal words per line. Two sectors are printed
on each page and each sector is preceded by a 3-word
header. The first digit of the first header word is the
drive number. The remaining three digits of the first
header word show the physical sector address of the
sector being dumped. The second header word is the
sector address that actually appears on the sector being
dumped. The third word is the logical sector address,
taking into account any defective cylinders. If the user
dumps a sector that is in a defective cylinder, th,e third
word will contain the letters DEFC.

Operating Procedures
•

With the console Mode switch set to RUN, press IMM
STOP and RESET on the console.

•

Enter the physical drive number of the cartridge being
initialized (in binary) in console entry switches 12-15.
•

Place the Disk Cartridge Initialization Program in the
reader wired for IPL and ready the reader.
If the system configuration is .2501-1442, make
the 1442 not-ready. (On the paper tape system,
place the DC1P tape in the reader, positioning the
tape so that one of the delete codes following the program name in the leader is under the read starwheels.)

•

NON-SYST. CART ERROR
When the Monitor system is loaded to disk, this message is overlaid by the Cold Start program; therefore,
an attempt to cold start a non-system cartridge will
result in the above message being printed.

Press PROGRAM LOAD.

• After the program is loaded, the follOwing message
is printed on the Console Printer.
TURN ON SWO TO INITIAliZE
SW1 TO COpy
SW2 to DUMP
•

Turn on console entry switch 0, 1, or 2 and press
PROGRAM START.

• Leave console entry switch 0 on if addresses only are
being written (any data on the cartridge is retained).
•

2.

3.

4.
5.
6.

Correct the error and press PROGRAM START to
continue.
If a drive is not ready, the standard preoperative
trap to $PRET is made. The Accumulator contains
/50XO where X is the number of the physical drive
that is not ready.
All console entry switch settings are printed on the
Console Printer as 4-digit hexadecimal numbers.
DCIP messages refer to console entry switches as
"bit" switches.
If the system has two card readers, only the reader
wired for IPL should be in the ready state.
A DC1P function can be aborted at any time by
pressing keyboard 1NT REQ. The user is then
given the option of repeating the current function
or s electing a new function.

Press PROGRAM START.

• If console entry switch 0 is on, addresses are written

on the disk and the following message is then printed.
ADDRESSING COMPLETE

NOTES:
1. At any point in this program, an invalid entry in the
console entry switches will cause the following
message to be printed.
ENTRY ERROR ••• RETRY

Turn console entry switch 0 off if the cartridge is
being initialized. (The entire disk surface is cleared,
disk addresses are written, and three distinct bit
patterns are written and read back for checking purposes. In addition, the following message and a program for printing it is written on sector @IDAD, starting at word 271.

The program now returns to accept the next D CIP
function and the option messages are reprinted.
•

If console entry switch 0 is off, the following message

is printed.
ENTER CARTRIDGE ID
Turn off all console entry switches and enter the
cartridge ID in console entry switches 1-15 (four
hexadecimal characters). A valid cartridge ID
is a number between /0001 and /7FFF.
•

Press PROGRAM START. The cartridgeIDis printed.
XXXX

•

The cartridge is initialized and the following message
is printed.
INITIALIZATION COMPLETE
In addition, one of the follOwing messages is printed.
NO DEFECTIVE CYLS
or

Initialization (Console Entry Switch 0 On)
•

If console entry switch 0 is on, the follOwing message

is printed.
ENTER DR. NO. IN BITS 12-15
TURN ON BIT 0 FOR ADDRESSES ONLY

DEFECTIVE CYLS FOLLOW

xxxx...
If more than 3 defective sectors are printed, or if cylin-

der zero is defective, or if the sector address cannot be
written on every sector, the cartridge cannot be used

Stand-Alone Utility Programs

87

with the Monitor system and the following message
is printed:
CARTRIDGE DEFECTIVE
The last message printed is:
TURN ON SW 0 FOR ADDITIONAL TESTING
•

•

Set console entry switch 0 as deSired and press
PROGRAM START.

The copy number of the object cartridge will thus
always be one more than the copy number of the
SQurce cartridge.
NOTE: When copying is complete, the program returns
to select the next DCIP function and the option messages
are printed. If a disk read/write error occurs, the follOwing message is printed.
DISK ERROR ••• TURN ON SW 0 TO RETRY

If console entry switch 0 is off, the program returns

At the WAIT, the Accumulator contents will be /0001
for a read error or /0002 for a write error. The
Extension will contain /XYYY where X is the drive
code and YYY is the address of the sector in error.
Turn console entry switch 0 on and press PROGRAM
START to rewrite or reread the sector in error.
Leave console entry switch 0 off and press PROGRAM START to ignore the error and continue. If
the error is ignored, the contents of the object cartridge will reflect the last attempt to copy the sector
in error.

to accept the next D CIP fWlCtion.
If console entry switch 0 is on, the following message is printed.

ENTER REPETITION COUNT IN BITS 11-15
Enter the repetition count (max. 31) in binary in
console entry switches 11-15. This will give
additional opportunity to find marginal cylinders
and reduce chances of disk errors later on.
•

Press PROGRAM START.
Initialization is repeated with each cylinder being
checked with each pattern the number of times specified in the repetition count. When the pass is .completed, the initialization complete messages are repeated, including any new defective cylinders found
and the user is again given the option to repeat the
initialization, or select the next DCIP function.- All
new cartridges must be initialized by DCIP.

Dump (Console Entry Switch 2 On)
•

is printed.
ENTER ••• PHYS. DR. NO. (BITS 0-3)
FmST SE CTOR (BITS 4-15)
Enter the physical drive m#nber of the drive containing the cartridge to be dunlped in console entry
switches 0-3. Enter the address of the first sector
to be dumped in console entry switches 4-15 (hexadecimal, maximum /0657).

Copy (Console Entry Switch IOn)
•

If console entry switch 1 is on, the follOwing message
-is printed.

ENTER ••• SOURCE DR. (BITS 0-3)
OBJECT DR. (BITS 12-15)

•

Enter the phYSical drive number of the source drive
(in binary) in console entry switches 0-3. Enter the
drive code of the object drive (in binary) in console
entry switches 12-15.
•

Enter the number of consecutive sectors to be dumped
as a right-justified hexadecimal number in the console
entry switches. The maximum amount will depend on
the starting sector address.

Press PROGRAM START.

X DR. NOT INITIALIZED
The program now returns to accept the next DCIP
fWlction and the option messages are printed.
If both drives have been initialized, the contents
of the source cartridge (less defective sector data
and cartridge ID) is copied on the object cartridge.
Word 5 of sector @IDAD of the source cartridge
(zero when the cartridge i.s initialized) is incremented by 1 when writter on the object cartridge.

88

Press PROGRAM START.
The follOwing message is printed.
ENTER NO. OF SCTRS. TO DUMP

If the cartridge on either the source or object drive

has not been initialized, the follOwing message is
printed.

If console entry switch 2 is on, the following message

•

Press PROGRAM START.
The requested number of sectors will be dumped.
When the dump is complete, the program returns to
accept the next DCIP function and the option messages
are printed.
NOTE: If a disk read error occurs, the following
message is printed.
DISK ERROR ••• TURN ON SW 0 TO RETRY
Turn console entry switch 0 on and press PROGRAM
START to read the sector in error. If the reread is

PAPER TAPE REPRODUCING PROGRAM

tape reproducing routine then WAITs with /2222 in
the Accumulator. If the paper tape punch is notready, the tape reproducing program WAITs with
/3333 in the Accumulator. To restart, ready the
paper tape punch, and press PROGRAM START.
An unlimited number of tapes can be reproduced
by this program. Be sure to create a trailer (and
leader) of delete codes between the output tapes if
the tapes are to be separated.

This program, available only with the paper tape system, is a self-loading paper tape strip that reproduces
paper tapes. The program reads a character and
punches it with no intermediate conversion.

NOTE: If the PROGRAM STOP key is pressed while
the program is in operation, the program WAITs
with /4444 in the Accumulator. Press PROGRAM
START to continue.

successful, the sector is printed and the dump
continues.
Leave console entry switches 0 off and press
PROGRAM START to ignore the error and continue.
The sector in error is printed as it was last read
from the disk.

Operating Procedure
•

•

Place the paper tape reproducing program tape in
the paper tape reader, positioning the tape so that
one of the delete codes beyond the ID in the leader
is beneath the read starwheels.
With the console Mode switch set to RUN, press
IMM STOP, RESET, and PROGRAM LOAD on the
console. The reproducing program is read in and
WAITs with /1111 in the Accumulator.

STAND-ALONE PAPER TAPE UTILITY PROGRAM
(PTUTL)
This program, also included as an executable program
in the System Library, is a self-loading paper tape
utility program that allows the user to enter records
from the 1134 Paper Tape Reader or the Keyboard.
Program output is to the 1055 Paper Tape Punch and/
or the Console Printer.

Operating Procedures
• Remove the reproducing program tape and place the
tape to be reproduced in the reader. Place blank
tape in the tape punch unit and produce several
inches of delete code leader by first pressing down
and holding the DELETE key. Then press the FEED
key and hold until a leader of sufficient length has
been punched. Release the FEED key before releaSing the DELETE key.
•

Press PROGRAM START to begin the tape reproducing operation. The program continues to operate
until the paper tape reader goes not-ready, indicating that there is no more tape to be read. The

•

Place the PTUTL tape in the paper tape reader so
that one of the delete codes beyond the program in
is under the read starwheels.

•

With the console mode switch set to RUN, press
IMM STOP, RESET, and PROGRAM LOAD on the
console.

•

PTUTL is read in and the system WAITs with/1111
in the Accumulator.

•

For complete operating instructions for PTUTL, see
Paper Tape Utility (PTUTL) in the System Library.

Stand-Alone Utility Programs

89

APPENDIX A.

With the exception of the System Library Mainline Programs, this appendix lists all Monitor System WAITs
and messages. SYSUP, the DCOM update subroutine, is
also available in the System Library. The errors for the
user callable version of SYSUP are listed in the System
Library Utility Subroutines section of the manual. All
messages for stand-alone utilities are included in the
writeups of the individual programs.
System Loader and FORTRAN I/O errors cause the
system to WAIT at $PRET. At the WAIT, bits 2 and 3
of the OPERATION REGISTER are on. FORTRAN I/O
errors can be identified by the Fxxx code in the accumulator. A $PRET WAIT also occurs when a system I/O
device is required but is not ready (see Table 18).
All error tables in this appendix are listed alphabetically by prefix letter. Unless otherwise noted, the
operational and error messages are printed on the principal printer. All Monitor system control records are
printed on the principal printer.
The error tables in order of appearance are as
follows.

Table
Number

Error
Code
Prefix

8

A

Assembler

9

C

FORTRAN Compiler

10

D

Disk Utility Program (DUP)

11

E

System Loader

MONITOR SYSTEM ERROR AND OPERATIONAL MESSAGES

Table 7.
Flag

FORTRAN I/O

13

M

Moni'''' eo_I Record Anal",,,, (MCRA)

14

M

Supervisor Control Record Program

15

-

SYSUP

16

R

Core Load Builder

17

S

Auxiliary Supervisor

18

-

ISS Subroutine

Displacement set to zero

C

Condition Code Error
Character other than +, -, Z,
E, C, or 0 detected in first
operand of short branch or
second operand of long BSC,
BOSC, or BSI statement.

Displacement set to zero

F

Format Code Error
Character other than L, I, X,
or blank detected in col. 32,
or L or I format specified for
instruction valid only in short
form.

Instruction processed as if L
format were specified, unless
that instruction is valid only in
short form, in which case it is
processed as if the X format
were specified

L

Label Error
Invalid symbol detected in label
field.

Label ignored

M

Multiply Defined Label Error
Duplicate symbol encountered
in label field.

First occurrence of symbol in
label field defines its volue;
subsequent occurrences of
symbol in label field cause a
multiply defined indicator to be
inserted in symbol table entry
(Bit 0 of first word).

0

Op Code Error
Unrecognized op code
ISS, ILS, ENT, LlBR, SPR,
EPR, or ABS incorrectly placed.

1
Supervisor

ASSEMBLER MESSAGES AND ERROR CODES
At the completion of an assembly, the following messages are printed on the principal printer.
XXX OVERFLOW SECTORS SPECIFIED
XXX OVERFLOW SECTORS REQUIRED
XXX SYMBOLS DEFINED
XX ERROR(S) FLAGGED IN ABOVE ASSEMBLY
If LIST DECK or LIST DECKE is specified, the error

detection codes shown in Table 7 are punched in columns

Assembler Action

Address Error
Attempt made to specify displacement field, directly or
indi rectly, outside range of
-128 to +127.

R

F

Cause

A

Program Name

12

Assembler Error Detection Codes

S

Relocation Error
Expression does not have valid
relocation.
Non-absolute displacement
specified.
Absolute origin specified in
relocatable program.
Non-absolute operand specified
in ass or BES.
Non-relocatable operand in
END statement of relocatable
mainl ine program.
ENT operand non-relocatable.
Syntax Error
Invalid expression (e.g., invalid
symbol, adjacent operators,
illegal constant)
Illegal character in record.

Main program entry point not
specified in END operand.
Incorrect syntax in EBC statement (e.g., no delimiter in
card column 35, zero character
count).
Invalid label in ENT or ISS
operand.
T

U

Tag Error
Card column 33 contains
character other than blank, 0,
1, 2, or 3 in instruction
statement.
Undefined Symbol
Undefined symbol in expression

Statement ignored and oddress
counter incremented by 2.
Statement ignored

Expression set to zero
Displacement set to zero
Origin ignored
Operand assumed to be zero
Card columns 9-12 left blank;
entry assumed to be relative
zero
Statement ignored
Expression set to zero
If illegal character appears in
expression, label, op cade,
format, or tag field, additional
errors may be caused.
Card columns 9-12 left blank;
entry assumed to be relative zero
Card columns 9-12 not punched;
address counter incremented
by 17.
Statement ignored

Tag of zero assumed

Expression set to absolute zero

18 and ] 9. For the first error detected in each statement
the Assembler stores and then punches the code in column
18; the code for a second error is stored, overlaid by any

Appendix A

91

subsequent errors, and pWlChed in column 19. Thus, if
more than two errors are detected in the same statement, only the first and last are indicated. These error
detection codes will appear on the printout if the deck is
listed.
At the end of the assembly, a message is printed indicating the number of assembly errors detected in the
source program (see above). Since no more than two
errors are flagged per statement, the error COWlt may
exceed the actual number of flags.
Assembler error messages are listed in Table 8.

FORTRAN MESSAGES AND ERROR CODES

FEATURES SUPPORTED
EXTENDED PRECISION
ONE WORD INTEGERS
TRANSFER TRACE
ARITHMETIC TRACE
IOCS
CORE REQUIREMENTS FORXXXXX
COMMON YYYYY VARIABLE S YYYYY PROGRAM YYYYY
where XXXXX is the name of the program designated in
the *NAME control record or in the SUBROUTINE or
FUNCTION statement, and YYYYY is the number of
words allocated for the speCified parts of the program.
The following message is printed for a normal end of
compilation (with or without errors):
END OF COMPILATION

Compilation Messages
Near the end of the compilation, core usage information
and the features supported (control records used) are
printed out as follows:
Table 8.

Compilation Error Messages
During compilation, a check is made to determine if certain errors have occurred. If one or more of these

Assembler fuor Messages

Error Number and Message
AOI MINIMUM W.S. NOT AVAILABLE •••
ASSEMBLY TERMINATED

Cause of Error
Available Working StOrage is less than the
number of overflow sectors specified plus one
sector.

Corrective Action
Reduce the number of overflow sectors specified (number specified
is zero if no *OVERFLOW SECTORS control record is used) or,
If more than one drive is available on the system, use the //JOB
record to specify System Working Storage on the cartridge with the
most Working Storage available.

A02 SYMBOL TABLE OVERFLOW .•. ASSEMBLY The number of sectors of symbol table overflow
TERMINATED
is greater than the number of overflow sectors
available.

Use an *OVERFLOW SECTORS control record to increase the
number of overflow sectors for this assembly (maximum 32 sectors).

A03 DISK OUTPUT EXCEEDS W. S.

Intermediate output (pass 1) or final DSF output If this error occurs durinf pass 1, the system will WAIT at location
(pass 2) exceeds the capacity of Working
,Sl'RET with /400E (2501 or /IOOE (l442) in the accumulator. Press
PROGRAM START to continue the assembly in TWO PASS MODE.
Storage less the number of overflow sectors
specified.
For pass 2, see options on AOI.

A04 SAVE SYMBOL TABLE INHIBITED

With SAVE SYMBOL TABLE option specified:
1. Program is relocatable.
2. Program contains assembly errors.
3. Source program contains more than 100
symbols.

1. Use ABS card and reassembly.
2. Correct source program errors and reassemble.
3. Reduce the number of symbols and reassElmble.

A05 XXX ERRONEOUS ORG, BSS, OR EQU
STATEM~NTS IN ABOVE ASSEMBLY

XXX is the number of ORG, BSS, BES, and/or
EQU statements that were undefined in pass 1.
At the end of pass 1, these erroneous statements are printed on the principal printer. If
the error was due to forward referencing, it
wi II not be detected during -pass 2.

Where forward references have been attempted, they must be
corrected before the program is reassembled.

A06 LOAD BLANK CARDS

A card containing a non-blank column between
1-71 has been read while punching a symbol
table (*PUNCH SYMBOL TABLE specified for
this assembly).

The system will WAIT with /100F in the accumulator. Nonprocess
run out (NPRO) the card just read. Place blank cards ahead of this
card in the hopper. Press readerSTART and console PROGRAM
START.
NOTE: If the output is being punched on a 1442-5, a non-blank
card cannot be "detected. In addition, the punch may be damaged
if an attempt is made to punch a hole where a hole already exists.

A07 *LEVEL CONTROL RECORD MISSING

The program listed above was assembled as an
ISS subroutine without the required *LEVEL
control record.

Reassemble using *LEVEL control record.

92

errors have been detected the error indications are
printed at the conclusion of compilation, and no object
program is stored on the disk. Only one error is detected for each statement. In addition, due to the interaction of error conditions, the occurrence of some
errors may prevent the detection of others until those
which have been detected are corrected. With the exception of the COO error message and those noted
below, the error message appears in the following
format:
CNN ERROR IN STATEMENT NUMBER XXXXX+YY
NN is the error code number listed in Table 9. With the
exception of specification statement errors, XXXXX is
the last valid statement number preceding the erroneous
statement and YYY is the count of statements from
:xxx:xx to the statement that is in error. If the erroneous statement has a valid statement number, xxx:xx
will be the statement in error and YYY will not be
printed.
For example:
105
110

FORMAT (15, FS.4)
IF (A-B) 10,30,20
A = A+1. 0
ABC B = B-2. 0
(error COl)
135 GO TO 105
(error C43)

COS ERROR AT STATEMENT 00000 + 001
C16 ERROR AT STATEMENT 00000 + 002
In addition to the CNN· type of error the following
error messages may be encountered:
PROGRAM LENGTH EXCEEDS CAPACITY
The error occurs when the program in internal compiler format is too large to be contained in core working storage, and the program must be reduced in size
in order to compile.
SUBROUTINE INITIALIZE TOO LARGE
During compilation of Sub-programs a subroutine
initialize statement (CALL SUBIN) is generated.
The CALL SUBIN statement initializes all references
to "dummy" variables contained within the subprogram to the appropriate core location in the calling
program.
The nature of the FORTRAN compiler limits the size
of any statement in internal compiler format to 511
words. In the case of CALL SUBIN, the size is calculated by the following formula:

This example will cause the follOwing error messages
to be printed.
COl ERROR IN STATEMENT NUMBER 110 + 002
C43 ERROR IN STATEMENT NUMBER 135

For specification statements, XXXXX is always 00000
and YYY is the count of the number of specification
statements in error. YYY is never 000, i. e. , for the
first error YYY is 001. Specification statements are
not counted un1e~s they contain an error. Statement
numbers on speCification statements and statement
functions are ignored. NN is the error code.
For example:

S = 5 + ARG + N
where ARG is the number of arguments in the subroutine parameter list and N is the total number of
times the dummy arguments are used within the subprogram. S is the total size of the CALL SUBIN
statement; if S ever exceeds 511, an error occurs and
the above error message is printed.
If any of these errors are detected during compilation,

the message:
OUTPUT HAS BEEN SUPPRESSED
is also printed.
If a monitor control record is encountered prior to an

1
2
3
4

5

DIMENSION
DIMENSION
DIMENSION
DIMENSION
DIMENSION

C(10, 10)
D(5,5)
E(I, 6,6)
F(4,4)
G(2,2»

END card, the message
(error COS)

MONITOR CONTROL RECORD ENCOUNTERED

(error C16)

is printed, and control is returned to the monitor supervisor.
The above error and the COO error will interrupt
the compilation. In this case the message
COMPILATION DISCONTINUED

This example will cause the following error messages
to be printed.

will be printed.

Appendix A

93

Table 9.

FORTRAN Error Codes

Error
Number

Cause of Error

Error
Number

Cause of Error

WORKING STORAGE EXCEEDED
The working storage area on disk is too small to accommodate the
compiled progrom in disk system format.

C34

Undefined variable in subscript expression.

C35

Number of subscripts in a subscript expression does not agree with
the dimension information.

COl

Non-numeric character in statement number.

C36

CO2

More than five continuation cards, or continuation card out of
sequence.

Invalid arithmetic statement or variable; or, in a FUNCTION
subprogram the left side of an arithmetic statement is a dummy
argument or in COMMON.

C03

Syntax err« in CALL LINK or CALL EXIT statement.

C37

Syntax error in IF statement.

C04

Undeterminable, misspelled, or incorrectly farmed statement.

C38

Invalid expression in IF statement.

Statement out of sequence.

C39

Syntax error or invalid simple argument in CALL statement.

Statement following STOP, RETURN, CALL LINK, CALL EXIT,
GOT 0, or IF statement does not have statement number.

C40

Invalid expression in CALL statement.

C41

Invalid expression to the left of an equal sign in a statement
function.

C42

Invalid expression to the right of an equal sign in a statement
function.

C43

In an IF, GO TO, or DO statement, a statement number is missing,
invalid, incorrectly placed, or is the number of a FORMAT
statement.

COO

C05
C06
C07

Name longer than five characters, or name not starting with an
alphabetic character.

C08

Incorrect or missing subscript within dimension information
(DIMENSION, COMMON, REAL, or INTEGER).

C09

Duplicate statement number.

ClO

Syntax error in COMMON statement.

Cl1

Duplicate name in COMMON statement.

C44

Syntax error in READ or WRITE statement.

C45

*IOCS record missing with a READ or WRITE statement (mainline
program anly).

C12

Syntax error in FUNCTION or SUBROUTINE statement.

C13

Parameter (dummy argument) appears in COMMON statement.

C46

FORMAT statement number missing or incorrect in a READ or
WRITE statement.

C14

Name appears twice as a parameter in SUBROUTINE or
FUNCT ION statement.

C47

C15

*IOCS control record in a subprogram.

Syntax error in input/output list; or an invalid list element; or, in
a FUNCTION subprogram, the input list element is a dummy
argument or in COMMON.

C16

Syntax error in DIMENSION statement.

C48

Syntax error in GO TO statement.

C17

Subprogram name in DIMENSION statement.

C49

Index of a computed GO TO is missing, invalid, or not preceded
by a comma.

C18

Name dimensioned more than once, or not dimensioned on first
appearance of name.

C50

*TRANSFER TRACE or *ARITHMETIC TRACE control record present,
with no *IOCS control record in a mainline program.

C19

Syntax error in REAL, INTEGER, or EXTERNAL statement.

C51

C20

Subprogram name in REAL or INTEGER statement.

Incorrect nesting of DO statements; or the terminal statement of
the associated DO statement is a GO TO, IF, RETURN, FORMAT,
STOP, PAUSE, or DO statement.

C21

Name in EXTERNAL that is also in a COMMON or DIMENSION
statement.

C52

More than 25 nested DO statements.
Syntax error in DO statement.

C22

IFIX or FLOAT in EXTERNAL statement.

C53

C23

Invalid real constant.

C54

Initial value in DO statement is zero.

C24

Inva Iid integer constant.

C55

More than 15 dummy arguments, or duplicate dummy argument in
statement function argument list.

In a FUNCTION subprogram the index of DO is a dummy
argument or in COMMON.

C25

C56

Syntax error in BACKSPACE statement.

C26

Right parenthesis missing from a subscript expression.

C57

Syntax error in REWIND statement.

C27

Syntax error in FORMAT statement.

C58

Syntax error in END FILE statement.

C28

FORMAT statement without statement number.

C59

Syntax error in STOP statement.

C29

Field width specification greater than 145.

C60

Syntax error in PAUSE statement.

C30

In a FORMAT statement specifying E or F conversion, w greater
than 127, d greater than 31, or d greater than w, where w is an
unsigned integer constant specifying the total field length of the
data, and d is an unsigned integer constant specifying the number
of decimal places to the right of the decimal point.

C61

Integer constant in STOP or PAUSE statement is greater than 9999.

C62

Last executable statement before END statement is not a STOP,
GO TO, IF, CALL LINK, CALL EXIT, .or RETURN statement.

C31
C32

Subscripted variable in a statement function.

C33

Incorrectly formed subscript expression.

94

C63

Statement contains more than 15 different subscript expressions.

C64

Statement too long to be scanned, because of compiler expansion
of subscript expressions or compiler addition of generated temporary
storage locations.

C65*

All variables are undefined in an EQUIVALENCE list.

Subscript error in EQUIVALENCE statement.

Table 9. FORTRAN Error Codes (continued)

Error
Number

Cause of Error

C66*

Variable made equivalent to an element of an array in such a
manner as to cause the array to extend beyond the origin of the
COMMON area.

C67*

Two variables or array elements in COMMON are equated, or the
relative locations of two variables or array elements are assigned
more than once (directly or indirectly).

C68

Syntax error in an EQUIVALENCE statement; or an illegal
variable name in an EQUIVALENCE list.

C69

Subprogram does not contain a RETURN statement, or a mainline
program contains a RETURN statement.

ClO

No DEFINE FILE statement in a mainline program that has disk
READ, WRITE, or FIND statements.

C71

Syntax error in DEFINE FILE statement.

C72

Duplicate DEFINE FILE statement, more than 75 DEFINE FILES,
or DEFINE FILE statement in subprogram.

C73

Syntax error in record number of disk READ, WRITE, or FIND
statement.

C75

Syntax error in DATA statement.

C76

Names and constants in a DATA statement not in a one to one
correspondence.

Cl7

Mixed mode in DATA statement.

C78

Invalid hollerith constant in a DATA statement.

C79

Invalid hexadecimal specification in a DATA statement.

C80

Variable In a DATA statement not used elsewhere Intheprogram.

C81

COMMON variable loaded with a DATA specification.

C82

DATA statement too long.

* The detection of a code 65, 66, or 67 error prevents any subsequent
detection of any of these three errors.

On a DEFINE VOID, one of the following messages is
printed.
ASSEMBLER VOIDED
FORTRAN VOIDED
On a DEFINE FIXED AREA, the message is as follows,
CART ID XXXX CYLS FXA XXXX DBS AVAIL XXXX
FLET SECTOR ADDR XXXX
where
CYLS FXA XXXX is the decimal number of
cylinders -1 in the Fixed Area. The additional
cylinder is used for FLET.
DBS AVAIL XXXX is the hexadecimal number of
disk blocks remaining in the Fixed Area following
the last program or data file.
FLET SECTOR ADDR XXXX is the hexadecimal
sector address of the first cylinder in the Fixed
Area, i. e., the sector address of FLET.
On a dump of LET or FLET, the printout is followed by
a sign -off message.
END OF DUMPLET /FLET
All other DUP operations are followed by the following
message.
CART ID XXXX DB ADDR XXXX DB CNT XXXX
where

DUP MESSAGES AND ERROR CODES

When a DUP flUlction is performed without error,
an informational message is printed on the principal
printer.

DB ADDR XXXX is the hexadecimal starting address
of the program or data file.
DB CNT XXXX is the hexadecimal number of disk
blocks being deleted, stored, or dumped.
DUP error messages are listed in Table 10.

Appendix A

95

Table 10.

DUP Error Messages

Error Number and Message

Cause of Error

001

NAME IS NOT PRIME ENTRY

The primary name of the program in Working Storage does not match the name on the DUP control record.

002

INVALID HEADER RECORD TYPE

One of the following is detected: a non-DSF program, a mispositioned header, foreign data, or an
erroneous subtype.

003

INVALID HEADER LENGTH

Word six of the DSF header is outside the range of 3-45. The causes are similar to D02, except for subtype.

DOS

SECONDARY ENTRY POINT OR NAME
ALREADY IN LET

The specified secondary entry point name is already in LET. The name must be deleted before this subprogram
can be stored.

D06

ENTRY POINT NAME ALREADY IN
LET/FLET

The specified name is already in LET/FLET. The name must be deleted before this program or data file can be
stored.

I/o SPECIFIED

Disk routine code on STORECI control record (column 9) was other than 0, 1, N, Z, or blank.

012

INVALID DISK

D13

INVALID FUNCTION FIELD (CC 1-12)

An invalid DUP function is specified in columns 1-12 of the DUP control record.

014

INVALID FROM FIELD (CC 13-14)

Unacceptable characters are in columns 13 and 14 of the DUP control record. The FROM field specified
is not valid with this DUP function.

015

INVALID TO FIELD (CC 17-18)

Unacceptable characters are in columns 17 and 18 of the DUP control record. The TO field specified is not
valid with this DUP function.

016

INVALID NAME FIELD (CC 21-25)

No name specified and ane required, or syntax error in construction of name.

017

INVALID COUNT FIELD (CC 27-30)

Columns 27 through 30 are blank or include alphabetic characters. The count field requires a decimal number.

018

INVALID FUNCTION DURING TEMPORARY
JOB

This function is not allowed during the JOB T mode.

D19

CARTRIDGE NOT ON SYSTEM

Cartridge specified as TO or FROM cartridge was not specified on JOB record as being used in this job.

D20

CARTRIDGE ID OUTSIDE VALID RANGE
(0001-7FFF)

Correct cartridge ID and retry.

021

INVALID STOREMOD. SIZE OF
REPLACEMENT EXCEEDS SIZE OF
ORIGINAL

The replacement version of the program 0'- data fi Ie is larger than the current version. The old version must
be deleted before the replacement can be stored.

022

PROGRAM NOT IN WORKING STORAGE

The disk block count for the requested program in Working Storage is zero. The program is not in Working
Storage.

D23

INVALID SYSTEM OVERLAY SUBTYPE
SPECIFIED

The system overlay subtype indicator (column 11) on a STORE control record is not in the range 0-9.

024

COUNT FIELD TOO LARGE

The count field extends beyond column 30 of a DEFINE FIXED AREA control record or column 31 is not a
minus sign.

025

REQUIRED FORMAT NOT IN W.S.

During a STOREMOD, the format of the LET/FLET entry does not agree with the format in Working Storage.

026

NAME NOT FOUND IN LET/FLET

The name specified on a DELETE or DUMP control record is not in LET/FLET.

027

SOURCE NOT IN DSF

The format indicator of the FROM cartridge indicates that Working Storage on this cartridge does not contain
a DSF program.

D30

INVALID RECORD TYPE

An invalid type binary record has been read when storing from cards or paper tape.

D31

PROGRAM OR DATA EXCEEDS
DESTINATION DISK AREA

The number of disk blocks required to store a program or data exceeds the amount of space available in the
specified TO field.

032

INVALID CORE IMAGE CONVERSION

The C;:ore Load Builder has inhibited the continuation of STORECI. The specific reason has been printed by
the Core Load Builder •

D33

LET/FLET OVERFLOW. A CORE DUMP
FOLLOWS

.A. ninth sector of LET/FLET is required (or a seventh sector of LET on a non-system cartridge) for the LET/FLET
entry. A deletion of a program with a LET/FLET entry of similar size is required before this program can be
stored.
A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows the
user to locate the condition that caused the error. Use of the affected cartridge is not recommended unti I the
problem has been investigated.

D41

INVALID STORECI CONTROL RECORD

The STORECI control record read was not a LOCAL, NOCAL, or FILES record, or a mainline name was
specified on a LOCAL or NOCAL record.

042

STORECI CONTROL RECORDS
INCORRECTLY ORDERED

LOCAL, NOCAL, and FILES records were intermixed. All records of a given type must be loaded together.

043

INCORRECT CONTINUATION

A comma at the end of the record indicated that it would be continued; however, it was not.

D44

ILLEGAL CHARACTER IN RECORD

An illegal character, probably a blank, appeared in the record.

D45

ILLEGAL FILE NUMBER

A non-numeric character appears in a fi Ie number, or the number is more than five characters long.

96

Table 10. DUP Error Messages (continued)
mor Number and Message
D46

Cause of Error

I LLEGAL NAME

A name is more than five characters long, or contains characters other than A-Z, 0-9, or $, or a name
contains embedded blanks.

D47

I LLEGAL CARTRIDGE ID

The cartridge ID specified is not in the range/OO01-/7FFF, or contains an illegal character.

D48

SCRA BUFFER OVERFLOW

The Supervisor Control Record Area (SCRA) cannot contain all the LOCAL, NOCAL, or FILES infonnation.

D50

NON-BLANK CARD READ ENTER BLANK
CARDS

A non-blank card has been read during a dump to a 1442-6 or -7. Place blank cards in the hopper and ready
the card read punch. Press PROGRAM START.

D70

LAST ENTRY IN LET/FLET NOT 1DUMY

DELETE cannot find the end of LET or FLET. The header for this LET/FLET sector contains the count of unused
words in this sector. This count should point to the last 1DUMY entry; however, the entry to which it now
points is not a 1DUMY.

D71

lDUMY ENTRY IN LET/FLET IS FOLLOWED
BY A SECONDARY ENTRY POINT

The name on the DELETE control record points to a secondary entry point. The first entry in LET/FLET with a
non-zero disk block count that precedes the secondary entry is a 1DUMY. The primary entry is not in
LET/FLET.

D72

FIRST ENTRY IN LET/FLET SECTOR IS A
SECONDARY ENTRY POINT

The LET/FLET table is improperly constructed. The first entry is not a primary entry.

D80

FIXED AREA PRESENT

The FORTRAN Compiler and/or Assembler cannot be eliminated if a Fixed Area has been previously defined.

D81

ASSEMBLER NOT IN SYSTEM

The Assembler has previously been eliminated from the system.

D82

FORTRAN NOT IN SYSTEM

The FORTRAN Compiler has previously been eliminated from the system.

D83

INCREASE VALUE IN COUNT FIELD
(CC 27-30)

The count field was read as a value of zero or one. The first DEFINE requires one cylinder for FLET plus one
cylinder of Fixed Area. Thereafter, as little as one cylinder of additional Fixed Area can be defined.

D84

DEFECTIVE SLET

Cartridge must be re loaded.

D85

FIXED AREA NOT PRESENT

The control record specifies a decrease in the Fixed Area and there is no Fixed Area on the cartridge.

D86

DECREASE VALUE IN COUNT FIELD

There is insufficient Working Storage area available to allow the Fixed Area to be defined or expanded by the
amount specified in the count field (cc 27-30). This message is preceded by a count of the number of
cylinders available XXXX CYLS AVAILABLE. The count is in decimal.

D90

CHECK SUM ERROR

Checksum error in binary card or paper tape record, or binary cards are out of order.

D92

INVALID DISKZ CALL. A CORE
DUMP FOLLOWS

While performing a DUP function, an attempt has been made to read or write sector 0, or to read or write
with a negative word count. This is a system error.
A core dump follows this message since the affected cartridge may have to be reloaded. The dump allows the
user to locate the condition that caused the error. Use of the affected cartridge is not recommended until
the problem has been investigated.

093

CARTRIDGE OVERFLOW

While perfonning a DUP function, an attempt has been made to read or
write a sector beyond 1599 decimal.

SYSTEM LOADER MESSAGES AND ERROR CODES
No informational messages are printed during an
initial load. At the completion of a reload, the follow-

ing message is printed,
END RELOAD
Table 11 lists the System Loader Errors.

Appendix A

97

Table 11.

System Loader Errors

Error Number ond Messoge

Corrective Action

EOI

CHECKSUM ERROR

Follow procedure A or restart initial load.

E02

INVALID RECORD OR BLANK

Follow procedure A or restart initial load.

E03

SEQ ERROR OR MISSI NG RECORDS

Follow procedure A or restart initial load.

E04

ORG BACKWARDS

Inspect deck for cards missing or out of sequence. Correct deck and restart from card in error.

E05

ERROR IN LOAD MODE RECORD

Follow procedure A or restart initial load.

E06

INVALID DRIVE NUMBER

Set all bit switches off. Set bit switches to select physical drive number and press PROGRAM START.
All switches off - Drive 0
Switch 14, 15 on - Drive 3
Switch 15 on
- Drive 1
Switch 13 on
- Drive 4
Switch 14 on
- Drive 2

E07

ID SCTR DATA INVALID

Use DCIP or DISC and follow with initial load.

E08

CONFIG DECK ERROR

System configuration deck may be missing, out of place, or may contain errors in one or more cards. Correct
the deck and restart initial load.

E09

FILE PROTECT ADDRESS TOO HIGH

This error will occur on a reload only. The last program in the User Area extends into the last two cylinders
on the cartridge. These cylinders are required by the System Loader during a reload operation. The file
protect address must be lowered before a reload can be accomplished.

EIO

SYST DECK ERROR

A card containing a negative phase ID has less than four data words. Correct the deck in error and restart
initial load, or reload the phase in error, starting with the sector break card which precedes the last card
read.

Ell

SCRA OVER LA Y STOP

Abort. An initial load must be performed to shift the location of the Supervisor Control Record Area (SCRA)
address. An attempt to perform a reload on a non-system cartridge will cause this messoge to be printed.

E12

PHASE NO. OUT OF SEQ

The Accumulator contains the phase 10 of the phase that is out of sequence (from last card read). Place the
decks in proper order and continue from sector break card of correct phase.

E13

PHID RECD ERROR

Follow procedure A or reload and restart.

E14

PHASE MI SSI NG

Error occurred when phase ID (binary word 11) of last card read was processed. Inspect Load Mode card,
PHID card, and phase 10 of previously loaded phase to determine what phase is now required. Locate
missing phase, place deck in reader starting with sector break card of missing phase, and continue.

E15

PH. 10 NOT IN PHID CARD

The Accumulator contains the extraneous phose 10. To ignore this phase, press PROGRAM START. To load
this phose, correct the PHID card and perform an initial load.

E16

PHASE 10 NOT IN SLET

If this error occurs during a reload, and the system decks have not all been loaded, the error was caused by
an attempt to reload a phase not presently in the System Location Equivalence Table (SLET). The
Accumulator contains the 10 of the phase that cannot be found. The Extension contains O. Press PROGRAM
START to bypass this phase.
If this error occurs during reload table processing, the Accumulator contains the phase 10 that is being
searched for and the Extension contains the 10 of the phase requesting a SLET loakup. Press PROGRAM
START to go on to the next phase requested or to the next requesting phose in SLET.

E17

DEFECTIVE SLET

Processing cannot be completed. An initial load of the system is required.

E18

PAPER TAPE ERROR

The paper tape System Loader has found a word count greater than 54. This is probably due to incorrect
sequencing of topes, a faulty tope, or a paper tape reader malfunction. Correct error and restart initial
load.

Procedure A
If cards are being read from a 1442 Card Read Punch:
1.
2.
3.
4.
5.

lift the remaining cards from the hopper and press non process run out (NPRO).
Correct the cord in error (first card nonprocessed out) and place the two nonprocessed cards ahead of the cards removed from the hopper.
Place the deck back in the hopper.
Press reader START.
Press console PROGRAM START.

If cards are being read from a 2501 Card Reader:
1.
2.

3.
4.
5.

98

Lift the remaining cards from the hopper and press NPRO.
a. Correct the card in error (last cord in stocker prior to NPRO) and place this cord followed by the single non processed card ahead of the cards
removed from the hopper or,
b. If the error occurred after the PHID card was read and before the type 81 card was read the System Loader is in double buffer mode. Correct
the card in error (in this case the second from last card in the stacker when the error occurred) and place the last two cards from the stacker
and the non processed card aheod of the cards removed from the hopper.
Place the deck back in the hopper.
Press reader START.
Press console PROGRAM START.

FORTRAN I/O ERRORS

Table 12. FORTRAN I/O Errors
Accumulator
Display

Cause of Error

FOOO

No *IOCS card appeared with the mainline program and
I/o was attempted in a subroutine.

FOOl

Logical unit defined incorrectly, or No *IOCS control
record for specified I/o device.

FOO2

Requested record exceeds allocated buffer size.

FOO3

Illegal character encountered in input record.

FOO4

Exponent too large or too small in input field.

When a FORTRAN I/O error occurs, the system WAITs
at $PRET with an Fxxx error code displayed in the
accumulator. Table 12 lists the FORTRAN I/O errors.

SUPERVISOR MESSAGES AND ERROR CODES

FOO5

More than one E encountered in input field.

FOO6

More than one sign encountered in input field.

FOO7

More than one decimal point encountered in input field.

The monitor Supervisor causes all Monitor system
control records to: be printed on the principal printer.
During a DCOM update operation (i. e. , following
each JOB record or user call to SYSUP) the following
message is printed.

FOO8

Read of output-only device, or Write of input-only
device.

LOG DRIVE CART SPEC CART AVAIL PHY DRIVE

FOO9

Real variable transmitted with an I format specification or
integer variable transmitted with an E or F format
specification.

*

xxxx

xxxx

xxxx

xxxx

F020

'Illegal unit reference.

F021

Read list exceeds length of write list. *

F022

Record does not exist for read list element.

F023

Maxinum length of $ $ $ $ $ area on the disk ·ha. b...,
exceeded. This error is unrecoverable and results in a
call exit. *

FIOO

File not defined by DEFINE FILE statement.

CART SPEC is specified cartridge ID

FlOl

File record too large, equal to zero, or negative.

CART AVAIL is the available cartridge ID

Fl03

Disk FlO (SDFIO) has not been initialized.

FlOA

Subscripting has destroyed the Define File Tobie. This
occun when a subscript exceeds the specification in a
DIMENSION statement.

PHY DRIVE is the physical drive number starting
with o.

where

*

*) Can occur in unfonnatted I/O operations.

LOG DRIVE is the drive number specified on the
JOB card (in the calling sequence of the SYSUP
subroutine)

The logical drive may be different from the physical drive,
e. g. , physical drive 0 may be defined as logical drive 2.
One line is printed for each physical drive on the
system.
Tables 13,14, and 15 list Supervisor errors.

Table 13. Phase 1, Monitor Control Record Analyzer Errors
Error Number and Message

Cause of Error

Mll

INVALID MONITOR CONTROL RECORD

A// record was not recognized as a valid Monitor control record.

Ml2

EXECUTION SUPPRESSED

$NXEQ was set upon detection of an error that would prevent successful execution by the system. Execution
is bypassed.

Ml3

DUP SUPPRESSED

$NDUP was set upon detection of an error that would prevent successful DUP operation. DUP is bypassed.

Ml4

SYSTEM PROGRAM DETECTED MONITOR
CONTROL RECORD

A system program has detected a Monitor control record when none was expected. The contro,1 record is
passed to the MCRA for processing.

Ml5

ILLEGAL CARTRIDGE 10

A cartridge 10 contains an illegal character or is a negative number. The job is aborted.

Ml6

ASM AND/OR FOR VOIDED

ASM or FOR requested but the FORTRAN Compiler and/or Assembler was either not loaded by the System
Loader or was voided by a DUP DEFINE.

Appendix A

99

Table 14.

Phase 2.

System Control Record Program Errors (Phase 2 errors cause execution to be bypassed).

Cause of Error

Error Number and Message
M21

ABOVE RECORD NOT A SUPERVISOR
CONTROL RECORD

The lost record read is not a LOCAL, NOCAL, or FILES record.

M22

SUPERVISOR CONTROL RECORDS
INCORRECTLY ORDERED

LOCAL, NOCAL, and FILES records cannot be intermixed.

M23

INCORRECT CONTINUATION

A comma at the end of the record indicated that the record would be continued; however, it was not.

M24

ILLEGAL CHARACTER IN RECORD

An illegal character, probably a blank, appeared in the record.

M25

ILLEGAL FILE NUMBER

A non-numeric character appears in a file number, or the number is more than five characters long.

M26

ILLEGAL NAME

A name is more than five characters long, or contains characters other than A-Z, 0-9, or $, or a name
contains embedded blanks.

M27

ILLEGAL CARTRIDGE ID

The cartridge ID specified is not in the range /OOOI-/lFFF, or contains an illegal character.

M28

SCRA BUFFER OVERFLOW

The Supervisor Control Record Area (SCRA) cannot contain all the LOCAL, NOCAL, or FILES record
information.

M29

ILLEGAL DISK SUBROUTINE REQUESTED

A character other than 0, 1, N Z, or blank appeared in column 19 of the XEQ card.

Table 15.

SYSUP - DeOM Update Errors (SYSUP errors are also listed
with th~ System Library Utility Subroutine SYSUP).

Cartridge ID and Message

Cause of Error

XXXX IS NOT AN AVAILABLE
CARTRIDGE ID

A r~uested cartridge ID is not on any
cartridge on the system, or the ID is
not listed in 'CIDN of the DCOM on'
the cartridge.

XXXX IS A DUPLICATED
SPECIFIED CARTRIDGE ID

The cartridge ID was listed as appearing on more than one drive on the JOB
card.

XXXX IS A DUPLICATED
AVAILABLE CARTRIDGE ID

A specified ID appears on more than
one cartridge on the system.

XXXX IS NOT A SYSTEM
CARTRIDGE

An attempt has been made to specify a
non-system cartridge as the master
cartridge (logical 0).

100

CORE LOAD BUILDER ERRORS

Except for the core load map described in the Programming Tips and Techniques section and messages
R41-R45, the Core Load Builder prints no informational messages. Table 16 lists Core Load Builder
Error Messages.

Table 16.

Core Load Builder Error Messages

Error Number and Message
ROO

Cause and Co.-rective Action

LOCALS/SOCALS OVERFLOW WORK
STORAGE

There is insufficient Working Storage remaining to accommodate the LOCAL and/or SOCAL overlays required
by the core load.
Remedy
Change the Working Storage ID on the JOB card to the drive with the most available Workiny, Storage or
Create more Working Storage on the present drive by deleting subroutines, subprograms, and or data
no longer required.

ROl

ORIGIN BELOW 1ST WORD OF MAINLINE

The Core Load Builder has been instructed to load a word into an address lower than the first word of the
mainline program.
Remedy
Remove the ORG statement that is causing the problem or,
Origin the mainline program at a lower address.

R02

DEFINE FILE(S) OVERFLOW WORK STORAGE

There is insufficient Working Storage remaining to accommodate even one record of the defined file(s).
Remedy
See ROO.

R03

NO DSF PROGRAM IN WORKING
STORAGE

No program in Working Storage.
Remedy
Place the desired program in Working Storage before calling the Core Load Builder.

R05

INVALID LOADING ADDR FOR ILS02

ILS02 has been loaded into low COMMON.
Remedy
The mainline should be made longer so that ILS02 will be loaded in a higher address.

R06

FILE(S) TRUNCATED (SEE FILE MAP)

At least one defined file has been truncated, either because the previously defined storage area in the User
or Fixed Area was inadequate, or because there is inadequate Working Storage available to store the file.
Remedy
Redefine the User/Fixed Area file, or change the record count specification in the DEFINE FILE
statement.

R07

TOO MANY ENTRIES IN LOAD TABLE

There are references to more than (approximately) 150 different entry points in the core load l- . CALL and/or
L1BF statements.
Remedy
Divide the core load into two or mace links.

ROa

CORE LOAD EXCEEDS 32K

R09

L1BF TV REQUIRES B2 OR

MO~E

The Core Load Sui Ider has been instructed to lood a word into a core address that exceeds 32767 (a negative
number). The looding process is immediately terminated, since the Core Lood Builder cannot process
negative addresses. The error was probably caused by bad data being read from the disk.
ENTRIES

There are at least a2 different entry points referenced in the core load by LlBF statements.
Remedy
Divide the core load into two or more links.

Rl6

XXXXX IS NOT IN LET OR FLET

The program or data file name printed in the message cannot be found in LET or FLET.
Remedy
Store the program or data fi Ie.
If the name cannot be explained, the program being loaded has probably been destroyed (bad data was
read from the disk).

Rl7

XXXXX CANNOT BE A LOCAL/NOCAL

The program named in this message is either a type which cannot appear on a *LOCAL control card, or is a
LOCAL that has been referenced, directly or indirectly, by another LOCAL.

RIa

XXXXX LOADING HAS BEEN TERMINATED

The loading of the mainline program nomed in this message has been terminated as a result of the errors
listed in the messages preceding this one.

R19

XXXXX IS NOT A DATA FILE

The area named in this message does not begin at a sector boundary, which implies that it is not a data fi Ie
but a DSF program, and thus a possible error.
Remedy
Choose another area for the storage of this file.

R20

XXXXX COMMON EXCEEDS THAT OF ML

The length of COMMON for the subroutine named in this message is longer than that of the mainline
program.
Remedy
Define more COMMON for the mainline program.

R21

XXXXX PRECISION DIFFERENT FROM ML

The precision for the subroutine named in this message is incompatible with that of the mainline program.
Remedy
Make the precisions compatible.

Appendix A

101

Table 16. Core Load Builder Error Messages (continued)
Cause and Corrective Action

Error Number and Message
R22

XXXXX AND ANOTHER VERSION
REF'ENCED

At least two different versions of the same ISS have been referenced, e.g., CARDZ and CARDO (FORTRAN
uses CARDZ). If a disk subroutine is named in the message, it is possible that the XEO record specifies one
version (e.g., DISKZ) whereas the program references another (e.g., DISKN). (A blank in column 19 of
the XEO control record causes DISKZ to be used.)
Remedy
Change the references so that tne core load uses only one version of any given I/o subroutine.

R23

XXXXX SHOULD BE IN THE FIXED AREA

The area named in this message is in the User Area. References in DEFINE FILE and DSA statements for
*STORECI functions must be to the Fixed Area.

R39

XXXX IS NOT CURRENTLY ON SYSTEM

XXXX is a cartridge 10 appearing on an *FILES record. The cartridge was not on-line when the core load
was built.

R40

XXXX(HEX) = ADDITIONAL CORE
REQUIRED

If the core load was executed, /XXXX is the number of words by which it exceeded core before the Core
Load Builder made it fit by creating special overlays ~SOCALs).
If the core lqad was not executed, /XXXX equals the number of words still required after the Core Load
Builder has attempted to make it fit by using SOCALs.
Remedy
In the latter case, create mOo"e links or LOCAls.

R41

XXXX(HEX) WORDS UNUSED BY CORE
LOAD

NOT AN ERROR. /XXXX is the number of words of core storage not used by this core load.

R42

XXXX(HEX) IS THE EXECUTION ADDR

NOT AN ERROR. This message follows every successful conversion from DSF to DCI when a core map has
been requested.

R43

XXXX(HEX)
WD CNT

R44

XXXX(HEX) = FI/O, I/o SOCAL WD CNT

NOT AN ERROR. It has been necessary to use special overlays (SOCALs), and /XXXX is the length of the
FORTRAN I/o, I/o, and conversion subroutine overlay (see System Overlays).

R45

XXXX(HEX) = DISK FI/O SOCAL WD CNT

NOT AN ERROR. It has been necessary to use special overlays (SOCALs), and /XXXX is the length of the
disk FORTRAN I/O overlay, including the 320 word buffer.

R46

XXXX(HEX) = AN ILLEGAL ML LOAD ADDR

/XXXX is the address at which the Core Load Builder has been requested to start loading the mainline
program. However, this address is lower than the highest address occupied by the version of disk I/o
requested for th is core load.

= ARITH/FUNC

SOCAL

NOT AN ERROR. It has been necessary to use special overlays (SOCALs) and /XXXX is the length of the
arithmetic/function overlay (see System Overlays).

This error may also be caused by starting an absolute mainline program at an odd location. An ORG to an
even location, followed by a BSS of an odd number of words has the same effect as an ORG to an odd
location.
Remedy
Origin the mainline at a higher address, or
Request a shorter version of disk I/O, or
Origin the mainline at an even boundary
R47

XXXX(HEX) TOO MANY WDS IN COMMON

The length of COMMON specified in the mainline program plus the length of the core load exceeds core
storage by /XXX X words.

R64

XXXXX IS BOTH A LlBF AND A CALL

The subroutine named in this message either been improperly referenced, i.e., CALL instead of LlBF or
vice versa, or has been referenced in both CALL and LlBF statements.

R65

XXXXX HAS MORE THAN 14 ENTRY POINTS

This message usually means that the subroutine has been destroyed since a subroutine is not stored if it
contains more than 14 entry points.

R66

XXXXX HAS AN INVALID TYPE CODE

The subroutine named in this message has either
1) Been designated on an XEQ record and is not a mainline program or, 2)
Contains a type code other than 3 (subroutine), 4 (function), 5 (ISS), or 6 ILS), in which case, the
subroutine has probably been destroyed.
This error can also be caused by a DSA statement referencing a DSF program, or a CALL or LlBF referencing
a program in DC I or DDF.

102

AUXILIARY SUPERVISOR ERRORS

ISS SUBROUTINE WAITS

The Auxiliary Supervisor prints no informational messages. Table 17 lists Auxiliary Supervisor Error
messages.

A device not ready or illegal function parameter causes
a pre-operative WAIT at $PRET. The ISS subroutine
WAITs are listed in Table 18.

Table 17.

Auxiliary Supervisor Errors

SOO

INVALID FUNCTION
CODE

Cause of Error
The Auxiliary Supervisor received an
i II ega I parameter.

SOl

XXXXX IS NOT IN
LET/FLET

The Core Image Loader is unable to
find the specified name in LET or FLET.

S02

XXXXX IS A DATA
FILE

The specified name cannot be e'xecuted
since it is a data file, not a program.

Error Number and Message

Table 18. ISS Subroutine WArTs

Device Causing WAIT
1442 Card Read Punch
or 1442 Card Punch

Keyboard/Console
Printer

1134/1055 Paper Tape
Reader/Punch

2501 Card Reader

Disk

1132 Printer

1627 Plotter

SCAT

Contents of
Accumulator

Cause of WAIT

/1000

Device not ready or last card indicator on for read.

/1001

Illegal device, device not in system, illegal function, word count over +80, or word count zero or negative.

/2000

Device not ready.

/2001

Device not in system, illegal function, or word count zero or negative.

/3000

Device not ready.

/3001

Illegal device, illegal function, word count zero or negative, or illegal check digit.

/4000

Device not ready.

/4001

Illegal function, word count over +80, or word count zero or negative.

/5000

Device not ready.

/5001

Illegal device, device not in system, illegal function, attempt to write in file protected area, word count zero or
negative, or starting sector identification over + 1599.

/5002

Write select/power unsafe.

/5003

Same as /5001 except error caused by a Monitor pragram (0 ISKI, DISKN only).

/5004

Disk error (DISKZ only)

/6000

Device not ready or end of forms.

/6001

Illegal function, word count over +60, or word count zero or negative.

/7000

Device not ready.

/7001

Illegal device, device not in system, illegal function, or word count zero or negative.

/8001

Invalid function code or invalid word count (all SCAT subroutines).
Invalid sub-function code for some transmit or receive operation (SCAT2 or SCAT3 only).

1403 Printer

1231 Optical Mark
Page Reader

/8002

Receive operation not completed or transmit operation not completed (SCATl only).

/8003

Failure to establish synchronization before attempting to perform some transmit or receive operation,or attempting to
receive before receiving INQ sequence (SCATl only).

/9000

Device not ready or end of forms.

/9001

Illegal function, word count over +60, or word count zero or negative.

/AOOO

Device not ready.

/AOOI

Illegal function.

Appendix A

103

APPENDIX B. CHARACTER CODE CHART

EBCDIC
Ref
No.

Binary

IBM Card Code
Hex

0123

4567

0
1
2
3
4
5*
6*
7*
8
9
10
11
12
13
14
15

0000

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

00
01
02
03
04
05
06
07
08
09
OA
OB

16
17
18
19
20*
21*
22*
23
24
25
26
27
28
29
30
31

0001

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

10
11
12
13
14
15
16
17
18
19
1A
lB
1C
10
IE
IF

32
33
34
35
36
37*
38*
39
40
41
42
43
44
45
46
47

0010

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

20
21
22
23
24
25
26
27
28
29
2A
2B
2C
20
2E
2F

48
4<2
50
51
52
53*
54'
55
56
57
58
59

0011

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

60

61
62
63

NOTES: Typewriter Output
Tabulate
~ Shift to black

-?

if
@
I

=

..

(apostrophe)

7D
7E

8C

6E
57
6D
15

62
23
2F

61
4C

16

08
4A

EBCDIC
Ref
No.

Binary
0123

4567

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

1000

0000
0001
0010
0011
0100
0101
0110
0111
1000
100i
1010
1011
1100
1101
1110
1111

144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159

1001

160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175

1010

176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191

1011

I

I BM Card Code
Hex

Rows
12

80
81
82
83
84
85
86
87
88
89
8A
8B

8C
80
8E
8F
90
91
92
93
94
95
96
97
98

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

9A
9B
9C
90
9E
9F

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

AO
Al
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

BO
81
82
83
B4
85
B6
B7
B8
B9
BA
88
BC
80
BE
8F

99

11

12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12

11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11

11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12

11
11
11
11
11

11
11
11
11
11
11
11

11
11
11
11

Hex

Graphics and Control
Names

0 9 8 7-1
0
8
0
0
0
0
0
0
0
0
8
0 9
0
8
0
8
0
8
0
8
8
0
0
8

1
1
2
3
4
5
6
7

8

1
1
2
3
4
5
6
7

2
3
4
5
6
7

8
9
8
8
8
8
8
8

2
3
4
5
6
7

0
8
0
0
0
0
0
0
0
0
8
0 9
0
8
0
8
0
8
0
8
0
8
0
8

1
1
2
3
4
5
6
7

0
8
0
0
0
0
0
0
0
0
8
0 9
0
8
0
8
8
0
0
8
0
8
8
0

2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
3
4
5
6
7

B020
BOOO
A800
MOO
A200
Al00
A080
A040
A020
A010
A820
A420
A220
A120
AOAO
A060
0020
0000
C800
C400
C200
Cloo
C080
C040
C020
COlO
C820
C420
C220
C120
COAO
C060
7020
7000
6800
6400
6200
6100
6080
6040
6020
6010
6820
6420
6220
6120
6OAO
6060

1132
Printer
EBCDIC
Subset Hex

PTTC/8
Hex

U -Upper Case
L-Lower Case

Console
Printer
Hex

1403
Printer
Hex

a
b
c
d
e
f
9

h
i

i

k
I
m
n
0

p

q
r

s
t

u
v

w
x

Y
z

F020
FooO
E800
E400
E200
Eloo
E080
E040
E020
E010
E820
E420
E220
E120
EOAO
E060

Appendix B

107

EBCDIC
Ref
No.

Binary

IBM Card Code

0123

4567

192
193*
194*
195*
196*
197*
198*
199*
200*
201*
202
203
204
205
206
207

1100

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
lOll
1100
1101
1110
1111

C8
C9
CA
CB
CC
CD
CE
CF

208
209*
210*
211*
212*
213*
214*
215*
216*
217*
218
219
220
221
222
223

1101

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

DO
01
02
03
04
05
06
07
08
09
OA
DB
DC
DO
DE
OF

224
225
226*
227*
228*
229*
230*
231*
232*
233*
234
235
236
237
238
239

1110

0000
0001
0010
0011
0100
0101
OlIO
0111
1000
1001
1010
1011
1100
1101
1110
1111

EO
El
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF

240*
241*
242*
243*
244*
245*
246*
247*
248*
249*
250
251
252
253
254
255

1111

0000
0001
0010
001l
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

FO
FI
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FO
FE
FF

108

Rows

Hex
12
CO
Cl
C2
C3
C4
C5
C6

C7

11

12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12

12
12
12
12
12
12

Hex

0 9 8 7-1
0
1
2
3
4
5
6
7
8
0
0
0
0
0
0

11
II
11
11
11
11
II
11
11
11
11
II
11
11
11
11

11

11
11
11
11
II
11

9
9
9
9
9
9
9

8
8
8
8
8
8

2
3
4
5
6
7

0
I
2
3
4
5
6
7
8
9
9
9
9
9
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

8
8
8
8
8
8

2
3
4
5
6
7

8

2
1
2
3
4
5
6
7

9

8
9
9
9
9
9
9
9

8
8
8
8
8
8

2
3
4
5
6
7

0
I
2
3
4
5
6
7
8
12
12
12
12
12
12

11
11
11
11
11
11

Graphics and Control
Names

0
0
0
0
0
0

9
9 8
9 8
9 8
9 8
9 8
9 8

2
3
4
5
6
7

AOOO
9000
8800
8400
8200
8100
8080
8040
8020
8010
A830
A430
A230
AI30
AOBO
A070

(+zero)
A
B
C
0
E
F
G
H
I

6000
5000
4800
4400
4200
4100
4080
4040
4020
4010
C830
C430
C230
CI30
COBO
C070

(- zero)

2820
7010
2800
2400
2200
2100
2080
2040
2020
2010
6830
6430
6230
6130
60BO
6070
2000
1000
0800
0400
0200
0100
0080
0040
0020
0010
E830
E430
E230
E130
EOBO
E070

1132
Printer
E8CDIC
Subset Hex

PTTC/8
Hex
U-Upper Case
L-Lower Case

Console
Printer
Hex

1403
Printer
Hex

64

C6
C7
C8
C9

61 (U)
62 (U)
73 (U)
64 (U)
75 (U)
76 (U)
67(U)
68 (U)
79 (U)

3C or 3E
la or lA
1C or IE
30 or 32
34 or 36
10 or 12
14 or 16
24 or 26
20 or 22

25
26
67
68
29
2A
6B
2C

01
02
03
04
05
06
07
08
09

51
52
43
54
45
46
57
58
49

(U)
(U)
(U)
(U)
(U)
(U)
(U)
(U)
(U)

7Cor7E
58 or 5A
5C or 5E
70 or 72
74 or 76
50 or 52
54 or 56
64 or 66
60 or 62

58
19
IA
5B
lC
50
5E
IF
20

32 (U)
23 (U)
34 (U)
25 (U)
26 (U)
37(U)
38 (U)
29 (U)

98 or 9A
9C or 9E
BO or B2
B4 or B6
90 or 92
94 or 96
A4 or A6
AO or A2

00
OE

Z

E2
E3
E4
E5
E6
E7
E8
E9

0
I
2
3
4
5
6
7
8
9

FO
Fl
F2
F3
F4
F5
F6
F7
F8
F9

lA(L)
01 (L)
02 (L)
13 (L)
04 (L)
15 (L)
16 (L)
07 (L)
08 (L)
19 (L)

C4
Fe
08
DC
FO
F4
DO
04
E4
EO

49
40
01
02
43

J
K
L
M
N

0
P
Q

R

S

T
U
V
W
X
Y

Cl
C2
C3
C4

C5

4F
10
51
52
13

54

04
45
46
07
08

APPENDIX C. FORMATS

Contents

Word

DISK FORMATS

8

DISK SYSTEM FORMAT (DSF)
Disk system format is the format in which absolute
and relocatable programs (mainlines and subprograms)
are stored on disk. Disk system format is shown in
Figure 16.
Program Header
The format of words 1-12 of the program header is the
same for all program types (see Program Types below).
These words contain the following information:
Contents

Word
1
2

3
4
5
6

7

Zero
Checksum, if the source was cards;
otherwise, zero.
Program type (bits 4-7), subtype (bits 0-3),
and precision (bits 8-15)
Effective program length, i. e., the
terminal. address in the program
Length of COMMON (in words)
Length of the program header (in words)
minus 9
Zero

Length of the program, including the
program header (in disk blocks)
9
FORTRAN indicator (bits 0-7), number of
files defined (bits 8-15).
10-11 Name of entry point 1 (in name code)
Address of entry point 1 (absolute for type
12
1 programs, relative for all others)
The format of words 13 -54 of the program header
varies according to the program type. For program
types 1 and 2, the program header consists of words
1-12 only.
For program types 3 and 4, the program header,
in addition to words 1-12 t contains the following
information:
Word
13-14
15
16-17
18
19-51

Contents
Name of entry point 2 (in name code)
Relative address of entry point 2
Name of entry point 3 (in name code)
Relative address of entry point 3
Names and relative addresses of entry points
4 through 14, as required, in the format
shown above. The program header ends following the relative address of the last entry
point defined; hence, it is of variable length.

For program types 5 and 6, the program header, in
addition to words 1-12, contains the following information:

__-------------------A~------------------~,
DSF Module

(

DSF Blocks
r" - v - - A .
~~~~~t
:a;;st
See description.
DSF Block (2-9 Data words):

\

1

'

A

Word 1 - Indicator Data Word
Words 2-9 - Data Words
Data Header (2 words):
Word 1 - Loading address
Word 2 - Number of words
following to the next
data header, plus the
number of words (2) in
the next data header

Figure 16.

~l~-------------VY------------~
DSF Modules
+
Data Break Caused by:
1. ORG, BSS, BES, or DSA
statement
2. Start of a new sector
3. End of the program

End-of-Program
Data Header (2 words):
Word 1 -Relative
address of the next
available core
location
Word 2 _ zero

Disk System Format

Appendix C

109

Contents

Word
13
14
15
16

17

ISS number plus 50
ISS number
Number of interrupt levels required*
Interrupt level number associated with
the primary interrupt*
Interrupt level number associated with
the secondary interrupt*

*The 1442 Card Read Punch is the only device requiring
more than one interrupt level.
For type 7 programs, the program header, in addition to words 1-12, contains the associated interrupt
level number in word 13.
Program Types
The program types are defined as follows:
Type of Program
1
2
3
4

5
6
7

Mainline (absolute)
Mainline (relocatable)
Subprogram, not an ISS, referenced by a
LIBF statement
Subprogram, not an ISS, referenced by a
CALL statement
Interrupt service subroutine (ISS)
referenced by a LIBF statement
Interrupt service subroutine (ISS)
referenced by a CALL statement
Interrupt level subroutine (ILS)

Program Subtypes
Subtypes are defined for program types 3, 4, 5, and 7
only. When not used, the subtype indicator in the
program header contains a zero.
The program subtypes are defined as follows:
Subtype Type

110

0
1
2
3

3,4
3
3
3

3
8

5
4

1

7

DISK DATA FORMAT (DDF)
Disk data format is the format in which data files are
stored on the disk. Disk data format consists of 320
binary words per sector. There are no headers,
trailers, indicator words, etc.

DISK CORE IMAGE FORMAT (DCI)
Disk core image format is the format in which a core
image program is stored on disk. A core image program consists of the Core Image Header, the mainline
program, all subprograms referenced in the mainline
program or other subprograms (except the disk I/O
subroutine), the Transfer Vector, and any LOCALs and
SOCALs required. Figure 5 (see STORECI under Disk
utility Programs) shows the layout of a core image
program stored on disk.

Core Image Header
The Core Image· Header contains the following information:
Word
Relative
Symbol Address.
~XEQ1

@>CMON
~DREQ

@>FILE
@>HWET
@>LSCT
@>IDAD
@)XCTL
@)TVWC
@)WCNT
@).x:R3X

4
5
6
7
8
9
10

(Q>lTVX

12
13
14
15
16
17

Description
In-core subprograms
Disk FORTRAN I/O subroutines
Arithmetic subroutines
Non-disk FORTRAN I/O and "Z"
conversion subroutines
"Z" device subroutines
Function subprogram
Dummy ILS02, ILS04

1
2
3

11

1s-20
21
22
23
24
25
@OVSW
Ii>CORE

26
27
28
29..30

Contents

Execution address. of the core load
Length of COMMON (in words)
Disk I/O subroutine indicator -/FFFJ!
for Dl~ /0000 for- DISKl, /0001
for DISKN
Number of files defined
Length of the Core Image Header (in words)
Sector count of files in System WS
Loading address of the core load
Exit control address for DISKl/N
Length of the transfer vector (in words)
Length of the core load (in words)
Setting for index register 3 during execu.tion
of the core load

eo-nts of
Contents
of wmd
word 98 durlng
during execution
execution
Contents of word 10 during execution
Contents of word 11 during execution
Contents of word 12 during execution
Contents of word 13 during execU'don

Re~~

1

I

lTV

IntemIpt entry to 1231 ISS
Interrupt entry to 1403 ISS
Interrupt entry to 2501 ISS
Intea"Upt entry to 1442 ISS
IBT for ILS04
IntemIpt entry to KeyboardJ
Console Printer ISS
Interrupt entry to 1134/1 ass ISS
Sector count of J...OCALs/SOCALs
Core size of system on which core load built
Define File Table checksum work area.

Word

CARD FORMATS

CARD SYSTEM FORMAT (CDS)
Card system format is the format in which absolute
and relocatable programs (mainlines and subprograms)
are punched into cards. Each deck in card system format consists of (1) a header card, (2) data cards, and
(3) an end-of-program card.

Mainline Header Card
The mainline header card is the first card of every
type 1 or 2 program in card system format. It contains the following information:

4-5
6

7-9
10-11
12
13-51
52-54

Contents
Precision code (last 8 bits):
0000 0001 -- standard
0000 0010 -- extended
0000 0000 -- undefined
Reserved
Number of entry points times three
Reserved
Name of entry point 1 (in name code)
Relative address of entry point 1
Names and relative addresses of entry
points 2 through 14, as required
Reserved

ISS Header Card
Word

Contents

1
2
3

Reserved
Checksum
Type code (first 8 bits):
0000 0001 -- absolute
0000 0010 -- relocatable
Precision code (last 8 bits):
0000 0001 -- standard
0000 0010 -- extended
0000 0000 -- undefined
4
Reserved
5
Length of COMMON, in words
(FORTRAN mainline program only)
0000 0000 0000 0011
6
7
Length of the work area required, in
words (FORTRAN only)
8
Reserved
9
Define File Count
10-11 Name
12
Relative Entry Point
13-54 Reserved

The ISS header card is the first card of every type
5 or 6 program in card system format. It contains
the following information:
Word
1
2
3

4-5
6

7-9
Subprogram Header Card
The subprogram header card is the first card of every
type 3 or 4 program in card system format. It contains
the following information:
Word
1
2
3

Contents
Reserved
Checksum
Type code (first 8 bits):
0000 0011 -- to be called by a LIBF
statement only
0000 0100 -- to be called by a CALL
statement only

10-11
12
13-14
15
16

17
18-29
30
31-54

Contents
Reserved
Checksum
Type code (first 8 bits):
0000 0101 -- to be called by a LIBF
statement only
0000 0110 -- to be called by a CALL
statement only
Precision code (last 8 bits):
0000 0001 -- standard
0000 0010 -- extended
0000 0000 -- undefined
Reserved
Number of interrupt levels required
plus 6
Reserved
Subroutine name (in name code)
Relative entry point address
Reserved for parameters used by the
1130 Card/Paper Tape System
Number of interrupt levels required*
Interrupt level number associated with
the primary interrupt*
Interrupt level associated with the
secondary interrupt level*
Reserved
One
Reserved

*The 1442 Card Read Punch is the only device requiring more than one interrupt level.

Appendix C

111

Word

ILS Header Card
The ILS header card is the first card of every type 7
program in card system format. It contains the
following information:
Contents

Word
1
2

3

4-5
6

7-9
10-12
13
14-54

Reserved
Checksum
Type code (first 8 bits):
0000 0111
Reserved (last 8 bits)
Reserved
0000 0000 0000 0100
Reserved
Reserved
Interrupt level number
Reserved

Data Cards
In all types of programs, data cards contain the instruc-

tions and data that constitute the machine language program. The format of each data card is as follows:
Word
1

2
3

4-9

10
11-54

Contents
The loading addres s of the first data word in
the card. Succeeding words go into highernumbered core locations. The relocation
factor must be added to this address to obtain
the actual load address. For an absolute
program the relocation factor is zero.
Checksum
Type code (first 8 bits);
0000 1010
Count of data words, excluding indicator data
words, in this card (last 8 bits)
Relocation indicator data words (2 bits for
each following data wOrd):
00 -- absolute
01 -- relocatable
10 -- LIBF
11 -- CALL
Data word 7
Data words 8 through 51

End-of-Program (EOP) Card
The end-of-program card is the last card of all programs in card system format. It contains the following information:

112

1

2

3

4
5-54

Contents
Effective length of the program. This number
is always even and is assigned by the Assembier, or FORTRAN Compiler.
Checksum
Type code (first 8 bits):
0000 1111
Last 8 bits:
0000 0000
Execution address (mainline program only)
Reserved

Sector Break Cards
Sector break cards are binary cards used by the
System Loader to cause programs or phases of
programs to start loading at the beginning of a sector. The Monitor system uses Type 1 loader cards
as sector break cards. The sector break cards are
not checksummed. Columns 5-72 of the sector break
cards may contain information identifying the program
phase being loaded. The card sequence number appears
in columns 73-80. Columns 5-80 are punched in IBM
Card Code.
Type 1 cards are identified by a 1 punch in column 4 (binary word 3). A Type 1 card indicates to
the System Loader that it should check word 11 of
the first data card that follows. For the Resident
Image, Cold Start Program, and Phase 1 or the Systern Loader, word 11 contains aJ;l absolute starting
sector address. For all other Monitor programs
or phases word 11 contains the phase ID. Recognition of a phase ID during initial load causes the
System Loader to load the program or phase starting at the next sequential sector. During a reload,
the phase ID is matched with the ID in SLE T and the
phase is loaded to the sector address indicated in
SLET.
On an initial load, phase 1 of DUP starts loading
at sector 8.
A type 2 (relocatable starting sector address
sector break card is processed by the Monitor
system as a Type 1 sector break card.

CARD DATA FORMAT (CDD)
Card data format is the format in which data files are
punched into cards. Card Data format consists of 54
binary words per card. Each binary word occupies
1-1/3 columns. There are no headers, trailers,
indicator words, etc.
Card Data format is illustrated in Figure 17.

CARD CORE IMAGE FORMAT (CDC)
Card core image format is the format in which core
image programs are punched into cards. Card core
image format is identical to card data format; that is,
one binary word occupies 1-1/3 columns and 54 binary
words can be punched per card.

record. A data record in paper tape (data or core
image) format contains a maximum of 108 frames (54
binary words) plus the 2 special frames.
Information that would appear in columns 73-80 in
card format must not appear in paper tape format.

PRINT FORMAT
PAPER TAPE FORMATS
The paper tape formats -- paper tape system format
(PTS) , paper tape data format (PTD), and paper tape
core image format (PTC) -- are analogous to the corresponding card formats (see above).
Two frames in paper tape (data or core image)
format contain one binary word and are equivalent
to 1-1/3 columns in card (data or core image) format.
A data record in paper tape (data or core image) format
differs from a data record in card (data or core image)
format in that 2 special frames precede the data record;
the first contains 7F16, and the second contains the
word count, one-half the number of frames in this data

,

Word 1

PRINT DATA FORMAT (PRD)
Print data format is the format in which nup prints a
nSF program, core image program, or data file on a
print device (1403, 1132, or Console Printer).
The Address which precedes each printed line is the
core address of Word 1 on that line if a core image
program is being printed. If a nSF program or data
file is being printed, the Address is the address of Word
1 on that line relative to the start of the nSF program
or data file. Each Word printed consists of four hexadecimal characters and represents one binary word.
Figure 18 illustrates the nSF and core image print
format.

Word 54

J

Figure 17. Card Data Format

Appendix C

113

DSF
*OUMP
AOOR

UA
***0

PR
***1

SYSUP
***2 ***3

***4

***5

***6

***7

***8

***9

***A

***B

***C

***0

***E

***F

0400
2COO
88A4
1101
0035
0008
COF2
005C
(400
4C28
e054
00C8
(045
0036
4440
0000
COCO
00F4
C340
COOO

COOO
01BC
0400
OCOO
0040
1890
7400
4400
CODE
4100
0400
C041
04CO
70FO
0089
COCO
COBE
0035
4040
4400

0000
6000
010E
023E
61F8
4400
OOEE
0244
0400
007B
009A
0600
OOOA
6100
9500
OOCB
ooce
4000
C3C1
0201

0003
01BE
6500
C400
C500
0004
70FO
7201
OOOA
1810
0000
COE5
C480
6600
OOCO
0006
4040
00F5
09E3
COE2

COOO
6EOO
COA4
0230
COOO
COF2
C400
005A
C500
0500
C056
0410
0006
OOE5
4C18
CCOO
03FE
0011
CCOO
1890

0000
4700
6000
0400
0500
7400
4101
0035
00E5
OOCB
1890
C03F
4420
6EOO
010F
FFFF
0000
0306
40Cl
C600

0000
01CO
02El
002C
00C5
DOH
0301
0001
0400
701E
4400
0600
4044
02FO
7201
0004
0600
C740
E5Cl
4411

22A2
6FOO
04CO
C480
7101
70FO
D07l
1000
009F
0000
00F2
00E6
036E
6200
1000
OOCO
0701
C409
C903
00C6

2917
01C2
1810
CCOO
70FA
C07E
0400
70F7
0000
0858
7400
C030
C053
1100
7403
0002
0077
C9E5
4040
4400

0000
0689
0400
1100
700C
4C20
OOOB
61FB
E87l
4(CO
0087
0600
1890
C600
4000
0018
0000
C540
07C8
0244

COOO
3155
OOOB
4C28
0110
P051
10AO
6200
0067
4000
0035
00E7
C400
00C6
02FO
4005
2000
4040
E840

coo

0035
0099
C400
0035
1001
C400
6200
C400
E870
0017
0041
7203
OBC
4C28
70Fl
0006
8800
0000
C409
4C20

0444
4408
009F
84CO
1801
4000
C600
OOOA
0067
3000
OOEE
1000
4480
0105
0005
CCCO
0000
C3Cl
C9E5
012F

0000
0028
1890
008E
0400
0100
OOCO
0400
0863
C062
70FO
0000
alOE
4C08
OCOO
0292
9000
09E3
1040
C400

1890
1010

4400
0600

00F2
0464

7400
7201

COEe
70FA

0121
4400

0035
0285

0401
62F8

70FO
C600

C400
4404

03A2
00C8

0400
0600

OOEO
0301

629C
7201

03FE 0005 COCO
0064 CCOO
0000 0000 0000
DB CNT 0035
DB AD DR 190B

0478

COOC

0000

OCOO

0000

0000

0000

0000

COOO

0000

CCOO
0010
0020
CC30
C040
0050
C060
0070
C080
0090
COAO
0080
COCO
COOO
COED
COFO
0100
0110
0120
0130

occo
9800
40E2
C540

B043
0242
068A
C02C
0020
C400
4400
4C18
1010
1003
CODA
0500
70C9
0044
0010
C004
COOl
AOOO
07C,
0398

0140
0150

0100
C600

0000
03FE

-

CCCO
OCOO
CI0l
C400
OC02
OOBF
1890
llCO
OOOF
0864
0400
C047
7101
7400
0084
OOC~

-."

0410
0001
0420
COOO
CART 10 3333

TL

--

Disk block on sector. For Data Files, this position wi II always be 0 (Data Fi les must start on a sector boundary).
Sector

Core Image (note that the actual starting address is 2409)
*OUMP
AODR

FX
***0

PR
***1

2400
2410
2420
2430
2440
2450
2460
2410
2480
2490
24AO
24BO
24CO
2400
24EO
24FO

OCCO
0000
0000
FOFf
CCOO
0000
0000
(640
COOO
COOO
1CCO
3155
70FC
0138
0179

CODa
0000
CCOO
02CO
0000
0000
CCOO
COCO
0000
0000
0001

2500
2',,10
2520
2530
2540
2550
25M.
2570
2560
2590
25AO
2580
25CO
2500
25EO
25FO
2600
2610
2620
2630
2640
2650
2660
2670
2680
CART 10

CIMGE
***2 ***3

***4

***7

***8

***9

***A

***B

***C

***0

***E

***F

4222
0024

0408
08CO
0000
0000
0000
0000
0000
0000
0000
0000
0004
0000
4400
OOAF
OOOB
C054

4018
0000
0000
OCOO
0000
0000
0000
COOO
0000
0000
F6A4
C8F7
00F2
C06A
C806
4480

1082
0000
0000
0000
0000
0000
0000
0000
0000
0000
OA20
4400
C400
4480
4480
OOAF

09CO
1002
0000
0000
coco
0000
0000
7D04
0000
0000
1110
00F2
OOEE
OOAF
OOAF
66CO

2409
0000
0000
COOO
0000
0000
0000
06C4
0000
0000
030C
0689
4820
6500
6500
01F6

0622
0000
4400
C626
006B
70FB
0000
0000
OOAB
0000
70FC
0100
0083
C200
7301
0000

4C16
0001
00E2
404A
62EF
7203
0000
OCOO
0002
0000
74CO
1104
0300
1800
70FO
0000

0059
0000
6700
C820
OA12
7006
COOO
0000
OOFC
0000
OOBO
0000
1010
1010
00F8
0000

0000
0000
0000
90F8
0139
0400
0032
62FB

0000
0000
0000
OOFA
6AEA
OA47
E060
C500

0000
0000
0000
4C10
6203
C500
4C08
OF72

0440
68A4
0111
OA20
4480

0000
COOO
CO 00
0000
0000
0000
0000
0000
0000
COOO
7000
0400
C8E3
1044
COAF

2209
0000
OOOC
0000
0000
0000
0000
CCOO
COOO
0000
01F4
OOAF
4480
0440
6500

0000
CCOO
COOO
OCOO
0000
CCOO
OB21
0000
0000
CCCO
7000
C400
OOAF
4111
0181

0000
0000
0000
0000
0000
0000
OA03
0000
0000
0000
0110
OOEE
4460
0010
69CC

8209
0000
0000
0000
0000
0000
0000
0000
0000
0000
7000
4820
OOAF
0110
CBCA

OCOO
0000
0111
7CFC
C060
0400
4480

6500
C500
F04B
C82C
6BEC
COOO
C028
COCO
009E
0102
013B
4COO
00B1
GOB3
80AE
COOO

FE54
0623
4C18
4054
COEe
0000
OOAI
0000
8429
0004
6FOO
0038
7006
74,=F
80AE
0000

C200
1800
0095
C82C
9026
0000
0009
CCOO
OA20
0106
C008
0000
C480
00B2
0500
COOO

4C18
1010
1010
4052
4C18
7201
OC39
0000
1111
ce05

9049
EF85
0700
4050
C817
61EA
0000
0000
0001
0178
4480
00E8
0300
00C7
7004
7201

4816
OA20
0111
C82A
403F
C01C
COOO
CCCO
1110
0040
OOAF
OCC8
680E
0000
6500
70EB

685E
0410
1101
404E
C815
0500
0000
0000
0100
0040
C400
970F
1001
690F
0000
COOO

C200
1004

DOE9
00B3
70EB
010A
0000

0080
005E
1066
C828
00B4
7080
OOCO
0000
1140
aIDA
OOOA
1800
1008
4C80
7101
OOOC

C824
4030
0110
0000
oDeD
0000
007C
0036
OA20
C300
61FO
4C80
OOCO

9500
0000
70EF
404C
6BE3
7101
0000
0000
0002
0070
4820
1040
EC80
63FC
00E2
0000

CCOO
0000
OF63
4C18
1890
C004
0864
OC56
C400

0000
0000
4C18
06BO
440e
0600
4400
1890
0698

0000
0000
0986
0000
00F2
OA47
00F2
4400
4COO

0000
CCOO
70CA
CCCO
7400
CODE
74CO
00F2

OCOO
0000
7112
COOO
OOEE
0400
OOEE
7400

0000
0000
4528
6AFO
70FO
OA48
70FO
OOEE

0000
0000
FOOO
COOF
6600
COOC
C500
70FO

2000
0000
COOO
COOO
0000
0000
COOC
COOO
0000

C076
0031
690£

8406
0000
COOO
COOO
0000
0000
coco
OOCO
0000
0000
0441
068A
0400
8BE6
C800

6700
7104
1088
CCCO
4048
0010
C018
OCCO
OCOO
0004
OCOO
7002
OC40
00D7
1084
1211

013C
70F9
07CO
C831:!
C826
0000
70C8
cooo
COOO
OOFt:
CCOO
7201
0400
7301
90Af
OA02

6624
63FA
0110
4056
4046
COOO
7002
COCO
0000
0004
6100
7082
7400
7401
4808
CCCO

0000
0000OCOO
OFB1
09C6
COOO
OF63
OAB
9600
3333

0000 0000 0000
0000 0000
0000 0000 COOO
0000 0000
COOO 0000 co 00
0000 9500
C851 9832 4C20
05F3 1090
C400 OA48 0400
OA43 C07F
0600 OA48 C006
0600 OA46
050u OF5E C061
1890 C400
ECOO OF35 0400
OF98 C400
CFD8 4C18 OA05
720L 70F8
DB AOCR 1220
DB CNT 0020

00, Logical Drive 0, 1, 2, 3,
or 4
$FPAD
COMMA File Protect Address, Logical
Drive 0, 1, 2, 3, or 4
#=FPAD -- DCOM File Protect Address, Logical
Drive 0, 1, 2, 3, or 4
#=CIBA
CIB Address, Logical Drive 0, 1, 2, 3,
or 4
#=ULET
LET Address, Logical Drive 0, 1, 2, 3,
or 4
#=FLET
FLET Address, Logical Drive 0, 1, 2,
3, or 4
#=CII>N

FollOwing this line will be a second header line which
reflects information concerning the LET /FLET sector
being dumped:
Relative Sector Number (SCTR NO.)
User Area/Fixed Area (UA/FXA)
Word Available (WORDS AVAIL)
Chain Address (CHAIN ADR)

Appendix G

123

Following these two header lines are the LET /
FLET entries. Twenty one lines of entries are
printed, five entries per line and sequenced by column. Each entry is formatted as follows:
Name -- 5 print positions + blank
Type code -- DSF, DCI, or DDF -- 3 print
positions + blank, 4 blanks if lDUMY or
secondary entry point

124

DB COWlt -- 4 print positions + blank
DB Addr -- 4 print positions + 5 blanks

Only the name is printed for each secondary
entry.
Examples of DUMPLET and DUMPFLET
follow.

II

JOB

3333

lOG DRIVE
0000

CART SPEC
3333

CART AVAIL
3333
2222
COOF
OABS

PHY DRIVF
0002
OCOI
0003
0004

II DUP

*DHINE FIXED AREA
CART 10 3333 cns FXA

0004

"

DBS AVAIL 0200

10
*STOREDATA CD FX CATA
DB ADOR
1200
CART 10 3333
DB CNT

0020

10
*STOREGATACICC Fx CIMGE
DB AGCR
1220
CflRT 10 3333
CB CNT

0020

10
*STOREDATA CC UA CATA2
CART 10 33H
013 AceR
lC40
CB CNT

0020

FLET SECTOR AOOR

0118

*CU~PlET

lET

$FPAO
0106

=CIDN
3313
SCTR NO.
CCOO

=FPAC
0106

UA/FXA.
0158

=(.I8A
0140

=UlE:T
C150

WORDS AVAIL.
OCOO

=FlET
C1l8

CHAIN ADDR.
0151

PROG
NAME

FOR DB
MAT CNT

DB
AOOR

PROG
NAME

FOR DB
MAT CNT

FADD
FSUB
FADOX
FSUBX
FAXI
FAXIX
FOIV
FDIVX
FDVR
FOVRX
FGETP
FLO
FlDX
FSTO
FSTOX
FMPY
F/I,PYX
FSBR
FSBRX
FABS
FAVl

GSF OOOB

l~BO

FATN
FATAN
FAXB
FAXBX
FEXP
fXPN
FlN
FAlOG
FSIGN
FSIN
FSINE
FCOS
FCOSN
FSQR
FSQRT
FTANH
FTNH
SFAR
SFARX
Sf IF
EADD

OSF OOOA 15AA

DSF 0006 1588
DSF 0007 158E
GSF 0003 1595
DSF 0003 1598
CSF 0005 159B

DSF 0005 15AO
DSf 0003 15A5
DSF oe02 1548

=CION

SFPAC

BH

0106

SCTR NO.
COOL

=FPAD
0106

UA/FXA.
015&

PROG
NAME

FOR DB
HAT CNT

ISIGN
OVERF
SlI TE
SllTT
POUMP
TSTOP
TSTRT
SOFIO
SDAF

nSF 0003 16AC
DSF oe02 16AF
nSF OC05 16Bl
OSF
OSF
DSF
DSF

0009
0002
0002
0017

DB
AOOR

16B6
16Bf
16Cl
16C3

OSF 0005 15B4
OSF 0009 15B9
DSF OOOA 15C2
OSF C003 15CC
OSF 0009 15CF

OSF 0006 150B
OSF COOS 15DE
DSF 0004 15E3
DSF 0003 15E7
DSF 0008 15EA

=CIBA
0140

=ULET
0150

kOROS AVAil.
0000

PROG
NAME

08
ACDR

uno

ESUB
EADOX
ESUBX
EAXI
EAXIX
EDIV
EOIVX
EDVR
EDVRX
EGETP
ElD
ElDX
ESTO
ESTOX
EMPY
EMPYX
ESBR
ESBRX
EABS
EAVl
EATN

FOR DB
fiAT CNT

DB
ADDR

PROG
NAME

FOR DB
MAT CNT

DB
ACDR

PROG
NAME

FOR DB
MAT CNT

08
AODR

oSf
DSf
DSF
DSF
OSf
DSF
DSF
OSF

0002
0004
0004
0002
0006
0005
0003
0019

16,E
1660
1664
1(:68
166A
1670
1675
1618

OSF
DSF
oSF
oSF
DSF
OSF
OSF

0002
0004
0003
0002
0003
0003
0002

1691
1693
1697
169A
169C
169F
16A2

OSF OOOB 1612

EATAN
EAXB
EAXBX
EEXP
EXPN
ElN
EAlOG
ESIGN
ESIN
ESINE
ECOSN
ECOS
ESQR
ESQRT
ETANH
ETNH
SEAR
SEARX
SElf
FARC
FIXI

PROG
NAME

FOR DB
polAT CNT

DB
AOOR

PROG
NAME

FOR DB
MAT CNT

DB
AODR

PROG
NAME

FOR DB
MAT CNT

De
ACUR

PAPTl
PNCHl
PRNTl
PRNZ
READZ
TYPEl
WRTYl
EBCTB
GETAO

oSF
OSF
DSf
DSF
oSF
DSF
OSf
DSf
oSF

174B
1751
1750
176A
1777
IHC
1783
1188
1780

CAROL
OMPR1
PAPTI
PAPTN
PAPTX
PlOTl
PNCHO
PNCH1
PRNTl

DSF
OSF
DSF
OSF
DSF
oSF
OSF
DSF
DSF

17BE
17CE
17DF
L7FO
1803
181B
1826
1834
1842

SPEED
lIPCO
BleEC
BINDC
BINHX
CPEBC
CPHOL
CPPT3
OCBIN

OSF
OSF
OSF
OSf
DSf
DSf
OSf
oSF
DSF

1 BOA
18E:F
18f9
1 Bf-F
1904
1 '108
1'111
1914

OSF 0007 15F2
DSF 0006 15F9
DSF 0003 15H
OSF 0003 1602
DSF 0004 1605

DSF 0004 1609
DSF 0003 1600
OSF 0002 1610

oSF C003 1653
oSF 0003 1656
DSF 0005 1659

FIXIX
FLOAT
If IX
NORM
SNR
XDD
XMO
XMDS
FBro
FoTB
lABS
XSQR
PAUSE
S.TOP
SUB IN
SUBSC
TTEST
TSET
OATSW
OVCI1K
FCTST

DSf 0003 16A4
OSF 0002 16A7
OSf 0003 16A9

DSF 0005 1610
DSf OOOA 1622
DSF OOOB 162C
DSF 0003 1637
OSF eOOB 163A

OSF 0006 1645
DSF 0004 1648
DSF 0004 164F

=FlET
0118

CHAIN AODR.
0152

FOR DB
fiAT CNT

DB
AOOR

SIOF
SICAF
SIOFX
SCOMP
SWRT
SRED
SIOIX
URED

PROG
NA~E

DSF ODIC 1720

OOOF
0006
0000
0000
0005
0007
0005
DOD'
0002

0010
COll
0011
0013
0015
OOOE
OOOE
OOOE
0018

0015
OOOA
0006
0005
0004
0009
0009
0009
0006

1<;l3

Appendix G

125

SDAI

UWRT
UIOI
UIOF
UIOAI
UIOAF
UIOFX
UIOIX
UCOMP
I:lCKSP
EOF
REWNO
CAROl CSf" OOOC 113C

socm'

SDF
SOr-X
501
SOIX
SDREO
SOwRT
SOFNO OSF OOOb 100A
SF 10 CSF 0040 16EO
5101
SIOAI

$FPAO
0106

=CION
3333
SCTR NO.
C002

=FPAO
0106

UA/FXA.

WORDS AVAIL.
0081

0158

DB

PROG
NAME

FOR DB
MAT CNT

PT3EB
CMTOO
DMTXO
OMP01
OMPX1
OMP80
fUPR
SYSUP
AORwS
COpy
DISC
OLCIS
OSlET
10
10ENT
"'OOIF
PTL;Tl
CAlPR
FSLI:N
FSYSU
ROREC

OSF OC09 198C
OSF OOlA 1995

AOOR

DSF OOlE 19AF
CSF
DSF
DSF
OSF
DSF
DSF
OSF
DSF
OSF
DSF
DSF
CSF
DSF
OSF

0007
0007
0035
aCID
0010
0036
0010
0036
001A
OOOC
0059
0009
0007
OOOB

=lIlET
0150

=CIBA
0140

19CO
1<;04
190B
lAlO
1A20
1A3D
lAB

1A90
lAC6
lAEO
lAEC
1B45
IB4E
1855

OSF 0015 lUbO

HOLEl
HOlTI:I
SGOTO
SIAR
SIARX
SIIF
IlSOO
ILSOI
ILS02
ILS03
IlS04
CAROO

OSF
OSF
OSF
OSF

0005
0004
0003
0004

178F
1194
1798
179B

OSF
OSF
OSF
OSF
OSF
OSF
OSF

0003
0003
C003
0001
0003
0002
0010

PROG
NAME

119F
17A2
11A5
17A8
l1A9
llAC
11AE

PRNT3
READO
REA01
TYPEO
WRTYO
EBPRT
HOLEB
HCLPR
HXBIN
PAPEB
PAPHL
PAPPR

DSF
DSF
OSF
DSF
OSF
OSF
OSF
OSF
OSF
OSF
OSF
DSF

FOR OB
MAT CNT

DB
AOOR

PROG
NAME

POINT
SCALE
SCALF
XYPLT
EBC48
HOLCA
HOl48
HXCV
PRNT2
SCATI
STRTB
SCAn
KG3
KG4
SCAT2
10UMY
OATA2
10UMY

OSF
OSF
nSF
oSF
nSF
OSF
OSF
OSF
nSF
OSF
OSF
OSF
OSF
OSF
DSF

004B
0006
0009
0040
DaDE
OOF 0020
46110

1C05
1COO
1COF
1C11
1C18
1C21
1C27
1C2F
1C33
1C51
lC92
1C98
1CE3
1CE9
lCF2
1032
1040
lObO

PROG
NAME

FOR DB
MAT CNT

DB
AODR

PKOG
NAME

FOR DB
MAT CNT

DB
AOOR

0000
0007
0008
0012
0009
0007
0009
0007
0005
0010
0010
0000

185A
186E
1876
1888
1891
1898
18A 1
18A8
18AO
18BO
18CO

OECSI
ESCCP
EBHOl
ESPA
ESPH
HlEBC
HLPT3
HOlCP
HOLl
PRTY
PTHOL
PHCP

OSF
DSF
OSF
DSF
OSF
DSF
OSF
OSF
OSF
OSF
OSF
OSF

FOR DB
MAT CNT

DB
AOOR

PROG
NAME

FOR DB
MAT CNT

De

PRCG
NAME

FOR DB
MAT CNT

DB
AODR

PROG
NAME

FOR DB
MAT CNT

De
AI:DR

PROG
NAME

FOR DB
MAT CNT

DB
AOOR

PROG
NAME

FOR DB
MAT CNT

De
ADDR

18bl

0009
0009
0009
0006
0009
0009
0009
0009
0006
0006
0009
0009

1919

1932
1936
1'744
l'lltA
19~3

19~C

1'705
l'7oE
1974
197A
1<;tl3

=FLET
0118
ACDR.

C~AIN

0118

PRCG
NAME

FOR DB
~AT CNT

ECHAR
ECHRX
ECHRI
VCHRI
EGRIO
ERUlE
EMOVE
EINC
EPlOT
FCHAR
FCHRX
FCHRI
WCHRI
FGRIO
FRULE
F,,"OVE
FINC
FPLOT
PlOTI
PLOTS
PlCTX

OSF 0005 1B75
OSF 0026 1B7A

DB
AOOR

OSF 0008 18AO
OSF OOOA 18A8
OSF 0005 18B2
CSI' 0005 IBB7
CSI' 0025 lBBC
DSF 0008 1BEl
OSF 0009 IBE9
OSF C004 1BF2
OSF 0003 1BF6

0008
0002
0002
0001
0009
0006
0008
0004
OOlE
0041
OOOb

ACUR

OSF COOC 1BF9

FLET

= CION

!of PA C
0106

3333

P~DG

FOR DB
MAT CNT

=lILET
0150

=CIBA
0140

WORDS AVAIL.
0132

UA/fXA.
012e

SCTR NC.
aCID

NAME

=fPAD
0106

PROG
l'95
0696
0691
0698
0699
010e
0701
0702
0103
0704
0705
0706
0707
0708
0709
0710
0711
0112
0713
0714
0115
0716
0711
0718
0719
0720
0721
0722
0723
0724
0725
0726
0727
0728
0729
0730
0731
0732
0133
0734
0735
0736
0731
0138

0139
0740
0741
0742
0743
0744
0745
0746
0747
0748
0749
0750
0751
0752
0753
0754
0755
0756
0757

LABEl OPCO fT OPERANDS

ID/SEQNO

01965
01970
01975
01980
OZ985
019"90
OZ995

SYS06120
SYS06130
SYS061,.0
SYS06150
SYS06160
SYS06170
SYS06180
SY.S06190
SYS06800
SYS06810
SYS06820
SYS06830
SYS06840
SYS06850
SYSOli860
SYS06870
SYS06880
SYS06890
SYS06900
SYS06910
SYS06920
SYS06930
SYS06940
SYS06950
SYS06960
SYS06910
SYS06980
SYS06990
SYS07000
SYS01010
SYS07020
SYS07030
SYS07040
SYS07050
SYS07060
SYS07070
SYS070S0
SYS07090
SYS07100
SYS07110
SYS07120
SYS07130
SYS07140
SYS07150
SYS07160
SYS07110
SYS011S0
SYS07190
SYS07200
SYS07210
SYS01220
SYS01230
SYS07240
SYS07250
SYS07260
SYS07270
SYS07280
SYS07290
SYS07300
SYS07310
SYS01320
SYS07330
SYS07340
SYS07350
SYS07360
SYS07310
SYS07380
SYS07390
SYS07400
SYS01410
SYS07420
SYS07430
SYS01440
SYS01450
SYS07460
SYS07410
SYS01480
SYS07490
SYS07500
SYS07510
SYS07520
SYS07530
SYS01540
SYS07550
SYS01560
SYS07510

DC
DC
DC
DC
DC
DC
DC

$ACDE BASE AREA CODE ADOR
$CYLN-$ACOE 8ASE ARM POSITION ADDR
2ND WORD OF READ CHECK IOCC
/0400 2ND WD OF SEEK IOCC W/O AREA CD
321 NO. WORDS PER SECTOR (W/ AODR)
CURRENT SECTOR NO.
-1
MASK FOR COMPLEMENTING

---

- RESERVED FOR SAVING CORE ON A DUMP ENTRY TO SKEL
X2

8SS
EQU

01210 SRA
STO
MDX
NOP
MOX

THIS AREA MUST BE AT $CIBA+319
2
DIOOO

L

16
$DBSY
$I OCT ,-I

CLEAR BUSY INDICATOR
DECREMENT 10CS COUNTER

onoo

TO EXIT

- PREPARE TO TRAP OUT ON 'POWER UNSAFE' CONDITION
D121S LD
MOX

OZ914
OZl90

BR TO TPAP OUT

- PREPARE TO TRAP OUT ON 'NOT READY' CONDITION
01220 LD
BSI
MOX

L

01225 LO
RTE
LO
SRA
MOX

01230 MOX
OZ235 LOX
LDD
STO
STO
0"1240 SRA
SLT
STO
A
STO
A
STO
A
A
A
STO
lOX
STX
LO
AND
01250 STO
Dl280 S
BSC
MOX
LO
A
MDX
MDX
MOX

-

L
II

01935
$PRET
01340

fETCH ERROR CODE
BR TO PREOPERATIVE ERR TRAP
RETRY THE OPERATION

01910
16
I
3
0Z3S0

FETCH 1ST WD SEEK IOCC
fETCH DESIRED CYLINDER AODR

.--

INCREMENT IOCS COUNTER
AODR I/O AREA TO XRI

SIOCT,1

1 0
01902
01912
16
4
01280+1
OZ965
OB30+!
Dl910
Dl350+1
01960
D12S0+1
D1280+1
01280+1
2 -3
1 01906
1 1
01940
1 I
L
1+
Dl300
I
DZ930
l
DZ2S0+!,1
2 I
01250

BR TO PERfORM THE SEEK

SAVE WORD COUNT, SCTR AD OR
DRIVE CODE IN 8ITS 12-15
COMPUTE AND STORE THE
-AODR OF THE AREA CODE
COMPUTE AND STORE THE
-AODR OF THE ARM POSITION
AOO IN BASE OT AODR
ADD IN THE DRIVE
-CODE TWICE MORE
INITIALIZE COUNTER FOR LOOP
fETCH DESIRED SEClOR AOOR
'AND' OUT SECTOR NO.
-AND DRIVE CODE
SUB DEfECTIVE CYLINDER AODR
SKIP If BAD CYLINDER
BR TO CONTINUE PROCESSING
INCREMENT SCTR ADD.R BY 8
POINT TO NEXT DEFECTIVE CYL
SKIP AFTER 3RO PASS
COMPARE WI NEXT OEf CYL ADR

* CONSTRUCT THE 2ND WORD OF ALL IOCC'S

DZ300 lOX
LO
AND
STO
0Z330 [0
OR
STO
OR
STO
OR
S
STO

l2
2
2
2
L
2
2
2
2
2
2
2

01000
01913-X2
01955-X2
DZ990-X2

--.

01980-X2
DZ910-X2
D1925-X2
Dl909-X2
OZ990-X2
D1945-X2
D1907-X2

AOOR OF OZOOO TO XR2
fETCH SECTOR ADDRESS
'AND' OUT ALL BUT SECTOR NO
SAVE SECTOR NO.
fETCH AREA cooe
'OR' IN SEEK FUNCTION CODE
SEEK IOCC M"INUS DIRECTION
'OR' IN READ fUNCTION CODE
IOCC fOR READ-AfTER-SEEK
'OR' IN SECTOR NO.
COMPLETE READ/WRITE CODE
2ND WD Of READ/WRITE IOCC

Appendix H

135

ADOR REL OBJECT
0186 0
0187 0
0188 0
(l189 C
018A 0
0188 C
018C 0
0180 0
018E 0
018F 0
0190 C
0191 0
(l192 0
0193 0
0194 0
0195 0
0196 0
0191 00
0199 0
019A 0

EA42
8247
0240
EA48
023B
CA3C
OA3A
02EB
4828
70BC
1002
4828
10BB
100B
4828
70BC
CI01
94000000
4818
7014

019B
019C
0190
019E
019F
OlAO
DIAl
OIA2
01A3
OlA4
OlA5

1893
180F
1002
EA3A
1800
4810
1002
F251
8230
DA34

0
0

0
0
0
0

C

C
0
0
0

OlA6 0
OlA1 0
OlA8 0

~213

CA38
DA34
4213

01A9
OlAA
OlAC
o lAD

0 C231
00 04800198
C 9101
00 ~C200116

OlAF
01BO
01Bl
01B2
01B3
0184
01B5
0186
0187
01B8
0189
OIBA
OlBB
01BC
01BO

0
0
0
0
0
0
0
0
0
0
0
0
0

01BE
OlBF
01CO
01Cl
01C2
01C3
01C4
01C5
01C6
01C7
01C8
OlCA
01CB
01CC
01CO
OICE

136

C

0

CBC
4808
7094
8A40
DA3C
4830
1810
824F
0100
CA36
OA34
CI01
EA50
0101
4213

C240
0235
C241
4820
4213
0 CA32
0 0900
C C23C
0 4808
0 10E9
00 75000140
C C900
0 DA32
0 CA3C
0 0900
a 108F

0
0
0
0
0

ST.NO.
0758
0759
0760
0761
0762
0763
0764
0765
0766
0761
0768
0769
0770
0771
0772
0773
0774
0775
0776
0777
0778
0779
0780
0781
0782
0783
0784
0185
0786
0781
0188
0189
0790
0791
0192
0793
0194
0795
0796
0197
0198
0199
0800
0801
0802
0803
0804
0805
0806
0807
0808
0809
0810
0811
0812
0813
0814
0815
0816
0817
0818
0819
0820
0821
0822
0823
0824
0825
0826
0821
0828
0829
0830
0831
0832
0833
0834
0835
0836
0831
0838
0839
0840
0841
0842

LABEL OPCD FT OPERANDS
2
2
2
2
2
2
2
2

OR

A
STO
OR
STO
LOD
OZ340 XIO
STO
BSC
MOX
SlA
BSC
MOX
SLA
BSC
MOX
LO
02350 S
BSC
MOX

DZ920-X2
DZ945-X2
OZ975-X2
DZ950-X2
DZ911-X2
OZ912-X2
Ol910-X2
SDDSW-X2
Z+
01215
2
Z+
Dl220
11
Z+
Dl225

1 1
L
+01400

---

ID/SEQNO
'OR' IN READ CHECK BIT
2ND WD OF READ CHECK IOCC
'OR' IN SENSE IOCC BITS
COMPLETED SENSE IOCC
l+SCTR ADOR TO EXTENSION
SENSE FOR OISK READY
SAVE THE DSW
SKIP UNLESS POWER UNSAFE OR
-WRITE SELECT, BR OTHERWISE
BR TO PREOPERATIVE ERR TRAP
-If DISK NOT READY, SKIP
-OTHERWISE

FETCH DESIRED CYLINDER ADDR
SUBTRACT ARM POSITION
SKIP IF SEEK NECESSARY
BRANCH TO PERFORM OPERATION

.. SEEK
19
15
2
2 D1910-X2
16

SRT
SRA
SLA

OR
RTE
BSC
.. OX
EOR
A
0Z380 STD
BSI

2
2
2
2

PUT NO. CYLINDERS IN EXT
+ OR - SIGN TO BIT 15
SHIFT SIGN TO BIT 13
OR IN REMAINDER OF IOCC

SKIP IF SEEK TOWARD HOME
BRANCH IF SEEK TOWARD CENTR
OB80
D1995-X2 COMPLEMENT NO. CYLS TO BE
DZ900-X2 -SOUGHT TO GET POSITIVE NO.
01904-X2
START SEEK
01070-1-X2

- SEEK COMPLETE INTERRUPT PROCESSING
2 01908-X2 SET UP IOCC fOR
2 01904-X2 -READ AFTER SEEK
2 01010-1-X2 START READ-AfTER-SEEK

LOD
STD
BSI

SYS07580
SYS07590
SYS07600
SYS07610
SYS07620
SYS07630
SYS07640
SYS07650
SYS07660
SYS07670
SYS07680
SYS07690
SYS07700
SYS07710
SYS07720
SYS07730
SYS07740
SYS07750
SYS07760
SYS07770
SYS07780
SYS07790
SYS07800
SYS07810
SYS01820
SYS(l1830
SYS07840
SYS07850
SYS07860
SYS07810
SYS07880
SYS07890
SYS07900
SYS07910
SYS07920
SYS07930
SYS07940
SYS07950
SYSC1960
SYS07970
~YS07980

- READ-AFTER-SEEK COMPLETE INTERRUPT PROCESSING
LO
STO
S
BSC

2 D1901-X2
0l350+1
1 1
L OZl85.Z

I

FETCH ADR OF SCTR JUST READ
UPDATE ARM POSITION
SUB DESIRED SCTR ADDR
BR IF SEEK UNSUCCESSFUL

.. REAO/WRITE
Dl400 LDO
BSC
02410 MOX
AD
STO
BSC
SRA
A
STO
LDO
STD
LD
OR
STO
aSI

2 OZ912-X2
+
Dl210
2 01916-X2
2 D1912-X2

z-

2
I
2
2
1
2
1
2

16
DZ985-X2

0

FETCH INTERMEDIATE WD CNT
SKIP. WD CNT NOT EXHAUSTEO
BRANCH IF READ/WRITE DONE
DECREMENT WORD COUNT AND
-INCREMENT SECTOR AODRESS
SKIP IF THIS IS LAST SECTOR
CLEAR ACCUMULATOR
AOD BACK 321 TO .WD CNT
STORE RESULT IN I/O AREA
RESTORE loce FOR ORIGINALLY
-REQUESTED OPERATION
ADD SECTOR NO. TO ~ECTOR
-ADDRESS

01906-X2
DZ904-X2
1
DZ990-X2
1
DI070-1-X2 START READ/WRITE OPEItATION

• REAO/WRITE COMPLETE INTERRUPT PROCESSING
LO
STO
LD
BSC
BSI
LDO
STD
La
BSC
MDX
MOX
LOD
STO
~DO

STO
ADX

2 DZ975-X2 SET UP FOR READ CHECK
2 DZ905-X2
2 01945-X2 FETCH FUNCTION INDICATOR
SKIP IF READ REQUESTED
Z
2 DI070-1-X2 START READ CHECK OPERATION
2 D1902-X2 RESTORE LAST 2 WDS OF SEC-TOR PREVIOUSLY READ
1 0
2 DZ912-X2 FETCH INTERMEDIATE WD CNT
SKIP IF MO'RE READING/WRTING
+
BRANCH IF FINISHED
02410
POINT XRl TO. NEW I/O AREA
Ll 320
SAVE LAST 2 WDS OF SECTOR
1 0
2 DZ902-X2 -JUST READ/WRITTEN
2 OZ912-X2 WO CNT. SCTR AOOR NEXT OP
STORE 80TH IN NEW I/O AREA
1 0
BACK TO SET UP NEXT OPERATN
Dl240

YS01990
SYS08000
SYS08010
SYS08020
SYS08030
SYS08040
SYS08050
SYS08060
SYS08070
SYS08080
SYS08090
SYS08100
SYS08110
SYS08120
SYS08130
SYS08140
SYS08150
SYS08160
SYS081"10
SYS08180
SYS08190
SYS08200
SYS08210
SYS08220
SYS08230
SYS08240
SYS08250
SYS08260
SYS08270
SYS08280
SYS08290
SYS08300
SYS08310
SYS08320
SYS08330
SYS08340
SYS08350
SYS08360
SYS08370
SYS08380
SYS08390
SYS08400
SYS08410
SYS08420

ADOR REL OBJECT

OOOB

01CF
010A
01DA
01DC
0100
010E
OlEO

0
0
0
0

OOAO
0000
0000
0000
0002

C

ST.NO.
0843
0844
0845
0846
0841
0848
0849
0850
0851
0852
0853

LABEL OPCD FT OPERANDS

BSS

*
DC
SCION DC
DC
DC
BSS
$lEND EQU

ID/SEQNO
SYS08430
SYS08440
SYS08450
SYS08460
SYS08470
ID NO. OF CORE IMAGE LOR,P1 SYS08480
CORE ADDR/CID NO.
SYS08490
WORD COUNT
SYS08500
scn ADOR
SYS08510
WO CNT, SCTR ADOR CORE LOS SYS08520
1 + END OF DISKZ
SYS08530

11

PATCH AREA

.-.

'CILl

*-*
2

EQUIVALENCES
AOOR REL OBJECT

006E
0070
0071
0018
008C
0080
008E
008F
0090
0091
0092
0093
0094
0095
0096
0091
0098
OOAO
OOAl

0014
0016
0011
0018
0019
OOlA
005A
0089
0004
OOEF
OOFO
OOFl

0000
0001
0002
0003
0006
0001
0000

0000
0001
0002
0003
0004
0005
0006
0001
0008
0009
OOOA
0008
0011
00lA
001C

0
0
C

0
0
0
0
0
0
0
0
C

0
0
0
C

0
0
0

0
0
C

0
C

0
0
0
0
0
0
0

0
0
0
0

0
0
0

0
0

0
0

0
0
0
0
0
0
0

ST.NO.
0855
0856
0851
0858
0859
0860
0861
0862
0863
0864
0865
08'66
0867
0868
0869
0810
0871

0812
0813
0814
0815
0816
0877
0878
0879
0880
0881
0882
0883
0884
0885
0886
0887
0888
0889
0890
0891
0892
0893
0894
0895
0896
0891
0898
0899
0900
0901
0902
0903
0904
0905
0906
0907
0908
0909
0910
0911

0912
0913
0914
0915

0
C

0916

0
0

0918
0919

0911

LABEL OPCD FT OPERANDS

ID/SEQNO

* EQUIVALENCES FOR PHASE 10 NUMBERS
·SUP1
' SUP3
'SUP4
'CLBO
'1403
'1132
'CPTR
'2501
'1442
'1134
'KBCP
'CDCV
'PTCV
'K8CV
'OlIO
'OliO
'.ONIO
'CILl
'C1l2

•

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

110
112
113
120
140
141
142
143
144
145
146
141
148
149
150
151
152
160
161

PHASE
PHASE
OHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE
PHASE

10 FOR
ID FOR
10 FOR
10 FOR
10 FOR
10 FOR
ID FOR
10 FOR
10 FOR
ID FOR
ID FOR
10 FOR
10 FOR
10 FOR
10 FOR
10 FOR
10 FOR
10 FOR
10 FOR

"CRA
DUMP PROGRAM
ERR ANAL PROG
CLB, PHASE 011
SYS 1403 SUBR
SYS 1132 SUBR
SYS CP SUBR
SYS 2501 SUBR
SYS 1442 SUBR
SY S 1134 SUBR
SYS KB/CP SUBR
SYS CO
CONY
SYS 1134 CONY
SYS KB
CONY
DISKl
OISKI
OISKN
CI LOAOER,PH 1
CI LOAOER,PH 2

* EQUIVALENCES FOR RESIDENT MONITOR
SLKNM
SRMSW
SCXR1
SCLSW
SDMPF
SACEX
SCIlA
$18T2
SI8T4
SSNLT
SPAUS
SRWCZ

eQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

SI1ASH
SHASH+2
ShASH+3
SHASH+4
SHASH+5
SHASH+6
$S150+1
$1205+1
$1405+1
SoBSY+1
OZOOO-2
DZOOO-1

SAVE AREA FOR NAME OF LINK
EXIT-LINK-DUMP SW(-l,O,+l)
SAVE AREA FOR XR1
SW FOR CORE IMAGE LDR,PH 2
DUMP FORMAT CODE
ACC AND EXT WHEN ENTER DUMP
AODR OF END OF OK I/O - 3
AOR OF SERVICE PART OF OKlO
ADDR OF THEIST
SENSE LIGHT INDICATOR
,PAUSE,INTERRUPT INDICATOR
READ/WRITE SWITCH (CAROl)

• EQUIVALENCES FOR ABSOLUTE SECTOR ADDRESSES
'lOAD
'DCOM
'RIAD
'SLET
'RTBL
'HONG
'STRT

EQU
EQU
EQU
EQU
EQU
EQU
EQU

0
1
2
3
6
1
0

ADDR OF
AODR OF
ADOROOF
ADoR OF
AODR OF
AODR OF
ADDR OF

SCTR
SCTR
SCTR
SCTR
SCTR
SCTR
SCTR

WITH ID,OEF CYL AOR
CONTAINING OCOM
CONTAINING RES IMGE
CONTAINING SLET
CONTAINING RELO TBL
CONTAINING PAGE HDR
W/ COLO START PROG

• EQUIVALENCES FOR THE CORE IMAGE HEADER
'XEQA
'CMON
'DREQ
'FILE
'HWCT
'LSCT
'LOAD
'XCTL
'TVWC
'WCNT
'XR3X

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
'nvx E,QU
'ILS4 EQU
'OVSW EQU
'ceRE E:QU

0
1
2
3
4
5
6
7
8
9
10
11
11

26
28

RLTV
RLTV
RLTV
RLTV
RLTV
SCTR
RLTV
RLTV
RLTV
RLTV
RLTV
RLTV
RLTV
RLTV
CORE

AODR OF CORE LOAD EXEC ADDR
ADDR OF WD CNT OF COMMON
ADoR OF DISK I/O INDICATOR
ADDR OF NO. FILES DEFINED
ADDR OF WD CNT OF CI HEADER
CNT OF FILES IN WK STORAGE
ADDR OF LO~O ADDRCORE LOAD
ADDR DISK1/DISKN EXIT CTRL
ADDR OF WD CNT OF TV
AODR OF WD CNT OF CORE LOAD
AoDR OF EXEC SETTING OF XR3
ADDR OF 1ST WD OF lTV
ADDR OF 1ST WO OF 18T4
ADDR OF LOCAL/SOCAL SWITCH
SIZE OF BUILDING SYSTEM

SYS08550
SYS08560
SYS08570
SYS08580
SYS08590
SYS08600
SYS08610
SYS08620
SYS08630
SYS08640
SYS08650
SYS08660
SYS08670
SYS08680
SYS08690
SYS08700
SYS08710
SYS08720
SYS08130
SYS08740
SYS08750
SYS08760
SYS08770
SYS08780
SYS08790
SYS08800
SYS08810
SYS08820
SYS08830
SYS08840
SYS08850
SYS08860
SYS08870
SYS08880
SYS08890
SYS08900
SYS08910
SYS08920
SYS08930
SYS08940
SYS08950
SYS08960
SYS08970
SYS08980
SYS08990
SYS09000
SYS09010
SYS09020
SYS09030
SYS09040
SYS09050
SYS09060
SYS09070
SYS09080
SYS09090
SYS09100
SYS09110
SYS09120
SYS09130
SYS09140
SYS09150
SYS09160
SYS09170
SYS09180
SYS09190

Appendix H

137

AODR REL OBJECT

0005
0003
0000
0001
0003
0001t
0000
0002

ST. NO.
0920
0921
0922
0923
0924
0925
0926
0927
0928
0929
0930
0931
0932

0010 0

0
0
0
0
0
0
0
0

0933

0931t
09'45
0936

0033 0
00(15

I)

0'\80
04CI)

I)
I)

0937

0938
0939
0940
0941
0942
0943

0600 0
0011 0

00F9 0
OOF7 fJ
11)00

!')

007F 0

(\9~4

0946
(1947
(1948
09'.9
0950
(lq51

0952
'0953
(1954
0955
('1956
0957
"958
1'1959
09M

('1961
0962
0963

(1964
(1965

0966

0967
0969

0969
0970
0971

(\972
0973
0974
1'1')75
0976
0977

('1978
0979
0980

0981
0932
09a3
(lQ84

0985
0986

0987
0988
0999
('991)

OJ91
1)9 Q 2

0J93
('1'144

(l'N:5
r.996

OB7

10')2

C82F

1(l!' 3

(HFC

OlE')

138

* EQUIVALENCES FOR LET/FLET

*'LFHD
'LFEN
'SCTN
'UAFX
'WDSA
'NEXT
'LFN"
'BLCT

Eeu
EQU
eou
EeU
eeu
eeU
EeU
EeU

1)1)

oconO~C'4

0

012S
Cl'34

11)04
11)()5
10(l6

IH2f

1007

o
2

Z-1
51
ISS NO. ADJUSTMENT FACTOR
5
~AX NO. DRIVES SJPPORTED
896 LOW COHMON LIMIT FOR DISKl
1Z1& LOW COMMON LI~IT FOR DISK1
1536 LOW COMMON LIMIT OF DISKN
17
NO. TRIES BEFORE DISK ERROR
DZOOO+7 LIBF ENTRY TO DISK1/N
DIOOO+5 DISK 1/0 INTERRJPT ENTRY PT
2-1
ft096 SIZE OF MI NI MiJH CORE
Y
EOU
1Z7
***.********.********.***** •••• **** •• *.* ••••••• * •••
*
•
.STATUS - VERSION Z. MUDIFICATION LEVa O.
•
•
•
*F UNC TI ON/OPE RA TI ON •
•
Til S PRO;oRAM I S READ I NT 0 CORE FROM SECTOR 0
•
•
OF T~E SYSTEM CARTRIDGE AND TRANSFERRED TO BY •
*
TiE COLO START CARD. DEFECTIVE CYLINDER
*
*
AOORESSES. CARTRIOG~ 10 AND DISKl ARE ALSO 0111 •
*
SECTOR 0 AND ARE READ IN AT THE SAME TIME.
*
*
AlL HAT REHAI NS FOR THE COLD START PROGRAM IS.
•
TO READ IN THE .RESIDENT IMAGE, SAVE THE
•
*
CARTRIDGE 10 AND TRANSfER TO THE AUXILIARY
*
*
SUPERVI SOR TfiROUGH SOUMP IN THE RES IDENT
•
*
MONI TOR.
•
*
•
.ENTRV - CR010-Z
•
•
ENTER PROGRAM BY TRANSFER FROM COLO START CARD*
*
•
*1 NPUT •
*
TiE CARTRIDGE 10 OF LOGICAL DRIVE ZERO (THE
•
*
SYSTEM CARTRIDGE) IS READ IN FROM SECTOR 0
*
*
wi Tii TriE COLD START PROGRAM.
*
•
•
*OUTPUT *
*
* TiE RESIDENT IMAGE IS READ INTO CORE FRO~
*
*
THE DISK.
•
•
* IN COMMA*
•
~4COE
*
*
SCIBA-l
•
*
SCION
•
*
SC YLN
•
•
SDaSy
*
*
SIOC T
*
*
*
.EXTERNAl REFERENCES •
•
)lOOO SU~RoUTINE TO PERfORM DISK 1/0.
*
*
*
*:::XITS *
T'iE ONLY EXIT IS TO THE AUXILIARY SUPERVISOR.
*
•
AS FULLOWS•
•
B SI
SOUMP
•
•
DC
-1
*
*
•
.ua LE S/WORK ARE AS - N/ A
•
•
•
*4 TTRI Ii UTE S •
*
Til S PRO;iRAM I S NOT NATURALLY RElOCAT ABLE.
•
*
*
*NlHE S •
*
)ISI< ERRORS RESULT IN AWAIT AT $Psr2.
*
••*.**.***••• ** •••••••••••• * ••***** ••••••••••••••• *
'I STY EQU
'MlOR EOU
'COMl Eau
':mu Eau
'::0142 EOU
'TeNT EQU
')KEP EOU
')KIP EOU
'MCOR EQU

LDX
LDO
:~ 01 0 STD
STO
LD
STO

1'001

STil

(l

C156
DOFl

11'09
101 "

LO
STu
LD
SRT
STlI
STO

n

1
3
4

WORD COUNT OF lET/FLET HEADER
NO OF WDS PER lET/FLET ENTRY
RLTY ADDR OF LET/FLET ~CTR NO.
RlTY ADDR OF SCTR ADDR ·OF UA/FXA
RLTV ADDR OF WDS AVAIL IN SCTR
RlTV ADOR OF AOOR NEXT SCTR
RLTV ADDR OF LET/FLET ENTRY NAME
RLTV AOOR OF LET/fLET ENTRY D8CT

•

0029

I)

o

* MISCELLANeOUS EQUIVALENCES

0

I)
I)

5
3

*

617F

!\

RLTV ADDR OF LAST WO OF CI HDR

IN)l

01FI
OlE?
OlE4
01ES
o lE6
01E7
01[8
O1E9
OlEA
01ErI

0

SYS09200
SYS09210
SYS09220
SYS09230
SYS09240
SYS09250
SYS09260
SYS09270
SYS09280
SYS09290
SYS09300
SYS09310
SYS09320
SYS09330
SYS09340
PM'409345
PM'409350
PM'409360
PMN09370
PM'409380
PM'409390
PM"I09400
PM'409410
PM'409417
P"'409420
PM'409440

29

•* KEAD THE RESIDENT IMAGe

OlEO 0

/)

ID/SEQNO

'HEND EOU

Ion!)

"999

0

LABEL OPCD FT OPERANDS

CI)F~

1('111

1890
D16F
DlIB

1fl14

1012
1013

PMIII094bO
P~~09470

PMIII 09480

P~~09490

PMIII09500
PM~09510
~M'409520

PMN09530
PM"I09540
PMN09550
PM~09560

PMIII09570
.PMIII 09 580
~"'~09590
PM~09600
P~~09610
P"'~09620
PM~ 09630
P~'409640

PMlt09650
PM~(l9660

PMN09670
PMIII09680
PM~09690

PM'409700
PMN09710
PM'409720
P~'409730

PM'489740
P~'4 09750
PM~09760

PM'.! 09770
PM'409780
PM'.!09790
PM'409800
P~'4098l0

PH'409820
PMN09830
PM~09840
PM~ 09850

PM~09860
P~'409d70

09880
PM'409890

PM~

P"'''O~900

PM'409910
PM~09920

PM'409930
P"~09940
PM~09950

P'4'409970
I~TO

CORE

y

CR920
L SCIBA-l
1 SDCY L-Y
1 3-Y
1 $ACDE-Y
CR920+1

P~'409450

SET UP WORD CruNT AND SCTR
*ADOR OF RESIDENT I~AGE
• I NIT I ALIZE DEF cn NO. 1
FETCH LOG OfUIi E 0 AKEA CODE
*AND STORE IT IN COMMA
SAVE THE ARtA CODE
DZO~0-Z-27-Y FETCH AND SAVE THE
$CIDN
*CARTRIDGE ID
CR010+1
FETCH CORE ADOR OF RESIDE~T
16
.1 MAGE AND PJr IN EXTENSION
f,O.I:lSY-Y
CLEAR DISK BUSY INDICATOR
$CYLN-Y
INITIALIZE ARM POSITION

P~'409980

PM'409990
P'1~10000

PMN100IO
PM"10020
PM'410030
P'1l1l0040
PM'll 10050
PMlIII0060
PN~10070

PM'4100aO
PM'410090
PH'410100
PM:',II0110
PM'4101Z0

ADDR REL OBJECT
OlEr

1'1

OlEF "

Olfl) 0

01Ft ')
01F2 0
01F3 0
01F4 0

ST.NO.

4173
3':11"10

Olf5 "I

1')120

01F6 0
01F7 0

C016
0181

!HI

lNo

WAIT

11)17
1015
1019
1020
1021
1022
1023
1(124
1025
1026
1021
1028

1810
0163
C81B
1)985
COIC

1029

01F8 0
01F9 I)

41CC
FFFF

01F4

0013

0200 'l
020E 0
020F a
0210 a
0211 0
0212

103"
1031
1032
1033
1()34
1£'35
1036
1031
1038
1039
1040
1041
1042
1043
1044

703F
1'1001

0007
00E8
0002
0000

LABEL OPCD FT OPERANDS

101,

ID/SEQNO

DZOOO-Y

PH'HOnO

FETCH RESIDENT IMAGE
WAlT OJT THE I NT E RRIH'T

P14'110 140
P"''110150
PHII10160
1 TE MS I N COMMA
P"''110110
*
SRA
16
P14\110180
STO
SIOCT-Y
CLEAR 10CS COUNTER
P"'110190
CR910
LOO
PHI'410200
SCIBA-I-Y *FOR SAVING CORE ON T'HE CI8 P"''110210
ST!>
CRnO+l
lO
FETCH AREA CODE
PHN10220
PHII10230
SACDE-Y
RES ET ARE A CODE
STn
CROJ05
lO
INITIALIZE WO ZERO TO SR TO PH'I10240
o-y
PHII10250
STO
*OUHP ENTRY POINT PLJS 1
PI4'4l0260
PH'll 10270
** TRANSFER TO THE AUl(ILIARY SUPERVISOR
PM'll 10280
• TO COMPlE TE I NtTlALl ZATl ON
P14'110290
SOUMP-Y
BR TO AU)( ILLIARY SI.IPERVISOR PM'I10300
3 SI
-1
PHN10310
DC
*FOR JOB PROCESSING
1»"'1110320
PATCti AREA
PMN 10330
8 SS
19
P"''110340
** :ONSTANTS AND wORK AREAS
PM'I10350
P"''I10360
CR905 HlX X SOUMP+l-1 TO BE STORED IN LOCN ZERO
PM'I10310
CR910
1
WO CNT.SCTR AODR OF CAUSE
P"'1'410380
QC
P}4'110390
IHONG
*HARHL.ESS wRITE TO DISK
:R920 DC
SOBSY-$CH12 WD CNT AND SCTR
PM'll 10400
PM'I10410
DC
'RIAD
*AODR OF RESIDENT I~AGE
END
PM'll 10420

•• I Nl n All ZE

*

•

*

ac

CROSS-REFERENCE
SY"4BOL
CROIO
CR905
CR'H1'
CR92()
01001"1
Dzo1n
Ol020
Ol('30
OlOi>1'I
OlOl!'

on"o

0Z181'
Dllll5
OZ190
01210
Ol215
01220
Ol27.5
01230
01235
OZ7.41\
01250
OZ 281)
OZ3N'
01331)
Ol34"
DZ350
DZ380
DZ40l)
OZ41°
D19N)
OZO" 1
Dl91'12
OZ904
Ol c;l" 5
OZ (II) b
Olc;107
OZ91'8
DZ909
Dl91f)
OZ911
Ol912
Ol913
01914
Ol o 15

VALUE
01E2
021'0
"20E
";.!10
0£'F2
(I !'IF 1
n"F9
(lOFF
0104
1)1('16
0108
010E
0116
01111
0146
014C

1)14E
0152
I)lSl
'l159
015E
1)160
016E
Ol1R
0110
n18C
()197
1)144
°UF
"1131
0172
0123
('1124
'H26
0121
0128
0129
0124
1'12B
OI2C
0171)
n12E
01?f-

RFL

DEFN

~EFERE~CE

0

1004
1039
1041)
1042
0586
0593
0595
1\601
1)61)6
('610
0615
1)621
1)621
0636
0637
1)695
0100
0706

1011
1020
1022
1003
0322
0604
0589
0639
1'626
0191
0595
1"594
0804
0696
0811
0167
1)110
0173
0605
0600
(1842
0742
1'1121
('1137
0123
0102
0638
0110
0711
()S36
0653
0801
0621
0611
OH28
0131
0151
0195
0154
0623
n762
0634
')747
0695
')635

0
I)

0
I)

0

0
:)

0
0

0
I)
I)

0
0
0

"

0
0
0

(I

0

a
0
1'1

0

0
(I

0114

0115
1'1119
0134
0735
0746
0750
0164
1'775

nno

0

1)8 0 9
0811
1'1645
Ob46
Ob47
06·49
0650
0651
0652
0653
1)654
0655
0656
0651
1)65H

Ol3"

I)

06')Q

nn1

0

0660

!)
I)
(I

!l
I)

f)

0
fI

0
0
I)

I)

0
I)

::>

1008
('1343
0611

1024
0S03

:)622

1)791
1)596
0610

1)823

"831

J&83

0146

0890

0834

0840

0891

0941

0942

1009

1015

')!In

063(1
0127

1)123

0125
0787

OS02

)129

H4:>

018Q
('1711
0190

0832
0196

1~B

0106

0152

~7b4

Ha4

0118

0163

:'J8'B

0813

OtHo}

0818

Appendix H

139

SYMBOL

VAlUE

REl

OEFN

REfeRENCES

0
0

0661
0663
0664
0665

0812
1)758
()753
0739

!l666
')667
0668
11669
0670
!1671
·1672
0673

1)700
0733
0598
0761
0748
0726
0722
0724
0760
0751
01316
0749
OlBa
0672
0317

OZ916
01970
07')75

1)132
1)134
nl3S

0193'.:'

0136

OZ935

(')137
013'3
1)139

!)

rnA

0

1)13~

0

019 /,"1
0<'945
0195r
0795'5
0196"l

01965
0197(\
OZ975
OZ91\C'
079Q5
0799('\
07995
SACOf
UCEx
SCCAl)
SCH12
CI!iA
SCID'.!
SCll A
SCl S;O/
SCO ......
SORE
SCPTR
SCTSIo/
SCwCT
SCX~ 1
SCYL ...
SOABl
SOAOR
SOBSY
socoe
SoCYl
SOOSIO/
Sol4PF
SORE:;)
SoU"IP
SOZl~

seXIT
SFlSH
SFPAD
SHASH
SI8SY
S IBT2
S 18T4
SIOCT
SIREQ
SI700
S 1205
S 1210
S 1290
S1400
S 1403
S 1405
S 141')
S 1490
S1492
SI494
S752
0788
')823
1013

0753
0789
::1827
1014

0754
0790
0828
1015

0755
0791
0829
1021

0756
0795
0831
1023

0757
0796
0832
1025

0758
0797
0834
L027

0159
0801
0839
1032

0760
0809
081t0

0761
0812

0848

0581
1041

092~

09t)9
0895
0917
0935
0916
0868
0871
0911
0925
1)924
0930
0910
0943
0936
0929
0918
OB70
0891
0899
0926
OB98
0901
0858
0859
0860
0940
0913
0927
0914
OnB
0912
0905
0915
1)863
0867
1862
OA66
0865

1043

0601

Appendix H

141

APPENDIX I. SYSTEM LOCATION EQUIVALENCE TABLE ,~SLET}

The addresses listed on the SLET printout are subject
to change. Only the symbols and phase IDs will remain
constant.

II oUP
II XEQ OSLET L

R 41 75f2 (HEX) WOS UNUSED BY CORE LOAD
CALL TRANSFER VECTOR
fSYSU 0900
FSLEN 082')
SYSTE~ SUBROUTINES
ILS04 00C4
i'LS02 00B3
02006 (HEX) IS THE EXECUTION AOOR

SYSTEM LOCATION EQUIVALENCE TA8LE

~SLETa

SYM80l PH
10

CORE
AOOR

WORD SCTR
COUNT AOOR

SYMBOL PH
10

CORE
AVOR

WORD SCTR
COUNT AOOR

••••

..... .. .... .... .... ......
·SV.... BOL PH
10

CORE
ADOR

WORD SCTR
COUNT AODR

SYMBOL PH
10

iODUP
aOUMP
iEXIT
iOUl3
aPRct
aFR03
aFROl
aFRll
aFR15
aFR19
iFR23
aFR27
iASll
.ASIA
iiAS02
iAS06
iAS8A
iSUPl
iCL81
aeL85
ieLB9
i1403
i1442
iPTev
iONIO
.PCWK

lC50
410E
OlOE
1182
OlOE
lA34
lA34
lA34
lA34
lA34
7A34
766E
01E8
026A
026A
026A
026A
05IA
OlEO
0802
09E8
0000
0000
0000
OOFO
0000

0321
0461
0500
081C
0280
0280
0280
03CO
0500
0404
03CO
013F
0050
0085
0158
0196
0199
OASO
0555
0164
0131
0131
OOAO
0003
0280
0088

ioelL
iOl/F
ieFCE
.OUI4
iOU18
ifR04
iFR08
ifRI2
aFR16
iFR20
iFR24
aASOO
iAS12
iASVM
aAS2A
iASOl
iAPCV
asupz
iCL82
itL86
ieL8A
il132
Gl1l34
iK8CV
iPPRT
iiPCXK

llOE
OIOE
lA06
lA06
OE6E
lA34
lA34
lA34
7A34
7A34
7A34
DIED
026A
0000
026e
026A
026A
07FE
0542
0802
09E8
0000
0000
0000
0000
0000

05A3
03eo
0008
0248
0140
03eo
0500
03CO'
0500
03CO
03CO
02lE
0185
0130
00A6
0166
0097
0734
0498
01eF
OOEA
0126
016C
0003
0131
0088

OOOB
Dale
0020
0031
003F
004E
005A
0068
0076
0086
0091
009C
OOAI
OOAl
OOAE
0088
OOBF
00C8
OOOC
00E6
00E8
OOFO
00F4
OOFA
OOEF
00F8

iSTOR
aOLTE
aOUll
aOUI5
aFROI
aFR05
aFR09
.FR13
afRl1
aFR21
iFR25
aACHV
iAERM
aAS03
iAS09
iAS7A
iUNT
iSUP3
iCLS3
iCl87
itl88
iePTR
iK8tP
iOZIO
iPIWK
iCILl

21DE
OIOE
lA06
lA06
166E
lA34
lA34
lA34
1A34
7A34
7A34
01E8
OAC4
016E
0408
026C
094E
0506
0802
09E8
082A
0000
0000
OOFO
0000
0000

0568
05A3
0035
0248
098F
0500
03FO
03eo
0500
03CO
0500
ooeB
00C1
OlEC
05ED
0127
0057
04F9
01E4
013A
013A
0118
0174
OOEC
OOAO
0170

iFILQ
iOFNE
iDUI2
iOU16
iFR02
iFR06
iFRll
iFR14
aFR18
iFR22
aFR26
aAS10
aASOI
iAS04
i4S05
iAS08
iASA"
iSUP4
iiClBlt
iCl88
iCl8C
i25J1
GleOCV
iD11D
iPIXK
iCIL2

..... .... .... .... ..... .. ....
01
05
09
·00
11
21
25
29
20
31
35
39
54
58
5C
60
64
6E
78

7C
80
8C
90
94
98
9C

0008
0018
0029
0030
0030
004e
0058
0065
0072
0082
008E
0098
OOAO
00A6
OOAe
0086
0080
00e2
0007
00E4
OOEA
OOEF
00F3
00F9
OOFE
00F8

02
06
OA
OE
12
22
26
2A
2E
32
36
51
55
59
50
61
65
6F
79
70
81
80
91
95
99
90

03
07
08
OF
IF
23
27
28
2F
33
37
52
56
5A
5E
62
66
70
7A
7E
82
81;

92
96
9A
AD

0010
OOlF
002E
0039
0040
0051
DOSE
0068
007A
0089
0094
009E
00A3
00A8
OOAF
008A
OOCO
0001
OOEO
00E8
OOEe
OOF 1
00F6
OOFB
00F3
0101

04
GB
DC
IG
20
24
28
2C
30
34
38
53
51
5B
5F
63
61
71
7B
IF
83
8F
93
97

98
At

COilE
AOOR

.. ORO

scn

eOJ~r

AOOit

OlOE
OIDE
lA06
lA06
lA34
lA34
lAH
lA34
lAH
7 A3ft
7BSE
OlE8
026A
02H
025A
02bA
09ltE
OlOE
08:>2
09E8
OBn
0000
0000
OOFO
00:>:)
0000

03eo
O,)A3
0001
0248
0500
03CO
03e:>
0500
050:>

0015
0,024
002F
G03S
0048
GO!)5
0062
006E
0:>1E
008C
0098
009F
OOA4
OOAA
0084.
0088
tl:)Cl
0005
OGE2
00E9
oDeD
8:)F2
OaFS
:>:>F:
00F3
0103

....

n8)

03CO
lJ61
OUA

nu
011:
0191
005E
0167
O18A
0128
0141
tlJ9C
0088
0112
Q:)AO
01eb

Appendix I

143

APPENDIX J.

Two sample programs are provided with the Monitor
system. One is a FORTRAN compilation, the other is
an assembly. Both programs are loaded and processed
as Monitor jobs. Both programs are listed on the
principal printer, which in FORTRAN is specified on
the IOCS card. .The answer to the FORTRAN problem
is printed on the principal printer. The answer to the
Assembler problem is printed on the Console Printer.
FORTRAN SAMPLE PROGRAM
The FORTRAN sample program is listed below as it
rWlS on a 4K and 8K system (the LIST ALL card is
removed for the 8K rWl). This program reads data
cards supplied with the program and builds three files
on disk, one in the User Area and two in Working Storage. The core and file maps for the program are
described in the Programming Tips and Techniques
section of this manual.
The FORTRAN card sample program as supplied
uses a 1442-6, or -7, an 1132 Printer and disk. The
paper tape sample program uses an 1134 Paper Tape
Reader, a Console Printer, and disk. If your system
does not have the required configuration, it will be
necessary to make changes to the program. These
changes are listed below.

MONITOR SYSTEM SAMPLE PROGRAMS

Card CHK13030
•

If printed output is on a 1403 Printer, change the IOCS

entry from 1132 PRINTER to 1403 PRINTER.
•

If printed output is on the Console Printer, change the

IOCS entry from 1132 PRINTER to TYPEWRITER.
Card CHK13040
•

If card input is from a 2501 Reader, change the IOCS

entry from CARD to 2501 READER.
Card CHK13180
•

If card input is from a 2501 Reader, change M = 2
to M = 8.

Card CHK13190
•

If printer output is on a 1403 Printer, change L = 3

to L = 5.
•

If printed output is on a Console Printer, change
L = 3 to L = 1.

Appendix J

145

FORTRAN Sample Program Run on 4K
1/ .lOS

09/27167

LOG D~lvr
0000

CART SPEC
OOOF

CART AVAIL
OOOF

(HK12970

PHV DRIVE
0000

II DUP

("K12910

-STOREDATA WS UA FILEA
2
CART 10 OOOF
DB AODR lAro
OS CNT

(HK12990

0020

II • ISM 11'0 FORTRAN SAMPLE PROGRAM

(HKUOOO

II FOR
*ONE WORD INTEGERS
-loC.COISK.l1'2 PRINTER)
-IOC.CCARD)
-LIST ALL
C
ISM 1110 FORTRAN SAMPLE PROGRAM
C
SIMULTANEOUS . EQUATION PROGRAM
(

(HKUOI0
(HKU020
(HKUOJO
(HKU040
(HKU060
(HKU070
(HKUO.o
(HKUOI4
(HK1S086
CHK13090
(HKlI095
(HK13100
CHKUllo
CHKUUO
CHKuno
CHK13140
CHKUno
CHK13160
(HKUITO
(HKUIIO
(HKUI90
(HKU200
CHKU210
(HKU220
(HKUnO
(HKl3240
(HKU250
(HKU255
CHKU260
CHKU2'70
(HK13210
(HK1Uto
(HKUSOO

INTEGER Vl.V2.V'
DIMENSION ACI0.10).XCIO).8C140)
DEFINE FILE 101(1.100.U.Vll.102Cl.10,U.V2).10,Cl,100.U.VJ)
FORMAT CIH1.20X15HIN(OMPATISILITV,
FORMAT C1H 20X41HMORE EQUATIONS THAN UNKNOWNS-NO SOLUTIONS)
FOR~AT CIH 20X46HMORE UNKNOWNS THAN EQUATIONS-SEVERAL SOLUTIONS)
FORMAT (1H 20X15HSOLUTION MATRIX)
FORMAT (lH 20xeHMATRIX AI
FORMAT (lH 20xeHMATRIX B)
FORMAT CIH 20XI0H A-INVERSEI
FORMAT I1H 20X24HOIAGONAL ELEMENT IS ZERO)
M-I

JOI
J02
101
104
105
S06
JOl
101

L-'

READ CM.IOI
10 FORMATIIOH

SPACE FOR TITLE

1

C
C

Ml - NO. OF
M2 - NO. OF
Ll - NO. OF
L2 - NO. OF
Nl - NO. OF
N2 - NO. OF

(
(

C
C
C
C

I

WRITE CL.I01
12 FORMAT '6110.20X)
READ (M.t2) Ml,M2.Ll.L2,Nl.NZ
ROWS OF A
(OLS OF A
ROWS OF X
eoLS OF x
ROWS OF B
COLS OF B

l ' FORMAT C7FI0.4.10XI

IT FORMAT CI0FI0.4)
IF (H2-1161,64 •• ,
64 IF CU-lJ 6J .65.6,
65 IF (LI-M2)6S.66 •• ,
66 IF CMI-Nt)6J,lt."
63 WRIT! (L.,OU
GO TO I
11 N-Ml
H-M2
fF (MI-M21 91.14.9S
'1 WRITr (L.IO')
Go TO 2
WRIT! (L.SOJ)
GG TO 2
14 WRIT! (L.,O!U
00 TO f-l.N
READ (M,IS) CACI.JI, J-l.N)
WRITE (L'l?1 CACI.J). J-l.NI
WRITE (101'l)CACI.JI. J-l.N)
10 CONTINU!
FORMAT (FI0.4.TOX)
WRITE (L.'06)
READ IM.e,) callI. l-l.N)
WRIT! (L.I'I CSCII. l-l.NI
WRrT! (102'lICSCI). l-l.NJ

9,

.t
(

C

(

INVERSION

~F

A

DO 120 K-l.N
O-A(K.K)
IFCDI40,2oo.40
ItO AII.K)-leO
Do 60 J-l.H
60 A(K.J)-AIK.JI/D
l'IK-N)80.1I0.no
10 IK-K+l
DO 120 I-IK.N
f)-A ( I .KI
AU.K)-O.O

146

(HK~n~O

(HUn"
(HKIUaO
(HI"U'O
(HKln40
CHK11350
(HKUJ60
CHKlU70
CHKUsaO
CHK13"O
(HKU400
(HKU410
CHKU420
CHK134,0
CHKU440
CHK13450
CHI(U460
(HK11.70
CHI(13480
CHK11490
CHK13500
CHKUS05
CHKU510
CHKlUZO
(HK135JO
CHKlJ540
(HK13550
(HK13554
(HUn56
CHKU560
(HKl3565
CHKllno
CHKU580
CHI(U590
CHI(13600
CHK1I610
CHI(13620
CHKuno
CHI(1I640
CHK13650
(HI(U660
CHKU6TO

00 120 J-l,N
120 ACI.j)-ACI,J)-(O*ACK.J»)

CHKU6l0
CHK13690
CHK13.9'
CHKl3700
CHKl3705
CHK13710
CHK13720
CHK13nO
CHKl3740
CHKl3750
CHK13760
CHKl3770
CHKU7IO
CHKl3790
CHU3800
CHKUel0
CHKUazO
CHK131130
CHKl3840
CHKU845
CHKUUO
CHKU860
CHK13870
CHU3880
CHK13e90
CHU3900
CHK13910
CHK13940
CHI(.13950

C

C

BACK

SO~UTION

C

1:10 IIC-N-l
DO 180 K-l.11C.
I1-K+l
DO 180 l-n.N
O-A(I(..I)
ACK.I)-O.O
DO 180
180 A(K.J)-ACIC..j)-CO*A(I,J»)
GO TO 202
200 WRITE (L.30el
GO TO 2
202 WRITE (L.3071
DO 201 I-l.N
WRITE CL.11) (ACI.J). J-l.HI
WRITE (l03'11 (ACI.Jlt j-l,NI
201 CONTINUE
DO 21 1-t.N
X( r )-0,0
DO 21 K-l.N
21 XII)-XII)+AII.IC)*BIK)
WRITE (L.3041
WRITE (L.89) IXCI), r-l.NI
2 CALL EXIT
END
VARIABLE ALLOCATIONS
A(R ).OODC-0016
XCR I-OO'O-OOOE
V31 I )-020E
Mcl )-0201'
L2CI )-0214
N1CI )-0215
I(.C I )-OUA
IKC I )-021B

j-l.,.

ALLOCATIONS
-022A 302 -OZ37
-0205 17
-0209
-0350 70
-OSAZ
-0522 21
-051(

BI R )a0 208-00F2
LC I 1-0210
H2 CI )-0216
I1CI )-021C

OCR 1-020A
!\t1CI 1-0211
N(J h0211

STATEME~T

SOl
13

14
ZOl

303
89
40
2

-0251
-OZOC
-0407
-0588

304
64
60

-0260

-onc

-0416

305
65
80

-OZ7A
-0322
-0432

306
66
120

-Ozu
-0328
-0451

307
63
150

V1CI I-OZOC
M2CI )-0212
I CI 1-0218

-028C
-03Z!
-0484

308
11

180

-0296
-0134
-04AO

VICI 1-0200
Ll (t I-OZlI
J( I 1-0219

10
91

ZOO

-OZA7
-0344
-04E2

12
93

20Z

-0901
-004A
-0-E8

FEATURES SUPPORTED
ONE WORD INTEGERS
10CS
CALLED SUBPROGRAMS
FADOX
FMPYX
FolV
5101
SUBSC
SOFIO
REAL CONSTANTS
.100000E 01-0220

FLO
SDWRT

FSTO
SOFX

FLoX
SOCOM

FSTOX

FSeRX

CAROZ

PRNTZ

SRED

SWRT

SCOMP

5FI0

Slolx

.OOOOOOE 00-0222

INTEGER CONSTANTS
2-0224
'-0225

l-Q226

CORE REQUIREMENTS FOR
COMMON
0 VARIABLES

,.,.4

101-0221

PROGRAM

102-0228

103-0229

814

END OF COMPILATION
II XEQ
L 2
*lOCAl,'LOAT,FARC,IFIX
.FILES(103,FILEAI
FILES ALLOCATION
103 01A! 0001 OOOF FIlEA
101 0000 0001 0001' 01BO
102 0001 0001 OOOF 01BO
STORAGE ALLOCATION
R 40 OSA! (HEXI ADDITIONAL COR! REQUIRD
R 43 0124 CHEXI ARITH/'UNC SOCAl WD CNT
R 44 06AC (HEX) FI/O. 110 SOCAl WO CNT
R 45 02A2 (HEX) DISK FIIO SOCAl we eNT
R 41 0004 CHEX) wes UNUSED BY CORE lOAD
LIBF TRANSFER VECTOR
EeCTB OF53 SOCAl 2
HOlTR OF11 SOCAl 2
GETAD OED4 SOCAl 2
XMDS
0982 SOCAl 1
HOlEZ OE9! SOCAL 2
NORM
01De
FADOX 0950 SOCAL 1
FseRX 0934 SOCAl 1
FMPYX 0900 SOCAl 1
FDIV
08A! SOCAl 1
FSTOX 0188
'lDX
07A4
soeOM 0920 SOCAL ,
SDFX
08E6 SOCAl ,

CHKl3960
CHKU963
CHU396!S

Appendix J

147

SDWRT
SIO~X

suasc
5101

SCO~p

SWRT
SRED
~STO

FLD
PltNTZ
CARDZ

0954 SOCAL 5
099A SOCAL 2
018E
099E SOCAL 2
0982 SOCAL 2
OIAB SOCAL 2
08S0 SOCAL 2

onc

01AI
OOEO SOCAL 2
0036 SOCAL 2
S~IO
09AD SOCAL 2
SD~IO
09!' SOCAL 3
IFIX
oa7C LOCAL
FARC
087C LOCAL
~LOAT
oalC LOCAL
SYSTEM SUBROUTINES
ILS04 00C4
ILS02 00S5
ILSOl O~!A
ILSOO OFl!
FLIPR 0816
0400 CHEX) )S THE EXECUTION ADOR
ISM 1UO "ORTRAN
SAMPLE PROGRAM
MATRIX A
4.2150
-1.2120
1.1050
-2.1200
3.5050
-1.6520
1.1220
-1.J110
3.9860
MATRIX a
3.2160
1.2470
2.3456
A-INVER&!
0.2915
0.on3
-0.0467
0.1631
0.1118
0.'U6
0.,o01
0.1029
-0.0283
SOLUTION MATRIX
0.9121
1.2654
0.1429

CHKun

FORTRAN Sample Program Run on 8K
II JOB

09127/67

LOG DRIVE
0000
II •

CART SPEC
OOO~

CART AVAIL
OOOF

(HK12970

PHV DRIVE
0000

ISM 11'0 FORTRAN SAMPLE PROGRAM

(HKUOOO

FOR
*ONE WORD INTEGERS
*IOCSCOISK,1112 PRINTER)
*IOCSCCARO)
II

(HKUOI0
CHKU020
CHKU030
CHKU040

FEATURES SUPPORTED
ONE WORD INTEGERS
IOCS
CORE REOUIREMENTS FOR
COMMON
0 VARIABLES
END

O~

544

PROGRAM

II XEO
L 1
*'ILES(10"FILEA)
'ILES ALLOCATION

10, 01AE
101 0000
102 0001

0001
0001
0001

CHKU960
CHKU965
000" 'ILEA
OOOF 01BO
OOOF 0180

STORAGE ALLOCATION
R 41 OC9C (HEX) wes UNUSED BY CORE LOAD
LIBF TRANSFER VECTOR
EBCTS UCD
HOLTI 1291
G!TAO 124E
NORM
1224
XMOS
1208
FARC
11E6
HOLEZ 11 SO
FLOAT 11A6
I~IX
117A
'ADOX 1125
FSBRX 10FC

148

874

COMPILATION

FMPYX 10e8
FOIV
1076
fSTOX 101E
FLOX
lOU
SOCOM 07FE
SO'X
07e4
SOWRT OU2
SIOFX OStA
SUBSC 1054
SIOI
OB1E
SCOMP OB02
SWRT
OA2A
SREO
OA30
FSTO
1022
FLO
103E
PRNTZ 01"60
CAROl OEB6
, ... 10
0820
SOFIO "0837
SYSTEM SUBROUTINES
ILS04 00C4
ILS02 0083
ILSOl 1202
ILSOO 12EO
0400 IHEX) IS THE EXECUTION ADOR

1110 FORTRAN
SAMPLE PROGRAM
MATRIX A
4.2150
-1.2120
1.1050
-2.1200
1.5050
-1~6320
1.1220
-1.1130
3.9860
MATRIX B
3.2160
1.2470
2.14'6
A-INVERSE
0.0831
-0.0467
0.29U
0.3836
0.1118
0.16!!
0.1029
0.3008
-0.0283
SOLUTION MATRIX
0.9321
1.2654
0.7429
IB~

CHKl397

ASSEMBLER SAMPLE PROGRAM

The core map for the Assembler sample program is
described in the Programming Tips and Techniques
section of this manual.

output on Principal Printer
SMASMOOI

II JOB

lOG DRIVE
0000

CART SPEC
2021

CART AVAIL
2021

PHY DRIVE
0002
SMASM002
SMASM003
SMASM004

II ASM
*lIST
*PRINT SYMBOL TABLE

COMPUTE THE SQUARE ROOT OF 64

0000
0001
0002
0004
0005

0
20
30
20
0

0006 0
0001 0

C030
06406063
06898640
091899CO
1008
E829
D01B

***************************************************
*
*
*
THIS PROGRAM COMPUTES THE SQUARE ROOT OF 64
*
*
*AND PRINTS THE RESULT ON THE CONSOLE PRINTER.*
*
*
***************************************************
BEGIN LD
064
INPUT TO THE SQUARE ROOT
lIBF
FLOAT
INTEGER TO FLOATING PT.
CALL
FSQR
FLOATING PT. SQRT.
LIBF
IFIX
FLOATING PT. TO INTEGER
SLA
8
*
MASK TO BUILD EBCDIC INTEGER
*
RESULT AND EBCDIC BLANK IN WORDI.
OR
MASK
STO
WORDl
CONVERSION INPUT AREA
*
CONVERT MESSAGE FROM EBCDIC
*
TO ROTATE IT IlT" CODE.

SMASM006
SMASMOOl
SMASM008
SMASM009
SMASMOIO
SMASMOII
SMASM012
SMASMOl3
SMASM014
SMASMOl5
SMASMOl6
SMASMOll
SMASMOl8
SMASM019
SMASM020
SMASM021
SMASM022

Appendix J

149

0008
0009
OOOA
0008
OOOC
0000
OOOE
OOOF
0010
0011
0012
0013
0011t
0015
0022
0023
0024
0030
0031
0032

20
0
I
I
0
20
0
1
20
0
0
0
0

05097663
0000
0023
0015
OOlA
23Al1l10
2000
OOH
23A11l10
0000
10FD
6038
OOOE
0000
8181
0000
0018
FOItO
0040
0000

0
I)

0
0

LlBF
DC
DC
DC
DC
LlBF
DC
DC
BUSY lIBF
DC
MDX
EXIT
TYPE DC
BSS
DC
WORDI DC
ESC
MASK DC
064
DC
END

EBPRT
0
WORDI
TYPE+I
26
TYPEO
12000

TYPE
TYPED

CAll CONVERSION SUBROUTINE
CONTROL PARAMETER
INPUT AREA
OUTPUT AREA
CHARACTER COUNT
TYPE MESSAGE
CONTROL PARAMETER
110 AREA
WAIT FOR TYPING COMPLETE

BUSY

BR TO WAIT FOR COMPLETION
RETURN TO MONITOR CONTROL
14
1/0 AREA WORD COUNT
RESERVE AS PRINT BUFFER
13
TWO CARRIAGE RETURNS
18181
CONVERSION INPUT AREA
*-*
• IS THE SQUARE ROOT OF 61t •
IF040
EBCDIC INTEGER MASK
CONSTANT FOR SQUARE ROOT
6It
BEGIN

SMASM023
SMASM021t
SMASM025
SMASM026
SMASM021
SMASM028
SMASM029
SMASM030
SMASM031
SMASM032
SMASM033
SMASM031t
SMASM035
SMASM036
SMASM037
SMASM038
SMASM039
SMASM040
SMASM041
SMASM042

*SYMBOL TABLE*
BEGIN
WORDI
000
000
006
NO

0000
0023

BUSY

0010

D61t

MASK

0030

TYPE

0014

OVERFLOW SECTORS SPECIFIED
OVERFLOW SECTORS REQUIRED
SYMBOLS DEfINED
ERROR(S) FLAGGED IN ABOVE ASSEMBLY

1/ XEQ
l
R 41 1904 (HEX) WOS UNUSED BY CORE LOAD
CALL TRANSFER VECTOR
FSQR
0248
LIBF TRANSFER VECTOR
FARC
069E
XMOS
0682
HOll
0632
PRTY
05E2
EBPA
0592
FADD
04El
FOIV
0540
FLO
048C
FADDX 04E7
FMPYX 04A2
FSTO
0410
FGETP 01t56
NORM
01t2C
TYPEO 0312
EBPRT 02AC
IFIX
0280
FLOAT 0230
SYSTEM SUBROUTINES
ILS04 00C4
IlS02 00B3
OlFE (HEX) IS THE EXECUTION ADOR

Output on Console Printer

8 IS THE SQUARE ROOT OF 64

150

0031

SMASMOlt3

APPENDIX K. BASIC DIFFERENCES BETWEEN 1130 DISK MONITOR SYSTEM, VERSIONS 1 AND 2

Many of the differences between Monitor 1 and Monitor 2
are listed below.
•

•

The entire Resident Monitor, with the exception of
$LINK, $EXIT, $IOCT, $PRET, and $ffiEQ, has been
relocated. Certain parameters that were formerly
in COMMA in Version 1 are in DCOM in Version 2.

•

The Core Image header for Disk Core Image format
(DCI) has been revised and relocated.

•

The *FILE Assembler Control Record has been
replaced by the pseudo-operation FILE. *FILE
(not to be confused with the Supervisor Control
Record *FILES) is not recognized in Version 2.

Lowest allowable origin with:
Version 1

DISKZ
DISKO
DISK1
DISKN

Version 2

Dec.

Hex.

Dec.

Hex.

450
610
880
1080

/01C2
/0262
/0370
/0438

510
690
690
960

/OlFE
/02B2
/02B2
/03CO

NOTE: All version 2 disk subroutines provide multiple
disk support and accommodate word counts exceeding
320. There is no DISKO subroutine in version 2; a LIBF
to DISKO is interpreted as a LIBF to DISK1.
•

Version 2 does not allow an initial ORG to an odd
location in mainlines that require DISKZ. An ORG
to an even location followed by a BSS or BES of an
odd number of words is equivalent to an ORG to an
odd location.

•

Version 2 may require more core than Version 1,
especially FORTRAN core loads.

•

Defective cylinders are taken into account in the
Version 2 incremental seek and write immediate
functions. In other words, it is not possible to
seek to or write immediate on a defective
cylinder.

•

The object code produced by the FORTRAN compiler
is slightly longer in Version 2 than Version 1.

•

The calling sequence for DISKZ in Version 2 is
different from Version 1.

•

The LIST DECK, LIST DECK E, and PUNCH
SYMBOL TABLE Assembler Options are not
allowed with 1134 input.

•

ILS02 and ILS04 are part of the Resident Monitor.
(The user may write his own and store them in the
User Area for use with user programs.)

• On a DUP DUMP using the 1442-6 or -7, blank
cards following the punched cards are not
selected to stacker 2.

•

Version 2 requires that all cartridges have a
4-character ID.

•

There are certain diagnostics in Version 2 that
are not in Version 1. Thus, some conditions are
detected as errors in Version 2 that are not in
Version 1.

•

The Version 2 System Loader does not bypass the
loading of ISSs for devices not defined on the REQ
records. Such subroutines may, however, be
deleted if desirable.

•

Disk organization is different in the two versions.

•

Version 2 requires 14 sectors more disk storage
than Version 1, i. e. , the address of Working
Storage in Version 2 is 14 greater than in Version 1.

Appendix K

151

GLOSSARY

Absolute Address. An address that either should not
be incremented or has already been incremented by
a relocation factor.

Cold Start Card. The card that contains the coding
necessary for initial program loading (IPL), that is,
fetching the Cord Start Program.

Absolute Program. A program which, although stored
in disk system format, has been written in such a way
that it can be executed from only one core location.

Cold Start Program. The disk-resident program that
initializes the Monitor system by reading the Resident
Monitor into core from the disk.

Assembler Core Load. A core load that was built from
a mainline written in Assembler language.

COMMA. (See Core Communications Area.)

CALL Subprogram. A subprogram that must be referenced with a CALL statement. The type codes for subroutines in this category are 4 and 6.
CALL TV. The transfer vector through which CALL
subroutines are entered during execution. See the
section on the Core Load Builder for a description of
this transfer vector.
Card Core Image Format (abbr. CDC). The format
in which a program stored in disk core image format
is dumped to cards.
Card Data Format (abbr. CDD). The format in which
a data file is dumped to cards.
Card System Format (abbr. CDS). The format in which
absolute and relocatable programs are punched into
cards. In this format, columns 73-80 are used only
to contain the card ID and sequence number.
CDC. (See Card Core Image Format.)
CDD. (See Card Data Format.)
CDS. (See Card System Format.)
Checksum. The two's complement of the logical sum
of the record count (the position of the record within
the program) and the data word(s). The logical sum
is obtained by summing the data word(s) and the
record number arithmetically, with the addition of
one each time a carry occurs out of the high -order
position of the Accumulator. The first record is
record 1, not record O.
This term (record number) should not be confused
with the sequence number that appears in columns 73 -80
in card formats.
CIB. (See Core Image Buffer.)

Comment. The text contained on a Monitor control
record with an asterisk in column 4, an Assembler
language source record with an asterisk in column 21,
or a FORTRAN source record with a C in column 1.
Control Record. One of the records (card or paper
tape) that direct the activities of the Monitor system.
For example, the DUP Monitor control record directs
the Monitor to initialize DUP, the DUMPLET DUP
control record directs DUP to initialize the DUMPLET
program; the EXTENDED PRECISION FORTRAN control record directs the Compiler to allot three words
instead of two for the storage of variables.
Core Comm\lllications Area (abbr. COMMA). The part
of core which is reserved for work areas and parameters
that are required by the Monitor programs. In general
a parameter is found in COMMA if it is required by two
or more Monitor programs and is required to load a
program stored in disk core image format. Otherwise
the parameter is fO\llld in DCOM. COMMA is initialized
by the Supervisor during the processing of a JOB
record.
Core Image Buffer (abbr. CIB). The buffer on which
most of the first 4K of core are saved while a core load
is being built. It is also used to save any part of COMMON defined below location 4096 during a link-to-link
transfer of control. See the section on the Core Load
Builder for a description of the CIB and its use.
Core Image Header Record. A part of a core image
program including such parameters as the word count
of the core load, the lTV, and the setting for index
register 3.
Core Image Program. A mainline that has been converted, along with all of its required subroutines,. to
disk core image format. Included in the core image
program are any LOCALs and/or SOCALs that are
required. This term should not be confused with "core

Glossary

153

load", which refers to only that part of a core image
program that is read into core just prior to execution.
Core Load. A mainline, its required subroutines, and
its interrupt, CALL, and LIBF transfer vectors. This
term should not be confused with "core image program".
CSF Block. A group of not more than 51 data words of
a program in card system format. In this format, the
first six data words of every CSF block are indicator
words. These six words are always present, even
though all six are not needed. A CSF block is equivalent
to words 4-54 of the CSF module (Data card) of which
it is a part.

Disk Communications Area (abbr. DCOM). The disk
sector that contains the work areas and parameters
for the Monitor programs.
Disk Core Image Format (abbr. DCI). The format in
which core image programs are stored on the disk
prior to execution.
Disk Data Format (abbr. DDF). The format in which ~
data file is stored in either the User Area or the Fixed
Area.
Disk System Format (abbr. DSF). The format in which
mainlines and subprograms are stored on the disk as
separate entities. It is not possible to execute a program in disk system format; it must first be converted
to disk core image format as a result of either an XEQ
Monitor control record or a STORECI DUP control
record.

CSF Module. A group of words consisting of a data
header and CSF blocks for a program in card system
format. A CSF module is equivalent to a Data card
in card system format. A new CSF module is created
for every data break. A data break occurs (1) whenever
there is an ORG, BSS, BES, or DSA statement, (2) whenever a new Data card is required to store the words
comprising a program, and (3) at the end of the program.

Disk System Format Program. A program that is
stored in disk system format. It is sometimes called
a DSF program.

Data Break. (See DSF Module.)

~

Data File. An area in either the User Area or the
Fixed Area in which data is stored. ''Data file" may
also refer to the data itself.

DSF Block. A group of not more than nine data words
of a program in disk system format. In this format,
the first data word of every DSF block is an indicator
word. Normally every nSF block in a nSF module
consists of nine data words, including an indicator word;
but if the DSF module contains a number of data words
that is not a multiple of nine, then the next-to-Iast DSF
block contains less than nine data words.

Data Header. The first pair of words in a module for
a program in disk system format. The first word contains the loading address of the module; the second the
total number of words contained in the module. The
data header for the last module contains the effective
program length, followed by a word count of zero.
DCI. (See Disk Core Image Format.)
DCOM. (See Disk Communications Area.)
DDF. (See Disk Data Format.)
DEFINE FILE Table. The table which appears at the
beginning of every mainline that refers to defined files.
There is one 7 -word entry for each file that has been
defined.
Disk Block. One sixteenth of a disk sector, that is, 20
disk words. The disk block is the smallest distinguishable increment for programs stored in disk system format. Thus, the Monitor system permits packing of
disk system format programs at smaller intervals than
the hardware would otherwise allow.

154

(See Disk System Format.)

DSF Module. A group of words conSisting of a data
header and DSF blocks for a program in disk system
format. A new DSF module is created for every data
break. A data break occurs (1) whenever there is an
ORG, BSS, BES, or DSA statement, (2) whenever a
new sector is required to store the words comprising
a program, and (3) at the end of the program.
Effective Program Length. The terminal address
appearing in a relocatable program. For example, in
Assembler language programs, this address is the last
value taken on by the Location Assignment COQ.D.ter and
appears as the address assigned to the END statement.
Entry Point. Either (1) the symbolic address (name) of
a place at which a program is entered, (2) the absolute
core address at which a program is to be entered, or
(3) the address, relative to the address of the first word
of the subprogram, at which it is to be entered.

Execution. The execution of the program specified on
an XEQ Monitor control record and any subsequent links
executed via CALL LINK statements. The execution is
complete when a CALL EXIT is executed.
Fetching. The process of reading something into core
storage, usually from disk.

Initial Program Load. The action that occurs when the
PROGRAM LOAD key is. pressed. One record is read
into core, starting at location zero, from the input hardware device that is physically wired to perform this
function. The record read, usually a loader, then instructs the system as to the next action to be performed,
e. g., load more records.

Fixed Area (abbr. FX). The area on disk in which core
image programs and data files are stored if it is desired
that they always occupy the same sectors. No programs
in disk system format may be stored in this area. No
packing ever occurs in the Fixed Area.

Interrupt Level Subroutine (abbr. ILS). A subroutine
that analyzes all interrupts on a given level; that is,
it determines which device on a given level caused the
interrupt and branches to a servicing subroutine (ISS)
for the processing of that interrupt.

FLET. (See LET /FLET .)

Interrupt Service Subroutine (abbr. ISS). A subroutine
that 1) manipulates a given I/O device and 2) services
all interrupts for that devicer after they have been
detected by an ILS.

FORTRAN Core Load. A core load that was built from
a mainline written in the FORTRAN language.
Function. A subprogram that evaluates a mathematical
relationship between a number of variables. In FORTRAN, a FUNCTION is a subprogram that is restricted
to a single value for the result. This type of subprogram
is called by direct reference.
FX. (See Fixed Area. )
IBM Area. That part of disk storage that is occupied by
nCOM, the CIB, and the Monitor programs. This 'area
is also known as the System Area.

Interrupt Transfer Vector (abbr. lTV). The contents of
words 8-13, which are the second words of the automatic BSI instructions which occur with each interrupt.
In other words, if an interrupt occurs on level zero
and if core location eight contains 500, an automatic
BSI to core location 500 occurs. Similarly, interrupts
on levels 1-5 cause BSIs to the contents of core locations 9-13, respectively.
IOAR Header. The word(s) required by an I/O device
subroutine (ISS). They must be the first or the first
and second words of the I/O buffer.

IBT. (See ILS Branch Table.)
IPL. (See Initial Program Load.)
ILS. (See Interrupt Level Subroutine.)
ISS. (See Interrupt Service Subroutine.)
ILS Branch Table (abbr. IBT.) A table consisting of the
addresses of the interrupt entry points for each ISS used
for an interrupt level. An IBT is required by the ILS
for an interrupt level with which more than one device
is associated.

ISS Counte:c A counter in COMMA (word $IOCT) that is
incremented by 1 upon the initiation of every I/O operation and decremented by 1 upon receipt of an I/O operation complete interrupt.

In~ore

lTV. (See Interrupt Transfer Vector.)

Subprogram. A subprogram that remains in
core storage during the entire execution of the COTe
load. of which it is a part. ILSs are always in~ore
subprograms, whereas LOCALs and SOCALs never are.
Indicator Word. The first word of a nSF block indicating
which of the following data words should be incremented
(relocated) when relocating a program in disk system
format. This word also indicates which words are
LIBF, CALL, and DSA names. Programs in disk system format all contain indicator words. Each pair of
bits in the indicator word is associated with one 0.£ the
following data words -- the first pair with the first data
word following the indicator word, etc.

Job. A group of tasks (subjobs) that are to be performed by the Monitor system and which are interdependent; that is, the successful execution of any
given subjob (following the first) depends upon the successful execution of at least one of those that precede it.
~

(See Location Assignment Counter.)

LET/FLET (the Location Equivalence Table for the
User Area/ the Location Equivalence Table for the
Fixed Area). The disk-resident table through which
the disk addresses of programs and data files stored

Glossary

155

in the User/Fixed Area may be found. On a system
cartridge, LE T occupies the cylinder preceding the
User Area. If a Fixed Area has been defined, FLET
occupies the cylinder preceding it; otherwise, there
is no FLET.
LIBF Subroutine. A subprogram that must be referenced
with an LIBF statement. The type codes for subroutines
in this category are 3 and 5.
LIBF TV. The transfer vector through which LIBF subprograms are entered at execution time. See the section
on the Core Load Builder for a description of this transfer vector.
Link. A link is a core image program that is read into
core for execution as a result of the execution of a
CALL LINK statement.
Loading Address. The address at which a mainline,
subprogram, core load, or DSF module is to begin.
For mainlines and DSF modules, the loading address
is either absolute or relative. For subprograms, it is
always relative, whereas, for core loads, it is always
absolute.
Load-On-Call (abbr. LOCAL) Subroutine. A subprogram
in a core image program that is not an in-core subprogram. It is read from the disk into a special overlay
area in core only when it is called during execution
time. LOCALs, which are specified for any given
execution by the user, are a means of gaining core
storage at the expense of execution time. The Core
Load Builder constructs the LOCALs and all linkages
to and from them.
Load-Although-Not-Called (abbr. NOCAL) Subprogram.
A subprogram that is to be included in a core image
program although it is never referenced in that core
image program by an LIBF or CALL statement. Debugging aids such as a trace or a dump fall into this category.
LOCAL. (See Load-On-Call Subroutine.)
Location Assignment Counter. A counter maintained in
the Assembler for assigning addresses to the instructions
it assembles. A similar counter is maintained in the
Core Load Builder for loading purposes.
Long Instruction. An instruction that occupies two core
storage locations.
Low COMMON. Words 896 - 1215 if DISKZ is in core,
words 1216 - 1535 if DISK1 is in core, or words 1536

156

- 1855 is DISKN is in core. This area exists even if
there is no COMMON.
Mainline. The program about which a core image program is built. The mainline is normally the program
in control. It calls subprograms to perform various
functions.
Master Cartridge. The cartridge residing on logical
drive zero. The master cartridge must be a system
cartridge.
Modified EBCDIC Code. A six-bit code used internally
by the Monitor programs. In converting from EBCDIC
to Modified EBCDIC, the leftmost two-bits are dropped.
(See Name Code.)
Monitor. A synonym for the entire 1130 Disk Monitor
System, Version 2, which is also known as the Monitor
system or the Disk Monitor.
Monitor Control Record. (See Control Record.)
Monitor Program. One of the follOwing parts of the
Monitor system: Supervisor (SUP), Core Image Loader
(CIL) , Core Load Builder (CLB) , Disk Utility Program
(DUP) , Assembler (ASM), or FORTRAN Compiler
(FOR).
Name Code. The format in which the names of subprograms, entry points, labels, etc., are stored for
use in the Monitor programs. The name consists of
five characters, terminal blanks being added if necessary to make five characters. Each character is in
Modified EBCDIC code, and the entire 30-bit representation is right-justified in two 16-bit words .. The
leftmost two bits are used for various purposes by the
Monitor.
Naturally Relocatable Program. A program that may
be executed from any core storage location without
first being relocated. The only absolute addresses in
such a program refer to parts of the Resident Monitor,
which, of course, are fixed.
NOCAL. (See Load-Although-Not-Called Subprogram.)
Non-system Cartridge. A cartridge that does not contain
the Monitor programs, although it does contain DCOM,
LET, etc. A non-system cartridge may be used only
as a satellite cartridge.

NOP. An acronym used to denote the instruction, No
operation.

Object Program. The output from either the Assembler,
or the FORTRAN Compiler.
Packing. The process of storing programs in the User
Area to the nearest disk block, thus reducing the average wasted disk space from 160 disk words/program to
10 disk words/program.
Padding. Areas in the User/Fixed Area required to
permit core image programs and data files to start
on a sector boundary. The length of the padding,
which is reflected in LET/FLET with a dummy entry,
is from 1 to 15 disk blocks.
Principal I/O Device. The device used for stacked job
input to the Monitor system. The 2501/1442, 1442/1442,
or 1134/1055 may be assigned as the principal I/O device. The Keyboard may be assigned temporarily as
the principal. input device (see / / TYP under Monitor
Control Records). The System Loader consid~rs the
fastest device defined on the REQ records to be the
principal I/O device.
Principal Print Device. The device used by the Monitor
system for printing system messages. Either the 1403,
1132, or Console Printer may be assigned as the principal print device. The System Loader considers the
fastest print device defined on the REQ records to be
the prinCipal print device.
Program. The highest level in the hierarchy describing
various types of code. Subprograms and mainlines are
subsets of this set.
Program Header Record. The part of a program stored
in disk system format that precedes the first DSF module. Its contents vary with the type of program with
which it is associated. It contains the information
necessary to identify the program, to describe its
properties, and to convert it from disk system format
to disk core image format.
Quintuples. Five-word tables in DCOM that contain
cartridge-related parameters. There is one table for
each parameter and an entry in the table for each
cartridge on the system. These tables are updated by
SYSUP during JOB processing or by a user callable
subprogram SYSUP if cartridges are changed during
a job.
Relocatable Program. A program that can be executed
from any core location. Such a program is stored on
the disk in disk system format. It is relocated by the
Core Load Builder.

Relocation. The process of adding a relocation factor
to address constants and to those long instructions
whose second words are not (1) invariant quantities,
(2) absolute core addresses, or (3) symbols defined as
absolute core addresses. The relocation factor for any
program is the absolute core address at which the first
word of that program is found.
Relocation Indicator. The second bit in a pair of bits
in an indicator word. If the data word with which this
bit is associated is not an LIBF, CALL, or DSA name,
then it indicates whether or not to relocate the data
word. If the relocation indicator is set to 1, the word
is to be relocated. Pairs of relocation indicators indicate LIBF, CALL, or DSA names. The combinations
are 1000, 1100, and 1101, respectively.
Remark. An explanation of the use or function of a
statement or statements. A remark is a part of a
statement, whereas a comment is a separate statement.
Resident Image. The mirror-image of the Resident
Monitor minus the disk I/O subroutine. It resides on
disk and is read into core by the Cold Start Program.
Resident Monitor. The area required in core by the
Monitor system for its operation. This area is generally unavailable to the user for his own use. The Resident Monitor consists of COMMA, the Skeleton Supervisor, and one of the disk I/O subroutines, nominally
DISKZ.
Satellite Cartridge. A cartridge reSiding on a drive
other than logical drive zero. A satellite cartridge
can be either a system or a non-system cartridge.
Short Instruction. An instruction that occupies only
one core storage location.
Skeleton Supervisor. The part of the Supervisor that
is always in core and that is, essentially, the logic
necessary to process CALL DUMP, CALL EXIT, and
CALL LINK statements. Certain traps are also considered to be part of the Skeleton Supervisor.
SOCAL. (See System Overlay to be Loaded-On-Call.)
Subjob. A Monitor operation to be performed during a
job. Each subjob is initiated by a Monitor control
record such as ASM or XEQ. It may also be initiated
by a CALL LINK.
Subprogram. A synonym used mainly in FORTRAN
for both FUNCTIONs and SUBROUTINEs. This term

Glossary

157

is equivalent to subroutine when subroutine is used in
its broadest sense.
Subroutine. A subset of the set "program". In
FOR TRAN, a SUBROUTINE is a type of subprogram that
is not restricted to a single value for the result and that
is called with a CALL statement.

cartridge to be used for System Working Storage is
defined on the JOB record. System Working Storage
need not be on the system cartridge.
Transfer Vector (abbr. TV). A collection of both the
LIBF TV and the CALL TV.
TV. (See Transfer Vector. )

Supervisor Control Record Area (abbr. SCRA). The
cylinder in which the Supervisor control records are
written. The first two sectors are reserved for LOCAL
control records, the next two for NOCAL control records
and the next two for FILES control records. See the
Supervisor section for the formats of these records.
System Area. (See IBM Area. )
System Cartridge. A cartridge that contains the Monitor programs. A system cartridge may be used as
either a master or a satellite cartridge.
System Overlay to be Loaded-an-Call (abbr. SOCAL).
One of two or three overlays automatically prepared
by the Core Load Builder under certain conditions when
a core load is too large to fit into core storage. See the
section on the Core Load Builder for an explanation.
System Working Storage. The Working Storage area to
be used during a job by the Monitor programs. The

158

UA. (See User Area. )
User Area (abbr. UA). The area on the disk in which
all programs in disk system format are found. Core
image programs and data files may also be stored in
this area. All IBM -supplied programs are found here.
This area occupies as many sectors as are required
to store the programs and files residing there.
User Programs. Mainlines, subprograms, or core
loads that have been written by the user and stored in
the User/Fixed Area.
Working Storage (abbr. WS). The area on disk immediately following the last sector occupied by the User
Area. This is the only one of the three major divisions
of disk storage (IBM Area, User/Fixed Area, Working
Storage) that does not begin at a cylinder boundary.
WS.

(See Working Storage. )

INDEX

Absolute Program Origin 36
Achieving maxim.um performance of high speed devices 50
Adding subroutines 57
ADRWS 63
Altering a core location using the console entry switches 8
*ARl1HMETIC TRACE 43
II ASM 19
Assembler 35
Assembler Calling Sequence for SYSUP 70
Assembler control records 36
Assembler core map 53
Assembler error detection codes 91
Assembler error messages 92
Assembler FILE statement 23, 54
Assembler language users, tips for 51
Assembler messages 91
Assembler sample program 149
Assignment of core load origin 46
ATTENTION indicator (2501) 60
Auxiliary supervisor errors 103
Backspace

9, 60

Call system print subroutine 71
CALL TSTOP 43
CALL TSTRT 43
CALL TV 47
CALPR 71
Card core image format (CDC) 113
Card data format (CDD) 112
Card formats 111
Card operation (assembler) 35
Card subroutine errors 58, 59
Card system cold start 83
Card system format (CDS) 111
Card system initial load 74
Card system pre-load 73.
Card system reload 77
Cartridge lD 11
Change cartridge ID 62
Character code chart 105
CIB 14, 19, 46, 63
Cold start 83
Cold Start error message 83
Cold start program listing 138
COMMA 17
*COMMON 39
Compilation error messages 92
CompilatiOn messages 92
Console functions while under monitor system control
Console printer core dump 85
Console printer ready procedure 3
Console printer subroutine errors 60
Control records
Monitor 18
Supervisor 22
DUP 26
Assembler 36
FOR TR.A.N

40

9

Conversion of a mainline program (core load builder)
COpy 63
Copy (DCIP) 86, 88
Copy ID 11
CORE card 75
Core communications area 17
Core dump program 24
Core dump programs
Console printer 85
Supervisor 24
1403 Printer 85
1132 Printer 85
Core image buffer 14, 19, 46, 63
Core image buffer, deletion of 63
Core image header 46, 110
Core image loader 45, 47
Core image program dump 114
Core load builder 45
Core load builder errors 100
Core load construction 45
Core load origin, assignment of 46
Core map 20, 53
II CPRNT 22
Cross reference listing (resident lIlonitor) 139
Cylinder 0 (non-system cartridge) 15
Cylinder 0 (system cartridge) 12
Data cards 112
DCIP 85
DCOM 12
DCOM indicator words 13
DCOM listing 127
DCOM update program 70
Decimal disk addresses 117
Decreasing program execution time when using SOCALs
Defective cylinder table 11
*DEFINE 33
Define end record (MODIF) 65
Define fixed area 33
Define void assembler 34
Define void FO R TRAN 34
Defined files, use of 54
*DELETE 33,55
Delete core image buffer 63
Deleting the assembler and/or compiler 34
1/ DEND (MODIF) 65
DISC 61
Disk cartridge initialization program 85
Disk communications area 12
Disk copy program 63
Disk core image format (DCI) 110
Disk data format (DDF) 110
Disk dump 86, 88
Disk formats 109
Disk I/O subroutine 18
Disk maintenance programs 61
DISKN 18, 20, 36,46, 48, 49, 71
Disk organization 11
Disk-resident supervisor programs 18

44

49

Index

159

Disk storage unit conversion factors 115
Disk system format (DSF) 109
Disk utility program 26,.S,
DISKZ 14, 18, 20, 36, 46,48, 49, 71, 133
DISKZ listing 133
DISKI 18, 20, 36, 46, 48, 49, 71
Displaying a core location using the console entry switches
DLCIB 63
Double buffering 50
DSF program dump 114
DSLET 62
*DUMP 28
Dump (DCIP) 86, 88
DUMP entry point 17
Dump system location equivalence table 62
*DUMPDA TA 29
*DUMPFLET 30
DUMPFLET Sample 126
*DUMPLET 29
DUMPLET sample 125
DUP 20, 26, 4S
/I DUP 20
DUP control record format 28
DUP control records 26
DUP error messages 96
DUP messages 95
DUP operations 28
Duplicate data file names 55
Duplicate program names 55
*DWADR 34
DynamiC dump 24

8

EBPRT 51
/I EJECT 21, 50
End-of-program card 112
Entering programs from the keyboard under monitor system control
EOP card 112
Equivalences 137
ERASE FIELD 9, 60
Error message on sector @l IDAD 11
Error messages, MOD IF 66
Error table listing 91
EXIT entry point 17
*EXTENDED PRECISION 42
FEED check indicator (2501) 60
Fetch phase ID subroutine 71
Fetch system subroutine 71
Fetching a link (core image loader) 48
Fetching the supervisor (core image loader) 48
File map 53
*FILES 14, 23
Fixed area 15
Fixed location equivalence table 14, 26, 30, 33, 123
FLET 14. 26, 30, 33, 123
FLIPR 41, 71
// FOR 20
Format conversions (DUP) 26
Format indicator word 13
Formats 109
FORTRAN allocation addresses, locating 54
FORTRAN calling sequence for SYSUP
70
FOR TRAN compiler 40
FORTRAN control records 40

160

FORTRAN core map 53
FORTRAN DEFINE FILE statement 23, 54
FOR TRAN file map 53
FORTRAN I/O errors 44, 99
FOR TRAN I/O logical unit designations 40
FOR TRAN I/O record sizes 40
FORTRAN messages and error codes 92, 94
FORTRAN sample program 145
FSLEN 71
FSYSU 71
FX 15
Glossary 153
Grouping of mnemonics (assembler language)
Hexadecimal disk addresses
HOPR indicator (1442) 58

8

51

117

IBM -supplied system loader control cards 75
IBM system area 12
ID 62
IDENT 61
ILS 51, 52
ILS entry point 52
ILS header card 112
ILS02listing 132
ILS02 subroutine 17, 52
ILS04 listing 132
ILS04 subroutine 17, 52
IMM STOP key 9
Incorporation of subprograms in a core load 46
Information transfer (DUP) 26
Initial load, card system 74
Initial load, paper tape system 79
Initialization (DCIP) 86, 87
Initializing $$$$$ files for use with FORTRAN unformatted I/O
Initiating a new page on the prinCipal printer 19
INT REQ key 9, 18
Intermediate I/O (assembler) 51
Interrupt level subroutines 52
Interrupt request key 9, 18
Interrupt service subroutines 51
*IOCS 41
ISS 51
ISS header card 111
ISS/ILS correspondence 52
ISS names 57
ISS numbers 51
ISS subroutine WAITs 103
/ / JOB

18
Keyboard baput 44
Keyboard operation 8, 36, 60
Keyboard subroutine functions 60

Last card 58, 60
LET 14, 26, 29, 123
LET disk format 123
LET DUMP format 123
LET entries 123
LET sector header 123
*LEVEL 39
LIBF TV 47
Limitations of DISKZ 49

54

LINK entry point 17
*LIST 37
*LIST ALL 42
*LIST DECK 37
*LIST DECK E 37
List deck format 38
*LIST SOURCE PROGRAM 41
*LIST SUBPROGRAM NAMES 41
*LIST SYMBOL TABLE 42
Load mode control card 74
Load mode control tape, user-punched 79
Loading a program from cards or paper tape 8
*LOCAL 14, 22
LOCALs 46, 53
LOCAL/ SQCAL flipper 47, 71
LOCAL/SOCAL overlay 46, 71
Location equivalence table 14, 26, 29, 123
l\1ainline header card 111
Mainline programs that use all of core 55
Manual dump of the monitor system 9, 24
Master cartridge 11
Maximum number of LIBFs and CAlls in a Core load
MODE 74,80
MOmF 64
MODIF error messages 66
MODIF system reload table restriction 64
*MON 64
Monitor control record analyzer 18
Monitor control record analyzer errors 99
Monitor control records 18
Monitor programs 17
Monitor system disk areas 13
Monitor system error messages 91
Monitor system ISS names 57
Monitor system library 57
Monitor system operational messages 91
Monitor system sample programs 145
*NAME 42
*NOCAL 14, 23
Non-system cartridge

15

One-pass mode (assembler) 35
*ONE WORD INTEGERS 42
Operating notes (FORTRAN) 43
Operator procedures, 1442 errors 58
Operator procedures, 2501 errors 60
Optional tracing (FORTRAN) 43
Origin of mainline 36
*OVERFLOW SECTORS 39
Page heading 12, 42
Paper tape formats 113
Paper tape IDs 79
Paper tape not-ready WAITs (PTUTI.) 68
Paper tape operation (assembler) 36
Paper tape reproducing program 89
Paper tape subroutines (error procedures) 60
Paper tape system cold start 83
Paper tape system initial load 79
Paper tape system reload 81

45

Paper tape utility (PTUTI.) 67, 89
Patch control records (MODIF) 64
/1 PADS 21
Phase identification card 75
PHID card 75
Postoperative error traps 17
Pre-load, card system 73
Preoperative error trap 17, 36
Preoperative errors 57
Print cartridge ID 61
Print data format (PRD) 113
Print format 113
*PRlNT SYMBOL TABLE 38
Printer core dump 85
Processing defined files (core load builder) 46
Processing the contents of the SCRA 45
Program header record 109
Program loading 8
Program phase sector break cards 77, 112
PROGRAM STOP key 9, 18
PROGRAM STOP key trap 18
Program subtypes 109
Program types 110
Programming tips and techniques 49
PTUTL 67, 89
PTUTI. console entry switch options 69
PTUTL operating procedures 67
PUNCH indicator (1442) 59
PUNCH STA indicator (1442) 58
*PUNCH SYMBOL TABLE 38
Punch symbol table option 35
Quintuple (DCOM table)

13, 19

RDREC 71
READ CHECK indicator (2501) 60
Read *ID record 71
READ REG indicator (1442) 59
READ STA indicator (1442) 59
Reading the console entry switches under user program control
Reading a core map 53
Reading a file map 53
Readying the 1130 3
Readying the 1130 system I/O
console printer 3
single disk storage 3
1442-6, -7 3
1442-5 4
2501 4
1134 4
1055 4
1132 5
1231 7
1403 6
1627 7
2310 6
Reconfiguring a system cartridge 77, 81
Re-entry (keyboard) 9, 60
Reload table 12, 64
Relocatable program origin 36
Removing subroutines 57
Reproducing program, paper tape
89

8

Index

161

REQ 74
Resident image 12, 128
Resident image listing 128
Resident monitor 17
Resident monitor listing 127, 128
Restrictions on DUP operations in temporary mode 13
Restrictions on keyboardlpaper tape assembler input 36
Restrictions on subroutines in SOCALs 49
Rules for LOCAL and NOCAL usage 23
Sample programs 145
Satellite cartridge 11, 15
Satellite disk initialization program 61
*SAVE SYMBOL TABLE 39
SCON card 75, 80
SCRA 14, 18, 20, 44
Sector break cards 77, 112
Sector @l IDAD (0) of any cartridge 11
Single disk storage ready procedure 3
Skeleton supervisor 17
SLET 12, 143
SLET listing 143
SOCAL options 47
SOCALs 46, 47., 49, 53
Stand-alone paper tape utility program (PTUTL) 89
Stand-alone utility programs 8S
*STORE 30,5S
*STORECI 31
*STOREDATA 30
*STOREDATACI 31
*STOREMOD 32
*SUB 65
Subprogram header card 111
Summary of DUP data transfer operations 27
Supervsior 17, 4S
Supervisor control record area 14, 18, 20
Supervisor control records 22
Supervisor core dump program 24
Supervisor messages and error codes 99
Symbol table overflow 35, 39
Symbol table size 35
System area 12
System cartridge 11, 12
System configuration cards. 74
System configuration tape, user-punched 79
System control record program errors 100
System device subroutine area 13
Syst~m familiarization
3
System generation 73
System ISS names 57
System library 57
System library listing 119
System library mainline programs 61
System library maintenance 65
System library maintenance control record (MODIF) 65
System library subroutines 57
System library utility subroutines 70
System loader control cards
User-supplied 74
IBM-supplied 75
System loader control records 79
System loader errors 98

162

System loader messages 97
System location equivalence table 12
System location equivalence table listing
System ~aintenance program 64
System overlays (SOCALs) 46', 47
System program maintenance 64
System reload 73
System reload, card system 77
System reload, paper tape system 81
*SYSTEM SYMBOL TABLE 39
System working storage 19
SYSUP 13, 50, 70, 100
SYSUP errors 100

143

Table of equivalences 137
Temporary mode 49
Temporary mode indicator 19
Temporary mode indicator word 13
II TEND 21
TERM card 7S, 80
Terminal dump 24
TRANS indicator (1442) 58
Transfer vector 47
*TRANSFER TRACE 43
*TWO PASS MODE 37
Two-pass mode (assembler) 35, 37
II TYP 8, 21
Type 81 card 75
UA 14
Unformatted disk I/O record size 40
Unformatted I/O disk buffer area 19. 40, 54
Use of defined files 54
Use of SOCALs 49
User area 14
User-punched load mode control tape 79
User-punched system configuration tape 79
User-punched system loader control cards 74
Using the disk I/O subroutines 49
Using the 1130 with the monitor system 8
Utility programs, stand-alone 85
Utility subroutines, system library 70
Working storage area 15, 19, 46
Working storage indicator word 13
Write sector addresses in working storage
Writing addresses in working storage 34
Writing ISS 51
Writing ILS 51
WS 15, 19,46

63

II XEQ 20
ZlPCO

51

1055 Paper tape punch ready procedure 4
1130 system familiarization 3
1132 printer core dump 85
1132 printer ready procedure 5
1134 paper tape ready procedure 4
1231 optical mark page reader ready procedure
1403 conversion subroutines 51

7

1403 printer core dump 85
1403 printer ready procedure 6
1442 card punch ready procedure 4
1442 card reader ready procedure 3
1442 card subroutine errors 58
1442 errors and operator procedures 58
1627 plotter ready procedures 7

2310 disk storage ready procedure 6
2501 card reader, achieving maximum speed SO
2501 card reader ready procedure 4
2501 card subroutine errors 59
I/b records read during execution of a FORTRAN program
1/ *( comments) 21
**(Header information) 42
$$$$$ disk area 19, 54

40

Index

163

READER'S COMMENT FORM
Form C26-3717-1

IBM 1130 Disk Monitor' System, Version 2,
Programming and Operator's Guide

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

• Does this publication meet your needs?
• Did you find the material:
Easy to read and understand?
Organized for convenient use?
Complete?
Well illustrated?
Written for your technical level?

Yes

No

D

o

D
D
D
D
D

o
o

o

o
o

• \Vhat is your occupation? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
• How do you use this publication?
As an introduction to the subject?
For advanced knowledge of the subject?
For information about operating procedures?

D
D
D

As an instructor in a class? 0
As a student in a class?
D
As a reference manual?
D

Other ________________________________________________________________
• Please give specific page and line references with your comments when appropriate.

COMMENTS

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

C26-3717-1

YOUR COMMENTS PLEASE •••
This SRL bulletin is one of a series which serves as reference sources for systems analysts,
programmers and operators of IBM systems. Your answers to the questions on the back of this
form, together with your comments, will help us produce better publications for your use. Each
reply will be carefully reviewed by the persons responsible for writing and publishing this
material. All comments and suggestions become the property of IBM.
Please note: Requests for copies of publications and for assistance in utilizing your IBM system should be directed to your IBM representative or to the IBM sales office serving your
locality.

Fold

Fold

...... --..................................................................................................................:
FIRST CLASS
PERMIT NO. 1359
WHITE PLAINS" N.Y.

BUSINESS

REPLY

MAIL

NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES

POSTAGE Will BE PAID BY ...

IBM Corporation
112 East Post Road
White Plains, N. Y. 10601

....
....
w
o

Attention: Department 813

•

•

•

.

e• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • :

Fold

Fold

n
N
0\
I

W

....

';I

';I

...
I

•
International Business Machines Corporation
Data Processing Division
112 East Past Road, White Plains, N. Y. 10601
(USA.Dnlyj
IBM World Trade Corporation
821 United Nations Plaza, New York, New York 10017
(In terna tionall

C26-3717-1

.>
()
N

0\
I
W

"I
."I
J

.-

International Business Machines Corporation
Data Processing Division
112 East Post Road, White Plains, N.Y.l060t
[USA Only]
IBM World Trade CorpDration
821 United Nations Plaza, New York, New York 10017
[International]



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                     : 2012:08:26 10:55:13-08:00
Modify Date                     : 2012:08:26 10:59:52-07:00
Metadata Date                   : 2012:08:26 10:59:52-07:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:934ac111-48ce-4a90-aa63-844af8dd5b77
Instance ID                     : uuid:8df949cd-ca9c-4e45-9b42-fc2186dbc7b4
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 169
EXIF Metadata provided by EXIF.tools

Navigation menu