SC34 0313 2_EDX_Utilities_Operator_Commands_Program_Preparation_Messages_and_Codes_Apr80 2 EDX Utilities Operator Commands Program Preparation Messages And Codes Apr80

SC34-0313-2_EDX_Utilities_Operator_Commands_Program_Preparation_Messages_and_Codes_Apr80 SC34-0313-2_EDX_Utilities_Operator_Commands_Program_Preparation_Messages_and_Codes_Apr80

User Manual: SC34-0313-2_EDX_Utilities_Operator_Commands_Program_Preparation_Messages_and_Codes_Apr80

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

DownloadSC34-0313-2_EDX_Utilities_Operator_Commands_Program_Preparation_Messages_and_Codes_Apr80 SC34-0313-2 EDX Utilities Operator Commands Program Preparation Messages And Codes Apr80
Open PDF In BrowserView PDF
------ -------- -----_ .-----

Series/1

LICENSED
PROGRAM

SC34-0313-2
File No. S1-32

IBM Series/1
Event Driven Executive
Utilities, Operator Commands, Program
Preparation, Messages and Codes
Program Numbers: 5719-LM5
5719-UT3
5719-XS1
5719-XX2
5740-LM2

5719-LM6
5719-UT4
5719-XS2
5719-XX3
5740-LM3

5719-AM3

------- ------- ------_.-----

Series/1

SC34-0313-2

LICENSED
PROGRAM

File No. S1-32

IBM Series/1
Event Driven Executive
Utilities, Operator Commands, Program
Preparation, Messages and Codes
Program Numbers: 5719-LM5
5719-UT3
5719-XS1
5719-XX2
5740-LM2

o

5719-LM6
5719-UT4
5719-XS2
5719-XX3
5740-LM3

5719-AM3

o

Use this publication only for the purpose stated.
Changes are periodically made to the information herein;
before us i ng th i s p~bl i cat ion in connect 10n wi th the operat ion
of IBM systems, refer to the latest IBM Ser i es/I ~rapb i c
Qibli09raphy, GA34-00SS, for the editions that are ap~licable
and current.
It is possible that this
i nformat i on about,
IBM
programming, or services
try. Such references or
mean that IBM intends to
ming, or services in your

material may contain reference to, or
products (mach i nes and programs),
which are not announced in your couninformation must not be construed to
announce such IBM products, programcountry.

Publications are not stocked at the address given below.
Requests for copies of IBM publications should be made to YQur
IBM representat i ve or the IBM branch off i ce serv i ng your locality.
Thi~
publication could contain technical inaccuraci~$ or
typographical errors. A form for reader's comments is provided
at the back of this publication. If the form has been removed,
address your comments to IBM CorporatiQn, Systems Publications, Department 27T, P.O. Box 1328, Boca Raton, Florida
33432. IBM may use and distribute any of the information you
supply in any way it believes appropriate without incurring ~ny
obligation whatever. You may, of C9urse, continue to use the
1n fo r rna t ion yo u 5 up ply •

(C)·Copyright IBM Corporation 1979,1980

c

c
SUMMARY OF AMENDMENTS

Operator Commands
The following operator commands have been modified to
include support for the IBM Series/l 4969 Magnetic Tape
Subsystem:
•

$C

•

$VARYOFF

•

$VARYON

Session Manager

CI

The following changes have been made to the Session Manager
for the
Event Driven
'Executive Version
2
(S719-UT4):

•

$Pl/I (Option 10) has been added
Preparation s~condary option menu
Pl/I compiler.

•

Option 3 "Disk Utilities" of the primary option menu
has been changed to "Data Management".

•

$TAPEUTI (Option 10) has been added to the "Data
Management" secondary option menu to support tape
management.

to the Program
to support the

$TAPEUTI Utility
This new utility is described in Chapter 4.
The tape
READ/WRITE return codes are described in Chapter 6.

o
SC34-0313

iii

$PREFIND Utility
This utility has been updated to
locating tape data sets.

include support

for

$JOBUTIl - Jok Stream Processor
This utility
compiler.

has

Suaaested Utjlity

been updated

Fun~tion

to

support

the

PL/I

Table

This table has been expanded to include all the utiJitv
programs within this book for easy reference to their
functions and commands.

Glossary
New terms have been added to the glossary.

Reorganization
The book has been reorganized.
It is now divided into
six chapters with an introduction for each chapter.
Chapter 4 presents the utilities in alphabetic order.

c
iv

SC34-0313

'~

. )
C

Subject tabs have been added to the upper outside corners of Chapters I through 6 of the book.

Bibliography
The Bibliography lists the books in the Event Driven
Executive library and a recommended reading sequence.
Other publications related to the Event Driven Executive
are also listed.

Mjscellaneous Changes

c

This manual has
and to improve
tional material
vertical bars in

been modified to include new function
technical accuracy and clarity. Addiand technical changes are .indicated by
the left margin.

o
SC34-0313

v

HOW TO USE THIS BOOK

The material in this section is a guide to using this book. It
defines the purpose, audience, and content of the book as well
as 1 i st i ng aids for us i ng the book and background mater i a Is.

PURPOSE

The purpose of this publication is to describe how to use the
following:
The operator commands to perform var i ous
functions

system

control

The Session Manager to directly invoke utilities
The Batch Job Stream Proce~sor ($JOBUTIL) to invoke predefined sequences of utilities
The data management, terminal, graphics, text
program preparation, and diagnostic utilities

editing,

The messages and codes issued when using the Event Driven
Executive

AUDIENCE

Th is manua 1 is intended for use by:
•

System programmers to aid in generating a system to meet
the requ i rements of the i nsta llat ion

•

Application programmers to prepare and execute application
programs

•

Operators to run the system,

vi

SC34-0313

o

HOW THIS BOOK IS ORGANIZED
This book contains six chapters:
"Chapter 1. Overv i ew" prov i des an overv i ew of the contents
of the book.
"Chapter 2. Operator Commands" descr i bes the operator commands and how to use them.
"Chapter 3. Session Manager" describes the method used to
interactively access programs from a set of predefined
menus and assoc i ated procedures.
"Chapter 4. Utilities" describes the utilities and how to
use them. This chapter contains a table which cross references the ,utilities. It shows the utility and command to
use to perform the des ired funct ion.
"Chapter 5. App 1 i cat i on Program Preparat ion" descr i bes the
program preparat ion ut iii ties and how to use them.
"Chapter 6. Messages and Codes" describes the messages and
codes issu~d by the Event Driven Executive and explains
their meaning.

AlPS IN USING THIS PUBLICATION
Illustrations in this book are enclosed in boxes. Many illustrations display output formats printed while using the Event
Driven Executive system. In those cases where the actual printer output exceeds the size of the box, the i nformat i on is
i 11 ustrated ina compressed format.
Severa 1 other aids are prov i ded to ass i st you in
book:

us i ng

th i s

•

A Summary of Amendments 1 i sts the sign if i cant changes made
to this publication since the last edition

•

A Bibliography:
Lists the books in the Event Driven Executive library
along with a brief description of each book and a
recommended reading sequence
Lists related publications and materials

o

•

A Glossary def i nes terms

SC34-0313

vii

•

A Common Index wh i ch inc 1 udes entr i es from each book in the
Event Driven Executive library

Related Publ;cat;ons
Re Iated pub 1 i cat ions are 1 i sted in the Bib 1 i ography.

SUBMITTING AN APAR
If you have a problem with the Series/l Event Driven Executive
services, you are encouraged to fill out an authorized program
analysis report (APAR) form as described in the IBM Series/l
Author i zed Program Ana lys i s Report (APAR)
User's
Gu i de,
GC34-0099.

c
vii i

SC34-0313

CONTENTS

CI
Chapter 1. Overview

1
1

Operator Commands
Sess i on Manager
Uti lities
Messages and Codes
• • • •
• •••
Hardcopy Function for the 4978/4979 Display

2

2
7
7

Chapter 2. The Operator Commands

9

Invok i ng the operator commands
Entering command parameters
Operator Commands
••••••
$A - List Act i ve Programs
$8 - Blank Display Screen
$C - Cancel Program
••••
$CP - Change Terminal's Partition Assignment
$0 - Dump Storage
••••
• ••••
$E - Ej ect Pr inter
$L - Load Program
$P - Patch Storage
$T - Set Date and Time
$VARVOFF - Set Device Offline
$VARVON - Set Dev ice Onl i ne
$W - Display Date and Time

Chapter 3. The Sessi on Manager
Invoking the Session Manager
Session Manager Program Function Keys
Automatic Data Set Allocation/Deletion
Session Mana~er Menus
Pr i mary Opt i on Menu
Secondary Option Menus
Menu Option Combinations
Ut i I i ties Not Supported by Sess i on Manager Menus

....

o

9

10
11
11

12
13
14
15
16

17
18
19
20
22

25
27
27
28

29
33

35
36

46
46

Chapter 4. The utilities

47

Invoking the Utilities
Suggested Ut i I i ty Usage Table
$COMPRES - Compress Library
$COPV - Copy Data Set
••••
$COPV Commands
••••••
$COPVUTl - COpy Data Set with Allocation
$COPVUTl Commands
•••••••••••
$DASDI - Format Disk or Diskette
••••
• •••
Option 1 - 4964,4966 Diskette Initialization
Option 2 - 4962 Disk Initialization
Option 3 - 4963 Disk Initialization
$DEBUG - Debugg i n9 Too 1
•••••
Debug Usage Considerations
Start and Termination Procedure
$DEBUG Commands
••••••
$DEBUG Command Descriptions

47
48

..

Contents

57
59
59
64
64

68
68
73
78
82
83

85

86
90
i x

... ....

Tips and Techniques
$DICOMP - Display Composer
Invoking $DICOMP
$DICOMP Commands
Composer Subcommands
$DIINTR - Display Interpreter
Us i ng $DIINTR from an App I i cat i on Program
3D Concepts as used by $OIINTR
•••••••••••
$DISKUT1 - Allocate/Delete; List Di rectory Data
$DISKUT1 Commands
••
$DISKUT2 - Patch, Dump or Clear Member
$DISKUT2 Commands
•
$DIUTIL - Display Data Base Utility
Invok i ng $DIUTI L
•
$DIUTI L Commands
•
$DUMP - Format and Display Saved Envi ronment
Invok i ng $OUMP
••••••
$EDIT1 and $EDIT1N - Line Ed i tors
Data Set Requ i rements
Sequence of Operat ions
Special Control Keys
Ed i tor Commands
Ed it Mode Subcommands
Line Editing Commands
••••.
• •••
$FONT - Process 4978 Character Image Tables
••••
$FONT Commands
•
Edit Mode
••••••••
• •••
$FSEDIT - Full Screen Editor
Data Set Requ i remen'ts
••••••••••
Scrolling
Program Funct i on Keys
••••••
• •••
$FSEDIT Opt ions and Command Summary
•••••
Pr i mary Opt i on Nenu
••••
• •••••••••
Pr i mary Commands
•••••••••••••••
Ed it Line Commands
•••••
$ IAMUT1 - Bu i ld and Ma i ntea in Indexed Data Set
$IAMUT1 Commands
Bu i ld i ng an Indexed Data Set
o.
Determining Data Set Size and Format
$IMAGE - Define 4978/4979 Formatted Screen Image
$I~1AGE Commands
••••••
Edit Mode
•••••••••••••••
$INITDSK - Initialize or Verify Volume
$INITDSK Commands
•••
Initialization
Verification
$IOTEST - Test Sensor I/O; List Configuration
Invoking $IOTEST
$ lOT EST Commands
$JOBUTI L - Job Stream Processor
Setup Procedure
$JOBUTIL Commands
Batch Job Example
$LOG - Log I/O Errors into Data Set
Log Data Set
0

0

0

•••

0

•

0

•

135

135
142

143

0

0

• • • • • •

150

0

0

•

151

••

0

0

0

0

••••

•

0

•

0

••

0

••••

0

0

0

0

0

••

•

0

0

• • • • • • •

'0

0

•

0

• • • •

........
.............
. . . . . . . . . . . '. . . .

SC34-0313

129

• • • • • • •

0

x

127
127

0

• • • • • •

0

103
105
105
105
109

...

150

163
163

169
169

170
172

173
182

203
205
205

206
209
209

210
211
212

213
218
226
235
235
247
247

250
250
255

256
256
257
260
263

263
264
271
271

272
290
292
292

c

Invoking $LOG
••••••••••••••••
$MOVEVOL - Disk Volume Dump/Restore
Diskette Usage
••••••••••••
Data Set Spec i f i cat ion
•••••••••••
Dump Procedure
•••••••••
Restoration Procedure
$PFMAP - Ident i fy 4978 Program Funct i on Keys
$PREF IND - Pref i nd Data Sets and Over lays
Program Load Process Overview
••
$PREFIND Usage Cautions
$PREFIND Commands
Invoking $PREFIND
$TAPEUT1 - Tape Management
$TAPEUT1 Commands
$TERMUTI - Change Terminal Parameters
$TERMUTI Commands
$TERNUT2 - Process 4974/4978 Image/Control store
4978 Support
•••••
4974 Support
•••••
Data Set Names
• • • •
• •••
$TERMUT2 Commands
•••••••••••
$TERNUT3 - Send Message to a Terminal
$TRAP - Save Storage on Error Cond i t ion

..
.....

292
294
294
295
296
299
301
302
302
303
304
305
311
312
334
334
339
339
340
340
340
344
348

Chapter 5. Application Program Preparation

351

Enter i ng Source Statements
••••
Program Assemb I y/Comp i lat i on
••••••••
Linkage Editor
••••••••
Object Module Conversion
Prefind of Data Sets and Overlays
Summary
••••••••• , ••••
$EDXASM - Event Dr i ven Language Comp i ler
Language Control Data Set
•••••
Requ i red Data Sets
••••••
Camp i ler Opt ions
•••••
$EDXASM Output
••••••
Compiler Features Supported
Programming Considerations
I n v 0 kin g $ EDX AS M
•••••
• • • •
$EDXLIST - Comp i ler List i ng Program
$S1ASM - Ser i es/l Assembler
••••••••••••
Requ i red Data Sets
••
Invok i ng $S1ASM
•••••••
• ••••
Host Assembler
•••••••
• ••
Invok i ng the Host Assembler
•• "
••••
Transferring the Object Module to Series/l
EDXLIST - Host List i n9 Formatter
Program Opt ions
• • • •
• •••••••
$LINK - Linkage Editor
••
• • • •
• •••
Combining Modules
• • • •
• •••
Multiple Con'frol Sections
••••
Formatting Modules for $UPOATE
••••••••••
Elimination of Duplicate Contral Sections
Automatic Inclusion (Autocall)
••••
Storage Map

351
352
353
353
353
354
356
357
357
358
359
361
361
368
370
372
372

....

o

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

Contents

373
382

382
383
383
385
390

392
392
392
393
393

393
xi

..

Bu i Id i ng an Event Dr i ven Execut i ve Superv i sar
The Link Ed i t Process
••••
.. .
Input to $LINK
••••
Data Sets Used by $LINK
..
AutocallOption
• • • • .. • • •
• •••
Output from $LINK
.................. .
Invoking $LINK
• • • • ••
• ••
• ... .
Object Module Record Format
• • • • • • • • • Ii • • • • •
·$UPDATE - Object Program Converter
............. .
$UPDATE Commands
• • • • •
• •
Invok i ng $UPDATE
.............. .
Creat i ng a Superv i sor
••••
• . • • • • ,. •
••••••••
$UPDATEH - Object Program Converter (Host)
$UPDATEH Commands
••••••••••
• .. • •
.4o.

· . ...

...

..

-

. ..

.

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

Chapter 6. Messages and Codes
..
System Operation Messages
..
IPL Operat i on
••••
..
• • •
Volume Initialization
• •
Tape Initialization
., ..
Storage Map Generation
.,.
Load Ut i I i ty Locat i on
Sensor I/O Status Check
Date and Time Printing
••••••
• •••
Pr'ogram load Message
•••••••
Error Messages
••••••••••
• ....... .
Program Check Errpr Message
.......... .
System Program Check Error Message
• • •
• •
Processor Status t~ord (PSW)
•••
• ...... .
$DUMP Error Messages
•••••••••
$lOG Error Message
• • ••
• ...... .
$RMU Error Messages
•• . ; . .
• ••••••••
$TRAP Error Nessages
• • • •
.. • • •
Utility Completion Codes
............. .
$EDXASM Comp let i on Codes
.......... .
$IAMUTI Completion Codes
• • • • • • ••
• ••••
$JOBUTIL Completion Codes
• .. • • • • • •
• ...
$LINK Completion Codes
• • • •
• •••
$UPDATE Comp let i on Codes
••••
• ...... .
Event Dr i ven language and Funct t on Return Codes
.. .
$DISKUT3 Return Codes
............. .
• • • • •
• . . . . . . . . . ..
$PDS Return Codes
..
BSC Return Codes
••••
Data Formatt i ng Return Codes
..
EXIO Return Codes
•••••
.;
Float i n9 Po i nt Return Codes
..
Formatted Screen Image Return Codes
..
..
..
I n d e xed Ace e s s ~1 e tho d Ret urn Cod e s
••
LOAD Return Codes
•••••••••••
Multiple Terminal Manager Return Codes
. . . . . . . . . ..
READ/~JRITE Return Codes
• • • • • .;
•••••••••
S8IO (Sensor-based I/O) Return Codes
........... .
Terminal I/O Return Codes
................ .
Terminal I/O - ACCA Return Codes
•• " • • • •
Terminal I/O - Interprocessor Communications Return

...

.

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

xii

SC34-0313

394

394
396
400
401
403
405
407
408
408
414
417
418
418

421
421
421
422
423
423
424
424

I

I •.

425

425
427·
427
429
430
431
432
433

435
436
436
437
439
440
443
444
444
445
446
447
448
450
450

451
452
453
454
457

4Sa
459

c

c

Codes

• • • • • • • • • • • • • • • .• • • • • • • • • • • •

Terminal I/O - Virtual Terminal Communications Return
Codes
••••
• • • • •
• ••••
TP Return Codes
•••••••••
Bi bl; ogl'aphy

•••••

• •

461

463

467

• •

Event Dr i ven Execut i ve Library Summary
Event Driven Executive Library
Sum hi a r y 0 1= Lib r ar y
•••••••••
• • • • •
Read i ng Sequence
••••••••••
• •••
Other Event Driven Executive Programming Publications
Other Series/l Programming Publications
Other Programming Publications
Series/1 System library Publicatidns

......
.. ...........
.. . .. . . . .
Gloss."y
Common Index
...
...... ......
~

(

460

467
467
468
470
471
471
472
472

475
487

""'\

j

c
Contents

xiii

()
xiv

SC34-0313

LI~T

QE

EIGUf!§~

C;
Figure
F=igure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
FigurE!
Figure
Figure
Figure

C)

·· · ·
· · · ·· · ·· · ·
····
·
·
. · · ·· ·· ·· ·· ·· ·· · · · ·
···· •
····
······

1 • Sess i on Manager logon menu
2. $SMALLOC contents
3. Data sets created by the Sess i on Manager
4. $SMDELET contents
S. Menu se lect i on hierarchy
6 • Primary option menu
7. Program preparat i On ut i I i ties opt i on menu
8. $EDXASM parameter select i on menu
9. Data management opt i on menu
10. Terminal utilities option menu
11 • Graphics utilities option menu
12. Communications utilities option menu
13. Diagnostic aids uti lities option menu
14. $TRAp parameter selection menu
15. $DUMP parameter se lect i on menu
16 • $LOG parameter selection menu
17. X,V Coordinate Grid and Viewing Area
18. X,y,Z C()ordinate Grid and Viewing Area
19 • Viewing Area in 3D Node.
20. $EDITl/$EDITlN Commands and Subcommands
21. $MOVEVOL parameter input menu
22. EVE!nt Dr i ven Execut i ve program preparat ion
23. Programming with a linkage editor

·· ·
······

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

27
30
31
32
34
35
37

38
39
41
41
43
44

44
4S
45
110
111
132
171
295
355
391

c
List of Figures

xv

xvi

SC34-0313

Ovel"v;ew

0 ·,
I

1

,,)'

CHAPTER 1. OVERVIEW

The following Event Driven Executive
described in this book:

system

components

and

provide

are

•

Operator commands to invoke programs
system contro I funct ions

other

•

A sess i on manager to invoke the ut iii ties from opt i on menus
Data management utilities to maintain disk, diskette, and
tape data

•

Di agnost i c ut iii ties
debugging

•

Graphics utilities to define, display, and maintain graphi c data

•

Terminal utilities to define and modify terminal control
information

•

Text editing utilities to enter and edit source data

•

to

aid

in

hardware

and

software

Program preparation utilities for system and application
development

progra~

•

Messages and codes to aid you in operat i on of the system

Each of these components is discussed later in
detail. A brief description of each follows.

the

book

in

OPERATOR COMMANDS
Twelve operator commands provide functions you can perform at
your terminal. Commands that require parameters prompt you for
them. Commands are accessed via the ATTN key of the 4978 or 4979
display term)nals or the ESC or ALT MODE key on teletypewriter
terminals.
The operator commands and the funct ions they perform are:

c

SA

Display loaded program names Clnd locations

$B

Blank a 4978/4979 screen

Chapter 1. Overview

1

( Overview

I

$C

Cancel a program

$CP

Change a terminal's partition assignment

$D

Dump storage

$E

Eject pr inter page

$L

Load a program

$P

Patch storage

$T

Enter the date and time

$VARYOFF

Set a dev i ce offl i ne

$VARYON

Set a dev j ce onl i ne

$W

Dis pia y the d ate and tim e

((.-~
~-y

SESSION MANAGER

The session manager is a menu-driven interface used to access
both system functions and your applications through a set of
predefined full screen menus and their associated procedures.
See "Chapter 3. The Session Manager" on page 27 for a detailed
descr i pt i on on the sess i on manager.

UTILITIES
The utilities are a set of programs that provide productivity
aids for Series/l application program development and system
maintenance.
To aid yo u i n us i n g the s e uti lit i e s, the E v en t Dr j ve n E x e cut j v e
system provides three ways to invoke the utility programs from
a term; nal:
•

The sess i on manager

•

The job stream processor ut i I i ty ($JOBUTI L)

•

$L command

2

SC34-0313

c

Overview

Most utility programs are used interactively from a terminal.
After a utility program is invoked, you can list its defined
operations and command by entering a question mark in response
to the' COMMAND (?):' prompt.
In Chapter 4, the utility programs are presented in alphabetic
order along with examples of their usage.
The session manager groups the utility programs by function.
The following represents the functional groupings of the utilities along with the operations they perform.

Text Editing Utilities
The text editing utilities provide facilities for entering and
ed it i ng source programs as fo llows:

()

SEDITl

Ali ne ed i tor that uses host data sets

$EDITlN

A line ed i tor that uses Ser i es/l data sets

$FSEDIT

A full screen editor that uses Series/lor host data
sets

Program Preparation Utilities
The program preparation utilities aid in:

o

$COBOl

Compiling COBOL programs

$EDXASM

Compiling Event Driven language programs

$EDXlIST

Reformatting 6EbxASM listings

$FORT

Comp iIi ng FORTRAN programs

$lINK

link ed it i ng more that one program together

$PL/I

Compiling Pl/I programs

$ PRE FIND

Pre fin din g d a t a set san d
program load i ng time·

$SlASM

Assembling Series/l assembler language programs

0

ve r I a y pro g ram s to s h 0 r ten

Chapter 1. Overview

3

["overView

I

$UPDATE

Converting an object program into an executable load
module

$UPDATEH

Converting a hqst object program into an executable
load module

Data Management utilities
The data management utilities aid in:

I
I

$COMPRES

Compressing disk or diskette libraries

$COPY

Copying disk or diskette data sets or volumes

$COPYUTl

Copying
data
sets
and
volumes
with
allocation of the recei ving data sets

$DASDI

Initializing, formatting, and
diskettes

$DISKUTl

Allocating and deleting data sets; listing di rectory
data

$DISKUT2

Patch i ng and dump i ng data sets; list j ng
log data set

$DISKUT3

Performi ng data management funct i cns from another
program. $DISKUT3 is descr i bed in the System Gu j de.

$IAMUTl

Building and maintaining Indexed Access Method data
sets

$INITDSK

Initializing and verifying a direct access storage
volume for use with the Event Driven Executive

$MOVEVOL

Transferring volumes of data between systems
creat i ng backup cop i es of an anI i ne data base

$PDS

Organizing and accessing partitioned data sets from
another program. $PDS is described in the System
Guide.

$TAPEUTl

Allocating tape data sets, copying data sets or volumes from disk or diskette to tape, from tape to disk
or diskette, or from tape to tape, and changing tape
attributes.

4

SC34-0313

verifying

dynamic
disks

the

or

error

and

c

o

Overv;ew
Terminal Utilities
The terminal utilities aid in:

$FONT

Creat i ng and mod i fyi ng character i mage
your display terminal

$IMAGE

Defining formatted screen images

$ P FMA P

Dis p I a yin g pro g ram fun c t ion key ass i g n men t s

$TERMUTl

Altering logical device names, address assignments,
or terminal configurations

$TERMUT2

Defining routines and changing key definitions on
the 4978 keyboard. Restor i ng the 4974 pr inter to the
standard character set.

$TERI"'UT3

Send i ng messages from one termi nal to another

tables

for

The Multiple Terminal Manager utility programs are documented
in the Communications and Terminal Applications Guide.

Graphics Utilities
Under the direction of a display
utilities aid in:

processor,

three

graphics

$DICOMP

Generating and modifying displays using
composer

$DIINTR

Us i ng an interpreter to display and process the data
base

$DIUTIl

Maintaining the resulting data base

an

online

Communications utilities
The communications utilities aid in:

$BSCTRCE Tracing the I/O activities on a given binary synchro-

c

nous communications line

Chapter 1. Overview

5

Overview I
$BSCUTl

Formatt i ng binary synchronous trace files to either a
printer or a terminal

$BSCUT2

Exercisin9 BSCAM capabilities

$RJE2780 Simulating a 2780 RJE interface
$RJE3780 Simulating a 3780 RJE interface
$PRT2780 Pr i nt i ng spool records produced by $RJE2780
$PRT3780 Printing spool records produced by $RJE3780

Interact i ng wi th the Host Commun i cat ions Fac i 1 i ty

$HCFUTl

The
communcations
utilities
are
documented
Communications and Terminal Applications Guide.

in

the

Diagnostic Utilities
The diagnostic utilities aid in:
$DEBUG

Debugging programs

$DUMP

Formatting and displaying the data saved by $TRAP on an
error condition

SIOTEST Performing the following functions:

•

Test i ng the ope rat i on of sensor based I/O features

•

List i ng the hardware conf i gurat i on of the Ser i es/l

•

List i ng the dev ices supported by the system

•

Listing volume information

SLOG

Logg i ng I/O errors into a data set

STRAP

Intercept i ng certa inc lass interrupts and record i ng
the env ironment on a disk or diskette data set

o
6

SC34-0313

o

-I

Overvi ew

MESSAGES AND CODES
Whi Ie using the Event Dri ven Executi ve,
you may encounter
return codes, complet i on codes, and messages. They are found in
Chapter 6. Messages and Codes.

HARDCOPY FUNCTION FOR THE 4978/4979 DISPLAY
Press i ng the PF6 key or the ass i gned hardcopy key on the
4978/4979 keyboard causes the entire display (24 lines) to be
transferred to the designated hardcopy device. (During system
generation, the TERMINAL statement is used to define the hardcopy device.) I f the hardcopy device has not been defined or is
current I y busy with another operat ion, then no act ion is taken.
Otherwi se, the screen cursor moves to each line as
i t 'i s
printed, returning to its original position after the page is
printed. The hardcopy function should not be activated while
the screen is be i ng changed.

o
Chapter 1. Overview

7

I

Operator Commands

/'

"\

\'c;!

,· J '
C
8

SC34-0313

Operator Commands

o

CHAPTER 2. THE OPERATOR COMMANDS

Twelve operator commands provide system control functions you
can perform at your terminal. The operator commands begin with
the character $ and are directed to the supervisor. (The commands directed to the various utilities are described in
"Chapter 4, The Utilities" on page 47 for each utility).
Commands that requ ire parameters will prompt you for them.
The operator commands and the funct ions they perform are:

SA

Dis pIa y loa d e d pro g ram n a me san d 1 0 cat ion s

$B

Blank a 4978/4979 screen

$C

Cancel a program

$CP

Change a terminal's par'tition number

$D

Dump storage

$E

Eject pr inter page

$L

Load a program

$P

Patch storage

$T

Enter the date and time

",J'~)

(

..,..Y

$VARYOFF Set a device offline
$VARYON

Set a device online

$W

Display the date and time

INVOKING THE OPERATOR COMMANDS
To invoke the operation commands, press the ATTN key on the
4978 or 4979 (designated attention key on the teletypewriter
terminal). Then enter the desired command in response to the
prompt i ng message> from the superv i sor.

o

~: If the system includes more than 64K bytes of
storage,
,the $A, $C, $0. $L. and $P functions operate only within the
storage part it i on ass i gned to the term ina 1.

Chapter 2. The Operator Commands

9

f

Operator Commands

(' . J
--~

ENTERING COMMAND PARAMETERS
Vouare prompted for required parameter information, for exa~­
pIe, the storage addresses to be displayed by $D or the name of
the program to be loaded by $L.
Note: In the syntax definitions in this chapter, the required
fields need not be entered on the same line as the command.
An alternate method for entering the operator commands is the
sing Ie 1 i ne format. Th is format a llows you to enter success i ve
fie l·d s, s epa rat e d by b 1 an k s, a s a sin g 1 e en try. T his can be
done for as many fie Ids as the system can process before it must
print an informational response. A possible entry using single
line format is:

$L $EDXASM CALCSRC ASMWORK ASMJOB

c
10

SC34-0313

Operator Commands

o

OPERATOR COMMANDS

$A - List Active Programs
Displays the names and load points of all programs that are
active within the partition to which the requesting terminal is
ass i gned. Programs that were loaded by operator commands
entered at your term ina 1 are i dent if i ed by an aster i sk.
Syntax

$A
Required:
Default:

None
None

No operands are supported.
Example - Display active programs

>

$A

PROGRAMS AT 08:14:19
IN PARTITION is
$SNMAIN
0000 *
$JOBUTIl 0400 *
$DISKUTI 0800
$COPYUTI 2600

*

o
Chapter 2. The Operator Commands

11

[

Ope~ato~

Commands

$B - Blank Display Screen

()

Blanks or erases the requesting terminal's (4978/4979) screen,
both protected and unprotected areas.
Syntax

$B

Required:
Default:

None
None

No operands are requ ired.
Example - Blank screen

>

$8

Note: Display screen is blanked.

/-r "\
I

"cc,.,1

'

c
12

SC34-0313

Operator Commands

o

$C - Cancel Program
Cancels a program and frees the storage that it occupied. When
more than one copy of the program is in your partition, you are
prompted to specify the load point of the program you wish to
cancel. Use $A to obtain the load point.
$C will also close, rewind, and set offline any tape data sets
defined in the program header of the cancelled program. If a
tape drive is online and targetted to receive data, the operation will complete and tape will be set offline.

paut;on: Do not use the $C command as a normal means of terminating program execution. Use it only as an aid when no other
way exists to force termination of a program (such as a program
to be cancelled is in an endless loop of instructions>. $C can
cause unpredictable errors (the task error exit is not taken>
and should only be used as a last resort to avoid having to IPL
the system aga in.
Syntax

(~)

program
program
None

$C
Required:
Default:

Operands
program

Description
The name of the program to cancel.

Example - Cancel $EDIT1

> $C $EDITl
$EDIT1

CANCELED AT 08:16:24

o
Chapter 2. The Operator Commands

13

Operator Commands
$CP - Change Terminal's Partition Assignment
Th is command allows you to change the part it 1 on number ass i gned
to your terminal. If an invalid partition number is specified,
an error message is displayed.
Note: I f you are us i ng a 4952 processor, you are
partitions 1 and 2.

lim i ted

to

Syntax

$CP

n

Required:
Default:

n
None

Operands

Description
The partition
assigned.

n

to

which

the

terminal

is

to

be

Example - Assign terminal to partition 2

> $CP
PARTITION t

? 2

c
14

SC34-0313

Operator Commands

o

$0 - Dump storage
Dumps the contents of storage in hexadec i ma 1 on the term ina l.
Syntax

$D

Required:
Default:

Operands

I

origin,address,count
origin,address,count
None

Description

origin

The hexadecimal origin address (the
point).

program

load

address

The hexadecimal address in the program at which the
dump is to start.

count

The dec i mal number of words to dump.

Example - pump first 10 words of partition

>

$D

ENTER ORIGIN: 0000
ENTER ADDRESS,COUNT: 0000,10
0000: 6802 6AF6 0000 0000 6C34 6AF2 6C34 6AF2
0010: 0000 0000
ANOTHER DISPLAY? N

o
Chapter 2. The Operator Commands

15

Operator Commands
$E - E;ect Pr;nter
Causes the 4974 or 4973 pr inter (def i ned as $SYSPRTR) to
advance to the top of the next page a spec if i ed number of times.
Syntax

$E
Required:
Default:

QlLerands

n
None
Ejects one page

Description
The number of pages to eject.

n

Example - Eject page on printer

> $E 2
Note:

Printer ejects two pages.

c
16

SC34-0313

Operator Commands

o

$L - Load Program
loads a program from disk or diskette and starts it.
Syntax

$l
Required:
Default:

Operands

o

I

program,volume,storage data setcs)
program
volume defaults to IPl volume

Description

program

The name of the program to load.

volume

The name of the volume which contains the program to
load.

storage

The tot a 1 add i t i on a 1 s tor age to be added tot he end
of the loaded program.

data set Cs) Data set Cs) to be passed to the program be i n9
loaded (if required). Specify the data set(s) in
the order the program expects.
Example - Lo~d a Program Called PROCESS from EDX003 and Pass a
Single Data Set, MY DATA

II >

$L

PROCESS,EDX003 MYDATA

Note: Wait until the system is initialized before loading a
program. If your system has timers, the system is initialized
when the 'SET TIME AND DATE USING $T' appears (or when the time
and date are printed). If your system does not have timers, the
system is initialized when it enters the wait state after the
storage map has been displayed.

o
Chapter 2. The Operator Commands

17

Operator Commands

o

$P - Patch storage

Allows main storage to be patched online. Enter the patch data
in response to prompt i ng messages.
Syntax

origin,address,count
origin,address,count
None

$P

Required:
Default:

Operands

I

Description

origin

The hexadecimal
point).

address

The hexadecimal address in the program at which the
patch is to start.

count

The dec i mal number of words to patch.

origin

address

(program

load

Example - Patch word X'lOO' of program loaded at 0 to 'S'FFFF'

> $P
ENTER ORIGIN: 0000
ENTER ADDRESS,COUNT: 0100,1
0100: C462
DATA: FFFF
ANOTHER PATCH? N

c
18

SC34-0313

Operator Commands

o

$T - set Date and T;me
Enters a new date and time into the system and resets the
realtime clock. You can only use $T from terminals having the
label $SYSLOG and$SYSLOGA. After entering the time, the timer
is started at the instant carr i age return/ENTER is pressed.
Th i s resets the seconds to zero.
Notes:
Make sure your time and date entry is correct as the system
does not ver i fy th i s data.
If $T is entered from other than $SYSlOG or $SVSLOGA, it is
equivalent to entering $W.
Syntax

$T
Required:
Default:

o
Operands

date,time
date,time
date defaults to 00/00/00
time defaults to 00:00:00

Description

date

The current date.

time

The current time.

Example - Set date and time

> $T
DATECM.D.T): a:22:79
TIMECH.M): 11:15

0'·""

I,

Chapter 2. The Operator Commands

19

Operator Commands
$VARYOFF - Set Dev;ce Offline
Sets the status of a disk, diskette, diskette magaz i ne un it, or
tape drive to offline.
On the 4966 diskette magaz i ne un it, each diskette vo I ume in
individual diskette slots or either of the diskette magazines
can be set to offline.
When you vary a tape dev i ce 0 ff line, that tape dr i ve is rewound
to the load point and set logically offline.
Syntax

$VARYOFF
Required:
Default:

Operands

ioda slot
loda
None

Description

ioda

The hexadecimal device address of the device to be
varied offline.

slot

The slot number (1,2,3,A,B) of the diskette to be
varied offline. This parameter applies to the 4966
only.

/'"~

-""\

\-\.,.JI'

Examples:
Vary offline the volume in slot 2 of a 4966 device at address 22

> $VARYOFF
22 2
IBMIRD OFFLINE

c
20

SC34-0313

Operator Commands

o

Vary offline tape drive at device address 4C on which a standard label tape volume (volume serial 123456) was mounted and is
displayed.

> $VARYOFF 4C
123456 OFFLINE

Vary offline tape drive at device address 4E. In this example,
the tape drive was defined for non-labeled (NL) tapes or for
bypass label-processing (BLP). Therefore, the tape ID assigned
to that device at system generation is displayed.

> $VARYOFF 4E
TAPE1 OFFLINE

o

Note: If you vary offline a tape drive that
use, yoU are prompted as fo llows:

is online and

in

DEVICE MARKED IN USE, CONTINUE? (Y,N):

If response is N, the tape is not varied offline." If response is
y, the tape will be put logically offline (closed) and usable
(ready to be var i ed on line). Th is a llows an "unc lased" tape
dr i ve to be recovered.

o
Chapter 2. The Operator Commands

21

Ope~ator

Commands

( ~)~
..

$VARYON - set Dev;ce On1;"8

.

,

Sets the status of a disk, diskette, diskette magaz i ne un it, or
tape drive to online.
On the 4966 diskette magazine unit, each diskette volume in the
individual slots or either of the diskette magazines can be
independently set to online. When a new diskette volume is
mounted, the diskette volume must be online for it to become
accessible. I/O commands issued to disk or diskette will not
operate unless the device and/or the di$kette volume is online.

I
I
I·

Before I/O commands can be l$sued to a tape, the tape must be
mounted on a tape dr i ve and var i ed on 1 i ne.
$VARYON performs special tape functions, depending
labe 1 type that is def i ned for the tape dr i ve.

•

I·
I

on

the

If the drive is defined for a standard label (Sl) tape, the
VOll volume label is read.
If the drive is defined for a non-labeled (Nl) tape, the
leading tape mark Cif one exists)
is
automatically
bypassed or, if a label is encounted, terminates without
sett i ng the tape onl i ne.
If the drive is defined for bypass label-processing (BlP),
no initial tape motion qccurs.

$VARYON also allows access to a mul~iple-file
through a spec; f; ed f; Ie sequence i nd i cator.

tape

volume

The tape drive must be set to the proper density at system
generation or by the Change Tape (eT) command of the $TAPEUTI
ut i i i ty before YOU vary a tape onl i ne. You ~an request that the
exp i rat i on date on an SL tape data set be ignored.

o
22

SC34-0313

Operator Commands

o
SVARYON
Required:
Default:

ioda slotlfile 'EX'
iada
file defaults to 1, maximum value of 255

Note: The OR symbo 1
Operands

(I)

i nd i cates mutua 11 y exc I us i ve operands.

Description

ioda

Tha hexadecimal device address of the device to be
varied online.

slotlfile

The slot number (1,2,3,A,B) of the diskette to be
varied online. This parameter applies to the 4966
only.
The decimal fi Ie number on the tape to be accessed.
This parameter applies to the tape drive only.

o

, EX'

This parameter applies to tape only and requests an
expiration date override. If a tape data set is initialized with an expiration date, this parameter
must be used to write to that tape data set and the
file number must be specified.

Examples:
Vary diskette in slot 1 of 4966 at device address 22 online

> $VARYON 22 1
IB~1IRD

ONLINE

Vary a standard label (SL) tape (volume 123456) at address 4C
online and access the first file.

o
Chapter 2. The Operator Commands

23

Operator Commands

> $VARYON 4C
123456 ONLINE

Vary a non-labeled (NL) tape at address 4C online and access
the second file, where TAPE1 was the ID ass i gned at system generation.

> $VARYON 4C 2
TAPE1 ONLINE

Vary a standard label tape at address 4D online. The first file
of this tape has an expiration date that has not expired; however, output to this file is allowed.

> $VARYON 40 1 EX
OVERRIDE EXPIRATION DATE CHECK? (Y,N): Y
123456 ONLINE

o
24

SC34-0313

o

Operator Commands
$W - Display Date and Time
Displays date and time.
Syntax

$W

Required:
Default:

None
None

No operands are supported.
Example - Display date and time

> $W
DATE

= 08/22/79

TIME

=

11:16:54

o
Chapter 2. The Operator Commands

25

Session Manager

o

o

o
26

SC34-0313

Sess;on Manager

o

CHAPTER 3. THE SESSION MANAGER

The session manager provides a quick and easy to use method of
accessing programs (including the utilities) interactively
from a terminal. Predefined full scre,en menus and associated
procedures enable you to invoke the functions you request. Full
screen 4978 or 4979 dis~l~y terminals present prompting messages and gather input parameters for processing system functions or application programs. Input requests are accompanied
by prompting messages to help you supply all required information.
The session manager requires a m1nlmum partition of 10K bytes
to process menus and your requests, but only 2K bytes remains
resident during execution of the functions yoU request. Each
terminal (4978 or 4979) has a dedicated copy of the session
manager loaded into the part it i on to wh i ch that term ina l i s
assigned.

INVOKING

TH~

SESSION MANAGER

You can invoke the sess ion e i thet of two ways:
•

as part of the IPL procedure

•

your request using $L (Load a Program)

When you IPL the Event Driven Executive system, the session
manager can be automatically loaded for each active 4978 or
4979 display terminal and the logon menu (as shown in Figure 1)
is displayed.

$SMMLOG: THIS TERMINAL Il LOGGED TO THE SESSION MANAGER
ENTER 1-4 CHAR USER 10 ==>
(ENTER LOGOFF TO EXIT)

17:55:31
OS/24/79

ALTERNATE SESSION MENU ==>
(OPTIONAL)

o

Figure 1. Session Manager logon menu

Chapter 3. The Session Manager

27

[ Session Manager
If you wish ~o start the session manager at IPL time, you must
rename the session manager module $SMINIT to $INITIAL, using
the following $OISKUTI utility command:

o

RE $SMINIT $INITIAL

The module $INITIAL, if present, is part of the IPL stream and
is automatically loaded.
If you do not wish the automatic start feature, you can load the
session manager using the following command:

$L

$SMMAIN

To beg i 11 a sess ion, enter your user 10 (one to four characters)
and press the ENTER key. Use the ENTER key throughout the session for all data entry operations from the terminal. The user
10 should be unique and not be used by more than one person
simultaneously. This is because the user 10 is used to create
temporary work data sets whose names contain the
fourcharacter ID. Multiple use of the same ID results in sharing
the same work data sets, with unpredictable results.

NQ..tg: If you do not wish to use the session manager, enter the
word LOGOFF instead of a user ID and the session manager,terminates.

SESSION MANAGER PROGRAM FUNCTION KEYS
Four program function (PF) keys enable you to perform the following functions:

PFl

Blanks the current screen image and
allows
system
commands to be entered through prompt i ng messages:

o
28

SC34-0313

Sess;on Manager

o
ENTERING SYSTEM COMMAND MODE TO REENTER THE SESSION MANAGER,
DEPRESS ATTN KEY AND ENTER '$SM':

PF2

Restores the current screen image to its appearance when
first displayed. Use this key to erase erroneous entries.

PF3

Returns the previously displayed screen image. Use this
key to back out from the current screen image.

PF4

Returns you to the primary option menu. Use this key to
return from any sess i on manager screen.

AUTOMATIC DATA SET ALLOCATION/DELETION

o

The session manager
logon/logoff time.

allocates

and

deletes

data

sets

at

Data Set Allocation
After you enter your user ID, the session manager allocates
work data sets on a disk resident volume. The data set called
$SMALLOC controls the data sets that are to be allocated.
Figure 2 on page 30 lists the data set contents which consists
of the data set prefix names, the sizes in 256-byte records,
and the volumes to be used.
The END statement i nd i cates the end of the list of data sets to
be allocated. Six data sets are usually allocated, five of
which are temporary. Temporary data sets are deleted at the end
of the session manager session. The data sets are allocated on
volume EDX003. Figure 3 on page 31 lists the data sets, their
sizes, and their functions.

o

The data sets to be allocated, their volume, or size can be
changed by using $FSEDIT or $EDIT1N to edit $SMAlLOC. Four other optional data sets ($SM4, $SM5, $SM6, and $SM7) can also be
allocated. To change the number of data sets to be allocated,
move the END statement behind the last data set to be allocated. To change a data set size or volume, change the size or

Chapter 3. The Session Manager

29

Session Manager

o

volume field.
The on I y req u i red data sets are $SMP and $SMW. They
allocated on volume EDX003.

must

be

For each user ID, a permanent parameter data set named $SMPuser
is created. The last input parameters entered on a parameter
select i on menu are displayed, allowi ng them to be used as is or
changed. They are saved in the data set and recalled on the next
i nvocat i on of the menu.
When the data sets have been allocated, the primary option menu
is displayed on the screen and you can select the option
desired.

$SMP
$SMP
$SMW
$SME
$SM1
$SM2
$SM3
END

***

$SM4
$SMS
$SM6
$SM7

100
100
100
100

00
30
30
400
400
400
250

EDX003
NAME AND VOLUME FOR OPEN
EDX003
SIZE AND VOLUME TO ALLOCATE
EDX003
SIZE AND VOLUME TO ALLOCATE
EDX003
SIZE AND VOLUME TO ALLOCATE
EDX003
SIZE AND VOLUME TO ALLOCATE
EDX003
SIZE AND VOLUME TO ALLOCATE
EDX003
SIZE AND VOLUME TO ALLOCATE
TERMINATOR - INDICATES END OF ALLOCATED
DATASETS ***
EDX003
SIZE AND VOLUME TO ALLOCATE
SIZE AND VOLUME TO ALLOCATE
EDX003
EDX003
SIZE AND VOLUME TO ALLOCATE
SIZE AND VOLUME TO ALLOCATE
EDX003

*********************************************************
*********************************************************
** $SMLOG WORK DATASET PARAMETER VALUES FOR ALLOCATE **
** FUNCTION
**
**
NOTE: THE DATASETS $SMW AND $SMP MUST RESIDE ON **
**
THE VOLUME EDX003. ALL OTHERS MAY BE
**
**
REASSIGNED.
**
**
NOTE: THE FIRST ENTRY IN THIS LIST IS USED TO
**
**
TEST FOR THE EXISTENCE OF THE $SMP
**
**
DATASET. DON'T DELETE.
**
**
DC C'5719-XSl COPYRIGHT IBM CORP 1979'
**
*********************************************************
*********************************************************
END

*********************************************************
Figure 2. $SMALLOC contents

o
30

SC34-0313

Session Manager

o
Data set Size in 256
name
byte blocks

o

Functional usage

$SMEuser

400

Used by the full screen text
editor utility ($FSEDIT) as a
work data set.

$SMPuser

30

Used by the session manager to
save your input parameters
from session to session.
This
data set is not deleted at the
completion of a session.

$SMWuser

30

Used by the session manager to
submit procedures via the job
stream utility ($JOBUTIL).

$SMluser*

400

Used by the linkage editor ($LINK),
the assembler ($SlASM), the compilers ($EDXASM, COBOL, PL/I,
and FORTRAN IV as a work data set.

$SM2user*

400

Used by the linkage editor ($LINK),
the Series/l Macro Assembler
($SlASM), COBOL, FORTRAN IV,
and P!/I as a work data set.

$SM3user*

250

Used by the Series/l Macro
Assembler ($SlASM), COBOL,
and PL/I as a work data set.

NQtes~

1.

'user' in the data set name is replaced by your
user 10.

2.

*Using tha session manager to invoke $SIASM, COBOL,
and PL/I requires that these data sets be deleted and
reallocated.
Recommended sizes for most programs are
2000 records for $SMluser and $SM2user and 800 record
for $SM3user.

Figure 3. Data sets created by the Session Manager

o
Chapter 3. The Session Manager

31

I

Session Manager

o

Data Set Deletion
Data sets created by the session manager can be deleted when
you return to the logon menu. A prompt message is issued ask i ng
if you wish to save the data sets. To reply, enter a V for yes or
an N for no and press the ENTER key. Abnormal termination of the
session manager prevents the deletion of the temporary data
sets.
The data set $SMDELET controls the data sets to be deleted at
the end of the sess ion. The data set conta i ns the data set prefix names and the volumes on which they reside. The END statement i nd i cates the last data set to be de leted. The data sets to
be deleted should normally be the data sets that were allocated
at the start of the sess ion. Figure 4 1 i sts the contents of the
$SMDELET data set.

$SME
$SMI
$SM2
$SM3
$S~1W

END
$SM4

$SM5
$SM6

$SM7

EDX003
EDX003
EDX003
EDX003
EDX003
*** TERMINATOR
BE DELETED
EDX003
EDX003
EDX003
EDX003

PREFIX NAME
PREFIX NAME
PREFIX NAME
PREFIX NAME
PREFIX NAME
- INDICATES

***

PREFIX
PREFIX
PREFIX
PREFIX

NAME
NAME
NAME
NAME

AND
AND
AND
AND
AND
END

VOLUME TO DELETE
VOLUME TO DELETE
VOLUME TO DELETE
VOLUME TO DELETE
VOLUME TO DELETE
OF DATA SETS TO

AND
AND
AND
AND

VOLUME
VOLUME
VOLUME
VOLUME

TO
TO
TO
TO

o

DELETE
DELETE
DELETE
DELETE

*********************************************************
*********************************************************
** $SMEND WORK DATASET PARAMETER VALUES FOR DELETE
**
** FUNCTION
**
**
DC C'5719-X51 COPYRIGHT IBM CORP 1979'
**
*********************************************************
*********************************************************
END

*********************************************************
Figure 4. $SMDELET contents

o
32

SC34-0313

o

Sess;on Manager
SESSION MANAGER MENUS
The sess i on manager menus enable you to select opt ions, such as
text editing or program preparation, and to enter parameters. A
un i que procedure, associ ate d wi t h each menu , enables you to
select option menus or to invoke through the batch job processing utility, $JOBUTIL, the functions you desire.
Menus and procedures are stored in a library that resides on a
direct access storage device. A menu is either a parameter
selection menu or an option selection menu. You use a parameter
se lect i on menu to pass parameters to the program be i ng invoked.
The option selection menu is used to select other menus based
on which option is selected.
When you log on to the session manager, the supplied environment can be overridden by specifying a main option menu that
you have created. This provides for additional environments
tailored to your system. Option selection menus can be modified
to add options that provide different environments for different users. (Procedures for modifying and adding new menus are
discussed in the System Gu j de) •
Figure 5 on page 34 shows the structure and the various paths
that can be used to execute a requested function. When a function completes, the most recently displayed menu is again displayed. You can then change parameters and again request the
function, or you can return to previously displayed menus by
pressing the PF3 key. Use the PF3 key to return to a previous
menu and, finally, to exit the session manager.

o
Chapter 3. The Session Manager

33

I

Sess;on

M~nager

o
Logon
menu

Levell

I

I
User
supplied
menu

Level 2

f
Level 3

I
Primary
option
menu

I

I

1

I

Parameter
selection
menu

Level 4

Secondary
option
, menu

I

I

I

I

Execute
requested
function

Execute
requested
function

Tertiary
option
menu

r
Level 5

•

•

•
•

•

I

I

Parameter
selection
menu

I
Execute
requested
function

Figure 5. Menu selection hierarchy

c
34

SC34-0313

o

Session Manager
Pr;mary opt;on Menu
The primary option menu provides nine options as shown in
Figure 6. The session manager automatically positions the
cursor to accept input. Type in the desired option number and
press the ENTER key. The function of each primary option is
discussed in the following pages.

$SMMPRIM: SESSION MANAGER PRIMARY OPTION MENU ---------ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>

19:42:07
07/13/79

USER

,

C

~

1
2
3
4
5
6
7
8
9

-

TEXT EDITING
PROGRAM PREPARATION
DATA MANAGEMENT UTILITIES
TERMINAL UTILITIES
GRAPHICS UTILITIES
EXEC PROGRAM/UTILITY
EXEC $JOBUTIL PROC
COMMUNICATION UTILITIES
DIAGNOSTIC UTILITIES

Figure 6. Primary option menu

Chapter 3. The Session Manager

35

( Sess;on Manager
Secondary Option Menus

o

Option 1 - Text Editing
Th is opt i on requ i res no further parameter input. When you
select this option, the session manager loads the full screen
text editor utility program $FSEDIT and passes control to it.
The edit work data set used is the one automatically preallocated by the Session Manager. All further communication is
directly between you and $FSEDIT. Commands for $FSEDIT can be
found under "Primary Commands" on page 218.
When $FSEDIT terminates, control returns to the session manager, the primary option menu is displayed, and another option
can be selected.

Option 2 - Program Preparation
This option allows YOli to prepare programs for execution. By
further spec if i cat i on on a secondary opt i on menu, programs can
be assembled, compiled, linked, updated, or listed. A secondary option menu, as shown in Figure 7 on page 37, is displayed
on the screen after you select the program preparation utilities opt i on from the pr i mary opt i on menu. You can select one of
the 1 i sted ut i i i ty programs from it.
A parameter selection menu is displayed based on which secondary option you select. The menu allows entry of required parameters such as: source input data set name, object output data
set name, and assemb ler or camp i ler opt ions. The se lected
parameters are saved from one session logon to the next. An
example of the $EDXASM parameter menu is' shown in Figure 8 on
page 38. Parameter menus for other program preparation utilities are similar and self explanatory. The required work data
set for assemblers, compilers, and the linkage editor are preallocated by the session manager. 'You must allocate the object
data set.
The fo llow i ng programs can be invoked from th i s opt i on:
$EDXASM

Compiles Event Driven Language programs

$SlASM

Assembles macro assembler language programs

$COBOl

Camp i les COBOL programs

36

SC34-0313

o

o

Sess;on Manager
$FORT

Comp i les FORTRAN IV programs

$LINK

Link-edits program object modules

$UPDATE

Converts an object program to an executable program

$UPDATEH

Transmits and converts host assembled modules

$PREFIND

Locates
program

$PL/I

Compiles PL/I programs

data

sets/overlays

prior

to

loading

a

Opt ion 9 of the program preparat ion ut iii ties opt i on menu
invokes the ut iii ties referenced in the sequence shown. You can
pass parameters to those programs as needed.

$SMM02 SESSION MANAGER PROGRAM PREPARATION OPTION MENU-ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>

o

1
2
3
4
5
6
7
8
9
10

-

$EDXASM COMPILER
$SlASM ASSEMBLER
$COBOL COMPILER
$FORT FORTRAN COMPILER
$LINK LINKAGE EDITOR
$UPDATE
$UPDATEH (HOST)
$PREFIND
$EDXASM/$LINK/$UPDATE
$PL/I COMPILER/$LINK/$UPDATE

Figure 7. Program preparation utilities option menu

o
Chapter 3. The Session Manager

37

Sess;on Manager

o

$SMM0201: SESSION MANAGER $EDXASM PARAMETER INPUT MENU
ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SOURCE INPUT

(NAME,VOlUME) ==>

OBJECT OUTPUT

CNAME,VOlUME) ==>

ENTER OPTIONAL PARAMETERS
BY POSITION==>

1--------2----------LIST
PRINTER NAME
NOlIST
ERRORS
DEFAULTS ARE: LIST $SYSPRTR

Figure 8. $EDXASM parameter se lect i on menu

I

(~)

Option 3 - Data Management
This option allows you to invoke the following utilities:
$DISKUTl

Allocates and deletes data
data

$DISKUT2

Patches and dumps data sets

$COPYUTl

Cop i es data sets with output data set a llocat ion

$COMPRES

Compresses libraries

$COPY

Cop i es d i sk/d 1 skette data sets and vo I umes

$DASDI

Initializes,
diskettes

$INITDSK

Initializes and
storage volume

$MOVEVOL

Saves direct access
multiple diskettes

38

SC34-0313

formats,

sets;

and

verifies

read-verifies
volumes

lists

a

whose

directory

disks

direct
SI ze

or

access
requi res

-

:.,:'

c

o

I

Sessi on Manager -,

$IAMUTl

Builds and maintains Indexed Access Method data sets

$TAPEUTl

Allocates tape data sets, cop i es data sets or
volumes from disk/diskette to tape, from tape to
disk/diskette, or tape to tape, and changes tape
attributes.

A secondary option menu, as shown in Figure 9, is displayed on
the screen after you select the data management option from the
pr i mary opt i on menu. You can se I ect one of the listed ut iii ties
from it.

$SMM03 SESSION MANAGER DATA MANAGEMENT OPTION MENU------"
ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>
1
2
3
4
5
6
7
8
9
10

-

$DISKUTl
$DISKUT2
$COPYUTl
$COMPRES
$COPY
$DASDI
$INITDSK
$MOVEVOL
$IAMUTI
$TAPEUT1

(ALLOCATE, LIST DIRECTORY)
(DUMP/LIST DATA SETS)
(COpy DATASETS/VOLUMES)
(COMPRESS A VOLUME)
(COPY DISK/DISKETTE DATASET$/VOLUMES)
(DISKCETTE) SURFACE INITIALIZATION)
(INITIALIZE/VERIFY DISK/DISKETTES)
(COpy DISK VOLUME TO MULTI-DISKETTES)
(MAINTAIN INDEXED DATA SETS)
CTAPE ALLOCATE, CHANGE, COPY)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED
TO ENTER A COMMAND. IF A QUESTION MARK (?) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVAILABLE COMMANDS.
Figure 9. Data management option menu

The $TAPEUT1 ut iii ty has been added to the secondary
menu of the Data Management utilities for the Event
Executive Version 2 (S719-UT4).

opt i on
Driven

o
Chapter 3. The Session Manager

39

[ Sess i on Manager

()

Option 4 - Terminal Utilities
This option allows you to invoke the following
grams:

utility

pro-

$TERMUTl

Alters logical device names, address assignments, or
terminal configuration parameters

$TERMUT2

Defines routines and changes key definitions on the
4978 keyboard. Restores the 4974 pr inter to the
standard character set.

$TERMUT3

Sends a single line message from
another

$IMAGE

Defines formatted screen images for the 4978 or 4979
display terminals

$FONT

Modifies
terminal

$PFMAP

Identifies
terminal

character
program

image

tables

function

keys

one

terminal

to

for

the

4978

on

the

4978

A secondary option menu, as shown in Figure 10 on page 41, is
displayed on the screen after you select the terminal utilities
option from the primary option menu. You can select one of the
listed ut iIi ty programs from it.

Option 5 - Graphics Utilities
Th i s opt i on allows you to invoke ut iii ties to generate, store"
and display information graphically or in reports. The followi ng ut iii ty programs can be invoked from th i s opt ion:

$DIUTIL

Performs uti lity functions on a display data base

$DICOMP

Composes existing display profi les and adds new ones

$DIINTR

Generates the requested display

A secondary option menu, as shown in Figure lion page 41, is
displayed on the screen after you select the graphic utilities
option from the primary option menu. You can select one of the
listed ut iIi ty programs from it.

40

SC34-0313

c

Session Manager

o
$SMM04 SESSION MANAGER TERMINAL UTILITIES OPTION MENU--ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>
1
2
3
4
5

-

$TERMUTl
$TERMUT2
$TER~'UT3

$IMAGE
$FONT
6 - $PFMAP

(TERMINAL CONFIGURATOR)
(4978 KEYBOARD DEFINE)

(TERMINAL MESSAGE SENDER)
(SCREEN FORMAT BUILDER)
(CREATE/MODIFY CHARACTER IMAGES)
(DISPLAY PF KEY CODES)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED
TO ENTER A COMMAND. IF A QUESTION MARK (?) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVAILABLE COMMANDS.
Figure 10. Terminal utilities option menu

$SMM05 SESSION MANAGER GRAPHICS UTILITIES OPTION MENU-ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>
1 - $DIUTIl
2 - $DICOt1P
3 - $DIINTR

(GRAPHICS ORGANIZOR)
(GRAPHICS COMPOSER)
(GRAPHICS INTERPRETER)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED
TO ENTER A COMMAND. IF A QUESTION MARK (?) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVAILABLE COMMANDS.
Figure 11. Graphics utilities option menu
Option 6 - Execute Program

o

This option allows you to execute any program. The program can
be a system program or utility, or one of your application programs. The parameter selection menu has provision for specifyi ng the parameters and data sets that the program may need.

Chapter 3. The Session Manager

41

Sess·i on Manager

Option 7 -

()

Execute $JOBUTIl Procedure

This option allows the submission of previously built procedures to the job stream processor uti lity $JOBUTIL. A parameter
selection menu allows entry of the procedure name and volume
name it res i des on. The procedure cannot invoke the name of
another procedure.

Option 8 -

Communications Utilities

This option
programs:

allows

yoU

to

invoke

the

following

$BSCTRCE

Traces the I/O act i vi ties
on
synchronous communications line

$BSCUTl

Formats binary synchronous trace files to either a
pr inter or a termi nal

. $BSCUT2

a

given

utility
binary

Exercises BSCAM capabilities

$RJE27BO

S.i.mulates a 2780 RJE interface

$R..)E3780

Simulates a 3780 RJE interface

$PRT2780

Prints spool records produced by $RJE2780·

$PRT3780

Prints spool records produced by $RJE3780

$HCFUTI

Interacts with the Host Communications Facility

A secondary option menu, as shown
displayed on the screen after you
ut iIi ty opt i on from the pr i mary opt
of the listed ut iii ty programs from

o

in Figure 12 on page 43 is
select the communications
i on menu. You can select one
it.

o
42

SC34-0313

I

o

Session Manager

$SMM08

SESSION MANAGER COMMUNICATION UTILITIES OPTION
MENU
ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>
1
2
3
4
5
6
7
8

-

$BSCTRACE
$BSCUTI
$BSCUT2
$RJE2780
$RJE3780
$PRT2780
$PRT3780
$HCFUTI

(TRACE BSCAM LINES)
(PRINT TRACE FILE)
(SSC EXERCISER)
(2780 RJE TO HOST)
(3780 RJE TO HOST)
(2780 SPOOLED RJE FILE PRINTER)
(3780 SPOOLED RJE FILE PRINTER)
(HOST COMMUNICATIONS FACILITY)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED
TO ENTER A COMMAND. IF A QUESTION MARK (?) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVAILABLE COMMANDS.
Figure 12. Communications utilities option menu

C~
/

Option 9 - Diagnostic Utilities
This option
programs:

o

allows

you

to

invoke

the

following

utility

STRAP

Saves the env ironment ina data set incase of error

$DUMP

Formats and d i

SLOG

Logs I/O errors into a data set

$DISKUT2

Formats and d i sp lays the log data set on a pr inter or
terminal

SlOTEST

Tests
sensor-based
operations;
configuration and volumes

SP

lays the data saved by $TRAP

lists

system

A secondary option menu, as shown in Figure 13 on page 44 is
d i sp 1 ayed on the screen after you se lect the d i agnost i c ut i i i ty
option from the primary option menu. You can select one of the
1 i sted ut iii ty programs from it.

Chapter 3. The Session Manager

43

Sess;on Manager

o
$SMM09 SESSION MANAGER DIAGNOSTIC AIDS OPTION MENU -ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SELECT OPTION ==>
1 - $TRAP
2
3
4
5

-

$DUMP
$LOG
$DISKUT2
$IOTEST

(CAPTURE PROGRAM INFORMATION TO
DATA SET)
(FORMATTED STORAGE/REGISTER
(I/O ERROR LOGGING)
(DUMP/PATCH DISK(ETTE) UTILITY
(SENSOR I/O DEVICE EXERCISOR)

WHEN ENTERING THESE UTILITIES, THE USER IS EXPECTED
TO ENTER A COMMAND. IF A QUESTION MARK (1) IS ENTERED
INSTEAD OF A COMMAND, THE USER WILL BE PRESENTED WITH
A LIST OF AVAILABLE COMMANDS.
Figure 13. Diagnostic aids utilities option menu

A parameter selection menu, as shown in Figure 14 is displayed
on the screen after you select the STRAP utility. Use the menu
to enter the name of the data set to be used by $TRAP and the
name of the vo lume conta i n i ng the data set.

/1',
\i:U)

$SMM0901: SESSION MANAGER STRAP PARAMETER INPUT MENU ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
$TRAP
DUMP DATASET (NAME,VOLUME)==>

Figure 14. $TRAP parameter select i on menu

A parameter selection menu, as shown in Figure 15 on page 45 is
displayed on the screen after you select the SDUMP uti lity. Use
the menu to enter the name of the data set to be used for the
dump and the name of the volume containing the data set.

o
44

SC34-0313

Session Manager

o
$SMM0902: SESSION MANAGER $DUMP PARAMETER INPUT MENU --ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
$DUMP
DUMP DATASET (NAME,VOLUME)==>

Figure 15. $DUMP parameter selection menu

A parameter selection menu, as shown in Figure 16 is displayed
on the screen after you select the $LOG uti lity. Use the menu to
enter the name of the data set to be used by $lOG and the name of
the vo 1 ume conta i n i ng the data set.

o

$SMM0903: SESSION MANAGER $LOG PARAMETER INPUT MENU -ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
$LOG
LOG DATASET (NAME,VOLUME)==>

Figure 16. $LOG parameter selection menu

o
Chapter 3. The Session Manager

45

Session Manager
Menu 'opt; on Comb i nat; ons

()

When se lect i ng a pr i mary opt ion, the secondary opt i on, if
applicable, can also be entered. This results in the secondary
option being invoked without display of the secondary option
menu. The secondary opt i on is separated from the pr i mary opt ion
by a period.
Example: To request an assembly from the primary option menu,
enter 2.1 as the selected option. You have selected primary
opt i on 2 (program preparat ion) and its secondary opt ion '1
($EDXASM - compile Event Driven Language program). The next
menu displayed is the parameter selection menu ($SMM0201) for
the compiler $EDXASM.

utilities Not Supported by Session Manager Menus
The following uti llty programs are not supported by the Session
Manager menus:
$DEBUG
$DISKUT3
$EDITI
$EDITIN
$EDXLIST
$PDS
The Multiple Terminal Manager utilities
The Remote Management ut iii ty ($RMU)

o

·Wi th the except i on of $DISKUT3 and $PDS, these ut iIi ty programs
can be invoked by enter i ng the operator command $L (Load a Program) and the utility name. $DISKUT3 and $PDS can only be used
from a program us i ng the LOAD instruct i on and are documented in
the System Guide. $RMU is documented in the Communications and
Terminal Applications Guide.

c
46

SC34-0313

o

CHAPTER 4. THE UTILITIES

The utilities are a set of programs supplied with the Event
Driven Executive system that allow you to interactively commun i cate with the system and perform many funct ions necessary for
Series/l application program development and system maintenance.

INVOKING THE UTILITIES
To aid you in performing utility functions, the Event Driven
Execut i ve system prov i des three ways to invoke the ut iii ty programs from a termi nal:

(j:

•

The session manager - You choose the desired utility program from a predefined option menu provided. Most utilities can be invoked in this manner. This is the easiest to
use for interactive utilities because you need only enter
option numbers (not program names) to access the function
needed.

•

$JOBUTIL - The job stream processor utility can be used to
invoke a predefined sequence of pro 9 ramp rep a rat ion uti I i ties and pass parameters to them. $JOBUTIl can itself be
invoked by the sess i on manager.

•

$l command - Enter the operator command $~ (Load program),
followed by the name of the utility of your choice. All
utilities described in this book can be invoked in this
manner.

Most utility programs are used interactively from a terminal.
After a utility program is invoked, you can list its defined
operations and command codes by entering a question mark in
response to the' COMMAND (?):' prompt.

o
Chapter 4. The utilities

47

SUGGESTED UTILITY USAGE TABLE

o

The following table is intended to help you find the appropriate utility program and command to perform the function that
you want to accomplish. To use it, find the activity and function that you want to do in the left columns; the corresponding
utility and command to accomplish the function are in the right
columns. The program name indicated can be used on the $L command to load that utility program. When using the session manager, the menu option corresponding to the program name on the
secondary option menu can be selected to access the program.
The command indicated is used to direct the utility to perform
the desired function.

c
48

SC34-0313

C

\,','

ACTIVITY

FUNCTION

UTILITY

Activate

Error logging
stopped task
TRAP function of
storage dump

SLOG
$DEBUG

SLOGaN
GO

STRAP

TRAPON

Data set

SDISKUT1
SDIUTIL
SIAMUTI
STAPEUTI

AL
AL
CR
TA

SDICOMP

AD

$DASDI

3,1

$TERMUT2

AD

SDUMP
SFSEDIT
$COPYUTI
SDISKUTI
$DISKUT2
$DISKUT2

CA
CA
CA
CA
CA
CA

$EDXASM

CA

STERt1UTl
$DEBUG
$OEBUG

RA
QUALIFY
GOTD

$OICOMP

AL,IN

$TERMUTl
$UPDATEH

RH
CH

$TER~'UT2

$TERMUTI

C
RE

$TERMUTI

CT

Allocate

A new data set in a data
base for a graphics
display profile
Assign

Cancel

Change

.

0

Alternate for defective
4963 sector
DEFINE key i n a 4978
control store
Dump
List option
~1ultiple member
Multiple member
Multiple record
Multiple record

copy
list
dump
list

$EDXASM assembly of EDL
Address assignment of
a terminal
Base address
Execution sequence
Graphic or report
display profile
H~rdcopy device
associated with
4978/4979
Host library
Key definition in a
4978 control store
Name of logical device
Page formatting
parameters of a
terminal

COMMAND

'1,,'''',

v,

Chapter 4. The Utilities

49

Utilities

ACTIVITY

FUNCTION

UTILITY

COMMAND

Change

Series/l library
Tape drive attributes
Trap function of
storage dump
Volume

$UPDATEH
$TAPEUTI

CV
CT

$TRAP
$DISKUTI
$DISKUT2
$UPDATE

$TRAPEND
CV
CV
CV

Clear

Data set to zero

$DISKUT2

CD

Compress

Graphics data base
Library

$DIUTIL
$COMPRES

CP
None

COpy

All of data set to
existing data set
Part of data set to
existing data set
All of disk or
diskette data set to
tape data set
A tape data set to disk
or diskette data set
A tape data set to
another tape data set
Absolute
Entire disk or diskette
volume
Member with allocation
Member from graphic
source data base to
target data base
All members with
allocation
Data members with
allocation
Program members with
allocation
Generic members with
allocation
Non-generic members with
allocation

$COPY

CD

$COPY

CD

$TAPEUTI

CD

$TAPEUTI

CD

$TAPEUTI
$COPY

CD
CD

$COPY
$COPYUTI

CV
CM

$DIUTIL

CM

$COPYUTI

CALL

$COPYUTI

CAD

$COPYUTI

CAP

$COPYUTI

CG

$COPYUTI

eNG

c
50

SC34-0313

o
ACTIVITY

FUNCTION

Define

Indexed Access Method
data set
Formatted screen:
- image dimensions
- horizontal tab
- vertical tab
- null representation

Delete

Member
Prefound status of data
sets and overlays

Direct

Output to $SVSPRNT
Output to terminal

Display

o

4978 program function
keys
Character image table
Contents of storage or
registers
Graphics or report
display profile
Header of a data member
in graphics data base
Indexed Access Method
SE command parameters
Members in graphics
data base
Status of all tasks
Status of current
graphics data base
Volume information

UTILITY

COMMAND

$IAMUTI

OF

$IMAGE
$IMAGE
$IMAGE
$IMAGE

DIMS
HTAB
VTAB
NULL

$DISKUTI
$DIUTIL

DE
DE

$PREFIND

DE

$DISKUTI
$DISKUT2
$DISKUTI
$DISKUT2

LISTP
PL
LISTT
LL

$PFMAP
$FONT

Each key
DISP

$DEBUG

LIST

$DIINTR

None

$DIUTIL

LH

$IAMUTI

01

$DIUTIL
$DEBUG

LA
WHERE

$OIUTIL
$IOTEST

ST
VI

o
Chapter 4. The utilities

51

utilities

o
ACTIVITY

FUNCTION

PROGRAM

Dump

Data set or program on
printer

$DISKUT2
$DICOMP
$DUMP
$DISKUT2
$DICOMP
$DUMP

DP
PR
None
DU
PR
None

Tape on printer or
terminal

$TAPEUTI

DP

Tape to verify it i s
executing correctly
and surface is free
of defects

$TAPEUTI

EX

Graphic or report
display profile

$DIINTR

None

$COPY
$COPYUTI
$DICOMP
$DISKUTI
$DISKUT2
$DIUTIL
$FONT
$FSEDIT
$IAMUTI
$ I~1AGE
$INITDSK
$IOfEST
$PREFIND
$TAPEUTI
$TERHUTI
$TERMUT2
$lJPDATE
$UPDATEH

?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?

Data set or program on
console

Exercise

Generate
Help

With
With
'~i t h
With
With
With
With
With
With
loJ i t h
With
With
,oJ i t h
With
With
With
With
With

use
use
use
use
use
use
use
use
use
use
use
use
use
use
use
use
use
use

of
of
of
of
of
of
of
of
of
of
of
of
of
of
of
of
of
of

$COPY
$COPYUTI
$DICOMP
$DISKUTI
$DISKUT2
$DIUTIL
$FONT
$FSEDIT
$IAMUTI
$IMAGE
$INITDSK
$IOTEST
$PREFIND
$TAPEUTI
$TERMUTI
$TERMUT2
$UPDATE
$UPDATEH

COMMAND

c
52

SC34-0313

utilities

o
ACTIVITY

FUNCTION

Initialize Disk
Diskette
For use with Event
Driven Executive
Graphics data base
Log data set
Tape
List

load

Log

All members in volume
All members (CTS mode)
Breakpoints/trace ranges
Data members (CTS mode)
Data members in volume
Data set on printer
Data set on console
Devices supported by
system
Hardware configuration
Log on printer
Log on console
One member
Program function keys
Program members
(CTS mode)
Program members in volume
Space available
Terminal names/types/
addresses
Through volumes

UTILITY

COMMAND

$DASDI
SDASDI

2
1

SINITDSK
SDIUTIL
$LOG
STAPEUTI

I

IN
$LOGINIT
IT

SDISKUTI
$DISKUTI
$OESUG
$DISKUTI
SDISKUTI
$DISKUT2
$OISKUT2

LA
LACTS
BP
LDCTS
LO
LP
LU

SIOTEST
$IOTEST
$OISKUT2
$OlSKUT2
$OISKUTI
$IMAGE

LS
LD
PL
LL
LM
KEYS

$DISKUTI
SDISKUTI
SDISKUTI

LPCTS
LP
LS

$TERMUTI
$OISKUTI

LA

$TERMUT2

LC

LV

A 4978 control store
from a direct access
data set
Character image table
into a 4978
Indexed Access Method
data set

$FONT

PUT

$IAMUTI

LO

I/O errors into disk or
diskette data set

$LOG

$LOGON

o
Chapter 4. The Utilities

53

utilities

o
ACTIVITY

FUNCTION

UTILITY

Move

Graphics data base from
on~
volum~ to another
Tape forward or back

$OIUTIL
$TAPEUTI

MD
MT

Data set or program
Storage or registers

$OISKUT2
$OEBUG

PA
PATCH

$PREFINO

PF

An event or process
interrupt

$OEBUG

POST

Map of 4963 alternate
sectors

$OASDI

3,3

Pulse

A digital output address

$IOTEST

PO

Read

Character image table
from 4978
Analog input
Program

$FONT
$IOTEST
$UPDATE
$UPDATEH
$tOTEST

GET
AI
RP
RP

$IOTEST

XI

$DISKUTI

RE

$DIUTIL

RE

Patch

Preallocate Data sE:lts and overlays
Post
Print

Digital input
Digital input using
external ,sync
Rename

Member
Display profile
identification name

Remove

Breakpoints/tr~ce

Reset

Indexed Acpe!is Metho~
ECHO mode
Indexed Access Method
SE command parameters

ranges

Reorganize Indexed Acee$is Method
data set

$OEBUG

COMMAND

01

OFF

$IAMUTl

EC

$IAMUTl

RE

$IAMUTI

RO

o
54

SC34-0313

utilities

o
ACTIVITY

FUNCTION

Restore

Assigned 4963 alternate
sector
Disk volume from
diskettes
Disk or diskette
volume from tape
4974 printer to the
standard character set

UTILITY

Rewind

Tape
Tape and place offline

Save

A 4978 control store

into a direct access
data set
Character image table
Cont.ents of hardware
registers and main
storage in disk or
diskette data set
Disk volume on diskettes
Disk or diskette volumes
on tape
Formatted screen image
on disk

o
Send

A single line message
to another terminal

COMMAND

$DASDI

3,2

$MOVEVOL

None

$TAPEUTI

RT

$TERMUT2

RE

$TAPEUTI
$TAPEUTI

MT
NT

$TERMUT2
$FONT

SC
SAVE

$TRAP
$MOVEVOL

None
None

$TAPEUTI

ST

$IMAGE

SAVE

$TERMUT3

None

$DEBUG

AT

Breakpoints/trace ranges
Indexed Access Method
ECHO mode
Indexed Access Method
SE command parameters
Tape offline

$IAMUTI

EC

$IAMUTI
$TAPEUTI

SE
MT

Terminate

Logging

$LOG

$LOGTERM

Test

Generated report or
graphic display
profile member
Process interrupt for
occurrence of an event

$DICOMP

TO

$IOTEST

PI,SG,SB

Set

o
Chapter 4. The Utilities

55

utH;thSJ

0,j ~l
COMMAND

ACTIVITY

FUNCTION

UTILITY

Unload

Indexed Access Method
data set

$IAMUTI

UN

$INITDSK

V

$TAPEUTI

EX

$TAPEtJTl

EX

$IOTEST

DO

$IOTEST
$TAPEUTI

XO
MT

Verify

Write

ReadClbilityof disk or
diskette datCl set
Tape executing correctly
Tape surface free of
defects
A hex value to a DO
address
Digital output using
external sync
Tapemark

c
56

SC34-0313

o

$COt1PRES
$COMPRES - COMPRESS LIBRARY
$COMPRES compresses a library on disk or diskette. It is used
so that new data sets can be allocated when a library is fragmented (due to deletion of data sets).

Caution:
•

Do not compress a 11 brary wh i Ie it is be i ng accessed.

•

You must IPL the system after using $COMPRES if the volume
that was compressed conta i ns the superv i sor ($EDXNUC).

The following is an example of using the $COMPRES utility. In
response to the prompting message >, the $A operator command
determi nes if another program; s act i ve and the $L operator
command invokes the $COMPRES uti lity.

o
Chapter 4. The utilities

57

[

$COMPRES

1

Examp'le

>

$A

PROGRAMS AT 08:14:19
IN PARTITION is
NONE

> $L
PGMCNAME,VOLUME): $COMPRES
$COMPRES
I1P,14.00.35, LP=4COO
COMPRESS SYSTEM LIBRARY
WARNING! SHOULD BE RUN ONLY WHEN
NO OTHER PROGRAMS ARE ACTIVE
VOLUME LABEL = EDX001
COMPRESS LIBRARY ON EDX001? Y
$EDXNUC COPIED
$INITIAL COPIED
$UPDATE COPIED
$COMPRES COPIED
$DISKUTI COPIED
$DISKUT2 COPIED
$COPY
COPIED.
LIBRARY COMPRESSED

o

ANOTHER VOLUME? N
$COMPRES ENDED AT 14.05.03

()
58

SC34-0313

o

$COPY
$COPY - COpy DATA SET

$COPY cop i as a disk or diskettE! data set, in part or in its
entirety, to another disk or diskette data set. Source and target data sets must have the same organization; the need not be
on the same disk or diskette drive or volume. You can specify
the number of records of the source data set to copy and the
relative starting record in each data set to begin copying.
All target data sets must have beeh prea llocated
us i ng
$DISKUTI. Piirt i al copy is only permi tted if the data set
organization is of
type
DO
(Direct
Organization,
see
$DISKUT1).
Note: For any copying related to tape, see "$TAPEUTl
Management" on page 311

Tape

$COPY Commands

o

The commands avai lable under $COPY are listed below. To display
this list at your terminal, enter a question mark in response
to the prompt i ng message COMMAND (1):.

COMMAND (1): ?
CD - COPY DATA SET
CV - COpy VOLUME
RE - COpy FROM BASIC EXCHANGE
WE - COpy TO BASIC EXCHANGE
(-CA- WILL CANCEL)
EN - END PROGRAM
COMMAND (1):

After the commands are displayed, you are again prompted with
COMMAND (1):. You respond with the command of your choice (for
e)(ample, CO).
Absolute Record Copy

o

An a b sol ute r e e or d eo py i n g fun c t 1on i sal so pro v ; de d as par t 0 f
the Copy Data (CD) command. See the data set naming conventions in the System Gyid~. for a description of the special
data set names, $$EDXVOL and $$EDXLIB, which are used when
do i n gab sol ute r e e 0 r d and bas ice x t h an ge cop yin g •
Chapter 4. The Utilities

59

$COPY
Volume COpy

o

$COPY can be used to copy an ent ire disk or diskette vo I ume for
the purpose of creating new or backup volumes .• See the System
Guide for an explanation of disk and diskette organization.
Bas; c Exchange Di skette Data Set COpy.

$COPY can be used to read a basic exchange data set from a
diskette and write it to a disk dat.a set, or write a disk data
set to ab a sic e xc han g e d a t a set 0 n d 1. s k e t t e • All data sets must
exist before the copy operation. Only one sided, 128-byte
diskettes can be used. The Event Driven Executive recognizes
only one volume on a diskette.
$COPY prompts you for the name of the basic exchange volume.
The volume specified must already be varied online.
You are prompted for the diskette bas i c exchange data set name.
If you use $DASDI to format and initialize the basic exchange
header on the diskette, a data set named DATA will be automatically allocated. If you use $INITDSK to initialze the volume
directory, the data set name becomes EDXLIB. DATA consists of
all the data tracks on the diskette. A record size of 128 bytes
must be specified.

1.

Errors may occur if the diskette contains uninitialized
HDR Is. Data on the diskette is read and wr i tten two sectors
per I/O operat i on.

2.

The diskette data set accessed must start on an odd sector
boundary.

You can control the location in the disk data set where data is
read or wr i tten by enter 1 ng the start 1 ng and end 1 ng record numbers when prompted for that i nformat 10n.
The following error message is issued if the output data set is
too small to accommodate the amount of data to be copied from
the i n put data set.

DATA SET TOO SMALL

When the output data set is on disk ord i skette, the end of data
po inters are updated.

60

SC34-0313

c

o

$COPY
Examples

CD - COpy Ent 1 re Data Set

COMMAND (?): CD
SOURCE (NAME,VOLUME): DATAFILl
COpy ENTIRE DATA SET? Y
TARGET (NAME,VOLUME): DATAFIL1,EDX002
ARE ALL PARAMETERS CORRECT? Y
COPY COMPLETE
50 RECORDS COPIED
COMMAND (?):

CD - Copy Where Rece 1 vi n9 Member Is Too Sma 11

COM~'AND (?): CD
SOURCE (NAME,VOLUME): DATAFILl
COpy ENTIRE DATA SET? Y
TARGET (NAME,VOlUME): DATAFIL2

***TARGET DATA SET TOO SMAll***
***COPY REQUEST CANCEllED***
Note: No data is copied in this case

0 ',·
,I

Chapter 4. The Utilities

61

$COPY

()

CD - Copy A Part i a 1 Data Set

COMMAND (1): CD
SOURCE (NAME,VOLUME): DATAFILl
COpy ENTIRE DATA SET? N
FIRST RECORD: 1
LAST RECORD: 3
TARGET (NAME,VOlUME): DATAFIL2
FIRST RECORD: 1
ARE ALL PARAMETERS CORRECT? Y
COpy COMPLETE
3 RECORDS COPIED
COMMAND C?):

CV - COPy A Dj skette To A Backup Data Set On 4962 Dj sk

COMMAND

(?):

CV

COpy VOLUME
ENTER SOURCE VOLUME: EDXOOl
ENTER TARGET VOLUME: EDX002
ENTER TARGET DATA SET NAME - eDXOOl
ARE ALL PARAMETERS CORRECT? y
COpy COMPLETE
949 RECORDS COPIED
COMMAND

o

(?):

The CV command copies the entire diskette volume. Therefore the
target data set on the 4962 disk must equal the diskette size in
reco rds;
949 records
for
Diskette 1,
1924
records
for
D i skette2. Use $DISKUTl to a llocate the data set on the disk.
p

o
62

SC34-0313

$COPY
RE - COPY A Basic Exchange Diskette Data Set To Disk

COMMAND (1): RE
SOURCE ($$EDXVOL,VOLUME): $$EDXVOL,BASIC
TARGET (NAME,VOLUME): DATAFIL1,EDX002
SPECIFY START/END? Y/N: N
ENTER BASIC EXCHANGE DATA SET NAME: DATA
NUMBER OF RECORDS COPIED: 52
COpy COMPLETED
COMMAND (?):

WE - Copy A D j sk Data Set To A Bas i c Exchange Diskette

,0

COMMAND (1): WE
SOURCE (NAME,VOLUME): DATAFIL1,EDX002
SPECIFY START/END? Y/N: N
TARGET ($$EDXVOL,VOLUME): $$EDXVOL,BASIC
ENTER BASIC EXCHANGE DATA SET NAME: DATA
COPY COMPLETED
COMMAND (?):

o
Chapter 4.

The Utilities

63

$COPYUTl

o

$COPYUTl - COpy DATA SET WITH ALLOCATION

$COPYUTI performs .several related COpy functions. These functions determine the size and organization of the source data
set to be copied, allocates a member on the target volume, and
then cop i es the source member to the target member.
If a member already exists on the target volume, it is
deleted, reallocated, and the new source copied to the target
volume. There are no prompting messages asking if you wish to
replace the existing member.

~§tut;on:

Jiote: For any copying related to tape, see "$TAPEUTI
Management" on page 311

-

Tape

$COPYUTl Commands

The commands avai lable under $COPYUTI are listed below. To display this list at your terminal, enter a question mark in
response to the prompt i ng message COMMAND (?):.

('~

O..
/

COMMAND (1): ?
CM---COPY MEMBER FROM SOURCE TO TARGET
------ MULTIPLE COPY COMMANDS----CALL--COPV ALL MEMBERS FROM SOURCE TO TARGET
CAD---COPY ALL DATA MEMBERS FROM SOURCE TO TARGET
CAP--~COPY ALL PROGRAMS FROM SOURCE TO TARGET
CG----COPY ALL MEMBERS S~rARTING WITH TEXT FROM •••
CNG---COPY ALL MEMBERS NOT STARTING WITH TEXT FROM
------END OF MULTIPLE COpy COMMANDS----SQ----SET PROMPT MODE FOR ALL MULTIPLE COPY COMMANDS
NQ----RESET PROMPT MODE FOR ALL MULTIPLE COpy COMMANDS
--CA-- WILL CANCEL MULTIPLE COpy COMMANDS
CV---CHANGE SOURCE AND TARGET VOLUMES
EN---END PROGRAM
? ---HELP
COMMAND (?):

After the commands are displayed, you are ag~in prompted with
COMMAND (1):. You respond with the command of your cho i ce (for
example, CM).
64

SC34-0313

o

o

$COPYUTl
The fo llow i ng commands mod i fy the way the mu 1 tip Ie copy
commands work; if needed, they must be entered before you start
a multiple copy function.
SQ

You are asked if you want to copy the current member.

NQ

No quest ions are asked. All matched members
This is the default.

are

cop i ed.

The following keyboard function is invoked with the ATTENTION
key. (It is not a command.)
CA

If entered, CA stops the multiple copy after the current
member is cop i ed.

When $COPYUTI is loaded, the source and target volumes are set
to the IPl volume. You can then change the source and target
volumes. Once the volumes are set, the copy commands copy members from the source volume to the target volume unti I you do a
CV to change a volume.

()

The CG (copy gener i c) and CNG (copy not gener i c) commands
prompt you for a text string. The source volume directory is
then searched for names beginning with this text string. Use
CG to copy only those members beginning with the text string.
Use CNG to copy only those members that do not begin with the
text string.
If the multiple copy commands stop because the target volume is
full, you can mount a new volume and continue the copy. Thus,
you can create a disk backup spanning several diskettes. The
actua I copy process may take longer than with the ut iii ty
$MOVEVOl, but may use fewer diskettes as only members are
copied. In addition, single and double-sided diskettes can be
intermixed.
Since $COPYUTI deletes a member if it already exists, the multiple copy functions run faster if the target volume does not
contain the same member names. If you are creating a new volume, use $INITDSK to start with an empty target volume.
The multiple copy commands will not copy the supervisor
($EDXNUC). Th is prevents the inadvertent loss of a ta i lored
supervisor. Furthermore, since the supervisor is allocated
when the disk is initialized, the eM command will not allocate
$EDXNUe on the target volume. It will copy $EDXNUe from source
to target but only if the size of $EDXNUe on the target is the
same size as on the source.

o
Chapter 4. The utilities

65

No absolute record copy from disk or diskette is provided.
Ther.fore the s~etial names $$, $$EDXLIB, $$EDXVOL are hot
allowed. The $COPV utility provides ~n absolute copy by.record
number.

o

o

o

$COPYUTl
Example

> $L $COPYUTI
$COPYUTI
35P,ll:l6:57, LP= 6900

** WARNING **
MEMBERS ON TARGET VOLUME WILL BE DELETED.
REALLOCATION AND COPYING OF MEMBERS IS
DEPENDENT ON SUFFICIENT CONTIGUOUS SPACE.
THE DEFINED SOURCE VOLUME IS EDX003, OK ? Y
THE DEFINED TARGET VOLUME IS EDX003, OK 1 N
ENTER NEW TARGET VOLUME: MIKES
MEMBER WILL BE COPIED FROM EDX003 TO MIKES OK?: Y
COf1MAND ( ? ) : CM
ENTER FROM(SOURCE) MEMBER: COFFEE
ENTER TO (TARGET) MEMBER OR * FOR SAME NAME AS SOURCE:GO
GO
COpy COMPLETE
4 RECORDS COPIED
COMMAND (?): CM LEM *
LEM COPY COMPLETE
10 RECORDS COPIED
COMMAND (?): CG

o

ENTER GENERIC TEXT: MIKE
MIKEEDIT COpy COMPLETE
MIKEANL
COpy COMPLETE
MIKEDATA COpy COMPLETE

54 RECORDS COPIED
13 RECORDS COPIED
50 RECORDS COPIED

MIKENAME TOO LARGE TO COpy, ONLY 92 RECORDS LEFT IN LIB
TARGET VOL IS FULL,DO YOU WISH TO CaNT ON A NEW VOL?: Y
MOUNT NEW VOLUME AND DO A $VARYON
THEN ENTER ATTN RESTART TO CONTINUE COPY
> $VARYON 2
EDXOOI ONLINE
> RESTART

o

THE DEFINED TARGET VOLUME IS MIKES, OK
VOLUME NOT MOUNTED
ENTER NEW TARGET VOLUME: EDXOOI
MIKEl
COpy COMPLETE
100 RECORDS
COMMAND(l): SQ
CON~'AND ( 1): CALL
COpy TEMP
? Y
TEMP
COpy COMPLETE
40 RECORDS
COpy EDITWORK 1 N
COpy DATAFILE 1 Y
DATAFILE COpy COMPLETE
110 RECORDS
COMMAND (1):

1 y
COPIED

COPIED
COPIED

Chapter 4. The Utilities

67

o

$DASDI - FORMAT DISK OR DISKETTE
$DASDI initializes your 4962 or 4963 disk or formats diskettes
on the 496(t or 4966 diskette un i ts. The ut i I j ty can be used
online. When this utility is invoked, you are prompted for one
of the following disk or diskette initialization option!;:

•

Option 1 - 4964,4966 diskette initialization •

•

Option 2 - 4962 disk initialization

•

Option 3 - 4963 disk initialization

$DASDI must be loaded into part i t i on 1.
C~ution:

For disk initialization, a program tha~ accesses the
disk being initialized should not be run concurrently with this
utility.

Diskette initialization can run concurrently with other programs.

o

Option 1 - 4964, 4966 Diskette Initialization

Diskette Formats
The
$DASDI
utility
reformats
single
diskettes. Three formats are ava i lable:

and

double-sided

1.

Format for use wi th the Ser i es/l Event Dr i ven Execut i ve

2.

Format to the IBM Standard for Informat i on Interchange

3.

Format entire diskette to 128,256, or 512 byte records.

If you select the Event Driven Executive format, all tracks are
formatted for 128 byte sectors. Also, cylinder 0 is formatted
accord i ng to the IBM Standard for Informat i on Interchange. The
assigned volume label is IBMEDX.
Note: Use this format
128-byte sectors.

if all cylinders are to be formatted to

If you initialize according to the IBM Standard for Information
Interchange, Cylinder 0 is formatted for 128-byte sectors, and
the remaining cylinders are formatted for either 128-,256-, or

68

SC34-0313

o

o

SDASDI
5l2-byte records. You are asked to select the desired
The assigned volume label is IBMEDX.

size.

When you initialize according to sector size, all cylinders are
formatted to the si ze you select (128-, 256-, or 512-bytes). No
volume labels, headers, or deleted records are written on
Cylinder o.
Caut; on: In th is format, the diskette is not usab Ie on an Event
Dr i ven Execut i ve system except for reformatt i ng.

Operating Characteristics
You are asked to i dent i fy the diskette dr i ve by dev i ce address.
The selected diskette drive is varied offline and a .warning
message issued to you before proceeding. On a 4966, diskette
initialization can be performed only on slot 1. You are then
prompted to se lect the opt ions des ired.
Comp let i on of the
reformatt i ng is i nd i cated by the d i SP layed messages:

'IBMEDX VARIED ONLINE'
'FORMATTING COMPLETE'

In the process of reformatting, a new volume label (IBMEDX) is
written.
Caut; on: Do not use $C to cance 1 formatt i ng ope rat i on. Enter>
$DASDI to force term i nat ion.

o
Chapter 4. The Utilities

69

[$DASDI

I

()

Examples
Format Dis k e t t e f

$OASDI

0 ,.

Event D ,.~ n E x e cut i ve

15P,OO:28:55,LP= 7EOO

DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
1 = 4964, 4966 DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 1

**********************************************

*
*
*
*

DISKETTE FORMATTING PROGRAM
IF FORMATTING IS IN PROGRESS, DO NOT
CANCEL ($C) THIS PROGRAM. INSTEAD,
ENTER ATTN/$DASDI
TO FORCE TERMINATION.

*

*
*

*
**********************************************
ENTER DISKETTE ADDRESS IN HEX 12

INITIALIZE FOR USAGE WITH THE EVENT DRIVEN EXECUTIVE? Y
EDX

VARIED OFFLINE
** WARN1NG **
FORMATTING WILL DESTROY ALL DATA. CONTINUE? Y
IBMEDX VARIED" ONLINE

FORMATTING COMPLETE
LOAD $INITDSK? Y
$INITDSK
16P,OO:30:16, lP= 8000
COMMAND (?>: I
LIBRARY INITIALIZATION
l=ENTER VOLUME LABEL
2=ENTER DEVICE ADDRESS
SELECT OPTION: 2
ENTER DEVICE ADDRESS IN HEX: 12

o
70

SC34-0313

o

$DASDI ]

Format Diskette for Event Drlven Executive (continued)

WRITE VOLUME LABEL? Y
ENTER DESIRED VOLUME LABEL (1-6 CHARACTERS) EDX
ENTER OWNER ID (1-14 CHARACTERS): FCS
LABEL WRITTEN
CREATE A DIRECTORY? Y
HOW MANY RECORDS IN DIRECTORY? (2 - 120): 13
MAXIMUM NO. OF MEMBERS =
102, OK? Y
DO YOU WISH TO RESERVE SPACE FOR A NUCLEUS? Y
ENTER MAXIMUM SIZE IN K-BYTES (16-64): 64
DIRECTORY INITIALIZED
WRITE IPL TEXT? Y
IPL TEXT WRITTEN
COMMAND (?): EN
$INITDSK ENDED AT 00:31:10

c

ANOTHER DISKETTE? N
$DASDI

ENDED AT 00:31:15

o
Chapter 4. The Utilities

71

$DAS~I 1
Format Diskette to IBM Standards for Information

Interch~ng~

o

ENTER DISKETTE ADDRESS IN HEX 02
INITIALIZE FOR USAGE WITH

THE~

EVENT DRIVEN EXECUTIVE? N

INITIALIZE TO STANDARDS FOR INFORMATION INTERCHANGE? Y
SELECT SECTOR SIZE (1=128, 2=256, 3=512): 2
NND002 VARIED OFFLINE
** WARNING **
FORMATTING WILL DESTROY ALL DATA. CONTINUE? Y
IBMEDX VARIED ONLINE
FORMATTING COMPLETE
ANOTHER DISKETTE? N
$DASDI ENDED AT 00:44:30

Format Diskette to 128-, 256-, or 512-Byte Records

ENTER DISKETTE ADDRESS IN HEX 02
INITIALIZE FOR USAGE WITH THE EVENT DRIVEN EXECUTIVE? N
INITIALIZE TO STANDARDS FOR INFORMATION INTERCHANGE? N
SELECT SECTOR SIZE (1=128, 2=256, 3=512): 3
** WARNING **
FORMATTING WILL DESTROY ALL DATA. CONTINUE? Y
FORMATTING COMPLETE
ANOTHER DISKETTE? N
$DASDI

ENDED AT 01:01:27

c
72

SC34-0313

$DASDI

o

Option 2 - 4962 Disk Initialization
The disk initialization utility for the 4962 initializes your
disk, writes sector addresses on the entire volume, analyzes
and locates defective sectors, and assigns alternate sectors.
After initialization, the disk is ready for use with the Event
Driven Executive. For a new disk device, initialization should
be performed before the Event Driven Executive system is
installed on it.
When using this option, you are required to select one of two
initialization types:
•

PI (primary) - initialize a disk for the first time or to
completely reinitialize the disk.

caution:

This option rewrites the complete disk surface
and destroys all data that may have been on the disk.

•

AS (alternate sector assignment) - assign alternate sectors without destroying the data currently on the disk.

Use the AS option only when necessary. Cylinder 1 has a
limited number of available alternate sectors. Once an alternate sector is assigned, it can only be recovered by writing
all sector IDs during a primary initialization.

H.o..:t~:

()

The PI option verifies and corrects sector IDs and analyzes the
disk surface to find defective sectors. If the programmer's
console is present, the data buffer displays the number of the
cylinder currel,tly being initialized. If a defective sector is
found, either on a movable or a fi xed head, an alternate sector
is ass i gned from Cyl i nder 1 and a message is issued by the lit i 1ity. When an alternate sector is assigned, the sector ID of the
defective sector references the location of its alternate on
Cylinder 1. Defective sectors are marked defective. Skewed IDs
are written where normal IDs fail. For a defective sector on
Cylinder 0, an alternate good sector under the same head on
Cyl i nder 0 is reass i gned to the defect i ve sector.
The AS option forces the assignment of alternate sectors without destruction of data on the disk. $DASDI tries to move data
from the defective sector to its assigned alternate. If data
recovery fails, $DASDI issues a message. and the alternate data
field is flagged with one bits (hexadecimal FFFF). If an
already ass i gned alternate is found defect i ve, it is marked
defective and a new alternate is assigned. Data recovery is
attempted in th i s case a Iso.

o
Chapter 4. The Utilities

73

$DASDI
The number of alternate sectors avallable on Cyl inder 1 depends
on the 4962 model:

Model

Capacity
9.3 MB
13.9 MB

()

Alternates

120
180

o
74

SC34-0313

$DASDI

o

Examples

Primary Initialization of a 49§2Disk

$DASDI I5P,OO:28:55,LP=7EOO
DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
I = 4964, 4966 DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 2

*******************************************************

*
*
*

*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*
*

*******************************************************
DISK INITIALIZATION STARTED
ENTER DEVICE ADDRESS - NNN: 003

,
0

ENTER INITIALIZATION TYPE - PI OR AS: PI

)/

ENTER INITIALIZATION MODE
REMOVE PREVIOUS ••. DEFECTIVE SECTOR FLAGS? YiN: NO

I nth e abo vee xamp 1 e, you are pro mpte df 0 r the following:
•

Disk or diskette initialization option: 1,2, or 3

•

Initialization type: PI for primary or AS
sector

•

Initialization mode:

for

alternate

NO - Retain defective flag,byte of each sector 10.
YES - Rewrite sector flag IDs and reinitiali ze the flag
byte where possible. Allows a disk with invalid sector
flags to be initialized.

o

Ca u t ; 0 n : Respond YES only if you l\11 S ht 0 r e wr i tea 11 sector
IDs. This causes the loss of any IBM facto~y assigned defect i ve sector flags. I f you respond YES, the fo llow i ng ver i fy
operation occurs:

Chapt~r

4. The Utilities

75

$DASDI

FACTORY MARKED DEFECTIVES MAY BE LOST
IS CHANGE OF REPLY DESIRED? YiN: NO

NO

Operation is to continue with flags considered invalid.

YES

A reprompt of the previous message results, allowing you
to change the status of the defecti ve flags.

The following message is repeated
ass i gnment, i f any occur:

ALTERNATE SECTOR ASSIGNED

FOR

for

each

alternate

sector

ccchss

Note: ccchss=the address of the al ternate sector ass i gned.

o
76

SC34-0313

$DASDI

o

I·

Alternate Sector Ass i gnment on a 4962 Di sk

$DASDI I5P,00:28:55,LP=1EOO
DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS:
1 = 4964, 4966 DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 4963 DISK INITIALIZATION
4 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 2

*******************************************************

*
*
*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*

*
*

*******************************************************
DISK INITIALIZATION STARTED
ENTER DEVICE ADDRESS - NNN: 003

ENTER INITIALIZATION TYPE - PI OR AS: AS

o

ALTERNATE SECTOR MODE
ENTER SECTOR ADDRESS - CCCHSS

The following message is displayed at your terminal indicating
completion of the disk initialization.

ALTERNATE SECTOR ASSIGNED FOR CCCHSS
DISK INITIALIZATION COMPLETE
$DASDI

o

ENDED AT 00:31:15

ccchss: The address of the sector presumed to be defect i ve. The
utility assigns an alternate sector on Cylinder 1, then tries
to move the data from the defect i ve sector, to the a I ternate
sector. Alternates on Cylinder 0 are located on the same track
and head as the defects on Cylinder O. This process may reveal
that the sector 105 on Cyl i nder 0 are in an i ncons i stent cond i tion. Processing continues if possible. You cannot assign an
alternate to a defective sector on Cylinder 1.

Chapter 4. The Utilities

11

$DASDI
Note: Theft xed head area is always referred to as Cylinder
303. You should consider that this cylinder contains eight
heads (zero through seven). To refer to sector five under fixed
head four, you would speci fy 303405 for ccchss.

()

The $DASDI utility program identifies and restores defective
sectors on a 4963 disk device. The 4963 comes from the factory
already formatted with all logical sector addresses assigned
and tested and with alternates assigned to any defective sectors; you do not have to initialize a newly installed 4963.
With this function, you are given the option of:
•

Identifying a specific sector as being defective, causing
the uti lity to assign an alternate to it.

•

Restoring a previously identified defective sector, causing the uti lity to free its alternate.

•

Printing a map of all defective sectors, indicating if the
defect i ve sector was factory or user i dent if i ed.

Alternate sectors are ass i gned as fa llows:
•

If the primary alternate (the extra sector on the same
track) is available, it is used as the alternate for the
defective sector.

•

If the primary alternate is not available (either it is
defective or already assigned), a secondary alternate is
assigned from the nearest track under the movable heads
having an avai lable primary alternate •

.t:I 0 t e : The pr i mary a I t ern ate under a f i xed head i s ass i g ned to a
sec tor t hat is u nd e r the sam e fix e d h e ad.
When restoring sectors from defective status, $DASDI physically moves the sectors within the track to minimize the processing time between consecutive logical sectors. You cannot
restore:
•

A factory ass i gned defect i ve sector

•

A primary defect (one that cause the
sector for the t r a c kt 0 b e ass i g ned)

78

SC34-0313

primary

alternate

o

o

•

A sector whose ID has been wr i tten extende«:J

Examples

InvQkjng 4963 Disk Initialization

$DASDI ISP,OO:28:SS,LP=7EOO
DIRECT ACCESS DEVICE INITIALIZATION
DISK INITIALIZATION OPTIONS;
1 = 4964, 4966 DISKETTE INITIALIZATION
2 = 4962 DISK INITIALIZATION
3 = 496~ DISK INITIALIZATION
4 = EXIT DISK INITIALIZATION
ENTER DISK INITIALIZATION OPTION: 3
******************************************~************

*

*

*

WARNING
NO USER PROGRAM SHOULD BE RUNNING
WHILE PERFORMING DISK INITIALIZATION

*
*

*

**********************************~********************

o

DISK INITIALIZATION STARTED
ENTER DEVICE ADDRESS - NNN: 048
AVAILABLE OPTIONS ARE:
IDENTIFY DEFECTIVE SECTORCS)
RESTORE DEFECTIVE SECTORCS)
3 ~ MAP DEFECTIVE SECTORCS)
4 - EXIT UTILITY

THE

1 2 -

ENTER OPTION: n

The entry n must be Qne of the four options listed in the ~Om­
mand menu. You can choose to identify, restore, or map defect i ve sectors. The ut iIi ty termi nates when you enter Opt i on 4.

o
Chapter 4. The Utilitie$79

SDASDI

Obta i n i ng Map of Defect i ve 4963 Sectors

o

ENTER OPTION: 3
DEFECT

ALTERNATE

EXTENDED

000101
020114

Assigning an Alternate Sector

ENTER OPTION: 1
ENTER CCCHHSS OF SECTOR TO BE MARKED
DEFECTIVE OR END: 0010205
ENTER 'V' TO ASSIGN ALTERNATE,
ANYTHING ELSE TO CANCEL: Y
ccchhss ASSIGNED ALTERNATE OF 0010205

rr,)·
"
'\Jl "

ENTER CCCHHSS OF SECTOR TO BE MARKED
DEFECTIVE OR END: END
ENTER OPTION:

Note: In the preceding example, the disk address for a 4963 is
entered ~s a seven-digit number (0010205): the cylinder is 1
(001), the head is 2 (02), and the sector is 5 (05).

c
80

SC34-0313

$DASDI

o

Re&tgrjog i' rr,vigyslX A=,signed Alt!!rnate Sector

ENTER OPTION: 2
ENTER CCCHHSS OF SECTOR TO BE
RESTORED OR END: 0010207
OOloa07 HAS BEEN RESTORED FROM ccchhss
ENTER CCCHHSS OF SECTOR TO BE
RESTORED OR END: END
ENTER OPTION: 4
DISK INITIALIZATION ENDED
$DASDI
ENDED AT 01:01:27

o

o
Chapter 4. The Utilities

81

$DEBUG
$DEBUG

DEBUGGING TOOL

()

$DEBUG is a tool for locating errors in programs. By operating
a program under control of $DEBUG, you can:
•

Stop the program each time execution reaches any of one or
more instruction addresses that you have specified. These
addresses are known as breakpo i nts.

•

List the contents of spec if i ed storage locat ions or reg i ster contents each ti me the program execut i on reaches one or
more of your breakpo i nts.

•

Trace the f low of execut i on of instruct ions wi th i n the program by spec i fyi ng one or more ranges of instruct ion
addresses (known as trace ranges). Each time the program
executes an instruction within any of the specified trace
ranges, the term ina I d i sp lays a message i dent i fy i ng the
task name and the instruction address just executed.
Optionally, program execution can be stopped after each
instruct i on is executed with i n a trace range.
Also,
optionally, storage locations or register contents can be
displayed on the terminal after the execution of each
instruct i on wi th ina trace range.

•

Restart program execution at the breakpoint or trace range
address where it is currently stopped. Or, in the case of
Event Driven Language instructions, restart program execut i on at other than the next instruct i on.

•

List additional registers and storage location contents
while the program is stopped at a breakpoint or at an
instruction within a trace range.

•

Patch the contents of storage locat ions and reg i sters.

i--~

~J

Using these functions, you can determine the results of computations performed by the program
and
the
sequence
of
instruction execution within the program. You can also modify
data or instruct ions of the program dur i ng execut i on.
To use $DEBUG effectively, you must have a printed listing of
the program to be debugged wh i ch shows the storage addresses of
each instruction and data area of interest. To obtain such a
listing, specify PRINT GEN in the source program, after the
PROGRAM statement, at assembly time. A PRINT NOGEN should precede the PROGRAM statement to prevent the unnecessary printing
of many system EQU statements, etc. For $EDXASM a satisfactory
listing is produced by specifying LIST.

82

SC34-0313

c

$DEBUG

o

Debug Usage Cons;derat;ons
The program debug fac i i i ty aids in
test i ng
mu I t i tasked
programs in a multiprogramming and multiuser environment. All
of your interactions are via terminals and do not require the
use of the mach i ne conso Ie. A summary of the maj or features of
the $DEBUG program follows:
Notes:

0

1.

$DEBUG should be invoked from a terminal other than the one
used by the program to be tested if the program uses
4978/4979 terminals in STATIC screen mode.

2.

Mu I tip Ie breakpo i nts and trace ranges can be estab I i shed.

3.

Several users can each use separate copies of $DEBUG concurrently, if sufficient storage is available.

4.

Ser i es/1 assemb ler language as we 11 as Event
language instruct ions can be traced and tested.

5•

Both superv i sor and appl i cat i on programs can be debugged.

6•

Task names are automaticallY obtained from the program to
be tested.

7.

Task reg i s t e r s i 1 and i 2 can be dis p lla ye d and mod i fie d •

8.

Hardware reg i sters RO through
displayed and modified.

9.

Five different data formats are accepted by the list and
patch functions.

R7

and

the

IAR

Dr i ven

can

be

10. No special preprocessing of a program is required to permit
it to be debugged.
11. All address spec if i cat ions are made as shown in the program
assembly listing without concern for the actual memory
addresses where the program is loaded into storage for
testing.
12. No processing overhead is incurred unless the hardware
t rae e f eat u rei sen a b led • Eve nth en, the h a r d t'H) r e t race
feature is only enabled for speci fic tasks.

o

13. The debug facility can be activated for a program that is
experiencing problems but was previously loaded without
the debug facility.

Chapter 4. The utilities

83

SOEBUG ]
1 4. Apr 0 g r. am can bed e bug g e d b y loa din g $ 0 E BUG fro mat e r min a I

other than the one from which the program to be tested was
loaded.

o

15. Breakpoints or trace ranges specified during a debug session can be listed.
16. $OEBUG can only control the execution of programs containi ng no more than 20 tasks.

The $OEBUG program can be used to test different types of
programs. The mos·t: common usage is to debug app I i cat ion
programs written using the Event Driven Language instruction
set. However, it can also be used to test portions of application programs that are written in assembler language and
portions of the sliPervisor program that are written in either
Event Driven Language or Series/l assembler language. Testing
of the supervisor should normally be required only if you are
making your own modifications or additions to this program.
You can use $OEBUG to debug overlay programs by loading the
primary program that will subsequently load the overlay program to be debugged. Load $OEBUG after the overlay program is
in storage. (For more information on debugging overlay programs that are part of the Event Driven Language compiler,
$ E0 XAS M, ref e r tot h e I n t ern aID e.JLi..rul). T0 sus pen d e x e cut ion 0 f
the overlay program so that $OEBUG can be loaded, enter a
REAOTEXT or QUESTION as the first instruction of the overlay
program. Multiple. Terminal Manager users should code a CALL
ACTION instruction to provide the required function. When the
overlay program is entered, it pauses at the first instruction
and waits for input. At this point, load $OEBUG. This can be
done from another terminal assigned to the same partition.
Specify the overlay program name when prompted for the program
name and indicate that no new copy of the overlay program is to
be loaded.
The $OEBUG utility can then be used to set breakpoints and
perform other functions as requi red. If the overlay program
causes a program check, it is cancelled by the system. If an
overlay program terminates through a PROGSTOP or for any other
reason and is reloaded by the primary program, any breakpoints
or patches made prior to the termination are lost.
Use of certa in capab i i i ties of $OEBUG requ i res a thorough knowledge of both the supervisor and debugging techniques.
For
example, altering the contents of storage locations occupied
by the supervisor or contents of the Series/l hardware registers could have undesirable effects on the operation of the
supervisor or application programs in operation concurrently
with $DEBUG.

84

SC34-0313

c

$DEBUG

o

Only those instructions that execute as part of a task
can be debugged. Those port ions of the superv i sor program that
service interrupts created by various hardware devices (disk,
timers, terminals, etc) cannot be executed under control of
$DEBUG.

N~:

start and Term;nat;on Procedure
The primary method for activating the debug facility is to load
$DEBUG and then specify the name of the program to be tested,
when prompted CDBUGDEMO in the following example). $D.EBUG then
loads your program, inserts a breakpoint at the first executable instruction, and notifies you that your program is stopped
at this point. For example:

>

$L $DEBUG

$DEBUG
26P,09:10:17, LP=5200
PROGRAM NAME: DBUGDEMO
DBUGDEMO
4P,09:10:28, LP=6700
DBUGDEMO STOPPED AT 009E

o
Chapter 4. The Utilities

85

SDEBUG

O
·'~'

$DEBUG Commands

,

'

The following commands are avai lable:

AT
BP
END
GO
GO TO

HELP
LIST
OFF
PATCH
POST
QUALIFY
WHERE

- Set breakpoints and trace ranges
- List breakpoints and trace ranges
thus far specifiad
- Terminate debug facility
- Activate stopped task
- Change execution sequence
- List debug commands
- Display storage or registers
- Remove breakpoints and trace ranges
- Modify storage or registers
- Post an event Qr process interrupt
- Modify base address
- Display status of all tasks

Command Entry
A command is entered by press i ng the ATTENTION key on your terminal and entering the command name, or the command name plus
the requ i red parameters for the command, in response to the
prompt i ng message' >, •

Syntax Summary
In'the command syntax examples and descriptions in the following sections, keyword parameters are capitalized and variable
parameters are shown in lower case, Whenever one of several
keywords can be chosen, these keywords are separated by a
slash(/). The examples show the vario~s formats of each command which are available for different purposes. Detailed syntax
descr i pt ions
are
presented
under
$DEBUG
Command
Descriptions.

o
86

SC34-0313

$DEBUG

o
Set breakpoints and trace ranges:
AT ADDR address NOLIST/LIST NOSTOP/STOP
AT TASK taskname start-add end-add EDX/ASM NOLIST/LIST
NOSTOP/STOP
AT ALL NOLIST/LIST NOSTOP/STOP
NOLIST/LIST NOSTOP/STOP
AT *
Terminate $DEBUG:
END
Activate breakpoints or trace ranges:
GO ADDR address
GO TASK taskname start-add end-add
GO ALL
GO *
List ·$DEBUG commands:
HELP
Display storage or registers:
LIST
LIST
LIST
LIST
LIST

ADDR
R0 •.• R7
#1/12
IAR

address
taskname
task name
task name

length
length
length
length

mode
mode
mode
mode

*

Remove breakpoints or trace ranges:
OFF ADDR address
OFF TASK taskname start-add end-add
OFF ALL
OFF *

o
Chapter 4. The Utilities

87

$DEBUG

o
Modify storage or registers:
PATCH
PATCH
PATCH
PATCH
PATCH

ADDR address
taskname
taskname
IAR
taskname

R 0 ••• R7
#1/#2

length
length
length
length

mode
mode
mode
mode

*

Post events or process interrupts:
POST ADDR address code
POST PIxx code
POST *
Modify base address:
QUALIFY base disp
Q base displ
Display status of all tasks:
WHERE
Display breakpoints and trace ranges:

(;(--~

IV

BP

Change execution sequence:
GOTO

current-address

new-address

o
88

SC34-0313

o

$DEBUG

Example: The command syntax permits most keyword parameters to
be abbreviated to a single character, except ALL
which
conflicts with ADDR; entry of AL for ALL and A for ADDR is permitted. You are prompted for command parameters individually,
unless you are sufficiently familiar with the syntax to enter a
complete command on a single line. For example, to set the task
TIMET into a program trace between addresses 0 and 3000 and
also print the contents of both task registers in task LOOP2 in
decimal mode but continue processing, the following interactive keyboard sequence may occur. Each response is terminated
by a RETURN key entry.

>

o

AT

OPTIONC*/ADDR/TASK/ALL): TASK
TASK NAME: TIMET
FIRST ADDRESS: 0
LAST ADDRESS: 3000
TRACE TYPECEDX/ASM): EDX
LIST/NOLIST: LIST
OPTIONC*/ADDR/RO ••• R7/tl/t2/IAR): 11
TASK NAME: LOOP2
LENGTH: 2
MODEeX/F/D/A/C): F
STOP/NOSTOP: NOSTOP

1 BREAKPOINT(S) SET

Identical
response:

results

are

obtained

by

entering

the

single

> AT T TIMET 0 3000 E L 11 LOOP2 2 F N
1 BREAKPOINT(S) SET

o
Chapter 4. The Utilities

89

[ $DEBUG I

o

$DEBUG Command Descriptions
AT - Se't Breakpo; nts and Trace Ranges

AT sets breakpoints and trace ranges. The LIST and STOP options
established for a breakpoint or trace range are executed prior
to executing the instruction that satisfied the breakpoint or
trace range spec if i cat ion. l~hen the spec if i cat i on for a breakpoint or trace range is satisfied, the task currently active is
detoured and $DEBUG performs the fo llow i ng act i OilS for the subject task: prints its status, prints the LIST specification,
and optionally puts the task into a wait state. If the NOSTOP
opt i o'n was requested, task status is pr i nted as "taskname
CHECKED AT XXXX".
The STOP opt i on generates a "taskname
STOPPED AT XXXX" message.
The
and
ly,
can

LIST and STOP options for all currently defined breakpoints
trace ranges can be modified by entering AT ALL. Similarthe speci fications for the most recently entered AT command
be altered by the AT * option.

Notes:
1.

You cannot set breakpo i nts in ATTNL 1ST rout i nes.

2.

You can only set breakpo i nts on EDl instruct ions wi th i n an
EDL program.

()

Syntax

AT ADDR address NOLIST/LIST NOSTOP/STOP
AT TASK taskname start-add end-add EDX/ASM NOLIST/LIST
NOS TOP/STOP
AT ALL NOLIST/LIST NOSTOP/STOP
AT *
NOLIST/LIST NOsTOP/STOP

Operands

Description

ADDR

Keyword indicating this is an instruction program
breakpoint specification.

address

Instruction address where a breakpoint
inserted.

90

SC34-0313

is

to

be

o

$DEBUG

o

Caut;on: Be sure that this is the first word of an
executable instruction, since the low-order byte of
this word will be modified by $DEBUG.
Unpredictable results can occur if you speci fy the address of
data or the address of other than the first word
generated by an instruct i on.
NOlIST

No special print request is needed at this breakpo i nt or trace range.

LIST

Complete spec if i cat i on for a storage or reg i ster
display. See the lIST command for a description of
a 11 list opt i on5 and parameters.

NOSTOP

Process; ng is to cant i nue
notification has occurred.

STOP

The task is to stop whenever this breakpoint
trace range speCification is satisfied.

TASK

Trace range spec if i cat i on.

taskname

Name of task to be traced. If. the program conta ins
on 1 y one task , om i t t his par a met e r •

start-add

Trace range starting address. Since your program
is not actually modified by a trace specification,
no special care needs to be exercised in entering
trace addresses.

end-add

Trace range end i ng
address.
To estab Ii sh a
breakpoint at an individual assembler instruction,
specify both the starting and ending address to
co i hC ide with the instruct i on address.

EDX

Only Event Driven language instructions are to be
traced.

ASM

All Series/l assembler instructions
spec if i ad range are to be traced.

All

All cUrrently defined breakpoints and trace ranges
are redef i ned with new list and stop opt ions.

*

The most recent ly def i ned breakpo i nt or trace range
specification is to be redefined. This specification is determ~ned by the last usage of an AT, GO,
or OFF command.

after

the

breakpo i nt

within

~r

the

o
Chapter 4. The Utilities

91

[$DEBUG
BP - Li st Breakpoi nts and Trace Ranges

()

BP displays all breakpoints and trace ranges that have been
specified during the current debug sessio~. The information
supp 1 i ed for each breakpo i nt inc 1 udes t he task
address,
instruction type, associated list options, and whether a stop
was specified.
Syntax

BP

No operands are requ ired.
END - Termi nate SDEBUG

END removes all currently active breakpoints and trace ranges,
act i vates a 11 current 1 y stopped tasks, and term i nates $DEBUG.
Syntax

()

END

No operands are requ ired.

o
92

SC34-0313

o

$OEBUG

GO - Act; vate a Stopped Task

GO reactivates any task that has been stopped by $DEBUG. If a
task is stopped at a breakpoint, specify the exact breakpoint
address. If a task 1S stopped as a result of a trace specification, supply the name of the task and an address range which
brackets the addresses in the original trace request. If only
one task is be i ng debugged, no operands need be spec i f i ed.
Syntax

GO ADDR address
GO TASK taskname start-add end-add
GO ALL
GO *
GO

o

Operands

Description
i s

ADDR

Keyword
indicating
specification.

address

Instruct i on address where the task is .stopped.

TASK

Keyword
indicating
specification.

taskname

Name of task to be act i vated. For programs conta i ning only a single task, omit this parameter.

start-add

Trace range start i ng address.

end-add

Trace range ending address.

ALL

All currently stopped tasks are to be activated.

*

The most recently referenced breakpoi nt or trace
range specification is to be used. This specification is determined by the last u7~ge of an At, GO,
or OFF command.
/

this

this

is

a

a

breakpoint

trace

range

o
Chapter 4. The Utilities

93

$DEBUG

GOTO - Change Execut i on Sequence

()

Gala react i vates, at a different instruct i on, any task that has
been stopped at an Event Dr i ven Language
instruct ion.
If
stopped using a breakpoint or trace, supply the current address
and the address at which execution should be resumed. Break~
po i nt or trace spec i f i cati ons are not changed.
S}!ntax

GOTD

Qe.erands

current-address

new-address

Description

current-address
Address where the task is stopped.
new-address Address where execut i on is to be restarted.

()

HELP - Li st $DEBUG Commands
The HELP command produces a list of $DEBUG commands and functions.
Syntax

HELP

No operands are requ ired.

o
94

SC34-0313

o

$DEBUG
LIST - 0; splay Storage or Regi sters

LIST displays the contents of memory locations, or task registers, or hardware registers, or the IAR. The LSB can be displayed by listing the IAR with a length of 11 words.
Any
r~gister data is only guaranteed to be current if the corresponding task is inactive or stopped by a $DEBUG breakpoint or
trace range.
To repeat the most recent I y spec if i ed LIST
command or to verify (list) a patch you have just entered, use
"LIST *".
Syntax

LIST
LIST
LIST
LIST
LIST

ADDR address
RO/ ••• /R7 taskname
#1/#2
taskname
taskname
IAR

length
length
length
length

mode
mode
mode
mode

*

Operands

Description

ADDR

Keyword indicating this is a display of a storage
location.

address

Address of the storage locat i on to be d i sp layed.

length

Length of display in
words,
characters. depend i ng on mode.

mode

Mode of data display:

doublewords,

or

x - hexadec i rna I word
F - decimal number(word)

o-

decimal numberCdoubleword)

A - relocatable address

C - EBCDIC character

o

RO/ ••• /R7

One of the Series/1 hardware registers RO through
R7. To define the start of the LIST.

taskname

Name of task from which register data is to be
displayed. For programs containing only a single
task, am i t th is parameter.

#1/#2

Task reg i ster i1 or #2 spec if i cat ion.

Chapter 4. The Utilities

95

$DEBUG

IAR

Keyword indicating the IA~
Register) is to be displayed_

*

The most recently

s~ecified

(Instruction

LIST

Address

s~ecification

is

to be used. Th is is determi ned by the last usage of
a LIST or PATCH command.

o
96

SC34-0313

o

$DEBUG
OFF - Remove Breakpo; nts and Trace Ranges

OFF removes a breakpoint or' trace range established with the AT
command. To remove a breakpoint, specify the exact breakpoint
address. To remove a trace request, specify the name of the
task and an address range which brackets the addresses in the
original trace request. If a task is currently stopped at the
requested breakpoint or trace range, this task is automatically re~ctivated.
Syntax

OFF ADDR ~ddress (breakpoints)
OFF TASK taskname start-add end-add (trace ranges)
OFF ALL
OFF *

Operands

Description

ADDR

Keyword i nd i cat i ng th i s i s
breakpoint specification.

address

Instruction address where a breakpoint has previously been established.

TASK

Keyword i nd i cat i ng a trace range is to be removed.

taskname

Name of task assoc i ated wit h a trace range. For programs containing only a single task, omit this
parameter.

start-add

Trace range start i ng address.

end-add

Trace range end i ng address.

All

All breakpoints and trace ranges are to be removed.

*

The most recent ly referenced breakpo i nt or trace
r'ange specification is to be used. This specification is determined by the last usage of an AT, GO,
or OFF command.

the

remova I

0

f

the

o
Chapter 4. The Utilities

97

$DEBUGJ

()

PATCH - Modi fy storage or Regi sters

PATCH modifies the contents of memory locations, task registers, hardware registers, and the IAR (Instruction Address
Register). The entire LSB (Level status Block) can be modified
by patching the IAR with a length specification of 11 words.
The patch to any reg i s t e r data i S 0 nl y g u Ct ran tee d i f the cor r e sponding task is inactive or stopped by a $OEBUG breakpoint or
trace range. To respec i fy the data for the most recent patch or
to patch the data displayed by the most recent LIST command,
enter 'PATCH *'.
After the patch command is entered, the current memory or
register content is displayed, and you Ctre prompted for the
patch data (a string of data entries that satisfy the length
and mode spec if i cat 1 ons). The entr i es are separated by spaces,
for example, data ••. data. After the patch data is entered, you
can apply the patch by responding YES, abort by responding NO,
or indicate additional patches with a CONTINUE reply to the
prompt i ng message.
By spec i fy i ng CONTINUE, the patch is
performed and prompting continues for entry of new length,
mode, and data specifications to memory or register locations
immediately behind your previous patch.
If less data than spec if i ed wi th the length operand is entered,
the effective patch is padded with blanks for character data
and zeros for all other data types.

o

Syntax

PATCH
PATCH
PATCH
PATCH
PATCH

Operands

ADDR address
RO/ .•• /R7 taskname
#1/#2
taskname
IAR
taskname

*

length
length
length
length

mode
mode
mode
mode

Description

ADDR

Keyword i nd i cat i ng th is is a storage patch.

address

Address of the storage locat i on to be mod if i ed.

length

Length
of
patch
in
words,
characters depend i ng on mode.

98

SC34-0313

doublewords,

or

o

o

$DEBUG
mode

Mode of data entry:

x-

hexadecimal word
F - decimal numberCword)
o - dec i rna 1 number Cdoub leword)
A - relocatable address
C - EBCDIC character
RO/ ••• /R7

One of the Series/l hardware registers RO through
R7, where the patch is to be started.

taskname

Name of task for which register data is
modified. For programs containing only a
task, ami t th i s parameter.

11/12

Task reg i ster 11 or 12 spec if i cat i on.

IAR

Keyword indicating the IAR
Register) is to be modified.

*

The most recently referenced LIST or PATCH speci fication is to be used. This is determined by the
last usage of a LIST or PATCH command.

(Instruction

to be
single

Address

o

o
Chapter 4. The Utilities

99

I

$DEBUG

I

o

POST - Post an Event or Process Interrupt
POST activates a task waiting for an event or a process inter~,u pt. To d up I i cat e apr e v i 0 u s
p 0 s tin g ,
en t e r
POST
The
address of the ECB (Event Control Block) to be posted is contained in the second word of a WAIT command as shown on a program assembly listing.
Process interrupts can also be posted
by name, using the PIxx option.

*.

POST ADDR address code
POST PIxx code
POST

*

Operands'

Description

ADDR

The address of an ECB (Event Contro I Block).

address

ECB address to be posted.

code

Dec i rna 1 code to be posted to the spec i f i ed ECa.

Plxx

Name of process interrupt PII to PI99.

*

The most recently- referenced ECB address
n a me and cod e spec i f i cat ion i s t 0 b e use d •

or

PIxx

o
100

SC34-03l3

o

$DEBUG

QUALIFY - Modify Base Address
QUALIFY modifies the base address used by $DEBUG to reference
physical storage locations. This command is useful for debugging supervisor program modifications.
Syntax

QUALIFY base displ
base displ

Q

Operands

o

Description

base

New hexadecimal base address. Enter 0 when working
with the supervisor.

displ

Hexadecimal offset to be added to base to form the
new base address for all subsequent address references. Enter the origin of the supervisor program
module as shown on the link editor listing.

o
Chapter 4. The utilities

101

$DEBUG

WBERE - D; splay status of All Tasks

o

WHERE displays the current status of each task. I f a task is
currently processing its breakpoint routine,
i t is marked
CHECKED.
I f a task has been stopped by a breakpoint or trace
request or i f the main task has not yet been attached by $DEBUG,
the task is marked STOPPED.
In all other cases, each task is
shown to be at the currently executing instruction, at the command i t wi 11 start execut i ng when dispatched by the task supervisor, or at the last command executed pr i or to enter i ng a wa i t
state.
Syntax

WHERE

WH

No operands are requ ired.

f)·.·.

\'-

o
102

SC34-0313

o

$DEBUG

Tips and Techniques
Additional breakpoints and trace ranges that are
should usually be established before
initiating
execution with a GO ALL command. At program load time
names are obtained by $DEBUG, and the current status
task can be requested by entering WHERE. For example:

desired
program
all task
of each

> l!JHERE
DBUGDEMO
USERT
LOOP3
LOOP2
TIMET

o

STOPPED AT
AT 02EE
AT 0230
AT OICO
AT 0124

009E

Actual task names are only available if the program is loaded
by $DEBUG. If the program to be tested is already loaded and
executing, task names have been destroyed, and artificial
names are generated by $DEBUG by appending the relative address
(in hexadecimal) of the TCB (task control block) to TASK. For
example:

>

L'IIHERE

TASK0308
TASK02AO
TASKOIE2
TASK0172
TASKOOD6

AT
AT
AT
AT
AT

OOBE
0300
0298
01CO
0164

If the program to be debugged has previously been loaded into
storage multiple times, the load points of all currently active
cop i es are 1 i sted, and YOll have the opt i on to spec i fy wh i ch
copy you wish to debug. You also have the option to request a
fresh copy of the same program to be loaded. For example:

o
Chapter 4. The Utilities

103

I

$DEBUG

()
> $l $DEBUG
SDEBUG
21P,09:37:17, LP=C200
PROGRAM NAME: DBUGDEMO
ALREADY ACTIVE AT 5200 5600 5AOO
DO YOU WANT A NEW COpy TO BE LOADED? N
PROGRAM LOAD POINT: 5600
or
DO YOU WANT A NEW COpy TO BE LOADED? Y
DBUGDEMO
4P,09:38:02, LP=5EOO

When more than one disk/diskette drive is available, programs
from a volume other than the IPL volume can be loaded. For example:

PROGRAM NAME: DBUGDEMO,EDX002

(~
'\...)~j

Notes:
•

SDEBUG is terminated by the command END. It cannot be ended
by the superv i sor ut i i i ty funct i on command $C.

•

When $DEBUG is ended the program wh i ch was be i ng tested
under the control of SDEBUG remains in storage with all .of
j ts tasks act i ve and ope rat i ng.

o
104

SC34-0313

$DICOMP ,.

o

$DICOMP - DISPLAY COMPOSER
The composer allows you to add display profiles and modify
existing display profiles.
Through the use of interactive
dialogue, the program guides you through the g~neration or
alteration of a display profi Ie. Because this program does not
change the bas i c structure of the onl i ne data base, you can use
it at the same time other functions are being performed. This
program can be used to generate a portion of a new display profile. Then you can use $DIINTR to cause the partial display to
be generated. If corrections or additions are necessary, you
can then use $DICOMP to alter the display prof; Ie. These steps
can be repeated unt; I the des ired resu 1 ts are obta i ned.

Invoking $DICOMP
To start execut i on of $DICOMP:
1.

Load the program $DICOMP specifying the appropriate data
set name. $DIFILE, the online data set, or any other data
set can be used. However, you should make sure that another user or program is not changing or using the same data
set.

2.

The system responds with the program loaded message followed by:

C"·

')

$DICOMP - DISPLAY DATA BASE COMPOSER
COMMAND (1):

$DICOMP Commands
The commands available under $DICOMP are listed below. To display this list at your terminal, enter a question mark in
response to the prompt i ng message COMMAND (1):.

Chapter 4. The Utilities

105

$DICOMP

o
CO~1MAND

AD
AL
EN
IN
PR
TO

-

(? r: ?

ADD A NEW MEMBER
ALTER EXISTING MEMBER
EXIT PROGRAM
INSERT OR DELETE DISPLAY ELEMENTS IN A MEMBER
PRINT MEMBER FORMATTED
TEST DISPLAY

COMMAND (?):

After the commands are displayed, you are again prompted with
(?):. You respond wi th the command of your cho i ce (for
example, AD).'

COM~lAND

AD - Add aNew Member to Data Base

Allows you to generate a new display profile. The display can
be 1 n either graph i c or report form. You are prompted to enter
a 1 - 8 c h a r a.c t e r Dis p lay Prof i Ie name used by the Interpreter to
.retrieve the display. The next prompt message asks if a display heading is desired. If so, a report display is assumed.
If n~t, a graphic display is assumed and you are prompted to
proceed with generating the display. You are also permitted to
select the device to which the output from the Interpreter is
to be routed.
If the response to the question IS THIS A
GRAPHIC DISPLAY?' is NO, you are prompted to enter the column
headings desired. One line up to 132 cha~acters is allowed.
Following the entry of the column headings, you are prompted to
enter the name of the print report data member. You are then
prompte~ to enter the next command.

Report Display:

Graphic Display: If a graphic display is desired, you should
respond to the message IS THIS A GRAPHIC DISPLAY? by entering
the character Y. The composer then asks if ·the display is to be
a 3D object. If you respond with a character Y, then all following references to X and Y values wi 11 also include the Z value. The composer asks you to enter the values X, y, and Z, if 3D
object. They are used to position the first character of the
display heading. You are then prompted with the request COMMAND
(?):'. Subcommands should then be entered.

c
106

SC34-0313

$DICOMP

o

AL - Alter an Ex; st; n9 Member

This function allows you to display each element of a display
profile and make changes, using subcommands, provided the size
of the element and the sequence of commands is not changed.
This function is of great value during the trial and error
per i od when you are gene rat i ng a new d i sp lay. You can generate
a display using the AD function and display the results using
the Interpreter. You are allowed to either start alteration at
the beginning of the member and display each element in turn or
or to skip to a specific element within it. Use the PR command
to display the elements and their sequence numbers. As each
element is displayed, you are questioned whether or not this
e Ie men t i s to be a I t ere d •

ALTER ENTRY?

o

When Y is selected, you are prompted to reenter the element as
described in the AD/Add Member/ section. When the end of the
display profi Ie is reached, the Composer is terminated and you
can redisplay the profile to see if the corrections are satisfactory.
EN - Ex; t P,rogram

This func·tion provides an immediate exit from the Composer.
IN - Insert or Delete Elements; n an Ex; st; ng Member

This function combines the facilities of the Alter and Add
functions with the ability to delete individual display elements. Because the Insert funct i on creates a new member in the
data base, the size and sequence of display elements can be
changed •
.t:jote; Use of the ut iii ty program to ver i fy that suff i c i ent
space rema ins in the data base is recommended. By us i ng the LA
and 5T funct; ons, you can determ i ne the size of the member to be
mod if i ed and the rema in i ng space ; n the data base.
As
described in the Alter function, the Composer displays each
element in turn with the fo llow i ng quest ions asked:

o
Chapter 4. The Utilities

107

$DICOMP

o
KEEP ENTRY?
DELETE ENTRY?
ALTER ENTRY?

If you elect to keep the entry, the Composer proceeds to the
next element. If N is selected, the DELETE ENTRY? question is
displayed. If N is entered, the ALTER ENTRY? question is displayed. If Y is entered, the Composer proceeds with the alterat i on process as descr i bed in the AL funct i on descr i pt i on.
Following the Alteration function, control is returned to the
Insert function and the process is repeated for the next element.
If the element L!Jas not altered, you are prompted to
insert a new subcommand. At this point, all the functions of
the AD facility are available. You can add one display element
after which control is returned to the Insert function where
the previous element is redisplayed and the sequence is
repeated.
Aga in, as in the Al ter funct ion, you must step through each
element in the Display Profile before completion. When the end
is reached, the message END OF DATA - ISSUE SAVE OR ADD NEW COMMANDS is d i sp layed. The Composer then reverts to the Add funct i on and add it i ona I commands can be entered.

o

Note: You must issue a Save command to term i nate the Insert
funct ion. When the Save command is issued, the Composer
deletes the old member and renames the newly built member with
the old name. This procedure m:Clkes the modified version available to the Interpreter. You are urged to use the utility to
compress the data base following insert activity to prevent
fragmentation of the data base and reclaim unused space •
. PR - Pr i nt Member Formatted

Display on the terminal or printer the contents of a display
profile member formatted in the same way as used by the Alter
and Insert functions. This display is useful asan aid in maintaining display profiles. Routing to $SYSPRTR is allowed to
provide a high speed hard copy.
TD - Test Di splay as Currently Entered

You are prompted for the name of a plot control member and then
$DIINTR is invoked to generate the specified display after
which control is returned to you to make alterations.

108

SC34-0313

o

$DICOMP

o

Composer Subcommands
When adding, altering, or inserting elements in a member,
subcommands are used. These are listed below and described on
the following pages. When entered, subcommands are placed in
or mod i fy the member. The member can later be used by the
interpreter to generate the desired display.
The following
subcommands are available:

AD
01
DR
EN
EP
HX
1M
JP
JR
LB
LI
LR
MP
PC
PL
RT
SA
TD

-

ADVANCE X,Y
DIRECT OUTPUT
DRAW A SYMBOL
EXIT PROGRAM
END DISPLAY
DISPLAY HEX WORDS
INSERT MEMBER
JUMP TO ADDRESS
JUMP REFERENCE
DISPLAY CHARACTERS
DRAW A LINE TO X,y
DRAW LINE RELATIVE
MOVE BEAM TO X,Y
PLOT CURVE ONLY
PLOT DATA
ACTIVATE REALTIME DATA MEMBER
SAVE ACCUMULATED DATA
DISPLAY TIME AND DATE
VA - DISPLAY VARIABLE

Most ~ubcommands perform actions based on the X and Y coordinates of the viewing screen. It is important that you keep
t rack 0 f the cur rent X and Y va I u e s as t he dis p I a y i s de vel oped •
The suggested method to produce a graphic display is to first
draw the display on graph paper and assign X and Y coordinates
to the key nodes in the display. Then use this drawing as a
guide to the generation of the display, keeping in mind the
screen Ii mi ts for the termi nal to be used. The view area of the
graphic terminals supported is shown in Figure 17 on page 110.
Figure 18 on page 111 shows the space supported in 3D mode.

o
Chapter 4. The Utilities

109

I

$DICOMP

()

M
N

~

"'
1'---_________--11/
\

~ ~.

\

·c ~
O:Je
~>~

~

o

m
~~

Vl

~

\
\

I

. ~'C I
B ~ }
o
I

I~

0 to 1023

•

Normal viewing area

I

X units
addressable

Figure 17. X,Y Coordinate Grid and Viewing Area

o
110

SC34-0313

$DICOMP

o

32767~~

________-+__________~

I

I
en

'xco

I
I

I
I
I

o

N

J---------/'

o

/'~

,/

~,,=,

~;......----~-----~-32768 /

-32768
-32768

. . .fooo----.

32767

0

/

4~

32767

X axis----""'!t.~

Figure 18. X,V,Z Coordinate Grid and Viewing Area

AD - Advance X, Y

Moves the beam position by the specified value. This could be
helpful in displaying data with even spacing on the screen.
After issuing a 'DR' command using a symbol, AD could advance
the X,V position to the next position without regard to the
actual screen X,V location. The limit for the specified X or V
value is plus or minus 512 units.
If a 3D object is being
defined, then the Z axis value is also requested.

o
Chapter 4. The Utilities

111

$DICOMP

()

DI - D; rect output
Directs the resultlng graphic output to appear at a terminal
other than the one used to enter commands. The terminal name to
be entered ;s the label of the TERMINAL statement used to
descr i be the des ired termi nal.
DR - Draw a Symbol

Draws a predefined symbol. Several commonly used symbols have
been prov i ded.
In spec i fyi ng a symbol, you are prompted to
enter the symbol number and the symbol modifier. These values
are used by the Interpreter to generate the requested symbol.
Some of the symbols require additional information.
If
requ ired, you are prompted for th is add it i ona I i nformat ion.
Valid symbol numbers are 1 through 14.
Symbol #

=1

Draw Fan SYmbol Left Hand Format

Modifier = Radius of fan body
and opening on left side
of fan.
Must be a multiple of 4.

= start and end
position.

Symbol #

=2

X,Y current

Draw Fan Symbol Right Hand Format

Modifier = Radius of fan body
and opening on right side
of fan.
Must be a multiple of 4.

= start and end
position.

x,V current

o
112

SC34-0313

$DICOMP

o

Symbol :it:

=3

Draw Damper Vertical

---.---

-----

-----,.. -,

Modifier = Number of damper pairs
to be generated in the down direction.

= start

and end

Symbol :it: = 4

140 Units

X,V current position.

Y

16 Units X

Draw Damper Hor i zontal

I

Modifier = Number of damper pairs
to be generated to the right.

= start

and end
position.

Symbol :it: = 5

X,V current

t\ /
I

I6unitsy

-,

,..

40 Units X

Drawa Hot COlI

----.---

D
Modifier = Number of hot coil pairs
to be generated in the down direction.

= start

and end
position.

X,V current

D

,..

116 Units Y

-,

12 Units X

o
Chapter 4. The Utilities

113

$DICOMP
Symbol

* =6

()

Drawa Cold COlI

---...--Modifier = Number of double pairs
to be generated in the down direction.

= start

and end
position.

SYmbo 1

*= 7

\-

X,Y current

*= 8

-\

Draw a F i 1 ter Element

start and end

Symbol

Units Y

16 Units X

Modifier = Number of elements
to be generated in the down direction.

=

"" 116
""

X,V current position.

I~

-I

8 Units X

Draw a Valve

~}6unitSY
,

For 2-way valve
Modifier = 2

I.
I
I
I

For 3-way valve
Modifier = 3

= start

and end

I

32 Units X

..II
I
I
32 Units Y

x,V current position.

o
114

SC34-0313

$DICOMP

o

Symbol i = 9

Draw An Arrow

e:::::::::J I

8 Units Y

~
I ·16 Units X· I
Modifier

616unitsy

=

1 for
2 for

left
right
3 for up
4 for down

= start

8 Units X

H

V16 Units

Y

and end X,Y current position.

Symbol i = 10

Drawa logic Block Right

Modifier = Radius of Half Circle.
Must be a multiple of 4.

= start

and end

X,Y current position.

o
Chapter 4. The Utilities

115

$DICOMP
Symbol t

= 11

Draw a Log i c Block Left

Modifier = Radius of half circle.
Must be a multiple of 4.

= start

Symbol «=

and end

= 12

X,Y current position.

Drawa Circle

Modifier = Radius of Circle.
Must be a multiple of 4.

= start

and end

X,V current position.

o
116

SC34-0313

$DICOMP

o

Symbol t

= 13

Draw An Arc Right

Modifier = Radius of circle.
Must be a multiple of 4.

=

s~art

and end

X,V current position.

Note: This symbol requires
additional values.
1.

Draw arc UP or down.
Enter zero for down or one
for up.

2.

Number of V units to draw arc.
Must be a multiple of 4.

Note: This symbol always starts at X=O and
proceeds until the V units have been exhausted.

Symbol t

= 14

Draw An Arc left

Modifier = Radius of circle.
Must be a multiple of 4.

=

start and end.
position.

X,V current

Note:
See note under Symbol 13 for additional
information.

EN - Ex; t Program

0 ,·'

Causes the Composer to be term i nated without updat i ng the
Display Profile Data Base Directory. All data collected up to
this point for this member is lost.

I,

Chapter 4. The Utilities

117

$D1COMP

The preceding list of available subcommands are those that are
available when using the AD function. These descriptions are
also valid when using the AL Alter function or the IN Insert
function.

o

EP - End D; splay

Specifies that the end of this section of the display has been
reached. Normally, this command is followed by a SA (Save)
command. However, this command can be useful if a jump
zero/not zero causes the Interpreter to take alternate paths.
You can use the EP command at the end of each of these paths
instead of an uncond it i onal jump to a common end i ng po i nt.
HX - Send Data

Sends to the terminal up to 16 words of data without conversion. All bit patterns are valid; therefore, control or special data can be sent to the terminal.
1M - Insert Member

Combines display profile members to form one display. This
allows you to conserve disk space, decrease time required to
enter display profiles, and standardize display formats. For
example, you can build a display profile member to represent a
common background of a physical system or floor plan. Then, by
def i n i ng another display prof i Ie member, super' impose on the
background the variables that will make the display unique.
Only one level of nesting is permitted.
That is, a member
inserted us i ng the '1M' command cannot conta i n Clny 'IM'
commands. However, a primary member can include multiple '1M'
commands.
JP - Jumlt to Address

Causes a change in the sequence of execution of subcommands.
There are three types of Jump to Address subcommands that can
be used. They are:
•

Jump Unconditional

•

Jump if Zero

•

Jump if Not Zero

As described in the Display Variable command, the conditional
jump commands are dependent on the use of the Realtime Data
Member. If conditional jump is selected, then the jump is
based on the current cond i t i on (zero/not zero) of the spec if i ed
word and record. Jump Unconditional prompts you to enter a
J u mp toR e fer e nee • T his ref ere nee i s two c h a r act e r san dis·
118

SC34-0313

o

$DICOMP

o

resolved when a 'JR' Jump Reference 1S defined. See the 'JR'
command definition. If you select a conditional jump, prompt
messages requesting word number and record number are issued.
Following the definition of these two codes, you are requested
to enter the Jump to Reference. The Jump to Reference for a
Conditional Jump is the same as that of an unconditional Jump.
The following example shows the use of the Jump command.
Command sequence us i ng Jump:

MP
JP
DR
JP
JR
DR
JR
EP
SA

X=200, V=200
Zero, WDRD#=O, RECORDt=4, JR=AA
SYM=l, MOD=40
JR=BB

AA
SYM=2, MOD=40

BB

The preceding example draws a fan symbol at 200,200 either
right or left depending on the zero/not zero condition of the
Realtime Data Member word 0, record 4.
In the preceding sequence, the first JP causes a jump to JR AA
if word 0 of record 4 is zero. The second JP causes a jump to JR
BB unconditionally.
JR - Jump Reference

Indicates to the Composer that this location in the command
sequence is referred to in a JP command. As defined in the JP
command, the location is defined by 2 characters.
If these
characters have already been used, an error message is displayed. If the capacity of the JR table is exceeded, an error
message is d i sp layed. The capac i ty 0 f the jump re ference tab Ie
...j..s~ 4 0 un i que j u mpre fer e n c e poi n t s for e a c h dis p I a y •
LB - D; splay Characters

o

Places a character string on the screen. It is not necessary to
use an MP command to pos i t i on the beam because th is command
allows specification of the location of first character. If a
3D object is being defined, then X, V, and Z values are
requested. Up to 72 characters can be displayed. The ending
X,V position are 1 character position beyond the last character
in the string.
Chapter 4. The Utilities

119

$DICOMP
LI - Draw a L;ne to X,Y

Draws a vector to the specified X and Y coordinates from wherever the beClm was left with the previous commClnd.

600-

/

200I

I

100

600

Draw line to X=600
Y=600
END X,Y

line shown on screen
Current position

When generating a 3D display, 3 values Clre
values are X, y, and Z.

~

These

(~)

~
./

600 _
·0_

required.

-----(
I

~

./

I
I

,/600
-0

I I

0

Draw line to

X=600
END

Y=600
X,Y,Z

600

2=600

o
120

SC34-0313

o

I $DICOMP
LR - Draw L; ne Relat; ve

Draws a line relative to the current position. For example,
you can, through the lise of the 'MP', 'JP', and 'JR' commands,
position the beam at various current positions based on
Rea It i me Data Member cond i t ions. Then a ser i es of lines can be
drawn to form a symbol using the 'LR' command. This would have
the effect of placing the symbol at various screen locations
based on external conditions. The limits allowed for the X,V
values are plus or minus 512 units. If a 3D object is being
defined, then the Z axis value is also requested.
MP - Move Beam to X, Y

Draws a dark vector to the specified X and V coordinates.
A
dark vector 1s not visible and, therefore, results in moving
the beam to the spec if i ed locat i on.

C"'.·\
../

200-

•
I

100

Beam moved to X=lOO
END

V=200
X,V

Nothing shown on screen
Current position

When generating a 3D display, 3 values are
values are X, V and Z.

required.

These

o
Chapter 4. The Utilities

121

I

$DICOMP

1

~
100 _
0_

~

----(
I
I

".
-100
-0

I

I I
o 100

Beam moved to X=100
END

Y=100
X,Y,Z

Z=100
Current position

PC - Plot Curve Only

Provides multiple curves on an existing background as defined
by a preceding PL command. Refer to the folioNin9 section (PL)
for descriptions of entry procedure. steps 9 and 10 are the
only required action. As many PC commands as are necessary to
obtain the desired results can be included.
PL - Plot Data

Formats the viewing area into a basic plotter.
Options are
provided for X and Y labels as well as X and Y grids. You are
prompted to include the name of a plot curve data member. Refer
to the "$DIUTIL Uti lity Program" in "$DIUTIL - Display Data
Base Utility" on page 150 for information regarding the allocation and formatting of the plot curve data member.
The
sequence of quest ions to be answered for the PL command:
1.

Enter i of Y axis divisions
To present a readable display, it is suggested that this
value be under 20. However, if Y axis division values are
bypassed (Step 7), then larger values are appropriate. Y
axis divisions become unreadable when this value exceeds
125.

2•

122

Enter:lt of X axis divisions

SC34-0313

c

$DICOMP

o

To present a readable display, it is suggested that this
value be under 40. However, if X axis division values are
bypassed (Step 8), then larger values are appropriate. X
axis divisions become unreadable when this value exceeds
200.
3.

Vertical Grid?
A Y answer causes the Composer to include commands to
connect the X axis divisions (specified in 2 preceding) to
the top of the viewing area. An N bypasses this feature.

4.

Horizontal Grid?
A V answer causes the Composer to include commands to
connect the V axis divisions specified in 1 preceding to
the right side of the viewing area. An N bypasses this
feature.

5.

Enter V axis label - 24 characters
You must enter the V axis label.
If no axis label is
desired, press the enter key. This label is general in
nature and-is placed at the left side of the viewing area.
This label is vertical, that is, one character under the
next.

6•

Enter X ax is label - 24 characters
You must enter the X axis label.
If no X axis label is
desired, press the enter key. This label is general in
nature and is placed near the lower portion of the plot
viewing area.

7.

V axis division values?
If Y axis division values are desired, respond with a Y.
The Composer asks-for as many values as you have specified
divisions plus 1 (see Step 1 preceding). You must enter 6
characters fo-r each division. The first value requested is
the value for the V base line and each succeeding value is
for the next division in the plus Y direction.

8.

o

X axis division values?
If X axis division values are to be displayed, respond with
a V. The composer asks for as many values as you have specified divisions plus 1 (see Step 2 preceding). You must
e n t e r 6 c h a r ac t e r s for e a c h d i vis ion •
The fir s t val u e
requested is the value for the X base line and each
succeeding value is for the next division in the plus X
direction.
Chapter 4. The utilities

123

[: $DICOMP ]

9.

Enter Name of Member for Plot Data

()

Enter the name of a plot curve data member. This member
must have been allocated and initialized by the use of the
utility program $DIUTIL.
Refer to
"$DIUTIL
Utility
Program" in "$DIUTIL - Display Data Base Utility" on page
150 for procedures on allocation and initializing of this
member.
10. Is This Plot a Point Plot?
The composer allows the use of any valid printable character to be used for the plot. If Yes is selected, then a
plot character is requested. If N is selected, then a
normal line for the curve is used.
The preced i ng
a basic plot
super imposed
desired, then

10 steps generate the necessary commands to cause
background to be displayed and one curve to be
on that background.
If add it i onal curves are
'PC' commands should be issued next.

RT - Act; vate New Real t; me Data Member

You call define multiple Realtime Data Members. This command
allows you to switch from one to another during the generation
of a Display. The default name for the realtime data member is
, REALTIME' •
SA - Save Accumulated Data

Specifies that completion of a display profile has been
reached. The Composer enters the member name into the d i rectory of the display profile data base and make it availabla for
the Interpreter.
TD - Di splay T; me and Date

This command allows you to display the current time of day and
date from the realtime clocks used by the Event Driven Executive. You are reminded that prior to issuinga 'TO' command, a
'MP' may be required to position the beam to the desired display location. The 'TO' command displays the time and date in
the following format:

o
124

SC34-0313

$DICOMP

o
HH:MM:SS
where:

MM/DD/YY
HH is Hours
MM is Minutes
SS is Seconds
MM is Month
DO is Day
YY is Year

VA - Di splay Vari able

Places a data variable from the Realtime Data Member on the
screen. A prompt message is issued ask i ng if you wish to locate
the data at a location other than the current X,V position. If
a 3D object is being defined, then X, V, and Z are requested.
The use of this command requires that the Realtime Data Member
be allocated. The Composer continues by asking for the record
number and word number. The record number is the record number
within the Realtime Data Member. The word number is the word
number within the record specified. This value is in the range
of 0-8.
The funct i on code is requested next and is used to i nd i cats the
type of variable to be displayed. Valid function codes are as
follows:

o
1

2
3
15

Single precision integer
Double precision integer
Standard precision floating point
Extended precision floating point
Character data

Type code i s reques~ed next and is an i nd i cator of the format of
the value to be displayed. Val i d type codes are:

o
Chapter 4. The Utilities

125

[ $DICOMP

o
1
2

Integer
Floating point F format
Floating point E format

Field width and number of decimal places are requested next.
If the variable 1S an integer, the number of decimals should be
zero.

o
126

SC34-0313

o

$DIINTR
$DIINTR - DISPLAY INTERPRETER
The Interpreter program searches the data base and generates
the requested display. Both graphic and report displays are
generated in this manner. Each display profile is made up of
many display profile elements. Each element, when retrieved
from the data base by the Interpreter, is decoded and converted
to the appropriate command to cause the requested action to be
performed. Each display profile element contains various
parts, such as Display Code, X and Y coordinates, Symbol ID,
and Symbol Modifier. Realtime Data Member record number and
Additional Member names are included in the display profi Ie
element.
To begin operation of the Interpreter, you must first load
$OIINTR. Output is directed to the terminal that requests the
display or as directed by the Display Profile. The following
steps are requ i red to in it i ate the Processor Mon i tor:
1•

Load the program $DI INTR.

2•

The system responds wi th the prompt message:

C,:

)

ENTER DISPLAY ID--XXXXXXXX OR EXIT TO TERMINATE

3.

To terminate the Interpreter, enter 'EXIT'. To cause the
Interpreter to prepare the d i SP lay, enter the 0 i sp lay 10.

Us;ng $DIINTR from

an

Appl;cat;on Program

$DIINTR can be loaded from an application program to allow
displays without operator assistance. The following example is
the method used to cause th i s act i on to occur.

o
Chapter 4. The Utilities

127

$DIINTR

*

Your program
LOAD
WAIT

MBRNME
51
52
53
D

T
R
01

Tl

()

$DIINTR,MBRNME,D5=($DIFILE),EVENT=iWAIT,
LOGMSG=NO
#W.'\IT
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

C

CL8'DI5PLAY'
THESE 8 VALUES ARE FOR 3D OBJECTS
F' 0 '
F' 0'
*
F' 0 '
*
F' 0 '
*
F' 0'

F' 0 '
F' 0 '
F' 0 '

*
*
*
*

When using $DIINTR to display a 3D object there are 8 values
that are needed to describe the manner in which you want the
object displayed. The preceding example shows the eight values
passed to $DIINTR as follows:

51
52
53

o

T
R
D1
Tl

Platform Location X=
Platform Location Y=
Platform Location Z=
Platform Direction in Degrees
Platform Tilt in Degrees
Platform Rotate in Degrees
View Direction in Degrees
View Tilt in Degrees

These values are single precision integers and may contain a
numeric value from -32768 to +32767.
Displaying 3D images requires a 4955 processor with floating
point hardware installed.

128

SC34-0313

c

o

$DIINTR

3D Concepts as used by $DIINTR
3D objects can be defined by .$DICOMP and placed on disk or
diskette much the same as with a 20 object. The only difference
is that each po i nt in space has three va lues as soc i ated with it
instead of 2. These three values represent the X, V, and 2
coord i nates of the po i nt in space. Figure 5-2 shot~s the Ii mi ts
of the defined area in space. The maximum limits of the defined
areas in space are -32,768 to +32 1 767. Vou can define one or
more objects within this cube. Once the object is defined, you
can view this object from any location within the same space.
To spec i fy the locat i on from whare you wi sh to view the object,
either pass these eight values through the use of the PARM=
parameter in the LOAD instruction or $DIINTR requests this
input if it is invoked by the $L command. The concept used to
com put e the 2 D rep res e n tat ion 0 f a 3 0 0 b j e c t i s a's f 0 I low s. The
user is assumed to be suspended on a platform at a specific
location in space. The first three values are the X, V, and 2
values that define the location in space of the vie~ing platform. The next five values represent the physical orientation
of the platform and the v i ewers or i entat i on on that platform.

o

Platform Direction in
tor:

Oegrees~

Assume the following unit vec-

If we rotate this unit vector in the direction V to X around the
we can turn the view in any direction. A plus value
causes, the un it vector to rotate c lockw i se as viewed from the
+2 axis to zero.
Z axis,

o
Chapter 4. The Utilities

129

I

$DIINTR

I

Platform Tllt in Degrees: Assume the following unit vector:

()

z

I f we rotate th is un i t vector in the direct i on Z to Y around the
X axis, we can tilt the view to any angle. A plus value causes
the unit vector to rotate clockwise as viewed from the +X axis
to zero.
P 1 a t for m Rot ate i n De 9 r e e s : As s u me the foIl 0 win gun i t v e c to r s :

()
z

I f we rotate th i s un it vector in the d j rect ion Z to X ar-ouhd the
Y axis, we can rotate the view to any angle. A plus value causes
the unit vector to rotate clockwise as viewed from the -Y axis
to zero.
View Direction In Degrees: This value is used the same as th~
Platform Direction but is calculated after the above 3 are computed. This calculation rotates the unit vector in a V to X
direction around the Z axis with a plus value causing the unit
vector to rotate clockwise as viewed from the +Z axis to zero.

130

SC34-0313

o

o

$DIINTR

View Tilt In Degrees: This value is used the same as
form Ti It but is calculated after the above 4 are
This calculation rotates the unit vector in a Z to X
around the Y axis with a plus value causing the unit
clockwise as viewed from the -Y axis to zero.

I

the Platcomputed.
direction
to rotate

Once the 8 values provided are computed. the object in space is
converted to its 20 representation and sent to the terminal.
It is possible to view an object with all or a portion outside
the viewing area. Points and lines that do not fall within the
viewing area are not shown on the 2D screen. The viewing area
is shown in Figure 19 on page 132.

(.1>'~)"

Chapter 4. The Utilities

131

[ :SOUNTR

()

Viewing screen

Platform location
Distance between platform location and viewing SCreen

=1

Figure 19. Viewing Area in 3D Mode.

c
132

SC34-0313

o

$DIINTR
The following example defines a 3D object in space

A Cube
X

CMO

MP

LI
II
II
LI
LI
II
II
II
II
MP

II
~1P

II

C\

MP

LI

-100
+100
+100
-100
-100
-100
+100
+100
-100
-100
+100
+100
+100
+100
-100
-100

V

-100
-100
-100
-100
-100
+100
+100
+100
+100
+100
-100
+100
-100
+100
-100
+100

Z

-100
-100
+100
+100
-100
-100
-100
+100
+100
-100
-100
-100
+100
+100
+100
+100

EP
SA

Object as viewed from:

~

/

51
S2
S3
0
T

/

~

0

-400
0
0
0

R

0

01
T1

0
0

o
Chapter 4. The utilities

133

[ $DIINTR

1

Object as viewed from:
51
52
53

-150
-400
0

D
T

0
0

R

0

D1
Tl

0
0

Object as viewed from:
51
S2
S3

-150
-400
100

D
T

0
0

R

45

D1
Tl

0
0

c
134

SC34-0313

o

$DISKUTl
$DISKUTl -

ALLOCATE/DELETEj LIST DIRECTORY DATA

$DISKUTI performs several commonly used disk or diskette storage management functions.
Note: For tape management
Management" on page 311

functions,

see

"$TAPEUTI

-

Tape

$DISKUTl Commands

The commands avai lable under $DISKUTI are 1 isted below. To display th is list at your term ina 1, enter a quest i on mark in
response to the prompt i ng message COMMAND (?):.

c

COMMAND (?): ?
AL
ALLOCATE SPACE
CV
CHANGE VOLUME
DE
DELETE MEMBER
EN
END THE PROGRAM
LA *--- LIST ALL(DS/PGM)
LACTS-* LIST ALL (CTS MODE)
LD "*--- LIST DATA SETS
LDCTS-* LIST DATA SETS (CTS MODE)
LM ---- LIST 1 MEMBER
LP *--- LIST PROGRAMS
LPCTS-* LIST PROGRAMS (CTS MODE)
LS ---- LIST SPACE
LV *--- LIST THROUGH VOLUMES (DS/PGM)
LISTP-- DIRECT LISTING TO eSYSPTR
LISTT-- DIRECT LISTING TO TERMINAL
RE ---- RENAME A MEMBER
*--- PREFIX (OPTIONAL)
CO~'MAND

(1):

After the commands are displayed, you are ag~in prompted with
CO~1MAND (1):.
You respond with the command of your choice (for
e x a mp 1 e, AL ) •

o

Note: In CTS mode, disk locations ar'e shoL",n in cylinder, track,
and sector format instead of by record number.

Chapter 4. The Utilities

135

$DISKUTl
The program prompts you for any parameters required by the
requested function. Examples of some of the $DISKUTI command
execution prompts and replies are given on the following pages.

$DISKUTl Parameters
The following table identifies the parameters that can be used
for the various $DISKUTI commands.

Function
Help
AII'ocate Space
Change Volume
Delete Member
End Utility
list All Members
list All Members in CTS mode
list Data Sets
list Data Sets in CTS mode
list One Member
list Programs
list Programs in CTS mode
list Space
list Through Volumes
Direct listing to $SYSPRTR
Direct listing to Terminal
Rename ~1ember

Command
?

AL
CV
DE
EN
LA
lACTS
lD
lDCTS
l

~1

lP
lPCTS
lS
LV
lISTP
lISTT
RE

Parameters
None
Name Size Type
New-volume-label
Member-name
None
Prefix (optional)
Prefix (optional)
Prefix (optional)
Prefix (optional)
Member-name
Prefix (optional)
Prefix (optional)
None
Prefix (optional)
Terminal-name
(optional)
None
Old-name New-name

Notg: When using the Al command, select either of the following
organization types for the data set to be allocated:

o -

Data Organ i zat ion

P -

Program: Use this only for executable object programs
(the output of $UPDATE/$UPDATEH)

All the functions listed (except for ?, CV, lV, and EN)
initially act upon the IPL volume and is indicated by the message USING VOLUME XXXXXX when $OISKUTI is loaded. To point to
another volume to perform one or more of the previously listed
functions, enter the CV command and the name of the volume. All
funct ions act upon the spec if i ed vo I ume unt i I changed by another CV command or unti I $OISKUTI is terminated and reloaded. If
a pref i x of up to 8 characters is spec if i ed in the List commands
(except lM), only those data sets/programs beginning with
136

SC34-0313

c

$DISKUTl

o

these characters are listed. The LV command scans through all
ex i st i ng vo I umes, list i ng members in each vo I ume. When the scan
is completed, the utility points to the last volume accessed.
The LV command is useful in finding a data set when the volume
is not known or when the same data set appears in multiple volumes.

Examples
AL - Allocate a 100 Record Data Set Named DATAFILE

COMMAND (?): AL
MEMBER NAME: DATAFILE
HOW MANY RECORDS? 100
DEFAULT TYPE = DATA - OK? Y
DATAFILE CREATED
COMMAND (?):

C\

CV - Change Volume to be Accessed by Subsequent Commands

/

COMMAND (1): CV
NEW VOLUME LABEL

= EDXOOl

COMMAND (?):

DE - Delete a Member Named

DATAFIl~

COMMAND (?): DE
MEMBER NAME: OATAFILE
DATAFILE DELETE? Y
DATAFIlE DELETED
COMMAND (1):

o
Chapter 4. The Utilities

137

$DISKUTI
LD - List Description of the Data Sets in a Volume

()

COMMAND ( ? > : LD
USING VOLUME EDXOOI
FREC
NAME
TEXTWORD DATA 105
$SAMDATA DATA 127
$NAME3
DATA 450

SIZE
22
36
10

506 FREE RECORDS IN LIBRARY
COMMAND . ( ? > :
FREC is the number of the record containing
the first record of the data set.

~ote:

LM - list Description of an Individual Member

COMMAND (?>: LM
MEMBER NAME: TEST12
USING VOLUME EDXOOI
NAME
TEST12

DATA

FREC

SIZE

305

7

IODA,CTS=003,022116,022122
COMMAND (?):
IODA,CTS= I/O Device Address, Cylinder, Track,
and Sector.
In this example, the extent of the
member is on the device at device address 003 at cylinder
22, track 1, from sector 16 through sector 22.

Not~:

c
138

SC34-0313

o

$DISKUTl

LP - List Oeser i pt i on of the Program Members in Vo 1 ume

COMMAND

(?):

LP $DISK

USING VOLUME EDXOOI

NAME

FREC

$DISKUT1 PGM
$DISKUT2 PGM

256
288

SIZE
32
30

2550 FREE RECORDS IN LIBRARY

COMMAND

(?):

Note: Only members with a prefix of $DISK are listed
in this example.

C

~)

./'

o
Chapter 4. The Utilities

139

$DISKUTl
LS -

L 1st F r e e SPill c e A va i 1 ill b 1 e ; n Vol u.J!1...!.

COMMAND (?): LS
USING VOLUME EDXOOI
LIBRARY
AT REC
SIZE
UNUSED

1

3600 RECORDS
665 RECORDS

DIRECTORY
SIZE
24 RECORDS
UNUSED 2450 BYTES
NO. MEMBERS -

35

NO. FREE SPACE ENTRIES LIST FREE SPACE CHAIN? Y
FREC
3000
247

SIZE
600
65

COMMAND (1):

c
140

SC34-0313

$DISKUTl

o

LV""', L 1 s t Me mb e r s. wit b aPr, fix

0

f

'S' i" AI 1 V0 ! u me s

COMMAND ( ? ) : LV S
NAME

SEW

FREe
DATA

DATA
SSRC
SMODUL DATA
SWORK DATA
SDATA DATA

1646
7748
1386
15522
6989

SlZE

VOLUME

100
5
10
300

EDXOO2

5

EOXOOZ

ASMLIB
EDX003
EDXOO5

USING VOLUME EDX005
COMMAND

(?):

o
Cha~ter

4. The Utilities

141

$DISKUT2

o

$DISKUT2 - PATCH, DUMP OR CLEAR MEMBER
$DISKUT2 dumps or patches data or program members of a volume.
It also can clear (set to zero) all or portions of a data set
and reset its end-of-data pointer, list any data set created
us i ng $EDITIN or $FSEDIT, and 1 i st the I/O error log data set.
Note: For tape management
Management" on page 311

functions,

see

"$TAPEUT1

Tape

$DISKUT2 can also be used to modify the default load time storage allocation associated with a program. The S5 (set storage)
command
allows
you
to
change
the
allocation
without
reassemb i ng the source code or prov i ding an overr i de on the
LOAD instruction.
Program dumps and patches are made by relat i ve
address
(hexadecimal) within the program. The relative address corresponds exactly to the address specified in the lOC field of an
assembly listing. Data can be entered in hexadecimal or EBCDIC
as shown in the examples that follow. To convert an Event Driven language instruction to a no operation (NOP), patch all of
the generated DCs to hexadec i mal zero.
Data set dumps and patches are made by spec i fyi ng a record number and a first word. The numbering for both record and word
number begins with 1. Data can be entered in either decimal or
hexadecimal. Each field of patch data should be separated with
a a non-numer i c character other than a carr i age return.
Dumps of programs or data sets are formatted when hexadecimal
is selected as an opt i on.
$DISKUT2 can 1 i st data sets created by $EDIT1N or $FSEDIT. You
can list all or part of a source data set on a terminal or
printer.
A spec i a 1 feature of $DISKUT2 a llows dump i n9 and/or patch i ng of
any area on a disk volume by referencing absolute record numbers.
Th i s mode is selected by enter i ng the characters
$$EDXVOL as a member data set name.
When us i ng this mode,
record numbering begins wit ho n e •
The I/O error log list commands allows the specification of any
data set as the log data set. The option is available to print
every log record or only those log records containing data for
a spec if i c dey ice address. The output is a formatted dump.
You are prompted, as necessary, for i nformat ion requ i red by any
of the funct ions of $DISKUT2.

142

SC34-0313

c

L

$DISKUT2

o

$DISKUT2 Commands

The commands available under $DISKUT2 are listed below. To display this list at your terminal, enter a question mark in
response to the prompt i ng command COMMAND (1).

COMMAND (1): ?
CD
CV
DP
DU
PA
SS
LP
LU
PL
LL
EN

- CLEAR DATA SET
- CHANGE VOLUME
- DUMP DS OR PGM ON PRINTER
- DUMP DS OR PGM ON CONSOLE
(-CA- WILL CANCEL)
- PATCH DS OR PGM
- SET PROGRAM STORAGE PARM
- LIST DS ON PRINTER
- LIST DS ON CONSOLE
- LIST LOG ON PRINTER
- LIST LOG ON CONSOLE
- END PROGRAM

COMMAND (1):

After the commands are displayed, you are again prompted with
COMMAND (1):. You respond wi th the command of your eho i ce (for
example, CD).

o
Chapter 4. The Utilities

143

[ $DISKUT2

o

Examples

CD - C1 ear a Da t a Set (t 0 Zer

ou

COMMAND (?): CD
DATA SET NAME? DATA
CLEAR ENTIRE DATA SET? N
FIRST
RECORD: 1
LAST
RECORD: 100
RESET THE E.O.D. POINTER? Y
HOW MANY RECORDS TO EOD? 100
ARE ALL PARAMETERS CORRECT? Y
CLEAR COMPLETED
CONMAND (?):

DU/DP - Dump a Data Set

Q"

Term;"tiI !/Pr inter

()

COMMAND(?): DU
PGM OR DS NAME: EDITWORK
EDITWORK IS A DATA SET
FIRST
RECORD: 1
LAST
RECORD: 1
WORDS / RECORD: 52
(O)EC OR HE(X): X
RECORD I
73 7A2E
81 0000
89 0000
0000
97
105 0000
113 7B96
121 7BA4

7800
0000
0000
0000
0000
402F
6808

0088
34D6
14DO
0000
0000
7BAO
OOF6

7A30
0000
5600
0000
0000
0000
680D

COOA
0000
0000
0000
5040
1a2e

lOlA
0000
7A02
0000
6F03
6808

0240
0000
0000
0000
023C
OOC4

4040
FFFF
0000
0000
0254
680D

· ........ .
• •••• 0 •••

• ••••••• &
.:It ••••
i •... 6 ••

t.

DUMP COMPLETE
ANOTHER AREA? N
COMMAND(?)

c
144

SC34-0313

$DISKUT2

o

DU/DP - Dump a Program on Term ina !/Pr inter

COMMAND (?): DU
PGM OR DS NAME: MYPROG
MVPROG IS A PROGRAM
ADDRESS: 22
DUMP TO PROGRAM END? N
HOW MANY WORDS? 22
0022
0032

0000 0000 1C66 FFFF 0000 0000
4040 4040 4040 0606 4040 4040

. $1.
I · · · · · · · .· .· · · · · · $

0042

0000 0001 0001 0000 0000

I·············

DUMP COMPLETE
ANOTHER AREA? N
COMMAND (?):

o

I I - list log Data Set

COMMAND (?): LL
lOG DS NAME: $LOGDS
DEVICE ADDRESS(NULl FOR ALL): 003
SOFT ERR
DEV ADDR: 0003
DEV 10: 0304
DATE: 10/26/79
LVL: 0002
AKR: 0001
TINE: 11:59:59
RETRY: 13
IOCB: 7000 2100
INTCC: 07
ISB:
80
DCB1: XXXX XXXX XXXX XXX X XXXX XXXX XXXX XXXX
DCB2: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
CSSt-t: xxxx xxxx xxxx

c
Chapter 4. The Utilities

145

$DISKUT2

LU - List a Source Data Set on Term ina 1

o

COMMAND(?): LU
DATA SET NAME? CALSRC
LIST ALL OF THE DATA SET? N
FIRST RECORD: 4
LAST RECORD: 8
ATTNLIST ATTNLIST
SPACE 1
POSTI
POST
ENDATTN
SPACE 1

(STOP,POST1,CALC,POST2)
KBEVENT,1

LIST COMPLETE
COMMAND(?):

c
146

SC34-0313

$DISKUT2

o

PA - Patch a Program in Hexadec i mal

COMMAND (?): PA
PGM OR OS NAME: MYPROG
MYPROG IS A PROGRAM
ADDRESS: 312
HOW MANY WORDS? 2
CD)EC, CE)BCDIC, OR (H)EX?: H
NOW IS:
0312

D3C9

E2E3

ILIST

ENTER DATA: C3Cl D3D3
NEW DATA:
0312

C3Cl

0303

ICALL

OK? Y
PATCH COMPLETE
ANOTHER PATCH? N
COMMAND (?):

()

o
Chapter 4. The Utilities

147

$DISKUT2

()

PA - Patch a Program in EBCDIC

COMMAND (?>: PA
PGM OR DS NAME: MYPROG
MYPROG IS A PROGRAM
ADDRESS: 2D8
HOW MANY WORDS? 7
CD)EC, CE)BCDIC, OR (H)EX?:

E

NOW IS:
02D8 D4C5 D4C2 C5D9 40C4 C5D3 C5.. .•

1 MEMBER DELETEOl

ENTER DATA: DELETE MEMBERa
NEW DATA:
0208 C4C5 D3C5 E3C5 40D4 C5D4 C2..

.•

1 DELETE MEMBERQl

OK? Y
PATCH COMPLETE
ANOTHER PATCH? N
COMMAND (?>:

()

o
148

SC34-0313

$DISKUT2

o

S S - Set P r Q 9 ram S t o.ll.9...e Par m: The follow i n g e x amp 1 e s how 5
reduc i ng the dynami c storage to be allocated for the COBOL compiler at program load. The SS command requires the size in
bytes to be expressed in decimal. The value requested, if not
an even multiple of 256, will be rounded up.

> $DISKUT2
USING VOLUME EDX002
COMMAND (1): CV ASMLIB
COMMAND (1): 5S $COBOL
ENTER NEW STORAGE SIZE IN BYTES: 2816
OLD STORAGE SIZE WAS 8448
OK TO CONTINUE? Y
COMMAND (?): EN
$DISKUT2 ENDED AT 08:36:02

o

o
Chapter 4. The Utilities

149

$DIUTIL
$DIUTIL - DISPLAY DATA BASE UTILITY

o

$DIUTIL maintains the disk resident data base used with graphics applications. This utility provides comprehensive facilities to keep the data base current by means of the following
functions:
•

Initialize the Disk Resident data base

•

Delete a member

•

Rec la i m space in data base due to deleted members

•

Display contents of data base

•

Copy data base

•

Copy i nd i vi dua I members of data base

•

Allocate and bu i Id a data member

This utility is normally used only when no other programs of
the Display Processor are 1n use. The online data base can be
changed or you may select another data base to be referenced.
This allows you to create displays in a data base other than the
anI i ne data base and then copy the members into the onl i ne data
base after test i ng.

(f.).
{-

Invoking $DIUTIL
To start execut i on of $DIUTI L:
1.

Load the program $DIUTIL specifying the appropriate data
set. $DIFILE, the online data set, or any other data set
can be used. However, you should make sure that another
user or program is not chang i ng or us i ng the same data set.

2.

The system responds with the Program Loaded message followed by:

DISPLAY DATA BASE UTILITY
COMMAND (?):

o
150

SC34-0313

$DIUTIl

o

$DIUTIl Commands
The commands available under $DIUTIL are listed below. To display this l i s t at your terminal, enter a question mark in reply
to the prompt i ng message CO~1MAND (?):.

COMMAND
AL
BU
CP
CM
DE
EN
IN
LA
LH
MD
RE
ST

c

-

(?):

?

ALLOCATE DATA MEMBER
BUILD DATA MEMBER
COMPRESS DATA BASE
COPY MEMBER
DELETE A MEMBER
EXIT PROGRAM
INITIALIZE DATA BASE
DISPLAY MEMBER DIRECTORY
DISPLAY MEMBER HEADER
MOVE DATA BASE
RENAME MEMBER
DISPLAY DATA SET STATUS

COMMAND

(?):

After the commands are displayed, you are again prompted with
COMMAND (?): to which you respond with the command symbol for
the function of your choice (for example, AL).

Al - Allocate Data Member
Reserves space in a data base for one of several types of data
members.
Information such as size in sectors and member code
is requested. Member codes are spec i f i ed as fo llows:
4 - Pr i nt Report Data Member: Informat i on such as number of
lines and
line
length are requested.
Each
line
is then
entered, limited to 132 characters.

o

5 - Plot Curve Data Member: Information such as X and Y ranges,
X and Y base values and number of points to plot are requested.
Automatic entry of the X points can be selected to reduce the
data entry requ i rements. A sawtooth pattern opt i on is prov i ded
to shade under the curve for more vivid presentation of plotted
data. Us i ng less than 200 po i nts on the X ax i s gives an i nadequate shad i ng effect.

Chapter

4.

The Utilities

151

I

$DXUTXl.

6 - Realtime Data Member: The number of records is requested.
You can enter hexadecimal data for testing.
7 thru 9

~ User Data Member: These codes are used by the build
function to guide you through the correct data entry procedure.

COMMAND (?): AL

MEMBER NAME: TOATA
ENTER i OF RECORDS TO ALLOCATE? 10
ENTER MEMBER CODE #: 4
MEMBeR TDATA ALLOCATED
COMMAND

(?):

o
152

SC34-0313

o

$DIUTIL
BU - Bu; Id Data Member

Inserts fixed data into a data member. Thi s allows you to enter
data records to describe a fixed display or enter retards,
which normally will be dynamic, with a fixed value, to allow
testing of the display.
The member may have been allocated using Al; if not, you are
prompted for the requisite allocation information before proceeding with the "build" process. You are guided one step at a
time through the initialization of the data member.

COMMAND (?): BU
ENTER MEMBER NAME: RDATA
INITIALIZE REPORT DATA MEMBER
ENTER i OF LINES IN REPORT: 2
LINE LENGTH=32
ENTER LINE ITEMS
LINE ONE OF REPORT
LINE TWO OF REPORT
ME~1BE R LOADED
COMMAND

(?):

In this case, the member had already been allocated.

o
Chapter 4. The Utilities

153

$DIUTIl
CP - Compress Data Base

o

Compress reclaims unused space in the data base. Deleted members are not actually removed; the space is merely flagged
unusable. The tnsert function of SDICOMP also flags space as
unusable. CM is used to reclaim this space for future use. As
each member is moved, a message is displayed.
At the completion of the compress 'function, the message COMPRESS COMPLETED is displayed.
Caution should be exercised in using this function as it actually rearranges the members in the data base. It is advisable,
in order to prevent unpredictable results, to restrict the use
of the Interpreter (SDIINTR) during this process.
If an unrecoverable I/O error occurs, the data set is
destroyed.

Caution:

COMMAND (?): CP
WARNING--COMPRESS IN PLACE.
IF AN ERROR
SHOULD OCCUR DATASET WILL BE DESTROYED
DO YOU WISH TO PROCEED? Y
DATA
COPIED
RDATA
COPIED
REPORT
COPIED
SQUARE
COPIED
CIRCLE
COPIED
RPT
COPIED
ARC
COPIED
PLOT
COPIED
COMPRESS COMPLETED
COMMAND (1):

o
154

SC34-0313

o

$DIUTIL
CM - Copy Member

Copies a member from the source data base to the target data
base. The options avai lable in MD are also included in CM.

COMMAND (1): eM
SOURCE DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
CHANGE SOURCE DATASET? N
TARGET (NAME, VOLUME): $DIFILE,EDX003
SAVE EXISTING MEMBERS IN TARGET DATA BASE? Y
ENTER MEMBER NAME TO BE COPIED
PLOT
PLOT
COPIED
COPY COMPLETED
COMMAND (?):

o
Chapter 4. The Utilities

155

[

$DIUTIL

I

DE - Delete a Member

o

Removes display or data members from the data base. You are
prompted for the name of the member to be deleted and asked to
ver i fy the accuracy of your entry pr i or to actua 1 de let i on.

CO~1MAND

(?):

DE

MEMBER NAME: PLTT
DELETE MEMBER PLTT? Y
PLTT DELETED
COMMAND

(?):

EN - Exi t Program

Causes the Di sp 1 ay Processor ut i i i ty to be term i nated.

o
156

SC34-0313

o

$DIUTIL
IN - Ini t i a1 i ze Data Base

Formats the ent ire data base to zeros and formats the directory
to reflect the starting and ending record numbers.
After
entry, you are prompted to proceed.

Cauti on: Th is funct i on destroys any data in the data base.
Make sure the data set name entered is correct. The command is
terminated when the message DATA SET FORMATTED is displayed.
$DIFILE was allocated by $DISKUT1. Each di rectory record allocated by IN contains sixteen directory entries, except the
first, which contains fifteen.

COMMAND (?): IN
*-*-WARNING THIS FUNCTION WILL DESTROY ANY DATA
CURRENTLY IN DATA SET-*-*

C)

DO YOU WISH TO PROCEED? Y
ENTER DIRECTORV SIZE IN RECORDS: 2
DATA SET FORMATTED
DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
- DATA SET -- DIRECTORVNEXT TOTAL
NEXT TOTAL
3
100
1
31
END OF STATUS
COMMAND (?):

c
Chapter 4. The Utilities

157

I $DIUTIL

I

()

LA - D; splay D; rectory
Displays all active members.
Each line of display shows
member name followed by four values:
1.

Start i ng sector relat i ve to the start of the data base.

2.

Length of member in records.

3.

Membe r usage code.

4.

User defined member code.

COMMAND
PLOT
DATA
RDATA
REPORT
SQUARE
CIRCLE
RPT
ARC

( ? ) : LA
11
15
25
35
36
38
39
40

4
10
10
1
1
1

1
1

2
5
4

1
2
2
1
2

0
0
0
0
0
0
0
0

the

(/I'

'\\

l,'IL.)
COMMAND

(?):

o
158

SC34-0313

$DIUTIL

o

LH - Di splay Mambel' Headel'

Displays the header of a data member (types 4-9). The header
describes the characteristics and use of the member. For a
description of header contents, see Data Set Format in IBM
Series/l Event Driven Executive System Guide, SC34-0312

Example:

COMMAND (1): LH
MEMBER NAME: RDATA
MEMBER RDATA HEADER
000

o

2

32

80

o

END OF HEADER
COMMAND (1):

c
Chapter 4. The utilities

159

$DIUTIL
MD - Move Data Base

Moves the data base on the same or another volume when the data
base becomes too small to add a member. You can temporarily
move the online data base to another location, delete the old
version, reallocate and initialize the new expanded versio~,
and move back the previous contents. During this procedure,
care should be observed in the use of the Interpreter.

caut;on: If the data base is being moved and the Interpreter
uses a member, unpredictable results will occur.
Dur i ng the, execut i on of MD, you are prompted for a new source
data base if des i red and a target data base.
You have the
opt i on of say i ng the members in the target data base. MD is
helpful if you wish to use $DICOMP to develop display members
in a different data base than the online version and then, at a
later time, combine the new members with those in the online
data base.

COMMAND (?): MD
SOURCE DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
CHANGE SOURCE DATASET? N
TARGET (NAME,VOLUME): $DIFILE,EDX003
SAVE EXISTING MEMBERS IN TARGET DATA BASE? Y
PLOT
COPIED
DATA
COPIED
RDATA
COPIED
REPORT
COPIED
SQUARE
COPIED
CIRCLE
COPIED
RPT
COPIED
ARC
COPIED
COPY COMPLETED
COMMAND (?):

160

SC34-0313

o

$DIUTIL
RE - Rename Member
Changes the Display Profile 10 name. You are prompted for each
step and no action is taken unless your response is first
o b t a i ned • REi sus e f u 1 'IJ hen a n C) n lin e me mb ern e e d s t 0 b e mod i fied. The member that needs changing can be copied to another
data base, mod if i ed and tested, then tenamed and cop i ed back to
the online data base.
By using the rename and delete
funct ions, you can exchange the new for the old wi thout i nterfer i ng
with any online functions.

(?): RE
MEMBER NAME: PLOT
ENTER NEW NAME: PLTT

COMMAND

RENAME COMPLETED
COMMAND

(?):

c
Chapter 4.

The Utilities

161

[ $DIUTIL

ST - 0; splay Data Set status
Displays the current data base status. The first line shows
the data base location and name. The data that follows is the
current status of the data base. There are 4 values presented.
The first is the next available record. The second is the total
number of records in the data base. You can then see how much
space is avai lable for new members. If space is running short,
you can compress the data base or allocate a larger area. The
next value displayed is the next avai lable directory entry.
The last value displayed is the total number of directory
entries available. Refer to these two values to determine if
more or less space is needed for directory entries. Following
the completion of the status display the message END OF STATUS
is displayed.

COMMAND (?): ST
DATASET NAME: $DIFILE
LOCATED ON VOLUME: EDX002
- DATA SET -- DIRECTORVNEXT TOTAL
NEXT TOTAL
41
100
10
159
END OF STATUS
COMMAND (?):

c
162

SC34-0313

$DUMP
SDUMP - FORMAT AND DISPLAY SAVED ENVIRONMENT
$DUMP displays on a terminal or printer the contents of the
data set generated by the $TRAP utility. After the successful
execution of $TRAP and the subsequent occurrence of a trap condition, the data set assigned to $TRAP will contain a storage
image. Use $DUMP to retrieve, format, and print the data on a
terminal or printer.

Invok;ng $DUMP
$OUMP can be invoked by the session manager using the Diagnostic Uti lities option menu or by the $L command.

c
Chapter 4. The Utilities

163

~DUMP
Example
Dump Part of Supervisor Partition to Printer

< $L SOUMP
DUMPDSCNAME,VOlUME): DUMP,EDXOO3
$DUMP
22P,12:20:17,
lP=8FOO

Notes

il.l.

ENTER DEVICE NAME FOR OUTPUT
$SYSPRTR

.1.2.l

PARTIAL DISPLAY? CY/N): Y

1.11

ENTER PARTITION I OR S FOR SUPERVISOR S
ENTER START END ADDR IN HEX a 100

..t2.l

~

EVENT DRIVEN EXECUTIVE FORMATTED STORAGE DUMP
AT TIME OF TRAP PSW WAS 8002 ON HARDWARE lEVEL 2

IAR
AKR
lSR
RO
R1
R2
R3
R4
R5
R6
R7

lEVEL 0

lEVEL 1

lEVEL 2

lEVEL 3

0892
0000
0000
0000
0000
0000
0000
0000
0000
8000
0000

0892
0000
0090
0000
0000
0000
0000
0000
0001
8000
0000

0892
0000
0090
0000
0000
0000
0000
0000
0002
8000
0000

0892
0000
0090
0000
0000
0000
0000
0000
0003
8000
0000

rr-\

'-~

164

SC34-0313

o

$DUMP

Dump Part of Super v i sor Part i t i on to Pr inter (cont.)
Notes:
1.

The data set spec if i ed here must
def i ned when $TRAP was executed.

be

the

same

2.

Vou can specify a terminal to receive the output from
$DUMP. If the operator presses the 'ENTER' key or enters
'$DUMP', the dump program assumes that the output is to be
directed to the term ina I that loaded $DUMP. Us i ng the
attention key followed by 'CA' cancels the $DUMP program.

3.

If a display of all storage is desired then respond to this
question with a 'N'. If 'N' is used, the output display
begins immediately and continue until all of storage is
dumped or an attention 'CA' is entered. If 'V' is used,
$DUMP allows sections of storage to be displayed.

4.

Enter an '5' for the supervisor partition or the number 1
through 8 for the part it i on number to dump.

5.

Enter the starting and ending addresses
included in this section of the output.

that

as

that

should

be

c
Chapter 4. The Utilities

165

[$DUMP

I

Dump Part of Supervisor Partition to Printer (cont.)

()

SEGMENTATION REGISTERS:
BLOCK

ADSO ADS1 ADS2 ADS3 ADS4 ADS5 ADS6 ADS7

0000
0800
1000
1800
2000
2800
3000
3800
4000
4800
5000
5800
6000
6800
7000
7800
8000
8800
9000
9800
AOOO
ABOO
BOOO
B800
COOO
CBOO
DOOO
OBOO
EOOO
EBOO
FOOO
F800

0004
OOOC
0014
OOIC
0024
002C
0034
003C
0044
004C
0054
005C
0064
006C
0074
007C
0084
D08C
0094
009C
00A4
OOAC
0084
OOBC
00C4
OOCC
00D4
OODC
00E4
OOEC
00F4
OOFC

0104
OIOC
0114
01lC
0124
012C
0134
013C
0144
014C
0154
015C
0164
016C
0174
017C
0184
018C
0194
019C
0lA4
OIAC
0184
OIBC
01C4
OICC
01D4
OlOC
01E4
01EC
01F4
OlFC

0204
020C
021.4
02lC
0224
022C
0234
023C
0244
024C
0254
025C
0264
026C
0274
027C
0284
028C
0294
029C
02A4
02AC
02B4
02BC
02C4
02CC
02D4
02DC
02E4
02EC
02F4
02FC

0304
030C
0314
03lC
0324
032C
0334
033C
0344
034C
0354
03SC
0364
036C
0374
037C
0384
038C
0394
039C
03A4
03AC
03B4
03BC
03C4
03CC
0304
03DC
03E4
03EC
03F4
03FC

c
166

SC34-0313

$DUMP

Dump Part of Supervisor Partition to Printer (cant.)

STORAGE MAP:
PARTI

NAt1E

$SVSCOM AT ADDRESS 3420
ADDR PAGES

TCB

PI
PI
PI

**PART**
$TRAP
**FREE**

9FOO
9FOO
B400

97
21
76

P2
P2

**PART**
**FREE**

0000
0000

256
256

P3
P3

**PART**
**FREE**

0000
0000

256
256

P4
P4
P4
P4

**PART**
$SNMAIN
$SMLOG
**FREE**

0000
0000
0400
2600

256
4 02F8
34 1978
218

B2B4

("""\.'
",/

o
Chapter 4.

The Utilities

167

[

$DUr1P ]

Dump Part of Supervisor Partition to Printer (cont.)

TERMINAL LIST:
eeB

NA~1E

$SYSLOG
$TERMI
$TERM2
$SYSLOGA
$SYSPRTR

1876
IA82
OC32
IDee
IF86

DSKCETTE)

LIST:

10

ADDR

0406
040E
040E
0010
0306

0004
0005
0006
0000
0001

NAME

DDB

TYPE

EDXOOI
EOX002
ASMLIB
SUPLIB
MACLIB
EDX002

165E
16FO
1782
17A2
17C2
17E2

PRI
PRI
SEC
SEe
SEC
SEC

10

ORG

SIZE

LIB

0106
OOAA

0
0
92
108
124
202

75
92
16
16
78
102

27
2461
1

ADOR
0002
0003 IP

1

1
1

SUPV BEGINNING AT ADDRESS 0000 FOR 139 PAGES
6802 882A 0000 0000 8968 8826 8969 8826
0000
DOlO
0000 0000 8968 8826 OA76 OA12 8968 8826
SAME AS ABOVE
0100
12DC 8BC2 0004 0006 1010 6A08 03F8 5B22
ANOTHER AREA?

( Y/N) : N

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

I · · · B ..
Note

Note: $DUMP allows you to request several partial dumps. If a
'V' response is entered, then $DUMP prompts you for the starti ng and end i ng addresses that are to be dumped. See note 4.

(./
~\

"

168

SC34-0313

I

$EDIT! and $EDIT!N

o

SEDIT! AND $EDIT!N - LINE EDITORS
$EDITI and $EDITIN provide a text editing facility (primarily
used for source program entry and editing) that can be invoked
simultaneously with the execution of other programs. The Host
Communication Facility related version ($EDITI) provides a few
commands for data communication using the Host Communications
Facility IUP on the System/370 so that almost the entire process of program preparation can be controlled from a Series/l
terminal~
The native program preparation version ($EDITIN)
produces members that can be processed by the Series/I assembler.
Both versions work with 80-character lines that are line numbered in positions 73-80 and are invoked by the $L command.

Data Set Requ;rements
One work data set is required by the editing facility and must
be allocated on disk or diskette using SDISKUTI. You are
prompted for its name when eithe~ version is loaded. This data
set contains both your data and some index information during
the editing session, and the size (number of records) of the
data set determines the maximum number of data records that it
can conta in. It is d i vi ded into three parts:
1.

One header record

2.

A ser i es of index records (32 entr i es per record)

3•

A s er i es

0

fda tar e cor d s (3 e n t r i es per r e cor d )

The required data set size can be calculated as follows: number
of text lines (n) divided by 30, times II, plus 1 «n/30 xII) +
I ).

c
Chapter 4. The Utilities

169

$EDITl and $EDITIN
Sequence of Operations
When the edit program is loaded, i t prompts you for the name
the work data set to be used. I f an existing data set is to
edited, the READ command should be used to copy the data set
the work data set. For a new data set, edit mode should
invoked. The contents of the work data set can be pr i nted us i
the LIST command.

of
be
to
be
ng

The EDIT command is used to enter edit mode. Edit subcommands
are then recogn i zed unt i I term i nated by the END command.
No~:

You should use the VERIFY ON subcommand until you become
familiar with the editing process.

The TABSET subcomm~nd is used, i f desired, to specify the tab
character and tab column. This eliminates the entry of blanks
when a substantial amount of the text to be entered is in tabular format or begins in a particular column.
Data can be entered a l i ne at a time under the INPUT subcommand
(recommended for new data sets and bulk sequential
updates
because of the automatic prompting feature) or by using the
line editing function (for single line corrections). Portions
of the ed i ted data can be listed at the term i nal us i ng the LIST
command.
The position of the current line pointer is controlled by the
FIND, TOP, BOTTOM, Up, and DOWN subcommands.
Ed i t mode is term; nated wi th the END command. When the text has
been ed i ted, copy the work data set to a permanent data set
us i ng either the WRITE or SAVE subcommand. The t~ork data set is
ina blocked format that is i ncompat i ble wi th most Event Dr i ven
Executive functions. Automatic translation from text editor
format to source statement format is performed.
The fo llow i ng figure shows the pr i mary commands
mands available under $EDIT1/$EDIT1N.

170

SC34-0313

and

subcom-

$EDITl and $EDITIN

o
I

>$L $EDIT1/N

(

I

Editor ready

COMMANDS

~

I

LIST (printer)
READ
WRITE
SUBMIT

END $EDIT1/N

I

EDIT

Edit mode

)

SUBCOMMANDS

~

I

INPUT

~

I

I

END

I

LIST (terminal)
VERIFY
RENUM
SAVE
TABSET

I

LINE EDIT

I

CHANGE
COPY
DELETE
MOVE
FIND
TOP
BOTTOM
UP
DOWN

Figure 20. $EDIT1/$EDITIN Commands and Subcommands

o
Chapter 4. The Utilities

171

$EDITI and $EDITIN
Special Control Keys
1.

End of Line Character (see note be low). The Carr i age Return
Key (CR )/ENTER is used to end an input line.

2•

Line Delete Character (see note below).
The
(DEL) of certain teletypewriter terminals
delete an input line.
Note: CR and DEL keys can be def i ned
statement. See the System Gu i de.

in

Delete Key
is used to

the

TERMINAL

3.

Character Delete Character. The backspace (BS) key on terminals is used for the character delete function. On teletypewriter
terminals,
use
the
CTRL
and
H
keys
simultaneously.

4.

Tabulation Character. You can set the TAB character to the
character of your choice. '%' is the default TAB character.
Columns 10, 20, 40, and 72 are the default TAB columns.

5.

ATTN Key (4978/4979) or ESC or ALT MODE Key (teletypewriter
terminals).
The subcommands CHANGE,
FIND,
and
LIST,
described below, can be cancelled by pressing the ATTN/ESC
key and enter i ng, as a spec i a 1 system ut i i i ty funct i on, the
two character code CA. This feature is useful, for example,
to termi nate a long 1 i st i ng.

o
172

SC34-0313

$ED~Tl

and $EDIT1N

o
The editor commands are described in the following pages.
Unless specifically indicated, the commands apply to both the
host and native versions of this utility. The editor commands
are:

COMMAND
EDIT
END
LIST
READ
SUBMIT
WRITE

DESCRIPTION
Enters edit mode; allows edit subcommands
Terminates $EDIT1/$EDIT1N
Lists the work data set on the system printer
Reads a source data set into the work data set
Submits a job to the host batch job stream
Writes the work data set into a source data set

o
Chapter 4. The Utilities

173

$EDITI and

$E~ITIN

EDIT - Enter Ed; t Mode

EDIT is used to beg; n ed i t i ng source data.
Syntax

EDIT

OLD/NEW

Required: None
Defaults: NEW when using a newly allocated work data set.
OLD when using an old work data set.
Alias:
E,ED

Operands

Descript;on

OLD

Indicates that data exists in the data set you want
to modify.

NEW

Ind i cates that you are creat i ng new data.

Notes:
1•

The EDIT command must be entered before the ed i tor subcommands can be used.

2.

When in ed i t mode, the subcommand END or SAVE must be
entered before the editor commands listed on the preceding
p age c an be used.

c
174

SC34-0313

$EDITl and $EDITIN

o

END - End $EDIT1/$EDITIN

END terminates execution of $EDITI or $EDITIN.
The contents of the edit work data set are unchanged. You can
re invoke $EDIT l/N at a later t j me and cont i nue.
Syntax

END
Required: None
Defaults: None
Alias:
EN

No operands are requ ired.

o
Chapter 4. The Utilities

175

$EDITl and $EDITIN
LIST - L; st Work Data set

LIST prints all or p~rt of the work data set on the system
pr inter ($SYSPRTR). A sing Ie line number can be spec if i ed or a
pa i r of line numbers can be entered to 5~ec; fy a l; ne range. If
no line numbers are specified, the ent.re data set is listed.
List i ng can be term i nated by enter i ng ATTN and CA. Note a's i mi larity to the EDIT .ubcommand. A~ a command following READY,
the data set is pr i nted on $SYSPRTR. As a subcommand followi ng
EDIT, the data set is displayed on your terminal.
Syntax

LIST

line-spec

Required: None
Defaults: None
Alias:
L,LI

Operands
line-spec

Descriptjon

'*' (for the current
indicate a single line
'linenuml linenum2' to
The entire data set is
omitted.

Examples

LIST 10 100
L

L

LI

176

*
*

5

SC34-0313

line) or 'line-number' to
to be listed. '* COUNT' or
display a range of lines.
printed if this operand is

$EDITl and $EDITIN

o

READ - Retr; eve Host Data Set ($EDIT1)

READ retr i eves a data set from the host system and stores it in
your Ser i es/l work data set.
The Host
required.

READ

Communications

Facility

on

the

System/370

is

dsname

Required: None
Defaults: If dsname is omitted, the system prompts you
Alias:
None

Operands
dsname

Description
The fully qualified name of the host data set to be
retr i eved. It must conta in fixed length records,
80 bytes in length, with line numbers in co 1 umns
73-80.
You can enter the command and name together on the
same line or enter the command READ and the system
prompts for the data set name.

c
Chapter 4. The Utilities

177

I

[ SEDITI and $EDITIN

()

READ - Retr; eve Ser; es/l Data set ($EDIT1N)
READ retrieves a named data set from a volume on the Series/l
disk or diskette and stores i t ina Ser i es/l work data set

READ

dsname volname

Required:
Default:
Alias:

None -

Operands

R,

System prompts for operands

RE

Description

dsname

Name of data set to be retr i eved.

volname

Name of the volume containing the data set
retrieved.

t!Qh: These

operands

are

entered

as

responses

to

to

be
,~

,

system

~

\

\.,.::)

prompts.

c
178

SC34-0313

$EDIT! and $EDITIN

o

SUBMIT - Submi t Job to Host ($EDIT1)
SUBMIT injects a job (JCL and optional data)
batch job stream.

into

The Host
required.

System/370

Communications

Facility

on

the

the

host
is

Note: This option is only to be used in systems with a HASP or
JES/Host Communication Facility interface.
Syntax

SUBMIT
SUBMIT

Operands

(

''''''.,

dsname
DIRECT

Description

dsname

The fully qualified name of the host data set, the
contents of which are to be entered into the job
stream. This data set must contain fixed length, 80
byte records.

DIRECT

If specified, the contents of your edit work data
set are transferred di rectly to the host
job
stream.

;'
j

o
Chapter 4. The Utilities

179

[ $EDITI and $EDITIN

o

WRITE - Write Work Data Set to Host ($EDIT1)

WRITE transfers your Series/l work data set to a host data set.
It is assumed that your data set has been created or ed i ted wi th
the $EDITI uti 1 ity program.
The Host
required.

Communications

Facility

on

the

System/370

is

If a host data set has been previously speci fied, you are asked
if you wish to reuse it. If not, or if one was not previously
spec if i ed, you are prompted for a new host data set name.
Syntax

WRITE dsname

Dgerands
dsname

Description
The fully qualified name of the target host data
set. Th is data set shou ld conta in fixed length
80-byte records.
You can enter t~e command and name together on the
same line or enter only the command WRITE and the
system prompts you for the data set name.

180

SC34-0313

$EDITl and $EDITIN

o

WRITE - Wr; te Work Data Set to Ser; e5/1 Data Set ($EDITIN)
WRITE copies the Series/1 work data set to a named data set in a
Series/1 disk or diskette volume.
Syntax

WRITE

Req~ired:
Default:
Alias:

None - System prompts you for operands
Copy to the originating data set, i f any
W, WR

No operands are requ ired.
The following prompt is issued by EDIT1N:

WRITE TO

'READVOL'

OR

'READVS'?YES/NO

where 'READVOL' is the originating volume and 'READVS' is the
originating data set. This prompt is issued only i f the work
data set was initialized via the READ command. I f the response
is 'NO' or the data set is new, the following prompt is issued:

I

ENTER VOLUME LABEL: volname

o
Chapter 4.

The Utilities

181

$EDITI and $EDITIN

Edit Mode Subcommands

".. "
0
"

,

The subcommands used to edit your work data set while in EDIT
mode are descr i bed as fo llows:

Subcommand
BOTTOM
CHANGE
COPY
DELETE
DOWN
END
FIND
INPUT
Line Editing
LIST
MOVE
RENUM
SAVE
TABSET
TOP
UP
VERIFY

Operands
line-spec /textl/text2/ALL
line-spec
line-spec
count
/character-string/
line-number increment
line-number character-string
line-spec
line-spec
new-line-number increment
ONCinteger list), OFF, CHCcharacter)
count
ON/OFF

(,-.~.\
->,/

,

,

"

182

SC34-0313

...

o

$EDITI and $EDITIN
BOTTOM - Set Li ne Poi nter to Bottom

BOTTOM repositions the current line pointer
line of the data set being edited.

(*> to

the

last

Syntax

BOTTOM
Required: None
Defaults: None
Alias:
B,BO

No operands are requ ired.

c
Chapter 4.

The Utilities

183

[ $EDITI and $EDIT1N
CHANGE - Change

Cha~acte~

()

str; ng

CHANGE mod if i es a character str i ng ina 1 i ne or range of 1 i nes.
Syntax

CHANGE

line-spec /textl/text2/ALL

Required: /textl/text2
Defaults: line-spec defaults to
Alias:
C,CH

Qperands

Description

line-spec

'*'

*.

or blank for the current line.

'* count' or '1 i nenum! 1 i nenum2' for
lines.

a

range

0

f

'line-number' for a particular line.
/textl/text2/ALL
' / ' can be any non-numeric character except BLANK,
TAB, and ASTERISK. It is not a part of, "and cannot
appear within the character strings 'text!' and
'text2'. The line or range of lines is searched for
'text!', which, if found, is replaced by 'text2'.
Note that the same character must be used for both
del i mi ters in anyone change command.
The keyword 'ALL' is optional and causes every
in
the
occurrence of 'text l' to be replaced
line(s).
Two adjoining delimiters denote a null operand. If
text! is a null operand, then text2 is inserted at
the start of the line. The line is shifted right. If
text2 is a null operand and text! is specified,
text2 is removed from the line and the rest of the
line shifted left.

o
184

SC34-0313

$EDITl and $EDIT1N

o

Example

C 20 /ABC/ADC/
C 100 250 =/*=//=ALL

C

*

//XYZ

C /PROG/PGM/

c
Chapter 4. The Utilities

185

[SEDITI and $EDITlN ]
COpy - Copy Text

()

COpy duplicates text, from one location in a data set, at
another location within that data set. The 'from' and 'to'
text both remain in the data set.
Syntax

COpy

linenuml linenum2 linenum3

Required: linenuml linenum3
Defaults: linenuml linenurn3 defaults to
a single line copy of ' 1 ' to ' 3 ' •
Alias:
CO

Operands

Description

linenuml

The first line of text to be copied.

linenum2

The last line of text to be copied.

linenum3

The line of text after which the copied text is to
be placed.
All specified line numbers must exist. 'linenum2'
must be equal to or greater than
'linenuml'.
'linenum3' must be less than 'linenuml' or equal to
or greater than 'linenum2' when three line numbers
are spec if i ed. The data set is renumbered wi th
standard specifications. The original 'linenum2'
is listed with its new line number on exit.

~

I.J
(
186

SC34-0313

o

[ $EDITl and $EDIT1H

Example

CO 100
CO 120
CO 150
COpy

300
250
150
150

60
820
310
310

Note: The last two examples are equivalent.

o
Chapter 4. The Utilities

187

$EDITI and

$ED~~IN

o

DELETE - Delete Text

DELETE removes records from the data set. The current
pointer C*> is repositioned prior to the deleted lines.

line

line-spec

DELETE

Required: None
Defaults: *
Alias:
DE

Oeer~nds

line-spec

Descrietjon

* for current
'* count' or

1 i ne.
'I i nenurn1 1 j nenum2' for

a

range

of

lines.
'1 i ne-number' for a part i cular 1 i ne.

Example

DELETE *
DE * 4
DE 100 150
DE 125

c
188

SC34-0313

o

$EDITI and $EDITIN

DOWN - Move Li ne Po; ntar Down

DOWN moves the current line pointer C*) toward the end of the
data set.
Syntax

DO~JN

count

Required: None
Defaults: 'COUNT' defaults to 1.
Alias:
DO

Operands
couRt

Description
Spec if i es the number of
po inter is to be moved.

lines

the

current

line

Example

DOWN 5
DO 10

0 '"
I,

Chapter 4. The Utilities

189

I

$EDITI

~n~$EDITIN

END - Ex; tEd; t Mode

o

END requests that the EDIT mode be terminated. The editor commands can now be used relative to your finished source data. To
save or list your data set or to write or submit your data set
to the host, see "Editor Commands" on page 173. The contents of
the work data set rema i n unc'hanged. You can re'-enter the ed i t
mode using the EDIT command and continue editing the work data
set.

END
Required: None
Defaults: None
Alias:
EN

No operands are requ ired.

o
190

SC34-0313

o

$EDITl and $EDIT1N
FIND - F; nd Character str; n9

FIND searches for a specified character string beginning with
the current line, if operands are specified (see ~yntax.) The
current line pointer (*) is moved to the first line found to
contain the string. The search is made at every position within each line.
Note: VERIFY should be set to ON when using the FIND command.
~yntax

FIND

=char-string=

Required: None
Defaults: If no operands are specified, those specified
on the last previous issue of the FIND
subcommand are assumed., The search begins at
the line following the current line.
Alias:
F,FI

Operands

Description

=char-string=
The string delimiter can be chosen to be any nonnumeric character, except BLANK, TAB, or ASTERISK
and which does not appear within the specified
character string. The second occurrence can be
replaced by a carriage return. Note that both
delimiters must be the same character.

Example

FIND /START/
F

FI =DATA

X'OOFl'=

o
Chapter 4. The Utilities

191

o

INPUT - Inpu't Text

INPUT allows lines to be added or replaced. INPUT can be used
any time in ed it mode by press i n9 the ENTER key. lines are then
added to the end of the data set.
To terminate INPUT mode, press the ENTER key immediately after
you rece i ve the prompt for the next line number to be entered.

INPUT

line-number
or
* increment

increment

Required: None
Defaults: Increment defaults to previous or 10
Alias:
I,IN

OQ....erands

Description

line-number
The first line inserted will have this number, or
this number plus the increment if the specified
line number already exists.
increment

The increment for numbering inserted lines. The
default is the previously specified increment or 10
if not specified.

*

lines are to be inserted at the current line
position plus the default increment. If no operands are specified, lines are to be inserted at the
end of the data set plus the default increment.

c
192

SC34-0313

o

SEDITl and $EDITIN
Example

INPUT * 1
IN 100 5
I 20
I

C:I

0 ",

,'I",'

Chapter 4. The

Utiliti~s

193

$EDITl

a~d

$EDITlN I

LIST - Li st Work Data Set

LIST displays, at the terminal, lines of the data
edited.

LIST

set

being

line-spec

Required: None
Defaults: line-spec defaults to entire data set
Alias:
L,LI

1ULerands
line-spec

Description
C*) or line-number to indicate a single line to be
listed. '* count' or 'linenuml linenum2' to displaya range of 1 i nes.

Example

LIST 10 100
L

L

LI

*

*

5

c
194

SC34-0313

o

$EDITl and $EDITlN
MOVE - Move Text

MOVE moves text from one location in a data set to another
location within that data set. The 'from' text is deleted and
only the 'to' text remains in the data set.
Syntax

MOVE

linenuml linenum2 linenum3

Required: linenuml linenum3
Defaults: linenuml linenum3 defaults to move one line.
Alias:
MO

Ope ran d s

.p e s c rip t.iQ.n,

Ii nenuml

The first line of text to be moved.

linenum2

The last 1 i ne of text to be moved.

linenum3

The 1 i ne of text after wh i ch the moved text is to be
placed.

All spec if i ed 1 i ne numbers must ex i st.
'I i nenum2' must be
equal to or greater than 'linenuml'. 'linenum3' must be less
than 'linenuml' or greater than 'linenum2' when three line members are specified. The data set is renumbered with standard
specifications. The origin~l 'linenum2' is listed with its new
line number on exit.
Example

MO 100 300 60
MO 120 250 820
MO 87 87 310
MOVE 87 310
Not~:

The last two examples are equivalent.

o
Chapter 4. The Utilities

195

I :~E~ITl

and $EDITlNJ

RENUM - Renumber Wor k Data Set
RENUM renumbers each 1 i ne of a l i ne numbered data set
ass i gns 1 j ne numbers to each 1 i ne of an unnumbered data set.

or

Syntax

RENUM

new-line-number

Required:
Defaults:

None
Both new-line-number
default to 10.

Alias:

R,

and

increment

RE

No t.1t : ' new - 1 i n e - n u mb e r'
specified.

Q[Le rands

increment

i s

r e qui red

i f ' inc rem e nt'

i s

.Descr i pt ion

/~---\

\,,",,';

new-line-number
The sequence number to be ass i gned to the first 1 i ne
processed.
increment

The increment to be used in renumber i ng.

Example

RENUM 10 10
RE 100 5
RENUM
R

o
196

SC34-0313

o

$EDIT! and $EDIT!N
SAVE - Save Work Data Set

SAVE wr i tes the current contents of the L>Jork data set to a host
data set with the host related version ($EDIT!) or to a
Series/! data set with the nati ve related version ($EDITIN).
If a data set has been previously specified (e.g., in a READ
command), you are asked if you wish to wr i te onto that data set;
otherwise, you are prompted for a new data set name.
Syntax

SAVE

dsname

Required: None
Defaults: None
Alias:
S, SA

(

"',/:

Operands
dsname

Description
When using $EDIT!, you are prompted for the target
host data set name. It must be a fully qualified
data set name.
When using $EDIT!N, the target data set must have
been previously allocated in a volume on a Series/l
disk or diskette. The data set should contain fixed
length records, 80 bytes in length.
You
are
prompted for the target volume name.

Example

SA
S
SAVE

o
Chapter 4. The Utilities

197

SEDITl and $EDITIN

()

TABSET - set Tabs
TABSET reestablishes tab values or nullifies existing t~b values. The tabulation character and tab stop values are mainta i ned as part of your work data set. (They can be changed
later).
The tab character can be entered anywhere in the data line
under the INPUT subcommand or line editing function. It causes
a skip to the next tab position when the data line is entered
into the work data set. The resulting line is not visible, but
can be displayed if desired.
Syntax

ONCinteger-list)
OFF
CHCtab-character)

TABSET
TABSET
TABSET

Required: ON, OFF, or CH
Defaults: None
Ali~s:
TA

Operands

Description

integer-list
The relative column positions in each line to which
tab values are to be set. Initial system defaults
are 10,20,40, and 72.
tab-character
A new tab character.
sign.
OFF

The

standard

is

a

percent

Term i nates the tab funct ion.

c
198

SC34-0313

o

$EDITI and $EDITIN

Examples

TABSET ONCI0 20 40 72)
TA ONCIO 16 31)
TA CHCI)

TA OFF

TABSET ONCI0 20)
36 %TAB POSITION 1
INPUT 37 I
INPUT
00037 %%TAB POSITION 2
00038

o

EDIT
LIST 36 37
00036
00037

TAB POSITION 1
TAB POSITION 2

o
Chapter 4. The Utilit'ies

199

I

$EDITI and $EDITIN

TOP - set Line Poi nter to Top
TOP pos i t j ons the current 1 i ne po inter
1 i ne of the data set.

(*)

before

the

first

TOP
Required: None
Defaults: None
Alias:
TO

No operands are requ ired.
Note: If VERIFY is ON, no line is printed because the current
line number precedes the f i rs't· line.

o
200

SC34-0313

$EDITl and $EDITlN

o

I

UP - Move Line Pointer Up

UP moves the current line pointer (*) toward the start of the
data set.
Syntax

UP

count

Required: None
Defaults: Count defaults to 1
Alias:
U

Operands
count

Description
The number of lines that the current line pointer
(*) is to be moved.

Example

UP 10

o
Chapter 4. The Utilities

201

[ $EDITl and $EDITlN

0

1',1'

VERIFY - Di splay Changes on Termi nal

~"

VERIFY causes the changes you made to be shown on the terminal
(ON), or not sho"Jn (OFF). Verification is off until it is
invoked the first time during an edit •
..s..Y.ntax

VERIFY

ON/OFF

Required: None
Defaults: ON
V,VE
Alias:

Operands

Description

ON

Each time the position of the current line pointer
(*) changes, the line to which it moves should be
printed. In addition, modifications made in fields
of records using the 'character-string' or 'text'
forms of the CHANGE subcommand are ver if i ed.

OFF

Changes of the position of the current line pointer
(*), and of fields of records by means of the CHANGE
subcommand, are not to be ver if i ed.

Example

V ON
V

V OFF
VERIFY

c
202

SC34-0313

$EDITl and $EDITIN

o

Line Editing Commands
The line editing commands allow a single line to be
replaced, or deleted from the data set being edited.

added,

Note: Line ed it i ng funct ions are not subcommands.
Syntax

line-number

character-string

Required: line-number
Defaults: None
Note: I f spec if i ed, 'character-str i ng' must be
separated from 'line-number' by a single blank
or tab.

·Operands

Description

line-number
'line-number' with an immediate carriage return
deletes the 1 i ne hav i ng the spec if i ed number (i t
does nothing if the line does not exist).
'L i ne-number', fo 110wed by a character str i ng, adds
the string to the data set.
If a line having. the
s p e c i fie d Ii u mbe r a 1 rea dye xis t s, i t i s rep 1 ace d' it
character-string
The text of the 1 i ne to be added.

c
Chapter 4. The Utilities

203

$EDITl and $EDIT1N
Examples
Add line (line 112345 does not exist)

12345 This

line is being

~dded

Delete line 12345

[ 12345

Replace

~345

li~e

12345

This line replaces 12345

c
204

SC34-0313

$FONT ]

o

$FONT - PROCESS 4978 CHARACTER IMAGE TABLES
$FONT, a special purpose utility, creates or modifies character image tables for the 4978 display station. Each character
image is def i ned by a dot matr i x that is coded into eight bytes
of data. The entire table of codes requires 2048 bytes of storage. For details on the associated 4978 hardware, see the Bibliography for the 4978 Display Station manuals.
$FONT requ i res one prea Ilocated data set of 2048 bytes (8
records). The data set can conta ina character i mage tab Ie, or
it can represent storage for a new table to be constructed.

$FONT Commands
The commands available under $FONT are listed below. To display
this list at your terminal, enter a question mark in response
to the prompt i ng message COMMAND (?):.

(~

"\

COMMAND ( ? ) : ?

)

DISP
EDIT
SAVE
PUT
GET
END

DISPLAY TABLE
ENTER EDIT MODE
SAVE TABLE
LOAD TABLE INTO DEVICE
READ TABLE FROM DEVICE
END PROGRAM

COMMAND ( ? ) :

After the commands are displayed, you are again prompted with
CO~1f1AND (?):.
You respond with the command of your choice (for
example, DISP).
DISP - Di splay Table

The character images defined by the table are displayed along
with their associated EBCDrC codes.
EDIT - Enter Ed i t Mode

o

Edit mode enlarges the display for modification of the dot
matrix patterns (a complete description of the edit mode funcChapter 4. The Utilities

205

$FONT

o

tions is given following this section).
END - End Program

When you enter the END subcommand, the system displays the message SAVE TABLE? if edit mode has been entered at least once
since the last SAVE operation. This allotr.ls you to save the current table, if desired, before ending the program.
GET - Read Table from Devi ce

The image store is read from a (4978) terminal and becomes the
current table. The GET command followed by SAVE provides a
means for in it i ali zing a data set with a character i mage tab Ie.
PUT - Load Table into Dev; ce

The current table is written to the image store of a (4978) terminal. A terminal name can follow the command on the same line,
or you are prompted for it. The image store is a table which
conta i ns codes for gene rat i ng characters or i mages for the 4978
terminal.
SAVE - Save Table

The current table, reflecting any changes made during
mode, is wr i tten to the data set des i gnated at load time.

edit

Edit Mode
When you enter edit mode, a 4X8 grid is displayed in the center
of the screen. For each grid row, the centers of seven overlapping dot areas occur at the centers of each of the four squares
and at each of the three interior grid lines. (See 4978-Lpis1tl a y S tat; 0 nan d At t a c "me. n t Ge n era I I.n for mat; 0 n for d eta i Iso n
the character matr i x.) Dots are represented wi th the followi ng
pattern:

o
206

SC34-0313

$FONT

Screen Format
The following complete screen format appears after you select a
character for display:

TAB FORWARD
TAB BACK
NEXT LINE
INVERT DOT
SET PATTERN
COMMAND MODE

PFI
PF2
PF3
PF4
ENTER
PF5
CODE

o

A

(Cl)

II II
IIII IIII
A

o
Chapter 4. The Utilities

207

$FO~IT

Character Image DisRlay and Modification
You can d i sp lay and mod i fy the character i mages as fo llows:
1.

Spec i fy the character to be viewed either by enter i ng a
character at the cursor position (the alphanumeric field),
or by entering the hexadecimal representation of the
EBCDIC code between the parentheses (the hex fie ld) •

2.

Press the ENTER key. The character image, as determ i ned by
t h.e tab led e s i 9 nat e d a t loa d tim e, i s dis pIa ye don the
grid. For 4978 terminals, the image is also displayed
beneath the grid in normal dimensions.
If the character
was designated with an alphanumeric field entry, then the
EBCDIC code as determined by the keyboard in use is displayed in the hex field.

3.

The program function keys can then be used according to the
displayed instructions to modify the dot pattern.
Note
that adjacent or overlapping dots appear as a continuous
solid line on the grid. This reflects a feature of the
character generat i on hardware on the 4978 display.

4.

When the des i red pattern has been constructed, press
ENTER. The word CODE on the code entr y line changes to SET,
displayed at high intensity. At this point, press ENTER
again and the new pattern replaces the existing pattern for
the spec if i ed code. To assoc i ate the pattern wi th a new
code, alter either the alphabetic or hex field before
press i ng ENTER.

o
208

SC34-0313

$FSEDIT

o

$FSEDIT - FULL SCREEN EDITOR
$FSEDIT is a full-screen text editing utility that helps you
develop and modify programs. It operates the terminal as a
static screen device and therefore must be run from a terminal
with static screen capabi lity (4978/4979).
With $FSEDIT you can:
-

Edit programs using a full screen

•

Scroll information forward and backward

- U s e PF (program function)
tions

keys for

frequently used func-

-

Insert a mask for pref ill i ng inserted lines

-

Merge data from other data sets

-

Communicate with a System/370 in conjunction with the Host
Communication
Facility
IUP
installed
on
the
host
System/370

NQ..i.g,: To use $FSEDIT, the modules SFSUTIL, $FSUTLN, $FSHELP
and $FSIMI to $FSIM8 must reside on the system IPL volume.

Data Set Requ;rements
$FSEDIT requires a preallocated work data set for use as a text
edit work area. This work data set is automaticallY allocated
if $FSEDIT is invoked by the session manager. If you use the $L
command, you can provide the name of the work data set when you
enter the load request, or when $FSEDIT issues a prompt for the
name of the work data set.
Text data (source statements) within this work data set are in
a special text editor format, identical to that used by the
$EDITIN text editor. See "Data Set Requirements" on page 169.
Data within a work data set can be edited by either $EDITIN or
$FSEDIT.
Note: $FSEDIT uses source data sets of 80-character lines that
are line numbered in positions 73-80 for host or Series/l data
sets or in pos i t ions 1-6 (COBOL convent ion) for host data sets.

o
Chapter 4.

The Utilities

209

$FSEDIT

Whe.n you end a text editing utility session, save the contents
of the work data set in a source data set on disk, diskette or
tape. If a new data set is used, a prompt is issued asking if
the work data set is to be written to the same disk, diskette,
or tape it was read from. If your response is N, a prompt is
issued asking for a new data set to be used. If the data set
does not exist on the volume specified, $FSEDIT creates it
automatically. Automatic translation from text editor format
to source statement format is performed.

()

Caution:
If you write the work data set out to a multifile
tape, all files following this data set will no longer be
accessible.

Scrolling

During editing and browsing, the information to be displayed
usually exceeds the si ze of the display screen.
Scrolling
allows you to page UP or down through the information. Two PF
keys are used for th i s purpose -- one for each direct i on. Whenever scrolling is allowed, a scroll amount, displayed at the
end of the second line of the display, shows the number of lines
scrolled with each use of a scroll key,

PAGE or P

Specifies scrolling one page (22 lines).

HALF or H Specified scrolling a half page
MAX

n

or

M

( 11

lines),

Specifies scrolling to the top or bottom of the data
set.
Specifies number of scrolling lines

You can change the scroll amount by moving the cursor to the
scroll field and overtyping the amount currently displayed. To
change the scroll amount, type over the first character with a
P, H or M to change the scroll amount to a page, half page, or
maximum, respectively. To specify a number of lines to scroll,
o v e r t y pet h e fie I d wit h the n u mb e r 0 f l.i n e s des ire d •

In browse mode, the scroll amount is initialized to PAGE; in
edit mode, it is initialized to HALF.
the new value remains in effect for
sess i on un less you change it.
The
exception; following a MAX scroll, the
back to the initial value.

When you make a change,
the remainder of the
va 1 ue for MAX is an
scroll amount defaults

c
210

SC34-0313

$FSEDIT

o

Program Function Keys
The ATTN and six program funct i on keys are used to request commonly used or special $FSEOIT operations as follows:

PFl

Redisplays the screen image. All changes are ignored
and the original data is displayed.

PF2

SCROll
field.

PF3

SCROLL OO~~N scrolls down
scroll amount field.

the

PF4

REPEAT FIND repeats
FINO pr j mary command.

action

PFS

REPEAT CHANGE repeats the action of the previous
CHANGE pr i mary command (App lies on I y to ed i t mode).

PF6

PR INT SCREEN pr i nts the screen i mage on the system
pr inter ($SYSPRTR).
The use of PF6 for hardcopy may
have been changed by use of the TERMINAL HOCOPY statement (see the ~tem Guicill>.

ATTN CA

Cancel the l i s t option. Pressing the ATTN key and typing CA stops the l i s t option of $FSEOIT and returns to
the primary option selection l i s t .

UP scrolls up the amount shown in scroll amount

the

amount

of

shown

the

in

the

previous

Note: The PF2 - PFS keys are active only during browse and edit
modes. PFI use is only meaningful during edit mode.

o
Chapter 4.

The Utilities

211

L,$FSEDIT I
$FSEDIT Options and Command Summary
This summary shows the options and commands
$F SED IT. A des c rip t ion 0 f e a c h follow s •

available

under

Primary Options:
~'ERGE
READ
SUBMIT t~R IT E
BROWSE
EDIT
END
HELP
LIST

Display Data Set
Edit Data Set
Terminate $FSEDIT
Display Commands
Print Data Set
Merge Data from a Source Data Set
Retrieve Data Set From Native/Host
Submit Job to Host
Transfer Data Set to Native/Host

BROWSE Primary Commands:
END
FIND
LOCATE
MENU

-

Same as MENU
Find a Character String
Find Data by Line Number
Return to Primary Option Menu

~.-------------------------,------------------------------------------~

EDIT Primary Commands:

CHANGE
CLEAR
END
FIND
LOCATE
NENU
RENUM
RESET

-

Modify Character Strings
Clear Work Data Set
Return to Primary Option Menu
Find Character String
Find Data by Line Number
Return to Primary Option Menu
Renumber Data Set
Clear Line Commands

EDIT Line Commands:
A,B
C,CC
COLS
D,DD
I,ll
M,MM
MASK

-

Define Copy/Move Destination
Copy Lines of Text
Display Columns
Delete Text
Insert Text
Move Line of Text
Display Insert Mask

c
212

SC34-0313

$FSEDIT

o

P~;ma~y

Option Menu

When $FSEDIT is loaded, the following primary option menu
(selection list) is displayed. To select the desired function,
enter the number of the opt i on in the 'Se lect Opt i on' input
field.

---------- SFSEDIT PRIMARY OPTION
SELECT OPTION ===> 1
1
2
3
4

5
6
7
8
9

BROWSE
EDIT
READ
WRITE
SUBMIT
LIST
MERGE
END
HELP

-

MENU

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

DISPLAY DATASET
CREATE OR CHANGE DATASET
READ DATASET FROM HOST/NATIVE (H/N)
WRITE DATASET TO HOST/NATIVE (H/N)
SUBMIT BATCH JOB TO HOST SYSTEM
PRINT DATASET ON SYSTEM PRINTER
MERGE DATA FROM A SOURCE DATASET
TERMINATE SFSEDIT
DISPLAY TUTORIAL

opt ion 1 - BRO'''SE
The BROWSE mode allows you to display and examine a source fi Ie
in the work data set, but prevents the possibility of changing
it.
In this mode, you can view all parts of the work data set using
the scroll i ng funct i on (i nvoked by press i ng PF keys).
In addition, two primary comm~nds are used to locate specific
i nformat i on wi th i n the data set.
FIND

Searches for a des i gnated text str i ng

LOCATE

Searches for a des i gnated line number.

These primary option commands are
Commands" on page 218.

o

discussed

under

"Primary

During browsing, the current number of lines in your data set
and the maximum number of lines the work data set can hold is
displayed on the top line of the display, following the data
set name and the volume identification. (The maximum number of
lines is displayed in parentheses. )

Chapter 4. The Utilities

213

$FSEDIT
Browsing is terminated by entering the primary command MENU in
the command input field to return to the Pr i mary Opt i on Menu.

opt; on 2 - EDIT
In the ed i t mode, you can mod i fy an ex i st i ng source data set or
create a new one. To do th is, you use:
•

Program function keys for two-way
change and find

scrolling

and

repeat

•

Primary commands (CHANGE, CLEAR, END, FIND, LOCATE, MENU,
RENUM, and RESET)

•

Line edit commands to manipulate whole lines or blocks of
lines.

Creating a Source Data Set
To create a new source data set, you enter EDIT mode (option 2
of the primary option menu) with an empty data set (the work
data set specified when SFSEDIT was invoked). Because the work
data set is empty, the editor assumes insertion (creation) of
lines is desired and the INSERT function is active. Following
is an example of the initial display when editing an empty data
set.

EDIT --- EDITWORK, EDX002
0(24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************

***** **** BOTTOM OF DATA ******************************

The top line of the screen, from left to right, displays ut ility mode (EDIT), the name and volume of the work data set
(EDITWORK,EDX002), the number of source statements in the work
data set, and in parentheses, the total number of statements
the data set will hold.
The cursor is positioned at character position 1 of the insert
line. After you enter i nformat i on on th i s line, press the
ENTER key to wr i te the data on the screen to your work data set.
214

SC34-0313

o

$FSEDIT

o

The utility then numbers the entered line and sets up for the
next insert line.
As you continue in this manner, a new insert line is readied
each time the preceding line is entered (ENTER key). The insert
(creation) operation is terminated by pressing the ENTER key
wi thout enter i ng anyth i ng on the new insert 1 i ne.
Note: $FSEDIT does not distinguish between input mode and edit
mode during editing operations and data on the screen can be
changed at any time.
To save the source statements just created, return to the primary option menu (using the MENU command). Use the WRITE option
to save the newly created data set. You are prompted for the
name of the target data set and volume.

Modifying an Existing Data Set
To modify (edit) an existing data set, it must first be read
into the work data set using option 3 (READ) of the primary
opt i on menu.
~ ,~

C)

Once your data set has been read into the work data set, you can
locate and change information by scrolling the data set by
press i ng the PF keys. The PF keys and def i nit ions are descr i bed
under "Program Funct i on Keys" on page 211.
To modify data on the screen, move the cursor to the desired
location and enter the new information. Several lines can be
changed before pressing the ENTER key. A single line or blocks
of lines can be deleted, inserted, duplicated, or rearranged
using the edit line commands. These are discussed under "Edit
Line Commands" on page 226.
For general editing purposes, primar'y edit commands are used to
find and change designated character strings and to change the
1 i ne number i ng sequence. These commands are discussed under
"Pr i mary Commands" on page 218.
After you finish modifying the data set, use WRITE to save the
data in the same data set it was read from or to a new data set
on disk or diskette.
Editing is terminated by entering the primary command END or
MENU in the command input field, which returns you to the primary opt i on menu.

Chapter 4. The Utilities

215

$FSeDIT

1

Opti 0:" :5 - READ

o

The ~EAD option retrieves a data set from either a host system
ora .dat a set and i s k, dis k e t t e, 0 r tap eon the nat i ve 5 e r i e s /1
system and stores it in your work data set. The primary option
menu remains on the display and the area below it is used to
prompt for the data set name and to provide information. The
data set n a me en t ere d mu s t b e f u 1 1 y qua 1 i fie dan d mu s t con t a i n
fix e d Ie n 9 t h 8 0 - b y t ere cor d s •
Line numbers for nati ve data sets must be in columns 73-80. For
line numbers can be in either columns 1-6 or
73-80. If the line numbers in the data set exceed the maximum
al10~ed by $FSEDIT (32767),
the data is automatically renumbe r ed with a smaller lin e number inc rem e n t •
htist data sets,

When the READ is completed or terminated because of an error,
the number of lines transferred, or the appropriate error message, is displayed and the cursor is moved to the 'Select
Option' input field. This indicates the completion of the READ
~unction and another option can be selected. The READ to host
requires the Host Communications Faci lity on the System/370.

opt; on

4 -WRITE

The W.RITE option transfers the contents of the work data set to
a ho~t/native data set. A prompt is issued asking if the work
dat~ set is to be written to the same disk, diskette, or tape
dat~ set i t was read from.
If the response is NO (N), a prompt
is issued ask i ng for a new data set to be used. If the data set
does not exist on the volume specified, it is created automatically~ The WRITE to host requires
the Host Communications
F a c ili··t yon the S y s t e m/ 3 7 0 •
Mo t e '.: The l~ RI TEo p t ion doe s not des t roy the con ten t 5 0 f the
work data set. Therefore, the WRITE option can be directed to
another data set to obtain a backup copy. The WRITE option can
a 150 be .U sed follow i n g fur the red i tin 9 o'f the w0 r k d a t a 5 e t •

Caut.io·n.
1.

If YOU increase the contents of the work data set so that 1 t
is too big to be written back to the source data set,
$FSEDIT deletes the source data set and attempts to reallocate i t with enough space to save the work data set contents. If the allocation fails, the original source data
set is lost. However, the work data set rema i ns intact and
can be s a v e din a 5 u ita b 1 e so u r c e d a t a set.
·lfyou write the work data set out to a multifile tape, all
.fi 1 e 5 f oIl 0 win 9 t his data set wi I 1 no longer be access i b 1 e •

216

SC34-0313

o

o

$FSEDIT
opt; on

5 - SUBMIT

The SUBMIT option injects a job (Jel and optional data) into
the host job stream. The display and operation are similar to
the READ and WRITE commands. The data set name entered must be
the fully qualified name of the host data set containing the
JCl to be submitted. If the keyword DIRECT is entered instead
of a data set name, the contents of the work data set are transferred directly into the host job stream. The SUBMIT to h~st
requ i res the Host Commun i cat ions Fac iii ty on the System/370.
Noh: The DIRECT option is only to be used in systems with
HASP or JES2 interface.

a

opt; on 6 - LIST
The LIST option prints the entire contents of the work data set
on the hardcopy device assigned to the terminal. (The listing
can be terminated at any time by pressing the ATTN key and typing CA.)

opt; on

()

7 - MERGE

The MERGE opt i on merges all, or part, of a sour'ce data set into
the current edit work data set. You are prompted for the names
of the Series/l source data set and volume. If the specified
data set is found, you are then prompted for the first and last
line numbers of the data to be copied. If the entire data set
is to be merged, an '*' can be entered instead of the 1 i ne number specifications. You are also prompted for the line number
of the current work data set after which the data is to be
added. The spec if i cat i on of an aster i sk is only to be used for
the source data set. (I f the format of the 1 i ne number spec i f i cat ion s i s inc 0 r r e c t, an err 0 r me s sag e i s dis p I aye d an d you ar e
prompted for the data again.) If all parameters are correct,
the data is then read from the source data set, added t~ the
current work data set and the current work data set is renumbered.
To cancel the MERGE function, press the ENTER key when prompted
for MERGE FROM data set name.
Caut; O!1.!.. 0 n c e the mer g e has s tar ted, i t mu s t b e a 11 0 wed to
complete nor'mally
or
unpredictable
results
may
occur.
Series/l source data sets are defined to consist of 80 character 1 i nes wh i ch are numbered in columns 73-80.

o
Chapter 4. The Utilities

217

r

$FSEDIT

Opti on B - END

()

The END opt 1 on termi nates $FSEDIT.
Opti on 9 - HELP

The HELP option displays tutorial text on the use of $FSEDIT.

Primary Commands
Primary commands are entered on line 2 of the display in the
Command Input Field. All pr i mary commands can be entered wh i Ie
in ed j t mode.
In browse mode, three pr i mary commands are
recogn i zed by $FSEDIT: LOCATE, FIND, MENU.
Most of the pr i mary commands can be entered in abbrev i ated format. Only the first character is required. Minimum free form
format is indicated with each command enclosed in ().
The function of each of the primary commands is described on
the fa llow i ng pages.

o
218

SC34-0313

o

$FSEDIT
C (CHANGE) - Change Text (Ed; t Mode Only)

Changes text str i ngs. The search for the 'text l' str i ng
proceeds unt i 1 the str i ng is found or the bottom of the data set
is reached. If found, 'textl' is replaced with 'text2'. If the
two text str i ngs are not the same length, automat i c sh i ft i ng is
performed by expanding or collapsing blank characters at the
end of the line.
If insufficient blanks exist for shifting
right without shifting a non-blank character into column 72,
the change is not made and the line is displayed with an error
message in the line number field.
(If the ALL option was
selected, the change is terminated at this point.) If the
'text!' string is not found, you are notified with an error
message displayed on the top line of the screen. PFS would
repeat the prev i ous CHANGE spec if i cat ion.
Syntax

CHANGE /textl/text2/option
C
/textl/text2/option
Requi~ed: /textl/text2/
Defaults: option defaults to

Operands

'NEXT'

Descriptjon

/textl/text2/
The delimiter (/) can be any alphanumeric character
except blank. It is not part of, and cannot appear
in, the character str i ngs 'text l' and' text2'. All
three delimiters are required and all must be the
same character.
'text!' and 'text2' can be any
character str i ng not conta i n i ng the de lim iter used.
option

Def i nes the beg i nn i n9 and the extent of the search.
The following are valid options:
NEXT

a,\'

Locate and change the next occurrence of 'textl' to
'text2'. The search starts with the first line
displayed.
FIRST

"

Chapter 4. The Utilities

219

$FSEDIT ]

0. .
\

Locate and change the first occurrence of 'text!beg inn i ng the search at the first line of data set.

1
.,

."

ALL
Locate and change all occurrences of 'text!' beginning at the first line of the data set.

C

,.

1

220

SC34-0313

.~

$FSEDIT

o

CL (CLEAR) - Clear Work Data Set (Ed; t Mode Only)
Clear the work data set.
Syntax

CLEAR
CL
Required:
Defaults:

none
none

No operands are requ ired.

E (END) - End PI'; mary Command Input
Return to Pr i mary Opt i on Menu. The END command term i nates ed i t
or browse mode and returns to the Pr i mary opt i on Menu screen.
Syntax

No operands are requ ired.

o
Chapter 4.

The Utilities

221

[ $FSEDIT

o

F (FIND) - Find Text String
Find and display text strings.
The search proceeds until the
text string is found or until the end of the data set is
reached.
If the string is found, automatic scrolling takes
place to display the line containing the text string to be displayed at the top of the data area of the display.
If the
string is not found, you are notified. PF4 repeats the previous FIND specification.
Syntax

FIND /text/ option
F
/text/ option
Required: /text/
Defaults: option defaults to

Operands

'NEXT'

Description

/text/

The delimiter (/) can be any alphanumeric character
except blank which does not appear within the text
string. Both delimiters are required and must be
the same character.

option

Defines the beginning
opt ions are:

of

the

search.

The

valid

NEXT
The search starts with the first line of the current
display.
FIRST
The search starts at the first 1 i ne of the data set.

o
222

SC34-0313

o

$FSEDIT
L (LOCATE) - Locate L;ne Number
Locate and display the requested line number. The data set is
searched for the requested line. If found, automatic scrolling
takes place and the requested line is displayed at the top of
the display. If the requested line number does not exist, an
error message is displayed.
Syntax

LOCATE line-number
L
line-number
Required:
Defaults:

Operands

o

line-number
none

Description

line-number
The number of the line to be located and displayed.

M (MENU) - Return to Pr;mary Opt;on Menu
Return to Primary Option Menu. The MENU command terminates
edit or browse mode and returns to the Primary Option Menu
screen.

MENU
M

No operands are required.

o
Chapter 4. The Utilities

223

$FSEDIT

()

R (RENUM) - Renumber Data Set (Edit Mode Only)

Ass i gn new line numbe.rs to each line of the data set.
'£y'ntax

RENUM first increment
R
first increment
Required: none
Defaults: first and increment default to 10 or to
the values last used.

QRerands

Description

first

The number to be assigned to the first line of the
data set.

increment

The increment
numbers.

to

be

used

in

generating

line

Not~: If the number of lines
in the data set is so large that
the maximum line number of 32767 is exceeded, the 'first' and
'increment' values are automaticallY reduced unti I the data
set can be properly renumbered.

o
224

SC34-0313

o

$FSEDIT

RESET - Reset L; ne Commands (Ed; t Mode Only)

The RESET command can be used to ~~set e~~oneous o~ unwanted
line commands, to reset line numbers td normal after they were
replaced with ERR messages and to terminate the display of the
MASK 1 i ne •
Syntax

RESET
Required:

none

No operands are requ ired.

o
Chapter 4. The Utilities

225

$FSEDlt

Edit L;ne Commands

o

The edit line commands are used to delete, insert, duplicate,
or reatrange a single line or a group of lines. They are valid
only in edit mode.
Single charactet line commands operate on single lines of data
and are spec if i ed by enter i ng the line command in the first
position of the line preCeding the line number.
Double cha~acter line commands operate on blocks of data and
are specified by entering the block command in the first two
positions on the first and last line of the block of data.
A (After) and B (Before)

Defines the destination for a copy or move operation. The 'A'
and 'B' lirie commands are entered to define the destination of
a copy or move operation. The 'A' defines the destination as
be i ng after the line and the 'B' de fines the dest i nat i on as
being before the line. Thus it is possible to move or copy anywher e i nth e d a t a set, inc 1 u d', n 9 b e for e the fir s t lin e 0 r aft e r
the last line.

c

(Copy L; ne) and CC (COpy Block)

Dup Ii cate lines of data with i n the data set. The procedure for
dupl i cat i ng I j nes is the same as for mav i ng except that the' C'
or 'CC' rep laces the t ~1' or 'MM'. The copy ope rat i on leaves the
original data intact and inserts a duplicate copy of the data
at the destination specified. The entire data set is renumbered at the complet i on of the copy operat i on.

c
226

SC34-0313

o

$FSEDIT

Example
kruD!. Block

EDIT --- EDITWORK, EDX002
24)--- COLUMNS 001 072
2C
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
CCOOOIO LINE 1
CC00020 LINE 2
B**** **** BOTTOM OF DATA ******************************

.screen image after Block COPY

EDIT --- EDITWORK, EDX002 4( 24)-BLOCK- DATA RENUMBERED
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 1
00020 LINE 2
00030 LINE 1
00040 LINE 2
***** **** BOTTOM OF DATA ******************************

o
Chapter 4. The Utilities

227

0"',:'
,

COLS - Di splay Columns

"

'

The COlS command are used to display a line showing column numbers. To display the column numbers, type COLS starting in the
left margin of the line where the display is desired.
D (Delete Line) and DD (Delete Block>

Delete a line, or a block, of data. A 'D' on a line causes the
line to be deleted when the ENTER key is pressed. More than one
line can be deleted by entering a '0' on each line. The 'DD'
line commands are used to delete a block of data. The 'DO' is
entered on the first and last line of the block of code to be
deleted. The first line of the block does not have to be on the
same display page as the end of the block (scrolling can take
place between defining the two 'DO' lines). The block of data
is deleted when the ENTER key is pressed the first time after
both 'DO' lines have been specified.

Example
Del e t e B I 0 c k a f lin e,s

EDIT --- EDITWORK, EOX002
7(
24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 1
0000020 LINE 2
00030 LINE 3
ODOOO(.O lINE 4
00050 LINE 5
00060 LINE 6
~
00070 lINE 7
***** **** BOTTOM OF DATA ******************************

o
228

SC34-0313

o

$FSEDIT
Screen Image after Block Delete

EDIT --- EDITWORK, EDX002
7(
24)-BLOCK-DATA RENUMBERED
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00050 LINE 5
00060 LINE 6
00070 LINE 7
***** **** BOTTOM OF DATA ******************************

I (Insert) - Insert New Li ne
Causes a new 1 i ne to be inserted after th is line. Any i nformation typed on the inserted line is assigned a line number and
becomes part of your data when the ENTER key is pressed. If the
line number assigned to the newly inserted line is equal to, or
greater than, the line number of the next sequential line, all
data to the end of the data set is automaticallY renumbered. If
no information is entered, the inserted line is automatically
deleted the next time the ENTER key is pressed. If information
is entered on the inserted line and the cursor is still on the
inserted line when the ENTER key is pressed, another new line
is automatically inserted. This allows line ~fter line to be
generated ina cont i nuous insert mode. The cursor is set to the
first position where data appears in the following line.
The inserted line dup I i cates the current va I ue of the ed it mask
line. The initial value of the mask line is 72 blanks. It can be
changed at any time as noted in the descr i pt i on of the MASK command.
Note: The I line command can be entered on the TOP OF DATA message line to insert a line ahead of what is currently the first
line.
It is typed in the first position of the TOP of DATA
line.

o
Chapter 4. The Utilities

229

$FSEOIT

Example

o

I L i ne Command

2(
24)--- COLUMNS 001 072
EDIT --- EDITWORK, EDX002
COMMAND INPUT ===>
SCROLL ===>HALF"
1**** **** TOP OF DATA *********************************
00010 LINE 1
00020 LINE 2
***** **** BOTTOM OF DATA ******************************

.screen Image After I Line Command

EDIT --- EDITWORK, EDX002
2C
24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HAlF
***** ***** TOP OF DATA ********************************
00010 LINE 1
00020 LINE 2
***** **** BOTTOM OF DATA ******************************

o
230

SC34-0313

o

$FSEDIT
II (Insert Block) - Insert Block of Lines

Insert a block of new data. The line with the II command is
displayed at the top of the display with twenty-one inserted
lines following it. Data can be entered on all twenty-one
lines before entering it with the ENTER key. The new data is
then saved as with the 'I' command. If all inserted lines have
data entered on them and the cursor is left on the last line of
the display when the ENTER key is pressed, another twenty-one
lines are generated. If data are not entered on one or more of
the lines, the unchanged lines are deleted and the insert mode
is term i nated.
Notes:
•

The II command can be entered on the TOP OF DATA message
line to insert data in front of what is now the first 1 i ne.
It is typed over the first two asterisks of the TOP OF DATA
line.

•

The II command is di fferent from the rest of the double
character line commands in that it is entered on only one
1 j ne and generates a block of new data instead of ope rat i ng
on a block of data.

•

The inserted lines duplicate the current value of the edit
line mask.

Example
Block lnsert Line Command

EDIT --- EDITWORK, EDX002
2(
24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
***** ***** TOP OF DATA ********************************
00010 LINE 1
1100020 LINE 2
***** **** BOTTOM OF DATA ******************************

c
Chapter 4. The Utilities

231

[

$FSE~IT ]

~creen

Im~~

After Block Insert Command

EDIT --- EDITWORK, EDX002
COMMAND INPUT ===>
00020 LINE 2

2(

()

24)--- COLUMNS 001 072
SCROLL ===>HAlF

MASK - D; splay Insert Mask

The MASK line command is used to display the insert mask which
is used to pref ill inserted 1 i nes. The insert mask is 72 bytes
long and is initialized to ~ll blanks at the beginning of the
session. Any data filled into it remains in effect for the
remainder of the current session unless changed by you.
The
insert mask can be changed any time it is displayed by overtyping it with the desired information.
Note: To display the insert mask requires that all four characters of the MASK line command be entered by overtyping the
first four characters of the line number.

c
232

SC34-0313

[SFSEDIT

o

M (Mo veL i n e) and MM (M 0 v e B 10 c k )

Move a line, or block of lines, from one location to another.
When a 'M' line command is entered, a single line is moved to
the location specified by an 'A' or 'B' line command. The'MM'
line commands cause the block of data defined by the two 'MM'
line commands to be moved to the locat i on spec if i ed by an 'A' or
'B' line command. The moved lines are removed from their original location and the entire data set renumbered after the
move. The move occurs when the ENTER key is pressed the first
time after both the lines to be moved and the destination are
defined. The destination does not have to be on the same page
of the display as the move line commandCs) and the two 'MM' line
commands can also be separated.

Excample
Move Block of Lines

7(
EDIT --- EDITWORK, EDX002
24)--- COLUMNS 001 072
COMMAND INPUT ===>
SCROLL ===>HALF
A**** ***** TOP OF DATA ********************************
00010 LINE 1
00020 LINE 2
00030 LINE 3
MM00040 LINE 4
00050 LINE 5
MM00060 LINE 6
00070 LINE 7
***** **** BOTTOM OF DATA ******************************

o
Chapter 4. The Utilities

233

Screen Image After Block Move

()

EDIT --- EDITWORK, EDX002
7(24)-BlOCK-DATA RENUMBERED
COMMAND INPUT ===>
SCROll ===>HAlF
***** ***** TOP OF DATA ********************************
00010 LINE 4
00020 LINE 5
00030 LINE 6
00040 LINE 1
00050 LINE 2
00060 LINE 3
00070 LINE 7
***** **** BOTTOM OF DATA ******************************

_"\
0
I

234

SC34-0313

..

1

$IAMUTl

o

$IAMUTl - BUILD AND MAINTAIN INDEXED DATA SET

$IAMUTI helps you manage your indexed data sets. The $IAMUTI
utility is shipped with an input/output buffer of 512 decimal
bytes. This allows you to define an indexed data set with a maximum block size of 512 bytes, and to load, unload, and reorganize indexed data sets with a maximum record size of 512 bytes.
I f you want to change the max i mum record size, refer to the
Program Directory for use with Version 1, Modification level 1
of program 5719-AM3, section J, Programming Considerations
$IAMUTI can be invoked using the $l command, $JOBUTIl, or the
Sess i on Manager.

$IAMUTl Commands

The commands available under $IAMUTI are listed below. To display th i s list at your termi nal, enter a quest i on mark in
response to the prompt i ng message COMMAND (1):.

ENTER COMMAND (1): ?
CR - INVOKE $DI·SKUTI
EC - SET/RESET ECHO ~10DE
EN - END THE PROGRAM
SE - SET DEFINE PARAMETERS
DF
DEFINE AN INDEXED FILE
DI
DISPLAY CURRENT SE PARAMETERS
RE
RESET CURRENT VALUES FOR DEFINE
LO - LOAD INDEXED FILE FROM SEQUENTIAL FILE
RO - REORGANIZE INDEXED FILE
UN - UNLOAD INDEXED FILE TO SEQUENTIAL FILE
ENTER COMMAND (?):

After the commands are displayed, you are again prompted with
COMMAND (1):. You respond with the command for of your choice
(for example, EC).

o
Chapter 4. The Utilities

235

[ $IAMUnJ

o

CR - Create Data set

CR allocates space for your data set in a volume by internally
invoking the $DISKUTl utility. The SE command should have been
used to determine the number of ,-ecords to allocate. When CR is
entered on a terminal, the $DISKUTI utility is loaded. You can
then use the Al command of $DISKUTI to allocate a data set; any
other $DISKUTI function can also be performed. Communication
to the $DISKUTI uti lity continues unti 1 the END command (EN) is
entered, at which time communication to $IAMUTI is restored.
For information on the SDISKUTI utility, refer to "$DISKUTI Allocate/Delete; List Di rectory Data" on page 135.
Note: Echo mode is not act i ve dur i ng use of $DISKUTI.
The f 0 1 low i n g e x amp I e s how s a use

0

f t he CR comma n d :

ENTER COMMAND (?): CR
$DISKUTI ACTIVE
USING VOLUME EDX002
COMMAND (?): AL SAMPLEl
HOW MANY RECORDS? 72
DEFAULT TYPE = DATA - OK? Y
SAMPlEl CREATED
ENTER COMMAND (?):

c
236

SC34-03l3

$IAMUTl

o

DF - Def; ne Indexed Data set

DF command defines an indexed data set using an existing data
set and the information you specify. When OF is entered, you
are prompted for the immediate write back option and the names
of the data set and volume to be formatted. Size calculations
are made and the data set is formatted. The size calculation
information is returned to you at your terminal on completion
of the DF command. Before entering DF, you must use the SE
command to set up parameters that determine the si ze and format
of the indexed data set. The data set must have been allocated
previously (the CR command can be used to allocate it).
DF allows you to select th~ immediate write back option. With
this option, each modification to the indexed data set records
that is the result of your request to update a data record is
written to the data set immediately, thus contributing to the
integrity of the data set. If you enter N to the immediate write
back prompt, modi fications are held in the main storage buffers
for a period of time before being written back to the indexed
data set. In most cases, not us i ng the i mmed i ate wr i te back
option often results in fewer I/O operations and in better performance.
The following example shows a use of the DF command:

ENTER COMMAND (?>: OF
DO YOU WANT IMMEDIATE WRITE-BACK? N
ENTER DATASET (NAME,VOlUME): SAMPLE1,EDX002

After entering the above information, the following
played:

is

dis-

o
Chapter 4. The utilities

237

$IAMUTl

()
~

TOTAL LOGICAL RECORDS/DATA BLOCK:
FULL RECORDS/DATA BLOCK:
INITIAL ALLOCATED DATA BLOCKS:
INDEX ENTRY SIZE:
TOTAL ENTRIES/INDEX BLOCK:
FREE ENTRIES/PIXB:
RESERVE ENTRIES/PIXBCBLOCKS):
FULL ENTRIES/PIXB:
RESERVE ENTRIES/SIXB:
FULL ENTRIES/SIXB
DELETE THRESHOLD ENTRIES:
FREE POOL SIZE IN BLOCKS:
i OF INDEX BLOCKS AT LEVEL
1:
i OF INDEX BLOCKS AT LEVEL
2:
i OF INDEX BLOCKS AT LEVEL
3:
DATA SET SIZE IN EDX RECORDS:
INDEXED ACCESS METHOD RETURN CODE:
SYSTEM RETURN CODE:
ENTER COMMAND (?):

3
2

1

32
7
1

o
6

o
7
7

o
9
2
1

72
-1
-1

c
238

SC34-0313

$IAMUTl

o

DI - Di splay Parameter Values

DI displays the current parameter values entered via the SE
command. The parameter values can be used to format a data set
via the DF command or they can be modified by reusing the SE
command.
The following example shows a use of the DI command.

ENTER COMMAND (?>: DI
CURRENT VALUES FOR SE COMMAND ARE:
BASEREC
100
BLKSIZE
256
RECSIZE
80
KEYSIZE
28
KEYPOS
1
FREEREC
1
FREEBLK
10
RSVBLK
NULL
RSVIX
0
FPOOL
NULL
DELTHR
NULL
ENTER COMMAND (?):

o
Chapter 4. The Utilities

239

$IAMUTl

()

EC - Control Echo Mode

EC allows YOU to enter or leave echo mod~. When in echo mode,
all $lAMUTl input and output is logged on the $SVSPRTR device.
This allows YQU t9 save information about the data sets you
maintain using $IAMUTI. When in echo mode, all input and output is logged unt i 1 either the current ut iii ty sess i on is ended
or echo mode is reset by use of the EC command. Echo mode is off
when $IAMUTI is loaded.
Note: Input and
logged.

output

from

$DISKUTI

(CR

command)

is

not

The following examples show the commands to set and reset echo
mode:

ENTER COMMAND (?): EO
00 YOU WANT ECHO MODE?
ENTER COMMAND (?): EC

(V/N) Y

DO YOU WANT ECHO MODE? (V/N) N
ENTER COMMAND (?):

(Set echo mode)
(Reset echo mode)

~C--'\

\.,-~)

o
240

SC34-0313

o

LO - Load Indexed Data Set

LO loads an indexed data set from a sequential data set. The
sequential data set must contain unblocked records. They can
span two or more 256-byte records. The records in the sequential data set must be in ascending order by the data that
represents the key field. If a record wi th a dupl i cate or out of
sequence key in found, you are given the option to either omit
the record and cont i nue load i ng, or to end load i ng. The indexed
data set must have been allocated and defined by use of the CR,
SE and DF commands before us i ng the LO command.
The record lengths of the two data sets do not have to be the
same. When the indexed data set is opened, the record length is
displayed on the terminal. At this point, you can specify the
record length of the sequent i al data set if it is different
than that of the indexed data set. If the indexed data set
records are longer than the sequential data set records, the
loaded records are left justi 'fied and fi lIed with binary zeros.
If the indexed data set records are shorter than the sequential
data set records, the following message appears on the terminal:

o

INPUT REC GT OUTPUT REC.
OK TO PROCEED?

TRUNCATION WILL OCCUR.

Reply 'V' to proceed (records will be truncated). Reply 'N' to
-terminate the load function. If the end of the input sequential
data set is reached, you can continue loading from another
sequent i al data set. You are asked if there is more data to
load. If you reply yes (V), you are prompted for the data set
and volume name of the new input sequential data set to use. The
load operation continues, putting the first record of the new
input sequential data set in the next available record slot of
the indexed data set.
Note: The record lengths of subsequent input data
assumed to be the same as the in it i a I input data set.

sets

are

If the end of input data set is reached and you choose not to
name another input data set, the load operat ion is comp lete.
The following example shows use of the LO command:

o
Chapter 4. The Utilities

241

$IAMUTl

o
ENTER COMMAND (1): LO
LOAD ACTIVE
ENTER INPUT DATASET (NAME,VOLUME): SEQOATA,EOX002
ENTER OUTPUT DATASET (NAME,VOLUME): SAMPLE1,EDX002
INPUT RECORD ASSUMED TO BE 80 BYTES. OK?: Y
LOAD IN PROCESS
END OF INPUT D/S
ANY MORE DATA TO BE LOADED?: N
100 RECORDS LOADED
LOAD SUCCESSFUL
ENTER COMMAND (?):

RO - Reorgan; ze Indexed Data set

RO unloads an indexed data set filled by insert activity into
an empty indexed data set and reorganizes the records to allow
additional inserts. The empty indexed data set must have been
allocated and defin~d by use of the SE, CR, and DF commands
be fore us i ng the RO command.
The record lengths of the two data sets need not be the same.
Unloaded re60rds are truncated or filled with binary zeros if
record lengths differ (see LO command). The key fields and key
positions of the two data sets must be the same; however, the
other data set specifications (SE parameters) may differ.
The following example shows use of the RO command:

ENTER COMMAND (?): RO
REORG ACTIVE
ENTER INPUT DATASET (NAME,VOLUME): SAMPLE,EDX002
ENTER OUTPUT DATASET (NAME,VOLUME): SAMPlEl,EDX002
REORG IN PROCESS
END OF INPUT D/S
100 RECORDS LOADED
REORG SUCCESSFUL
ENTER COMMAND (?):

c
242

SC34-0313

$IAMUTI
RE - Reset Parameters

RE resets the parameters set up by the SE
default values.

command

to

their

The following example shows a use of the RE command:

ENTER COMMAND
ENTER COMMAND

(?):
(?):

RE

o
Chapter 4. The Utilities

243

I

$IAMUTl

I

o

SE - Set Parameters
SE prompts you for parameters that determine the structure and
size of the indexed data set. The parameter values entered are
saved by SIAMUTI. This allows you to reuse the SE command to
change one or more parameters without having to reenter all of
them. The current values can be displayed by the DI command.
Note: The values are retained only as long as SIAMUTI remains
loaded.
Size calculations are performed using the parameter values you
have specified. The results are returned to you at your terminal. The SE command Celn be followed by the CR command to create
a data set of the size specified on the SE command. After the
data set has been allocated, or if a data set of the correct
size already ex i sts, the DF command can be used to format it.
The following list shows the default values for parameter$ on
the SE command (all values are decimal):

BASEREC
BLKSIZE
RECSIZE
KEVSIZE
KEVPOS
FREEREC
FREEBLK
RSVBLK
RSVIX
FPOOL
DELTHR

0
0
0
0

(~-~)

1
0
0

NULL
0

NULL
NULL

If the default value is acceptable, enter a null line for the
parameter when prompted for it. If you wish to change the value
for any parameter, enter the new value in response to the
prompting message. The new value becomes the new default value
for the current SIAMUTI session. The only parameters for which
a null can be specified are RSVBlK, FPOOL, DELTHR, and RSVIX.
To specify a null parameter after the original default has been
modified, enter an ampersand (&) in response to the prompting
message. For an explanation of the SE command parameters, refer
to "Determi n i ng Data Set Size and Format" on page 247.
The following example shows a use of the SE command in establishing the size and structure of an indexed data set.

244

SC34-0313

o

$IAMUTI

o
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER
ENTER

COMMAND C?): SE
BASEREC 100
BLKSIZE ,256
RECSIZE 80
KEVSIZE 28
KEVPOS 1
FREEREC 1
FREEBLK 10
RSVBLK
RSVIX
FPOOL
DELTHR

After the above information has been entered, the following is
displayed showing the size and structure of the defined indexed
data set.

TOTAL LOGICAL RECORDS/DATA BLOCK:
FULL RECORDS/DATA BLOCK:
INITIAL ALLOCATED DATA BLOCKS:
INDEX ENTRY SIZE:
TOTAL ENTRIES/INDEX BLOCK:
FREE ENTRIES/PIXB:
RESERVE ENTRIES/PIXBCBLOCKS):
FULL ENTRIES/PIXB:
RESERVE ENTRIES/SIXB:
FULL ENTRIES/SIXB
DELETE THRESHOLD ENTRIES:
FREE POOL SIZE IN BLOCKS:
i OF INDEX BLOCKS AT LEVEL
1:
i OF INDEX BLOCKS AT LEVEL
2:
i OF INDEX BLOCKS AT LEVEL
3:
DATA SET SIZE IN EDX RECORDS:
INDEXED ACCESS METHOD RETURN CODE:
SYSTEM RETURN CODE:
ENTER COMMAND (?):

3
2

50

32
7
1

o
6

o
7

7

o
9
2

1

72
-1
-1

o
Chapter 4. The Utilities

245

I

$IAMUn

1

UN - Unload Indexed Data Set

()

UN unloads an indexed data s.et to a sequential data set. The
record lengths of the tLoJO data sets need not be the same.
Unloaded records are truncated or padded with zeros if the
records lengths of the two data sets differ. Refer to the LO
command.
Records are placed in the sequential data set in ascending key
sequence as indicated by the indexed data set. Unloaded records
are not blocked. They can span two or more 256 byte records. If
the indexed data set contains more records than are allocated
in the sequent i al data set, you are given the opt j on to cont i nue unloading to another sequential data set. If you choose to
continue unloading, you are prompted for the name of the data
set and volume to use to continue the unload operation. The
unload operation continues, putting the records read from the
indexed data set into the new sequent i al data set.
NO!.!t: The

record length of subsequent output sequent i al data
sets is assumed to be the same as the initial output sequential
data set.
If the end of the output data set is reached and you choose not
to continue, the unload operation ends.

Ciluti on: Do not spec i fy the same data set 'for input and output.
The following is an example of the commands and responses of an
UN command:

ENTER COMMAND (1): UN
UNLOAD ACTIVE
ENTER INPUT DATASET (NAME,VOLUME): SAMPLE1,EDX002
ENTER OUTPUT DATASET (NAME,VOLUME): SAMPLE2,EDX002
OUTPUT RECORD ASSUMED TO BE 80 BYTES. OK?: N
ENTER RECORD SIZE: 256
UNLOAD IN PROCESS
END OF INPUT D/S
100 RECORDS UNLOADED
UNLOAD SUCCESSFUL
ENTER COMMAND (1):

o
246

SC34-0313

o

$IAMUT~
Bu;lding an Indexed Data Set
The SE and DF commands allow you to spec i fy the size and format
of your indexed data set and to do the actual data set formatting. Use the SE command to enter those values that determine
the size of the indexed data set. Use the DF command to actually
format the data set using the values previously specified on
the SE command.
If the data set is too small to support the specified format,
the amount of space required is returned to you. Knowing the
available space and using the SE command, you can vary the SE
parameters to des i gn a data set of proper size.

Determin;ng Data Set Size and Format
The data set design
ters:

BASEREC

is determined by these SE command parame-

The est i mated number of records to be loaded into the
data set in ascend i ng key sequence. These records
can be loaded by $IAMUTI or by a PUT request after
either a LOAD or PROCESS request.
BASEREC should never be zero.

o

BLKSIZE

The length, in bytes, of blocks in the data set. It
must be a multiple of 256.

RECSIZE

The length, in bytes, of records in the data set.
Record length must not exceed block length minus 16.

KEYSIZE

The length (1 to 254 bytes) of the key to be used for
this data set.

KEYPOS

The position, in bytes, of the key within the record.
The first byte of the record is pos it i on 1.

FREEREC

The nllmber of free records to be reserved in each
block. It should be less than the number of records
per block (block size minus 16, divided by record
size). It can be zero.

FREEBLK

The percentage (0-99) of each cluster to reserve for
free blocks. The percentage calculation result is
rounded up so that at least one free block results.
The calculation is adjusted to ensure that there is
at least one allocated block in the cluster; that is,
Chapter 4. The utilities

247

[

$IAMUTl

there cannot be 100% free blocks.
RSVBLK

The percentage of the entries in each lowest level
index block to reserve for cluster expansion. The~e
reserved entries are used to point to neLoJ data blocks
as they are taken from the free pool to expand the
cluster. The result of the calculation is rounded UP
so tha t
any non-'zero spec i f i cat i on i nd i cates at
least one reserved index entry. The calculation is
adjusted to ensure that there is at least one allocated block in the cluster. Enter a null character
(*) for this prompt
if you do not want
initial
reserved blocks and do not want the indexed access
method to create reserved blocks as records are
deleted and blocks become empty. Specify a value of
zero for this prompt if you do not ,~ant initial
reserved blocks but you do want the indexed access
method to create reserved blocks as records are
deleted and blocks become empty (See the DEL THR
prompt). Note that the sum of the FREEBLK and RSVBLK
prompts should be less than 100.

RSVIX

The percentage (0-99) of the entries in each second
level index block to reserve for use in case of cluster splits. A cluster split is required when a cluster expands to its maximum potential size
(as
defined by the RSVBLK prompt) and another data set is
inserted into the cluster. Each cluster split uses
one reserved entry of the second level index block.
The result of this calculation is rounded liP so that
any non-zero spec if i cat i on i nd i cates at least one
reserved index entry. The calculation is adjusted so
that there is at least one unreserved entry in each
second level index block. This value defaults to
zero.

FPOOL

The percentage (0-100) of the maximum possible free
pool to allocate. The RSVBLK and RSVIX prompts
result in a data set structur'e capable of dra"'Jing on
the free pool for expansion. If insertion activity
j s evenly d j str i buted throughout the data set, every
reserve entry of every index block can be used. The
number of blocks drawn from the free pool to support
this highly unlikely condition is the maximum free
pool size needed for the data set. In more realistic
cases, insertion activity is not evenly distributed
throughout the data set, so fewer free blocks are
needed. The percentage speci fied here represents the
evenness of the d i str i but i on of inserted records.
Speci fy a large number (90,
for example) if you
expect insertions to be evenly distributed. Specify
a small number (20, for example) if insertions are

248

SC34-0313

o

o

$IAMUTl

o

anticiPClted to be concentrated 1n specific key
ranges. If null 15 specified for this prompt, a free
pool is not created for th is indexed data set. If
zero is spec if i ed, an empty free pool is created.
Blocks can then be added to the free pool as records
are deleted and blocks become empty (see the DELTHR
prompt explanation). If you do not speci fy a null for
this prompt, the RSVBLK must not be null and/or the
RSVIX must be non-zero or an error is returned.
Conversely, if the RSVBLK and/or RSVIX is non-zero,
FPOOL must not be null or an error is returned.
DELTtfR

o

The percentage (0-99) of blocks to retain
in the
cluster as records are deleted and blocks made
available. This is knoJ..>1n as the delete threshold.
When a b lock becomes empty, it is first determ i ned if
the block should be gi ven liP to the free pool by
checking the response to this prompt. If the block is
not given up to the free pool, it is retained in the
cluster, either as a free block or as an active empty
block. The result of this calculation is rounded up
so that any non-zero spec if i cat i on i nd i cates at
least one block. The calculation is adjusted to
ensure that the cluster alllJays conta i ns at least one
block. If specified as null, this value defaults to
the number of allocated blocks in the cluster plus
one half of the value calculated by the FREEBLK
prompt. Specify null unless data set usage indicates
that tuning is required.

The define (DF) command sets the size of the data set. Therefore, the BASEREC, FREEREC, FREEBLK, RSVBLK, RSVIX, and FPOOL
parameters should be large enough to accommodate the maximum
number of records planned for the data set.
To calculate the size of the data set for a given combination of
parameters, lise the SE command.

Chapter 4.

The Utilities

249

$IMAGE

1

$IMAGE - DEFINE 4978/4979 FORMATTED SCREEN IMAGE

o

$IMAGE defines formatted screen images for the 4978/4979 display terminals, or for any terminal whose support includes the
stat i c screen funct ions.
The images (formatted screens),
wh i eh are def i ned in terms of protected and non-protected
alphanumeric fields, can be saved in disk or diskette data
sets, to be retrieved later by application programs for display, or by this utility for modification.
You must allocate the data set where the image will be stored
before using $IMAGE. f10st logical screens require a data set of
two records. There are two modes of interaction with the $IMAGE
program: command mode and edit mode. For retrieval informat ion, refer to screen formatt i ng in the System Gu ide.
You can find an example using $IMAGE to format a static screen
in the Syst.~m Guide. For an aid in laying out the format of the
screen to be defined, refer to the IBM 3270 Information Display
System layout Sheet, GX27-2951.

$IMAGE Commands

1'. .'''''\

I

~)

$IMAGE is in command mode when loaded. When $IMAGE is in command mode, you spec i fy the funct i on to be per formed by enter i ng
an alphabetic code followed by a parameter list. You are,
prompted for each item that is not spec if i ed in advance and'
does not have a default value.
The commands available under $IMAGE are listed below. To display this list at your terminal, enter a question mark in
response to the prompt i ng message COMMAND (?):.

o
250

SC34-0313

$IMAGE

o
COMMAND(?): ?
DIMS
HTAB
VTAB
NULL
EDIT
KEYS
SAVE
END

DEFINE IMAGE DIMENSIONS
DEFINE HORIZONTAL TAB SETTINGS
DEFINE VERTICAL TAB SETTINGS
DEFINE NULL REPRESENTATION
ENTER EDIT MODE
LIST PROGRAM FUNCTION KEYS
SAVE IMAGE ON DISK
END PROGRAM

COMMAND(?):

After the commands are displayed, you are again prompted with
COMMAND (?):. You respond with the command of your cho i ce (for
example, DIMS).
DIMS - Daf; ne Image D; mens; ons

The DIMS command is followed by two values, giving the number
of lines and the line size, for example:

DIMS
DIMS

10 20
24 80

(10 20-character lines)
(full screen image)

EDIT - Enter Ed i t Mode

The EDIT command can be fo llowed by a data set name in the form:

dataset,volume

o

Here the volume, if unspecified, defaults to the IPl volume.
If a data set name is not given, then the program displays the
currently defined image. Some examples are:

Chapter 4. The Utilities

251

f:SIMAGE
EDIT
EDIT
EDIT

I
IMAGEl
IMAGEB,EDX002

END - End the Program
END (or EN) ends the utility program. I f the screen image has
been mod if i ed since the last SAVE operat i on, then the quest i on:

SAVE FINAL

IMAGE?

appears. The image is saved or not, depend i ng on your response
(YES/NO), and the command prompting message is issued again.

HTAB - Oef; ne Hor; zontal Tab Setti ngs
HTAB defines tab settings
example:

[ HTAB

for

10 15 20 40 45 SO 73

the duration of edit mode,

for

1

The default .settings are 10,20,30,40,50,60 and 70. I f atab
value exceeds the line size or is not in ascending order, then
the cursor moves to the next 1 i ne when that sett i ng is encountered. When the horizontal tab key (PFI when in EDIT mode) is
pressed, the cursor moves to the next hor i zontal tab pos i t ion.

c
252

SC34-0313

o

$IMAG!
KEYS - Li st Program Functi on Keys

KEYS lists on the terminal the meaning of the PF keys while in
the edit mode.

COMMAND(?): KEYS
PFI
PF2
PF3

DEFINE PROTECTED FIELDS
DEFINE DATA FIELDS
ENTER COMMAND MODE

COMMAND(?):

PFI and PF2 function as the horizontal and vertical tab keys
(respectively) when you are defining protected or data fields
in EDIT mode.
NULL - Defi ne Null Representat ion

NUll defines a character that is interpreted as the null character during editing of the image. Null characters define the
non-protected pos it ions on the screen i mage to be used for data
entry. Some examples are:

NULL
NULL

/

NULL

CHARACTER:

In the last example, no character l·las indicated causing the
prompt message to be issued. If again no character is entered,
then the null character itself is used.
Not e, : 1ft heN UII com man dis not d e fin e d p rio r t 0 a ned i tin g
session, the null character defaults to a period C.). Therefore, all periods defined as protected in subsequently edited
screens assume an unprotected status.

o
Chapter 4. The Utilities

253

$IMAGE

"I

SAVE - Save Image on Di sk

o

The screen image, as currently defined, is saved in the last
data set edited, or in a new data set if one is specified
following SAVE. The formatting information and text that
def i ne the i mage are stored in the spec if i ed data set ina special packed format to conserve space. For packed format information, refer to the System Guide. Some examples are:

SAVE

SAVE
SAVE

IMAGE2

IMAGE2,EDX003

When the image has been saved, the following message appears,
with the number of 256 byte records i nd i cated in parentheses.

I

SAVED

n(RECORDS)

VTAB - Defi ne Verti cal Tab Setti ngs
VTAB defines vertical tab settings to conveniently edit the
screen image by columns rather than rows. The default vertical
tabs range from 1 to 24 in 1-1 i ne increments. These can be redefined as in the following example:

I

VTAB

5 10 20 24

When the vertical tab key (PF2 when in edit mode> is pressed,
the cursor moves to the next i nd i cated line at the last
encountered horizontal tab setting. When the last vertical tab
sett i ng is passed, the cursor moves to line 0 at the next hor izonta I tab sett i ng.

()
254

SC34-0313

o

$IMAGE
Ed;t Mode
When you enter edit mode, the current image is displayed within
a rectangular frame whose upper lefthand corner is at line 0,
indent O. The frame and all screen positions outside it are
protected in the display buffer; this limits the cursor to
positions within the frame when the field-advance key is
pressed. If the image dimensions do not allow display of the
entire frame, then its sides are omitted according to the following priority: top before bottom, left before right.
Null characters, dimension fields, and tab settings should be
defined before entering edit mode. If you are modifyi~g an
ex i st i ng screen image, the nu 11 character must be rede fined
each time $IMAGE is invoked.
Once the image is displayed, you can invoke the edit phases by
means of the PF keys.
PFl

This key causes the protected fields of the image to be
displayed as non-protected, so you can r~def i ne them
directly on the screen. The non-protected (data) fields
of the image are indicated with the null representation
character, and you use that character to redefine those
fields if desired. Once this edit phase has been entered,
PFI acts as the horizontal tab key and PF2 as the vertical. When the ENTER key is pressed, the newly defined
image is displayed, with protected fields in their proper
mode.

PF2

This key prepares the $IMAGE program for modification of
the data (non-protected) fields of the image. The cursor
is displayed at position (0,0) of the image, and you can
use the field-advance keys to move to each data field in
turn, or the tab keys (PF land PF2) can be used when appropriate. When the ENTER key is pressed, the new data valu e s are saved, but not ye tw r itt e n to disk.

PF3

Th is key is used to return from ed i t mode to command mode.
Note: The ENTER key
function correctly.

must

have

been

used

for

PF3

to

o
Chapter 4. The Utilities

255

L:IIlITDSK

o

$INITDSK - INITIALIZE OR VERIFY VOLUME
$INITDSK initializes and/or read verifies a Series/l
access storage device volume for use with the Event
Executive.

direct
Driven

$INITDSK performs the following functions:
•

Initialization (I)
Initializes a
library
Driven Executive

directory

for

the

Event

Writes IPL text on a disk or diskette, if desired. The
IPL dev ice address for 4962 disk, 4963 disk, 4964
diskette, and 4966 diskette
magaz i ne
un its
are
hexadecimal 03, 48, 02, and 22, respectively. An initialized diskette can be used to IPL from either a 4964
or 4966 diskette dev i ce.
Writes a volume label on a diskette.
Note: A label is not required on a disk since it is not
a removable device.

I •
I

Verification

(V)

verifies the readability of:

A group of records within a disk or diskette volume
A disk or diskette volume
All d j sk vo I urnes at a spec j f i ed address

•

I

Writes (W) only IPL text on a primary
$EDXNUC has been allocated.

volume

for

which

$INITDSK Commands
The commands avai lable under $INITDSK are listed below. To display this list at your terminal, enter a question mark in
response to the prompt i ng message COMMAND (?):

o
256

SC34-0313

$INITDSK

o
COMMAND (?): ?
E
I
V
W

-

END PROGRAM
INITIALIZE DISKCETTE)
VERIFY DISKCETTE) AREA
WRITE IPL TEXT ONLY

COMMAND (?):

After the commands are displayed, you are again prompted with
(?):. You respond wi th the command of your cho i ce Cfor
example, I).

CO~'~1AND

Initialization

o

Directory Creation
A directory can be created on each volume with $INITDSK. The
minimum directory size ;s 2 records. The maximum sizes are 120
records on a 4962, 4963, 4964, or 4966 and 60 records on the
fixed head volume of a 4962 or 4963. The maximum volume size,
including directory, ;s 32,767 records. The directory size
determines the maximum number of programs and data sets that
can be stored. A directory of n records can catalog a maximum
of 8n-2 data sets.

Diskette Initialization

o

The volume label on a diskette conforms to the standard for an
EBCDIC Basic Exchange format. One EBCDIC Header Label (HDR1)
is written which describes the entire diskette as an allocated
data set. An entire diskette is considered as an Event Driven
Executive volume. A single-sided diskette is initialized to
conta i n up to a 13-record directory and a 949-record data area.
A double-sided diskette is initialized to contain up to a 26
record directory and an 1898 record data area. A diskette must
have been previously initialized to 128 bytes per sector by
us i ng the $DASDI ut iii ty. On a 4966 diskette magaz i ne un it, you

Chapter 4. The Utilities

257

I

$INITDSK

I

can initialize only on slot number 1.

o

Disk Initialization
Each disk volume (primary and secondary) must be initialized by
using $INITDSK.
Ca..Y.t ; 0 n :
I f you i nit i ali z e and ere ate a d ire c tor yon dis k 0 r
diskette, any data previously stored on the disk or diskette
will no longer be access i b 1 e •

()

c
258

SC34-0313

o

$INITDSK

Example
Initializing and Writing IPL Text on Diskette

SINITDSK

13P,13.44.14, LP= 5000

COMMAND (?): I
LIBRARY INITIALIZATION
1 = ENTER VOLUME LABEL
2 = ENTER DEVICE ADDRESS
SELECT OPTION: 2
ENTER DEVICE ADDRESS IN HEX: 2
WRITE
ENTER
ENTER
LABEL

c

VOLUME LABEL? Y
DESIRED VOLUME LABEL (1-6 CHARACTERS) EDXOOl
OWNER 10 (1-14) CHARACTERS: DEPT.L78 09/77
WRITTEN

CREATE A DIRECTORY? Y
HOW MANY RECORDS IN DIRECTORY? (2 - 120): 13
MAXIMUM NO. OF MEMBERS = 102, OK? Y
DO YOU WISH TO RESERVE SPACE FOR A NUCLEUS? Y
ENTER MAXIMUM SIZE IN K-BYTES (16-64): 32
DIRECTORY INITIALIZED
WRITE IPL TEXT? Y
IPL TEXT WRITTEN
COMMAND (?): EN
$INITDSK ENDED AT 13:54:00

0"
~

Chapter 4. The Utilities

259

o

Verification
$INITDSK can be used to per"form a readabi lity check of an
entire disk device, or an entire disk or diskette volume, or
any portion thereof, to determine if any defective records
exist for which alternates should be assigned.
Only record
read operations are performed. Therefore, a verify operation
can be performed with no risk of destroying existing data.
Exam·ples

VerifYing

~ortion

df'a Volume

CONMAND(?): V
DISK OR DISKETTE VERIFICATION

=
=

ENTER VOLUME LABEL
ENTER DEVICE ADDRESS
SELECT OPTION: 1
1
2

ENTER VOLUME LABEL:

EDX002

EDX002 AT 0003 IS A PRIMARY DISK
CHECK THE ENTIRE VOLUME? NO
FIRST RECORD = 300
NO. OF RECORDS = 1200
1200 RECORDS CHECKED

cor1MAND

(?):

c
260

5C34-0313

o

$INITDSK -I

Ve r i f Y-l.!HLA 11 Vol u m~ son a Dis k

COMMAND(?): V
DISK OR DISKETTE VERIFICATION
1 = ENTER VOLUME LABEL
2 = ENTER DEVICE ADDRESS
SELECT OPTION: 2
ENTER DEVICE ADDRESS IN HEX: 3
CHECK THE ENTIRE VOLUME? Y
ASSIGNED ALTERNATE SECTOR AT RECORD
ASSIGNED ALTERNATE SECTOR AT RECORD
ASSIGNED ALTERNATE SECTOR AT RECORD
EDX002 32000 RECORDS CHECKED
EDX003 30000 RECORDS CHECKED
EDX004 12000 RECORDS CHECKED

121
122
151

COMMAND (?):

VerifYing Diskette Volume (No Errors Found)

COMMAND (?): V
DISK OR DISKETTE VERIFICATION
1

= ENTER
= ENTER

VOLUME LABEL
DEVICE ADDRESS
SELECT OPTION: 2

~

ENTER DEVICE ADDRESS IN HEX: 2
CHECK THE ENTIRE VOLUME? YES
962 RECORDS CHECKED
COMMAND (?):

o
Chapter 4. The Utilities

261

Write IPL Text Where $EDXNUC Has Been Preallocated

COMMAND

(?):

()

W

WRITE IPL TEXT
l=ENTER VOLUME LABEL
2=ENTER DEVICE ADDRESS
SELECT OPTION: 1
ENTER VOLUME LABEL: EDX002
EDX002 AT

0002 IS A PRIMARY DISKETTE

WRITE IPL TEXT? Y
IPL TEXT WRITTEN
COMMAND

(?):

Write IPL Text on a Volume That Does Not Contain $EDXNUC

CO~1MAND

(?): W

WRITE IPL TEXT
l=ENTER VOLUME LABEL
2=ENTER DEVICE ADDRESS
SELECT OPTION: 1
ENTER VOLUME LABEL: EDX002
EDX002 AT

0002 IS A PRIMARY DISKETTE

IPL WRITE ABORTED. NO NUCLEUS FOUND
COMMAND

(?):

o
262

SC34-0313

o

$IOTEST
$IOTEST - TEST SENSOR I/Oj LIST CONFIGURATION
$IOTEST determines the complete I/O configuration
of
a
Series/l and tests the operation of sensor based I/O features.
$IOTEST performs the following functions:
•

Reads and wr i tes dig ita I (group or subgroup)

•

Writes digital with selected time intervals

•

External sync DI and DO

•

Processes interrupts (normal, special bit and group)

•

Reads and wr i tes analog

•

Lists the hardware configuration of the Series/l

•

Lists the dev ices supported by the system

•

lists volume information

Invok;ng $IOTEST
$IOTEST can be invoked by the session manager using the Diagnosti c Ut iii ties opt i on menu or by the $L command.

0 ",
"

Chapter 4.

The Utilities

263

$IOTEST

o

$IOTEST Commands

The commands available under GIOTEST are listed below. To display this list a"t: your terminal, enter a question mark in
response to the prompt i ng message COMMAND (?):.

GIOTEST

24P,13:26:42

LP=5000

ATTNLIST (ALTER) TO STOP LOOPING FUNCTIONS
COMMAND (?): ?
EN = END PROGRAM
DO = DIGITAL OUTPUT
PD = UP AND DOWN DO WITH TIME
XO = EXTERNAL SYNC DO
01 = DIGITAL INPUT
XI = EXTERNAL SYNC 01
PI = PROCESS INTERRUPT
SG = SPECIAL PROCESS INTERRUPT GROUP
S8 = SPECIAL PROCESS INTERRUPT BIT
AI = ANALOG INPUT
AO = ANALOG OUTPUT
LD = LIST ALL HARDWARE DEVICES
LS = LIST SUPERVISOR CONFIGURATION
VI = DISPLAY VOlU~lE INFORt'1ATION
WS = PUT PG~1 IN WAIT STATE

(!:'---.\
\\.....I

COMMAND (?): EN
$IOTEST ENDED AT 13:27:29

After the commands are displayed, you are again prompted with
COMMAND (?):. You respond wi th the command of your cho ice (for
example, DO).
AI and DI issue a read every 10 mi 11 i seconds and only pr i nts the
value if it is different from the last reading. PI issues a wait
and prints on each occurrence. External sync 01 and DO perform
their functions and do not return to command status until the
number of words i nd i cated are read or wr i tten • ALTER is used to
terminate repetitive functions and to reactivate the program
if it was put in the wait state.

264

SC34-0313

c

$IOTEST

o

Examples
DO - Wr i te X' A5A5' to DO Address 52

COMMAND (?) : DO
ENTER DEVICE ADDRESS ,(HEX 1-FF)
ENTER START BIT (0-15) : 0
ENTER # OF BITS : 16
EN T ER DATA (H EX) : ASA5
COMMA·ND (1):

52

PO - Pulse DO Address 53 Bit 8 on for 10 Milliseconds, Off for
50 Milliseconds 100 times

o

COMMAND (1): PD
ENTER DEVICE ADDRESS ,(HEX I-FF)
53
ENTER START BIT (0-15)
B
ENTER i OF BITS : 1
ENTER DATAl (O-FFFF) : 1
ENTER TIME! IN MS : 10
ENTER DATA2 (O-FFFF) : 0
ENTER TIME2 IN MS : 50
ENTER NUMBER OF TIMES TO LOOP
100
COMHAND (1):

Note: I f number 0 f times to loop is set less than or equa I to
zero, the loop i I1g cont i !lues unt i 1 the next AL TER command.

Chapter 4. The Utilities

265

SlOT EST

XO - Write Digital Output using External Sync

COMMAND (1): XO
ENTER DEVICE ADDRESS ,(HEX I-FF)
ENTER WORD COUNT 1-256 : 100
COMMAND (1):

o

S3

No·te: Data is wr i tten from a buffer with in th i s program that is
used for external sync 01 an DO. Therefore, data can be input
via DI and written via DO.
DI - Read Digital Input

COMMAND (1): DI
ENTER DEVICE ADDRESS ,(HEX I-FF)
ENTER START BIT (0-15) : 0
ENTER i OF BITS : 16
VALUE = A5A5
VALUE = COFE

50

> ALTER

COMNAND (1):

XI - Read Digital Input using External Sync

COMMAND (1): XI
ENTER DEVICE ADDRESS ,(HEX I-FF)
ENTER WORD COUNT : 100
COM~1AND

51

(?):

c
266

SC34-0313

$lOTEST

o

PI - Test Process Interrupt for the Occurrence of this Event

COMMAND (?): PI
ENTER DEVICE ADDRESS ,(HEX I-FF)
ENTER BIT (0-15) : 3
PI OCCURRED
PI OCCURRED
PI OCCURRED

50

> ALTER
COMMAND (?):

SG/SB -

Special Process Interrupt Grqup/Bit

Commands SG and SB functionally operate differently within the
supervisor but they print basically the same information as
normal PI with this uti lity program.

(

"'"""~~ \
,

/

An easy way to test the system is to use the Customer Eng i neer' s
wrap back connectors. The wrap cable for the 1010 unit connect~ the first DI address on the card to the first DO address
and the same for the second 01 and DO. These connect ions
include the external sync functions also.
Therefore, two
copies of $IOTEST can be executed simultaneously. There are
simi lar connectors avai lab Ie for the 4982 Sensor I/O Unit.

0 :·
I

",'I

Chapter 4. The Utilities

267

I

$lOTEST ]

()

AI - Read Analog Input

COMMAND (1): AI
ENTER DEVICE ADDRESS ,(HEX I-FF) : 61
ENTER RANGE: 1=5V, 2=500MV, 3=200MV, 4=100MV,
5=50MV, 6=20t1V, 7=10MV : 7
ZERO CORRECTION 1 N
ENTER MPXR POINT (0-15) : 1
AI VOLTAGE =
-629 MV, E-3
AI VOLTAGE =
-688 MV, E-3
> ALTER
COMMAND (1):

Analog input has a testing facility to convert diagnostic zero
or voltage. This utility allows these functions if the ADC
add res sis g i v e n ins tea d 0 f t he mu 1 tip 1 e x 0 r address.

COMMAND (1): AI
ENTER DEVICE ADDRESS ,(HEX I-FF) : 60
CONVERT DIAGNOSTIC ZERO 1 y
ENTER RANGE: 1=5V, 2=500MV, 3=200MV, 4=100MV,
5=50MV, 6=20MV, 7=10MV : 1
AI VOLTAGE =
0 MV, E-O
> ALTER
COMMAND (1): AI
ENTER" DEVICE ADDRESS, (HEX I-FF)
CONVERT DIAGNOSTIC ZERO 1 N

60

CONVERTING DIAGNOSTIC VOLTAGE, SHOULD BE 4.5 +- 0.5
AI VOLTAGE =
4604 MV, E-O
AI VOLTAGE =
4602 MV, E-O
> ALTER
COMMAND (1):

~. \.
C
.

268

SC34-0313

)

$IOTEST

o
COMMAND (?>: AI
ENTER DEVICE ADDRESS ,(HEX I-FF)
CONVERT DIAGNOSTIC ZERO 1 N

60

CONVERTING DIAGNOSTIC VOLTAGE, SHOULD BE 4.5
AI VOLTAGE ='
4604 MV, E-O
AI VOLTAGE =
4602 MV, E-O
> ALTER
COMMAND (1):

LD -

+- 0.5

List Devices

LD reads the actual hardware addresses, their IDs, and displays
a list of the descriptions. If a device exists but is not powered on, the description for that device is displayed.

COMMAND

(?):

LD

ACTUAL SERIES/l HARDWARE CONFIGURATION
00
01
02
04
09
40
41
50
51
52
53

= TELETYPEWRITER ADAPTER
= 4974 PRINTER
= 4964 DISKETTE UNIT
= 4979 DISPLAY STATION
= SINGLE lINE BSC

=
=
=
=

=
=

TIMER FEATURE
TIMER FEATURE
1010 DI/PI NON-ISOLATED
1010 DI/PI NON-ISOLATED
1010 DO WITH EXTeRNAL SYNC
1010 DO WITH EXTERNAL SYNC

COMMAND (?>:

0',

.,I'~

Chapter 4. The Utilities

269

$IOTEST

()

LS - List Supervisor Configuration
LS provides a display similar to LD except that it lists the
devices your supervisor is generated to support (whether or not
they are j n the hardware of the system current ly be i ng used).

VI - Display Volume Information
VI d i sp lays in format j on about vo I umes as fo llows:

COMMAND ( ? ) : VI
VOLSER TYPE IODA
NRQ021
NRP001
SMVOL
NRP002
NRP003
NEWPRG
FORT
DEV
EDX002
ASMLIB
SUPLIB
EDX003
EDX005
EDX006
EDX007
EDX008

270

PRI.
PRI.
SEC.
SEC.
SEC.
SEC.
SEC.
SEC.
PRI.
SEC.
SEC.
SEC.
PRI.
SEC.
SEC.
SEC.

SC34-0313

STATUS

0002
ONLINE
0022
1
ONLINE
0022
2 OFFLINE
0022 3 ONLINE
0022 1A ONLINE
0022 3A ONLINE
0022 4A ONLINE
0022 lOA ONLINE
0003
ONLINE (IPL)
0003
0003
0003
0048
ONLINE
0048
0048
0048

VOLORG VOLSIZE LIBORG
0
0
0
13
13
0
13
0
0
130
1 l.6

162
0
51
150
200

75
75
75
74
75
74
75
74
130
16
16
141
50
50
50
50

27
27
27
14
27
14
27
14
241
1

1
1
705
1

1
1

$JOBUTIL

o

$JOBUTIL - JOB STREAM PROCESSOR

$JOBUTIL is a batch job processing capability that can be
invoked simultaneously with the execution of other programs.
This allows you to sequentially execute a series of programs
without intervention. You include the names of the programs,
and other information in a collection of $JOBUTIL commands created via $EDIT1N or $FSEDIT.
A procedure can invoke another procedure, however, the called
procedure cannot invoke another. A typical use of $JOBUTIL
would be to execute a procedure that causes the assembly, link
editing, and formatting of your program. Refer to "Batch Job
Example" on page 290.
$JOBUTIL is the main program that calls two overlay programs:
$JP1 which opens required data sets and $JP2 which processes
all commands.
Programs tha't are capable of receiving parameter,s in the format
used by $JOBUTI L are:
$COBOL
$EDXASM
$FORT
$LINK

()

$PL/I
$PREFIND
$SlASM
$UPDATE

Setup Procedure
The steps requ i red to set

UP

and start a procedure are:

1.

Using $DISKUT1, allocate a data set on either di,sk or
diskette which is to contain the procedure. The size of
the data set depends on the number of commands. Allocate
one record for each two commands.

2.

Us i ng $EDITIN or $FSEDIT, enter the $JOBUTI L commands necessary for yo ur procedure into an ed i tor L~ork data set, and
, S AVE' the In i nth e d a t a s.e t a 110 cat e din S t e p 1.

3.

To run your job, load $JOBUTIL and speci fy the name of your
procedure data set. Loading can be done by use of the ses5 i on manager or the $L command.

o
Chapter 4. The Utilities

271

$JOBUTIL

o

$JOBUTIL Commands
The $JOBUTIL commands are listed
entered in the fo llow i ng format:

below.

Commands

must

be

Command - Position 1 to 8
Operands - Position 10 to 17
Comment - Position 18 to 71
For internal comments -

'*'

in position 1

Note: All commands without operands can have comments starting
in position 10.

Command
AL
DE
DS
EOJ
EOP
EXEC
JOB
JUMP
LABEL
lOG
NOMSG
PARM
PAUSE
PROC
PROGRAM
REMARK

*

Function
Allocate data set
Delete data set
Identify data set
Identify end of job
Identify end of nested procedure
load and execute program
Identify job
Jump to label
End jump
log Job stream Processor Commands
Suppress load messages
Identify program parameter
Await manual intervention
Identify nested procedure
Identify program
Remark to operator
Internal comment

o
272

SC34-0313

o

$JOBUTIL

AL - Allocate Data Set
AL j dent j f j es a data set to be allocated. It returns a $DISKUT3
return code that can be used by the JUMP command.
Syntax

AL

name,volume size type

Required:

name,volume
size
type
None

Default:

()

name

Defines the data set to be allocated

volume

Defines the volume on which the data set is to be
allocated

size

Defines the size ;n blocks of the data set

type

Defines the type of data set as follows:
D indicates data (default)
P i nd i cates program

U indicates undefined

Example

AL

TEMPDS,EDX003 25 0

o
Chapter 4. The Utilities

273

$JOBUTIL
DE - Delete

Data Set

o

DE i dent if i es a data set to be de leted.
Syntax

DE

name, volume

Required:
Default:

name, volume
None

Operands

Description

name

Def i nes the data set to be deleted

volume

Defines the volume from which the data set is to be
deleted

Example

DE

TEMPDS,EDX003

c
274

SC34-0313

[ $JOBUTIl

o

DS - Ident; fy Data Set
DS i dent if i es a data set to be opened and accessed by a program.
D S co," man d 5 are a II owed on I y between PROGRAM and EXEC commands.
Up to nine (9) DS commands can be spec i f i ed for a program.
Syntax

DS

name,volume

Requ ired:
Default:

name
volume

Operands

()

is

IPL

volume

Description

name

Defines the data set to be accessed by a program

volume

Def i nes the vo I ume that conta i ns the data set to be
accessed by a program

Example

DS

WORKl,EDXOOl

o
Chapter 4.

The Utilities

275

I

$JOBUTIL

·1

EOJ - End o'F Job

o

EOJ indicates the end of the primary procedure and must be the
la,st command in the procedure data set. data set.
S)!ntax

No operands are requ ired.

EOP - End of Procedure
EOP i nd i cates the end of a nested procedure and must be the last
command in the called procedure data set.

r"c,\

EOP

\""c~

No operands are requ ired.

o
276

SC34-0313

$JOBUTIL

o

EXEC - Execute Program

EXEC loads and executes the program i dent if i ed in the preced i ng
PROGRAM command. EXEC must have been p.roceeded by a PROGRAM
command.
SYntaK

EXEC
Required:
Default:

Operands
STORAGE

()

STORAGE=size
None
STORAGE=O

Description
Spec i f i es the amount 0 f dynam i c storage to be all 0cated to the program to be executed. This value
overrides the value specified when the program was
comp i led. STORAGE=O (the de fau It) i nd i cates that
the dynamic storage specified (if any) during compilat i on should be allocated.

o
Chapter 4. The Utilities

277

I

$JOBUTIL

I

JOB - Ident; fy Job

()

JOB, an optional command, identifies the procedure or a collection of commands within a procedure data set. When a JOB
command is read by $JOBUTI L, a message is pr i nted on the terminal with the Job name, time started and date (if timer support
is included).
~ntax

JOB

job-name

Required:

job-name

Operands
job-name

Description
Names the current group of commands as a job

Example

('

')

\"--

JOB

'

TEST1

O~"
'

278

SC34-0313

\

$JOBUTIL

o

JUMP - Jump to Label
JUMP bypasses $JOBUTI L commands by test i n9 the camp let i on code
of the previously executed program. The test compares the program comp let i on code to 'cc'. The commands between the JUMP and
the LABEL command with the same label name are ignored if the
condition tested for is 'true'. An unconditional JUMP to a
LABEL is also permitted. Jumps are forward only and are limited
to the range of the current procedure, for example, a jump cannot occur from one procedure to a label in another procedure. A
JUMP with no label name jumps to the next unlabeled LABEL command or to an EOJ or an EOP, whichever occurs first. If an EOJ
or an EOP is encountered while searching for a LABEL command,
the search for the LABEL command terminates and the EOJ or EOP
is executed.
Note: The JUMP and LABEL commands are
PAUSE mode.

not

permitted

in

the

Syntax

JUMP

o

Required:

Operands

label-name,op,cc
None

Description

label-name The name associated with a LABEL comman.d.
op

LT, GT, EQ, GE, LE, or NE.

cc

Program comp let i on code.

Examples

JUMP
JUMP
JUMP

lBLl,EQ,20
LBL2

o
Chapter 4. The Utilities

279

[ $JOBUTIL

I

LABEL - Identi fy Conti nuati on Poi nt
Job processing continues at the LABEL command after a related
JUMP command is encountered. The LABE L command is not va lid in
the PAUSE mode.

LABEL

label-name

Requ ired:

None

Operands

Descri~tion

label-name Defines the command where processing can continue.

Examples

LABEL
LABEL

LBLI

o
280

SC34-0313

o

$JOBUTIL

LOG - Log Control

LOG indicates whether the $JOBUTIL commands are to be printed
as they are read and which terminal device is to print them.
LOG commands can be placed anywhere in the procedure data set.
If a terminal device is not specified, the commands are logged
on the terminal from which the Job Processor was invoked.

LOG

Operand

Required:
Default:

None
ON

Operands

c)

Description

ON

Ind i cates that $JOBUTI L commands are to be pr i nted

OFF

Ind i cates that $JOBUTI L
printed

commands

are

not

to

be

terminal-name
Identifies the terminal device which is to print
the job processor commands. If omitted indicates
that the job processor commands ~re to be logged on
the terminal from which the job processor was
called.
Examples

LOG
LOG
LOG
LOG

ON
OFF

$SYSPRTR

o
Chapter 4. The Utilities

281

I

$JOBUTIL

I

NOMSG - No Message Logg; ng

NOMSG sets LOGMSG=NO for the program identified in the preceding PROGRAM command. See the LOAD instruction in the Language
R e of ere n c e for the de fi nit ion 0 fLO GMS G. NO f1 S Gis i n val i d i f not
preceded by a PROGRAM command.
The NOMSG command must be between the PROGRAM and
mands.

EXEC

com-

Syntax

I

NOMSG
Required:

None

No operands are requ ired.
Example

PROGRAM
HOMSG

CALCDEMO

o
282

SC34-0313

$JOBUTIL

0"

1

"

PARM - Pass Parameter

PARM identifies the parameters to be passed to the program in
the preceding PROGRAM command. PARM must be between the PROGRAM and EXEC commands. Maximum length of the operand on the
PARM command is 62 bytes. The parameters spec if i ed on the PARM
command are passed to the specified program as an EBCDIC character string. In the specified program they can be referenced
as beginning at the label $PARMI and are packed two characters
per LtJord. The length of the str i ng is determi ned by the
'PARM=n' operand of the PROGRAM statement in the specified program. For example, 'PARM=31' would cause the maximum 62 characters from positions 10-71 of the PARM command
to
be
transferred to the specified program starting at the label
$PARM1.
S}!ntax

PARM
Requ ired:

Operands

parameters
None

Description

parameters Def i nes parameters to be passed to the program
Example

PARM

NOLIST,XREF

e

liI,

Chapter 4. The Utilities

283

[

$JOBUTIL

PAUSE - Await Manual Intervention
PAUSE allows $JOBUTIl commands to be entered from a terminal
keyboard. JUMP and LABEL commands are not permitted.
When a PAUSE command is read, you are prompted for input. You
communicate with the processor using the attention key and
three PAUSE subcommands.

You

can initiate the PAUSE mode by pressing the attention key
and typ i ng PAUSE.
PAUSE subcommands are:
To end $JOBUTI L process i ng

•

ABORT

•

ENTER - To enter $JOBUTIL commands

•

GO - To end the PAUSE mode and read the next command in the
procedure data set

Syntax

Requ ired:

None

No operands are requ ired.

c
284

SC34-0313

o

$JOBUTIL

Example
Data Set with PAUSE

JOB
LOG
PROGRAM
EXEC
REMARK
REMARK
PAUSE
EOJ

PAYROll
ON
WAGES
LAST DAV OF MONTH?
RUN MONTH END

In PAUSE Mode (Terminal Outp-ut)

PAUSE -

C

IJ~~

;'

* -

ATTN: GO/ENTER/ABORT

PAUSE
>ENTER
ENTER
ENTER
ENTER
ENTER

COMMAND
OPERAND
COMMAND
OPERAND

PROGRAM
MONTH END
EXEC

o
Chapter 4. The Utilities

285

[

$JOBUTIL

I

PROC - Execute Procedure
PROC allows you to pass control to another procedure data set.
The operand identifies the data set. A PROC command is not
allowed in the called procedure data set.
PROC cannot be
placed between a PROGRAM command and EXEC command. The completion code of the last program executed in the sub-procedure
wi 11 be avai lable for testing by the main procedure.

PROC

procedure-name, volume

Required: procedure-name
Default:
volume is IPl volume

Description
procedure-name
Defines the procedure data set to which control is
to be passed.
volume

Defines the volume contCiining the procedure
set to wh i ch control is to be passed.

data

Examples

PROC
PROC

PAYROll,EDX002
PAYROLL

c
286

SC34-0313

$JOBUTIL

o

PROGRAM - Ident; fy Program

PROGRAM i dent if i es a program to be executed.
Syntax

program-name, volume

PROGRAM

Required: program-name
Default:
volume is IPl volume

operands

Description

program-name
Def i nes the
executed

( '1

volume

name

of

the

program

Def i nes the name of the volume
program member to be executed

member

to

conta i n i ng

be
the

,I

Examples

PROGRAM
PROGRAM

$DEBUG,EDX002
CHECKS

o
Chapter 4. The Utilities

287

$JOBUTIl
REf1ARK - D; splay Remark

()

REMARK allows you to output a message to the operator with log
ON or OFF. The operand contains the message. The maximum message length is 62 bytes.
Syntax

REMARK comment
Required: None

Des c.r:...i..Q t 1 on

comment

Defines the comment to be displayed

Example

I

REMARK

INSERT DISKETTE EDX005

o
288

SC34-0313

o

$JOBUTIL

*-

Comment

An asterisk (*) in position 1 allows internal comments in the
procedure data set. Comments can start in pos i t i on 2. The
1 nternal comment is not pr i nted.
Syntax

*

internal comment

Required:

None

No operands are requi red.

Example

*

THIS PROCEDURE IS A TEST CASE

o
Chapter 4. The Utilities

289

$JOBUTIL

.1

o

Batch Job Example
The following examples list three procedure data
last two procedures shown are invoked by the first.
List Data Set BATCH on

JOB
LOG

REMARK
PROGRAM
NOMSG
DS
PARM
EXEC
PROGRAM

EXEC
JUMP
PROGRAM
EXEC
LABEL
PROGRAM
PARM
EXEC
JUMP
PROGRAM
OS
EXEC
LABEL

PROC
PROC
EOJ

sets.

The

EDXOO~

BATCH
$SYSPRTR
THIS JOB SHOULD RUN UNINTERRUPTED
JUTESTl,EDX003
LOADl,EDX003
FOF4FIF7

JUTEST2,EDX003
JMPl,EQ,-lO
CALCDEMO,EDX002
JMPI
JUTEST3,EDX003
2

JMP2,LT,5
$EDITIN,EDX002
EDITWORK,EDX002
JMP2
PROCl,EDX003
PROC2,EDX003

c
290

SC34-0313

[

$JOBUTIL

l j st Data Set PROCI on EDX003

lOG
REMARK
PROGRAM
EXEC
EOP

ON
PROCI
JUTEST2,EDX003

li st Data Set PROC2 on EDX003

RENARK
PROGRAM
DS
PARM
EXEC
EOP

PROC2
JUTESTl,EDX003
lOADl,EDX003
ENDT

c

o
Chapter 4. The utilities

291

[ $lOG

I

$LOG -

LOG I/O ERRORS INTO DATA SET

", 0
1
. . '"'

$lOG records information concerning I/O errors onto a disk or
d j skette data set. The i nformat i on recorded on the log data set
can then be d i sp layed us i ng $DISKUT2.
You must include the supervisor I/O error logging module
(SYSlOG) in your generated system to have I/O error logg i n9
capability.
N01~:

Log Data Set

Before I/O errors can be recorded, you must allocate a log data
set to contain the device and system information available at
the time of the I/O error. The log data set should be at least
eight records long and should be named $LOGDS. $LOGDS may
reside in a disk or diskette volume. The log data set contains
one 256-byte log entry per record. The first two records are
used for contra 1 i nformat ion.
If the log data set was previously used and contains valid
entr i es, new entr i es are added after the old ones. If the data
set is not initialized, a new log control record is written,
indicating that no entries are in the log data set. When the
log data set becomes full, the following message is sent to the
terminal:

$LOG -

***

INSUFFICIENT BUFFERS FOR LOG RATE

"Following this message, subsequent log entries
'oJritten over the oldest entries.

***
received

are

Invoking SLOG

To activate error logging, load $lOG into any partition. Use
the session manager diagnostic utilities option menu or the $L
operator command. You are prompted for the name of the log data
set. After $LOG is loaded and error logging is activated, you
can use attention commands provided by $LOG to deactivate,
reactivate or terminate error logging. You can also reinitiali ze the log data set us i ng one of these attent i on commands. For
292

SC34-0313

o

o

SLOG
information about I/O error logging, system generation considerations, and execution time interfaces, refer to the ~stem
Guide.
Example: The follo,~ing example shows how to activate error logging and the attention commands that are avai lable.

> $L SLOG SLOGDS,EDX002
$LOG
21P, LP= 7400

*********************************************************

*
**
*

*
*
*
**
*

o

$ LOG

UTI LIT Y

THE FOLLOWING ATTENTION COMMANDS ARE AVAILABLE:
ATTN/$LOGOFF - TEMPORARILY DEACTIVATE LOGGING
ATTN/$LOGON
- REACTIVATE LOGGING
ATTN/$LOGINIT - INITIALIZE LOG DATA SET
ATTN/$LOGTERM - TERMINATE LOGGING
ATTN/$LOG
- REISSUE COMMAND LIST
WARNING: DO NOT CANCEL($C) THIS PROGRAM.

*
**
*
*
*
*
*
**

*********************************************************
LOGGING ACTIVATED

c
Chapter 4. The Utilities

293

[

$MOVEVOI. ]

$MOVEVOL - DISK VOLUME DUMP/RESTORE
$~10VEVOL dumps the contents of an Event Dr i ven Execut i ve direct
access volume to diskette when such a volume spans several
diskettes.

$MOVEVOL also restores a volume from diskette to disk. Thus,
$MOVEVOL provides the facility for transferring large amounts
of data from one system to another or for creating backup
copies of an online data base.

Diskette Usage

Diskette Contents
The first of the set of diskettes used for the dump function,
called the control diskette, records control information and
the volume directory. The rest of the diskette,s store the data
portion of the volume being dumped. Control information is
recorded on each data diskette to identify the diskette contents and to ensure that it contains data related to the dump
operation described on the control diskette.

Diskette Format
All diskettes must be 'formatted using $DASDI to contain
128-byte
sectors.
Either
single-sided
or
double-sided
diskettes can be used; however, all diskettes in a set must be
the same type. Each diskette must contain a volume label in the
standard format. The volume label must be a six-character field
in which the last two characters are used for sequencing; for
example, SAVEOO, SAVEOl, ••• , SAVEnn, where nn is the last
diskette used. All diskettes used must have the same fourcharacter prefix.

294

SC34-0313

o

$MOVEVOl

4966 Diskette Usage Considerations
If you are using the 4966 diskette magazine unit for your
dump/restore operation, you can use diskette magazines or an
individual diskette slot. If you use an individual diskette
slot, then all of the subsequent diskettes mounted must be
placed in the same slot. If you use diskette magazines, you
must have all of your diskettes in the correct sequence with no
empty slots in the magazine. The first volume with the suffix
00 must be in slot number 1 of the first magazine. You can use
either or both of the diskette magaz i nes, A and B.

Data Set Specification

If $MOVEVOL is invoked with the $L command, you are prompted to
enter the names of the data sets and volumes to be used.

c

Figure 21 shows the parameter menu displayed when $MOVEVOL is
invoked using the session manager. Enter the requested informat i on and press ENTER.

$SMM0308: SESSION MANAGER $MOVEVOL PARAMETER INPUT MENUENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
DISK

($$EDXLIB,VOLUME) ==>

DISKETTE

(NAME, VOLUME)

==>

Figure 21. $MOVEVOl parameter input menu

o
Chapter 4. The utilities

295

[ :SMOVEVOL

I

Dump Procedure
The following steps are required to dump the
direct access volume onto diskette.
1.

contents

of

a

Set up a control diskette.
a.

b.

c.

Use $INITDSK to:
1)

Initialize the
label that is
SAVEOO).

2)

Create a di rectory of at least 2 records.

3)

If the diskette is to be used to IPl another system, reserve space for a nucleus of the appropriate s j ze and I-Jr i te the IPl text.

control diskette
suffixed with 00

with a volume
(for example,

Use $DISKUTI to:
1)

Determine the directory size,
volume to be dumped.

in records, of the

2)

Change volume to the control diskette (for example, SAVEOO) and allocate a control data set with
the same name as the name of the volume to be
dumped. The member size of the control data set
must be one record larger than the size of the volume be i ng dumped.

Use $COPYUT 1 to:
1)

Copy other data sets onto the control data set. For
example, you may required $EDXNUC, the transient
loader, or a copy of $MOVEVOl.
Note: The first record in the control data set
contains control information and up to 50 characters of text descr i bing the data be i ng dumped. The
remaining space stores a copy of the directory of
the vo I ume be i ng dumped.

2.

Set up a ser i es of data diskettes. For each data diskette:
a.

Use $INITDSK to:
1)

296

Create a volume label. The volume label of each
diskette must have the same four-character prefix
as the control diskette and a two-character suffi x
indicating the sequence number,
for
example,

SC3 l .-0313

o

I SMOVEVOL

o

SAVEO 1, SAVE02, .••.•• , SAVEnn.

b.

3.

2)

Create an owner 10 fie ld.

3)

Allocate a two-record directory.

Use $01SKUTl to:
1)

Allocate a one-record data set named $CONTROL.

2)

Allocate a second data set with the name of the
volume to be dumped (for example, EOX002). The
second data set must use the remaining available
space on the diskette (946 records for a singlesided diskette and 1921 records for a double-sided
diskette.

Mount the control diskette,
$MOVEVOL for execution.

vary

it

online

and

load

You must spec i fy two data sets at load time:

o

DISK

The volume on disk
$$EDXLIB,volser.

DISKETTE

The control data
dsname,volser.

to

set

dumped.

Specify

diskette.

Specify

be
on

$MOVEVOL asks if you wi sh to dump from disk to diskette.
$MOVEVOL then
determines
the
number
of
additional
diskettes required to dump the referenced volume (DISK),
informs you of this requirement, and asks whether the
procedure should be continued. A negati ve response terminates the operat ion. I f the response is pos i t i ve, the contro 1 i nformat i on and disk directory are recorded on the
control diskette and you are asked to mount a new diskette
for transfer of the data portion of the volume being
dumped.
4.

Each time a diskette is filled, $MOVEVOL requests another
diskette. Mount as many data diskettes as requested.

o
Chapter 4. The

Util~ties

297

$MOVEVOL

1

( .Y'\

Example

Dump Operation Using a 4966 Diskette Ma..,9.P.zine Unit

> $L $MOVEVOL
DISK(NAME,VOLUME): $$EDXLIB,EDX002
DISKETTECNAME,VOLUME): $EDX002,SAVEOO
20P,10:07:52, LP=5200

$MOVEVOL

DUMP LIBRARY FROM VOLUME EDX002 TO DISKETTE? Y
PROCESSING DISKETTE VOLUME SAVEOO
ENTER LIBRARY IDENTIFICATION (1-50 CHAR.):
DUMP OF EDX002 - DATE IS 09/14/77
11 MORE DISKETTES ARE REQUIRED, CONTINUE? Y
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING
PROCESSING

DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE
DISKETTE

VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME
VOLUME

SAVE01
SAVE02
SAVE03
SAVE04
SAVE05
SAVE06
SAVE07
SAVE08
SAVE09

MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVEI0
PROCESSING DISKETTE VOLUME SAVEll
VOLUME DUMP OPERATION COMPLETE
9200 RECORDS TRANSFERRED
$MOVEVOl ENDED 10:10:13

c
298

SC34-0313

$MOVEVOL

Restorat;on Procedure

The following steps are required for a restore operation.
1.

2.

Mount the contro I diskette,
$MOVEVOL for execution.

vary

it

on line

and

load

a.

Respond as described previously in Dump Procedure to
requests for data sets.

b.

Select the restoration mode by responding N to the
query for disk to diskette dump and Y to the query for
diskette to disk restoration.

Mount data diskettes as requested.

Examples

Restore Operat i on Us i n9 a 4964 Diskette Un it: The
smaller than the receiving volume in size.

O

~''\;,

source

is

> $l $NOVEVOL,GREYV2
DISK
(NAME,VOLUME): $$EDXLIB,MACLIB
DISKETTECNAME,VOLUME): $MACLIB,BACKOO
$MOVEVOL
20P,00:26:08, LP= 7000
DUMP LIBRARY FROM VOLUME MACLIB TO DISKETTE? N
RESTORE LIBRARY FROM DISKETTE TO DISK VOLUME MACLIB ? Y
RESTORING 5719-XX2 V01M01 JAN. 12, 1979 TO VOLUME MACLIB
CONTINUE? Y
SOURCE VOLUME IS SMALLER THAN THE TARGET. CONTINUE? Y
COMPRESS THIS LIBRARY AFTER INSTALLATION.
PROCESSING DISKETTE VOLUME BACKOO
MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME BACK01

o
Chapter 4. The Utilities

299

$MOVEVOL
Restor~eratl0n USl~n Individual 4966 Diskette Magazine
Slot: The source and target volumes are equal in si ze.

> $L $MOVEVOL $$EDXLIB,EDX003 $EDX003,SAVEOO
$MOVEVOL

20P,11:05:05, LP=6300

DUMP LIBRARY FROM VOLUME EDX002 TO DISKETTE? N
RESTORE LIBRARY FROM DISKETTE TO DISK VOLUME EDX002? Y
RESTORING DUMP OF EDX002 - DATE IS 09/14/77
CONTINUE? Y
PROCESSING DISKETTE VOLUME SAVEOO
MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVEOI
MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVE02
MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVE03
MOUNT NEXT DISKETTE OR MAGAZINE
REPLY -Y- WHEN DONE: Y
PROCESSING DISKETTE VOLUME SAVE04
VOLUME INSTALLED
3600 RECORDS TRANSFERRED
$MOVEVOL ENDED 11.10.56

o
300

SC34-0313

$PFMAP
$PFMAP - IDENTIFY 4978 PROGRAM FUNCTION KEYS
The $PFMAP utility identifies the program function keys on the
4978 display station. As each key is pressed, its associated
system code is displayed in decimal and hexadecimal. A key's
associated system code is the identification returned at completion of a WAIT KEY instruction or an ATTNLIST interrupt.
The hardcopy key is active during execution of this program,
and its code is not displayed. The program is terminated by
press i ng the ENTER key.

o
Chapter 4. The Utilities

301

$PREFIND
$PREFIND -

PREFIND DATA SETS AND OVERLAYS

$PREFIND locates the disk, diskette,
overlay programs to be referenced by
their addresses in the header of your
has executed, the tasks performed by
future program load times for the your

o

or tape data sets and
your program and stores
program. After $PREFIND
$LOADER are reduced and
program are shortened.

Under certain carefully
controlled
conditions,
$PREFIND
reduces the time required to load other programs from disk or
diskette for execution. $PREFIND is normally used as the last
step in the program preparation process,
following
the
execution of $UPDATE; hO"Jever, it can be used to process a program at any time after the program has been processed by $UPDATE or after a previous processing by $PREFIND as is described
as follows.
$PREFIND is most effective when it is used to process programs
that reference a large number of disk, diskette, or tape data
sets and overlay programs and when these programs must be
loaded frequent I y from disk or diskette.

I

Program Load Process Overview

If a program uses data sets or overlays programs (OS= and PGf1S=
keyword parameters in PROGRAr" statement), the assembly process
creates control blocks in the program header for each data set
and overlay program specified. Space is reserved in these control blocks for the physical disk/diskette/tape addresses of
the data sets and overlay programs defined.
After completion of the program preparation process ($LINK if
required, and then $UPDATE), the executable load module can be
loaded to storage. The system program that performs the load
operation is a transient loader program ($LOADER), and part of
that operat i on inc I udes fill i ng in the
actua I
phys i ca I
addresses of data sets and overlay programs in the control
blocks of the program header of the program that was loaded.
When a large number of data sets and/or overlay programs are
defined, this can be a time-consuming process, as $LOADER must
search a volume di rectory for each data set/program used.
In this manner, all data sets and overlay programs required by
a program are located and their sizes determined each time the
using program is loaded for execution. Thus, the loaded program wi 11 execute correctly even if the si ze or location o'f one
or more of the data sets or overlay programs it uses has
changed.
302

SC34-0313

o

$PREFIND

o

The program loading process just described provides maximum
safety and flexibi lity in loading programs for execution. However, the time requ i red to locate each data set and over lay
program each time a program is loaded may be undesirable in
some circumstances.
$PREFIND allows data sets and overlay programs to be located
prior to program load time, and written directly into the program header on disk or diskette. When a program is loaded, the
information required is already present, and load time is
therefore reduced.
Note: See Internal Des~ for a description of the Relocating
Program Loader ($LOADER), the program header, and Data Set Control Blocks (DSCBs).

$PREFIND Usage Caut;ons
1.

Use $PREFIND only to locate data sets and/or overlay programs in well tested production systems where the size and
location of the referenced data sets and overlay programs
are unlikely to change and where programs are loaded so
frequently that the saving of a few seconds in program load
time results in a useful performance increase for the system.

2.

Use $PREFIND only in situations where the disk, diskette,
or tape locations of referenced data sets and overlay
programs will remain relatively static. If a referenced
data set or overlay program is moved to a new location on
disk or diskette, or to another tape volume, then programs
that have been processed by $PREFIND will not be aware of
the new location or size. This will produce undesirable
results the next time the programs are executed.
$PREFIND must be used again to insert the new information
into the program headers of all referencing programs.

3.

o

Before loading a program that references data sets on
removeable media, such as diskette or tape, make sure. that
the proper diskette or tape volume containing the prefound
data sets has been mounted and varied online. If the correct diskette or tape volume is not mounted, the program
wi 11 use whatever volume is mounted at the time of execution. If you should access an incorrect volume, unpredictable results may occur and possible destroy the data on
the diskette or tape.

Chapter 4. The Utilities

303

$PREFIND
4.

The system does not keep track of referenced data sets or
overlay program locations that are no longer valid. It is
ynur responsibility to prevent disk, diskette, or tape
data sets and program overlays from being incorrectly modified.
System functions that can change the size or location of
data sets or overlay programs are:

5.

•

DE Clnd AL commands of $DISKUTl

•

CD, ST, and RT commands of $TAPEUTI

•

$COPYUTI

•

$UPDATE, following reassembly of a program

•

$COMPRES

If you generate a new system and IPL from that system, make
sure that the disk, diskette, or tape control blocks have
not been relocated. A change in control block location
with j n the super visor requ j res that $PREF IND be used aga i n
to locate any referenced data sets and overlay programs.
Changes made during system generation that can affect the
location of control blocks are:
•

Add i ng, de let i ng, or chang i ng $EDXDEF statements.

•

Modifying the $LNKCNTL
INCLUDE statements.

•

Relinking the supervisor with new or modified object
modules, for example, $SYSCOM or PTF module replacements.

data

set

to

add

additional

$PREFIND Commands
The $PREFIND commands are listed belo,.,. When invoked using $L,
$PREFIND prompts you for the information required for each command. When invoked through $JOBUTIL as a batch processing job,
$PREFIND must be supplied with the necessary information with
the PARM command of $JOBUTIL, as descr i bed on the follo~.Ji ng
pages.

304

SC34-0313

()

$PREFINO

o
Command
PF
DE
EN

?

Description
PRE LOCATE DATA SETS AND OVERLAYS
DELETE PREFOUND STATUS
END $PREFIND
LIST AVAILABLE COMMANDS

Invok;ng $PREFIND
$PREFIND can be invoked by the
$L command,
the job stream
processor ($JOBUTI L), or the program preparat i on opt i on of the
session manager.

Invoking $PREFIND Using $L
·~

C.

~\

)

When invoked with $L, $PREFIND prompts you for the command name
and, i f e j ther PF or DE is entered, prompts you for the name and
volume of the program, as well as the numbers (1 through 9) of
the data sets and overlay programs that are to be located or
whose prefolJnd status is to be deleted. All of the requi red
information can be entered without waiting for the prompting
messages. For example:

J

PF MYPROG .. EDX003 D=(1 .. 2 .. 4,7) P=(1,2,3)

'-------_.

her e the n u mb e r 5 i n p a " e nth e 5 i ,S cor res p 0 n d t o t hen u mb e r sus e d
in the DSn and PGMn parame'ters on the READ/WRITE and LOAD Event
Driven Language instructions.

o

The data set and program numbers must always be entered in the
formats D=(_,_,_) and P=(_,_).
Data set numbers, i f present,
must always precede overlay program numbers. The word ALL can
be used in place of the number string within the parenthesis i f
desired.
A null response to the prompt for either
(but not
both) the data set or program numbers can be made, i f appropr i -

Chapter 4.

The Utilities

305

$PREFIND
ate, and no change
will occur.

in the status of the data sets or programs

o

Only those data set or program numbers whose status is to be
changed should be entered.
For example, i f a program references six data sets and i t is desired to prelo~ate the first
three and the sixth, then D= (1 ,2,3,6) l.JOU ld be entered when
using the PF command.
I f at a later time i t is desired to no
longer have the th i rd data set in the pre found state, a DE command specifying 0=(3) would be used. After performing the two
commands described .bove, data sets I, 2, and 6 would be pref 0 u n dan d d a t a set s 3," 4, 5 W 0 u I d not.
I nth e e x amp l e g i v e n
here, the execut i on of the DE command only affects DS3 and does
not update the i nformat i on in the program header concern i ng
DSI, D52, or DS6 should they have been moved to di fferent
locations on disk between'the execution of the PF and DE
commands described.
Note: Dur i ng' execut i on 0 f the DE command, a data set can be
deleted
which
was
originally
defined
in
the
format
(dsname,??).
In this case, $PREFIND prompts you to enter the
prompting dsname to be placed back into the program header
since the original name was overridden during the previous PF
command.
I f the DE command is invoked via $JOBUTIL, an error
message occurs i f the above cond i t i on is encountered.
Any data set or overlay program not marked as be i ng in the prefound state is located by $LOADER whenever the using program is
loaded into storage for execut i on.

Examples
Process i n9 One Program Wi thout Prompt i ng Messages

> $L $PREFIND
$PREFIND

22P,00:06:15,

LP= 9800

COMMAND (1): PF TESTPREF,EDX001 D=(1,2,3,5,7,9)
COMMAND COMPLETED
COMMAND (?): EN

P=(ALL)

$PREFIND ENDED AT 00:07:30

o
306

SC34-0313

$PREFIND

o

Processing Multiple Programs with/without Prompting Messages

COMMAND (?): PF
PGM(NAME,VOLUME): TESTPREF,EDXOOI
ENTER DATA SET NUMBERS: 0=(1,2,3,7,9)
ENTER OVERLAY PGM. NUMBERS: P=(ALL)
COMMAND COMPLETED
COMMAND (?):
COMMAND (1): PF
PGM(NAME,VOLUME): TESTPRE2,EDXOOI D=(ALL) P=(ALL)
COMMAND COMPLETED
COMMAND (?): EN
$PREFIND ENDED AT 00:10:59

o
Chapter 4. The Utilities

307

$PREFIND
Invoking $PREFIND Using $JOBUTIL

()

When $PREFIND is invoked through $JOBUTI l, it requ i res the same
information as was described under 'Invoking $PREFIND Using
$L'. This information is provided with a PARM command having
the format shown below. The number of spaces between the operands in the PARM command may be one or more, as long as the
total number of characters, including spaces, does not exceed
62.
Syntax

Character
Position
1
10
PARM
progname,volume c D=(_,_,_) P=(_,_,_)

Operands

Description

progname

The name of the program whose data set and overlay
program status is to be mod if i ed.

volume

The volume of residence of the program whose data
set and overlay program status is to be modified.

c

Either character P for PREFIND or character D for
DELETE

-'-'-

The string of data set or overlay program numbers,
or the word ALL

When i n v 0 ked wit h $ JOB UTI l, $ PRE FIN D per for m5 e i t h e,r a sin 9 1 e
prefind or delete function and then terminates its execution.
$PREFIND directs its error and/or termination messages to the
device defined as $SYSPRTR.

c
308

SC34-0313

$PREFIND

Example

Messages and responses on your terminal:

> $L $JOBUTIL
$JOBUTIL
3P,02:23:15, LP= 6500
ENTER PROCEDURE (NAME,VOLUME): PREPROC,EDXOOI
$JOBUTIL ENDED AT 02:23:38

Output on $SYSPRTR:
LOG

***

$SVSPRTR
JOB - PREFIND

JOB
PROGRAM
NOMSG
PARM
EXEC

STARTED AT 02:23:28 00/00/00

***

PREFIND
$PREFIND,EDXOOI
D TESTPREF,EDXOOl D=(ALl) P=(All)

COMMAND COMPLETED
$PREFIND ENDED AT 02:23:37

The procedure used:
00010
00020
00030
00040
00050
00060
00070

lOG
JOB
PROGRAM
NOMSG

$SVSPRTR
PREFIND
$PREFIND,EDXOOI

.PAR~1

D TESTPREF,EDXOOl D=(ALl) P=(ALL)

EXEC
EOJ

o
Chapter 4. The Utilities

309

Invoking $PREFIND Using the Session Manager
The session manager option menu for program preparation can be
used to invoke $PREFIND. Selection of $PREFIND causes the following parameter option menu to be displayed:

$SMM0208: SESSION MANAGER $PREFIND PARAMETER INPUT MENU-ENTER/SELECT PARAMETERS
DEPRESS PF3 TO RETURN
COMMAND (P/D)
PROGRAM (NAME,VOLUME)
DATASET i'S (OR ALL)
PROGRAM #'S (OR ALL)

==>
==>
==>
==>

D
TESTPREF,EDXOOl
All
ALL

After the parameters are entered, $PREFIND executes as if it
were invoked using $JOBUTIL.

/",,--,,\

\~~.~J

( \)
.

310

SC34-0313

$TAPEUTl

o

$TAPEUTl - TAPE MANAGEMENT

$TAPEUTI performs several commonly used tape management functions. You can initialize tapes, allocate tape data sets, copy
data sets or volumes to or from tape, copy tape to tape, print
tape records, dump/restore disk devices, and test the tape
transport hardware.
$TAPEUTI is invoked with the $L command or primary option 3 of
the session manager. Once invoked and prior to accepting commands, $TAPEUTI displays the following information about the
tapes def i ned to the system:

(''')
,.J

I
I
I
I
I
I
I

•

TAPEID

•

density selection (800, 1600, DUAL)

•

label type (SL, NL, BLP)

•

current density setting

•

online or offline

•

volume information (i f an onl ine SL tape)

•

device address

Example: load i ng $TAPEUT 1 and its automat i c d i sp 1 ay of the sYStem tapes.

> $l $TAPEUTl
$TAPEUTI
21P,II:II:33, LP= 0000
TAPEOI DUAL SL 1600 OFFLINE
DEVICE ADDRESS = 004C
TAPE02 DUAL Nl 1600 OFFLINE
DEVICE ADDRESS = 0040
COMMAND (1):

Note: Error logging of tape errors is available. Refer to the
SYstem Guide.

0,
.,1,

Chapter 4. The Utilities

311

$TAPEUTI
$TAPEUTI Commands

o

The commands avai lable under $TAPEUTI are 1 i sted below. To di spIa y t h 1 s 1 1 s ,t a t you r t e r mj n aI, e n t era que s t ion mar kin rep 1 y
to the prompt i ng message COMMAND (?):.

COMMAND (?>: ?
CD
CT
OP
EN
EX
IT
MT
RT
ST
TA

-

COpy DATASET
CHANGE TAPE ATTRIBUTES
DUMP TAPE
END $TAPEUTI
EXERCISE TAPE
INITIALIZE TAPE
MOVE TAPE
RESTORE DISK/VOL FROM TAPE
SAVE A DISK/VOL ON TAPE
ALLOCATE TAPE DATASET

COMMAND

(?):
/1"\

'\'\.,)

After the commands are displayed, you are again prompted with
COMMAND (?>:. You respond with the command of your choice (for
e )( a mp 1 e, CO).

312

$C34-0313

o

$TAPEUTl
CD - Copy Data Set

CD cop i es a d 1 sk or d 1 skette data set onto a tape, cop 1 es a tape
data set 1 nto a disk or diskette data set or onto another tape.
The command wr 1 tes a tra 1 ler labe I at the end of the data set on
the target tape 1f it is a standard label tape. Header labels
are not written on standard or non-labeled tapes, therefore,
the target tape data set must be preallocated.
I fad i sk or diskette data set is be i ng cop i ed to tape, the tape
records wi 11 be 256-bytes. If a tape data set from another system (for example, a 5/370) is copied to a disk or diskette and
the source records are not 256-bytes, the source records are
split into multiple 256-byte records with any unused bytes padded with zeros. Prior to copying, you are prompted for the
max 1 mum 1 nput record size.
Cons i der the fo llow i ng when you are copy i ng data sets:

•

When you reach a tapemark (end of input data), you are
prompted to continue. If you have more records to copy, you
can continue; however, make sure that there 1S sufficient
room on the target tape. You are prompted at every tapemark
encountered on the source tape. If you do not wish to cont i nue, the tra i ler label 1 s wr i tten on the target tape.

•

To copy the contents of one tape to another tape, thereby
creating an exact duplicate of the entire tape (header
label and data records or only data records), you can use
either of two methods:
To copy only data records, initialize the target tape
(using the IT command) 50 that it has the same label
type as the source tape. Copy (using the CD command)
the source tape to the target tape. This allows you to
create a new header label on the target tape and to
duplicate only the data record.s from the source tape.
To create an exact duplicate of the source tape, mount
the source and target tapes on dr i ves spec if i ed for
bypass label-processing. Then copy (using the CD command) the entire source tape. The target tape becomes
an exact duplicate of the source all label records, all
data records, and all trai ler labels).

o
Chapter 4. The utilities

313

[$TAPEUTl

o

Example
.c..opYing Data from a Disk to a T,iE..g,

COMMAND (?): CD
SOURCE (NAME,VOLUME): $TAPEUTl,EDX002
TARGET (NAME,VOLUME): DATAl111,123456
ENTER SOURCE BlOCKSIZE CNULL=DISKCETTE»:
USE ATTN/CA TO CANCEL COpy
ARE ALL PARMS CORRECT? (Y,N): Y
EOD ON SOURCE DATASET
25 RECORDS COPIED
COMMAND

(?):

c
314

SC34-0313

$TAPEUTl

o

CT - Change Tape Dr;ve Attr; butes

CT resets the label type and density for any tape drive. The
label type and density are set at system generation. CT allows
you to dynamically reconfigure the tape drives. You must vary
off the tape dr i ve before you can change its attr i butes.

where nn

= hexadec i ma I

dev ice address

The current settings for label and density are displayed. You
are prompted to enter any changes.
The CT command fails and issues an error message on the terminal for the following conditions:

o

I·

i nval i d dev; ce address

I•
I•
I.
I.

tape drive is not varied offline
invalid label type
invalid density
tape dr i ve not def i ned as dual dens i ty

o
Chapter 4. The Utilities

315

I

[$TAPEUTl~

o

Examples
~e c

i f y C h  $VARYON 4C

c)

TAPEOl ONLINE
> $L $TAPEUTI
$TAPEUTI
19P,00:08:48, LP=
TAPEOI DUAL NL 1600 ONLINE
DEVICE ADDRESS = 004C
TAPE02 SL 1600 OFFLINE
DEVICE ADDRESS = 0040
COM~1AND

(?):

7AOO

RT

**********************************

*
*

*
*

WARNING:
TO ENSURE PROPER
DISK CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY

*

*
*
*

**********************************
SOURCE (NAME,VOLUME): X,TAPEOI
TARGET (NAME,VOLUME): $$EDXVOL,ASMlIB
DEVICE RESTORE? N
ARE ALL PARMS CORRECT? (Y,N): Y
USE ATTN/CA TO CANCEL THE RESTORE
VOLUME RESTORED
COMt1AND (?):

o
Chapter 4. The Utilities

327

I

$TAPEUTl

Res tor e D i

~

I

o

k De vic e fro m el Tel P e

> $VARYON 4C
TAPEOI ONLINE
> $L $TAPEUTI
$TAPEUTI
19P,00:l2:06, LP= 7AOO
TAPEOl DUAL NL 1600 ONLINE
DEVICE ADDRESS = 004C
TAPE02 SL 1600 OFFLINE
DEVICE ADDRESS = 004D
COMMAND (?>: RT

**********************************

*
*
*

*

WARNING: TO ENSURE PROPER
DISK CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY

*
*
*
*

**********************************
SOURCE (NAME,VOLUME): X,TAPEOI
TARGET (NAME, VOLUME): $$EDXVOL,EDX002
DEVICE RESTORE? Y
ARE ALL PARMS CORRECT? (Y,N): Y
USE ATTN/CA TO CANCEL THE RESTORE
DISK RESTORED
COMMAND (?):

o
328

SC34-0313

$TAPEUTl

o

Restore Disk Device from More than One Tape

COMMAND (?): RT

**********************************

*
*
*
*

WARNING: TO ENSURE PROPER
DISK CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY

*
*
*
*

**********************************
SOURCE (NAME,VOLUME): SAVE1,TAPE02
TARGET (NAME,VOLUME): $$EOXVOL,EOX002
DEVICE RESTORE? Y
ARE ALL PARMS CORRECT? (Y,N): Y
USE ATTN/CA TO CANCEL THE RESTORE
MOUNT SAVE2,TAPE02
REPLY Y WHEN TAPE MOUNTED AND VARIED ONLINE?
> $VARYON 40
TAPE02 ONLINE
? Y
DISK RESTORED
COM~1AND

(?):

o
Chapter 4.

The Utilities

329

[ $TAPEUTl

I

ST - Save a 0; sk Dev; ce or 0; sk Volume on Tape

ST saves an entire disk device or a single disk volume on a
tape. 5T prompts you to spec i fy whether you are sav i ng a dev i ce
or volume. The ST command can be used in conjunction with the
restore command (RT) to backup data you wish to protect.
Examples

Save Di sk Volume on Tape

> $VARYON 4C
TAPEOI ONLINE
> $L $TAPEUTI
$TAPEUTI
19P,00:06:26, LP= 7AOO
TAPED! DUAL NL 1600 ONLINE
DEVICE ADDRESS = 004C
TAPE02 SL 1600 OFFLINE
DEVICE ADDRESS = 004D
COMMAND (?): ST

********************************
* WARNING: TO ENSURE PROPER *

*
*
*

TAPE CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY.

*
*
*

********************************
SOURCE (NAME,VOLUME): $$EOXVOL,ASMLIB
TARGET (NAME,VOLUME): X,TAPEOl
DEVICE SAVE? N
VOLUME SAVE OF ASMLIB ONTO TAPE X,TAPEOI
OK? (Y,N): Y

I

USE ATTN/CA TO CANCEL THE SAVE
VOLUME SAVED
COMMAND (?):

c
330

SC34-0313

$TAPEUTl

o

Save Disk Device on Tape

> $VARYON 4C
TAPEDI ONLINE
> $l $TAPEUTl
$TAPEUTI
19P,DO:02:16, LP= 7AOO
TAPEOl DUAL NL 1600 ONLINE
DEVICE ADDRESS = 004C
TAPE02 SL 1600 OFFLINE
DEVICE ADDRESS = 004D
COMMAND (?): ST

********************************

*
*
*
*

WARNING: TO ENSURE PROPER
TAPE CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY.

*
*
*
*

********************************
SOURCE (NAME,VOLUME): $$EDXVOL,EDX002
TARGET (NAME,VOlUME): X,TAPEOl
DEVICE SAVE? Y
DEVICE SAVE OF DISK CONTAINING EDX002
ONTO TAPE X,TAPEOl
OK? (Y,N): Y
USE ATTN/CA TO CANCEL THE SAVE
DISK SAVED
COMMAND (?):

o
Chapter 4. The Utilities

331

[

$TAPEUTl

Save Disk Dev ice on More than One Tape

COMMAND (?): ST

********************************

*
*
*

*

WARNING: TO ENSURE PROPER
TAPE CONTENTS, THE SYSTEM
SHOULD BE INACTIVE WHILE
RUNNING THIS UTILITY.

*
*
*

*

********************************
SOURCE (NAME,VOLUME): $$EDXVOL,EDX002
TARGET (NAME,VOLUME): SAVE1,TAPEOl
DEVICE SAVE? Y
DEVICE SAVE OF DISK CONTAINING EDX002
ONTO TAPE SAVEl,TAPEOl
OK? (Y,N): Y
USE ATTN/CA TO CANCEL THE SAVE
END OF TAPE ENCOUNTERED. CONTINUE? Y
ENTER NEXT TAPE (NAME,VOLUME): SAVEl,TAPEOl
REPLY Y WHEN TAPE SAVE2,TAPEO! IS MOUNTED
AND VARIED ONLINE?
> $VARYON 4C
TAPEO! ONLINE
? Y

rf"\
\'(\.:_.-,1J)

DISK SAVED
COMMAND (?):

o
332

SC34-0313

$TAPEUTl

o

TA - Allocate a Tape Data set
TA deletes an existing data set and reallocates a null data
set, or adds a null data set after the last data set on the volume.
Notes:
1.

Th i s command is used to p lace data set labe Is on prev i ous 1 y
initialized standard labeled (SL) tapes; the tape unit
must be in the standard label processing mode.

2.

All the data on the tape following the newly allocated data
set is destroyed.

3.

The tape must be varied online to the file number of the
data set be i ng allocated.

4.

To be accessed by a
online.

program,

the

tape

must

be

var i ed

Example
Allocate Data Set (DATA2222) on Volume 123456

o

COMMAND (?): TA
TAPEDS (NAME,VOlUME): DATA2222,123456
EXPIRATION DATA (VVDDD): 79001
DATA SET ALLOCATED
COMMAND (1):

o
Chapter 4. The Utilities

333

I

$TERMUn]

$TERMUTI - CHANGE TERMINAL PARAMETERS

( )j
II

~

$TERMUTl, a general purpose terminal utility program, alters
logical device names, address assignments or terminal configuration parameters. Changes remain in effect until the next
IPL.

$TERMUTI Commands
The commands avai lable under $TERMUTI are listed below. To disp I a y t his 1 i s ton yo lJ r t e r min aI, en t e r a que s t ion mar kin
response to the prompti ng message COMMAND (?):.

COMMAND(?): ?
LA
RE
RA
RH
CT
EN

LIST TERMINAL ASSIGNMENTS
RENAME
REASSIGN ADDRESS
REASSIGN HARDCOPY
CONFIGURE TERMINAL
END PROGRAM

COMMAND(?):

After the commands are displayed, you are again prompted with
COMt1AND (?):. You respond with the command of your choice (for
example, LA).

o
334

SC34-0313

$TERMUTl ]

o

CT - Conf; gure Term; nal

CT modifies the page formatting parameters associated with a
terminal. In the following example, the conditional prompt
message associated with each parameter is shown. Default values are i nd i cated in parentheses.

ENTER TERMINAL NAME: $SYSLOG
PAGE SIZE: 24
(from
TOP MARGIN: 12
(0)
(page
BOTTOM MARGIN: 23
(0)
HISTORY LINES: 6
(0)
LEFT MARGIN: 0
RIGHT MARGIN: 79
(line
(N)
OVERFLOW LINES? N
(N)
OUTPUT PAUSE? N

(loading terminal)
TERMINAL statement)
size -1)
size -1)

The option OUTPUT PAUSE allows the 'screen full' pause for
screen dey ices to be d i sai:tled so that unattended systems do not
enter an indefinite wait state.

!!2ll: For more information on

terminal
TERMINAL statement in the System Gu ide.

parameters,

see

the

EN - End Program

EN term i nates the $TERMUTI ut iii ty.

o
Chapter 4. The Utilities

335

r

"$TERMUTl

I
(~)

LA - L; st Term; nal Ass; gnments
LA lists the current terminal names, addresses and types.

LA

COMMAND(?):
NAME

ADDRESS

$SYSLOG
$SYSPRTR
$SYSLOGA

04
01
00
06

DISPLAY2

07

TYPE

4979
4974
TTY
4979
4978

COMt1AND ( ? ) :

No name appears for the device at address 06 because there was
none on the or i gina 1 TERMINAL statement.

RA - Reass; 9" Address
RA reassigns the physical address of a terminal specified in
the address:: parameter of the TERMINAL statement dur i ng system
generat i on The form for th i s funct i on is:

~

____
n_a_m_e__a_d
__
d_r_e_s_s______________________________________________

where the address in question must be
Some examples are:

RA
RA
RA

currently

~

unassigned.

DISPLAY2 7
$SYSPRTR 12
(05) 06

c
336

SC34-0313

[

o

$TERMUTl

RE - Rename Log;cal Dev;ce

RE renames the logical terminal name (the label on the TERMINAL
statement) that you specified during system generation. The
form for this function is:

RE

oldname newname

The new name replaces the old name. As shown in the following
examples, the old name can be a logical name or a hexadecimal
device address. If a device address is indicated, it must cons i st of 1 or 2 dig its enc losed in parentheses.

RE
RE

Cj ~,

DISPLAY2 DISPLAY3
(06)

TERMl

The changes are ver if i ed by enter i ng the LA command.

o
Chapter 4. The Utilities

337

$TERMUTI

o

RH - Reassi gn Hardcopy
RH changes the hardcopy device associated with a 4979/4978 display, and indicates which program function key wi 11 produce the
hardcopy. The form is:

RH

name keycode

Here 'name' is the logical name (not device address) of the
hardcopy device, and 'keycode' is the code for the desir'ed
hardcopy key (e.g., 1 to 6 for the 4979 display).
The hardcopy device is changed for the
$TERMUTI was loaded. Some examples are:

Rti

RH
RH

$SYSlOGA 6
$SYSLOGA 4
PRTR2 6

terminal

from

which

:r-)

("",

.

o
338

SC34-0313

$TERMUT2

o

I

$TERMUT2 - PROCESS 4974/4978 IMAGE/CONTROL STORE
$TERMUT2 is used to:

•

Assign a DEFINE key in a 4978 control store.

•

Change the definition of one or more keys in a 4978 control
store.

•

Load a 4978 control store from a direct access data set
or saving a newly redefined 4978 control store into a
direct access data set. The contro I store is a data set
containing the 4978 control store and microcode to access
the i mage store.

•

Load a 4978 image store from a direct access data set or
save a 4978 i mage store into a direct access data set. (Refer to the description of the $FONT utility program for a
description of image store definition.)
Restore the i mage buffer of a 4974 pr inter to the standard
64 character set.

Cl

You may wish to invoke these functions from a terminal other
than the one you are us i ng; therefore, you are requested to
specify a terminal. If the selected terminal is not a 4978, you
are not if i ed and the command is rej ected.

4978 Support
Use $TERMUT2 to to make spec i a 1 character str i r,g ass i gnments on
the 4978 keyboard. Key definitions can be changed, perhaps to
be appropr i ate to a spec i al key data appl i cat i on, and the redefined keyboard definitions saved on disk. The keyboard definition can be reloaded later using $TERMUT2 or by using the
TERMCTRL instruction within your application. 4096 bytes are
transferred during an image control save so a 16 record data
set must be defined for each control store image to be stored.
Use $FONT to change the display image of redefined keys. For
detailed information on the 4978 display station functions and
the 4978 keyboards, refer to the Bibliography for 4978-1 Oisp lay Stat i on manua Is.

o
Chapter 4. The Utilities

339

$TERMUT2

()

4974 Support

Use $TERMUT2 to restore the image buffer of a 4974 printer to
the standard 64 character set. The 4974 printer uses the
Extended Binary Coded Decimal Interchange Code (EBCDIC), which
includes 64 standard characters and five characters for international use. The standard key definition can be changed by
using the TERMCTRL instruction within your application program
and the redefined character set is stored in the image buffer
of the 4974. For detailed information on the 4974 printer,
refer to the B1 bl i ography for the 4974 Pr inter manual.

Data Set Names

Naming
follow
can be
by the

conventions for image store and control store data sets
the convent ions of the Event Dr i yen Execut i ve: the label
up to eight characters. Two special names are reserved
system and used during initial program load time:

$4978150

image store label

$4978C50

control store label

These data sets are automaticallY searched for and loaded to
defined 4978 display stations during the initialization phase
at IPL time.

$TERMUT2 Commands

The commands ava i lab Ie under $TERMUT2 are 1 i sted be low. To d i splay th is 1 i st at your term ina I, enter a quest i on mark in
response to the prompt i ng message COMMAND (?):.

c
340

5C34-0313

$TERMUT2

o
COMMAND (1): ?
AD
C
EN
LC
LI
RE
SC
SI

-

ASSIGN DEFINE KEY
CHANGE KEY DEFINITION
END PROGRAM
LOAD CONTROL STORE
LOAD IMAGE STORE
RESTORE 4974 TO STD. 64 CHAR. SET
SAVE CONTROL STORE
SAVE IMAGE STORE

COMMAND (1):

After the commands are displayed, you are ag~in prompted with
COMMAND (?):. You respond wi th the command of your cho ice (for
example, AD).

o
Chapter 4. The Utilities

341

$TERMUT2

1('
I, )-,'1',' "

Examples

AD - Assign a Define Key

COMNAND (?): AD
ENTER SCAN CODE OF KEY TO BE ASSIGNED
AS THE DEFINE KEY (HEX): 1
ENTER TERMINAL NAME (CR OR * ~ THIS ONE): $SYSLOG

C - Change a Key Definition

COMMAND (?): C
ENTER TERMINAL NAME (CR OR * = THIS ONE): $SYSLOG
ENTER SCAN CODE OF THE KEY TO BE REDEFINED (HEX): 1
ENTER NEW FUNCTION 10 (HEX): 20
ENTER NEW CHARACTER/FUNCTION CODE (HEX): 0
ENTER NEW INTERRUPT CODE (HEX): 1
ANOTHER KEY? N

/'~-

'''\

i~,_)

lC - load a Control store

COMMAND (?): LC
FROM DATA SET (NAME,VOlUME):
ENTER TERMINAL NAME (CR OR *

$4~78CSO

= THIS

ONE):

*

o
342

SC34-0313

$TERMUT2

o

RE - Restore 4974 to Standard 64 Character Set

COMMAND (1): RE
ENTER TERMINAL NAME (CR OR

* = THIS

ONE): MPRINTER

SC - Save a Control Store

COMMAND (1): SC
SAVE DATA SET (NAME,VOlUME): $4978CSO
ENTER TERMINAL NAME (CR OR * = THIS ONE): $SYSLOG

o

o
Chapter 4. The Utilities

343

$TERMUT3
$TERMUT3 - SEND MESSAGE TO A TERMINAL

o

$TERMUT3 sends a single line message from your terminal to any
other termi nal def i ned 1 n the system. One message line is sent
at a time and you are prompted for the message, the terminal the
message is to be send to , and if add it i ona I messages are to be
sent. There are no commands, only prompting messages as follows:

ENTER TERMINAL NAME:
Label of the terminal to which message is to go.
ENTER MESSAGE TO SEND
Type in message and press the ENTER (CR) key.
The message is transmitted to the destination terminal.
ANOTHER LINE?
Yes or No.
If yes, you are prompted to enter another message line.
ANOTHER TERMINAL?
Yes or No.
If yes, select another terminal and
repeat the above process.
SEND MESSAGE LATER ('ATTN SEND')?
Yes or No.
If yes, the program remains loaded
and inactive.
Pressing the ATTN key and
entering 'SEND' starts the above process again.

o

o
344

SC34-0313

o

$TERMUT3
Examples

Send a Message to Terminal $SVSlOGA

$TERMUT3

3P,00:41:10, LP= 8800

TERMINAL BROADCAST PROGRAM
ENTER TERMINAL NAME: $SYSLOGA
ENTER MESSAGE TO SEND
THIS IS A TEST MESSAGE.
ANOTHER MESSAGE ? Y
ENTER MESSAGE TO SEND
THIS IS ANOTHER TEST MESSAGE.
ANOTHER MESSAGE ? N
ANOTHER TERMINAL ? N

C)
~

DETACH PGM (WAIT FOR 'ATTN SEND') ? N
$TERMUT3 ENDED AT 00:43:05

o
Chapter 4. The Utilities

345

I

$TEI!MUT3

I

S e 1 e etA not her T e r min a 1 A f t e r Sen din gaM e s~

o

ANOTHER LINE ? N
ANOTHER TERMINAL ? Y
ENTER TERMINAL NAME: $SYSPRTR
ENTER MESSAGE TO SEND
HELLO $SYSPRTR
ANOTHER LINE ? N
ANOTHER TERMINAL ? N
SEND MESSAGE LATER ('ATTN SEND') ? N
$TERMUT3 ENDED AT 00:54:00

c
346

SC34-031.3

o

$TERMUT3

1

Keep $TERMUT3 Act i ve, Send a Message Later

ANOTHER LINE ? N
ANOTHER TERMINAL ?

N

SEND MESSAGE LATER ('ATTN SEND') ? Y

>

SEND

ENTER TERMINAL NAME: TTY30
ENTER MESSAGE TO SEND
TTY30 - ARE YOU THERE
ANOTHER LINE ? N
ANOTHER TERMINAL ? N
SEND MESSAGE LATER ('ATTN SEND') ?

C")

N

$TERMUT3 ENDED AT 01:42:15

~J,I

c
Chapter 4. The Utilities

347

~RAP
STRAP - SAVE STORAGE ON

~RROR

CONDITION

()

$TRAP intercepts certain class interrupts and saves the contents'of hardware registers and processor storage on a disk Or
diskette data sat. Th i s ut j 1 i ty helps you to diagnose system or
application program problems. The companion utility, $DUMP,
prepares a formatted display of the data saved by $TRAP.
$TRAP must be executed before an expected failure so that the
requested class interrupts can be intercepted when they occur.
It can also be acti \fated if a class interrupt such as a program
check or mach i ne check do not occur.
Two methods are prov i ded to accomp I j shed forced traps:
•

ATTN: TRAPDUMP

•

The console interrupt button

$TRAP does not affect the execution of any program or operator
command unles~ it is activated by a class interrupt such as a
program check or ea mach i ne check, or by the operator.
//\

I,)

c
348

SC34-0313

o

$TRAP

Example

> $L $TRAP
Notes

(

"\"
,/

DUMPDSCNAME,VOLUME): DUMP,EDX003
$TRAP
15P,12:16:42,
LP8FOO

(1)

TO ACTIVATE TRAP USE
ATTN: TRAPON
TO DEACTIVATE TRAP USE ATTN: TRAPOFF
TO FORCE TRAP USE
ATTN: TRAPDUMP
TO END $TRAP USE
ATTN: TRAPEND
DO NOT USE $C TO END $TRAP
IF TRAP OCCURS SYSTEM MUST BE IPLED
TRAP ON MACHINE CHECK? CY/N) Y
TRAP ON PROGRAM CHECK? (Y/N) Y
SPECIFICATION CHECK? (Y/N) Y
INVALID STORAGE ADDRESS? (Y/N) Y
PRIVILEGE VIOLATE? (V/N) Y
PROTECT CHECK? (V/N) Y
INVALID FUNCTION? CY/N) Y
TRAP ON SOFT EXCEPTION? CY/N) Y
INVALID FUNCTION? (Y/N) Y
FLOATING POINT EXCEPTION? (Y/N) Y
STACK EXCEPTION? (Y/N) Y
TRAP ON CONSOLE INTERRUPT? (Y/N) Y
SAVE FLOATING POINT REGS? (Y/N) Y

(2)
(2)
(2)
(3)
(3)
(4)
(5)
(6)

(8)
(9)

TRAP SET OFF
READY FOR ATTN: X---X

(10)

> TRAPON
TRAP SET ON
> TRAPOFF
TRAP SET OFF

(7)

(11)
(11)

Notes:

c

1.

The $TRAP data set must be as large as the storage used: for
a 64K-byte system, it must be at least 256 records; for a
128K-byte system at least 512 records.

2.

Trap initiation is via the attention handler. TRAPON activates the trap facility but does not produce a storage
dump. You must activate the trap facility (TRAPON) first;
then specify TRAPDUMP to force a storage dump. If TRAPDUMP
Chapter 4. The Utilities

349

[$TRAP ]
(~)

is used, I PL to resume operat ions.
3.

STRAP should not be cancelled using $C. Use TRAPEND.

4.

During trap processing, all I/O activities are halted. All
configured devices are reset. IPL to resume operations.

5.

A 'V' response saves storage and hardware registers when
any machine check (storage parity, CPU control or I/O error
check) occurs.

6.

A 'V' response prompts you for the type of program check to
trap. Any combination of the five types can be selected.

7.

A 'V' response prompts you for the type of soft exception
to trap. Any combination can be selected.

8.

It may be desirable to save storage even though no hardware
detectable error has occurred. This option can be used to
cause a trap when the console interrupt button is pressed.
(Programmer console must be installed on Series/I)

9.

Respond with 'V' if the Series/1 has the
hardware installed.

floating

point
"c--"\

10. STRAP initializes to a TRAPOFF state. Any time after this
message YOll can act i vate trap us i ng the STRAP attent i on
commands. See notes 2-4.

I,c;;)

11. These are the TRAPON and TRAPOFF attent i on commands.

o
350

SC34-0313

[ App!;cat;on Program Preparat;on

o

CHAPTER 5. APPLICATION PROGRAM PREPARATION

Application program preparation consists of four major operations:
1.

Enter i ng the
diskette.

program

source

statements

onto

disk

or

2.

Compiling or assembling the source program into an object
module.

3.

Link editing two or more object modules together to form
the final object module.

4.

Converting the object module into an executable relocatable load module which can then be loaded and executed.

Entering Source statements

o

Entering program source statements for assembly or campi lation
on the Series/l is normally performed using either of the editor utilities, $EDITIN or $FSEDIT. (For descriptions of the
text ed i tors, refer to "Chapter 4. The Ut iii ties" on page 47.
When entering source programs which will be assembled by the
System/370 host assembler, $EDITI or $FSEDIT can be used to
enter the program and store it in a host data set. This operation requires that IUP 5796-PGH, Event Driven Executive Host
Communication Facility, be installed on the host computer.
Alternatively, a source program entered using $EDITIN or
$FSEDIT can be transmitted to the host for assembly using uti 1ity programs $RJE2780 or $RJE3780 when the host computer supports the IBM 2780 or 3780 RJE stations.
Pro g ram s to be ass e mb 1 e don the h '0 5 t S y s t e m/ 370 can a 1 sob e
entered into the System/370 as either punched card decks or by
any type of terminal input supported by the host system.

o
Chapter 5. Application Program Preparation

351

o

Program Asse.mbly/CompilQt;on
Program assembly or campi lation can be performed by several
assemblers and compilers each with some restrictions on their
capabilities. They include:
•

The Event Dr i ven language comp i ler, $EDXASM, from
Event Driven Executive Program Preparation Facility

•

The Series/l Macro Assembler ($SlASM)

•

The Macro Assembler supplied by
Preparation Facility

•

The COBOL comp i ler

•

The FORTRAN comp i ler

I·

the

System/370

the

Program

The Pl/I camp i ler

Some restrictions that apply to the use of the two assembler
programs ($SlASM and Host Preparation) and the 9EDXASM compiler are discussed in more detai 1 in the chapters on each of them.
The $EDXASM compiler and the $SlASM assembler can be executed
concurrently with other programs in an Event Driven Executive
based system. Both the Series/l and Host assemblers are macro
assemblers which permit the assembly of both Event Dri ven
Language
instructions
and
Series/l
assembler
language
instructions. $EDXASM provides for the compilation of Event
Driven Language instructions only. Use of the host assembler
requi res installation of the Event Dri ven Executi ve Macro
Library/Host. Assembly of Series/l assembler instructions and
Event Driven language instructions using $SlASM requires the
Event Dr i ven Execut i ve Macro Library.
Object modules produced by the host assembler must be transmitted to Series/l disk or diskette for link editing and conversion into executable programs. Possible means of transmission
include the use of utility programs $HCFUTl, $RJE2780, or
$RJE3780. If the host assembly is a complete main program, it
can be transmitted and converted in one step by using the uti Ii ty pr'ogram $UPDATEH. Use of $HCFUTI or $UPDATEH requi res that
the Host Communications Facility (IUP 5796-PGH) be installed
on the host computer.
Minor differences exist between the format of source programs
to be compiled by $EDXASM and either of the macro assemblers.
When using $EDXASM, you must explicitly code any ECB and QCB
statements that are required. Also, $EDXASM provides the COpy
statement function in a different manner than the host assembler, or the limited manner available with the Event Driven

o

o

[ Application Program Preparation
Executive Macro Library as a macro instruction. $EDXASM permi ts labels in programs to be composed of any pr i ntaole characters with a maximum label length of eight characters.

Linkage Editor
Link ed i t i ng obj ect modu les together is an op tiona I program
preparation step except when the Series/l Macro Assembler
($SIASM) is used.
In that case, the output object module of
$SIASM must always be link edited ($LINK). If your program is
compi led or assembled as a single module it is not necessary to
use the linkage editor, $LINK, in the program preparation process (except when $SlASM is used). However, when creating large
programs it is frequent ly des i rable to segment the program into
functional modules. The modules can then be compi led or assembled separately, as they are created, and then linked together
to form the final program. In this manner, a change in one module requires only recompiling or reassembling the modified
section followed by a link editing with the unchanged modules.
Object modules that are input to SLINK can be created by
$EDXASM, $SlASM, COBOL, FORTRAN, PL/I, or the Host Assembler as
previously described.

Object Module Conversion
The program modules which are the output of the various campi 1er or assembler programs or $LINK are not in the format that is
required by the program loading function of the system supervisor. The utility programs eUPDATE or eUPDATEH must be used to
convert an object module into loadable form and to update the
directory of the volume on which the loadable program is
stored.

Prefind of Oata Sets and Overlays

o

Each time your program is loaded into storage for execution,
the location of the data sets and overlays it uses must be
determined by the loader. $PREFIND can be used to perform the
data set and overlay location fUnction before program load
tfme. The result is a faster load operation. Use of ePREFIND is
optional.

Chapter 5. Application Program Preparation

353

[APPlication Program Preparation
Caution must be exercised in using
Usage Cautions" on page 303.

I
$PREFIND.

See

"$PREFIND

o

Summary
The following sections describe in more detail the use of the
various assemblers and compilers ~nd the operation of $lINK,
$UPDATE, $UPDATEH, and
$PREF IND.
See
"Chapter
4.
The
Utilities" on page 47 for descriptions of the editing utilities
$EDITl, $EDITIN, and $FSEDIT (th~y are not used exclusively for
source program entry).
The programs $EDXASM, SLINK, $PREFIND, $UPDATE, and $UPDATEH
can be invoked individually from a terminal using either the
session manager or the $L ·function. They can also be invoked as
part of a batch job stream operation under the control of
$JOBUTI l lit iIi ty. For a descr i pt i on of $JOBUTI L ope rat ions,
see "$JOBUTI l - Job stream Processor" on page 271.
Figure 22 on page 355 shows the program preparation process of
assembling or compiling, link editing and updating. The programs can be invoked individuallY by the session manager or
through the batch job stream processing utility. An example of
prepar i ng an appl i cat i on program can be found in the System
Guide.

o
354

SC34-0313

$EDXASM

o
Other
object
libraries

C)
Format
$UPDATE

Figure 22. Event Driven Executive program preparation

o
Chapter 5. Application Program Preparation

355

$EDXASM - EVENT DRIVEN LANGUAGE COMPILER

()

SEDXASM provides an online program compi lation capabi lity that
can be executed concurrently with other programs in an Event
Driven Executive based system. Multiple copies of SEDXASM can
operate concurrently.
$EDXASM is composed of a main program plus a large number of
overlay programs and, therefore, makes extensive use of the
program loading facilities of the supervisor. If during execution of SEDXASM, you invoke other programs by means of the $L
function, the execution of SEDXASM may be delayed until all
information needed by the $L command (e.g. data set names) has
been entered. This delay is because the program load facility
is a serially usable function and must complete one program
load request before starting another. It is good practice to
enter as much of the required information as possible on the
same line of input as the $L command to minimize the time that
the loader is busy.
Ex~mple

> $L PROGRAM, VOLUME DATASETl,VOLUME DATASET2,VOLUME
Not..,g,: Volume parameters are optional if the IPL volume
is used.

The description of $EDXASM
aSsumes that you have already
entered the source program to be comp i led into a disk or
diskette data set by means of one of the editor utilities,
$EDITIN or $FSEDIT.
SEDXASM can be invoked either by the $L command, by the
$JOBUTI L ut iii ty, or by the program preparat ion ut iIi ties
option selection menu operating under the Session Manager. In
each case, the same information must be provided when $EDXASM
is loaded for execution. Invoking $EDXASM using $JOBUTIL is
shown under "Invoking $EDXASM Using $JOBUTIL" on page 368.
Invok i ng SEDXASM us i ng the Sess i on Manager is shown under
"Invoking SEDXASM Using the Session Manager" on page 369.

o
356

SC34-0313

o

$EDXASM
Language Control Data Set
$EDXASM uses a language control data set, $EDXL. The 'data set
is divided into two logical parts: the error messages and the
operation codes to process module specifications. This data
set is produced by $EDITlN. As distributed, $EDXL in the volume
ASMLIB contains the standard compiler error messages and Event
Driven Language instruction set specifications. You may wish
to add COPY code definitions or additional processing modules
and error messages and may even desire to have differently
modified versions assigned to different users. The contents of
SEDXL are described in the Internal Design. The use of the
*COPYCOD function LoJithin $EDXL is described under
"COPV
statements" on page 362.

Required Data Sets
$EDXASM requires three data sets. These data sets, in order of
specification when $EDXASM is invoked using $L are:
1.

l ...DJLl..t:lJlllt, or source, data .set.

2.

Th,g. work data set. Th is data set conta i ns object code,
relocation pointers and the symbol table. A minimum size
of 100 records is recommended; 250 records might be considered average and 500 records would be large. This data set
is automat i ca 11 y a Ilocated by the Sess i on Manager to be 400
records.

3•

T h e.~Q..ll.~_ t d a t a s.~ T his d a t a set con t a ins the 0 u t " u t
object module from the compilation and serves as input to
$UPDATE (or to $LINK, if a link edit is required). The
appropriate S1 ze for the object module data set is also
,dependent 011 the program size. For est i mat i ng purposes,
divide the program length in bytes by 100 to get the number
of records required.

The format of th i s data set
is the same as produced by $EDITIN/$FSEDIT.

c
Chapter 5. Application Program Preparation

357

r

$EOXASM

I

Sample printouts showing the prompt messages and replies follow:

> $L $EDXASM,ASMLIB
SOURCE CNAME,VOLUME): ASMSRC
WORKFILECNAME,VOLUME): ASMWORK
OBJECT (NAME,VOLUNE): ASMOBJ
$EDXASM
64P,02:48:50, LP= 6300
SELECT OPTIONS

(?):

?

The program name and data sets required can be entered in the
same line. For example:

> $L $EDXASM,ASMLIB ASMSRC ASMWORK ASMOBJ

('

This single line entry is equivalent to the multiline entries
above.

Compiler Options
When the compiler is loaded into storage, enter the options to
be used. The option list follows:

SELECT OPTIONS
LIST
NOlIST
ERRORS
CONTROL
END
('ATTN

358

-

(?):

?

SPECIFY lIST DEVICE
DO NOT PRINT LISTING
LIST ERRORS ONLY
SPECIFY CONTROL LANGUAGE
END OPTION SELECTION
CA' TO CANCEL ASSEMBLY)

SC34-0313

(\,. "l

o

$EDXASI\1

If no options are selected, because YOll entered only a carriage
return/ENTER in response to the select option message, the
defaults are LIST on $SYSPRTR using the language control data
set $EDXL on the volume ASMLIB. If a listing is required on
another device, specify LIST or L. You can enter the name of
the device in response to the prompt for device name or on the
same 1 i ne. A nu 11 entry or an * 1 s used to spec i fy your term inal.
If no listing is required, specify NOLIST or N •. In this case,
the com p i I e s t a tis tic s are p r i n ted 0 nth e sam e.. t e r min a 1 a s
$EDXASr1 was loaded from. If only statements containing errors
are to be pr i nted, spec i fy ERRORS or ER. In th is case, a dev ice
name is required as in LIST. Similarly, a null entry or asterisk (*) indicates that the error messages are to be listed on
the loading terminal. This option is very useful for the first
few compilations to remove typographical or simple syntactical
errors from the source program.

o

If a control data set other than $EDXl on the volume ASMlIB is
required, enter CONTROL followed by the name and volume of the
data set to be used. All option entries can be entered on a
single line or in response to prompt messages.
The last
entered listing option takes precedence. The compilation or
the subsequent 1 i st i ng can be cance 11 ed at any time by press; ng
ATTN and enter i ng CA.

$EDXASM Output
When the compilation process is complete, the compiler prints
out statistics. They indicate the source, work, and object data
sets used, the date and time the comp i lat i on started, the
elapsed time for the compilation, the number of statements
processed, the number of statements flagged with er'ror messages, and the compilation completion code. A completion code
of -1 is normal. At this time, the object module is stored and
is ready for input to $UPDATE or $l INK. I f a list i ng has been
requested, it is then pr i nted on the appropr i ate output dev i ce.
The printing of duplicate lines of object code is automaticallY
sliPpressed by the listing routine of $EDXASM. Before the data
sets specified in the compilation are reused, it is possible to
r e que s t a lis tin g 0 f the com p i 1 a t ion u 5 i n-g the
pro g ram
$EDXL 1ST. Refer to "$EDXL 1ST - Comp i ler List i ng Program" on
page 370 for more i nformat i on.

O
·~, ',
I'

Chapter 5. Application Program Preparation

359

o

Examples

LIST on $SYSPRTR:
SELECT OPTIONS (1): null entry
ERRORS on PRINTER!:
SELECT OPTIONS (1): ERRORS
DEVICE NAME: PRINTERl
SELECT OPTIONS: END
or
SELECT OPTIONS: ER PRINTERl END
--------------------------------------------------------------~

NOLIST and use $EDXL on EDX002:

SELECT OPTIONS (1): N CONTROL
CONTROL(NAME,VOLUME): $EDXL,EDX002
SELECT OPTIONS (?): END

P r,.o c e S...!iin.9 Com p i 1 e r 0 u tJ2..Y.J wit h

$ UP D ATE

0

r $ L tN K

The output object module has been completed before the listing
is started; therefore, the object module can be processed by
$LINK and/or $UPDATE while the listing is being produced. The
operation of $UPDATE is described under "$UPDATE - Object
Program Converter" on page 408. The operation of $LINK is
descr'ibed under "$LINK - Linkage Editor" on page 390.

o
360

SC34-0.313

$EDXASM

o

Compiler Features Supported

Print Control Supported:
EJECT
SPACE
1 < n < 25
SPACE n
PRINT OFF/ON
PRINT DATA/NODATA
PRINT NODATA suppresses the printing of all
lines of object code which are not on the same
line as a source statement.
PRINT DATA is equivalent to PRINT ON.
Print Control Unsupported:

o

TITLE
PRINT GEN/NOGEN
Establishing Symbolic Representation:
EQU

CSECT
ENTRY
EXTRN
WXTRN

Programming Considerations

Source Line ContinuatioQ

0,"'
"

Continuation of source lines is indicated by placing any character in position 72 of the line to be continued. If the line to
be continued contains a blank prior to position 71, then any
further information on that line is ignored. Continuation
lines must begin in position 16. The data in positions 16 up to
71 (or the first blank) i~ concatenated to the data from the
preceding line.
Chapter 5. Application Program Preparation

361

[

$EDXASM

Recommended practice 1S to either code the operand fields
through position 71 of a line to be continued, or to terminate
the line by placing a b.lank after the comma which terminates
one operand in the str i ng of operands.

()

The maximum number of continuation lines is limited only by the
maximum of 254 characters in the operand field.

COpy Statements

COpy statements can only be used in the first level of source
code. They cannot be used with i n COpy code.
$EDXL conta i ns t,oJO *COPYCOD statements, *COPYCOD ASMLIB and
*COPYCOD EDX002. This indicates to $EDXASM that volumes ASMLIB
and EDX002 are to be searched for the spec j al source module
each time a COpy statement appears ina source program. I f your
COpy modules are not in either of the above volumes, you must
add an *COPYCOD statement to $EDXL for each additional volume
wh i ch conta i ns COPY modules.
To def i ne your COPY code to the comp i ler:

1.

Create your COpy code source statements by using $EDITIN or
$FSEDIT

2.

Add *COPYCOD statements (i f requ ired) to $EDXL
$EDXL special copy), with $EDITIN or $FSEDIT.

(or

o

your

The format of the *COPYCOD statements is:

Column

*COPYCOD

volume

1

10

The libraries are searched
statements appear in $EDXL.

in the order

in which the *COPYCOD

ECB and QCB

Certain conditions apply when any of the following are coded:

362

SC34-0313

c

$EDXASM

LOAD
.•• ,EVENT=ecbname
WAIT/POST
ecbname
ENQ/DEQ
qcbname

The ECB or QCB is not automat i ca 11 y created but must be exp 1 i citly specified by you. If EVENT=ecbname is specified in a PROGRAM or TASK statement, do not code an
ECB
statement;
otherwise, duplicate labels will result.

Multiple Declarations on DC and DATA statements
When implementing DC (or DATA) statements, up to 10 declarations can be made on a single DC statement. A sample statement
follows:

DC

F'S',ACTEST),CL5'ABC'

The fo llow i ng DC types are supported:

o
Chapter 5. Application Program Preparation

363

[:SEDXASM

I
0

,11

I,

F'x',mF'x'

where 'm' is the number of times the
data is to be duplicated

A(y),mA(y)
where 'z' can be from 1-8 hexadecimal
digits.

X'z',mX'z'
H' s ' , mH ' s '

C't',mC't',CLn't',mCLn't'
where 'n' is the length of the data
in bytes
D'w' ,mD'w'
E'u',mE'u'
L'v',mL'v'

~F

Statement Placement

IODEF statements must appear after the PROGRAM statement and
before the ENDPROG statement. Also, all IODEF statements of
the sa m,e t y p e (e. g ., PI, DI, 00, AI, A 0) mu s tap pea r tog e the r i n
a group. For example, if a program requi res two DI and three DO
definitions, the statements in the program would be coded as
follows:

IOOEF
IODEF
IODEF
IOOEF
100EF

011 ,
012,
001 ,
D02,
003,

••.
...
•••
..•
.••

In other words, the DI and
together.

DO

de fin i t ion s

must

be

grouped

o
364

SC34-0313

$EDXASM

GETEDIT and PUTEDIT
The instructions GETEDIT and PUTEDIT cannot have the format
statement included in the instruction. A separately coded FORMAt statement must be referenced by the GET EDIT or PUTEOIT
instruction.

ATTNlIST Statement
The ATTNlIST statement can have only one list coded. The list
can be up to 254 characters in length and can contain a total of
50 suboperands or 25 ATTNlIST entr i es.

EQU Statement
labels referenced in EQU statements must have been previously
defined.

Arithmetic Expression Operators
Only one operator is allowed in an arithmetic expression. Valid operators are +, -, *, and /. For example, the following
expressions are valid: A+B, C-l, 0*4, E/2. If an expression
containing more than one term is required, multiple equate
statements can be coded. For example, to compute the address
A+B-2, the following statements can be coded:

APB
APBM2

EQU
EQU

A+B
APB-2

Instructions Requiring Support Modules

o

Certain instructions require support modules link edited into
the executable load module. These modules are referenced in
Chapter 5. Application Program Preparation

365

I

$EDXASM

I

the linkage ed i tor autocall data set $AUTO. Therefore, the modules are automatically included in your program by running the
link editor on the object module output of $EDXASM. Use of the
following instructions requires a link edit.
Formatting instructions

GETEDIT
PUTEDIT
FORMAT

Graphics instructions

CONCAT
GIN
PLOTGIN
SCREEN
XYPLOT
YTPLOT

Square root instruction

SQRT

S ~ r i e 5/1 MCl.C r 0 Ass e mb I e r i n t e r fa C e ins t r u C t ion

USER

The supervisor interface module $$RETURN must be link-edited
with any module that includes the USER statement.

366

SC34-0313

o

$EDXASM

o

A link edit is also required if any of the following screen
formatting subroutines are called in an application program:

$IMOPEN
$IMGEN
$IMDEFN
$IMPROT
$IMDATA
$PACK
$UNPACK

The supervisor interface module $$RETURN must be link-edited
with $IMOPEN and $IMGEN if they are called in an application
program.
See the descr i pt i on of "$ LINK - L; nkage Ed i tor" on page 390 for
i nformat i on on us i ng the 1 i nkage ed i tor.

o
Chapter 5. Application Program Preparation

367

I

SEDXASM]

Invok;ng $EDXASM

o

Invoking $EDXASM Using $JOBUTIL
$EDXASM can be invoked using $JOBUTIL. The same options are
a val I a b let h r 0 ugh the PAR Mfa c iii t y 0 f the job s.t rea m pro c e s s 0 r
($JOBUTIL) as were described previously under the $L command.
The listing option is specified in column 10, the device name
in column 20, and the control data set name and volume in column
40. If the default options are required, the PARM statement can
be blank but must be included in the procedure. A sample procedure is shown be low:

LOG
PROGRAM
OS
OS
DS
PARM
NOMSG
EXEC

PRINTER!
$EOXASM,ASMLIB
ASMSRC
ASMWORK,EDX003
ASMOBJ
LIST
PRINTER!

o
368

SC34-0313

o

Invoking SEDXASM Using the Session Manager
$EDXASM can be invoked using the session manager by selecting
opt i on 1 from the program preparat i on secondary opt i on menu.
The following parameter selection menu is displayed for entry
of the required data sets and optional parameters. The control
data set is assumed to be SEDXL on ASMLIB. The example shows the
data set ASMSRC is to be compiled with the object output being
di rected to the data set ASMOBJ.

SSMM0201: SESSION MANAGER SEDXASM PARAMETER INPUT MENU ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SOURCE INPUT

(NAME,VOLUME)

OBJECT OUTPUT (NAME,VOLUME)

==>
==>

ASMSRC,EDX002
ASMOBJ,EDX002

ENTER OPTIONAL PARAMETERS BY POSITION

==>

NOlIST

1--------

LIST
NOLIST
ERRORS

lPRINTER

2--------

PRINTER
NAME

DEFAULTS ARE:
LIST
SSYSPRTR

c
Chapter 5. Application Program Preparation

369

$EDXASM
$EDXLIST - Compiler Listing Program

()

$EDXLIST is used to obtain a listing of the last $EDXASM compilation performed.
You can specify LIST or NOLIST in response to the SELECT
OPTIONS ( ? ) : prompt when $EDXASM is loaded. If you respond with
the ENTER key or LIST, $EDXASM automaticallY loads $EDXLIST as
part of the comp i lat i on step and produces ali st i ng of the compilation. If you respond with NOLIST, the statistics from the
compilation are displayed on the loading terminal and a listing
is not produced.
$EDXLIST can be loaded as a separate program. For example, if
NOLIST were selected, and the statistics displayed at the end
of the comp i lat ion i nd i cate that there are comp i lat i on errors,
$EDXLIST can then be loaded to pr i nt ali st i ng.
$EDXLIST will prompt for the source data set and the work data
set and wi 11 get the name of the language control data set from
the work data set, in wh i ch it is stored, at the end of the compi 1 at ion. As long as an i liter ven i ng comp i lat i on has not a I tered
the contents of the work data set, and you have not mod if i ed the
source or language control data sets, $EDXLIST wi 11 produce the
same 1 i st i ng when loaded by you after a comp i lat i on as it would
we rei t loa d e d b y $ E DXASMa spa r t 0 f the com p i 1 a t ion s t e p.•

I

Invoking $EDXLIST
$EDXlIST is invoked using $l. Two data set names are required:
the source (SOURCE) and work (WORKFILE) data set used for compilation. The name of the control data set used for the compilation is kept in the work data set. If $EDXASM was invoked by
the session manager, the work data set will be named $SMluser
(where user is the sign on ID used).

Caut;on:

If you want a listing of the latest compilation, use
$EDXLIST before invoking $EDXASM again. Any subsequent compilation modifies the contents of the source and work data sets.

An example using $EDXLIST follows:

o
370

SC34-0313

$EDXASM

o
> $L $EDXLIST,ASMLIB

SOURCE CNAME,VOLUME): ASMSRC , EDX002
WORKFILE(NAME,VOLUME): ASMWORK,EDX002
$EDXLIST
21P,00:07:49, LP= 6500

SELECT OPTIONS
LIST
ERRORS
END
('ATTN

-

(?):

?

SPECIFY LIST DEVICE
LIST ERRORS ONLY
END OPTION SELECTION
CA' TO CANCEL LISTING)

SELECT OPTIONS (?): LIST
DEVICE NAME: $SYSPRTR
SELECT OPTIONS

(?):

END

$EDXLIST ENDED AT 00:08:46

o

o
Chapter 5. Application Program Preparation

371

$SlASM
$SlASM

o

SERIES/l ASSEMBLER

$SlASM prov i des an on 1 i ne program assemb 1 y capab iii ty that can
be executed concurrently with other programs in an Event Driven
Executive system. $SlASM produces object modules from source
programs written in Series/l assembler language or Series/l
assembler language macros such as the commands provided by the
Event Driven Executive Macro Library. Multiple copies of
$SlASM can operate concurrently if each copy has its own work
files and printer. $SlASM is composed of a main program and a
number of overlays.
The following description of $SlASM assumes that you have
entered the source program to be assemb led ; nto a disk or
diskette data set. This is accomplished by using one of the
editor utility programs, $EDITIN or $FSEDIT. $SlASM can be
invoked by:
•

The Program Preparat ion ut iIi ties opt i on
operat i ng under the sess i on manager

se lect i on

•

The $L operator command

•

The batch job stream process i ng ut iii ty, $JOBUTI L.

menu

Required Data Sets
$L and $JOBUTIL require that the following information be provi ded when $SlASM is loaded for execut i on.
1.

The source input data set.

2.

Three work data sets, used as work files, conta in i ng object
code, re locat i on po inters, the symbo 1 tab Ie, and other
i nformat i on. For. most programs, sizes of 2000, 2000, and
800 for ASMWRKl, ASMWRK2, and ASMWRK3, respectively, are
sufficient. This requirement can increase when assembling
a large program conta in i ng many macro ca lIs.

3.

The object data set. This data set wi 11 contain the output
object module. It serves as input to the 1 i nkage edi tor
($LINK) which must always be run when using $SlASM. A size
of 50 to 100 sectors is sufficient for most programs.
The Sess i on Manager prov i des the work data sets and
requ i res only that the input and output data sets be spec ified.

372

SC34-0313

c

$SlASM

o

Invoking $SlASM

Invoking $SlASM using $l
For i 11 ustrat i ve purposes, let us assume that:
•

EDX002 is the IPl volume

•

Data sets ASMSRC and ASMOBJ are on that volume

•

EDX003 contains the ASMWORKl, ASMWORK2, and ASMWORK3 data
set.:!,

•

PRNTRl is the name of a print device.

Specify Data Sets (Prompt/Reply Mode)
A sample printout showing the prompt/reply format of
invoke $SlASM and specifying these data sets follows:

$l

to

$l

to

>

$L $SlASM,ASMLIB
SOURCE
(NAME,VOLUME):
WORKl
(NAME,VOLUME):
WORK2
(NAME,VOLUME):
WORK3
CNAME,VOLUME):
OBJECT (NAME,VOLUME):

ASMSRC
ASMNORK1,EDX003
ASML,JORK2, EDX003
ASM"~ORK3, EDXO 03

ASMOBJ

MACLIBl (?):

Specify Data Sets (Single Line Mode)
A sample printout showing the single line format of
invoke $SlASM and specifying these data sets follows:

o
Chapter 5. Application Program Preparation

373

$SlASM

()
> $L $SlASM,ASMLIB ASMSRC ASMWORK1,EDX003 ASMWORK2,EDX003
ASMWORK3,EDX003 ASMOBJ
MACLIBI

(1):

Specify Macro Libraries
In both of the previously shown modes, you are prompted as follows:

MACLIBI (1):

If you require macros for this assembly, yoU can specify one or
two macro library volumes. A null response (ENTER) takes you to
the next prompt (SELECT OPTIONS). If a MACLIBI is specified (as
shown in the following example), another prompt (MACLIB2)
appears:

MACLIBI

(1):

MACLBl

MACLIB2 (1):

You can supply the name of another macro library or enter a null
response.
Note: If your source program contains Event Driven Language
instructions, you must specify, as either MACLIBI or MACLIB2,
the name of the volume(s) that contains the Event Dri ven Executive Macro Library (S719-LMS) and copy code.

c
374

SC34-0313

$SlASM

o

Specify Assembly Options
After entering the macro library volume name(s) and/or a null
response, you are prompted as fo llows:

ENTER OPTIONS (1):

Following is a list of possible replies:
•

Enter a null response and take the default options (LIST,
OBJ ECT, MAC RO)

•

Enter the options you desire (for example, LIST, NOXREF,
NORLD). See "List of Options" on page 378.

•

Enter a question mark to display a list of the available
options.
After the options are displayed, the ENTER
OPTIONS (?): prompt is d i sp layed.

•

Enter the options of your choice, followed by the name of
your output device. This prevents the next prompt from
appearing.

If you do not s~ecify the name of the output device with your
options, as follows:

ENTER OPTIONS (1): LIST,NOXREF,NORLD

0,")
'"

Chapter 5. Application Program Preparation

375

$SlASM
You are prompted wi th:

ENTER OUTPUT DEVICE NAME:

You can enter the name of the dev i ce on wh i ch your 1 i st i ngs and
d i agnost j c messages are to be wr j tten. I f you do not spec i fy an
output device (a null response), i t defaults to $SYSPRTR.
The next message displayed is:

I

CPAOOOI ASSEMBLER STARTED

c
376

SC34-0313

o

$SlASM

Complete Example:
A complete example follows using:
•

AsMsRC for the source library

•

AsMWORKl,

•

ASMOBJ for the output fi Ie

•

MACLBl for the macro library

•

PRNTRI for the output list i ng •

AsMt~ORK2,

and AsMWORK3 for work fi les

.Invoke $SlASM and Spec i fy Data Sets to Use

> $L $SlASM,ASMLIB
SOURCE (NAME,VOLUME):
CNAME,VOLUME):
WORKl
(NAME,VOLUME):
t~O RK 2
(NAME,VOLUME):
l~ORK3
OBJECT (NAME,VOLUME):

ASMSRC

ASNWORK1,EDX003
ASMWORK2,EDX003
ASMWORK3,EDX003
ASMOBJ

MACLIBI (?): MACLBl
MACLIB2 (?):
ENTER OPTIONS (?): ?

C

""J

'I

Chapter 5. Application Program Preparation

377

~lASM

I

List of Options
If you enter a question mark in response to the prompt ENTER
OPTIONS, the following list of options is displayed:

VALID OPTIONS ARE:
LIST/NOLIST - COMPLETE ASM LISTING/
ERRORS ONLY
TEXT/NOTEXT - SOURCE AND OBJECT LISTING/
ESD/NOESD
- LIST EXTERNAL SYMBOL DICTIONARY/
SUPPRESS THIS OPTION
RLD/NORLD
- LIST RELOCATION DICTIONARY/
SUPPRESS THIS OPTION
XREF/NOXREF!FULLXREF - LIST REFERENCED SYMBOLS/
NO XREF LISTING/
LIST ALL SYMBOLS
OBJECT/NOOBJECT - WRITE OBJECT TO OBJECT FILE/
SUPPRESS THIS OPTION
MACRO/NOMACRO --- PROCESS MACROS IN SOURCE/
DO NOT PROCESS MACROS IN SOURCE
SYSPARM(' ••• ') -- SUBSTITUTION STRING FOR MACRO PROCESSIN
LINECOUNTCN) ---- LINE/PAGE FOR ASH LIST
DEFAULT N = 55 LINES/PAGE
SETCCN) --------- NUMBER OF CHARACTERS ASSIGNED TO
SETC SYMBOLS
END ------------- TERMINATE OPTIONS PROCESSING
CA -------------- TO CANCEL ASSEMBLY
ENTER OPTIONCS) SEPARATED BY COMMAS
DEFAULT OPTIONS ARE: "LIST,OBJECT,MACRO"

o
378

SC34-0313

o

$SlASM
Select processing options
You now enter the options of your choice and are prompted as
follows. A message is displayed indicating that the assembler
has started.

ENTER OPTIONS (1): LIST,NOXREF,NORLD
ENTER OUTPUT DEVICE NAME: PRNTRl
CPAOOOI ASSEMBLER STARTED

Single line format

c

Combining your inputs, using the single line format, the previous example looks like this:

> $L $SlASM,AS~LIB ASMSRC ASMWORKl,EDX003 ASMWORK2,EDX003
ASMWORK3,EDX003 ASMOBJ
MACLIBI (1): MACLBl
MACLIB2 (1):
ENTER OPTIONS (1): LIST,NOXREF,NORLD PRNTRl
CPAOOOI ASSEMBLER STARTED

o
Chapter

s.

Application Program Preparation

379

GS1ASM]

o

Invoking $SIASM Using $JOBUTIl

$SIASM can be invoked using $JOBUTIl. The same options are
avai lable through the PARM faci l i t y of the job stre;»m processor
($JOBUTIl) as were described previously under the $l command.
I f the default options are required, the PARM card can be blank
but must be included in the procedure. A sample procedure that
parallels the previous example using $l follows:

PROGRAM $SIASM,ASMLIB
ASMSRC
ASM~JORKl, EDX003
DS
ASMWORK2,EDX003
OS
OS
AS M~J 0 RK 3 , E D X 0 0 3
ASMOBJ
DS
PARM
NAClBl
EXEC

OS

PRNTRI

LIST,NOXREF,NORLD

Not~:

Parameter"s of the PARM statement in the preceding sample
are column dependent:
MAClBl must start in column 10
~1AClB2, i f coded, must start in column 20
PRNTRI must start in column 30
The opt i on l i s t must start in column 40

o
380

SC34-0313

o

$SlASM

Invoking $SlASM Using the Session Manager
To invoke $S1ASM using the session manager, select
from the program preparat i on secondary opt i on menu.

option

2

The following parameter selection menu is displayed for entry
of the required data sets and optional parameters. The example
shows the data set ASMSRC ;s to be assembled with the object
output be i ng directed to the data set ASMOBJ.

$SMM0202: SESSION MANAGER $S1ASM PARAMETER INPUT MENU --ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
SOURCE INPUT

(NAME,VOLUME) ==> ASMSRC,EDX002

OBJECT ,OUTPUT (NAME,VOLUME) ==> ASMOBJ,EDX002
ENTER OPTIONAL PARAMETERS BY POSITION :
MAClBl
PRNTRl
lIST,NORlD,NOXREF
1---------2---------3---------4-------------------------MACLIB!
MAClIB2
PRINTER
ASSEMBLER OPTIONS
(VOLUME)
(VOLUME) NAME
SEPERATED BY COMMAS
LIST/NOlIST XREF/NOXREF/
FULLXREF
TEXT/NOTEXT MACRO/NOMACRO
ESD/NOESD
OBJECT/
NOOBJECT
RLD/NORLD
LINECOUNT(N)
N=lINES/PAGE
DEFAULT OPTIONS ARE:
LIST
OBJECT
MACRO

0

'1",,'\
'"''

Chapter 5. Application Program Preparation

381

[:Host Assembler

,
0
\',,~

HOST ASSE1'1BLER

Assembly of Event Dr i ven Executi ve programs
on
an
IBM
System/370 requires installation of the following programs on
the System/370.
•

FOP 5798-NNQ, System/370 Program
for Ser i es/l

Preparation

Facilities

•

5740-LM2, Event Driven Executive Macro library/Host, as is
descr i bed in the ~tem Gu ide.

Invoking the Host Assembler
It is assumed in the following discussion that the procedure
EDXPREP (described in the System Guidl:t) is installed as a cataloged procedure. If the procedure is not cataloged, it can be
used inline. This procedure makes use of the host assembler
program of 5798-NNQ and the macro library and listing program
EDXlIST provided by 5740-l~12. The function and operation of
EDXlIST is described under "EDXlIST - Host listing Formatter".
on page 383.
Program assembly is accomplished by modifying the source and
object program names spec if i ed in the SYSIN and SYSOUT DD
statements of EOXPREP to reflect your program names, followed
by execut i on of the procedure.
Source programs can contain both Event
Dri ven
language
instructions and Series/l assembler language instructions.
Refer to the USER instruction in the language Reference for
i nformat i on concern i ng
i nclus i on
of
Ser i 9s/1
assembler
instructions.
The object module pr'oduced by the assembly process can be
either a main program or a subprogram, as described in the
MAIN= operand of the PROGRAM instruction in the language
Reference.

382

SC34-0313

""'--'\

I,,,,)

o

Host Assembler
Transferring the Object Module to Series/l
There are various methods which can be used to transfer object
modules created on the System/370 to the Series/I.
If IUP 5796-PGH, Event Driven Executive Host Communication
Fac iii ty, is i nsta lIed on the System/370 then ut iii ty programs
$HCFUTl or $UPDATEH can be used. If the object module is a main
program and is not to be linked together with any other object
modules, $UPOATEH can be used to read the object module from
the System/370, convert it to an executable program, and store
it in a Series/l disk or diskette. If the object module is to be
link edited with other object modules, it can be transferred to
the Series/l by using the READOBJ command of utility program
$HCFUTI.
If IUP 5796-PGH is not installed on the System/370, 'but a binary
synchronous
cornmun i cat i on
1 i nk
ex i sts
between
the
System/370 and the Ser i es/l, then the ut iii ty program $RJE2780
or $RJE3780 can be used to transfer object modules from
Systern/370 to the Series/l if suitable 2780 or 3780 support is
installed on the System/370. Modules transferred in this manner must then be processed by $LINK and/or $UPDATE to convert
them into executable programs. $RJE2780 or $RJE3780 can also
be used to submit the source program for assembly on the System/370.
If the object module is a subprogram, it must be transmitted to
the Ser i es/l for link ed i t i ng wi th a ma i n program before it can
be converted into executable format by $UPDATE.
A complete main program object module only requires processing
by $UPDATE on the Series/l to convert it to executable form.
Refer to "$UPOATE - Object Program Converter" on page 408.
Program preparation of Event Dr i ven Language programs ona SyStem/370 does noe use the Series/l Native Application Load
Facility, 5798-NNR.

EDXLIST - Host Listing Formatter

o

The purpose of the EOXLIST program is to reduce the size of, and
improve the readab iii ty of, the program list i ng.
When the
PR INT GEN opt ion is used for an assemb 1 y conta in i ng macros, the
macro generated code appears on the assembler produced listing
following each source statement.
Event
Driven
Language
instructions are implemented as macros, each macro generating
an average of si x bytes of object code. The object code is genChapter 5. Application Program Preparation

383

[-Host

Assembl~~

o

erated using the assembler DC stat·ement.

Example:: The following example shows the format of the assembler listing for a small .section of a program:

LOC

OBJECT CODE

STMT

0000
0002
0004

DOSC
OODC
OOOE

2+
3+
4+

0006
0008
aOOA

0033
OOOE
0010

OOOC

0000

OOOE

0000

0010

0000

1

5
6+

7+
8+
9 A

10+A
11 B
12+8
13 C
14+C

SOURCE STATEMENT
MOVE
DC
DC
DC
ADD
DC
DC
DC
DATA
DC
DATA
DC
DATA
DC

A,B
A($MOV2)
ACA)
ACB)
B,C
A($AD222)
ACB)
ACe)
F '0'
F' 0 '
F' 0 '
F' 0 '
F' 0 '
F' 0 '
''\
,,~-_/

This listing is difficult to read because of the mixture o'f
source statements and macro generated object code. The purpose
of the list post processing program, EDXlIST, is to condense as
mu c h 0 f the 1 i s tin gas po 5 5 i b I e and t 0 p·r i n t o n 1 yes sen t i a I
information in a more readable format.
EDXLIST takes each source statement and prints on the same line
with it the object code generated by the macro expansion. Each
line has room for 10 bytes 0 f data so that near 1 y all
instructions can be printed on one line. This gives the assembly the appearance of being an actual assembler type language.
The results of processing the above example with EDXLIST is
shown below:

o
384

SC34-0313

Host Assembler

0
LOC
0000

0006
OOOC
OOOE
0010

OBJECT CODE
OOSC OOOC OOOE
0033 QOOE 0010
0000
0000
0000

STMT

SOURCE STATEMENT

1
6
9

11
13

MOVE
ADD
DATA
DATA
DATA

A,B
B,C
F' 0 '
F •0 i
F'O'

Program Opt;ons
A number of options are provided to further condense or eliminate cross reference and relocation dictionary, as well as your
own and macro generated comrnen"ts.
To use EDXlIST, the assembly output must be di rected to a dataset rather than the customary SYSOUT class. For example:

I

//SYSPRINT DD DSN=$$PRINT.DISP=(.PASS).
/ ~_

SPA CE= ••• , UN I T = .•. , DC B="_(~B_L_K_S_I_Z_E_=_._._._)_______._ _--'

Th i 5 data set then becomes input to the EDXL 1ST program.
ple job control statements are shown below:

Exam-

//LIST
EXEC PGM=EDXLIST,PARM='ISA(16)/ ••. PARMS'
//STEPLIB DD OSN= •••
//SYSPRINT DO SYSDUT=A
//WORK
DD DSN=$$WORK,UNIT=SYSDA,SPACE=CTRK,5)
//IN
DD OSN=$$PRINT,OISP=(OLD,PASS)
//LIST
DO SYSQUT=A

o

The IN DD c~rd refers to the data set containing original
assembler listing and the LIST DO card refers to the new listi ng produced by EDXL1ST.

Chapter 5. Application Program

Pr~p~ration

385

[H:st Assembler
If in addition to the above, the original assembler listing is
a Iso requ ired, the host ut iii ty program I EBPTPCH can be used in
the fo llow i ng manner to produce 1 t:

//BIGLIST
EXEC PGM =IEBPTPCH
//SVSPRINT
DO
SYSOUT=A
//SVSUTI
DO
DSN=$$PRINT,DISP=(OLD,PASS)
//SVSUT2
DO
SYSOUT=A,DCB=BLKSIZE=133
//SVSIN
DD
*
PRINT PREFORM=A

EXfC Statement Parameters
A number of parameters for the EDXLIST program can be speci fied
on the EXEC statement. A list of the options follows. Default
values can be found under "Defaults" on page 388.

PRINTER

Output is listed on a pr inter.

TERMINAL

Output is listed on a terminal.

TERMINALE

Same as TERMINAL, except only error messages
and
associated
source
statements
are
printed.

SEQ

Source code sequence numbers are pr i nted.

STMT

Assembler statement numbers are pr i nted.

CONTROL=***

Def i nes a spec i al control card that is recognized as an execution time control statement.
Any two characters can be specified for the
second and third characters; the first, however, must be an '*'. See contro 1 opt ions
below.

COMMENTS=NONE

Pr i nt no comments.

COMMENTS=ALL

Print all comments.

COMMENTS=PROGRAM Pr i nt onl y comments not generated by macros.

386

SC34-0313

o

o

Host Assembler

COMMENTS=CONTROL Print comments only if columns 1, 2,
match the value specified
parameter.

in

the

and 3
CONTROL=

EQUATES=*

Print only macro generated
form +LABEL EQU *.

EQUATES=PROGRAM

Pr i nt on I y equates not generated by macros.

LABELS=PROGRAM

Print labels not generated by macros.

LABELS=PEND

Same as PROGRAM except all labels after the
ENDPROG statement are pr i nted.

START=PROGRAM

AlII i st i ngs before the PROGRAM statement are
not pr i nted.

START=START

Printing is to begin at first

equates

of

the

line of list-

i ng •

C
..

XREF=NONE

Cross-reference listing is not printed.

XREF=$

Print abbreviated cross-reference listing
with the exception of labels beginning with
the character $.

XREF=ALL

Same as $, except $ labels are included.

XREF=AREF

Same as ALL, except statement references are
included.

XREF=$REF

Same as AREF, except $ LABELS are included.

RLD=YES

Pr i nt condensed re locat ion d i ct i onary.

RLD=NO

Do not print reloca'tion dictionary.

I~

'\

/

Notes:

o

1.

I f both STHT
and SEQ are spec if i ed, then statement
numbers appear to the left of the source code and sequence
numbers in the right margin. If only one is specified, the
numbers appear to the left o'f the source code.

2.

XREF=ALL or XREF=$ print only the label name and its
address and these are placed in seven columns across the
page.

3.

XREF=AREF or $REF prints one label per line and all
statement numbers referencing the label are printed.
If
this option is selected, it is assumed STMT was also specified.
Chapter 5. Application Program Preparation

387

Host

ASS~mbler

I

0 ,'
,

4.

If START=PROGRAM
is
speci fied and there is no PROGRAM
statement, then the listing is printed as if START=START
was coded.

5.

Whenever one of the following control statements appears
in the assembler listing, then the special listing func'I:ions occur.

'

Cootrol Options

*XXEJECT
Skip to a ne~ page
*XXSPACE 1
Skip one line
*XXSPACE 2
Skip two lines
*XXTITLE X-----------maximum 50 characters-----------X
Will print this character string at the
top of each successive page.
*XXLIST ON
List input exactly as it appears on
original listing
*XXLIST OFF
Resume listing compression.

N.ote: '*XX' represents the three characters
CONTROL= parameter discussed prey i ous I y.

coded

in

the

These control statements are treated as comments by the assembler. The macros EJECT, SPACE, and TITLE distributed in the
library Sl.EDX.LISTMAC.ASM will create control statements with
the characters *** in columns 1, 2, and 3. Thus, when the corresponding assembler listing control statements appear in the
source program, the appropriate control statements are created
for EDXLIST. They require CONTROL=*** in the PARM field.

Defaults
The two ma in parameter opt ions are PR INTER and TERMINAL. TERMINAL assumes output on a slow typewr iter dey i ce. It, therefore,
attempts to print as little nonessential information as possible. PRINTER, on the other hand, assumes a high speed printer
is being used, and although there is st ill around a 5to 1 output compression ratio, the listing has a little extra information to make it more readable. The following defaults apply:
388

SC34-0313

c

Host Assembler

o
PRINTER

TERMINAL

STMT,SEQ
COMMENTS=PROGRAM
EQUATES=*
LABELS=PEND
START=PROGRAM
XREF=$
RLD =YES

COt1M ENTS =NON E
EQUATES=*
LABELS=PEND
START=PROGRAM
XREF=NONE
RLD=NO

ST~1T

o
Chapter 5. Application Program Preparation

389

SLINK
$LINK -

1

()

LINKAGE EDITOR

The $LINK program provides a linkage editor capability to aid
in preparing programs to execute in an Event Driven Executive
system. With $LINK, you can:
Combine two or more separately compi led
object modules into a composite module

•

I•

or

assembled

Combine modules with multiple control sections, for example, COBOL, FORTRAN, and PL/I programs, into a composite
module
Format the output of $SlASM for input to $UPOATE

I ·

Eliminate duplicate control sections from the input modules

I·

Automatically include standard routines referenced by the
program (AUTOCALL)

I • Provide a storage map of the combined, edited
I. Bui ld an EDX supervisor nucleus
I Each of these is explained in this section.

modules
(~-'\,
'\",_",)-l

The object modules that are input to $lINK can be created by any
of the following program preparation facilities:
$EDXASM
$SlASM
FORTRAN
COBOL
PL/I
Host Assembler (FOP 5798-NNQ)
$LINK accepts object modules that ar~ in the compressed record
format created by the Realtime Programming System assembler.
A $LINK output module must be formatted by the utility program
$UPDATE to convert it to executable (lo:adablel form. Figure 23
on page 391 illustrates the steps necessary to prepare a program for execut i on.

( '")
390

SC34-0313

$LINK

o
Source
module

I nput object
module

Output object
module

Executable (relocatable)
load module

Program
execution

o

Figure 23. Programming with a linkage editor

Chapter 5. Application Program Preparation39l

I

$lUlK

I

Combining Modules

o

Every program is designed to fulfill a particular purpose. To
achieve that purpose, the program can often be divided into
logical units that perform specific functions. A logical unit
of code that performs a function, or several related functions,
is called a source module.
Each source module can be programmed as a separate entity using
an appropriate programming language (for example, Event Driven
Language, Series/l Assembler Language, COBOL, FORTRAN, PL/I,
or the host assembler) and assembled or campi led. The resulting
object module can then be processed by SLINK, along with the
other object modules that are necessary to make up the entire
program.
Preparing source modules as separate logical units allows you
the ability to modify one part of a program and requires the
reassembly or recompilation of only the modified unit (followed by another execution of SLINK), as opposed to requiring
the reassembly or recompilation of the entire program. It also
allows a function that is common to several programs to be
coded and assembled or compi led once and then included wherever
needed, saving effort and ensuring consistency. Linkage editing, if needed, follows the source program assembly or campi lation of a program.

I Multiple

Control Sections

A control section (CSECT) is a unit of code (instructions and
data) that is, in itself, an entity. All elements of a control
section have a constant relationship to each other and, therefore, it is the smallest separately relocatable unit or a program. Separate compilations always produce individual control
sections, but multiple control sections can be produced from a
single compilation as well. The COBOL, PL/I, and FORTRAN compi ler's always produce multiple CSECTs and, therefore, their
output must always be processed by SLINK. SSIASM and the host
assembler will also produce multiple control sections if the
CSECT instruction is used.

Formatting Modules for $UPDATE
The output object modules of SSlASM and the Realtime Programming System Program Preparation Subsystem assembler must be
392

SC34-0313

c

$LINK

o

reformatted by $LINK prior to $UPDATE processing. The standard
link edit process does the reformatting and no special parameters are requ ired.
Notes:

I

1.

$UPDATEH can handle host assembler
editing.

2.

The output of the Realtime Programming System language
processors must be link-edited before processing by $UPDATE.

modul~s

without link-

Elimination of Duplicate Control Sections
If the input to $LINK contains more than one control section
(CSECT) wi th the same name, the first sect i on is kept, all
subsequent sections with the same name are deleted and all
references are adj us ted to po i nt to the first CSECT. Th i s makes
the resulting program smaller and assures that there is only
one copy of any shared data areas.

C'
''I
!

.)'

I

Automatic Inclusion (Autocall)
Frequently used routines can be assembled or compiled as separate modules and automaticallY included in any program that
references them by using the AUTOCALL facility of $LINK. This
technique makes it convenient to define and use standard routines almost as if they were instructions. The Event Driven
Language FORMAT, GETEDIT, and PUTEDIT instructions use this
techni que. See "Autoca 11 opt i on" on page 401 for deta i led
i n for mat i on 0 nus i n g the aut 0 call op t ion.

I

storage Map
$LINK produces a table showing the name, location, and length
of all contro 1 sect ions in the program p I us the locat i on of
symbols (entries) defined as referenceable by the entire program. This is useful in debugging and in determining the total
si ze of the program.

0"
I

,i,i

Chapter 5. Application Program Preparation

393

o

Building an Event Driven Executive Supervisor
$lINK and the link edit process are used to generate a customized supervisor by selectively including the modules needed
for the des ired funct ions. See the ~tem Gu i de for further
information.

The Link Edit Process
The logical structure of an object module consists
entities:

of

three

ESC

An external symbol dictionary that includes the name of
each external symbol, the type of reference it is, and
its iocation in the program. ESD entries represent symbols such as the label on a PROGRAM, CSECT, or ENTRV
statement, or the label of a DATA or DC statement that
defines an A-type constant.

RLD

A relocation dictionary that contains an entry for each
address that must be relocated (adjusted) before the
module is executed. Each entry specifies an address constant by i nd i cat i ng its locat i on in the program.

TEXT

An area that contains the instructions and data of the
program in the binary codes used by the Event Dr'ven
Execut i ve and/or the Ser i es/l processor.

To produce a program from a collection of object modules comp i led 0 r ass e mb 1 e d s epa rat ely b y d iff ere n t com p. i I e r S 0 r ass e mbIers (for example, $EDXASM, SSIASM, COBOL, FORTRAN, Pl/I, or
the host assembler FDP 5798-NNQ), the object modules must be
link-edited (combined) to resolve the program origins (load
points) of each object module and the external references
between the di fferent modules.
Each object module is assigned a program origin (usually zero)
during assembly or compilation. When these object modules are
link-edited, SLINK assigns an origin (load point) to the text
for the pr i mary program and adj usts the RlDs descr i bing address
constants accordingly. The text for the other object modules,
as well as the address constants, are assigned addresses relative to the origin (load point) assign~d to the primary program. This causes the link-edited (combined) text for all'
object modules to occupy consecutive addresses in the output
object module produced by SLINK. See Figure 24 on page 395.

(J
\

(

.I

394

SC34-0313

,

$LINK

o

Any object module that refers to an external symbol defined in
another object module must identify it as an externally defined
symbol. External symbols (EXTRNS or WXTRNS) between these modules are resolved by matching the referenced symbols to defined
symbols.
The ESDs and RlDs of the object modules are combined to form
composite ESDs and RlDs for the complete program. The output
RlDs include relocatable information for the complete text of
the output object module of $lINK.
An output object module produced by $lINK looks as follows.

ESD
TEXT
RLD
Input object
modules

C1

CESD
$LlNK

ESD

TEXT

Output
object
modules

RLD

TEXT
RLD

o
Chapter 5. Application Program Preparation

395

$LINK
Input to $LINK

()

Input to $LINK consists of LINKCNTL, the data set containing
control records, the various data sets containing the object
modules to be linked together, and the optional autocall data
set.
You must provide the na~es of the input and output object modules to $LINK with a set of control records stored in a disk or
disk ette data set ca lIed LINKCNTL. How to format and create
these control records is descr i bed under "Control Records."
In add i t i on to the data set conta i n i n9 the contro I records, You
must also allocate two work data sets on disk or diskette. The
message data set SLEMSG is supplied with your installation
package and is required by SLINK. A description of all of the
data sets is contained under "Data Sets Used by $LINK" on page
400, along with suggestions for selecting the sizes of the data
sets.
A sample of input to $LINK follows:

OUTPUT
INCLUDE
INCLUDE
INCLUDE
INCLUDE
END

LEOUT,DANOI AUTO=LEAUTO,DANOI
lETEST,DANOl
lETESTl,DANOl
LETEST2
lETEST3,DANOl

Control Records
You must allocate the control record data set (lINKCNTL) using
SDISKUTI. Then enter the control records with SEDITIN or
$FSEDIT and store the records with either SAVE or WR ITE.
LINKCNTL should contain the names of the input object modules,
the names of the output object modules, and other control
information. Both data set name and volume name are required on
all OUTPUT and INCLUDE records, unless the data set resides on
the IPL volume. In the latter case, only the data set name is
required.

396

SC34-0313

o

SLINK]

o

Any number of leading blanks are permitted in control records,
but the record must not be longer than 71 characters. Any
record with an '*' in position 1 is treated as a comment and
wi 11 list out on the printed output.
All the parameters used must be coded in the order shown.
parameters must be separated by one or more spaces.

The

END Record
The END record termi nates
format is:

the

control

record

str i ng.

The

Syntax

END
Required: None
Default:
None

No operands are requ ired.

o
Chapter 5. Application Program Preparation

397

$LINK
INCLUDE Record
The INCLUDE records specifies the input object module to be
link-edited. You can include several input object modules but
you must have an INCLUDE record for each input object module.
The format is:
Syntax

INCLUDE

name,volume

Required: name
Default:
Volume defaults to IPL volume.

Oeerands

Description
The

the input
object
There must be one
between 'INCLUDE' and 'name'.

name

name

of

link-edited~

volume

module
or more

to
be
spaces

The disk or diskette volume that contains 'name'.
Not required if 'name' resides on the IPL volume.
The first INCLUDE record cannot spec i fy the name of
a subprogram (i .e., one with MAIN=NO in the PROGRAM
statement or one t hat does not canta ina PROGRAM
statement). All other INCLUDE records should spec"":
i fy the names of subprograms.

All of the 'name,volume' specifications on INCLUDE records
must be unique in the input to $LINK. In a like manner, all
ENTRY labels and program section (CSECT) definitions must be
un i que (i. e., the same name cannot be used for both a CSECT and
an entry, or for two ENTRYs, etc.).
Duplicate symbol type
errors will result if these rules are not observed. If $lINK
encounters two or more CSECTs with the same name, the first one
,~i 11 be accepted and a 11 others ignored.
CSECTs input to $LINK must not have a length of zero.

o
398

SC34-0313

SLINK

o

OUTPUT Record
There can only be one OUTPUT record in LINKCNTL and it must be
the first record (excluding comment records) in the data set.
The format is:
Syntax

OUTPUT name,volume NOMAP AUTO=name2,volume ENTRY=label
Required: name
Default:
Volume defaults to IPL yolume.

Operands

Description

name

The name of the data set (previously allocated on
disk or diskette) to conta i n the output obj ec t
module from SLINK. There must be one or more spaces
between·'OUTPUT' and 'name'.

volume

The name of the disk or diskette volume containing
the output data set.

NOMAP

This parameter suppresses printing of the storage
map portion of SLINK output starting with the line
which begins 'OUTPUT NAME=' and continuing through
the f ina 1 CSECT or ENTRY list i ng line. See the sample pr i ntout for deta i Is.

AUTO=name2,Yolume
Th i s parameter spec if i es the name (and YO I ume if
the data set is not on the IPL volume) of the data
set containing the list of names of object modules
which may be included via the autocall facility. A
further discussion of the autocall option is provided under "Data Sets Used by $LINK" on page 400
and "Autocall Option" on page 401.
ENTRY=label

o

This parameter is used only if the output of $lINK
is to be an Event Driven Executive supervisor
program ($EDXNUC). .When generat i ng a superv i sor,
'ENTRY=$START' must be coded.
Chapter 5. Application Program Preparation

399

()

Data sets Used by $LINK

SLINK requ i res you to spec i fy three data set names at the star t
of program execut i on (one if invoked by the Sess i on Manager) •
LINKCNTL (051)

LEWORKI

(DS2)

The data set
records.

that

wi 11

contain

the

control

A work data set that wi 11 contain various
intermediate work areas for $LINK. This data
set must be at least 265 records and wi 11
require approximately 1 additional record for
each 60 RLD items or for each 42 program section
definition (CSECT) or ENTRY specifications.
400 records should be sufficient for almost any
program.
SLINK dynamically divides
052
into
three
sect ions and refers to them as 052, OS7, and
058. Therefore, error messages loJhich reference
057 or OS8 actually refer to portions of DS2.
The session manager automatically allocates
4 0 0 records to D5 2 • Its name is $ S f11 use r (where
user is the sign on 10 used). the sign on ID
used).

LEWORK2

(D53)

A second work data set.

Th i s data set conta i ns
a work area for SLINK, plus the storage area
where all SLINK printed output is stored until
it is printed at the end of $LINK execution. A
size of 20 records plus 1 rec~rd for each 3
lines of printed output expected should be
suf·ficient.
The amount of
printed
output
varies with the number of INCLUDE records, the
number of unresolved EXTRNs and WXTRNs, etc. A
data set size of 150 records should be suffic i ent for most programs.
If the space avai lable for messages in DS3
becomes filled, then the message file will be
pr inted before the end of SLINK execution.
SLINK then refills the message file as needed.
This condition can result in the printed If you
are executing other programs from the same
terminal doing $LINK, the printed output will
be interspersed with the output from the other
programs.

400

SC34-0313

$LINK

o

The session manager automaticallY allocated
400 records to 052. Its name is $SM2user (where
user is the sign on ID used).
The optional data set specified by the AUTO= parameter of the
OUTPUT record is dynamically opened as DS9 by $LINK. At least
one record in 059 is required for every object module named in
the autocall list.
In addition, the data set $LEMSG must be installed on volume
ASMLIB. $LEMSG is supplied as part of the distributed system
and contains messages used by $LINK and is referenced as '054'
by $LINK. $LINK dynamically opens the data sets specified by
the OUTPUT and INCLUOE records as '055' and '056', respectively.
The data set spec i f i eel by the OUTPUT contro I record may need to
be as large as 350-450 records when 1 ink ed it i ng $EDXNUC.

Autocall Opt;on

C"·'

'\

$LINK provides a limited autocall option whereby modules that
are no t ex pI i cit I yin c III d e d (v i a t he I Ne l. UDEc on t r 0 Ire cor d) i n
the output object module can be automatically incorporated.
When you code the AUTO= parameter of the OUTPUT record, spec i fy
the name (and volume unless the data set is on the IPL volume)
of the data set that contains the list of object module
names/volumes, along with their entry point names, which are
avai lable for automatic inclusion in the output object module.

Stand~rd

Autocall List

As part of the distribution of the Event Driven Executive syStem, a standard autocall list is included in the data set $AUTO
in volume ASMLIB. This standard list contains the names of the
modules and entry points that can be autocalled as a result of
including the folloNing functions in your program:

o

•

graphics formatting instructions

•

data formatting instructions

•

screen formatting subroutines

•

square root function •

Chapter 5. Application Program Preparation

401

SLINK

These functions generate EXTRN statements that are resolved by
specifying AUTO=$AUTO,ASMLIB.

()

Using a Seecial Autocall List
To add your own autoca 11 1 i st names to those prov i ded in $AUTO,
use $EDITIN or $FSEDIT to make the additions and then save the
resulting modi fied list as a saved data set with a name of your
choice. This data set name (and volume) are specified in the
AUTO= parameter of the OUTPUT record. 'I f you use the funct ions
listed previously in your program, you will need to merge the
contents of $AUTO into your autocall list.

Using the Autocall Feature
Perhaps the most common use of the autocall feature occurs when
you have assembled some number of commonly used subroutines
that mayor may not be needed by a given pr i mary program. When
you assemble a primary program, you can link edit it with the
requ ired subrout i nes by prov i ding an INCLUDE record for the
primary program and for each required subroutine. An alternate
method is to put the names of all potentially needed subroutines and their entry point names into the autocall list, then
provide only an INCLUDE record for the primary program and add
the AUTO= parameter to the OUTPUT record. The method that is
most e'ff i c i ent depends upon how your programs are organ i zed and
the frequency wi th wh i ch common subrout i nes are used.
You must provide EXTRN statements in the primary program for
the entry point names in the modules to be autocalled as well as
linkage (branches) to the desired entry
points
in
the
autocalled modules. Modules that have been included with the
autocall can contain EXTRNs that are to be resolved by further
autocall processing. $LINK searches the autocall list repeatedly unti I either all EXTRNs have been resolved or unti I no
ENTRY in the autocall list matches an unresolved EXTRN.

WXTRN Processing
The autocall list is not searched for ENTRY po i nts to match
unresolved WXTRNs. They are resolved only from the ENTRY defin; t ions conta i ned 1 n the modu les inc I uded (v 1 a the INCLUDE control record) or autocalled. An unresolved WXTRN has no affect
402

SC34-0313

o

SLINK

o

upon $LINK completion codes and the storage location containing the WXTRN is set to relocatable zero. Therefore, at program
execut i on time, the addresses of unreso I ved WXTRN' s are the
program load po i nt.

Autocall List Record Format
The format of the autocall list records is shown below. They
can most conveniently be created as the saved output of a
$EDITIN or $FSEDIT editing session using tab settings of 20,
30, 40 t 50 and 60.
Each input 1 i ne
must
conta i n
the
'name, volume' entry of the object module to be autocalled,
start i ng in post i on 1. Up to 5 entry po i nt names can be spec ified per line, starting in positions 20,30,40,50, and 60. If
a data set has more than five entry points, multiple lines are
required. Each line must contain the module 'name,volume'
entry beg i nn i ng in pos it ion 1 and at least one entry po i nt name
starting in position 20. The autocall list must be terminated
by an '**END ' entry in an entry point name field or in a module
name field. 'Volume' is required for each 'name' that is not on
the IPL volume. For example:

C'\
,/

line position:
20

30

40

50

NAf1El,VOLI
NAME2,VOLl

ENTRY2
ENTRYB

ENTRY3
ENTRYC

**END

1

ENTRYl
ENTRYA

60

Output from SLINK
The ,'esul t of execut i ng $LINK cons i sts of a pr i nted 1 i st i n9 and
an output object module. A sample of the printed listing follows. It cons i sts of a start message, a list of the input control records, a list of any unresolved EXTRN or WXTRN labels
(none in example), an optional map of program section (CSECT)
and ENTRY point locations in the output module, a length message, and an ending message. All numeric values are given in
hexadec i rna I, except the RLD COUNT fie ld.

o
Chapter 5. Application Program Preparation

403

[ $LINK

o
SLINK EXECUTION STARTED
$LINK EXECUTION CONTROL RECORDS
FROM LINKCNTL,EDX002
OUTPUT LEOUT,DANOI AUTO=LEAUTO,DANOI
INCLUDE LETEST,DANOI
INCLUDE LETEST1,DANOI
INCLUDE LETEST2
INCLUDE LETEST3,DANOI
INCLUDE SUB4,DANOI
VIA AUTOCALL
INCLUDE SUBS,DANOI
VIA AUTOCAll
END
OUTPUT NAME= LEOUT
ESD TYPE
LABEL
ADDR
LENGTH
$PROGRAM 0000
CSECT
OOFO
CSECT
OOFO
0026
SUBI
00F2
ENTRY
ENTRY
DEF
OlOF
CSECT
0116
0044
ENTRY
0116
I
ENTRY
MSG
OllA
ENTRY
SUB2
013E
CSECT
OISA
0034
ENTRY
OlSA
X
ENTRY
SUB3
0160
ENTRY
ABC
0180
CSECT
Ol8E
0022
ENTRY
SUB4
0190
CSECT
OlBO
DOlE
ENTRY
SUBS
01B2
MODULE TEXT LENGTH= DICE,
RLD COUNT=
40
lEOUT
ADDED TO DANDI
$LINK COMPLETION CODE= -1

/r-,\

I,~~_)

The printed output can be di.rected to any terminal on the
system by passing the terminal name as a parameter ($PARMI) to
$LINK. If the parameter is not passed to $LINK at program load
time, you will be prompted to enter the desired name from the
invoking terminal. A null response to the prompt for the termina I name routes the output to the system pr inter, $SYSPRTR.
The output object module is stored in the disk or diskette data
set specified by the OUTPUT control record if no errors occur
that are severe enough to ca~se $LINK to terminate (e.g., disk
hardware errors). However, the output module is probably not
usable if any errors occurred during $LINK execution. Refer to

404

SC34-0313

c

o

I

SLINK

J

"$LINK Complet i on Codes" on page 440 for more i nformat i on.

Invok;ng SLINK

Invoking SLINK using $L and $JOBUTIL
If you invoke $LINK with the SL from a terminal, you are
prompted for the names (and volumes) of data sets LINKCNTL,
LEWORKl, and LEWORK2. You are also prompted to enter the name
of the terminal to which the printed output is to be directed.
An invalid name reply to the device name prompt causes the output to be directed to the terminal you are currently assigned
to. A null reply (pressing the ENTER key or carriage return)
causes the output to be directed to $SYSPRTR.
SLINK can eliso be invoked as part of a batch procedure under the
control of the job stream processor uti lity, $JOBUTIL. In this
instance, you must supply the same information as above, with
the DS and PARM commands of SJOBUTI L.
An example of invoking SLINK via SJOBUTIL commands follows:

LOG
PROGRAM
OS
OS
DS
PARM
NOMSG
EXEC

SSYSPRTR
SLINK
LNKCONTR,MYLIB
LNKWORKl,EOX003
LNKWORK2,EOX003
$SYSPRTR

SLINK sets a completion code that can be tested by means of the
JUMP command of $JOBUTIL. Successful completion results in a
code of -1. Errors encountered dur i ng $LINK execut i on cause
completion codes as shown in "$LINK Completion Codes" on page
440. Any disk I/O error which causes abnormal termination of
$LINK results in a completion code of 12.
The most severe
(numerically greatest) completion code encountered is the one
posted when $ LINK term i nates exec ut i on.

c
Chelpter 5. Application Program Preparation

405

[

$LINK

I

Invoking .LINK Using the Session Manager

()

To invoke $LINK using the session manager, select option 5 from
the program preparat i on secondary opt i on menu.
The following parameter selection menu is displayed for entry
of the control data set ~nd volume, and the output device. The
example shows the control data set as being LINKCNTL on volume
EDX002. The required linkage editor work data sets were allocated at sess i on manager log all time.

$SMM0205: SESSION MANAGER $LINK PARAMETER INPUT MENU --ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN
LINK CONTROL

(NAME,VOLUME) ==> LINKCNTL,EDX002

OUTPUT DEVICE (DEFAULTS TO TERMINAL) ==> $SYSPRTR

c
406

SC34-0313

SLINK

o

Oblect Module Record Format
Records in object modules are 80 bytes in length, packed 3 per
disk or diskette record or var lab Ie-length records blocked
256. The following general description of their format is given
as an aid in diagnosing error printouts. If error message 13 is
received while link editing, error records will be printed.
Object module records containing errors are
printed
in
hexadecimal form if byte one equals '02'; otherwise they are
pr i nted in character str i ng form.

Byte
1

Contents
Hexadecimal '02'
One of the following EBCDIC strings:
ESD = External Symbol dictionary record
TXT = Text data record
RLD = Relocation dictionary record
END = End of object module

C

'''','~~'

5-6

Unused

7-8

Blank for ESD, RLD, END
Address of 1st data word for TXT

9-10

Blanks

11-12

Number of bytes of ESD, RLD, or TXT data
in record

13-14

Blanks

15-16

ESD= External Symbol Dictionary
Identification
(ESDID) of first ESD item in record;
blank if all ESD items in record are
label definitions (LDs)
TXT= ESD ID of control section containing
the text.
RLD,END= blanks

17-72

Data items for this record

73-80

Unused by $LINK

'I
/

c
Chapter 5. Application Program Preparation

407

$UPDATE
$UPDATE - OBJECT PROGRAM CONVERTER
$UPDATE converts an object module on a specified volume into an
executable relocatable load module and stores i t into a specified volume.
The object module used as input to $UPDATE may have been compi led by $EDXASM or the
host assembler provided by FDP
5798-NNQ.
An object module that is the output of the linkage
editor, $LINK, can be the input to $UPDATE.
Object modules
created by the host assembler must be transmitted to a Series/l
disk or diskette volume by a facility such as the IBM 2780/3780
RJE emulation program $RJE2780/$RJE3780, or by uti l i t y program
$HCFUTl, before they can be used as the input to $UPDATE. The
object output of language translators other than $EDXASM or the
host assembler must be processed by the linkage editor, $LINK,
before i t can be used as input to $UPDATE.
$UPDATE can be invoked either by the $L command, by the batch
job stream processor ($JOBUTIl), or by the session manager.
When invoked, $UPDATE prompts you
for
the
i nformat jon
it
requires.
Examples of this interactive usage follow. An example of batch job stream invocation is given at the end of this
section.

;/ -"I

~,""-..;

$UPDATE Commands
$UPDATE commands are:

COMMAND

(?):

?

CV - CHANGE VOLUME
RP - READ PROGRAM
EN - END
COMMAND (7):

408

SC34-0313

$UPDATE

o

Examples

Load $!JPDATE

> $L $UPDATE

$UPDATE

22P"

LP= 4800

THE DEFINED INPUT VOLUME IS EDX002, OK? N
ENTER NEW INPUT VOLUME LABEL: EDX003
THE DEFINED OUTPUT VOLUME IS EDX003, OK? Y

Change Volume

COMMAND (?):CV

~\

()

THE DEFINED INPUT VOLUME IS EDX002, OK? N
ENTER NEW INPUT VOLUME LABEL: EDX003
THE DEFINED OUTPUT VOLUME IS EDX003, OK? Y
COMMAND (?):
If volume not mounted:

COMMAND ( ? ) : CV
ENTER NEW OUTPUT VOLUME LABEL:
VOLUME NOT MOUNTED
COMMAND

EDXDFG

(?):

c
Chapter 5. Application Program Preparation

409

$UPD~
Con v e r..:t a n d_S,J: o..r..!L-fLli.e w P r.:.Q.9..r am: T his e x amp I e a I I 0 cat e san e w
data set TESTPROG (type PGM) of the requi red si ze i f a data set
with that name has not already been allocated.

COMMAND

(?):

RP

OBJECT MODULE NAME:
OUTPUT PGM NAME:
TESTPROG STORED
COt1MAND

OBJSET

TESTPROG

(?):

Convert and Store a Nonex i stent Program

COMMAND (1):

RP

OBJECT MODULE NAME:
OUTPUT PGM NAME:
INPUT DATA SET
COMMAND (1):

Not~:

410

No action

SC34-0313

DUMMY

PROGRAM

'DUMMY'

NOT FOUND

is taken when error occurs.

$UPDATE

o

Convert E)( i st i ng 'Program' That is Not a Program Type Member

COMMAND (1):

RP

OBJECT MODULE NAME:

PROGl

OUTPUT PGM NAME: PROG2
ILLEGAL HEADER FORMAT
COMMAND (1):
Note: No action is taken when error occurs.

Convert Program Where E)(isting Output Data Set is Not Program
~

COMMAND

(?):

RP

OBJECT MODULE NAME:

OBJSET

OUTPUT PGM NAME: TSTPROG
TSTPROG IS NOT A PROGRAM
COMMAND (1):
Note.

No action is taken when error occurs.

o
Chapter 5. Application Program Preparation

411

Co n v e r tan d R~-:..PJ_c;:a c e_E xis t i t19 0 u t p u.t Pro.9. ram wit h Sam e Out put
Name: In this example, if the existing output program is to be
replaced with the new output program and the new and old sizes
are the same, then the new prograrn data replaces the old with no
other changes. If the new space required is different from the
existing space, the existing data set is deleted and a new one
of the proper size is allocated wherever enough free space is
available.

COMMAND

(?):

()

RP

OBJECT MODULE NAME:
OUTPUT PGM NAME:

OBJSET

TSTPRGI

OUTPUT PGM NAME: TSTPRGI
TSTPRGI REPLACE? Y
TSTPRGI STORED
cor1MAND

(?):

o
412

SC34-0.313

$UPDATE

o

Convert ~nd Rename New Output Progr~m if an Output Program
Alreac1y ex i sts: The ex i st i ng output data set is und i sturbed and
a new data set (type PGM) of the proper size and with the new
name is allocated.

COMMAND

(?):

RP

OBJECT MODULE NAME:

OBJSET

OUTPUT PGM NAME: TESTPROG
TESTPROG REPLACE? N
RENAME? Y
NEW PGM NAME:
TSTPRG STORED
COMMAND

TSTPRG

(?):

End $UPDATE

COMMAND (?):

EN

$UPDATE ENDED AT 11:39:34

o
Chapter 5. Application Program Preparation

413

I: $UPD~E

o

Invoking $UPDATE

Invoking $UPDATE Using $JOBUTIL

When $UPDATE is invoked as part of a batch job under the control
of $JOBUTIL, certain restrictions apply to its operation.
In
th i s mode, the command 1 s assumed to be RP. The Rename funct ion
is not supported; however, the Replace function 1S. Refer to
the preceding examples for a description of Rename and Replace.
In batch mode, $UPDATE terminates its execution after performi ng one RP command. A complet i on code is set by $UPDATE depending upon the success or failure of the requested operation.
This code can be tested by the JUMP command of $JOBUTIL. The
$UPDATE completion codes are described in **Figure reference
'ccupd' unresolved**.
~lhen

$JOBUTIL is
used to
invoke $UPDATE,
the
information
required by $UPDATE must be passed to i t by means of the PARM
command of $JOBUTI L. The requ ired i nformat i on cons i sts of:

1•

The name of the dev i ce to rece i ve
resulting from $UPDATE execution

2.

The name,volume of the data set containing the input object
module

3.

The name,volume of the data
loadable program

4.

An optional parameter YES
i f the output module
replace an existing module of the same name,volume

set

to

the

pr 1 nted

contain

The volume names of the data sets must be given
reside on the IPL volume.

the

output

output

unless

is

to

they

The first three items of information are required and must be
given in the order described.
At least one blank must occur
between each of these four items in the PARM command.
An example of invoking $UPDATE via $JOBUTIL commands follows:

o
414

SC34-0313

$UPDATE

o
PROGRAM
PARM
NOMSG
EXEC

$UPDATE
$SVSPRTR

OBJMOD,VOll

MVPROG

YES

In this example, $SVSPRTR receives the printed messages, the
input object module is OBJMOD on VOLl, the output program is
MYPROG on the IPL volume. If MYPROG already exists on the IPL
volume it is replaced by the new version. If MYPROG does not
already exist then space is allocated for it by $UPDATE.

o
Chapter S. Application Program Preparation

415

[~$UPDATE

I

Invoking $UPDATE Using the

Se~sion

Manager

To invoke $UPDATE using the session manager, select option 6
from the program preparat j on secondar-y opt i on menu.
The following parameter selection menu is displayed for entry
of the required data sets and other parameters. The example
shows the object program in the data set ASMOBJ is to be formatted and placed in the data set TSTPGM. The REPLACE parameter is
left blank when a member does not already exist. If the member
did exist, that parameter should be entered as YES.

$SMM0206: SESSION MANAGER $UPDATE PARAMETER INPUT MENU ENTER/SELECT PARAMETERS:
DEPRESS PF3 TO RETURN

=============> ASMOBJ,EDX002
OUTPUT (NAME,VOLUME) ============> TSTPGM,EDX003
(ENTER YES IF PROGRAM EXISTS) ===>
(TERMINAL NAME/*> ==========> $SYSPRTR

OBJECT INPUT
PROGRAM
REPLACE
LISTING

(NAME,VOLUME)

Note: The object input, program output, and listing terminal
name must be entered .. An '*' indicates the listing will be displayed on the terminal you are currently assigned to.

o
416

SC34-0313

o

$UPDATE

Creating a Supervisor
The name $EDXNUC for the output program receives special treatment by eUPDATE since the creation of a supervisor results in
an absolute, rather than a relocatable program. The following
rules apply:
1.

If the first seven characters of the output program name
are $EDXNUC then an absolute supervisor program wi 11 be
formatted.

2.

If the eighth character of the name is either a blank or is
not present, then the output program will automat i ca 11 y
replace the existing supervisor program on the specified
volume.

3.

If the eighth character of the program name is any character except a blank, then the output supervisor program wi 11
be stored in the library on the specified volume using the
eight character name.

In this manner, you can create multiple supervisor programs for
different mach i ne con f i gurat ions on one Ser i es/l. You can then
copy them to the diskettes which can be used on the Series/l
having the proper configuration.
Supervisors created and stored under 8-character names (e.g.,
eEDXNUC2, $EDXNUCX, etc.) can be tested by:
1.

Copying the member into eEDXNUC on the IPL volume, and IPL
the system aga in, or by

2.

Providing the CTS address of the stored supervisor
response to the Stand Alone Utilities IPL message:

in

'EXEC=',

o
Chapter 5. Application Program Preparation

417

I

$UPDATEH

$UPDATEH - OBJECT PROGRAM CONVERTER (HOST)

()

$UPDATEH transfers, over a commun i cat 1ens 1 ink, Ser i es/l
object programs that are members of a host partitioned data set
(PDS) and stores them in a Series/l disk or diskette volume in
the proper format to be loaded for execution. These programs
were previously assembled on the host. To change the name of
the default host library, locate the label, HOSTNAME, in the
$UPDATEH listing and change the name from the supplied default
library name to the host library name desired by you. $UPDATEH
must then be assembled and installed in the program library.
$UPDATEH requires that the Event Driven Executive Host Communication Facility (rUp 5796-PGH) be installed on the host computer.
$UPDATEH can be invoked either by the $L command, by the batch
job stream processor ($JOBUTr l), or by the sess i on manager.
When invoked, $UPDATE prompts you for the i nformat i on it
requires. Examples of this interactive usage follow.

$UPDATEH Commands

The commands avai lable under $UPDATEH are I isted below. To display this list at your terminal, enter a question mark in
response to the prompt i ng message COMMAND (?):.

COMMAND (1): ?
CH
CV
RP
EN

Change Host Library
Change Series/l Library
Read a Program
End $UPDATEH

COMMAND (1):

After the commands are displayed, you are again prompted with
COMMAND (1): to which you respond with the command symbol for
the funct i on of your cho i ce (for examp Ie, CH).

c
418

SC34-0313

o

$UPDATEH
Examples

Transfer of a New Program

> $L
PGMCNAME,VOLUME): $UPDATEH
$UPDATEH
23P,15.29.59, LP=4400
THE DEFINED HOST LIBRARY IS Sl.EDX.LOADLIB, OK? Y
THE DEFINED VOLUME IS EDXOOl, OK? Y
COMMAND (?): RP
PGM NAME: TPTEST
TPTEST STORED
COMMAND (?):

Request Nonexistent Program

C:I

COt1MAND

(?):

RP

PGM NAME : DUMMY
I S UNKNOWN
COr1MAND (?):
DU~lMV

Transfer and Replace Existing Program

COMMAND (?): RP
PGM NAME: PROGl
PROG1 REPLACE? Y
PROGl STORED
COMMAND (?):

O··,·~
I.,'.

Chapter 5. Application Program Preparation

419

[$UPDATEH

I

T.ransfer and Rename an Existll1.g Program: This example transfers an existing program, P~OGl, and renames it PROG2. The
ex i st i ng program is not rep laced.

()

COMMAND(?): RP
PGM NAME: PROSl
PROGI REPL? N
RENAME? Y

PROG NAME: PROG2
PROG2 STORED
COMMAND (?):

Change Host Library

COMMAND (?): CH
ENTER HOST LIBRARY NAME: Sl.EDX.LOADLXB2
COMMAND

(?):

EN

$UPDATE ENDED 15.30.54

o
420

SC34-0313

Messages and Codes

o

CHAPTER 6. MESSAGES AND CODES

This chapter contains messages and codes issued by the Event
Driven Executive system.

SYSTEM OPERATION MESSAGES

IPL Operation

The supervisor can be IPLed from the 4962 or 4963 disk or the
4964 or 4966 diskette. The IPL switches on the Series/l operator console must be in the appropr i ate pos i t i 011 for the type of
IPL and the $SYSLOG terminal should be turned on. For example,
if DISK is used to IPL, the IPL switch must be set to PRIMARY if
the DISK is wired as the primary IPL device or to SECONDARY if
the DISK is wired as a secondary IPl device.
After IPL, the following message appears on the $SVSlOG terminal:

~

*_*_*~

__E_V_E_N_l_'__
D_R_I_V_E_N__E_X_E_C_U__
T_I_V_E__

___________._________________

~

o
Chapter 6. Messages and Codes

421

IMess~~~

o

Volume Initialization
Th e sup e r vis 0 r bh e nat tern p t s t o r e a d e a c h 0 f the de fin e d
disk/diskette volumes and prints a status message similar to
the following:

VOLSER
EDXOOI
EDX002
SUPLIB
MACLIB

TVPE
PRI.
PRI.
SEC.
SEC.
PRI.

EDX013

PRJ.

IODA
0002
0003
0003
0003
0012
0013

STATUS
ONLINE
ONLINE

CIPL)

UNUSABLE
ONLINE

Note: This information can be displayed
$IOTEST utility.

again

by

using

the

VOLSER The volume identification for the disk/diskette or the
name of a volume on a disk or diskette.
TYPE

If primary,VOLSER is the volume identification of the
disk/diskette.
I f secondary, VOLSER is the name of def i ned va I ume on the
device.

IODA

The hardware dev ice address.

STATUS The status of the hardware dev ice.

I f a d i skette was not inserted ina def i ned 4964 dr i ve, the
STATUS is UNUSABLE and the volume identification for the IODA
is blank. If a diskette is subsequently put into the drive, it
will be considered OFFLINE until a
$VARVON command
is
performed. If the diskette contains a nonstandard label, the
STATUS is marked OFFLINE.
During IPL, the system initializes the 4966 Diskette Magazine
Unit by reading the diskette label on each diskette. The
diskettes are read in the fo llow i ng order:
1.

The diskettes in i nd i vi dua 1 diskette slots 1 through 3 are
read unt i I a 11 three are read or an empty slot is found

c
'

\

--,j!

422

SC34-0313

o

Messages
2.

The diskettes in diskette magazine A are read until all ten
are read or an empty slot is found

3.

The diskettes in diskette magazine B are read until all ten
are read or an empty slot is found

Each diskette read that conta i ns a va lid
ONLINE. All others are marked OFFLINE.

labe l i s

marked

If the device is not turned on or has a hardware failure, the
STATUS is marked UNUSABLE.

Tape initialization is performed after volume initialization.
The supervisor attempts to read each tape address, as defined
at system gener'ation. If the address is valid, the tape is
marked OFFLINE and is therefore usable. A message is issued for
each valid tape address simi lar to the following:

]

TAPE 004C OFFLINE
TAPE 0040 OFFLINE

If an address is incorrectly defined (for example, the device
is not a tape), if the tape drive is not turned on, or if the
tape drive has a hardware failure, messages describing the
problem are issued. Examples of messages are:

TAPE 004C IS NOT A TAPE *
TAPE 004C MARKED UNUSABLE

* *

storage Map Generation

c

At this point, the storage map for the supervisor is printed.
If 64K or less storage is avai lable, one partition is avai lable
for your programs.
If more than 64K is ava i lable and the
Chapter 6. Messages and Codes

423

address translator feature is installed, multiple partitions
can be defined as described in the system configuration statement SYSTEM. The starting address and size of each partition is
printed as shown in the following example:

STORAGE MAP
PART i
START

SIZE

30720
65536
100352

34816
34816
30720

1
2
3

The superv i sor occup i es the first 30720 bytes of storage. Three
partitions are available for your programs. Partitions 1 and 2
are 34816 bytes long, and partition 3 is 30720 bytes long.

/'

At this point, the system locates the load utility program,
$LOADER. If it cannot be found on the IPL volume, the following
message is pr i nted:

I

NO PROGRAM LOAD FACILITY

Sensor I/O status Check
The system also checks the status of any defined sensor I/O or
Binary Synchronous Communications Adapter devices and prints
appropriate status messages, for example:

424

SC34-0313

Messages

o
SENSOR I/O DEVICE AT ADDRESS 0050 IS OFFLINE
BSCA NOT THE DEVICE AT ADDR: 0019

Date and Time Printing
If timer support was included during system generation, the
system prints a message indicating that the date and time can
be optionally entered (or reset) using the $T supervisor uti lity:

~S_E_T

__D_A_T__
E__
A_N_D__T_I_M_E__U_S_I_N_G__C_O_M_M_A_N_D__$_T_____________________

~

If a system has been defined to include fixed head support for
the 4962, a period of about 10 seconds will elapse before the
'Set Date •••• ' message appears. During this time, the fixed
head portion of the disk is being initialized.
Normally you enter date and time at IPl time; however, if the
system started as a result of an AUTO IPl, the date and time can
be entered later.
The super,v i sor is now ready for operat ion.

Program load Message
Any program invoked using $l (load a Program) results in the
fo llow i ng message be i ng d i sp layed, i nd i cat i ng that the program
you requested has been loaded.

~15P,14.00.35,lP=4COO
_ _ _ _ _ _ _- - l
~RAM

~

o
Chapter 6. Messages and Codes

425

I

MeSSages]

Here, 15P indicates that the program is 15 pages long, where
256 bytes equals one page. 14.00.35 is the time in hours, minutes, and seconds. LP=4COOi nd i cates that the load po i nt of the
program is at locat i on X' 4COO'. 1 f t i mer support is not
included in the sliPervisor, the time is not printed.

C

I·--"-\
..

~

426

SC34-0313

)

Messages

o

ERROR MESSAGES

Program Check Error Message
If a program check occurs during execution of a program, a message with the fa llow i ng format is pr i nted on the load i ng term inal:

PGM CHK:

o

PlP
6BOO

TCB

PSW

LSB

0138

8002

lE6A

0000

8800

PLP

The program load point of the fai ling program.

TCB

The locat i on 0 f the task contra I b lock for the fa iii ng
program (the address appear i ng on the assemb I y I 1st i ng) •

PSW

The processor status word when
(described later in this chapter).

LSB

Level status block, consisting of the following:

WORD
WORD
WORD
WORD

1
2
3
4 -

11 -

the

check

occurred

instruction address register (IAR)
address key register (AKR)
level status register (LSR)
general registers (RO-R7)

I f the program is wr i tten is assemb ler language, COBOL,
FORTRAN, or PL/I, the contents of the reg i sters depend upon the
conventions unique to that language. If the program is written
in Event Driven Language, registers 0 through 7 (words 4-11)
contain:

o
Chapter 6. Messages and Codes

427

Messages

:I
()

WORD
WORD

4
S

WORD
WORD
WORD

6
7

8

'~ORD

9

WORD 10
WORD 11

CRO) work register
( R1 ) address of Event Driven Executive
instruction
(R2) address of El')l TCB
(R3) address of EDl operand 1
(R4) address of EDl operand 2
(RS) EDl command
(R6) work register
(R7) work register

The program in which the error occurred is either aborted or,
if it has a task error exit, the exit is entered. In either
case, normal system execution is resumed after the program
check message has been pr i nted.

o
428

SC34-0313

Messages

o

System

P~og~am

Check

E~~o~

Message

If a program check occurs in the supervisor, the following message pr i nts on the $SYSlOG term ina 1:

SYSTEM PGM CHK:

PSW AND lSB

8000 0000 1014 BODP 6FOO 6F22 1015 s4Fs 6F26 80SC ••.
where:

WORD
WORD
WORD
WORD

1
2
3

4 - 11

- processor status word (PSW)
- instruction address register (IAR)
- address key register (AKR)
- level status register (lSR)

c
Chapter 6. Messages and Codes

429

r

I

Messages

()

Processor status Word (PSW)

Processor
Type 495x
Bit 2
3
5
00
01
02
03

X
X
X
X

04

X

X
X
X
X
X

05

X
X
X
X
X

X

06

X

X
X

X

07

-

-

-

08

X

X

X

X

09

-

-

-

10
11
13
14

X
X
X
X
X

X
X
X
X

X
X
X
X
X

15

X

12

X

X

X

Class
Interrupt

Condition
Specification Check
Invalid Storage Addr
Privilege Violate
Protect Check
Not Used
Invalid Function
Floating Point
Exception
Not Used
Stack Exception
Not Used
Storage Parity Check
Not Used
CPU Control Check
I/O Check
Sequence Indicator
Auto IPL
Translator Enabled
Not Used
Power/Thermal Warning

Program
Program
Program
Program

Note

Check
Check
Check
Check
1

Soft Exception
Trap
Soft Exception
Trap
1

Soft Exception
Trap
1

Machine Check
1

Machine Check
Machine Check
None
None
None

2

-

1

Power/Thermal

3

2

Notes:
1•

Always Zero

2•

Status Flag

3.

Controlled by summary mask

o
430

SC34-0313

Messages

o

$DUMP

E~ro~

Messages

Error messages may appear when the $DUMP ut iii ty is act i ve.
The following error message occurs if the data on the data set
to be dumped is not the output of $TRAP:

dsname ON dsvol DOES NOT CONTAIN $TRAP OUTPUT
$DU~1P

TER~tINATED

where dsname and dsvol are the names of the data set and the
va I ume in wh i ch it res i des used as input to $DUMP.
The following error message occurs if an invalid
number is entered dur i ng a part i al storage dump:

partition

PARTITION NUMBER IS INVALID

The following error message occurs if an invalid starting or
ending storage address is entered during a partial storage
dump:

DUMP RANGE INVALID
VALID RANGE IS xxxx TO yyyy

where

XX)(X

and yyyy are the valid range of storage addresses.

o
Chapter 6. Messages and Codes

431

.:

MeSSages]

(t=)

$LOG Error Message
The followi ng error message occurs if the error
f u 11 :

$LOG -

***

INSUFFICIENT BUFFERS FOR LOG RATE

log

becomes

***

()
432

SC34-0313

Messages

o

I

$RMU Error Messages
The following error messages are issued when the Remote Management Utility encounters an error and are written to the terminal that loaded the uti lity.
$RMU Error 1
The size of the buffer defined for use by the utility is less
than the 512-byte minimum. The default 1024-byte buffer size
has been modified incorrectly.

$RMU ERROR 1 -

INSUFFICIENT BUFFER.

SIZE: nnnn

$RMU Error 2

C
i~

The OPEN of the BSC commun i cat ions 1 i ne fa i led. The return code
is defined in the description of the BSC Access Method for the
Event Driven Executive.

~,

'i
/

$RMU ERROR 2 - COMMUNICATIONS OPEN FAILED,
RETURN CODE: nnnn

$RMU Error 3
The CLOSE of a BSC communications line failed. The return code
is defined in the description of the BSC Access Method for the
Event Driven Executive.

$RMU ERROR 3 - COMMUNICATIONS CLOSE FAILED,
RETURN CODE: nnnn

o
Chapter 6. Messages and Codes

433

Messages

$RMU Error 4
A communications error has been detected by the utility. The
I/O function (aaaaaa) indicates the type of request as follows:
READ INITIAL
READ CONTINUE
WRITE EOT
WRITE INITIAL
WRITE EOT (ABORT)
WRITE CONTINUE
The return code is def i ned in the descr i pt i on of the BSC Access
Met hod' for the Eve n t Dr i v e n Ex e cut i v e •

$RMU ERROR 4 - COMMUNICATIONS I/O ERROR.
I/O FUNCTION: aaaaaa
RETURN CODE: nnnn

$RMU Error 5
The ut iIi ty attempted to load an over lay program v i a a LOAD
instruct ion, and the load fa i led. The return code is issued for
the LOAD instruction.

$RMU ERROR 5 - LOAD OVERLAY FAILED, RETURN CODE: nnnn
OVERLAY NUMBER: mmmm

$RMU Error 6
The utility's function table defined a function as being contained within an overlay, but it was not. This, error can occur
if a user-written function is not added properly to the function table.

$RMU ERROR 6 - OVERLAY FUNCTION MISSING. FUNCTION: nnnn
OVERLAY NUMBER: mmmm

434

SC34-0313

()

Messages

o

$TRAP Error Messages
Error messages may appear when the $TRAP utility is active.
The following error message occurs if $TRAP is loaded into a
partition other than partition 1:

$TRAP MUST BE IN PARTITION i l
$TRAP TERMINATED

The following error message occurs if the data set assigned to
$TRAP is not large enough to contain the amount of storage
being saved:

o

dsname ON dsvol IS ONLY xxx RECORDS. MINIMUM SIZE IS yyy
RECORDS
STRAP TERMINATED

The following error message occurs if no trap conditions have
been specified:

NO TRAP CONDITIONS SPECIFIED
STRAP TERMINATED

o
Chapter 6. Messages and Codes

435

Comp!et;on Codes
UTILITY COMPLETION CODES

The utility completion codes are printed on the list device by
the utility programs upon their completion unless otherwise
noted.

$EDXASM Comp!et;on Codes

$EDXASM completion codes are accompanied by an appropriate
error message. The completion codes can be tested by the job
stream processor, allowing steps subsequent to the assembly to
be sk i pped, if appropr i ate. The complet i on codes are:

Completion Conditions
Successful completion no errors in assembly.
Successful completion one or more statements had
assembly errors.

Completion Code
-1

8

Out of space in work or object
data set.

12

I/O error in source, work, or
object data set.

12

Overlay-instruction table full.

12

Unable to locate overlay
program or copy code module.

12

Operator cancelled assembly
with ATTN CA command.

(~:)

100

o
436

SC34-0313

Complet;on Codes

o

$IAMUTI Complet;on Codes

CODE

-

C\

1
01
02
03
04
05
06
07
08
12
13
23
31
32
33
34
36

~J

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
54
55

DESCRIPTION
Successful completion
Data set not found (OPEN failed)
Invalid IODA exit (OPEN failed)
Volume not mounted (OPEN failed)
Library not found (OPEN failed)
Disk I/O err'or (OPEN failed)
No VTOC exit address (OPEN failed)
Link module i n use
Load error for $IAM
Data set shut down
Module not included in load module
Get storage error - IACB
FCB WRITE error during IDEF processing
Blocksize not multiple of 256
Data set is great~r than 32,767
Event Driven Executive records
Data set i s too small
Invalid block size during file definition
processing
Invalid record size
Invalid index size
Record size greater than block size
Invalid number of free records
Invalid number of clusters
Invalid key size
Invalid reserve index value
Invalid reserve block value
Invalid free pool value
Invalid delete threshold value
Invalid free block value
Invalid number of base records
Invalid key position
Data set i s opened for exclusive use
Data set opened i n load mode
Data set i s opened, cannot be
opened exclusively
Invalid block size during PROCESS or LOAD
Get storage for FeB error

o
Chapter 6. Messages and Codes

437

Complet;on Codes

o
CODE
56
60

61
62
100
101
110

DESCRIPTION
FCB READ error
LOAD mode key is equal to or less than
previous high key in data set
End of file
Duplicate key found
READ error
WRITE error
WRITE error - data set closed

o
438

SC34-0313

[ Complet;on Codes

o

$JOBUTIL Comp!et;on Codes
The $JOBUTIL completion codes are displayed on the
used to access $JOBUTI L. The codes are as fo llows.

Code
-1
61
64
67
70
71
72
73

C,l

74
75
76
77
78
79
80

terminal

Description
Successful completion
The transient loader C$LOADER) is not included
in the system
No space available for the transient loader
A disk or diskette I/O error occurred during
the load process
Not enough main storage available for the program
Program not found on the specified volume
Disk or diskette I/O error while reading
directory
Disk or diskette I/O error while reading program
header
Referenced module is not a program
Referenced module is not a data set
Data set not found on referenced volume
Invalid data set name
LOAD instruction did not specify required data
setCs)
LOAD instruction did not specify required
parameterCs)
Invalid volume label specified; for example,
greater than eight characters

o
Chapter 6. Messages and Codes

439

[ Completion Codes

o

$LINK Complet;on Codes

Message Description
number
01
02
03
04
05
06
07

08
09
10
11
12
13
14
15
16
17
18

19
20
22
23
24

Successful completion
052 less than 265 records
Disk error reading DS1
End of f i 1 e reached on 051
Disk error reading object
module
Invalid 'OUTPUT' record
Invalid 'INCLUDE' record
Error opening object output
module:
- misspelled name or
volume
- data set not allocated
Error opening input object
module (see Error 07)
Error opening output module
(hardware error)
Error opening an input
module (hardware error)
Error opening autocall list
(059). See Error 07 for
causes
Error opening autocall list
(DS9) (hardware error)
Invalid input object module
record type
Entry point label not found
No valid ESDID for TXT or
RLD
Invalid ESD item type
Duplicate ESDID number
Invalid Symbol
Duplicate Entry point
symbol
Invalid ESDID number
Invalid ESD symbol
End of f i 1 e reached on DS9
Disk error reading DS9

Cause
code

Action Return
code
code

1
2
1

2
2
3

-1
12
12
4

2
1
1

1
2

12

6

8

1

5

12

1
2

6

8

5

12

8

/(---'\
'I

II

2

6

8

1

5

12

2

5

12

4

4
3

8

4
4
4
4

4

8
8
8
8

3
4
4
1
2

4

1

4
4
4

'"".-"J

4

4
1

8
8
8

2
2

12
12

(("\c

l

"

440

SC34-0313

:c'';
;;I'

Completion Codes

0
Message Description
number
25
26
27
28
29
30
31
32
33
34
36
37
38

Cause
code

Disk error reading DS4
End of F i 1 e reached on DS3
Disk error Read/~Jr i te
on DS8
End of f i 1 e reached on DS8
End of f i 1 e reached on DS7
End of file reached on DS4
Disk error writing on DS5
End of f i 1 e reached on DS5
End of f i 1 e reached on DS2
Duplicate section definition
(CSECT)
End of f i 1 e reached 011 DS6
Disk error, read/write on
DS7
Disk error, read/write on
DS3

39

C!

40
42
45
It

6

None

Invalid RLD record data
length
Disk error, read/write on
DS2
D52 not large enough
(program size over 64K)
No 'INCLUDE' records
No CSECT length field
Unresolved EXTRN

Action Return
code
code

--

2
6

2
2

12
12

2
5
6
2
5
6

2
2
2
2
2
2
2

12
12
12
12
12
12
12

3
4

1
1

4
8

2

2

12

2

2

12

4

4

8

2

2

12

5
1

2
2

4

3

12
12
4
4

6

0 ":,;
I,

Chapter 6. Messages and Codes

441

[ Complet;on Codes

Cause

1

o

Code~

1 - Your error
2 - System error
3 - Possible duplicate 'name,volume' or duplicate CSECT
or ENTRY names
4 - Input object recordCs) in error.
Probable cause is
that 'name,volume' is not a valid object module
5 - Data set is of insufficient size
6 - Probable $LINK error, this condition should not
occur
Action Codes
1
2
3
4

-

Log warning message and continue at next 'INCLUDE'
Terminate $lINK with error message
Continue as if expected occurance had happened
Log error message plus invalid object module
record and continue at next 'INCLUDE'
5 - Log error message plus OUTPUT record and
terminate $LINK
6 - log error message plus INCLUDE record, continue
at next 'INCLUDE'

Return Code Definitions
-1
4
8
12

Successful completion
Warning: A module has been written execution will probably work
Warning: A module has been written execution will probably fail
Severe error: Module is not written

c
442

SC34-0313

o

Complet;on Codes
$UPDATE Comp!et;on Codes
The $UPDATE completion codes are displayed on the terminal used
to access $UPDATE. The codes are as follows.

Code
-1
8
8

o

0

8
8
8
8
8
8
8
8
8
8
8
8
12

Condition
Successful completion
No supervisor space in this library
Output name specified is not a program
Disk volume already in use by another program
No space in directory
No space in data set (output library)
Invalid header format
Invalid program name
Disk volume not mounted
Disk volume off line
Library not found
Input data set not found
No parameter supplied via $JOBUTIL
No data set names provided via $JOBUTIL
Replacement of output data set not allowed
Any disk or diskette I/O errors

'1:
'I

Chapter 6. Messages and Codes

443

~n

Codes

I

EVENT DRIVEN LANGUAGE AND FUNCTION RETURN CODES

()

The Eve n t Dr i v e n Lan 9 u age ret urn C 0 de s are ret urn e d i n t he
fi rst: word o'f the Task Control Block of the program which
invoked the respective language instruction or function unless
otherwise noted.

$DISKUT3 Return Codes
The $DISKUT3 utility places a return code in the first word of
the DSCB specified. The return codes for $DISKUT3 are listed
below.

Code
1
2
4

5
6
7
8
9

10
11

12

13
14
15
16
17
18

19
20

21

Condition
Invalid request code parameter (not 1-5)
Volume does not exist (All functions)
Insufficient space in library (ALLOCATE)
Insufficient space in directory (ALLOCATE)
Data set already exists - smaller than the
requested allocation
Insufficient contiguous space (ALLOCATE)
Disallowed data set name, eg. $EDXVOL or
$EDXLIB (All functions)
Data set not found
(DELETE, OPEN, RELEASE, RENAME)
New name pointer is zero (RENAME)
Disk is busy
(ALLOCATE, DELETE, RELEASE, RENAME)
I/O error writing to disk
(ALLOCATE, DELETE, RELEASE, RENAME)
I/O error reading from disk (All functions)
Data set name is all blanks (ALLOCATE, RENAME)
Invalid size specification (ALLOCATE)
Invalid size specification (RELEASE)
Mismatched data set type
(DELETE, OPEN, RELEASE, RENAME)
Data set alreadY exists - larger than the
requested allocation
SETEOD only valid for data set of type 'data'
Load of $DISKUT3 failed ($RMU only)
Tape data sets are not supported

c
444

SC34-0313

o

Return Codes
$PDS Return Codes
Use the EVENT=parameter on the LOAD command when using the $PDS
utility. The $PDS utility returns the status of the request in
the Event Control block specified in the LOAD command. The
return codes for $PDS are listed below.

Code
-1
1
2
3

4
5

7
8
9
10

Condition
Successful operation
Member not found
Member already allocated
No space
Directory is full
Member was not used
Record not in member
Member control block invalid
Space not released
Not a data member

o
Chapter 6. Messages and Codes

445

[~;turn

Codes

I

,
0
L.I,I ••••

BSC Return Codes

Code

Description

'I

Notes

Text received in conversational mode
Successful completion

-2
-1

~.----------,------.--------------------------------------------------~

END=
EDT received
OLE EDT received
Reverse interrupt received
Forward abort received
Rem 0 t est, a t ion not rea d y (N AK r e c e i v e d )
Remote station busy (WACK received)

1

2
3
4
5
6

4
4

ERROR=
Timeout occurred
Unrecovered transmission error (BCC error)
Invalid sequence received
Invalid multi-point tributary write attempt
Disregard this block sequence received
Remote station busy (WACK received)
Wrong length record - long (No COO)
Wrong length record - short (write only)
Invalid buffer address
Buffer length zero
Undefined line address
Line not opened by calling task
Modem interface error
Hardware overrun
Hardware error
Unexpected ring interrupt
Invalid interrupt during auto-answer
attempt
Enable or disable OTR error
Access method error

10
11
12
13
14
15
20

21
22
23
24

25
30
31
32
33
34
35
99

1
1
3
2
1
1
6
2
2
2
2
2
2
2
5
2
2
2
2

Notes:
1•

446

Retried up to the limit specified in the RETRIES= operand
of the BSCLINE definition.

SC34-0313

o

Return Codes
2.

Not retried.

3.

Retr i ed dur i ng wr i te operat i on on 1 y when a wrong ACK is
received following an ENQ request after timeout Cindicati ng that no text had been rece i ved at the remote stat ion) •

4.

Returned only during an
attempted.

5.

Retried only after an unsuccessful start I/O attempt.

6.

Retried only during read operations.

initial sequence

with

no

retry

riata Formatting Return Codes

Code
-1

1
2
3

Description
Successful completion
No data in field
Field omitted
Conversion error

c
Chapter 6. Messages and Codes

447

EXIO Return Codes

I/O Instruction Return Codes (word 0 of TCB)
(Word 1 of TCB contains supervisor instruction
address)
Code

Description

-1

Command accepted
Device not attached
Busy
Busy after reset
Command reject
Intervention required
Interface data check
Controller busy
Channel command not allowed
No DDB fOllnd
Too many DCBs chained
No address specified for residual status
EXIODEV specified zero bytes for residual status
Broken DCB chain (program error)
Device already opened

1
2
3
It

5
6

7
8
9

10
11
12
13

16

448

SC34-0313

/

Return Codes

1

Interrupt Condition Codes (Bits 4-7 of word 0 of ECB)
(If bit 0 is on, bits 8-15=device 10)
Code

o
1

2
3

4
5
6

7
8
9

10
11
12
13
14
15

Description
Controller end
Program Controlled Interrupt (PCI)
Exception
Device end
Attention
Attention and PCI
Attention and exception
Attention and device end
Not used
Not used
SE on and too many DCBs chained
SE on and no address specified for residual status
SE on and EXIODEV specified no bytes for residual
status
Broken DCB chain
ECB to be posted not reset
Error in Start Cycle Steal Status
(after exception)

---.---------------------------------------------------------------------------~

c
Chapter 6. Messages and Codes

449

Floating Point Return Codes

Code
-1
1
3
5

Description
Successful completion
Floating point overflow
Floating point divide check
(divide by '0')
Floating point under flow

Formatted Screen Image Return Codes
These return codes are issued by the $IMOPEN subroutine. They
are returned in the second word of the Task Control Block of the
calling program.

Code Description
-1
1
2
3
4
5

Successful completion
Disk I/O error
Invalid data set name
Data set not found
Incorrect header or data set length
Input buffer too small

o
450

SC34-0313

o

Return Codes
Indexed Access Method Return Codes

CODE
-

1
57

-

58

- 80
-

85
01
07
08

10
12
13
22
23
50

51
52
54
55
56

60
61
62
70

80
85
90
100
101
110

DESCRIPTION
Successful completion
Data set has been loaded
Record not found
End of data
Record to be deleted not found
Function code not recognized
Link module in use
load error for $IAM
Invaild request
Data set shut down due to error
Module not included in load module
Invalid IACB address
Get storage error - IACB
Data set is opened for exclusive
use, cannot be opened exclusively
Data set opened in load mode
Data set is opened, cannot be
opened exclusively
Invalid block size during PROCESS or LOAD
processing
Get storage error - FCB
READ error - FeB
Out of sequence or duplicate key
End of file
Duplicate key found in PROCESS mode
No space for insert
FeB WRITE error during DELETE processing
Key field modified by user
Key save area in use
READ error
HRITE error
WRITE error - data set closed

0,
,

,

Chapter 6. Messages and Codes

451

[Return Codes

I

LOAD Return Codes

Code
-1
61
62
63
64
65
66
67
68
69
70
71

72
73
74

75
76
77
78

79
80
81
82

Description
Successful completion
The transient loader ($LOADER) is not included
in the system
In an overlay request, no overlay area exists
In an overlay request, the overlay area is in use
No space available for the transient loader
In an overlay load operation, the number of data
sets passed by the LOAD instruction does not equal
the number required by the overlay program
In an overlay load operation, no parameters were
passed to the loaded program
A disk(ette) I/O error occurred during the load
process
Reserved
Reserved
Not enough main storage available for the program
Program not found on the specified volume
Disk(ette) I/O error while reading directory
DiskCette) I/O error while reading program header
Referenced module is not a program
Referenced module is not a data set
Data set not found on referenced volume
Invalid data set name
LOAD instruction did not specify required data
setcs)
LOAD instruction did not specify required
parametersCs)
Invalid volume label specified
Cross partition LOAD requested, support
not included at system generation
Requested partition number greater than number of
partitions in the system

Not!;i: I f the program be i ng loaded is a sensor I/O program and a
sensor I/O error is detected, the return code will be a sensor
I/O return code, not a load return code.

o
452

SC34-0313

0 ',

Return Codes

"

Multiple Terminal Manager Return Codes
These return codes are returned in a caller-specified variable
on the SETPAN or FILEIO function.

CODE
-1

1

2
201
202
203
204
205
206
207
208
('~\I
., /

-500
-501

other

DESCRIPTION
Successful completion
Warning: uninitialized panel.
Input buffer
has been set to unprotected blanks (x'OO')
and cursor position set to zero.
Data table truncated.
Data set not found
Volume not found
No file table entries are available;
all have updates outstanding
I/O error reading volume directory
I/O error writing volume directory
Invalid function request
Invalid key operator
SEOD record number greater than data set
length
Terminal is not an IBM 4978/4979 •
No action has been taken
Screen data set not found.
Return code from READ/WRITE or the
Indexed Access Method

o
Chapter 6. Messages and Codes

453

[Return COdes]

o

READ/WRITE Return Codes
Disk/tape return codes resulting from READ/WRITE instructions
are returned in two places:
1.

The Event Control Block CECB) named DSn, where n
number of the data set be i ng referenced.

2.

The task code word referred to by taskname.

is

the

The disk/tape return codes and the i r mean i ngs are shown below.
If further information concerning an error is required, it may
be obtained by printing all or part of the contents of the Disk
Data Blocks (DOSs) located in the Supervisor. The starting
address of the DDBs can be obtained from the linkage editor map
of the supervisor. The contents of the DDBs are described in
the Internal Design. Of particular value are the Cycle Steal
Status Words and the Interrupt Status Word save areas, along
with the contents of the word that contains the address of the
next DDB in storage.

o
454

SC34-0313

o

Return Codes
Disk Return Codes

Code
-1
1
2
3
4
5
6

7

9

10
11

Description
Successful completioM
I/O error and no device status present
(this code may be caused by the I/O area starting
at an odd byte address)
I/O error trying to read dev'ice status
I/O error retry count exhausted
Error on issuing I/O instruction to read device
status
Unrecoverable I/O error
Error on issuing I/O instruction for normal I/O
A 'no record found' condition occurred, a seek
for an alternate sector was performed, and another
'no record found' occurred i.e., no alternate is
assigned
Device was 'offline' when I/O was requested
Record number out of range of data set--may be an
end-of-file (data set) condition
Device marked 'unusable' when I/O was requested

o
Chapter 6. Messages and Codes

455

[

Re turn Codes

I

Return Codes

~~e

Code
-1
1

2

4
5
6
10
20

21
22
23
24
25
26
27
28
29

30
31
32
33
76

o

Description
Successful completion
Exception but no status
Error reading STATUS
Error issuing STATUS READ
Unrecoverable I/O error
Error issuing I/O command
Tape mark (EOO)
Device in use or offline
Wrong length record
Not ready
File protect
EDT
Load point
Uncorrected I/O error
Attempt WRITE to unexpired data set
Invalid blksize
Data set not open
Incorrect device type
Incorrect request type on close request
Block count error during close
EOVI label encountered during close
DSN not found

c
456

SC34-0313

Return Codes

o

SBro (Sensor-based I/O) Return Codes

Code
-1

90
91
92

93
94

95
96
97

98
100
101
102
104

Description
Successful completion
Device not attached
Device busy or in exclusive use
Busy after reset
Command reject
Invalid request
Interface data check
Controller busy
Analog Input over voltage
Analog Input invalid range
Analog Input invalid channel
Invalid count field
Buffer previously full or empty
Delayed command reject

c
Chapter 6. Messages and Codes

457

Return Codes
Terminal I/O Return Codes

Code
-1
1
2

3
4
5
6

7

11

Bit

o
1

2
3
4
5
6

7

(~
III

.•)

Description
Successful completion
Device not attached
System error (busy condition)
System error (busy after reset)
System error (command reject)
Device not ready
Interface data check
Overrun received
Codes greater than 10 represent possible
multiple errors.
To determine the errors,
subtract 10 from the code and express the result
as an 8-bit binary value.
Each bit (numbering
from the
left) represents an error as follows:
Description
Unused
System error (command reject)
Not used
System error (DeB specification check)
Storage data check
Invalid storage address
Storage protection check
Interface data check

NQ..t!lt: If an error message code greater than 128 is returned for

devices supported by 1052741 (2741,PROC), subtract 128; the
result then contains status word 1 of the ACCA. (Refer to
Co DIm u n i cat i 0 n Fe a t u res Des c rip t ion to de t e r min e the s p e cia 1
error condition.)

o
458

SC34-0313

Return Codes

o

Terminal I/O - ACCA Return Codes

-1

Successful completion.

Bit

Description

0
1-8
9-10
11
12
13
14-15

Unused
ISB of last operation (I/O complete)
Unused
1 i f a write or control operation (I/O complete)
Read operation (I/O complete)
Unused
Condition code +1 after I/O start (or)
Condition code after I/O complete

c
Chapter 6. Messages and Codes

459

Return Codes
Terminal I/O - Interprocessor Communications Return Codes

CODTVPE=
EBCD/CRSP
End of Transmission (EOT).
End of Record (NL).
End of Subrecord (EOSR).

IF
5B

Not used.

EBCDIC

FDFF
FEFF
FCFF

Return
Codes
-2
-1

Handled
by device

support.

o
460

SC34-0313

I

Return Codes

Terminal I/O - Virtual Terminal Communications Return Codes

Value
x'BFnn'
x'BEnn'
-2
-1
1

5
B

"'\
C

,

Transmit

Receive

NA
NA
NA
Successful completion
Not attached
Disconnect
Break

LINE=nn received
SKIP=nn received
Line received (no CR)
New line received
Not attached
Disconnect
Break

LINE=nn (x'BFnn'): This code is posted for READTEXT or GETVALUE
instructions if the other side sent the LINE forms control
operat i on; it is transmi tted so that the rece i vi ng program may
reproduce on a rea I term ina I (for pr inter spoo ling app 1 i cations for example) the output format intended by the sending
program.
SKIP=nn (x'BEnn'): The sending program transmitted SKIP=nn.
Line Receiv~d (-2): This code indicated that the sending program did not send a new line indication, but that'the line was
transmitted because of execution of a control operation or a
trans i t i on to the read state. Th is is how, for examp Ie, a
prompt message is usua 11 y transm i tted with
REAPTEXT
or
GETVALUE.
New Line Received (-1): This code indicates transmission of the
carriage return at the end of the data.
The distinction
between a new line transmission and a simple line transmission
is, again, made only to allow preservation of the original output format.
Not attached (1): If the virtual terminal accessed for the
operation does not reference another virtual terminal, then
th is code is returned.

c

Disconnect (5): This code value corresponds to the 'not ready'
indication for real terminals; its specific meaning for virtual terminals is that the program at the other end of the channel
terminated
either
through
PROGSTOP
or
operator
intervention.

Chapter 6. Messages and Codes

461

[Return Codes
Break (8): The break code indicates that the other side of the
channel is in a state (transmit or receive) which is incompatible with the attempted operation. If only one end of the channel is defined with SYNC=YES (on the TERMINAL statement), then
the task on that end wi 11 always recei ve the break code, whether or not it attempted the operation first. If both ends are
defined with SYNC=YES, then the code wi 11 be posted to the task
wh i ch last attempted the operat i on. The break code may thus be
understood as follows: when reading (READTEXT or GETVALUE),
the other program has stopped send i ng and is wa i t i ng for input;
when writing (PRINTEXT or PRINTNUM), the other program is also
attempting to write. Note that current Event Driven Executive
programs, or future programs which do not interpret the break
code, must always communicate through a virtual terminal which
is defined with SYNC=NO (the default).

o
462

SC34-0313

"Return Codes
TP Return Codes

Code
-1
1
2
3
4
5

6

7
8

9

10
11

50
51
100
101
102

Module

Description

Supervisor
Successful completion
Supervisor
Illegal command sequence
Supervisor
TP I/O error
HCFCOMM
TP I/O error on host
Supervisor
Looping bidding for the line
Supervisor
Host acknowledgement to request
code was neither ACKO,ACKl,WACK,
or a NACK
Supervisor
Retry count exhausted - last error
was a timeout: the host must be down
Supervisor
Looping while reading data from
the host
Supervisor
The host responded with other than
an 'EDT' or an 'ENQ' when an 'EDT'
was expected
Supervisor
Retry count exhausted - last error
was a 'modem interface check'
Supervisor
Retry count exhausted - last error
was not a timeout,modem check,
block check or overrun
Retry count exhausted - last error
Supervisor
was a transmit overrun
I/O error from last I/O in DSWRITE.
DSCLOSE
I/O error when writing the last buffer
DSCLOSE
Length of DSNAME is zero
Length of DSNAME exceeds 52
Invalid length specified for

HCFCO~1M

I/O

HCFCOMM
HCFINIT

C\
:!

Chapter 6. Messages and Codes

463

Code

Description

f10dule
HCFINIT

221
222

Data set not on volume specified for
controller
Invalid member name specification
Data set in use by another job
Data set already allocated to this task
Data set is not cataloged
Data set resides on multiple volumes
Data set is not on a direct access
device
Volume not mounted (archived)
Device not online
Data set does not exist
Record format is not supported
Invalid logical record length
Invalid block size
Data set has no extents
Data set organization is partitioned and
no member name was specified
Data set organization is sequential and
a member name was specified
Error during 05/ OPEN
The specified member was not found
An I/O error occurred during a
directory search
Invalid data set organization
Insufficient I/O buffer space available

300
301
302
303

End of an input data set
I/O error during an 05/ READ
Input data set is not open
A previous error has occurred

200
201
202
203
204
205
206
207
208
209
211
212
213
214
216
217
218
219
220

DSOPEN
DSOPEN
D50PEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
DSOPEN
D50PEN
DSOPEN
D50PEN
DSOPEN
DSOPEN
DSOPEN
D5READ
D5READ
D5READ
DSREAD

-C'"

'

,

!

464

SC34-0313

)

Return Codes

o
Code

Description

Module

400
401
402
403
404

End of an output data set
I/O error during an OS/ WRITE
Output data set is not open
A previous error has occurred
Partitioned data set is full

DSWRITE
DSWRITE
DSWRITE
DSWRITE
DSCLOSE

700
701
702
703
704
710

Index, key, and status record added
key and status added
Index exists,
Index and key exist,
status replaced
Error - Index full
Error - Data set full
I/O Error

SET
SET
SET
SET
SET
SET

800
801
802
810

Index and key exist
Index does not exist
Key does not exist
I/O error

FETCH
FETCH
FETCH
FETCH

900
901
902
910

Index and/or key released
Index does not exist
Key does not exist
I/O error

RELEASE
RELEASE
RELEASE
RELEASE

1xxx

.-

An error occurred in a subordinate
module during SUBMIT.
' xxx ' i s
the code returned by that module.

S7SUBMIT

o
Chapter 6. Messages and Codes

465

466

SC34-0313

BIBLIOGRAPHY

EVENT DRIVEN EXECUTIVE LIBRARY SUMMARY

The library summary is a guide to the Event Driven Executive
1 i brary. By br i ef 1 y list i ng the content of each book and
providing a suggested reading sequence for the library, it
should assist you in using the library as a whole as well as
direct you to the i nd i vi dua 1 books you requ ire.

Event Driven Executive Library
The IBM Series/l Event Driven Executive 1 i brary mater i a Is
consist of five full-sized books, a quick reference pocket
book, and a set of tabs:
•

IBM Series/l Event Driven
System Guide), SC34-0312

•

IBM Series/l Event Driven ~xecutive Utilities, Operator
Com man d s, P r O..9..r a m Pre par a t ion , Me s sag e san d Cod e s ( 0 r
~tilities), SC34-0313

•

IBM Series/l Event Driven Executive language Reference (or
language Reference), SC34-0314

•

IBM Series/l Event Drive~ Executive Communications and
Terminal Application Guide (or Communications Guide),
SC34-0316

•

IBM Series/l Event Driv~n Executive Internal
Internal Design), LY34-0168

•

I B.M S e r i e s / 1 Eve n t Dr i v e n Ex e c uti v eMu I t i pIe T e r min a I Man.9..fler Internal Design (or
Multiple
Terminal
Manager
Internal Design), lY34-0190

•

IBM Series/l Event Driven Executive Indexed·Access Method
Internal Desi9J.1 (or Indexed
Access
Method
Internal
Dt;! 5 i 9n.), l Y34 - 0 1 8 9

•

Executive

System

IBM Series/l Event Driven Exgcutive Reference

Guide

Design

Summar~

(or

(or

(or

B_e fer e n c e 5 u mmar y ), S X34- 0 1 0 1
•

IBM Series/l
SX34-0030

Event

Driven

Executive

Tabs

(or

Tabs),

o
Bibliography

467

Summary of L;brary
-~

(
I,.

)

System Guide
The System Guide introduce~ the concepts and capabilities of
the Event Dr i ven Execut i ve system. It discusses mu It i-task i ng,
program and task structure, program overlays, storage management, and data management.
Planning aids include hardware and software
along with guidelines for storage estimating.

requirements,

The System Guide also presents step-by-step procedures for
generating a supervisor tailored to your Series/l hardware
conf i gurat i on and software needs.
The descr i pt i on of the Indexed Access Method conta i ns the
information on how to write applications that use indexed data
sets.
The descr i pt i on of the sess i on manager includes a procedure for
modifying the session manager to include application programs
in the primary option menu so that you can execute them under
the session manager. You can also add a procedure to compile,
link, and update programs.
Information is also provided concerning partitioned data sets,
tape data organization, diagnostic aids, inter-program communication, logical screens, and dynamic data set allocation.

Uti 1 i t i 'e s
Utilities describes:
•

Event Dr i ven Execut i ve ut iIi ty programs

•

Operator commands

•

Procedures to prepare and execute system and application
programs

•

The session manager -- a menu-driven interface program
that will invoke the programs required for program development

•

Messages and codes issued by the Event
system

468

SC34-0313

Dr i ven

Executi ve

o

0 ·'

.. )

The operator commands, program preparation facilities, and
sess i on manager are grouped by funct i on and
discuss ions
include detailed syntax and explanations. The utilities are
presented in alphabetical order •

!anguage Reference
The Language Reference familiarizes you with the Event Driven
Language by first groupihg the instructions into functional
categories. Then the instructions are listed alphabetically,
with complete syntax and an explanation of each operand.
The final section of th~ Language Reference contains examples
of using the Event Driven language for applications such as:
•

Program loading

•

User exit routine

•

Graphics

•

I/O level control program

•

Index i ng and hardware reg i ster usage

Communications Guide
The Communications Guide introduces the Event Driven Executive
communications support -- binary synchronous communications,
as y n c h ron 0 usc o·m mu n i cat ion s , and the H0 5 t
COlli mu n i cat ion s
Facility.
The Communications Guide contains coding details for all utilities and Event Driven language instructions needed for communications sliPport and advanced terminal applications.

Internal Design

c

Internal Design describes the internal logic flow and specifications of the Event Driven Executive system so that you can
understand how the system interfaces with application programs. It familiarizes YOll with the design and implementation
by describing the purpose, function, and operation of the various Event Dr i ven Execut i ve system programs.

Bibliography

469

Mu I tip leT e r min a I Man age r I n :t, r nS! 1 Des i g nan d I n d e x@_d Ac c e s s
Nethod Internal Desl9..!l de,scribe the internal logic flow and
spec if i cat ions of these programs.

O
·i

I'

Unlike the other manuals in the library, the Inte~J-JLesign
books conta in mater i al that is the I icensed property of IBM and
they are available only to licensed users of the Event Driven
Executive system.

Reference Summary
The Reference Summary is a pocket-sized booklet to be used for
qu i ck reference.
It
lists
the
Event
Dr i ven
language
instructions with their syntax, the utilit~ and program preparation commands, and the completion codes.

The tabs package must be ordered separately. The
tains 33 index tabs by subject, with additional
These extended tabular pageS can be inserted at
various sections of the library. The tabs are
accord i ng to the major library top i cs.

package conblank tabs".
the front of
color coded

Reading Sequence
All readers of the Event Driven Executive library should begin
wit h
the
fir s t
t hr e e
c hap t e r s
0 f
the .5,.v:;t e m
Gu ide
("Introduction," "The Supervisor and Emulator," and "Data Management") for an overview of the Event Driven Executive concepts and facilities.
Readers respons i b Ie for i nsta 11 i ng and prepar i ng the system
should then continue in the System Guide with "System Configurat i on" and "System Generat i on."
'
All readers should review the Utilities
become familiar with the utility functions
Event Dr i yen Execut i ve system. Then you can
sections for particular utilitie$, operator
gram preparation facilities.

"Introduct i on" to
available for the
read more spec if i c
commands, and pro-

After you have a basic understanding of the Event Driven E x e c u t i ve system and how you can best use the system for your appl icat ions,
you
should
reC1d
the
Lan~'-!LCULe
Reference
"Introduction." This will familiarize you with the potential
470

SC34-0313

of the Event Driven Language and prepare you to start coding
application programs.
I f yoU have communications support for your Event Driven Executive system, you should read the Communication5,..l1uide, which is
an extension of the System Guide, Utilities, and the Lan9uag~
Reference.
After you know the functions of the various Event Driven
language
instruct ions,
ut i I i ties,
and program preparat i on
faci lities, you may wish to refer only to the Reference Summary
for correct syntax whi Ie coding your applications.
On 1 y readers respons i b Ie for the support or mod i f i cat i on of the
Event Driven Executive system need to read Internal Design.

OTHER EVENT DRIVEN EXECUTIVE PROGRAMMING PUBLICATIONS

()

•

IBM Series/l Event
Guide, SC34-0315.

Driven

•

I BM S e r i e s / 1
E v.!!::..:.n~t-=----"D:;.,;r,--,-i..;:..v..::;e.-n:..--......::E..-x"-=e::,.;::c:;...;u:;,..t.;::...:..i__v..::;e:-......-P_-=L~/..:I:--.::.L-=a..:...n:..;;;9;r...;u=-a:;.,g
.......
1
Reference, GC34-0147.

•

IBM Serigs/l Event Driven Executive
GC34-0148.

•

IBM Series/l Event Driven
Guide, SL23-0014.

•

IBM Ser i es/l Event Dr i ven Execut i ve
mer's Guidg, SL23-0016

•

IBM Series/l Event
Reference,GC34-0317.

•

tBM
Ser i es/l
SR30-0436.

Event

Driven

Executive

Executive

FORTRAN

Pl/I

COBOL

User's

Macro

Executive

User's

Guide,

Programmer's

Sort/Merge

Executive

Driven

IV

Program-

Assembler

Study

Guide,

OTHER SERIES/l PROGRAMMING PUBLICATIONS
•

IBM Ser i e5/1 Programm i n9 Syst@m Summar\!, GC34-0285.

•

IBM Series/l COBOL Language Reference, GC34-0234.

•

IBM Series/l FORTRAN IV language Reference, GC34-0133.

c
Bibliography

471

•

IBM
Ser i es/l
Host
Commun i cat ions
Description Manual, SH20-1819.

•

IBr1 Series/l Mathematical
and
Library User's Guide, SC34-0139.

•

IBM Series/l Macro Assembler Reference Summary, SX34-0128

•

IBM Series/l Data Collection Interactive Programming RPQ
P82600 User's Guide, SC34-1654.

Facility

Functional

Program

Subroutine

OTHER PROGRAMMING PUBLICATIONS
•

IBM Data Processing Glossary, GC20-1699.

•

IBM Series/l Graphic Bibliography, GA34-0055.

•

IBM OS/VS Basic Telecommunications Access Method (BTAM),
GC27-6980.

•

General Information
GA27-3004.

•

IBM System/370 Program Preparat i on Fac iii ty, SB30-1072.

Binary Synchronous Communications,

SERIES/l SYSTEM LIBRARY PUBLICATIONS

•

IBM Series/l 4952 Processor
Description, GA34-0084.

and

Processor

Features

•

IBM Series/l 4953 Processor
Description, GA34-0022.

and

Processor

Features

•

IBM s..eries/l 4955 Processor
Description, GA34-0021.

and

Processor

Features

•

IBM Series/l Communications
-0028.

•

IBM Series/l 3101 Display Terminal Description, GA34-2034.

•

IBM Series/l 4962 Disk Storage Unit and 4964 Diskette Unit
Description, GA34-0024.

•

IBM Ser i es/l 4963 Di sk Subsystem Descr i pt ion, GA34-0051.

•

IBM Series/l
GA34-0052.

472

SC34-0313

4966

Diskette

Features

Magazine

Description,

Unit

GA34

Description,

c

o

•

IBM Series/l 4969 Magnetic
GA34-0087.

•

IBM Ser i es/l 4973 Line Pr inter Descr i pt i on, GA34-0044 •

•

JLBM~~rie5/1

•

IBM Se r i e s/ l~J"'§-=.l----ILL?.JUJ.u__Sta t i..9n
(R PQ DO 2 0 55) and
.A t t a c h men t (R P Q D0 2 0 3 8) Ge n era t I n for mat ion, GA34 - 1 5 5 0

•

Tape

SubsYstem

Description,

4974 Printer Description, GA34-0025.

IBM S e r i e s/ 1 4 9 78- 1 D i ,2B..1.2-Y. S tat ion, Key boa r d (R P Q D0 2 0 5 6 )
Information, GA34-1551

~~peral

•

IBM Series/l 497.8-1 Display Station, Keyboard (RPQ D02057)
General Information, GA34-1552

•

1.B M S ~ r i e s / 1 4 9 7 8 - 1 Dis p 1 ~ y 5 tat i 0 n Key boa r d s
and D02065) General Information, GA34-1553

•

IBM Series/l 4979 Display Station Description, GA34-0026

•

IBM Series/l 4982 Sensor
GA34-0027

•

1..H M S e.r i e 5/1

Input/Output

Unit

Da t a Co 11 e c t ion In t era c t i ve
002313, and D02314 Custom Feature, GA34-1567

(R P Q D0 2 0 6 4

Description,

RP Q s

DO 2312 ,

()

o

'
C
,,:1

Bibliography

473

()

o
474

SC34-0313

GLOSSARY

o

This glossary contains terms that are used in the Series/! Event Driven
Executive software publications. All software and hardware terms are
Series/1 oriented. This glossary defines terms used in this library and
serves as a supplement to the IBM Data Processing Glossary (GC20-1699).

$SYSLOGA. The name of the
alternate system logging device.
This device is optional but, if
defined, should be a terminal with
keyboard capability, not just a
printer.
The name of the sy5te~
logging device or operator
station; must be defined for every
system. It sh~uld be a terminal
with keyboard capability, not just
a printer.

$SYSLOG.

$SYSPRTR.

The name of the system

printer.

the Multiple Terminal Manager
facilities.

asynchronous commun;cat;ons control adapter. An ASCII terminal
attached via 11610, #2091 with
#2092, or 12095 with #2096 adapters.

attention list.

A series of pairs
of 1 to 8 byte EBCDIC strings and
addresses pointing to EDL
in~tructions.
When the attention
key is pressed on the terminal,
the operator can enter one of the
strings to cause the associated
EDl instructions to be executed.

ACCA.

See asynchronous
communications control adapter.

address key.

C·:

,",;

backup.

A copy of data to be used
in the event the original data is
lost or damaged.

Identifies a set of
Series/1 segmentation registers
and represents an address space.
It is one less than the partition
number.

base retords.

address space.

The logical
storage identified by an address
key. An address space is the
storage for a partition.

basic exchange format.

A standard
format for exchanging data on
diskett~s between systems or
devices.

application program manager.

binary synchronous dev;ce data
blbck (BSCDDB1. A control block

Records that have
been placed into an indexed data
set while in load mode.

The
component of the Multiple Terminal
Manager that provides the program
management facilities required to
process user requ~sts. It centroIs the contents of a program
area and the execution of programs
within the area.

that provides the information to
control one Series/l Binary Synchronous Adapter. It determines
the line characteristics and provides dedicated storage for that
line.

application program stub.

block.

A

collection of subroutines that are
appended to a progrhm by the linkage editor to provide the link
from the application program to

(1) See data block or
index block. (2) In the Indexed
Method, the unit of space used by
the access method to contain
indexes and data.
Glossary

{t75

BSCDDB.

See binary synchronous
device data block.

can be used to contain control
blocks or data that will be
accessed by more than one program.

buffer.

An area of storage that
is temporarily reserved for use in
performing an input/output operation, into which data is read or
from which data is written. See
input buffer and output buffer.

o

completion code.

An indicator
that reflects the status of the
execution of a program. The completion code is displayed or
printed on the program's output
device.

bypass label processing.

Access
of a tape without any label processing support.

conversion.

See update.

cross partition service.
eCB.

See terminal control block.

A
function that accesses data in two
partitions.

character image.

An alphabetic,
numeric, or special character
de.fined for an IBM 4978 Display
Station. Each character image is
defined by a dot matrix that is
coded into eight bytes.

character ima9a table.

An area
containing the 256 character
images that can be defined for an
IBM 4978 Display Station. Each
character image is coded into
eight bytes, the entire table of
codes requiring 2048 bytes of
storage.

cluster.

In an indexed file, a
group of data blocks that is
pointed to from the same
primary-level index block, and
includes the primary-level index
block. The data records and
blocks contained in a cluster are
logically contiguous, but are not
necessarily physically contiguous.

COD (change of direction).

command.

A character string from
a source external to the system
that represents a request for
action by the system.

common area. A user-defined data
area that is mapped into every
partition at the same address. It
SC34-0313

In an indexed file,
an area that contains control
information and data records.
These blocks are a multiple of 256
bytes.

data set.

A group of contiguous
records within a volume pointed to
by a directory member entry in the
directory for the volume.

data set control block (DSCB).

A

control block that provides the
information required to access a
data set, volume or directory
using READ and WRITE.

o

data set shut down.

An indexed
data set that has been marked (in
main storage only) as unusable due
to an error.

DeE.

See directory control entry.

DDB.

See disk data block.

A

character used with ACCA terminal
to indicate a reverse in the
direction of data movement.

476

data block.

direct access.

(1) The access
method used to READ or WRITE
records on a disk or diskette
device by specifying their
location relative the beginning of
the data set or volume. (2) In
the Indexed Access Method, locating any record via its key without
respect to the previous operation.

o

o

directory.

event control block (ECB).

directory control entry
(DCE). The first 32 bytes of the

control block used to record the
status (occurred or not occurred)
of an event; often used to synchronize the execution of tasks.
ECBs are used in conjunction with
the WAIT and POST instructions.

A series of contiguous
records in a volume that describe
the contents in terms of allocated
data sets and free spaces.

first record of a directory in
which a description of the directory is stored.

directory member entry (DME).

A

32-byte directory entry describing
an allocated data set.

disk data block (DDB).

A control
block that describes a direct
access volume.

display station. An IBM 4978 or
4979 display terminal or similar
terminal with a keyboard and a
video display.

A

event driven language (EDL).

The
language for input to the Event
Driven Executive compiler
($EDXASM), or the Macro and Host
assemblers in conjunction with the
Event Driven Executive macro
libraries. The output is interpreted by the Event Driven Executive emulator.

EXIO (execute input or
output). An EDL facility that
provides user controlled access to
Series/l input/output devices.

external label.
DNE.

c

DSCB.

See directory member entry.
See data set control block.

dynamic storage.

An increment of
storage that is appended to a program when it is loaded.

A code
that signals that the last record
of a data set has been read or
written. End-of-data is determined by an end-of-data pointer in
the DME or by the physical end of
the data set.

external name (EXTRN). The 1- to
8-character symbolic EBCDIC name
for an entry point or data field
that is not defined within the
module that references the name.
FCA.

See file control area.

ECB.

See event control block.

FeB.

See file control block.

EDL.

See Event Driven language.

end-of-data indicator.

emulator.

The portion of the
Event Driven Executive supervisor
that interprets EDL instructions
and performs the function specified by each EDL statement.

end-of-tape (EDT).

o

A label attached
to the outside of a tape that
identifies the tape visually. It
usually contains items of identification such as file name and
number, creation data, number of
volumes, department number, and so
on.

A reflective
marker placed near the end of a
tape and sensed during output.
The marker signals that the tape
is nearly full.

file control area (FCA).

A

Multiple Terminal Manager data
area that describes a file access
request.

file control block (FCB).

In an
indexed data set, the first block
of the data set. It contains
descriptive information about the
data 'contained in the data set.

Glossary

477

file manager.

A collection of
subroutines contained within the
program manager of the Multiple
Terminal Manager that provides
common support for all disk data
transfer operations as needed for
transaction-oriented application
programs. It supports indexed and
direct files under the control of
a single callable function.

formntted screen image.

A

collection of display elements or
display groups (such as operator
prompts and field input names and
arQas) that are presented together
at one time on a display device.

refers to the System/370 Program
Preparation Facility (5798-HNQ).

host system.

'·\
I'
0···

Any system whose
resources are used to perform
services such as program preparation for a Series/I. It can be
connected to a Series/l by a communications link.
lACS. See indexed access control
block.
IAR. See instruction address
register.
ICB. See indexed access control
block.

free pool.

In an indexed data
set, a group of blocks that can be
used as either a data bl~ck or an
index block. These differ from
other free blocks in that these
are not initially assigned to specific logical positions in the
data set.

free space.

In the Indexed Access
Method, record spaces or blocks
that do not currently contain
data, and are available for use.

lIB. See interrupt information
byte.

image store. The area in a 4978
that contains the character image
table.
index. In the Indexed Access
Method, an ordered collection of
pairs, each consisting of a key
and a pointer, used to sequence
and locate the records in an
Indexed Access Method data set.

free space entry (FSE).

A 4-byte
directory entry defining an area
of free space within a volume.
FSE.

See free space entry.

index block. In an indexed file,
an area that contains control
\nformation and index entries.
These blocks are a multiple of 256
bytes.

hardware timer.

The timer
features available with the
Series/l processors. Specifically, the 7840 Timer Feature
card or the native timer (4952
only). Only one or the other is
supported by the Event Driven
Executive.

host assembler.

The assembler
licensed program that executes in
a 370 (host) system and produces
object output for the Series/I.
The source input to the host
assembler is coded in Event Driven
language or Series/l assembler
language. The host assembler

478

SC34-0313

indexed access control block
(lACB/ICB). The control block
that relates an application program to an indexed data set.

indexed access method. An access
method for direct or sequential
processing of fixed-length records
by use of a record's key.
indexed data set. A data set
specifically created, formatted
and used by the Indexed Access
Method. An indexed data set may
also be called an indexed file.

c

indexed file. Synonym for indexed

o

index entry.

In an indexed file,
a key-pointer pair, where the
pointer is be used to locate a
lower-level index block or a data
block.

index register (11, 12). Two
words defined in EDl and contained
in the task control block for each
task. They are used to contain
data or for address computation.
input buffer.

(!) See buffer.
In the Multiple Terminal Manager, an area for terminal input
and output.
(2)

input output control block
A control block containing information about a terminal
such as the symbolic name, size
and shape of screen, the size of
the forms in a printer.
(IDCB).

instruction address register
(IARl.

The pointer that identifies the instruction currently
being executed. The Series/!
maintains a hardware tAR to determine the Series/! assembler
instruction being executed. It is
located in the level status block
(LSB).

interactive. The mode in which a
program conducts a continuous
dialogue between the user and the
system.
internal label. An area on tape
used to record identifying information (simila~ to the identifying
information placed on an external
label). Internal labels are
checked by the system to ensure
that the correct volume is
mounted.
interrupt information byte

c

request to or from a terminal.

data set.

In the Multiple Terminal
Manager, a word containing the
status of a previous input/output
(lIB).

job. A collection of related
program execution requests presented in the form of job control
statements, identified to the
jobstream processor by a JOB
statement.
job control statement. A
statement in a job that specifies
requests for program execution,
program parameters, data set definitions, sequence of execution,
and, in general, describes the
environment required to execute
the program.

job strea~ processor. The job
processing facility that reads job
control statements and processes
the requests made by these stataments. The Event Driven EMecutive
job stream processor is $JOBUTIl.
key. In the Indexed Access
Method, one or more consecutive
characters in a data record, used
to identify the record and establish its order with respect to
other records. See also key
field.
key field. A field, located in
the same position in each record
of an Indexed Access Method data
set, whose content is used for tha
key of a record.
level status block (LSB).

A

Series/! hardware data area that
contains processor status.

library.

A set of contiguous
records within a volume. It contains a directory, data sets
and/or available space.

line. A string of characters
accepted by the system ~s a single
input from a terminal; for example, all characters entered before
the carriage return on the teletypewriter or the ENTER key on the
display station is pressed.
Glossary

479

link edit.

The process of
resolving symbols in one or more
object modules to produce another
single module that is the input to
the update process.

load mods. In the Indexed Access
Method, the mode in which r~cords
are initially placed in an indexed
file.
load module. A single modure
having cross references resolved
and prepared for loading into
storage for execution. The module
is the output of the $UPDATE or
$UPDATEH utility.
load point. A reflective marker
placed near the beginning of a
tape to indicate where the first
record is written.
lock. In the Indexed Access
Method, a method of indicating
that a record or block is in use
and is not available for another
request.
LSB.

See level status block.

membe~.
A term used to identify a
named portion of a partitioned
data set (POS). Sometimes member
is also used as a synonym for a
data set. See data set.

menu.

A formatted screen image
containing a list of options. The
user selects an option to invoke a
program.

menu-driven.

The mode of
processing in which input consists
of the responses to prompting from
an option menu.

transaction-oriented applications
on a Series/I. It provides the
capability to define transactions
and manage the programs that support those transactions. It also
manages multiple terminals as
needed to support these transactions.

multivolume file.

A data file
that, due to its size, requires
more than one unit of recording
media (such as tape reel or disk
pack) to contain the entire file.

non-Inbeled tapes.

Tapes that do
not contain identifying labels (as
in standard labeled tapes) and
contain only files separated by
tapemarks.

null character.

A user-defined
character used to define the
unprotected fields of a formatted
screen.

option selection menu.

A full
screen display used by the Session
Manager to point to other menus or
system functions, one of which is
to be. selected by the operator.
(See primary option menu and secondary option menu.)

output buffer.

(1)

See buffer.

(2) In the Multiple Terminal Man-

ager, an area used for screen
output and to pass data to subsequent transaction programs.

overlay.

The technique of reusing
a single storage area allocated to
a program during execution. The
storage area can be reused by
loading it with overlay programs
that have been specified in the
PROGRAM statement of the program.

multifile volume.

A unit of
recording media, such as tape reel
or disk pack, that contains more
than one data file.

multiple terminal manager.

An
Event Driven Executive licensed
program that provides support for

480

SC34-0313

overlay area.

A storage area
within a program reserved for
overlay programs specified in the
PROGRAM statement.

.r: . . . . . .\
\
i
\~",f7

parameter selection menu.

o

A full
screen display used by the Session
Manager to indicate the parameters
to be passed to a program.

partition.

A contiguous
fixed-sized area of storage. Each
partition is a separate address
space.

physical timer.

Sy~onym

for

hardware timer.

processor status word (PSW1.

A
16-bit register used to (1) record
error or exception conditions that
may prevent further processing and
(2) hold certain flags that aid in
error recovery.

program.

A disk- or
diskette-resident collection of
one or more tasks defined by a
PROGRAM statement; the unit that
is loaded into storage. (See primary task and secondary task.)

prefind.

To locate the data sets
or overlay programs to be used by
a program and to store the necessary information so that the time
required to load the prefound
items is reduced.

program header.

The control block
found at the beginning of a
program that identifies the primary task, data sets, storage
requirements and other resources
required by a program.

primary-level index block.

In an
indexed data set, the lowest level
index block. It contains the relative block numbers (RBHs) and
high keys of several data blocks.
See cluster.

c

program/storage manager.

A

The program
selection screen displayed by the
Multiple Terminal Manager.

component of the Multiple Terminal
Manager that controls the
execution and flow of application
programs within a single program
area and contains the support
needed to allow multiple operations and sharing of the program
area.

primary option

protected field.

primary menu.

m~nu.
The first
full screen display provided by
the Session Manager.

primary task.

The first task
executed by the supervisor when a
program is loaded into storage.
It is identified by the PROGRAM
statement.

On a display
device, a field in which the operator cannot enter, modify, or
erase data from the keyboard. It
can contain text that the user can
read.
PSW.

See processor status word.

QCB.

See queue control block.

priority.

A combination of
hardware interrupt level priority
and a software ranking within a
level. Both primary and secondary
tasks will ex~cute asynchronously
within the system according to the
priority assigned to them.

precess mode.

c

In the Indexed
Access Method, the mode in which
records may be retrieved, updated,
inserted or deleted.

QD.

See queue descriptor.

QE.

See queue element.

queue control block (QCB).

A data
area used to serialize access to
resources that cannot be shared.
See serially reusable resource.

qugue descriptor (QDJ.

A control
block describing a queue built by
the DEFINEQ instruction.

Glossary

481

queue element (QE).

An entry in
the queue defined by the queue
descriptor.

record. (1) The smallest unit of
direct access storage that can be
accessed by an application program
on a disk or d~skette using READ
and WRITE. Records are 256 bytes
in length. (2) In the Indexed
Access Method, the logical unit
that is transferred between $IAM
and the user's buffer. The length
of the buffer is defined by the
user.

roll screen. A display screen on
which data is displayed 24 lines
at a time or data is entered line
by line, beginning with line 0 at
the top of the screen and continuing through line 23 at the bottom
of the screen. When a roll screen
device's screen is full Call 24
lines used), an attempt to display
the next line results in removal
of the old screen (screen is
erased) and the new line on line 0
is displayed at the top of the
screen.
SBlOCB.

recovery.

The use of backup data
to recreate data that has been
lost or damaged.

reflective marker. A small
adhesive marker ettached to the
reverse Cnonrecording) surface of
a reel of magnetic tape.
Normally, two reflective markers
are used on each reel of tape.
One indicates the beginning of the
recording area on the tape JRITE U-216
overview 5-66, U-209
primary commands U-218
program function (PF) keys
U-211
scrolling U-210
summary of options and
commands U-212
$HCFUTI Host Communications
Facility utility C-I07
$IAM Indexed Access Method load
module S-155
$1AM task error exit 5-178

488

SC34-0313

$1AMUT1 Indexed Access Method
utility 5-148, U-235
$IDEF $EDXA5M instruction
definition
description 1-241
instruction format 1-226
$1MAGE define screen image
utility 5-68, U-250
usage example S-387
$1MDATA subroutine 5-303
usage example 5-375
$1MDEFN subroutine 5-301
usage example 5-375
$1MOPEN subroutine 5-300
usage example 5-374
$1MPROT subroutine 5-302
usage example 5-375
$INDEX subroutine, $EDXA5M 1-233
$1NITD5K initialize or verify
volume 5-64, U-256
$INITIAl automatic initialization
and restart
description 5-129
with session manager 5-209,
U-28
$IOTEST test sensor I/O, list configuration 5-67, U-263
$JOBUTIL job stream processor
5-69, U-271
commands U-272
set up procedure U-271
usage example 5-408, U-290
$l load program, operator command
internals 1-23
overview 5-63
syntax U-17
$lEM5G $lINK message data set
U-401
$LINK linkage editor
data set requirements U-400
description U-390
in system generation 1-5
invoking
with $JOBUTIl U-405
with $L U-405
with session manager
U-406
overview 5-71
usage example 5-402
$lNKCNTL data set 5-118
$LOADER 1-19, 1-22
module description 1-78
$lOG I/O error logging utility
description 5-270, U-292
overview 5-67
$lPARSE subroutine 1-240
$MOVEVOl disk volume dump/restore
5-65, U-294
$P patch storage, operator
command 5-63, U-18
$PACK/$UNPACK subroutines 5-309
$PD5 partitioned data set utility
in a program 5-259
overview 5-65
$PFMAP identify 4978 program
function keys 5-68, U-30l
$PREFIND prefind data sets and
overlays 5-69, U-302
$PRT2780 spooled print utility
C-72
$PRT3780 spooled print utility
C-72
$RJE2780 remote job entry utility
C-73, 5-66

c

o

c

$RJE3780 remote job entry uti!ity
C-73, 5-66
$RMU (see Remote Management Uti!ity)
$5MCTL session manager program
5-209, 5-212
$SMEND session manager program
S-212
$5MJOBR session manager program
5-212
$5MLOG session manager program
5-212
$SMMAIN session manager program
5-210, 5-212, U-28
$SMMLOG, logon menu for session
manager 5-212
$5MMPRIM, primary option menu for
session manager 5-212, U-27,
U-35
$5MM02, program preparation secondary option menu 5-214, U-37
$5MM03, data management secondary
option menu 5-215, U-39
$5MM04, terminal utilities
secondary option menu 5-215,
U-41
$SMM05, graphics utilities secondary option menu 5-216, U-41
$5MM06, execute program utilities
secondary option 5-216
$SMM07, job stream processor
utilities secondary option 5-216
$SMM08, communications utilities
option 5-217, U-43
$5MM09, diagnostic utilities
5-217, U-44
$5TART supervisor entry point
1-279, 1-313
$STOREMAP example 1-27
$5Y5COM data area 1-12, 1-279,
1-313, 5-113
$5Y5LOG system logging device
overview 5-110
$SY5LOGA alternate system logging
device
overview 5-111
$5Y5PRTR system printer
overview 5-111
$51A5M 5eries/1 macro assembler
description U-372
internals 1-5, 1-253
overview 5-9
storage map, general 1-256
$T set date/time, operator
command 5-63, U-19
$TAPEUT1 tape management utility
U-311
$TCBCCB (ATTACH)
L-59
$TERMUT1 change terminal
parameters 5-68, U-334
$TERMUT2
process 4978 image or contro!
store 5-68, U-339
restore 4974 image U-339
$TERMUT3 send message to a
terminal 5-68, U-344
$TRAP class interrupt trap
utility 5-67, U-348
$UNPACK/$PACK subroutines 5-309
$UPDATE object program converter
description U-408
in system generation 1-5
overview 5-69
usage example 5-407

$UPDATEH object program converter
(host) 5-69, U-418
$VARYOFF set disk, diskette, or
tape offline 5-63, U-20
$VARYON set disk, diskette, or
tape online 5-63, U-22
with standard labeled tape
5-237
$W display date/time, operator
command 5-63, U-25
11 index register 1 L-6
12 index register 2 L-6

A after, $F5EDIT line command
U-226
A-conversion L-153
A/I (see analog input)
A/O (see analog output)
abort task level (5VC abend)
1-49
ACCA terminal C-7, L-295
Access Method, Indexed
(see Indexed Access Method)
ACTION, Multiple Terminal Manager
CALL
coding description C-130,
L-360
internals M-9
overview C-117, L-29
activate
error logging, $LOG utility
U-293
realtime data member, RT
$DICOMP subcommand U-124
stopped task, GO $DEBUG
command U-93
task supervisor execution
state 1-43
TRAP function of storage dump,
$TRAP utility U-348
AD
add member, $DICOMP command
U-106
advance, $DICOMP subcommand
U-111
advance X,Y (PD5)
5-255
assign define key, $TERMUT2
command U-342
add
add member, AD $DICOMP command U-106
null data set on tape volume,
TA $TAPEUT1 command U-330
options to the session
manager 5-224
support for new I/O terminals
1-117
calling conventions 1-118
code translation tables
1-118
linkage conventions 1-119
terminal instruction
modification 1-119
ADD data manipulation instruction
coding description L-52
overview l-19
precision table L-53
address relocation translator
1-71, 5-42
addressing indexing feature L-6

Common Index

489

ADDV data manipulation
instruction
coding description L-54
index register use L-55
overview L-19
precision table L-55
advance, AD $DICOMP subcommand
U-1l1
advance and prompting input, terminal I/O L-46
AI (see analog input)
AL
allocate data member, $DIUTIL
command U-151
allocate data set, $DISKUT1
command U-137
allocate data set, $JOBUTIL
command U-273
allocate member, $DICOMP
command U-I07
allocate
data set
$JOBUTIL command U-273
AL $DISKUTl command U-137
ALLOCATE function C-214
tape, TA $TAPEUTl command
U-333
member
$DICOMP command U-I07
$DIUTIL command U-151
$PDS S-261
ALLOCATE function C-216, 1-166,
1-174
allowable precision table L-20
alter member AL $DICOMP command
U-107
alter terminal configuration,
$TERMUT1 U-334
alternate system logging device
($SYSLOGA) 5-47
alternate tracks S-58, U-73, U-78
ALTIAM Indexed Access Method
subroutine S-167
analog input S-49
AI $IOTEST command U-268
control block 1-129
IODEF statement L-187
overview S-49
SBIO instruction L-263
SENSORIO configuration
statement L-39
analog output
AO $IOTEST command U-264
control block 1-129
description S-49
10DEF statement L-186
SBIO instruction L-264
SENSORIO configuration
statement l-39, S-84
AND data manipulation instruction
coding description L-57
overview l-19
AO (see analog output)
application program
automatic initialization and
restart S-129
indexed access S-149
introduction L-1
manager C-119
preparation U-351
size estimating S-344
structure L-8
support S-20
ASCII terminals
codes S-110
490

SC34-0313

configuring S-96
devices supported C-6, S-14
graphics L-26, S-46
TERMINAL statement examples
S-106
A5MERROR, $EDXASM instruction
1-230
assembler
(see $EDXASM)
(see $S1ASM)
(see host assembler)
assign
alternate for defective 4963
sector, $DASDI utility U-78
DEFINE key in 4978 control
store, AD $TERMUT2 command
U-341
asynchronous communications control adapter (see ACCA)
AT set breakpoints and trace
ranges, $DEBUG command U-90
ATTACH task control instruction
coding description L-59
internals 1-44
overview L-42, S-34
attention handling, terminal I/O
1-108, L-47, S-63
attention keys, terminal I/O l-47
attention list (see ATTNLIST)
ATTN key (see attention handling)
ATTNLIST task control statement
$ATTASK l-61
coding description L-61
overview L-42, S-30
attribute character, 3101 C-122
autocall
option, $LINK U-401
AUTOCALL statement requirement
(WXTRN) l-323
automatic
application initialization
S-13, S-129
application restart S-13,
S-129

B before, $F5ED1T line command
U-226
backup disk or disk volume on
tape, 5T $TAPEUT1 command U-330
backup dump restore utility,
$MOVEVOL U-294
base records, indexed data set
definition S-149
loading 5-160
basic exchange
diskette data set copy utility, $COPY U-59
basic supervisor and emulator (see
supervisor/emulator)
batch job processing (see
$JOBUT1L)
BEEP, Multiple Terminal Manager
CAll
coding description C-137,
l-361
internals M-9
overview C-117, L-29
binary synchronous communications
automatic retry S-17
BSCAM/BSCAMU module

o

o

o

descriptions 1-80
BSClINE configuration statement C-42, S-76
control flow (BSCAM) 1-147
device data block (BSCDDB)
1-133
features C-35, S-16
Host Communications Facility
protocol 1-156
instruction formats C-38,
1-144
multipoint operation C-36,
S-16
overview 5-16
point-to-point lines 5-16
Remote Management Utility
requirements C-208
sample programs C-59
special labels for,
description 1-149
system internal design 1-133
test utility, $B5CUT2 C-64
trace printing routine,
$B5CUT1 C-62
trace routine, $BSCTRCE C-61
blank screen, $B operator command
S-63, U-12
BLANK TERMCTRl function l-288
BlDTXT subroutine, $EDXA5M 1-237
BLINK TERMCTRl function l-288
BlP (see bypass label processing)
BOT (beginning-of-tape> l-40
BOTTOM reposition line pointer,
$EDIT1/N editor subcommand U-183
boundary requirement, full-word
DO l-34
IF l-34
PROGRAM l-225
BP list breakpoints and trace
ranges, $DEBUG command U-92
breakpoints and trace setting, AT
$DEBUG command U-90
BROWSE display data set, $F5EDIT
option U-213
BSC (see binary synchronous
communications)
BSCAM (see binary synchronous communications>
BSCClOSE BSC statement 1-144,
1-148
coding description C-38
BSCDDB binary synchronous device
data block
description of 1-133
equates 1-291
BSCEQU l-11
BSCIA immediate action routine
CBSC) 1-148
BSCIOCB BSC statement C-39, 1-144
BSCl1NE configuration statement
C-42, 5-76
BSCOPEN BSC statement C-44,
1-145, 1-148
BSCREAD BSC statement C-45,
1-145, 1-148
BSCWRITE BSC statement C-49,
1-146, 1-148
BSF (backward space file) l-75
BSR (backward space record) l-75
BTE, buffer table entry A-20
BU build data member, $DIUTIl
command U-153
buffer
table entry
definition A-20

description A-31
terminal I/O buffer
management 1-109
BUFFER data definition statement
. coding description l-65
overview l-17
build data member, BU $DIUTIl
command U-153
building an indexed data set
U-247
burst output with electronic display screens l-46
bypass label processing U-311
description S-244

C

change a key definition,
$TERMUT2 command U-342
copy line, $FSEDIT line
command U-226
CA cancel
assembly, $EDXASM attention
request U-358
copy, $COPYUT1 attention
request U-64
list option, $FSEDIT attention
request U-217
listing, $EDXlIST attention
request U-358
CAD COpy all data members,
$COPYUT1 command U-64
CAll
copy all members, $COPYUT1
command U-64
program control instruction
coding description l-68
Indexed Access Method
syntax S-146
Multiple Terminal Manager
syntax l-359
overview l-32, S-31
program l-68
subroutine l-68
callable routines l-30
CAllFORT program control
instruction
coding description l-70
overview l-32
cancel
$C operator command U-13
assembly, CA $EDXASM attention
request U-358
copy, CA $COPYUTI attention
request U-64
dump, CA $DUMP command U-165
list option, CA $FSEDIT
attention request U-217
listing, CA $EDIT/N attention
request U-172
CAP copy all programs, $COPYUT1
command U-64
CC copy block, $FSEDIT line
command U-226
CCB
equate table 1-292
internals 1-105, 1-119
interprocessor communications
C-30
use in terminal I/O support
1-113
Common Index

491

CCBEQU L-l1
CD
clear data set, $DISKUT2 command U-144
copy data set, $COPY command
U-61
copy data set, $TAPEUTl
command U-313
CDATA, Multiple Terminal Manager
CALL
coding description C-139,
L-362
internals M-9
overview L-29
CDRRM equates C-292
CG copy all members (generic)
$COPYUTl command U-64
CH
change hardcopy device,
$BSCUT2 command C-70
change host library, $UPDATEH
command U-420
chain, ECB/QCB/TCB I-55
CHAIN supervisor service routine
I-54
CHA1ND supervisor service routine
I-54
CHAINE supervisor service routine
I-54
chaining L-27
CHA1NP supervisor service routine
I-54
change
address assignment of terminal, RA $TERMUTl command
U-336
base address, QUALIFY $DEBUG
command U-101
character string, CHANGE
$EDIT1/N editor subcommand
1'-184
clo")cter stri ng, change
$~~EDIT primary command
U-219
execution sequence, GOTO $DEBUG command U-94
graphics or report display
profile, $DICOMP utility
U-I05
hardcopy device, CH $BSCUT2
command C-70
hardcopy device, RH $TERMUTl
command U-338
host library, CH $UPDATEH
command U-420
key definition in 4978 control
store, C $TERMUT2 U-342
name of logical device, RE
$TERMUTl command U-337
output volume, CV $UPDATE
command U-409
page formatting parameters of
a terminal, CT $TERMUT1
U-335
partition assignment, $CP
operator command U-14
realtime data member name RT
($PDS) S-258
tape label support U-322
volume
CV $BSCUT1 command C-62
CV $COPYUTl command U-64
CV $DISKUTl command U-137
CV $D1SKUT2 command U-143
CV $UPDATEH command U-418
492

SC34-0313

character constants L-89
character image table U-205
CHGPAN, Multiple Terminal Manager
CALL
coding description C-135,
l-364
internals M-9
overview C-124, L-29
CL clear work data set, $FSEDIT
primary command U-221
class interrupt vector table
1-10, 1-277
class interrupts, intercepting,
$TRAP utility U-348
clear
data set, CD $D1SKUT2 command
U-144
screen, $B operator command
U-12
CLOSE Host Communications Facility, TP operand C-90
CLSRU (close tape data set) L-75
cluster, indexed data set S-200
CM copy member
$COPYUTl command U-64
$DIUTIL command U-155
CMDEQU L-12
CMDSETUP 1-13, 1-67
CNG copy all members
(non-generic),$COPYUT1 command
U-64
CO command, $RJE2780/$RJE3780
C-76
COBOL
execution requirements S-23
link editing 5-71
overview S-7
program preparation
requirements S-23
use with Multiple Terminal
Manager C-193
code translation
new support tables 1-111
terminal I/O layer 2 1-109
code words, task L-8
COLS display columns, $FSEDIT line
command U-228
command area, $EDXASM 1-214
command descriptions U-235
COMMAND send to host,
$RJE2780/$RJE3780 C-75
command table 1-68, 1-282, 1-301
common data area (see $SYSCOM)
common emulator setup routine
command table 1-13, 1-282,
1-301
operating conventions 1-67
communication error function
1-166
communications utilities
$BSCTRCE C-61
$BSCUT1 C-62
$BSCUT2 C-64
$HFCUT1 C-I07
$PRT2780 C-72
$PRT3780 C-72
$RJE2780 C-73
$RJE3780 C-73
$ Rt'1U C-282
communications utilities (session
manager) S-217, U-42
communications vector table 1-11,
1-278, 1-313
compiler (see $EDXA5M)

o

o

C

"i
,)

completion codes (see return
codes)
$EDXASM U-436
$IAMUT1 U-437
$JOBUTIl U-439
$lINK U-440
$UPDATE U-443
compress
data base, CP $DIUTIl command
U-154
library, $COMPRES utility
U-57
compressed byte string 5-309
CONCAT graphics instruction
coding description l-72
overview l-26
concatenating indexed data sets
5-167
concurrent access l-27
concurrent execution l-42
configuration statements 5-75
configure terminal CT $TERMUT1
command U-335
connecting an indexed data set
5-159
continuation, source program line,
$EDXASM U-361
control, device instruction level
L-24
control block (see DSCB)
control block and parameter
tables
BSCEQU 1-133, 1-291, L-11
CCBEQU (see also CCB) l-11
CMDEQU (see also emulator
command table)
l-12
DDBEQU 1-92, 1-308, l-12
DSCBEQU (see also DSCB) l-12
ERRORDEF L-12
FCBEQU A-20, l-12
IA~lEQU
l-12
PROGEQU 1-312, l-13
referencing 1-289
TCBEQU (see also TCB) l-13
control block module (ASMOBJ)
description 1-76
CONTROL IDCB command L-175
control keys for text editors
U-172
control records, $LINK U-396
control statements, program
listing l-28
task l-42
terminal I/O forms control
l-45
CONTROL tape instruction l-74
conversion
algorithm for graphics 1-201
alphameric data l-152
definition
EBFLCVT module description
1-80
floating point/binary 1-205
numeric data l-148
program modules by $UPDATE/H
U-418
terminal I/O binary/EBCDIC
1-110
CONVTB data formatting
instruction
coding description L-79
internals 1-207
overview L-18
CONVTD data formatting
instruction

copy

coding description
internals 1-207
overview L-18

L-82

block of text, CC $F5ED1T line
command U-226
data members, all, CAD
$COPYUT1 command U-64
data set, CD $COPY command
U-61
data sets with allocation,
$COPYUTI utility U-64
line of text, C $F5EDIT line
command U-226
member
CM $COPYUT1 command U-64
CM $DIUT1L command U-155
members
all, CALL $COPYUT1 command U-64
generic, CG $COPYUT1
command U-64
non-generic, CNG $COPYUT1
command U-64
programs, all, CAP $COPYUT1
command U-64
text, $EDIT1/N editor
subcommand U-186
volume, CV $COPY command U-62
copy code library, instruction
parsing ($EDXASM) 1-222
COpy instruction
coding description L-86
overview L-33
Count record C-256
CP compress data base, $DIUTIl
command U-154
CR invoke $DISKUT1, $1AMUT1
command U-236
create
character image tables, $FONT
U-205
source data 'set, $F5ED1T
U-214
supervisor for another
Series/1 5-132
unique labels, '$SYSNDX
($EDXA5M) 1-242
create indexed data set 5-156
cross partition instructions 1-71
cross partition services 5-286
CSECT list, supervisor
Version 1.1 5-347
Version 2 5-357
C5ECT program module sectioning
statement
coding description l-87
overview L-33
CT
change tape drive attributes,
$TAPEUTI command U-31S
configure terminal, $TERMUTI
command U-335
CV
change output volume U-409
$UPDATE command U-409
$UPDATEH command U-418
change volume
$B5CUTl command C-62
$COPYUT1 command U-64
$DISKUTI command U-137
$DISKUT2 command U-143
copy volume, $COPY command
U-S9

Common Index

493

CYCLE
coding description C-132,
l-365
internals M-9
overview C-116, l-29
cylinder 5-60
cylinder track sector (CTS) U-135

D delete line, $F5EDIT line command U-228
D/I (see digital input)
D/O (see digital output)
data
conversion (see conversion)
conversion specifications (see
also conversion) l-146
definition statements l-17
files for $S1ASM 1-254
floating-point arithmetic
instructions l-20
formatting functions l-18
formatting instructions l-18
integer and logical
instructions l-19
length of transmitted, host
communications 1-159
management S-45
management system, Indexed
Access Method l-27
manipulation instructions
l-19
record contents, text editor
1-325
representation l-20
floating-point l-20
integer L-19
terminal input l-45
terminal autput l-45
transfer initialization,
terminal I/O support 1-112
transfer rates, Host
Communications Facility C-84
transfer ready, (DTR) BSCOPEN
1-148
Data Collection Interactive 5-11
DATA data definition statement
coding description L-88
overview L-17
data management utilities
$COMPRES 5-64, U-57
$COPY 5-64, U-59
$COPYUT1 5-64, U-64
$DASDI 5-64, U-68
$DI5KUT1 5-64, U-135
$DI5KUT2 5-64, U-142
$DI5KUT3 S-315
$IAMUT1 5-148, U-235
$INITD5K 5-64, U-256
$MOVEVOL 5-65, U-294
$PD5 5-247
$TAPEUTI U-311
session manager 5-215, U-38
data manipulation, vector l-19
data manipulation instructions
l-19
Data record C-257
data representation, terminal I/O
L-45
data set
allocation/deletion
494

5C34-0313

$DI5KUT1 U-137
$DI5KUT3 5-315
$JOBUTIL U-273
$PD5 5-248
session manager U-29
characteristics, HCF C-83
format
$F5EDIT U-210
$PD5 5-249
$PRT2780 C-72
$PRT3780 C-72
naming conventions C-82, 5-56
transfer
RECEIVE function C-243
SEND function C-247
utilities (see data management
utilities)
data set naming conventions, Host
Communications Facility C-82
data-set-shut-down condition
5-179
date/time
display, $W operator command
U-25
set, $T operator command U-19
DC data definition statement
coding description L-88
overview l-17
DCB EXIO control statement
coding description l-91
overview L-24
DCE directory control entry
format 1-88
DCI (Data Collection Interactive)
5-11
DD block delete, $F5EDIT line
command U-228
DDB disk data block
description 1-92
equate table 1-308
DDBEQU L-12
DE delete member
$DI5KUT1 command U-137
$DIUTIl command U-156
delete data set, $JOBUTIL
command U-274
deadlocks C-238, 5-180
debug
$EDXA5M overlay programs
1-248
aids (see also diagnostic
aids) 5-18
facility, $DEBUG utility U-82
define
horizontal tabs, HTAB $IMAGE
command U-252
image dimensions, DIM5 $IMAGE
command U-251
indexed data set, DF $IAMUT1
command U-237
null representation, NULL
$IMAGE command U-253
vertical tabs, VTAB $IMAGE
command U-254
DEFINEQ queue processing
statement
coding description l-94
overview l-37
definition statements, data l-17
delete
data set
$JOBUTIl command U-274
DELETE function C-216
tape data set, TA $TAPEUT1
command U-333

()

,/\

\~-)

c

c'

elements, IN $DICOMP command
U-I07
member
$PD5 5-261
DE $DI5KUTI command U-137
DE $DIUTIL command U-156
text
$EDIT1(N) editor subcommand U-188
line, D $F5EDIT line
command U-228
with $PREFIND U-305
DELETE function C-216, 1-166,
1-174
DELETE instruction
coding description L-329
overview L-27, 5-147
return codes L-330
DEQ task control instruction
coding description l-95
internals I-59
overview L-42, 5-33
supervisor function 1-46
DEQB5C dequeue B5C DDB routine
1-149
DEQT terminal I/O instruction
coding description L-97
overview L-44, 5-47
DETACH task control instruction
coding description L-98
internals 1-45
overview L-42, 5-30
detached, task supervisor
execution state 1-43
device
busy (EXOPEN) L-129
data block description, EXIO
1-123
instruction level control
L-24
interrupt handling, EXIO
1-125
test utility, $IOTE5T U-263
vector table 1-11, 1-278
DF define indexed file, $IAMUT1
command U-237
DI (see digital input)
diagnostic
aids 5-265
summarized 5-18
utilities
$DEBUG U-82
$DUMP U-163
$IOTE5T U-263
$LOG U-292
$TRAP U-348
with session manager
5-217, U-38
digital input
$IOTE5T command U-266
digital I/O control block
1-129
direct output,$DICOMP subcommand U-112
direct output to another
device ($PDS) S-255
display parameters, $IAMUTI
command U-239
external sync, XI $IOTE5T
command U-266
IODEF statement L-186
overview S-48
5aIO instruction L-265
5ENSORIO configuration
statement S-84

digital output
digital I/O control block
1-129
DO $IOTE5T command U-265
external sync, XO $IOTE5T
command U-266
IODEF statement L-186
overview 5-48
SBIO instruction L-267
5ENSORIO configuration
statement L-84
DIMS define image dimensions,
$IMAGE command U-251
direct access common I/O module,
DISKIO, description 1-77
direct access storage device
organization 5-52
direct output, DI $DICOMP
subcommand U-112
directory
control entry (DCE) 1-88
entries 5-249
member entry (DME) 1-89
disaster recovery from tape, RT
$TAPEUTI command U-326
DISCONN Indexed Access Method
CALL
coding description L-332
overview L-27, 5-148
return codes L-333
DISCONNECT Multiple Terminal
Manager utility C-119, C-159
disconnecting an indexed data set
5-159
DISK configuration statement 5-78
disk/diskette
capacity 5-58
data block (DDB) 1-92
fixed-head S-15, 5-61
I/O task 1-95
IPL 5-16, 5-61
primary volume 5-60
resident loading code 1-19
secondary volume s-60
symbolic addressing L-10
utilities
$COMPRE5 5-64, U-57
$COPY S-64, U-59
$COPYUT1 S-64, U-64
$DASDI 5-64, U-68
$DISKUTI 5-64, U-135
$DI5KUT2 5-64, U-142
$DISKUT3 5-315
$IAMUTI 5-148, U-235
$INITDSK 5-64, U-256
$MOVEVOL 5-65, U-294
$PDS 5-247
utility functlon table U-49
volume 5-16, 5-52
disk I/O instructions L-22
DISKIO direct access common I/O
module description 1-77
display (see also list)
character image tables, DI5P
$FONT command U-205
contents of storage or
registers, LIST $DEBUG command U-95
control member ($PD5) 5-250
control member format ($PDS)
S-252
initial data values for image
5-303
processor composer, $DICOMP
U-105
Common Index

495

processor interpreter,
$DIINTR U-150
processor utility, $DIUTIL
U-150
processor utility, general
description U-105
profile elements ($PDS) S-252
protected and null fields of
an image S-302
report line items ($PDS)
S-255
status of all tasks, WHERE
$DEBUG command U-102
storage, $D operator command
S-63, U-15
time and data, TD ($PDS)
S-258
time and date, $W operator
command S-63, U-25
utility program set ($PDS)
S-248
variable, VA($PDS) 5-254
4978 program function keys,
$PFMAP utility U-301
DISPLAY TERMCTRL function L-288
DIVIDE data manipulation
instruction
coding description L-99
overview L-19
precision table L-100
DME directory member entry
format 1-89
updated bySETEOD S-324
DO
digital output (see digital
output)
program sequencing
instruction
coding description L-I01
overview L-34
double-precision L-19
floating-point arithmetic
L-21
integer and logical l-19
DOWN move line poiner, $EDIT1/N
editor subcommand U-189
DP
dump to printer
$DISKUT2 command U-144
$TAPEUT1 command U-317
print trace file, $B5CUTI
command C-62
DR draw symbol, $DICOMP
subcommand U-112
DR draw symbol ($PDS) S-254
draw
line, LI $DICOMP subcommand
U-120
line relative LR ($PDS) S-257
symbol, DR $DICOMP subcommand
U-112
DS data set identifier, $JOBUTIL
command U-275
DSCB data set control block
statement
coding descri'ption L-I05
equate table, DSCBEQU 1-311
for tape, internals 1-99
internals 1-92
overv i etoJ L-22
DSCBEQU L-12
DSECT (see control block and
parameter equate tables) L-11
DSOPEN subroutine
description S-322
496

SC34-0313

DSR data set ready in BSCOPEN
1-148
DTR data transfer ready in
BSCOPEN 1-148
DU
dump on terminal, $DISKUT2
command U-144
dump trace file on terminal,
$BSCUT1 command C-62
dump
restore volume utility
$MOVEVOL U-294
storage partition, DUMP
function C-218
to printer
$DUMP utility U-163
DP $DISKUT2 command U-143
DP $TAPEUTI command U-317
PR $DICOMP command U-I08
to terminal
$DUMP utility U-163
DP $TAPEUTI command U-317
DU $DISKUT2 command U-143
PR $DICOMP command U-I08
trace file on printer, DP
$BSCUTI command C-62
trace file on terminal, DU
$BSCUT1 command C-62
DUMP function C-218, 1-166, 1-175
D4969, tape device handler module
description 1-82

E-conversion (Ew.d) L-150
EBFLCVT, EBDIC to floating-point
conversion 1-205
module description 1-80
EC control echo mode, $IAMUT1
command U-240
ECB task control statement
coding description L-I07
internals I-55
overview L-42, S-30
with SBIOCB 1-128
EDIT
begin editing source data,
$EDIT1/N command U-174
create or change data set,
$FSEDIT option U-214
enter edit mode, $FONT
command U-205
enter edit mode, $IMAGE
command U-251
edit data set subroutine examples,
text editor 1-326
editor subcommands, $EDITI/N
U-182
EDL (see Event Driven Language)
compiler ($EDXASM) U-356
instruction format 1-67
interpreter, EDXALU, module
description 1-77
operation codes 1-67
EDXALU Event Driven Language
interpreter description I~5,
1-77
EDXFLOAT floating-point operations
module description 1-79
EDXINIT supervisor initializ~tion
control module 1-15
description 1-81

//.1"'

''l\
J

\;,l __ ./

·,/1
(
,

~\

o

EDXlIST host listing formatter
U-383
EDXSTART supervisor initialization
task module description 1-81
EDXSVCX/EDXSVCXU task supervisor
addr. trans. support desc 1-5,
1-76
EDXSYS system data tables,
description 1-75
EDXTIMER 7840 timer feature card
module description 1-80
EDXTIMR2 4952 timer module
description 1-80
EDXTIO terminal 1/0
EDXTIO/EDXTIOU module
description 1-78
internals 1-105
EJECT listing control statement
coding description l-109
overview l-28
eject printer page
$E operator command U-16
ELSE program sequencing
instruction
coding description l-110,
L-178
overview l-34
emulator (see
supervisor/emulator)
emulator command table 1-13,
1-282, 1-301
emulator functional flow 1-69
emulator setup routine 1-67
command table 1-13, 1-282,
1-301
EN end program, $IAMUT1 command
U-235
END
$lINK control record U-396
option selection, $EDXASM
command U-358
option selection, $EDXLIST
command U-371
option selection, $SlASM
U-378
primary command input, $FSEDIT
primary command U-221
task control statement
coding description l-111
overview L-42
end display, EP $DICOMP
subcommand U-118
end-of-file, indicating with
SETEOD S-324
ENDATTN task control instruction
coding description l-112
overview L-42, S-30
ENDDO program sequencing
instruction
coding description L-103,
L-113
overview l-34
ENDIF program sequencing
instruction
coding description L-114,
l-178
overview L-34
ENDPROG task control statement
coding description l-115
overview l-42, S-30
ENDSEQ Indexed Access Method CALL
coding description L-334
overview L-27, S-147
return codes L-335

ENDSPOOl switch spool to print,
$RJE2780/$RJE3780 C-75
ENDTASK task control instruction
coding description l-116
overview L-42, S-30
ENQ task control instruction
coding description L-117
internals 1-60
overview L-42, S-33
supervisor function 1-45
ENQT terminal 1/0 instruction
S-293
coding description L-119
overview L-44, S-47
enqueue, task supervisor function
(see ENQ)
entering and editing source statements' S-66, U-192
entry points, supervisor
Version 1.1 S-347
Version 2 S-357
ENTRY program module sectioning
statement
coding description L-121
overview L-33
EOF (end-of-file) l-74
EOJ end of job, $JOBUTIL command
U-276
EOP end of nested procedure,
$JOBUTIL command U-276
.
EOR data manipUlation instruction
coding description L-122
overview L-19
EOT (end-of-tape) L-41
EP end display, $DICOMP
subcommand U-118
EQ (equal) L-34
EQU data definition instruction
coding description L-124
overview L-17
equate tables
$EDXASM compiler common area
1-214
BSCDDB, BSC line control
block 1-291
CCB, terminal control block
1-292
DDB, diskldiskette control
block 1-308
DDB for sensor 1/0 1-309
DSCB, data set control block
1-311
emulator command table 1-282,
1-301
Indexed Access Method A-19
parameter and control block
L-11
program header 1-312
referencing 1-30
supervisor 1-279, 1-313
TCB, task control block 1-314
ERASE terminal lID instruction
coding description L-126
overview L-44, S-47
error codes (see return codes)
error handling
lID error logging S-270
Indexed Access Method error
exit S-178
Remote Management Utility
C-277
software trace S-265
task error exit S-33, S-268
terminal 1/0 L-44
ERRORDEF L-12
Common Index

497

ERRORS list error option
$EDXASM command U-358
$EDXLI5T command U-370
estimating storage (see storage
estimating)
event control block (see ECB)
Event Driven Language (see EDL)
EX exercise tape, $TAPEUTl command U-319
EXEC function C-220, 1-166, 1-178
EXEC load and execute program,
$JOBUTIL command U-277
execute program
EXEC function C-220
PA55THRU function C-225
SHUTDOWN function C-251
utilities (session manager)
5-216
executing, task supervisor execution state 1-43
exercise tape, EX $TAPEUTl
command U-319
EXFLIH command start 1-125
EXI0 control instruction
coding description L-128
EXI0DDB device data block
description 1-123
internals 1-125
overview L-24, 5-51
EXI0CLEN, EXI0 termination module
1-126
EXIODEV configuration statement
S-82
EXIOINIT, system initialization
1-125
EXOPEN EXIO control instruction
coding description L-129
internals 1-125
interrupt codes L-132
overview L-24
return codes L-131
external sync DI/DO, XI/XO $IOTE5T
command U-266
EXTRACT, Indexed Access Method
CALL
coding description L-336
overview L-26, 5-148
return codes L-337
EXTRN program module sectioning
statement
coding description L-134
overview L-33

F-conversion (Fw.d) L-149
FADD data manipulation
instruction
coding description L-135
overview L-19
return codes L-136
FAN, Multiple Terminal Manager
CALL
coding description C-139,
L-366
overview L-31
FCA file control area, Multiple
Terminal Manager C-143
FCB file control block for Indexed
Access Method
definition A-9, A-20
description A-II, A-21, 5-194
498

SC34-0313

location A-20
map provided by FCBEQU 5-155
FCBEQU Indexed Access Method copy
code module L-12, 5-155
FDIVD data manipulat·ion
instruction
coding description L-137
overview L-19
return codes L-138
FETCH Host Communications
Facility, TP operand C-92
fetch record ($PD5) 5-261
fetch status, FE $HCFUT1 command
C-110
file L-75
backward space file (BSF)
L-75
control area (see FCA)
control block (see FCB)
definition L-40
forward space file (F5F) L-75
manager, Multiple Terminal
Nanager M-8
tape control commands L-75
FILEIO, Multiple Terminal Manager
CALL
coding description C-141,
L-367
internals M-9
overview C-118, L-29
FIND
editor commands
character string, $EDITI/N
subcommand U-191
character string, $F5EDIT
primary command U-222
program sequencing
instruction
coding description L-139
overv i etoJ L-34
FINDNOT program sequencing
instruction
coding description L-141
overview L-34
FIRSTQ queue processing
instruction
coding description L-143
overview L-37, 5-32
fixed-head devices 5-61
fixed storage area, contents 1-9
floating-point
arithmetic instruction
equates 1-283, 1-303
arithmetic instructions L-20
binary conversions 1-205
command entries module,
NOFLOAT, description 1-79
operations module, EDXFLOAT,
description 1-79
return codes L-21
FMULT data manipulation
instruction
coding description L-144
overview L-19
return codes L-145
format
illustrated L-5
instruction (general) L-3
FORMAT data formatting statement
'A' conversion L-153
'E' conversion L-150
'F' conversion L-149
'H' conversion L-152
'I' conversion L-148
coding description L-146

-~

(

ii,

_.,.;

(~.l

-~

I

I

c

o

conversion of alphameric data
L-153
conversion of numeric data
L-148
data conversion specifications L-146
module names L-18
multiple field format L-155
overview L-18
repetitive specification
L-155
using multipliers L-155
X-type format l-154
formatted screen images S-300,
U-250
formatting instructions, data
L-18
forms control
burst output with electronic
display screens L-46
forms interpretation L-46
output line buffering L-46
parameters, terminal I/O L-44
terminal I/O L-45
FORTRAN IV
execution requirements S-24
link editing S-71
overview S-6
program preparation
requirements S-24
use with Multiple Terminal
Manager C-197
FPCONV data manipulation
instruction
coding description L-157
overview L-19
free pool in Indexed Access
Method L-27
free space
definition S-148
estimating S-168
in Indexed Access Method l-27
free space entry 1-90
FREEMA1N storage allocation
function 1-25
FSE free space entry 1-90
FSR (forward space record) L-75
FSUB data manipulation
instruction
coding description L-159
index registers L-160
overvie~.J
L-19
return codes L-160
FTAB, Multiple Terminal Manager
CALL
coding description C-138,
L-372
overview C-124, L-31
return codes L-373
full-screen static configuration
S-293
full-screen text editor host and
native, $FSED1T U-209
full-word boundary requirement
DO L-34
IF L-34
PROGRAM L-225
function process overlays 1-162
function process subroutines
1-162, 1-170
new subroutines 1-187

function table

1-164, 1-167

GE (greater than or equal) L-34
general instruction format L-3
generating the supervisor S-115
GENxxx~ macro
1-120
GET Indexed Access Method CALL
coding description L-338
overview L-27, S-147
return codes L-340
GETEDIT data formatting
instruction
coding description L-162
overview L-18
GETMAIN storage allocation
instruction 1-25
GETPAR3 1-69
GETSEQ Indexed Access Method CALL
coding description L-342
overview L-27, S-147
return codes L-343
GETSTORE TERMCTRL function L-288
GETTIME timing instruction
coding description L-167
overview L-50, S-32
GETVAL subroutine, $EDXASM 1-234
GETVALUE terminal I/O instruction
coding description L-169
overview L-44, S-47
GIN graphics instruction
coding description L-172
overview l-26
global area, $EDXASM 1-224
GLOBAL ATTNLIST L-61
GO activate stopped task, $DEBUG
command U-93
GOTO
change execution sequence,
$DEBUG command U-94
coding sequencing instruction
coding description L-173
overview L-34
graphics
conversion algorithm 1-201
functions overview l-26
hardware considerations C-6,
C-300
instructions l-26
CONCAT L-72
GIN L-172
PLOTGIN l-210
SCREEN l-270
XYPLOT L-324
YTPLOT L-325
requirements L-26
terminals S-46
utilities
$DICOMP U-105
$DIINTR U-127
$DIUTIl U-150
session manager S-216,
U-40
summarized S-64, U-5
GT (greater than) l-34

Common Index

499

H-conversion L-152
hardcopy function for terminals
PF6 1-114, U-7
hardware levels 5-30
HCF (see Host Communications
Facility)
HDRI tape label 5-239
header labels, tape 5-235
header record
Remote Management Utility
C-209
header record format, text editor
1-323
HELP list debug commands, $DEBUG
command U-94
higher-level index block 5-197
horizontal tabs, defining with
$IMAGE U-252
host assembler U-382
Host Communications Facility
C-81, 1-153
data set naming conventions
C-82
Program Preparation
5ystem/370 1-153, U-382
TPCOM module description 1-81
utility program, $HCUTI C-I07
host program, Remote Management
Utility C-205
host system considerations C-83
H05TCOMM configuration statement
5-83
HX display hex words, $DICOMP
subcommand U-118

I

initialization, $INITD5K command U-257
insert line, $F5EDIT line
command U-229
I-conversion (Iw) L-148
I/O device instruction level L-24
I/O error logging
data set list utility,
$DI5KUT2 U-142
device table 5-276
invoking 5-273, U-292
log control record 5-276
log data set U-292
LOG macro
equates 5-278
syntax 5-272
printing the errors 5-275
recording the errors 5-270
tape log entries 5-245
utility, $LOG U-292
I/O functions
disk/diskette 1-95, L-22
summarized 5-46
EXIO control 1-123, L-24
summarized 5-51
H05TCOMM configuration
statement L-39, 5-83
overview 5-45
sensor 1-127
summarized 5-51
500

5C34-0313

tape L-40, L-75
terminal 5-46
timers L-50, 5-32
I/O instructions
disk L-22
diskette L-22
tape L-40
IACB indexed access control block
built by connecting data set
5-159
definition A-20
description A-35
location A-14
lAM Indexed Access Method link
module 5-155
IAMEQU Indexed Access Method copy
code module L-12, 5-155
IDCB EXIO control statement
coding description L-175
overview L-24
IDCHECK function C-223, 1-166,
1-177
identification, verify
host system C-223
IDCHECK function C-223
remote system C-223
IF program sequence instruction
coding description L-177
overview L-34
II insert block, $F5EDIT line
command U-231
lIB interrupt information byte,
Multiple Terminal Manager C-128
1M insert member
$DICOMP subcommand U-118
$PD5 5-257
image dimensions, define, DIM5
$IMAGE command U-251
image store U-205
immediate action routines 1-46
binary synchronous access
method 1-149
specifying maximum number
5-88
task supervisor 1-48
immediate data L-4
IN
initialize data base, $DIUTIL
command U-157
insert or delete elements,
$DICOMP command U-I07
INCLUDE $LINK control record
U-398
INCLUDE statement requirement
(EXTRN) L-134
index block A-20, A-33
overview 5-151
index entry A-12
index record contents, text
editor 1-323
index registers
floating-point operations
using L-21
integer operations using L-19
software introduction L-6
indexed access control block (see
IACB/ICB)
Indexed Access Method L-26, L-327
$IAM load module 5-155
$IAMUT1 utility U-235
overview 5-148
parameters 5-187
used in data set
reorganization 5-166
application program

(.)

\.,

c~

C,'
.

I

preparation
$JOBUTIL procedure 5-158
link edit control 5-158
CALL instruction syntax L-68,
5""146
CALL processing A-4
~oding instructions
L-327
control block linkages A-15
control flow A-3
data block location
calculation A-9
~evices supported by
5-146
~iagnostic aids
A-I0
I/O requests
DELETE L-329, 5-147
DI5CONN L-332, 5-148
END5EQ L-334, 5-147
EXTRACT L-336, 5-148
GET L-338, 5-147
GET5EQ L-341, 5-147
LOAD L-344, 5-147
PROCE55 L-347, 5-147
PUT L-350, 5-147
PUTDE L-352, 5-147
PUTUP L-354, 5-147
RELEA5E L-356, 5-147
lAM link module 5-155
pperation 5-148
ov,rview L-27, 5-145
performance 5-205
program preparation procedure
5 ... 155
record processing A-6
request processing A-5
request verification A-10
storage requirements 5-204
'",d, .~ed.applications, planning and
·,:I.11gn1ng
,
Qonnecting and disconnecting
data sets 5-159
handling errors
data-set-shut-down condition 5-179
deadlocks 5-180
error exit facilities
5-178
long-lock-time condition
5-180
system function return
codes 5-179
lQading base records 5-160
processing indexed data sets
delete 5-165
direct read 5-161
direct update 5-162
extract 5-165
insert 5-146
sequential read 5-162
sequential update 5-146
resource contention 5-181
• ndluced data set
I: : base records 5-149
building U-247
concatenating with ALTIAM
subroutine 5-167
qQntrol block arrangement A-8
~reation with $IAMUT1 utility
U-236
formatting 5-187
procedure 5-156
df!51gn A-7
d~termining size and format
.ij"'24 7
format
blocks 5-192

cluster 5-200
data block 5-194
file control block (FCB)
5-151, 5-194
free blocks 5-200
free pool 5-203
free records 5-200
free space 5-184
higher-level index block
5-197
index 5-195
index block 5-194
introduction 5-151
last cluster 5-203
primary-level index block
(PIXB) 5-152, 5-195
relative block number
(RBN) 5-152
reserve blocks 5-201
reserve index entries
5-202
second-level index block
(5IXB) 5-152, 5-197
sequential chaining 5-203
loading and inserting records
5-150
maintenance
backup and recovery 5-165
deleting 5-167
dumping 5-167
recovery without backup
5-166
reorganization 5-166
overview 5-148
physical arrangement A-8
preparing the data
defining the key 5-166
estimating free space
5-168
selecting the block size
5-167
putting records into 5-149
RBN, relative block number
A-7, A-12
record locking 5-146, 5-160
verification A-11
indexed data set, defining U-237
indexed file (see Indexed Access
Method)
indexing, address feature L-6
initial program load (see also
IPL) 1-15
initialization
automatic application 5-129
disk (4962) U-68, U-73
disk (4963) U-68, U-78
diskette (4964,4966) U-68
libraries, $INITD5K utility
U-256
modules 1-16
nucleus 1-15
Remote Management Utility,
internals 1-166, 1-171
tape, $TAPEUT1 utility U-322
task 1-15
initialize data base, IN $DIUTIL
command U-157
initializing secondary volumes
5-132
INITMOD5, initialization modules
1-16
INITTA5K, initialization task
1-15
input, terminal I/O L-46

Common Index

501

Input Buffer, Multiple Terminal
Manager C-116
contents during 4978/4979/3101
buffer operation C-129
description C-116
input data parsing, description
of 1-218
Input Error function 1-166, 1-182
input/output (see I/O)
input output control block (see
IOCB)
INPUT switch to input mode,
$EDIT1/N editor subcommand U-192
insert
block, II $F5EDIT line command U-231
elements, IN $DICOMP command
U-107
line, I $F5EDIT line command
U-229
member, 1M $DICOMP subcommand
U-118
instruction address register (see
IAR)
instruction and statements - overview l-15
instruction definition and
checking ($EDXA5M) 1-241
instruction format, Event Driven
language 1-67, l-3
instruction format, general l-3
instruction operands l-3
integer and logical instructions
l-19
interactive program debugging
5-67, U-82
interface routines, supervlsor
1-61
interprocessor communications
C-29
interprogram dialogue 5-282
interrupt, from EXIO device 1-125
interrupt information byte (see
lIB)
interrupt line 5-313
interrupt servicing 1-46, 1-113
INTIME timing instruction
coding description l-181
overview l-50, 5-32
introduction to EDl l-1
invoking the loader 1-23
invoking the session manager U-27
invoking the utilities U-47
IOCB terminal I/O instruction
coding description l-183
constructing, for formatted
screen ($IMDEFN) 5-301
overview l-44, 5-47
structure 5-296
terminal I/O instruction
l-183
TERMINAL statement converted
to 5-96
IODEF sensor based I/O statement
U-364
coding description l-185
overview l-39, 5-51
5PECPI - process interrupt
user routine l-189
IOlOADER, function of 1-127
IOlOADER/IOLOADRU sensor based I/O
init. module desc. 1-78
lOR data manipulation instruction
coding description l-191
overview l-19
502

5C34-0313

IPl

automatic application initialization and restart 5-129
messages U-421
date and time U-425
IPl operation U-421
load utility location
U-424
sensor I/O status check
U-424
storage map generation
U-423
tape initialization U-423
volume initialization
U-422
procedure U-421
IPlSCRN, Multiple- Terminal
Manager C-125

()

job U-278
job control statement U-278
JOB job identifier, $JOBUTIL
command U-278
job stream processor, $JOBUTIl
5-69, U-27l
job stream processor utilities
(session manager) S-216
JP
jump ($PDS) 5-255
to address, $DICOMP
subcommand U-118
JR jump reference, $DICOMP
subcommand U-118
JUMP, $JOBUTIL command U-279
jump reference, JR $DICOMP
subcommand U-118
jump to address, JP $DICOMP
subcommand U-118

key (see program function (PF)
keys
keyboard and ATTNlI5T tasks, terminal I/O l-47
keyboard define utility for 4978,
$TERMUT2 U-339
KEY5 list program function keys
$IMAGE command U-253
keyword operand l-5

lA

display directory, $DIUTIl
command U-158
list all members, $DISKUT1
command U-135, U-136
list terminal assignment,
$TERMUT1 command U-336
label l-3
field l-3
syntax description L-4

o

c

LABEL end jump, $JOBUTIL command
U-280
labels, tape (see tape)
LABELS subroutine, $EOXASM 1-238
LACTS list all members CTS mode,
$DISKUT1 command U-135
language control data set,
$EDXASM 1-221, U-357
LASTQ queue processing
instruction
coding description L-191
overview L-37, S-32
layers, terminal I/O 1-108
LB display characters
$OICOMP display character subcommand U-119
$POS S-252
LC load control store, $TERMUT2
command U-342
LO
list all hardware devices,
$IOTEST command U-269
list data members, $OISKUT1
command U-138
LOCTS list data members CTS mode,
$OISKUT1 command U-135
LE (less than or equal) L-34
level status block (see LSB)
LEWORK1 work data set for $LINK
U-400
LEWORK2 work data set for $LINK
U-400
LH display member header, $OIUTIL
command U-159
LI
draw line $OICOMP subcommand
U-120
draw line $POS S-253
load image store, $TERMUT2
command U-342
library
definition 5-52
directory, disk or diskette
1-87
origin 5-60
line
commands, $FSEDIT U-229
continuation, source
statement L-4
editing, $EOIT1/N U-203
pointer reposition (see move
line pointer)
source line continuation
U-361
LINK, Multiple Terminal Manager
CALL
coding description C-131,
L-374
internals M-9
overview C-115, L-29
link edit process, $LINK U-394
autocall option U-393
building an EOX supervisor
U-394
combining program modules
U-392
control records U-396
elimination of duplication
control sections U-393
formatting modules for
$UPOATE U-392
input to $LINK U-396
multiple control sections
U-392
object module record format

U-407
output from $LINK U-403
storage map U-393
link edit program object modules
U-390
link module, Indexed Access
Method 5-155
linkage editor S-71, U-353
LINKOH, Multiple Terminal Manager
CALL
coding description C-132,
L-376
internals M-9
overview C-115, L-29
list
active programs, $A operator
command U-l1
breakpoints and trace ranges,
BP $OEBUG command U-92
characters, LB $OICOMP
subcommand U-119
data members, LO $OISKUT1
command U-138
data members, LOCTS $OISKUT1
command U-135
data set
BROWSE $FSEOIT option
U-213
LP $OISKUT2 command U-143
LU $OISKUT2 command U-146
status, ST $OIUTIL
command U-162
date/time, $W operator
command U-25
date/time, TO $OICOMP
subcommand U-124
devices, LO $IOTEST command
U-269
end, EP $OICOMP subcommand
U-117
error specification, ERRORS
$EOXASM command U-358
hardware configuration, LO
$IOTEST command U-264
insert mask, MASK $FSEOIT line
command U-232
member, LM $DISKUTI command
U-138
member, PR $OICOMP command
U-108
member header, LH $DIUTIL command U-159
members, all
LA $DISKUT1 command U-135
LA $DIUTIL command U-158
LACTS $DISKUTI command
U-135
processor program, $EOXLIST
U-370
program function key codes,
$PFMAP utility U-301
program function keys, KEYS
$IMAGE command U-253
program members, LP $DISKUTI
command U-139
program members, LPCTS
$OISKUTl command U-135
status of all tasks, WHERE
$DEBUG command U-102
storage, $0 operator command
U-15
terminal
names/types/addresses, LA
$TERMUT1 command U-335
variables, VA $DICOMP
Common Index

503

subcommand U-125
volume information, VI $IOTEST
command U-270
LIST commands
data set
LIST $EDITI/N command
U-193
LIST $FSEDIT option U-217
display lines of text,
$EDIT1/N editor subcommand
U-193
display storage or registers,
$DEBUG command U-95
lines of text, LIST $EDIT1/N
editor command U-176
list device option, $EDXASM
command U-358
list device option, $EDXLIST
command U-370
obtain full listing, LIST
$EDXASM command U-358
print data set, $EDITI/N
command U-176
print data set, $FSEDIT
option U-217
registers, LIST $DEBUG
command U-95
storage, LIST $DEBUG command
U-95
listing control functions U-29
listing control instructions
EJECT L-109
overview L-28
PRINT L-216
SPACE L-275
TITLE L-308
LISTP list to $SYSPRTR, $DISKUT1
command U-135
LISTT list to terminal, $DISKUTI
command U-135
LL list log data set, $DISKUT2
command U-145
LM list member, $DISKUT1 command
U-138
LO load indexed file, $IAMUTI
command U-241
LOAD
Indexed Access Method CALL
coding description L-344
connect file S-159
overview L-27, S-146
return codes L-346
task control instruction
coding description L-194
internals 1-24
overview L-42
return codes L-199
used with automatic
initialization S-129
used with overlays S-40
load mode S-149
load point defined L-40
load program
$L operator command 1-23,
U-17
automatic initialization
S-129
EXEC $JOBUTIL command U-277
loading overlays 1-22
loading programs 1-19
locate data sets and overlay
programs, $PREFIND U-302
LOCATE locate requested line
number $FSED1T primary comman
U-223
504

SC34-0313

location dictionary 1-250
lock
locks, block and record A-16
locks, file A-17
record S-146
LOCK TERMCTRL function L-288
LOG
I/O error logging macro 5-271
job processor commands,
$JOBUTIL command U-281
log data set for I/O errors U-292
logical end-of-file on disk S-324
logical screens S-293
logon menu for session manager
S-212, U-27
long-lock-time condition S-180
low storage
during IPL 1-16
during program load 1-20
LP
list data set on printer,
$DISKUT2 command U-144
list program members, $DISKUT1
command U-139
LPCTS list program members CTS
mode, $DISKUT1 command U-135
lR draw line relative
$DICOMP subcommand U-121
$PDS S-257
LS
list space, $DISKUT1 command
U-140
list supervisor configuration,
$IOTEST command U-270
LSB level status block I-52,
U-427
IT (less than) L-34
LU list data set on console,
$DISKUT2 command U-146
LV list through volumes, $DISKUTI
U-141

M move line, $FSEDIT line command
U-233
macro assembler
internal overview $S1ASM
1-253
overview S-9
macro library S-6
macro library/host S-5
magazine diskette (see 4966
diskette magazine unit)
magnetic tape (see tape)
MASK display insert mask, $FSED1T
line command U-232
master control block (see MCB)
Mathematical and Functional Subroutine Library S-6
MCB master control block
$PDS S-260
definition A-20
description A-28
MD move data base, $DIUTIL
command U-160
member area S-250
member control block (MCB) S-260
MENU
Multiple Terminal Manager
CALL
coding description C-137,

o

;(~~.

,:,~,.J

o

c

c

l-377
internals M-9
overview C-116, l-29
return to primary option,
$F5EDIT U-223
menu-driven U-2
menus
(see option selection menu)
(see parameter selection
menu)
(see primary menu)
(see primary option menu)
(see secondary option menu)
(see session manager, menus)
(see transaction selection
menu)
MENU5CRN, Multiple Terminal Manager C-126
MERGE merge data, $F5EDIT option
U-217
message, PRINTEXT instruction
L-217
message sending utility, $TERMUT3
U-344
messages U-421
error U-427
$DUMP U-431
$LOG U-432
$RMU U-433
$TRAP U-435
program check U-427
system program check
U-429
IPL (see IPL messages)
Multiple Terminal Manager
C-178
Remote Management Utility
C-279
minimum execution system configuration 5-22
minimum program preparation
requirements 5-22
mirror image
description C-7, 5-109
in TERMINAL configuration
statement 5-101
mixed precision combinations L-20
MM move block, $F5EDIT line
command U-233
modified data 5-307
modify character image tables
U-339
modify character string, CHANGE
$EDIT1/N editor subcommand
U-184
$F5EDIT primary command U-219
modify default storage allocation,
$DI5KUT2 U-149
modifying an existing data set,
$F5EDIT U-215
modifying TERMINAL statement for
new I/O terminal 1-119
module descriptions
-$51A5M 1-269·
supervisor 1-75
module names and entry points,
supervisor
Version 1.1 5-347
Version 2 5-357
move
block, MM $F5EDIT line command U-233
line pointer
BOTTOM $EDIT1/N editor
subcommand U-183

DOWN $EDITI/N editor
subcommand U-189
TOP $EDITI/N editor
subcommand U-200
UP $EDIT1/N editor
subcommand U-201
tape U-324
text
$ED1Tl/N editor subcommand U-195
$F5EDIT line command
U-233
volumes on disk or diskette,
$MOVEVOL utility U-294
MOVE data manipulation
instruction
coding description L-201
overview L-19
MOVEA data manipulation
instruction
coding description L-204
overview L-19
MOVEBYTE subroutine, $EDXA5M
1-236
MP
move beam, $DICOMP subcommand
U-121
move position ($PDS) S-253
MT move tape, $TAPEUT1 command
U-324
MTM5TORE file, Multiple Terminal
Manager C-120, C-171, M-12
MTM5TR, Multiple Terminal Manager
C-169, C-170, M-12
multiple field format L-155
multiple program execution 1-36
multiple program structure S-26
multiple-task programs 1-33
Multiple Terminal Manager
accessing the terminal environment block C-139, M-22
application program C-116
application program languages
L-30
application program manager
C-119, M-4
automatic OPEN/CLOSE C-140,
M-8
CAll
ACTION C-130, l-360
BEEP C-137, L-361
CDATA C-139, l-362
CHGPAN C-135, l-364
CYCLE C-132, L-365
FAN C-139, L-366
F1LE10 C-141, L-367
FTAB C-138, L-372
LINK C-131, L-374
L1NKON C-132, L-376
MENU C-137, L-377
SETCUR C-137, L-378
SETPAN C-134, L-379
WRITE C-133, L-381
coding instructions L-359
components C-123, M-4
considerations for 3101
terminal C-122
data files C-120
MTMSTORE file C-120,
C-171, M-12
PRGRM5 volume C-120,
C-173
SCRNS volume C-120, C-173
TERMINAL volume C-120,
C-171
Common Index

505

direct file request types
. C-144, l-370
disk file support C-140
distribution and installation
C-161
dynamic screen modification
and creation C-136
file control area C-142
file I/O considerations (Event
Driven Executive) C-146
file management C-118, M-8
FIlEIO, disk file support
C-140
FIlEIO Indexed Access Method
considerations C-148
fixed screen formats C-125
functions (callable routines)
C-117, C-124
indexed file request types
C-144, l-369
indexed file support C-140,
l-367
initialization programs
C-119, C-158, M-4, M-6
Input Buffer C-116, C-127
Input Buffer Address C-116
Input Buffer during
4978/4979/3101 buffer operation C-127
interrupt information byte
C-128
messages C-178
module list M-4
operation C-115
Output Buffer C~116
Output Buffer Address C-127
Output Buffer during
4978/4979/3101 buffer operation C-128
overview l-29, S-10
program management C-115, M-4
program preparation
COBOL C-166
Event Driven language
C-164
FORTRAN C-165
Pl/I C-167
programming considerations
COBOL C-153
Event Driven language
C-151
FORTRAN C-152
Pl/I C-155
return codes (FIlEIO) C-145,
L-371
screen definition C-121
screen formats C-125
IPlSCRN C-125
MENUSCRN C-126
SCRN5REP C-126
SIGNONSC C-126
screen panel manager M-7
SIGNON/SIGNOFF C-156
SIGNONFl C-174
storage requirements C-168
swap out data set C-116
system generation
considerations C-169
data set requirements
C-171, C-175
volume requirements C-169
terminal environment block
(TEB) C-128, M-13
TERMINAL file C-124, C-172
terminal manager C-121
506

SC34-0313

terminal/screen management
C-117
terminal server C-119, M-7
terminal support C-114, C-126
transaction oriented
applications C-121
user application programs
C-124
utilities C-159
DISCONNECT turn off
specified terminals
C-159
programs report C-159
RECONNECT turn on
specified terminals
C-159
screens report C-160
terminal activity report
C-159
work areas, control blocks and
tables M-l1
buffer areas M-15,. M-29
common area M-l1, M-25
file table M-15, M-27
MTMSTORE data set M-12
program table M-14, M-21
screen table M-14, M-21
terminal environment block
(TEB) M-13, M-22
terminal table M-13, M-21
MULTIPLY data manipulation
instruction
coding description l-205
overview l-19
precision table l-206
multiprogramming
automatic application initialization S-129
design feature S-13
multitasking 1-42

NE (not equal) l-34
newline subroutine, terminal I/O
1-112
NEXTQ queue processing
instruction
coding description l-207
overview l-37, 5-32
NOFlOAT floating-point command
entries module description 1-79
NOlIST no list option, $EDXASM
command U-358
NOMSG message suppression,
$JOBUTIl command U-282
non-compressed byte string S-309
non-labeled tapes
description S-241
layout S-242
processing S-243
NOTE disk/tape I/O instruction
coding description l-209
overview l-22
notify of an event (see POST)
NQ reset prompt mode, $COPYUT1
command U-64
nucleus initialization 1-15
null character U-253
NUll define null representation
$IMAGE command U-253

o

o

C

"i

,

(

null representationl defining
U-253
number representation conversion
(see conversion)

I

""""

'"

,j

c

object data set for $EDXASM U-357
object module record format l
$LINK U-407
object text elements, format ofl
$EDXASM I-215
OFF (set tape offline) L-75
OFF remove breakpoints and trace
rangesl $DEBUG command U-97
OLE operand list elementl $EDXASM
format of 1-216
in instruction parsing
($EDXASM) 1-220
used in $IDEF 1-241
online debug aids 5-67
op (operation field) L-3
OPCHECK subroutinel $EDXASM 1-232
opcode table, instruction parsing
($EDXA5M) 1-220, 1-223
open a data set
disk or diskette 1-90
tape 1-99
open EXIO device, EXOPEN 1-125
open member ($PDS) S-261
OPENIN Host Communications
Facility, TP operand C-93
OPENOUT Host Communications
FacilitYI TP operand C-94
operands
defined L-3
keyword L-5
parameter naming (Px) L-8
operating conventions, supervisor
program 1-67
operating environment S-22
operation codel instruction
parsing ($EDXA5M) 1-220
operation codes, Event Driven
Language 1-68
operations using index registers
L-20
.
operator commands 5-63, U-9
operator signals, terminal I/O
L-49
option selection menu U-33
optional features support L-15
OTE define object text element
$EDXASM instruction 1-227
OUTPUT $LINK control record U-399
Output Buffer, Multiple Terminal
Manager C-116, C-128
contents during 4978/4979/3101
buffer operation C-129
definition M-29
overflow L-20
overlay function processor table
1-167, 1-220
overlay program S-40
instructions, $EDXASM 1-259
loading 1-22
locating, $PREFIND U-302
subroutines, $EDXASM 1-231
user 1-38
overlay program execution 1-38
overlay selection, instruction
parsing ($EDXASM) 1-223

overlay table 1-167 1 I-220
overview
data definition statements
L-17
data formatting instructions
L-18
data format module names
L-18
data manipulation
instructions L-19
data representation L-19
mixed-precision
operations L-20
operations using index
registers L-20
overflow L-20
vector L-19
disk I/O instructions L-22
EXIO control instructions
L-24
floating-point arithmetic
l-20
floating-point arithmetic
instructions l-20
data representation l-21
operations using index
registers L-21
return codes L-21
graphics instructions L-26
Indexed Access Method
instructions L-27
instructions and statements
L-15
integer and logical
instructions l-19
listing control statements
L-28
Multiple Terminal Manager
instructions L-29
program control statements
L-32
program module sectioning
statements L-33
program sequencing
instructions L-34
queue processing l-37
sensor-based I/O statements
L-39
single-precision L-19
system configuration
statements L-39
tape I/O instructions L-40
task control instructions
L-42
terminal I/O instructions
L-44
timing instructions L-50

P/I (see process interrupt)
PA patch, $DISKUT2 command U-147
page eject 5-63, U-16
parameter equate tables L-11
parameter naming operands in the
instruction format L-8
parameter passing, Remote
Management Utility C-212
parameter selection menu U-33
parameter tablesl control block
and L-l1

Common Index

507

PARM program parameter passing,
$JOBUTIL command U-283
parsing, input data ($EDXASM)
I-218
partition assignment changing, $CP
operator command U-14
partitioned data sets S-247
partitions S-42
PASSTHRU function
conducting a session C-227
establishing a session C-225
internals 1-166, 1-179
overview C-225
programming considerations
C-237
sample program C-265
types of records C-232
virtual terminals C-239
Passthru record C-209
patch
disk/diskette, PA $DISKUT2
command U-147
Remote Management Utility
defaults C-283
storage, $P operator command
S-63, U-18
storage or registers, PATCH
$DEBUG command U-98
PATCH modify storage or registers,
$DEBUG, command U-98
PAUSE operator intervention,
$JOBUTIL command U-284
PC plot curve
$DICOMP subcommand U-119
from plot curve data member
($PDS) S-255
PD pulse DO, $IOTEST command
U-265
PF,code TERMCTRL function L-288
PF keys (see program function
keys)
phase execution and loading,
$S1ASM 1-255
PI process interrupt (see process
interrupt) U-267
PID program directory S-27
PIXB (see primary-level index
block)
PL/I
execution requirements S-24
link editing S-71
overview S-8
program preparation
requirements S-23
supported by Multiple Terminal
Manager C-200
Pl plot data, $DICOMP subcommand
U-122
plot control block (see PLOTCB)
plot curve data member ($PDS)
S-251
PLOTCB graphics plot control
block L-210
PLOTGIN graphics instruction
coding description. l-210
overview L-26
POINT
disk/tape instruction
coding description l-212
overview L-22, S-54
point-to-point (BSC) S-65
point-to-point vector drawing
S-46
POST
post an event, $DEBUG command
508

SC34-0313

U-100
task control instruction
.. J.
coding description L·II~
internals I-58
overview L-42, 5-~4
:
supervisor function %~4'
power outage, restoring aftar
S-129
PR print member, $OICOMP commana
U-I08
preC1Slon l-19
floating-point arithmetic
l-21
integer and logical L-19
precision combinations,
allowed L-20
precision table
ADD L-53
ADDV L-54
DIVIDE L-101
~1UL TIPL Y
L-206
overview l-20
SUBTRACT L-284
prafind U-302
PREPARE IDCB command L-175
PRGRMS volume, Multiple TQrmih~i
Manager C-120, C-173
primary
commands, $FSEDIT U-218
option menu, $FSEDIT U-21J
option menu, session manag~~
S-218, U-35
task
internals 1-29
overview S-29
volume S-60
primary-level index block
description S-195
overview S-151
PRINDATE terminal I/O instruct""
coding description l-21S
overview L-44, S-47
timer-related instruction
S-33
PRINT listing control statement
coding description L-216
overview l-28
print member, PR $DICOMP co~~ahd:
U-I08
PRINTEXT terminal I/O instructioH
coding description l-217
overview l-44, S-47
return codes l-219
~.
PRINTIME terminal I/O instruct •• ~·
coding description l·221
o v e r view l- 4 4, l- 50, S- 41
timer-related instruction
S-33
PRINTNUM terminal I/O instruct'Oft
coding description l-222
overview l-44, S-47
PRINTOH define terminal name,
$RJE2780/$RJE3780 C-75
priority
assigned to tasks 5-29
design feature S-13
illustrated S-38
internals 1-31
task l-226, l-286
PROC identify nested procedura,
$JOBUTIl command U-286
.
procedures, session manager ( •••
session manager)
PROCESS Indexed Access Method
CALL
>

o

c

coding description L-347
overview L-27, S-147
return codes L-349
process interrupt
control block (SBIOCB) 1-128
description S-48
IODEF statement L-189
IOTEST command U-267
supported by sensor I/O S-15
user routine (SPECPI) L-189
process mode
definition S-150
processing compiler output with
$LINK or $UPDATE U-360
processor status word (see PSW)
PROGEQU L-13
program
equates I-312
assembly/compilation U-352
control L-32
disabling S-102
entry (see $FSEDIT, $EDIT1/N)
function (PF) keys L-47
internals 1-108
listing, KEYS $IMAGE
command U-253
listing 4978, $PFMAP
utility U-301
when using $FONT edit
mode U-206
~hen using $FSEDIT
U-211
when using $IMAGE edit
mode U-255
when using session
manager U-28
header 1-30
identifier, $JOBUTIL command
U-287
internal processing 1-30
library update (see $UPDATE)
load process, $PREFIND U-302
loading (see also LOAD) 1-19
module sectioning functions
L-33
organization S-29
sequencing functions L-34
structure S-29
termination, EXIO 1-126
types 1-32
program check error messages
U-427
program execution via Remote Management Utility
EXEC function C-220
PASSTHRU function C-225
SHUTDOWN function C-251
PROGRAM identifier, $JOBUTIL
command U-287
program preparation
$EDXASM 1-211, U-356
$S1ASM 1-253, U-372
host assembler U-382
of Remote Management Utility
1-184
summary S-18
usage example S-367
Program Preparation Facility
description S-71
overview S-5
program preparation utilities
U-351
program preparation utilities
(session manager) OU-36, 5-214
program/storage manager, Multiple
Terminal Manager M-4

program structure S-36
internals 1-33
program/task concepts 1-29, S-29
PROGRAM task control instruction
coding description L-225
internals 1-30
overview L-42, S-31
PROGSTOP task control statement
coding description L-234
overview L-42, S-31
prompting and advance input,
terminal I/O L-46
protected field S-307, U-253
protocol, BSC transmission 1-156
P5W processor status word U-430
PU PUNCHO/PUNCHS function,
$RJE2780/$RJE3780 reset type
C-76
pulse a digital output address, PD
$IOTE5T command U-264
PUNCHO/PUNCHS define output file,
$RJE2780/$RJE3780 C-75
purpose of EDL L-1
PUT Indexed Access Method CALL
coding description l-350
overvi e~... L-27
return codes L-351
PUTDE Indexed Access Method CALL
coding description L-352
overview L-27
return codes L-353
PUTEDIT data formatting
instruction
coding description L-236
overview L-18
return codes L-238
PUTSTORE TERMCTRL function L-288
PUTUP Indexed Access Method CALL
coding description L-354
overv i e~o,J L-27
return codes L-355
Px L-8

QCB task control statement S-33
coding description L-240
overview L-42
queue control block 1-45,
I-54
QD queue descriptor 1-64, L-37
QE queue entry
functions 1-64
overview L-37
processing 5-32
QUALIFY modify base address,
$DEBUG command U-101
QUESTION terminal I/O instruction
coding description L-242
overview L-44, 5-47
queuable resource 5-33
queue control block (see QCB)
queue descriptor (see QD)
queue entry (see QE)
queue processing 1-64
queue processing instructions
L-37
queue processing supp~rt module,
QUEUEIO, description 1-81
QUEUEIO queue processing support
module description 1-81

Common Index

509

RA reassign address, $TERMUTI command U--336
random access 5-53
random work file operation,
$SlASM 1-260
RCB (see Remote Management
Utility, control block)
RDCURSOR terminal I/O instruction
coding description l-244
overview l-44, $-47
RE
copy from basic exchange data
set, $COPY command U-59
rename, $TERMUTI command
U-337
rename member, $DISKUTl command U-135, U-136
rename member, $D!UTIl
command U-161
reset parameters, $IAMUTI
command U-243
restore 4974 to standard
character set, $TERMUT2
U-339
read
analog input, AI $IOTEST
U-268
character. image table from
4978, GET $FONT U-206
data set into work file
$EDITI U-177
$EDITIN U-176
$FSEDIT U-216
digital input, 01 $IOTEST
command U-266
digital input using external
sync U-266
Host Communications FaCility,
TP operand C-95
IDCB command l-175
operations (BSC) 1-157
program, RP command
$UPOATE U-410
$UPDATEH U-419
READ instruction
disk/diskette return codes
l-249, U-455
disk/diskette/tape I/O
instruction
coding description l-245
overview l-22
tape return codes l-249,
U-456
REAODATA read data from host,
$HCFUTI command C-I08
READID IOCB command L~115
READOBJ read object module,
$HCFUTI command C-I09
REAOTEXT terminal I/O instruction
coding description L-251
overview L-44, $-48
.
return codes l-255
return codes, virtual terminal
communications L-256
ready a task supervisor execution
state 1-43
READI IDCB command L-175
READ80 read 80 byte records,
$HCFUTI command C-I09
real image ACCA terminals C-7

510

SC34-0313

realtime data member
$POS S-251
RT $D1COMP subcommand U-124
RECEIVE function
overview C-243
sample program C-262
RECONNECT Multiple Terminal
Manager utility C-120, C-159
record
blocking, Remote Management
Utility C-211
definition S-53
exchange, Remote Management
Utility C-208
format for object module,
$lINK U-407
header, Remote Management
Utility C-209
sizes, Host Communications
Facility C-83
reformat diskettes U-68
register, index l-6
register, software l-6
register conventions
$SIASM 1-257
BSCAM processing 1-147
common emulator setup routine
1-68
EnCOIC to floating-point
conversion 1-205
summary chart $SIASM 1-258
terminal I/O support 1-106
REl release a status record,
$HCFUTI command C-I10
relational statements l-180
RELEASE
Host Communications Facility,
TP operand C-96
Indexed Access Method CALL
S-147
coding description l-356
overview L-27, S-147
return codes l-357
release a status record, REl
$HCFUTI command C-110
release space ($PDS) S-261
relocating program loader 1-19
relocation dictionary, $EOXASM
1-250
REMARK operator comment, $JOBUT1L
command U-288
remote job entry to host,
$RJE2780/$RJE3780 C-73
Remote Management Utility
CDRRM equates C-292
control block (RCB)
description 1-164, 1-169
equate tables C-292,
1-295
use in problem determination 1-190
defaults C-283
error handling C-277
function table 1-164, 1-167
functions C-206, 1-166
installation C-281
interface C-207
internals 1-216
logic flow 1-170
messages C-279
modifying defaults C~283
module descriptions 1-191
module list 1-186
operation C-213
overlay function processor

~

,
()

c

o

c

O
r'

'l

table 1-167, 1-220
overlay table 1-167, 1-220
overview C-205
program preparation I-184
requirements C-207
sample host programs C-259
system generation
considerations C-281
TERMINAL statement example
S-107
terminating C-251
remote system (see Remote
Management Utility) C-205
remove breakpoints and trace
ranges, OFF $DEBUG command U-97
rename member
RE $DISKUTI command U-135,
U-136
RE $DIUT1l command U-161
RENUM renumber lines
$EDITI/N subcommand U-196
$FSEDIT primary command U-224
reorganize an indexed data set
U-242
procedure S-166
report data member ($PDS) 5-251
reposition line pointer (see move
line pointer)
Request record C-209
reserved labels l-4
reset
function, $RJE2780/$RJE3780
attention request C-76
IDCB command L-176
Indexed Access Method
ECHO mode, EC $IAMUT1 command U-240
SE command parameters, RE
$IAMUTI command U-243
line command, $FSEDIT primary
command U-225
RESET task control instruction
coding description l-258
overview L-42, 5-31
resident assembler routines 1-256
resolution, enhanced 1-201
resolution, standard graphics
1-201
resource control, supervisor I-54
restart, automatic S-129
restore
disk or disk volume from tape,
RT $TAPEUTI command U-326
dump volume utility, $MOVEVOl
U-294
. 4974 to standard character
set, RE $TERMUT2 command
U-343
resulting field (EOR) l-122
return codes (see also completion
codes)
$DISKUT3 S-319, U-444
$PDS U-445
BSC C-57, U-446
CONVTB l-80
CONVTD L-83
data formatting instructions
U-447
DELETE l-330
DISCONN l-333
ENDSEQ l-335
EXIO U-448
EXIO instruction L-131
EXIO interrupt L-132
EXTRACT l-337

FADD l-136
FDIVD l-138
FIlEIO C-145
floating point instruction
U-450
FMUlT l-145
formatted screen image U-450
FSUB l-160
FTAB C-L38, l-373
GET L-340
GETSEQ l-343
in Remote Management Utility
control block 1-190
Indexed Access Method U-451
lOAD l-199, U-452
LOAD (Indexed Access Method)
L-346
Multiple Terminal Manager
U-453
PRINTEXT l-219
PROCESS L-349
PUT l-351
PUTDE l-353
PUTEDIT l-238
PUTUP l-355
READ disk/diskette l-249,
U-455
READ tape l-250, U-456
READTEXT L-255
RELEASE L-357
SBIO U-457
SBI0 instruction l-262
SETPAN C-135
tape L-77
TERMCTRl L-288
terminal I/O l-255, U-458
ACCA U-459
interprocessor
communications C-31,
U-460
virtual terminal L-256,
U-461
TP (Host Communications Facili~y)
C-I02, U-463
WHERES l-316
WRITE disk/diskette l-320,
U-455
WRITE tape l-320, U-456
return from immediate action
routine (SUPEX1T) 1-49
return from task level (SUPRTURNl
1-49
RETURN program control
instruction
coding description l-259
overview L-32, S-31
supervisor entry point 1-279,
1-313
supervisor interface 1-62
REW (rewind tape) L-75
rewind tape, MT $TAPEUT1 command
U-324
RH reassign hardcopy, $TERMUT1
command U-338
RI read
transparent/non-transparent,
$BSCUT2 commahd C-68
RJE (see Remote Job Entry)
RlOADER 1-19, 1-22
RLOADER/RLOADRU module
description 1-78
RO reorganize indexed file,
$IAMUTI command U-242
ROFF (rewind offline) l-75

Common Index

511

roll screen, terminal I/O l-48,
5-293
RP read program
$UPDATE command U-410
$UPDATEH command U-419
RPQ 002038, 4978 display station
attachment C-6, 5-97
different device
confjgura~ions
C-8
RSTATU5 rDCB command l-175
RT
activate realtime data member,
$DICOM? subcommand U~124
change realtime data member
name ($PD5) 5-258
disk or disk volume from tape,
$TAPEUTI utility U-326
RWI read/write non-transparent,
$BSCUT2 command C-58
RWIV read/write non-tr~nsparent
conversational, $B5CUT2 C-71
RWIVX read/write transparent
conversational, $BSCUT2 C-70
RWIX read/write transparent,
$BSCUT2 command C-67
RWIXMP read/write multidrop
transparent, $BSCUT2 command
C-60

SA saVe data, $DICOMP subcommand
U-124
SAVE
data set on disk, $IMAGE command U-254
work data set, $EDITI/N
subcommand U-197
save current task status
(TASKSAVE) I-54
save data, SA $DICOMP subcommand
U-124
save disk Or disk volume on tape,
$TAPEUTI utility U-330
save storage and registers, $TRAP
utility U-348
SB special PI bit, $IOTEST
command U-267
SBAI sensor based I/O support
module description 1-80
SBAO sensor based I/O support
module description 1-80
SBCOM sensor based I/O support
module description 1-80
SBDIDO sensor based I/O support
module description 1-80
SBIO sensor based I/O instruction
coding description l-260
control block (SBIOCB) 1-127
overview L-39, 5-51
return codes L-262
SBIOCB sensor based I/O control
block 1-127
SBPI sensor based I/O support
module description 1-80
SC save control store, $TERMUT2
command U-343
screen format builder utility,
$IMAGE S-68, U-250
SCREEN graphics instruction
coding description L-270
overView L-26
512

5C34-03I3

screen image format building
U-250
screen images, retrieving and displaying 5-300
screen management, terminal I/O
L-48
SCRN5 volume, Multiple Terminal
Manager C-120, C-173
5CRN5REP, Multiple Terminal
Manager C-125
scrolling, $F5EDIT U-210
5C5S IDCB command L-176
5E set parameters, $IAMUTI
command U-244
SE set status, $HCFUTI command
C-II0
second-level index block
description 5-197
overview 5-153
secondary
disk volumes 5-132
volumes 5-60
secondary option menus S-218,
U-36
(see session manager)
sectioning of program modules
L-33
sector $-52
self-defining terms L-4
send
data, HX $DICOMP subcommand
U-118
data set, SEND function C-247
message to another terminal,
$TERMUT3 utility U-344
SEND function
internals 1-166, 1-172
overview C-247
sample program C-274
sensor based I/O
assignment L-188
I/O control block (SBIOCB)
1-127
modules (IOLOADER/IOLOADRU)
1-78
statement overview L-39
support module descriptions
1-81
symbolic L-9
SEN50RIO configuration statement
5-51, 5-84
sequence chaining L-27
sequencing instructions, program
L-34
sequential access
in Indexed Access Method
5-145
overview S-53
sequential work file operations
($51ASM) I-259
serially reusable resource (5RR)
I-59, 5-33
session, PA55THRU
conducting C-227
establishing C-225
logic flow diagram C-230
using $DEBUG utility C-272
session manager U-27
$5MALLOC data set allocation
control data set 5-222. U-30
$5MDELET data set deletion
control data set 5-222, U-32
adding an option 5-209, 5-224
communications utilities U-42
communications utilities

;1'----'1\

~.;Ji)

o

o

o

S-217
data management S-215
diagnostic utilities
S-217
disk utilities (see data
management)
execute program utilities
5-216
graphics utilities 5-216
job stream processor
utilities S-216
logon menu U-27
primary 5-218, U-35
program preparation
utilities S-214
secondary S-218, U-36
summary of S-213
terminal utilities S-215
updating primary option
S-224
creating a new menu S-224
data management U-38
data set deletion U-32
data sets creation U-29
diagnostic utilities U-43
execute program utilities
U-41
graphics utilities U-40
invoking U-27
invoking a $JOBUTIl procedure
S-229
job stream processor
utilities U-42
menus U-33
minimum partition size
required U-27
operational overview S-209
primary option menu, $SMMPRIM
S-218, U-35
procedures
communications utilities
S-217
data management utilities
S-215
diagnostic utilities
S-217
execute program utilities
S-216
graphics utilities S-216
job stream processor
utilities S-216
overview S-220
program preparation
utilities S-214
terminal utilities S-215
updating S-225
program function keys U-28
program preparation utilities
U-36
secondary option menus S-218,
U-36
storage usage S-211
terminal utilities U-40
text editing utilities U-36
utilities not supported U-46
SET,ATTN TERMCTRL function L-288
set breakpoints and trace ranges,
AT $DEBUG command U-90
set date and time, $T operator
command S-63, U-19
SET Host Communications Facility
TP operand C-97
SET,LPI TERMCTRL function l-288
set status, SE $HCFUT1 command
C-110

set tape offline, MT $TAPEUT1 command U-324
set time, $T operator command
U-19
SETBUSY supervisor busy routine
1-48, 1-63
SETCUR, Multiple Termi~al Manager
CALL
coding description C-137,
L-378
internals M-9
overview C-117, l-29
S ETEOD subrout i ne S-324·
SETPAN, Multiple Terminal Manager
CALL
coding description C-134,
L-379
internals M-9
overview C-117, l-29
return codes l-380
setup procedure for $JOBUTIl
U-271
SG special PI group, $IOTEST command U-267
SHIFTl data manipulation
instruction
coding description l-271
overview l-19
5HIFTR data manipulation
instruction
coding description l-273
overview L-19
SHUTDOWN function C-251, 1-166,
1-181
51 save image store, $TERMUT2 command U-341
SIGNON/SIGNOFF, Multiple Terminal
Manager C-156
SIGNONFL C-174
single program execution 1-35
single-task program 1-33
single task program S-34
SIXB (see second-level index
block)
5LE sublist element, $EDXASM
format of 1-217
in instruction parsi~g
($EDXASM) I-220
instruction description and
format I-229
used in $IDEF 1-241
software register l-6
software trace table S-265
sort/merge S-9
source program compiling S-71
source program entry and editing
S-66, U-351
source program line continuation
using $EDXASM l-4, U-361
source statements, $EDXASM overlay
generated 1-243
SP spool function,
$RJE2780/$RJE3780 reset type
C-76
SPACE listing control statement
coding description l-275
overview l-28
special control characters 5-46
special PI
bit, SB $IOTEST command U-267
group, SG $IOTEST command
U-267
specifications, data conversion
L-146

Common Index

513

SPECPI define special process
interrupt L-189
SPECPIRT instruction
coding description L-276
overview L-39
split screen configuration S-293
SPOOL define spool file,
$RJE2780/$RJE3780 C-76
SQ set prompt made, $COPYUTI
command U-64
SQRT data manipulation
instruction
coding description L-277
overview L-19
S5 set program storage parameter,
$DI5KUT2 command U-149
ST
display data set status,
$DIUTIL command U-162
save disk or disk volume on
tape, $TAPEUTI command U-330
standard labels, tape
EOFI S-240
EOVI S-239
fields S--238
HDRI S-239
header label S-235
layouts S-236
processing 5-236
trailer label S-235
volume label 5-235
VOL1 S-238
START
IOCB command L-176
PROGRAM statement operand
L-225
start and termination procedure,
$OEBUG U-85
STARTPGM 1-16
statemeht label L-4
static screen, terminal I/O
accessing example S-297
overview L-48
statu., set, SE $HCFUTI comm~nd
C-I10
STATUS data definition statement
coding description L-278
overview L-17
status data set, system Host
Communications Facility C-85
5tatus record C-258
STIMER timing instruction
coding description L-280
overview L-50, 5-32
with PASSTHRU function C-238
storage estimating
application program size
S-344
supervisor size S-333
utility program size S-342
storage management
address relocation translator
1-71, 5-42
allocating 1-25
descriptiOn 5-42
design feature $-13
storage map, resident loader 1-26
storage map ($SIASM) phase to
phase 1-262
storage resident loader, RLOADER
1-19
storage usage during program load
1-20
store next record ($PDS) $-261
store record ($PDS) S-261
514

SC34-0313

statement
L-180 -.
SU
submit eX) function,
$RJE2780/$RJE3780 reset type
C-77
submit job to host, $HCFUT1
command C-111
SUBMIT
Host Communications Facility,
TP operand C-98
send data stream to host,
$RJE2780/$RJE3780 C-77
submit job to host, $EDITI
command U-179
submit job to host, $FSEDIT
option U-217
SUBMITX send transparent,
$RJE2780/$RJE3780 C-77
SUBROUT program control statement
coding description L-281
overview L-32, S-31
subroutines
$IMDATA S-303
$I~1DEFN
S-30 1
$IMOPEN S-300
$IrolPROT S-302
ALTIAM concatenation S-167
DSOPEN S-322
overview S-31
SETEOD S-324
SUBTRACT data manipulation
instruction
coding description L-283
overview L-19
precision table L-284
suggested utility usage U-48
supervisor/emulator
class interrupt vector table
1-10, 1-277
communications vector table
1-11, 1-278, 1-313
control block pointers 1-11
design features S-13
device vector table 1-11,
1-278
emulator command table 1-13,
1-282, 1-301
entry routines 1-47
equate table 1-279, 1-313
exit routines 1-49
features S-13
fixed storage area 1-9
functlons 1-44
calling 1-60
generation 1-5, S-115
initialization control module,
EDX1NIT, description 1-81
initialization task module,
EDXSTART, description 1-81
interface routines 1-61
introduction 1-5
module names and entry points
S-309
module summary 1-8
overview S-29
PASSTHRU session with C-225
referencing storage locations
in 1-12
service routines I-53
size, estimating S-333
task supervisor work area
1-13, 1-280
utility functions (see
operator commands)
string.~relational

o

o

( 'i
f

with the address translator
support 1-72
SUPEXIT supervisor exit routine
1-49, 1-63
support for optional features
L';"15
SUPRTURN supervisor exit routine
1-49
surface analysis of tape, $TAPEUT1
utility U-319
SVC supervisor entry routine
1-47, 1-62
SVCABEND supervisor exit routine
1-49
SVCBUF supervisor request buffer
1-48
SVCI supervisor entry routine
1-48
symbol dictionary, $EDXASM 1-250
symbol table types, $EDXASM 1-216
symbolic L-I0
address (disk,tape)
L-10
disk/tape I/O assignments
L-I0
diskette L-10
reference to terminals S-110
sensor I/O addresses L-9
terminal I/O L-10
symbols (EXTRN)
L-134
symbols (WXTRN)
L-323
syntactical coding rules L-4
syntax checking in instruction
parsing ($EDXASM)
I-221
syntax rules L-4
SYSGEN (see system generation)
system
alternate logging device
S-46, S-111
class interrupt vector table
1-10, 1-277
commands (see operator
commands)
common area 1-12
communications vector table
1-11, 1-278, 1-313
control blocks, referencing
1-289
data tables, EDXSYS, module
description 1-75
device vector table 1-11,
1-278
emulator command table 1-13,
1-282, 1-301
generation
procedure S-115
host/remote C-205
logging device S-46, S-110
operational and error
messages U-421
printer S-46, $-110
program check and error
messages U-427
task supervisor work area
1-13, 1-280
SYSTEM configuration statement
L-39, $-86
system configuration statements
$-75
system control blocks $-42
system reserved labels L-4

TA allocate tape data set,
$TAPEUT1 command U-333
tables, parameter equate L-11
tabs
HTAB $IMAGE command U-252
TASSET $EDIT1/N subcommand
U-198
VTAB $IMAGE command U-254
TABSET establish tab values
$EDIT1/N editor subcommand U-198
tape
bypass label processing $-244
control L-74
data set L-40
defining volumes $-62
definitions for data sets
L-40
end-of-tape (EOT)
L-41
I/O instructions L-40
internals 1-97
labels
external $-233
internal $-233
load point (BOT)
L-40
non-label
layout S-242
processing S-243
support $-241
record L-40
return codes L-77, U-455
standard label
fields S-238
layout $-236
processing S-236
support $-235
storage capacity S-59
symbolic addressing L-10
utility, $TAPEUT1 $-233,
U-311
volume L-40
TAPE configuration statement $-94
tape data set control block 1-99
tape device data block (see TDB)
TAPEINIT, tape initialization module-description 1-82
tapemark L-74
task
active/ready level table I-50
concepts 1-29
control 1-42
control block (see TCB)
definition and control functions
dispatching I-52
error exit facility
check and trap handling
$-268
linkage conventions $-269
execution states 1-43, S-39
internals 1-42
multiple-task program 1-33,
$-34
overview L-42, $-29
priority (see priority, task
execution)
single-task program 1-33,
$-34
states $-39
status display, WHERE $DEBUG
command U-102
structure $-29
Common Index

515

superv!sor 1-42
superVlsor address translator
support module 1-76
supervisor functions 1-44
supervisor work area 1-13,
1-280
switching I-51, S-30
synchronization and control
I-54, S-30
task code words L-8
TASK task control statement
coding description L-285
overview L-42, S-31
TASKSAVE supervisor service
routine I-54
TCB task control block 1-32,
1-43, 1-49, I-56, 1-314
TCBEQU L-13
TO
display line and data ($POS)
5-258
display time and date, $OICOMP
subcommand U-124
test display, $DICOMP command
U-I08
TOB, tape device data block
description 1-97
equate listing 1-316
TEB terminal environment block
C-128, M-13
Tektronix C-6
devices supported S-14, 5-45
support for digital I/O 5-312
teleprocessing (see TP)
teletypewriter adapter C-7, C-21
TERMCTRL terminal I/O instruction
coding description L-288
overview L-44
return codes L-301
TERMERR L-44
terminal
#7850 teletypewriter adapter
C-21
ACCA support C-7, L-295
ASCII C-7
assignment list, LA $TERMUTI
command U-336
attention handling L-47
attention keys L-47
code types C-303
configuration utility,
$Tl:RMUTl U-334
connected via digital I/O
5-312
control block (see CCB)
data representation L-46
definition and control
functions 5-47
device configurations C-8
EDXTIO/EDXTIOU module
description 1-78
environment block (see TEB)
error handling L~44
forms control L-46
f~rms interpretation for
display screens L-46
functions
data formatting C-16
definition C-16
interrupt processing C-17
hardware jumpers C-18
I/O L-46
attention handling L-47
data representation L-45
error handling L-44
516

5C34-0313

forms control L-45
prompting and advance
input L-46
screen management L-48
I/O internal design 1-105
I/O support layer 3 1-112
input L-46
keyboard and ATTNLI5T tasks
L-47
message sending utility,
$TERMUT3 U-344
new I/O terminal support
1-117
operations C-14
operator signals L-49
output L-46
output line buffering L-46
program function keys L-47
prompting and advance input
L-46
return codes C-20, L-219,
L-255, U-458
roll screens L-48
sample terminal support
program C-26
screen management L-48
server, Multiple Terminal
Manager C-119, M-7
session manager (see session
manager)
special considerations for
attachments of devices
via #1610 or #2091 with
#2092 adapters C-17
via #2095 with #2096
adapters C-21
special control characters
S-46
static screens L-48
supported devices and
features C-6
terminal I/O L-47
terminology for supported
terminals C-7
transmission protocol C-31
utilities (session manager)
S-215, U-40
virtual I/O 1-115
TERMINAL configuration statement
defaults 5-105
definition 5-96
overview S-48
TERMINAL volume, Multiple Terminal
Manager C-120, C-171
terminate
logging, $LOG utility U-292
Remote Management Utility
C-251
test
BSC lines, $B5CUT2 utility
C-64
generated report or graphics
profile'member U-108
label types, $TAPEUT1 utility
U-319
'
pro~ess interrupt for
occurrence of event, $IOTEST
U-267
TEXT data definition statement
coding description L-305
overview L-17
text editing utilities
edit dataset subroutine examples 1-326
full screen-editor $FSEOIT

()

--~

'J
(

o

o

o

U-209
line editors, $EDITI/N U-169
overview 5-66
work data set, format of
1-321
text wrapping, WRAP function
C-254
time/date
display, $W operator command
U-25
set, $T operator command U-19
set, automatic initialization
facility 5-130
time of day
GETTIME instruction L-167
TIMEDATE Host Communications
Facility, TP operand C-I00
TIMER configuration statement
5-33, 5-112
timer control L-50
timer module descriptions
(EDXT1MER, EDXTIMR2) 1-80
timing instructions L-50, 5-32
TITLE listing control statement
coding description L-308
overview L-28
TONE TERMCTRL function L-288
TOP repostiton line pointer,
$EDITI/N editor subcommand U-200
TP host communication instruction
description
coding description C-90
internals 1-153
subcommand operations 1-157
TPCOM host communications support
module description 1-81
trace printing routine for B5C,
$B5CUT1 C-62, 5-65
trace ranges and breakpoints
setting, AT $DEBUG command U-90
trace routine for B5C, $B5CTRCE
C-61
trace table, software 5-265
transaction program, Multiple
Terminal Manager
functions L-28
Multiple Terminal Manager
C-121
transfer data set to host
5END function C-247
WR $HCFUT1 command C-112
WRITE $EDITI command U-180
WRITE $F5ED1T option U-216
transfer rates for data, Host
Communications Facility C-84
transient program loader 1-19
transmission codes 5-98
transmission protocol, host
communications 1-156
transmitted data, length of, host
communications 1-159
TRAPDUMP force trap dump, $TRAP
attention command U-349
TRAP END end $TRAP use, $TRAP
attention command U-349
TRAPOFF deactivate error trap,
$TRAP attention command U-349
TRAPON activate error trap, $TRAP
attention command U-349

UN unload indexed file, $IAMUT1
command U-246
UNBLINK TERMCTRL function L-288
undefined length records, tape
5-245
UNLOCK TERMCTRL function L-288
unprotected field 5-307, U-253
UP move line pointer, $EDIT1/N
editor subcommand U-201
update utility
$UPDATE convert object program
to disk U-408
$UPDATEH convert host object
program to disk U-418
updating a menu for the session
manager 5-224
user defined data member ($PD5)
5-252
user exit routine L-310
requires Macro Assembler $-71
user initialization modules 1-17
USER program control instruction
coding description L-310
overview L-32
utilities U-47
B5C communications C-61
invoking U-2
listed by type S-64, U-3
overview 5-5
utilities not supported by session
manager menu U-46
utility program size 5-342
utility usage U-48

V verify, $INITD5K command

VA

U-260

display, variable, $DICOMP
subcommand U-125
display variable ($PD5) 5-254
variable length record, Host
Communications Facility C-84
variable length records, tape
5-244
variable names L-4
vary disk, diskette, or tape
offline, $VARYOFF U-20
vary disk, diskette, or tape
online, $VARYON U-22
vector
addition L-19, L-54
data manipulation L-19
vector addition (ADDV)
coding description L-54
overview L-19
verify
disk or diskette data set, V
$IN1TD5K U-260
tape executing correctly, EX
$TAPEUT1 command U-319
tape surface free of defects,
EX $TAPEUT1 command U-319
verify and initialize disk or
diskette library, $INITDSK U-256
verify identification
host system C-223
remote system C-223
Common Index

517

VERIFY verify changes, $EOITI/N
editor subcommand U-202
vertical tabs, defining U-254
VI list volume information,
$IOTEST command U-270
virtual terminal communications
accessing the virtual terminal S-281
creating a virtual channel
S-280
establishing the connection
S-280
inter-program dialogue 5-282
internals 1-115
loading from a virtual
terminal S-281
Remote Management utility
requirements C-281
volume
definitions (disk/diskette)
L-22, S-52
dump restore utility,
$t10V EVO L U-294
labels S-60
VTAB define vertical tab setting,
$IMAGE command U-254

WAIT program sequencing statement
coding description L-313
overview L-42, S-31
supervisor function 1-45,
I-58
wait state, put program in, WS
$IOTEST command U-264
waiting, task execution state
1-43
WE copy to basic exchange diskette
data set, $COPY command U-63
WHERE display status of all tasks,
$DEBUG command U-I02
WHERES task control function
coding description l-315
overview L-42, S-287
return codes L-316
WI write non-transparent, $BSCUT2
command C-69
WIX write transparent, $B5CUT2
command C-69
word boundary requirement
DO L-34
IF L-34
PROGRAM L-225
work data set
$EDXA5M 1-249
$LINK U-400
$SlASM 1-258
work files, $SIASM, how used
1-258
WR write a data set to host,
$HCFUTI command C-112
WRAP function C-254, 1-166, 1-176
WRITE
disk/diskette I/O instruction
coding description L-317
overview L-22
return codes L-320, U-455
Host Communications Facility,
TP operand C-I0l
IDCB command L-175
Multiple Terminal Manager
518

5C34-0313

CALL
coding description C-133,
L-381
internals M-9
overview C-118, L-29
save work data set
$EDITI command U-180
$EDITIN command U-181
$FSEDIT primary option
U-216
tape I/O instruction
coding description L-317
overview L-22
return codes L-320, U-456
write data set to host, WR $HCFUTI
command C-112
write operations, HCF 1-156
WRITEI IDCB command L-175
WS put program in wait state,
$IOTEST command U-264
WTM (write tape mark) L-75
WXTRN program module sectioning
statement
coding description L-323
overview L-33

o

X-type format L-154
XI external sync 01, $IOTEST
command U-266
XO external sync DO, $IOTEST
command U-266
XYPLOT graphics instruction
coding description L-324
overview L-26
YTPLOT graphics instruction
coding descrition L-325
'overv i ew L-26
ZCOR, sensor I/O L-189

Nu~er;c

Subjects

1560 integrated digital
input/output non-isolated feature C-6
different device
configurations C-8
use with different terminals
C-7
1610 asynchronous communications
single line controller C-6
considerations for attachment
of devices C-17
different Qevice
configurations C-8
for interprocessor
communications C-29
to a single line controller
S-99
use with different terminals
C-7
2091 asynchronous communications
eight line controller C-6, S-99
considerations for attachment
of devices C-17
different device
configurations C-8
use with different terminals

o

o

o

c

C-7
2092 asynchronous communications
four line adapter C-6
considerations for attachment
of devices C-17
different device
configurations C-8
to attach ACCA terminal S-99
use with different terminals
C-7
2095 feature programmable eight
line controller C-6
considerations for attachment
of devices C-21
different device
configurations C-8
use with different terminals
C-7
2096 feature programmable four
line adapter C-6
considerations for attachment
of devices C-21
different device
configurations C-8
use with different terminals
C-7
2741 Communications Terminal
supported S-45
TERMINAL statement example
S-106
3101 Display Terminal
attribute character C-122
block mode considerations
C-25
character mode considerations
C-22
interface with Multiple
Terminal Manager C-121, L-29
TERMINAL configuration
stateme~t examples
5-108
3585 4979 display station
attachment C-6, 5-97
4952 Processor
partitions on S-42
timer feature installed on
S-32
4953 Processor
partitions on 5-42
timer feature installed on
S-32
4955 Processor
partitions on S-42
timer feature installed on
5-32
4962 Disk Storage Unit
storage capacity S-58
supported by Indexed Access
Method S-146
4963 Disk Subsystem
storage capacity S-58
supported by Indexed Access
Method S-146
4964 Diskette Storage Unit
part of minimum system configuration S-22
required for program
preparation S-22
supported by Indexed Access
Method S-146
4966 Diskette Magazine Unit
part of minimum system configuration 5-22
required for program
preparation S-22

supported by Indexed Access
Method S-146
4969 Magnetic Tape Subsystem
S-233
4973 Line Printer
defined in TERMINAL configuration statement 5-96
end of forms S-307
TERMINAL statement example
S-105
4974 Matrix Printer
defined in TERMINAL configuration statement S-96
end of forms S-307
restore to standard character
set, RE $TERMUT2 U-339
TERMINAL statement example
S-105
4978 Display Station
defined in TERMINAL configuration statement S-96
part of minimum system
configuration 5-22
reading modified data S-307
required for program
preparation 5-22
TERMINAL statement example
S-105
4979 Display Station
defined in TERMINAL configuration statement S-96
part of minimum system
configuration 5-22
required for program
preparation S-23
TERMINAL statement example
5-105
4982 sensor I/O unit S-84
5230 Data Collection Interactive
S-11
5620 4974 matrix printer
attachment C-6
defined in TERMINAL statement
S-97
different device
configurations C-8
5630 4973 line printer attachment
C-6
defined in TERMINAL statement
S-97
5719-AM3 (see Indexed Access
Method)
5719-A5A (see Macro Assembler)
5719-CB3 (see COBOL)
5719-CB4 (see COBOL)
5719-F02 (see FORTRAN IV)
5719-LM3 (see
Mathematical/Functional Subroutine Library)
5719-LM5 (see Macro Library)
5719-M51 (see Multiple Terminal
Manager)
5719-SM2 (see Sort/Merge)
5719-UT3 (see Utilities)
5719-UT4 (see Utilities)
5719-X51 (see Basic Supervisor and
Emulator)
5719-XX2 (see Program Preparation
Facility)
5740-LM2 (see Macro library/Host)
5799-TDE (see Data Collection
Interactive)
7850 teletypewriter adapter C-6,
C-21

Common Index

519

c
520

SC34-0313

READER'S COMMENT FORM
SC34-0313-2

C,

l!

IBM Series/1 Event Driven Executive Utilities, Operator
Commands, Program Preparation, Messages and Codes

"

Your comments assist us in improving the usefulness of our publications; they are an
important part of the input used in preparing updates to the publications. I BM may
use and distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You may, of course, continue to
use the information you supply.
Please do not use this form for technical questions about the system or for requests
for additional publ ications; this only delays the response. Instead, direct your
inquiries or requests to your I BM representative or the I BM branch office serving
your locality.
Corrections or cI arifications needed:
Page

Comment

(")

c:
.-+

...o

"a:
»

o

(

'"'"
---'"

II

~j

0'
:::s

Ie

r5'
(1)

Please indicate your name and address in the space below if you wish a reply.

Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A.
(Elsewhere, an I BM office or representative will be happy to forward your comments.)

Reader's Comment Form
(')

S

Fold and tape

Please Do Not Staple

Fold and tape

111111

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL
FIRST CLASS

PERMIT NO. 40

ARMONK, NEW YORK
/

POSTAGE WILL BE PAID BY ADDRESSEE

I BM Corporation
Systems Publications, Dept 27T
P.O. Box 1328
Boca Raton, Florida 33432

-----------------------------Fold and tape

Please Do Not Staple

Fold and tape

----- -----

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

-----

®

International Business Machines Corporation
General Systems Division
4111 Northside Parkway N. W.
P.O. Box 2150, Atlanta, Georgia 30301
(U.S.A. only)
General Business Group/International
44 South Broadway
White Plains, New York 10601
(I nternational)

c
SC34-0313-2
Printed in U.S.A.

READER'S COMMENT FORM

o

SC34-0313-2

IBM Series/1 Event Driven Executive Utilities, Operator
Commands, Program Preparation, Messages and Codes
Your comments assist us in improving the usefulness of our publications; they are an
important part of the input used in preparing updates to the publications. I BM may
use and distribute any of the information you supply in any way it believes appropriate without incurring any obligation whatever. You may, of course, continue to
use the information you supply.
Please do not use this form for technical questions about the system or for requests
for additional publications; this only delays the response. I nstead, direct your
inquiries or requests to your I BM representative or the I BM branch office serving
your locality.
Corrections or clarifications needed:
Page

Comment

Please indicate your name and address in the space below if you wish a reply.

C

·~\
,)

Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A.
(Elsewhere, an IBM office or representative will be happy to forward your comments.)

Reader's Comment Form

o

Fold and tape

Please Do Not Staple

Fold and tape

II "I

NO POSTAGE
NECESSARY
IFMAILED
IN THE
UNITED STATES

BUSINESS REPLY MAl L
FIRSTCLASS

PERMIT NO. 40

ARMONK, NEW YORK

POSTAGE WILL BE PAID BY ADDRESSEE

I BM Corporation
Systems Pu bl ications, Dept 27T
P.O. Box 1328
Boca Raton, Florida 33432

Fold and tape

Please Do Not Staple

Fold and tape

--- -----------_.-

----- -----

®

International Business Machines Corporation
General Systems Division
4111 Northside Parkway N.W.
P.O. Box 2150, Atlanta, Georgia 30301
(U.S.A. only)
General Business Group/International
44 South Broadway
White Plains, New York 10601
(International)

SC34-0313- 2
Printed in U.S.A.

I

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

--_ .-

-----

International Business Machines Corporation
General Systems Division
4111 Northside Parkway N.W.
P. O. Box 2150
Atlanta, Georgia 30301
(U.S.A. only)
General Business Group/International
44 South Broadway
White Plains, New York 10601
(International)

SC34-0313-2
Printed in U.S.A.



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                     : 2013:01:03 08:53:55-08:00
Modify Date                     : 2013:01:03 12:53:02-08:00
Metadata Date                   : 2013:01:03 12:53:02-08:00
Producer                        : Adobe Acrobat 9.52 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:aeb65149-d3b7-40c1-a811-d5f044ed5134
Instance ID                     : uuid:ff65074c-564e-4e74-b1fa-c970ac315b11
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 542
EXIF Metadata provided by EXIF.tools

Navigation menu