SY20 0882 4_VM370_Rel_6_Service_Routines_Pgm_Logic_Mar79 4 VM370 Rel 6 Service Routines Pgm Logic Mar79

User Manual: SY20-0882-4_VM370_Rel_6_Service_Routines_Pgm_Logic_Mar79

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

DownloadSY20-0882-4_VM370_Rel_6_Service_Routines_Pgm_Logic_Mar79 SY20-0882-4 VM370 Rel 6 Service Routines Pgm Logic Mar79
Open PDF In BrowserView PDF
File No. S370-37
Order No. SV20-0882-4

IBM. Virtual Machine
Facility /370:
Service Routines
Program Logic

Systems

I

Release 6 PLC 1

This publication describes the program logic for the
VM/370 service routines. Each service routine (or
group of routines) is described in its own chapter.
Each chapter contains an introduction, a method of
operation section, a program organization section, a
directory, a data areas section, and a diagnostic aids
section, if the section is applicable.

I

The service routines that are described in this
publication are: the I BCDASDI Virtual Disk
!nitialization Program, the Interactive Problem Control
System OPCS), the Format Service Program, the DMKDI R
Directory Program, the Installation Verification
Procedure, the Procedures for Generating and Updating
VM/370, the VM/370 Starter System, the 3704/3705
Service Programs, the ZAP Service Program, the
EREP/Error Recording Interface, the MSS
Communicator, and the IEBIMAGE Interface.

--...----~
-.:. .:...:
---. ---'::' :.
---- .:_.zrl

-

~

!ift~

]giti2B (March 1979)

This is a major revision of 5Y20-0882-3 and .akes obsolete that editien
and Technical Newsletters 5125-0402, dated August 31, 1977, 5N25-0415,
dated December 15, 1977, and 5N25-0440, dated July 15. 1978.
This
edition corresponds to Release 6 Ptc 1 (Progra. Level Change)
of lEft
Virtual Machine Facility/370, and to all subsequent releases unless
otherwise indicated in new editions or Technical Newsletters.
Extensive changes have been made to
user should read it in its entirety.

this publication;

therefore, the

Changes are Feriodically .ade to the infor.aticn herein; before using
this publication in connection with the oFeration cf IBM syste.s.
consult the latest !~~ ~st~!L~lQ ~ibli~gI~Ehl, Crder Nc. GC20-000l. for
the editions that are aFplicable and current.
Publications are not stocked at the address given below; requests fer
copies of IBM publications should be .ade to your IBft representative er
to the IBM branch office serving your locality.
A form for readers' com.ents is
provided at the back of this
Fublication. If the for. has been removed, com.ents .ay be addressed to
IEM Corporation, YM/370 Publications, Dept. D58. Bldg. 706-2, P.O. Bex
390, Poughkeepsie, New York 12602. IBM may use cr distribute any of the
information you supply in any way it believes appropriate without
incurring any obligation whatever. You .ay, of course, continue to use
the information you supply.
©

copyright International Business Machines corporation
1974, 1975, 1976, 1977, 1979

1972. 1973,

Preface

The "Introduction" describes the format of
this publication, with special emphasis on
using the method of operation diagrams.
The first chapter of this publication,
"IBCDASDI--The Virtual Disk Initialization
Program,"
describes the
program
that
initializes virtual
disks and
assigns
alternate tracks to disks that are used by
VMj":nn
..., - .. ...,The "IPCS--Interactive problem Control
System" chapter describes the logic for the
commands that track and report both CP and
non-CP problems.
The program that formats disks so they
can be used by VM/310 is described in the
"Format Service Program" chapter.
The
"DMKDIR--The
chapter describes the
the VM/37P directory.

interfaces between V"/310 and
Storage Control.

~he
"IMKIMG and
D!KNMT
IEEIMAGE
Interface" chapter describes the utility
programs required to dynamically change the
character
arrangement
tables,
graphic
modifications, copy modifications, and FCEs
for the 3eOO printing Subsystem.

In this publication:
•

~he
term "2305 series"
is used in
reference to the IEM 2305 Disk Storage,
Models 1 and 2.

•

The term "3330 series"
is used in
reference to the IBM 3330 Disk Storage,
Models 1, 2, and 11, and the IBM 3333
tisk Storage and Control, Models 1 and
11; and the 3350 Direct Access Storage
operating in
3330/3333 Model
1 or
3330/3333 Model 11 comFatibility mode.

•

The term "3340 series"
is used in
reference to the IEM 3340 Disk Storage,
Models A2, B1 and E2, and the 3344
tirect Access Storage Model B2.

•

The term "3350 series"
is used in
reference to the IBM 3350 Direct Access
Storage Models A2 and E2 in native mode.

Directory
Program"
Frogram that creates

The "DASD Dump Restore Program" chapter
describes the program that dumps, restores,
and copies system disk files.
The
"Installation
Verification
Procedure" chapter
describes the
EXEC
procedure that checks the accuracy of the
starter or newly generated system.

the MSS Mass

The

The "Procedures
for Generating
and
Updating VM/310" chapter describes the EXEC
procedures and modules that aPFly updates
to the
system, load the
system, and
generate new macro libraries.

terms

"3105,"
"310X,"
and
include the
IBM
3104,
3105-1,
and
3105-11
Communications
Controllers, unless otherwise specified.
"3104/3105"

•

Any
mention
of
the
IEM
2141
Communication Terminal also applies to
the IEM 3161 Communication Terminal,
unless otherwise stated.

The "3104/3705 Service programs" chapter
describes
the
programs
that
perform
generation and service functions for the
control program for
the IBM 3104/3105
Communications Controllers.

•

Information
on
the
IBM
3105-11
Communications Controller and the Type 4
Channel Adapter is for Flanning purposes
only until the
availability of the
product.

The
"ZAP Service
Program"
chapter
describes the program that modifies and
dumps MODULE, LOADLIB, and TITLIE files.

Refer to the following publications for
related material:

The "VM/310 Starter
System" chapter
describes the system that is distributed to
be used for system generation.

The
"DMSIFC
and
DMSREA--EREP/Error
Recording Interface" chapter describes the
modules that interface between CMS and the
OS/VS EREP Frogram.

~~§

No.

Command and Macro Reference, Order

GC20=181S-- ----- -------

The "DMKMSS -- The MSS Communicator"
chapter describes the program that operates
in a virtual machine
under as/vs and
Preface

l.l.l.

~!2f~9~

~I§!~!

1291f, Order

2Y§!~!
~Y1g~,

1£91£ gng Problem Determination
Order No.

2Y§!~! ~~§§g9~§,

1~!~fg£!1!~

5120=0885------------

Q~L!~~

~E§§

Communicator (MSSC)

5Y35=0013--- ----

~!2f~9~

2I§!~!

1291f, Order

Ne.

Order No. GC20-1808

ff2~1~!

(lfCS)
Q§~!~§
GC20-1823

Control ~I§!~
~Y1g~:---order
No.

the

IBM

--Order-

iv

Ne.

IBM VM/370 Service Routines Program Logic

J~QQ

Ne.

Contents

SUMMARY OF AMENDMENTS.
INTRODUCTION • •
Illustrations. •
Figures.. •
Diagrams • • •
Illustration Numbering • •

• xi
• •1
• • • • • •1
• • • • • •1
•

•1

••• 2

CHAPTER 1. IBCDASDI--THE VIRTUAL DISK
INITIALIZATION PROGRAM~
Introduction • • • • • •
Invoking ~he Virtual Disk
Initialization Program. • • • • • •
METHOD OF OPERATION • • • • • ,
PROGRAM ORGANIZATION • • • • •
IBCDASDI -- General Information.
Program Description~
Directory • • • •
Data Areas • • • • • •
Track Zerc • • • • •
Unit Control Block •
Diagnostic Aids. • • •

• .3
• .3
• .3
• .5
• .9

• .9
.9
• 11

12
• 12
• 13
14

CHAPTER 2. IPCS--THE INTERACTIVE PROBLEM
CONTROL SY STEM. • • •
• • • •
Introduction • • • • •
• • • •
IPCS Report Files.
•
Other IPC S Files • •
• .• • '.
CP Abend Dumps • • •
Method of Operatien. •
•
Program Organization •
•
DMMCPA -- Extracts Information
Pertinent to Individual Abend
Conditions and Enters it in a Problem
Report. • • • • • • • • • • •
DMMDIR -- Formats and Displays
Hexadecimal Data on the Terminal
Screen. • • • • • • • • • • • • • • •
DMMDSC -- Provides a Method of
Examining the CMS Format CP Dumps
Created by VMFDUMP. • '. ... • • ' . . . •
DMMEDM -- Edits and Prints a CP Dump •
DMMFED -- Displays 'nnn' Bytes from
Address 'hexloc' • • • • • • • ,• • • •
DMMFEX -- Displays X'130' Bytes of the
Dump. • • • • • • • • • • • • • • • •
DMMGET -- Fetches Portions of the Dump
into Storage. • • • • • • '. • • • • •
DMMGRC -- Reads Dump Record Containing
Data at a Given Address and Passes
Data Back to Caller • • • • • • • • •
DMMHEX -- Translates EBCDIC to
Hexadecimal and Checks for Validity •
DMMIDM -- Determines the Failing or
Calling Module Name and Displacement
within the Module • • • • • • • • • •
DMMINI -- Initializes for Data
Extractien from the CMS File
Containing the Dump • • '. • •
•
DMMINT -- Translates the Binary Data
to Printable Format •
• • • • • •
DMMIOB -- Displays the I/O Blocks. • •

17
17
17
17
18
19
38

38
38
38
39
39

IMMLOC -- Locates 'string' 'from' 'to'
'increment' • • • • • • • • • • • • •
IMMMAP -- Appends Compressed and
Sorted Load Map at End of Dump File •
IMMMOD -- Locates Modules and Entry
Points in Load Map and Identifies
Module Containing Given Address
IMMPRG -- Handles the CP Program Check
processing • • • • • • • • • • • • • •
IMMPRM -- Prompts User for
Supplementary Data Files and Textual
Notes about Failure • • • • • • •
IMMPRO -- Creates a Problem Report
through User Prompting. • • • .• •
IMMREG -- Displays the Registers •
IMMRMV -- Places Registers in the Text
Area of the Report • • • • • __ • • •
IMMSCR -- Scrolls the Iisplay Up or
Iown from the Last Address. • • • • •
IMMSEA -- Locates any froblems which
are Duplicates of a Newly Entered
Problem • • .. • • • • • • • • • • • •
IMMSTA -- Displays the Status of a
Given problem or Group of Problems cr
all Problems • • • • • • • • • • • • •
IMMSUM -- Updates or Finds Symptcm
Summary Control Record for a Given
Problem and Passes it to Caller • • •
IMMTRC -- Displays 'nnn' Trace Entries
IMMTRN -- Translates Binary Data into
a Printable Format • • • • • • • • • •
IMMVME -- Displays all VMBLCR
Addresses, User ids, and Status. • • •
IMMWRT -- Creates a freblem Report en
Disk and Adds this Preblem to the
• •
Symptom Summary File. • •
Directory • • • • • • • • • •
•
Data Areas • • • • • • .. • •
•
SHARECON -- VMFDUMP Shared Ccnstant
Area. • • • • • '.
• • • • • '.
INTSECT -- VMFDUMP and fRCB Internal
Data Area • • • • • • • • • • • • • •
SYMSECT -- Symptom Summary Centrol
Record Format •
• •
Diagnostic Aids • • • • • • • • • • • • •

42
43
43
43
44
44
44
45
45
45
46
46
46
47
47
" "7
'"t,

48
53
53
57
58
60

40
40
40
41
41

CHAPTER 3. THE FCRMAT SEBVICE fBOGBAM ••
Introduction • • • ••
••••••••
Format Operation ••
•••••
•
Label-Only Operation
Aliocation Operation • • • • • •
•
Executing the Format Program
•
Method of Operation.
•
Program Organization
• • • •
• •
IMKFMT • •
• • • • • •
• • • •
Directory. • • • •
• • • • •
Data Areas .. • • •
•
Diagnostic Aids.
• •••••••

63
63
63
63
63
63

65
69
69
70
71
80

41
42
42

CHAPTER 4. DMKDIR--THE DIBECTORY
PROGRAM • •
• • • 81
Introduction • • • • • • • • • • • • • • 81
Contents

v

Method of operation. •
Program Organization •
DMKDIR •
Directory.
Data Areas
Diagnostic Aids.

•
•
.•
•

82
88
88
89
91
• 92

CHAPTER 5. THE DASD DUMP RESTORE
PROGRAM • • •
• 93
Introduction
• 93
DUMP • • •
• 93
RESTORE. •
• • • • • 93
COpy •.••
• • • • • 93
PRINT • • • • • • • •
93
TYPE • .• • • •
• 93
Method of OFeration. _ • • ~ _ •
• 94
• .102
Program organization •
DMKDDR • • • • • • •
• • • • • • 102
Directory. • • • • • •
• .• 103
.106
Data Areas • • • • • •
Cylinder Header Record •
.106
Track Header Record.
• • • • • • 107
lOB • • •
• • • • • 108
Dia~nostic Aids. • • • • _
.110
•

•

•

Ie

CHAPTER 6. THE INSTALLATION
VERIFICATION PROCEDURE ••
Introduction • • • • _ • • •
Method of OFeration. • • • •
Program Organization • • • •
Installation Verification Procedure
Routine Structuring • • • • • • • •
Installation Verification Procedure
Testing
Directory.
.• • • • • • •
Diagnostic Aids. • • • • • • • • • • •

•

.113
.113
.114
.120
.120
.121
.122
.123

CHAPTER 7. PROCEDURES FOR GENERATING
AND UPDATING VM/370 • • • • • • • • • .125
.125
Introduction • •
Update Files • • • • • •
.125
.125
TXT Files • • • • • • • •
.125
Control Files. • • • •
.126
System EXEC Procedures •
VMFLOAD Service prcgram.
.127
.128
DMKLDOOE Service Program •
The VMFMAC Macro Library Update
Procedure • • • • •
.128
Method of Operation. • • • • • • • • • • 129
Program Organization • • •
• • • • • 149
Directory • • • • • • • • • •
• • • • • 150
Assemble Update Procedure.
.151
VMFLOAD Program. • •
.153
VMFMAC Procedure • •
• • • • • 153
.154
GENERATE Procedure •
Diagnositc Aids • • • •
• • • • • 155
VMFASM Prccedure
• .• • • • 155
DMSUPD Program • • •
• • .• • .156
VMFLOAD Program. • •
• • .• • • 157
VMFMAC Procedure • •
.157
GENERATE Procedure • • •
.158
DMKLDOOE (Loader) Program.
.161
Loader Wait State Codes ••
• • • • • 161
CHAPTER 8. THE VM/370 STARTER SYSTEM •• 163
Introduction • • • • •
• 163
Method of Operation • • • • • • • • • • • 164

vi

IBM VM/370 Service Routines Program Logic

program Organization
IMKSSP • • • • •
Directory. • • • • •
Diagnostic Aids • • • • •

• .166
.166
• .167
.168

CHAPTER 9. THE 3704/3705 SERVICE
PROGRAMS. _ • • • •
• ••••
.169
Introduction • • • • • •
• •• 169
Method of Operation.
• •• 170
program Organization
.181
.• 181
IMKRNI • •
IMSARN
• •• 181
ItlSARX ••
• • • • • • • • 182
IMSGRN
• • • • •
.183
IMSLKD • •
• • • • • • • • • • • • 183
.184
IMSNCP • •
• • • •
Directory. •
• • • • • • • • • • •• 185
1he NCPIUMP Command Processor
(DMKRNI) • • • • • • • • • • • •
.185
The ASM37C5 Command Processor (DMSARN) .186
1he ISM3705 Command Prccessor
(DMSARX) • • • • • • • • • • • • • • .186
1he GEN3705 Command Prccessor
(DMSGRII) • • • • • • • • • • • • • • .187
The LKEI Command Processor (DMSLKD) • • 188
1he SAVENCP Command Prccessor
.189
(DMSNCP). • • • • • • • ••
.190
Data Areas • • • • • • • • • •
..190
File System Control Block • • • •
Diagnostic Aids • • • • • • • • • _
.• 191
The NCPIUMP Command Processor
(DtlKRNI) • • • • • • • • • • •
• .• 191
1he ASM3705 Command Prccessor
.192
(DMSARN). • • • • • • • • • • •
1he ASM3705 Command Processor
.192
(DMSARX). • • • • • • • • • • •
1he GEN3705 Command Processor
(DMSGRN). • • • • • • • • • • •
.193
1he LKEI Command Processor (DtlSLKD) •• 193
1he SAVENCP Command Prccessor
(DtlSNCF) • • • • • • • • • • • • • • • 194
CHAPTER 1e. THE ZAP SERVICE FReGRAM • • • 195
Introduction
• • • •
• •• 195
DUMP. • • • • • • • • • • • • •
.195
VERIFY. • • • • •
.195
REPLACE. • • • • •
• • • • • • • • 195
Method of Operation.
• • • • • • • • 196
Program Organization
• • • • • • • • 206
IMSZAP •
•
• • • •
.206
Directory. • • • • •
• • • • •
.207
Data Areas • • • • •
• • • • 209
Diagnositc Aids. • •
• • • • • • • • 210
1he ZAP Command Processor (DMSZAP) •• 210
CHAPTER 11. DMSIFC and
IMSREA'-- EREP /Error Record ing Interface.211
Introduction • • • •
• • • • • • • • 211
Method of Operation.
.212
program Organization. •
.215
IMSIFC • •
• • • •
• .215
IMSREA • •
.216
Directory. •
• • • • • • • • •
.218
Data Areas.
• • • • • • • • •
.220
IMSREA • •
.220
IMSIFC • •
• • • • • • • • • • • • 220
Diagnostic Aids. •
• • • • •
.221

CHAPTER 12. DMKMSS -- THE MS5
COMMUNICATOR • • •
Introduction • • •
Method of OFeration. •
Progra. Organization
DMKM 55 .• • • •
Directory • • • •
Data Areas. • •
Diagnostic Aids.

.223
• 223
• 224
.227
.227
.228
• 229
.230

CHAPTER 13. DMKIMG and D!K6!T -IEEIMAGE INTERPACE.
• .231
Introduction • • • •
• .231
Method of Operation • • •
.232
Program Organization
• .235
IMKIMG • • • • • _
• .235
IMKNMT • • • • •
• • • • • ,.235
Directory. • • • •
.236
Data Areas • • • •
• • • 237
Diagnostic Aids ••
.238
INtEl. • •

• • • 239

Contents

vii

Figure 1-1.
Figure 1-2.
Figure 1-3.
Figure 1-4.
Figure 1-5.
Figure 2-1.
Figure 2-2.
Figure 2-3.
Figure 2-4.
Figure 2-5.
Figure 2-6.
Figure 3-1.
Figure 3-2.
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

3-3.
3-4.
3-5.
3-6.
3-7.
3-8.
3-9.
3-10.
3-11.
3-12.
3-13.
3-14.
3-15.

Figure 3-16.
Figure 3-17.
Figure 3-18.
Figure 4-1.
Figure 4-2.
Figure 4-3.

Key to Virtual Disk
Initialization Method of
Operation Diagrams •••••••• ~ •• 5
Virtual Disk Initialization
Program Label Directory ••• ~.11
IBCDASDI Track Zero ••••••••• 12
unit Control Block •••• '•••••• 13
IBCDASDI Messages ••••••••••• 14
Key to Interactive Problem
Control System Method of
Operation Diagrams •••••••••• 20
Interactive Problem Control
System (IPCS) Label
Directory •••••••••• ~ •• _ ••••• 48
VMFDUMP Shared Constant
Area •••••••••••••••••••••••• S4
VMFDUMP and PROB Internal
Data Area_ ••••••••••••••••• ~57
Symptom Su.mary Control
Record Format.,••• ,••••• ,•••••• 58
Interactive Problem Control
System Messages ••••••••••••• 60
Key to the Format/Allocate
Program Method of Operation
Diagrams •••••••••••••••••••• 65
The Format/Allocate Program
Label Directory •••••• ~ •••••• 70
Record 0 Format ••••• ~ ••••••• 71
Record 1 For.at •••••••• ~ •••• 72
Record 2 Format ••••••••••••• 72
Record 3 Format ••••••••••••• 72
Record 4 Format ••••••••••••• 73
Record 5 Format ••••••••••••• 73
Record 6 Format ••••••••••••• 74
Record F3 ••• '•••••••••••••••• 74
Record F4 ••••••••••••• : ••••• 74
Record 4 •••••••••••••••••••• 74
2314/2319 Record Layout ••••• 75
3330 Series Record Layout ••• 76
2305 Models 1 and 2 Record
Layout •••••••••••••••••••••• 77
3340 Record Layout •••••••••• 78
3350 Record Layout •••••••••• 79
The Format/Allocate Program
Messages •••••••••••••••••••• 80
Key to the Directory Program
Method of Operation
Diagrams •••••••••••••••••••• 82
The Directory Program Label
Directory ••••••• _~ ••• ~ •••••• 89
The Directory Program
Messages •••••••• __ •••••••••• 92

Figure 5-6.

The DASD Du.p Restore
program Messages ••••••••••• 110

Figure 6-1.

Key to the Installation
Verification procedure
Method of Operation
Diagrams ••••••••••••••••••• 114
Structure of Installation
Verification procedure
Routines ••••••••••••••••••• 120
Installation Verification
Procedure Tests •••••••••••• 121
Installation Verification
Procedure Label Directory, •• 122
The Installation
Verification procedure
Messages ••••••••••••••••••• 123

Figure 6-2.
Figure 6-3.
Figure 6-4.
Figure 6-5.

Figure 7-1.

Key to the Procedures for
Generating and Updating
VM/370 Method of Cperation
Diagra.s ••••••••••••••••••• 130
Figure 7-2. GENERATE Introductory
Message •••••••••••••••••••• 146
Figure 7-3. Label Directory for
Assemtler Update Procedure.151
Figure 7-4. The VMFLOAD program Label
Directory ••••••••••• _ •••••• 153
Figure 7-5. The VMFMAC Erocedure Label
Directory •••••••••••••••••• 153
Figure 7-6. The GENERATE procedure
Label Directory •••••••••••• 154
Figure 7-7. VMFASM Messages •••••••••••• 155
Figure 7-8. DMSUPD Messages •••••••••••• 156
Figure 7-9. VMFLOAD Messages ••••••••••• 157
Figure 7-10. VMFMAC Messages •••••••••••• 157
Figure 7-11. GENERATE Messages •••••••••• 158
Figure 8-1.
Figure 8-2.
Figure 9-1.
Figure 9-2.
Figure 9-3.
Figure 9-4.
Figure 9-5.

Figure 5-1.
Figure 5-2.
Figure 5-3,.
Figure 5-4.
Figure 5-5.

viii

Key to the DASD Dump Restore
Program Method of Operation
Diagrams ••••••• ~._ •••• __ •••• 94
The DASD Dump Restore
Program Label Directory •••• 103
Cylinder Header Record ••••• 106
Track Header Record •••••••• 107
lOB (Input/Output Block)
For.at ••••••••••••••••••••• 108

Figure 9- 6.
Figure 9-7.

IBM VM/370 Service Routines Program Logic

The Starter system (DMKSSP)
Label Directory •••••••••••• 167
The Starter system (DMKSSP)
Messages ••••••••••••••••••• 168
Key to the 3704/3705
Service Programs Method of
Cperation Diagrams ••••••••• 170
Module Directory for the
3704/3705 Command
Processors ••••••••••••••••• 185
The NCPDUMP Command
Processor (tMKRNt) Label
Directory •••••••••••••••••• 185
The ASM3705 Command
Processor (tMSARJ) Label
Directory •••••••••••••••••• 186
The ASM3705 Command
Processor (DMSARX) Label
Directory •••••••••••.••••• '•• 186
The GEB3705 Command
Processor (tMSGRJ) Label
Directory •••••••••••••••• ,•• 187
The LKED Co.mand Processor
(DMSLKD) Label tirectory ••• 188

Figure 9-8.
Figure 9-9 ..
Figure 9-10.
Figure 9-11.
Figure 9-12.
Figure 9-13.
Figure 9-14.
Figure 9-15.

The SAVENCP Command
Processor (DMSNCP) Label
Directory •••••••••••••••••• 189
File SYstem Control Block
(FSCB): •••••••••••••••••••• 190
The NCPDUMP Command
Processor (DMSRND) Error
Messages ••••••••••••••••••• 191
The ASM3705 Command
Processor (DMSARN) Error
Messages ••••••••••••••••••• 192
The ASM3705 Command
Processor (DMSARX) Error
Messages ••••• ~ •••••••••••• ~192
The GEN3705 Command
Processor (D~SGRN) Error
Messages ••••••••••••••••••• 193
The LKED Command
Processor (DMSLKD) Error
Messages •••••••• '•.•••••••••.• 193
The SAVENCP Command
Processor (DMSNCP) Error
Messages •••••••••••••••• ~ •• 194

Figure 10-1. Key to the ZAP Program
Method of Operation
Diagrams ••••••••••••••••••• 196
Figure 10-2. The ZAP Program Label
Directory •••••••••••••••••• 207

Figure 10-3. File Status Table Entry •••• 209
Figure 10-4. ZAP Command Frccessor
(DMSZAP) Messages •••••••••• 210
Figure 11-1. Key to the EBEF/Error
Recording Interface Methcd
of Operation Diagrams •••••• 212
Figure 11-2. DMSIFC and tMSREA Label
Directory •••••• ~ •••••••• _ •• 218
Figure 11-3. DMSIFC and tl!SREA
Messages ••••••••••••••••••• 221
Figure 12-1. Key to the DMK!SSS Method
of Operation progra •• ~ •••• ~224
Figure 12-2. Key to the tMK!SS
Label Directory •••••••••••• 228
Figure 12-3. DMKMSS Messages •••••••••••• 230
Figure 13-1. Key to IEBI!AGE Interface
Method of OFeraticn
Program Diagrams ••••••••• _.232
Figure 13-2. DMKIMG and tMKNMT Label
Directory •••••••••••••••••• 236
Figure 13-3. PDEBLOK Directcry Entry
for· Named System •••• _ •••••• 237
Figure 13-4. DMKIMG and tMKNMT Messages
for Named System ••••••••••• 238

contents

ix

Diagram 1-1.
Diagram 1-2.
Diagram 1-3.
Diagram
Diagram
Diagram
Diagram
Diagram
Diagram

Overview of Virtual Disk
Initialization •••••••••••••• 6
Initializing a Virtual
Disk •••••••••••••••••••••••• ?
Assigning Alternate Tracks •• 8

2-1.
2-2.
2-3.
2-4.
2-5.
2-6.

DUMPSCAN IPCS Command •••••• 21
PRB IPCS Co.mand ••••••••••• 24
PROB IPCS Command •••••••••• 25
STAT IPCS Command •••••••••• 27
VMFDUMP IPCS Command ••••••• 28
Compress the Nucleus
Load Map ••••••••••••••••••• 31
Diagram 2-7. Program Check Routine
(DMMPRG) .................... 32
Diagram 2-8. Coded Abend Routine
(DMMCPA) ••••••••••••••••••• 33
Diagram 2-9. Operator Initiated Routine
(DMMINI) ••••••••••••••••••• 34
Diagram 2-10. Print preliminary
Information (DMMEDM) ••••••• 35
Diagram 2-11. Format and Print Control
Blocks (DMMEDM) •••••••••••• 36
Diagram 2-12. Print Storage (DMMEDM) ••••• 37
Diagram 3-1.
Diagram 3-2.
Diagram 3-3.
Diagra. 4-1.
Diagram 4-2.
Diagram 4-3.
Diagram 4-4.
Diagram 4-5.
Diagram 5-1 ..
Diagram 5- 2.
Diagram
Diagram
Diagram
Diagram
Diagram

5-3.
5-4.
5-5.
5-6.
5-7.

Diagram 6-1.
Diagram 6-2.
Diagram 6-3.
Diagram 6-4.
Diagram 6-5.

Diagram 7-1.
Diagram 7-2.
Diagram 7-3.

x

Overview of the
Format/Allocate Program •••• 66
The For.at Function •••••••• 67
The Allocate Function •••••• 68
Overview of the Directory
Progra ••••••••••••••••••••• 83
DMKDIR Control Statement
Processing ••••••••••••••••• 84
DMKDIR Control Statement
Processing ••••••••••••••••• 85
DMKDIR Control Statement
processing ••••••••••••••••• 86
Directory Exit ••••••••••••• 87

Diagram 7-4.
tiagram 7-5.
tiagram 7-6.
Diagram
Diagram
Diagram
Diagram
Diagram
Diagram
Diagram

7-7.
7-8.
7-9.
7-10.
7-11.
7-12.
7-13.

Diagram 7-14.
Diagram 7-15.
Diagram 8-1.

DMKSSP--The Starter
System •••••••••••••••••••• 165

Diagram 9-1.

DMSNCP--SAVENCP Command
processor ••••••••••••••••• 171
DMSNCP--Building the
CCPARM List ••••••••••••••• 172
DMSGRN--Overview of the
GEN3705 Co.mand
processor ••••••••••••••••• 173
DMSGRN--Generating the
3705 Assembler Files •••••• 174
DMSGRN--Generating the
Link/Edit Files ••••••••••• 175
DMSARN--ASM3705 Command
Processor (for the NCP/VS
Release 2 and 3
Assembler) •••••••••••••••• 176
DMSARX--ASM3705 Command
Processor (for the NCP/VS
Release 4 Assembler) •••••• 177
DMSLKD--LKED Command
Processor ••••••••••••••••• 179
DMKRND--NCFDUMP Command
Processor ••••••••••••••••• 180

Diagram 9-2.
Diagram 9-3.
Diagram 9-4.
Diagram 9-5.
Diagram 9-6.

Diagram 9-7.
Diagram 9-8.
Diagram 9-9.

overview of the DDR
program •••••••••••••••••••• 95
DDR Program Control
Statement processing ••••••• 96
The Dump Function •••••••••• 97
The Restore Function ••••••• 98
The Copy Function •••••••••• 99
The Print Function •••••••• 100
The Type Function ••••••••• l01
The IVP EXEC Procedure •••• 115
Overview of the IVPX
EXEC Procedure •••••••••••• 116
Test Procedure 1•••••••••• 117
Test Procedure 2 •••••••••• 118
Installation Verification
Procedure Error
Processing •••••••••••••••• 119
Overview of the Assembler
Update Prccedure •••••••••• 131
Initialization of the
VMFASM Procedure •••••••••• 132
Assembling Portion of the
VMFASM Procedure •••••••••• 133

IBM VM/370 Service Routines Program Logic

The VMFDATE Program ••••••• 134
Overview of the Update
(DMSUPD) Program •••••••••• 135
Operand and Option
Checking •••••••••••••••••• 136
Multiple Update Procedure.137
Control Record Processing.138
Single Update Procedure ••• 139
Inserting Updates ••••••••• 140
Exit processing ••••••••••• 141
The Nucleus Load program •• 142
VMFMAC--Macro Library
Creation program •••••••••• 143
The GENERATE procedure •••• 144
Generating a CP System •••• 147

Diagram 1 C-1. Overview of the ZAP
program ••••••••••••••••••• 197
Diagram 10-2. ZAP Initialization and
Control Record
processing •••••••••••••••• 198
tiagram 1C-3. DUMP Contrel Record
processing •••••••••••••••• 199
Diagram 1C-4. NAME and BASE Centrol
Record Processing ••••••••• 200
DiagJam 1C-5. VER/VERIFY or REP and
END Control Record
processing •••••••••••••••• 201
Diagram 1 C- 6. Opening the File •••••••••• 202
Diagram 1C-7. Finding the CSECT ••••••••• 203
Diagram lC-8. Reading the Text •••••••••• 204
Diagram 10-9. Printing the Dump ••••••••• 205
Diagram 11-1. DMSIFC •••••••••••••••••••• 213
Diagram 11-2. DMSREA •••••••••••••••••••• 214
Diagram 12-1. DMKMSS Initialization ••••• 225
Diagram 12-2. DMKMSS Processing ••••••••• 226

Diagram 13-1. DMKIKG •••••••••••••••••••• 233

Diagram 13-2. DKKN!T •••••••••••••••••••• 234

Contents

xi

xii

IBM VM/370 Service Routines Program Logic

Summary of Amendments
for SY20-0882-4
V~/370 Release 6 PLC 1

MSS COMMUNICATOR
!~!:

Program and Documentation

A
new
chapter
"DMK5SS--The
l!SS
that
Communicator"
has been
added
describes the program that operates in a
virtual machine and interfaces between
VM/370 and the MSS Mass Storage Control.

IU SCELLA NEOUS

The Chapter
from their
beginning of
as a single
beginning of

contents have been deleted
original Fosition at the
each Chapter and now appear
Table of Contents at the
the publication.

3800 TABLE CONSTRUCTION
Ne!: Program and Documentation
A
new
chapter
"DMKIMG
and
DMKNMT--IEBIMAGE Interface"
has been
added
that
describes
the
utility
prcgra.s that can be used to change the
character arrangement tables, graphic
modifications, copy modifications and
FCBs available on the 3800 Printing
Subsystem, construct a directory and
load it into a named system.

Su •• ary of A.endments

xiii

Summary of Amendments
for SY20-0882-3
as updated by SN25-0440
VM/370 Release 5 PLe 6

3340/3344 ALTERNATE TRACK SUPPORT
~ew:

Error Recovery Support

Software error recovery procedures in CP
now
provide
for switching
to
an
alternate track when an attempt to do
I/O on a defective 3340 or 3344 track
results in a track condition check~
Similar recovery procedures have also
been
added
to
three
stand-alone
utilities: the DASD Dump Restore (DDR)
Service
Program;
Directory
Service
Program
(DMKDIR);
and
the
Format/Allocate
Service
Program
(DMKFMT).
This will
enable
these
programs to deal with 3340/3344 disks
having flagged tracks. The changes to
this publication reflect the changes
made to the three utility programs.

xiv

IBM VM/370 Service Routines Program Logic

Summary of Amendments
for SY20-0882-3
as updated by SN25-0415
VM/370 Release 5 PLC 1

CPEREP SUPPORT
PROCESSORS
!~!:

OF 3031,

3032,

AND

3033

Hardware and Program Feature

INTERACTIVE
VMFDUftP

PROBLEM

£hang~g:

CCNTRCL

Program

SYSTEM

Feature

AND

and

Documentation
VM/370 now supports the IBM 3031~ 3032#
and 3033 processors which have logout
formats different from those of the
other System/370 processors,. During the
initialization of the
MCH/CCH error
recording cylinders, frames are read
from the Service
Record File (SRF)
device and written to the cylinder as a
new
record
type.
During
CPEREP
processing, both MeH and CCH records are
formatted via the inforaation contained
in the frames on the cylinder.

The Interactive Problem Centrol System
(IPCS)
is now
the VM/370
problem
determination vehicle; therefore, the
VMFDUMF (CP Abend DumF) Program chapter
has been deleted and reFlaced with IPCS.

summary of Amendments

xv

xvi

IBM VM/370 Service Routines Program Logic

Introduction

This publication explains the program logic
for each of the VM/370 service routines.
Because the service routines are unrelated,
they are discussed separately. One chapter
of this publication is dedicated to each
service routine
(or logical
group of
service routines).

The last section. "Diagnostic Aids,"
contains a cross-reference list of the
messages issued by the service routine.
The message number and text are included
with a label in the Frogram reasonably
close to the point where the .essage is
issued. Messages are usually helpful when
debugging a program problem.

Each chapter is structured similarly.
The following sections, where they are
applicable, are included in each chapter:

Illustrations
•
•
•
•
•
•

Introducticn
Method of Operation
Program Organization
Directory
Data Areas
Diagnostic Aids

The first section, the "Introduction,"
gives a brief description of the service
routine.
This secticn
explains
what
functions the service routine performs and
tells how the program can be executed.
The
second
section,
"Method
of
Operation," describes the program logic for
the service routine. Diagrams describe the
functions that the service routine performs
and the "Notes" section of each diagram
relates the function
performed to the
coding in the program. The labels of the
related program sections are identified so
that you can easily find the area in the
program listing.
The
"Program
Organization"
section
contains a variety of information, such as
entry points, data areas, and register
usage. If the service routine is complex,
there is a synopsis of the program modules
or program routines.
The "Directory" lists all the program
labels that are mentioned in the method of
operation diagrams with a cross reference
list indicating the diagram on which they
appear. Also, there is a brief description
of the function performed at the point in
the program corresponding to each label.
If the service routine contains more than
one
module,
the
correct
mcdule
is
indicated. The "Directory" is intended to
help you quickly locate the section of the
chapter
that
describes
a
particular
function.
The
"Data Areas"
section
contains
detailed descriptions of the control blocks
and data areas used by the service routine.

There are two types
this publication:
•
•

of illustrations

in

Figures
Diagrams

FIGURES
All general illustraticns, such as data
areas and relationship drawings, are called
"Figures".
Figures may
aFpear in any
section of this publication.

DIAGRAMS
The method of operation drawings are called
"tiagrams". Diagrams consist of a drawing
and, very often, complementary notes. The
drawing has three distinct parts:
•
•
•

Process
Input
Output

The process block describes the action
taken by the service rcutine. The inFut
block shows the necessary input, such as
data areas and control statements.
The
output block shows the resulting output,
such as initialized disks or copied files.
The process block is found in the center of
the drawing with the input block on the
left and the output blcck cn the right.
The
Notes section
aFpears below
the
drawing; it consists of a detailed comment,
the module name
(if the service routine
consists of more than one module), the
related program label, and a reference to
any
additional
information
(where
appropriate) •

Introducticn

1

Each step in the process block has a
nUlbered key (1, 2,
3, ••• )
and each
substep has an alphabetic
key (1, B,
C, ••• ). The related cOllent in the Notes
section has the same key.
The key that
relates the Frocessing step to a note is
inside a box, and the key that relates a
processing substep to a note is indented so
that it is easily visible.

where X designates the chapter (one through
ten)
and nn
designates the
relative
position of the figure or diagral within
the chapter. For exalple,
Figure 2-3
is the third figure in Chapter 2.
Diagral 3-1

Illustration Numbering

is the first lIethod of operation diagral in
Chapter 3.

Figures
and
diagrams
are
separately
numbered.
The format of the numbering
system is:

This publication is intended to acquaint
the
systel
prograller,
and
those
programmers responsible for updating VM/310
service routines, with the operation of
these service routines.

Figure x- nn
Diagrall X- nn

2

IBM VM/370 Service Routines Program Logic

Chapter 1. I BCDASDI-The Virtual Disk
Initialization Program
Introduction
The IBCDASDI program initializes
disks.
A
virtual disk- is
a
division of a physical DASD that is
OS and DOS for user direct access
space with VM/370.

virtual
logical
used by
storage

Por virtual disk initialization,
following functions are performed:

the

Alternate tracks are
assigned
those
previously
designated
defective.

for
as

1.

2.

A home address and track
record are written.

3 ..

IPL records are written
the virtual disk.

4.

A voluae label is written on
of the virtual disk.

5.

A volume table of contents (VTOC) is
constructed and written on the virtual
disk.

6.

An IPL program is written on track 0
of the virtual disk (if requested).

1.

Surface analysis of each track is
performed (if requested.;
Alternate
tracks are automatically assigned, if
necessary.

on track 0 of

2.

The address (CCHHR) of the priaary
track is written in the count field of
the selected alternate track.
The
address (CCHHR) of the alternate track
is written in the count field of the
primary track.
The VTOC DSCB is modified to reflect
the new status of available tracks.

!£te: The IBCDASDI program does not assign
alternate
tracks
or
perform
surface
analysis for 3330 or 3350 disks.

INITIILIZATICN

1.

Put a copy of the IECDISDI object deck
into your virtual card reader, or
mount and attach the tape containing
the object program.

2.

Load the object
program from the
virtual reader on tape by issuing the
CP IPt co.mand for the appropriate
virtual device address.
When the
program is loaded, an ebabled wait
state is entered with the address
field of
the PSi
containing the
hexadecimal value FFFP.

3.

When the program is leaded and waiting
for input, signal attention from the
virtual console device. The message
DEPINE INPUT DEVICE
is sent to the virtual console. Enter
the
following resFonse
from
the
virtual console:

the

The
first
available
operative
alternate track is selected from those
indicated in the VTOC.

DISK

To execute the IBCDASDI Ircgram:

track 0

1.

THE VIRTUAL

The IEC!ASDI program may be loaded as a
card deck, or as card images on taFe.
Control statements for the program can
follow the last card (or last card image)
for the program, or can be entered via a
separate input device.

descriptor

Por alternate track
assignment,
following functions are performed:

3.

INVOKING
PRCGRIM

INPUT=type cuu
!!!~.£~:

type

is the virtual device type of
the
device
containing
the
Valid
control
statements.
device types are 1402, 1442,
2400, 2501, 2520, 2540, 3410,
3420, and 3505.

cuu

is the virtual device address ef
the
device
containing
the
control statelents.

Control statements are printed on the
message output device. It the end of job,
the END OF JOB message is printed en the
message output device
and the program
enters the wait state.

Chapter 1. IBCDASDI--The Virtual Disk Initializatien Program

3

The IBCDASDI program initializes virtual
disks whenever the CYLBO=nnn operand of the
DADEF control statement is specified. The
CYLBO=nnn operand specifies the number of
cylinders to be initialized for a virtual

4

IBM VM/370 Service Routines Program Logic

disk.
For information
cn running the
IECIAStI program and for a description of
the necessary control cards see the !~lIQ
QEgEgior~2 Gui£~.

Method of Operation
This section describes the execution of the
virtual
disk initialization
(IBCDASDI)
Frogram and shows the processing associated
with:
•
•

r~?gram

describes
the
the
virtual
initialization program.
func~10ns

1-1

OI

tiagram
1-2
initialized.

Initializing virtual disks
Assigning alternate tracks.

Figure 1-2 shows the relationship of the
diagrams.

Diagram 1-3
are assigned.

shows
shows how

hew

majer
disk

tracks

are

alternate tracks

Diagram 1-'
Overview of
Virtual Disk
Initialization

Diagram 1-2
Initializing a
Virtual Disk

Diagram 1-3
Assigning
Alternate Tracks

Figure 1-1. Key to Virtual Disk Initialization Method of Operation Diagrams

Chapter 1. IBCD1SDI--The Virtual Disk Initializaticn program

5

Processing

Input
•

~0

Output

CP

••••••
IPL the device containing
the IBCDASDI module.

2 Analyze the control cards.

,'",,' moch'oe
console

Control
Cards

3

If specified, initialize
the disk.
(See Diagram 1-2 for
details.)

I}8

4 If specified, get an
alternate track.
(See Diagram 1-3 for
details.)

Initialized virtual disk with
alternate tracks assigned.

I

I ....~
CP

Notes
1 The general registers are cleared and

Module

Label

IBCDASDI

START

the PSWs are initialized. The SEREP
flags in the machine check old PSW are
set to X'FF' and the program enters
a wait state with X'FFFF' in the
address field of the PSW.

Notes
3 The initialization routine is entered

CKINPUl

IBCDASDI

4 Control is passed to the GETAL TYZ
routine if an alternate track is to be
assigned. If volume label checking is
requested, the CKVOLLBL routine
does the checking. Assignment of
alternate tracks starts with the
GETALTX routine.

CLRSCAN

to the control statements scan routine
at RDCARD. RDCARD returns a
pointer to a field and the length of
the field in registers SCANADR and
LENGTH, respectively, and an indication of the field type in location
SWITCHRD. SWITCHRD is a onebyte switch with the following
settings:

~

Meaning

X'50'
X'40'
X'10'

Control statement error
Bypass
First control statement
has been read
Operator found
Keyword found
Parameter found

x'oa'
X'04'
X'02'

Diagram 1-1. Overview of Virtual Disk Initialization
6

Module
IBCDASDI

at VOLCHK if the volume label is to
be checked and at GEN5E if the
volume label is not to be checked.
Initialization starts with the INT AL T
routine.

An attention interrupt identifies the
virtual machine console and the input
statement is read. The control cards
may be read from a 1402, 1442,
2400, 2501, 2520, 2540, 3410,
3420, or 3505 input device.

2 Next, the CLRSCAN routine links

Ref

IBM VM/370 Service Routines Proqra. Logic

Label
VOLCHK
GEN5E

IBCDASDI

GETALTYZ

Ref

Input

I
I

Processing

Output

I

I

Initialize tracks.

2 Format and write track O.

I

3 If requested, write the
IPL program.

4

Notes

Module

:>

Format and write the
standard Volume Table of
Contents.

Label

Ref

Notes

Initialized Virtual Disk

Module

Label

Ref
~

1 When the defective flag test is
suppressed, the home address is
written followed by a maximum
length record 0 consisting of
hexadecimal 55. The track is read
and checked. A maximum·length
record 0 is written again, this time
consisting of hexadecimal 00. The
track is again read and checked. If a
data check is encountered, this
write sequence is repeated ten times.

I
I

I

IBCDASDI

INTALT

I

I

I

If data errors still occur, the track is
flagged as defective. An alternate
track is assigned when the device is
disk. For drum devices, a message is
issued indicating the address of the
defective track.

I

3

The user-supplied IPL initialization
program is written. The program is
written on cylinder 0 track 0 or 1, or,
if the track is defective, on its
assigned alternate.

IBCDASDI

4

The DSCBs needed for the VTOe
are constructed: the DSCB (format 4)
and the DADSM DSCB (format 5).
For the 3330 series, the alternate
track field in the format 4 DSCB
is set to zero since no alternate
track cylinder is provided. Then, the
VTOC is written at the user-specified
location and normal end of job is
initiated. Control returns to CPo

l,seDASDI

WRTIPL

r- ... I I T \ / T n , . . .
rIVIIVIV,,",

I
WRTVTOC

IBC10l1 BAD TRACK cccehhhh
If the home address-record 0 area is
defective on a 2314 or 2319 disk
storage volume, an attempt is made
to move the home address-record 0
fields down the track approximately
800 bytes.

2 Track 0 is written. It consists

I

IBCDASDI

CONSTR2

;of two IPL records (or a dummy !PL
record), a standard volume label and
up to seven additional labels.

l
Diagram 1-2. Initializing a Virtual Disk
Chapter 1. IBCDASDI--The Virtual Disk Initializaticn Program

Processing

Input

Output

If specified, track check is
performed.

2

Flag defective track, assign
alternate.

)

3 Update the VTOC.

8
VTOC

Notes
1 If the track bypass is not selected,

Module
IBCDASDI

a track check is performed on the
user-specified track. If the track is
good, a message is issued.

Label

Ref

GETALTX
GETALT2

IBC1091 TRACK CHK INDICATES
TRACK IS GOOD

2

The ASGNALT routine flags the given
track as defective and assigns an
alternate. If the defective track is a
primary track, the primary track is
flagged and an alternate track is
assigned. If the defective track is an
alternate track that was not assigned
to a primary track, the alternate
track is flagged as defective. However,
if the defective track is an alternate
track that was assigned to a primary
track, the alternate track is flagged and
another alternate is assigned to the
primary.

IBCDASDI

Then, the TRKPRNT routine causes
a message to be printed stating the
address of the defective track and its
assigned alternate.

Notes
Control is then given to location
GETAL T to repeat the process for
the next user-specified track, or, if
none exists, to initiate normal
end of job. Control returns to CPo

ASGNALT

TRKPRNT

IBCllOI BAD TRACK cccchhhh
IBCllll ALTERNATE cccchhhh

3 Field six of the VTOC is decremented

IBCDASDI

GETALT4

to indicate that one less alternate
track is available, field five is
incremented to point to the next
available alternate track.

Diagram 1-3. Assigning Alternate Tracks
8

IBM VM/370 Service Routines Program Logic

Module

Label

Ref

Program Organization
IBCD1SDI -- GENERAL INFORMATION
VM/370 initializes virtual disks with the
OS utility program
IBCDASDI.
IBCDASDI
formats real or virtual VM/370 disk volumes
for OS, DOS, and VSAM use. It should not
be used to format CP disk areas
(for
paging,
spooling, and
so forth),
or
non-VSAM CMS disk areas.
The execution of
IBCDASDI is performed from the virtual card
reader.

Automatically assigns alternates, if
necessary.
TraCKS that are available for use as
alternates are checked first.
•

For all devices:
Writes a track descriptor record
(record 0), and erases the remainder
of each track. IECtASDI also writes
a standard home address.
Writes
records on
track 0
...,._A'_ IPt
1
__ ;I ",),
I ___

\.L. O;::\"V.L. Ui:)

IBCDASDI can, in addition to initializing
real disks, initialize
a minidisk.
A
ainidisk can be initialized with or without
a surface analysis (a test for defective
tracks); a surface
analysis should be
included when a ainidisk is initialized for
the first
time.
Tracks in
the last
cylinders of a 2314 minidisk are left open
for assignment as alternate tracks.
No
tracks are saved for alternates on 3330,
3340, or 3350 ainidisks.

For non-3330 devices:
Checks
for
tracks
that
were
previously designated as defective
(flagged) and have had alternates
assigned.
Automatically
assigns
alternate
tracks for 2314/2319 disk devices
but not 33305, 3340, and 3350.
N01~:

This test must be suppressed when
a disk is being initialized with surface
analysis for the first tiae. This test
.ust not be suppressed when a disk is
initialized without surface analysis.

•

For 2314 and 2319 devices:
Perforas a surface
track

~/.

For all devices except 3330 and 3340,
checks for tracks that were previously
designated as defective
(flagged)
and
have had
alternates assigned.
The
program automatically assigns alternates
(2314/2319 disk devices only).
This
test must not be suppressed.

•

For 3340 and 3350 devices, rewrites the
home address and track descriptor record
on all tracks. Tracks flagged defective
are surface analyzed and reclaimed if no
errors are detected. The BYPASS and
FtAGTEST options
are ignored.
The
PASSES=O option will cause "QUICK DASDI"
to be performed.

•

For all devices:

The IBCDASDI program does the following:
•

au ....

•

PROGRAM DESCRIPTION
This section describes the program logic of
the IBCDASDI program.

I

Writes volume label
on track 0
(record 3) and provides space for
additional records, if requested.
Constructs and writes a volume table
of contents (VTOC).
Writes IPt program, if requested, on
track 0 (for all DASD devices exceFt
2302, 2303, and 2311) or track 1
(for 2302, 2303, and 2311).

Writes a standard home address, a
track descriptor record
(record 0),
and erases the remainder of each
track.
Writes IPt
records on
track 0
(records 1 and 2).
Writes voluae label
on track 0
(record 3) and provides space for
additional records, if requested.
Constructs and writes a voluae table
of contents (VTOC).
Writes IPt program, if requested, on
track 0 (for all tASD devices except
2302, 2303, and 2311) or tr~k 1
(for 2302, 2303, and 2311).

analysis of each

Chapter 1. IBCDASDI--The Virtual Disk Initializaticn Program

9

!gl~:

The 1BCDASD1 program can assign
alternate tracks for real 3330/3340/3350
volumes only when they are specified by
the GETALT statement. Even with the
GETALT statement, the 1BCDASD1 program
cannot assign alternate tracks for a
3330/3340/3350
minidisk
because
no
cylinder has been allocated on which to
assign
alternate tracks.
Defective
tracks are flagged and alternate tracks
are assigned when the 3330/3340/3350
storage volumes are initialized at the
factory.
An
1BCDASD1
job
that
initializes a 3330/3340/3350 performs
the "Quick DASD1" function, which reads
alternate tracks, decrementing the total
unit of alternates by one whenever an
alternate
is
found
defective
or
assigned, writes a volume label and
VTOC,
and
writes
an
1PLTEXT
if
requested.
No
surface analysis
is
performed and no home address or record
o is written on the primary tracks. The
BYPASS and FLAGTEST options of the DIDEF
statement are ignored.

KEYTAB

A list of valid key words used
on control cards.

SY1NTAB

A list of valid input devices
for control cards.

DEVTAB

A list of valid devices handled
by the IBCD1SDI program.

PROCBUFF 1
list
of
constants
specific device types.
COBVTIB

I tatle used to convert console
input to upper case.

IOTAE

I
tatle
used
to
convert
hexadecimal to EBCDIC graphic.

ALTTT

I tatle used to convert EECtIC
graphic to hexadecimal.

TIB13

A buffer of hexadecimal
(X'OO')
for
disk and
surface analysis.

TABS!

A buffer of hexadecimal E5s
(X'ES') for data cell surface
analysis.
Also
used as
a
buffer
of
hexadecimal
55s
(X' 55')
for
disk and
drum
surface analysis.

DASD 3340 disk packs are factory-shipped
without flagged tracks and alternate track
assignments.
1BCDASD1's "Quick
DASD1"
detects 3340 customer-generated alternate
track assignments.
The IBCDASD1 program cannot check to see
if the 3330, 3340, or 3350 space to be
initialized was previously formatted.

The absolute loader gives control to the
START
routine.
After
the
control
statements
are read
and
analyzed,
control is passed to:
VOLCHK

GENSE

if volume label checking and
virtual disk initialization are
requested.
if virtual disk initialization
without volume label checking
is requested.

GETALTYZ if alternate track
is requested.

OPRTAB

10

assignment

A list of valid command words
used on control cards.

IBM VM/370 Service Routines Program Logic

for

zeros
drum

!Q.Ylin~§ fall§~

None
External References
---The-program-enters an enabled wait state
shortly
after
it is
loaded.
An
attention
interrupt
identifies
the
virtual machine console and the INPUT
control statement is read. This control
statement tells IBCDASDI which device to
read
to
get the
program
control
statellents.
Exit Conditions
---Successful-completion of DMKMDA results
in a wait PSi with E's in the address
field. An end of job lIessage is also
given on the message device.
Error exits result in E's being loaded
in the address field of a wait PSi.
Error stops, whenever
possible, are
preceded by a message which defines the
error. Machine check interrupts result
in the loading of a PSi in the wait
state with E2 in the address field.

Directory

Figure 1-2 is an alphabetical list of some
of the labels in the IBCDASDI module. The
function performed at the point in the

program
indicated
ty each
label
described and the asseciated method
operation diagram is referenced.

is
ef

._------,
Label

Diagram

ABCFOUND
ASGNALT

1... 1
1-3

CKINPUT

1-1

CJ,RSCAN
CONSTR2
DASDI
FMTVTOC
GENSE

1-1
1-2
1-1
1-2
1-1

GETALTX
GETALTYZ

1-3
1-1

GETALT2

1-3

GETALT4
INTALT
START
TRKPRNT

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

VOLCHK
WRTIPL
WRTVTOC

1-1
1-2
1-2

Description
Finds size of alternate track area.
Assigns alternate tracks for defective tracks.
Reads the control cards.
Scans control cards.
Writes track O.
Performs program initialization and reads control cards.
Formats the VTOC.
Starts initializing virtual disks when volume label checking is net
desired.
Gets an alternate track for a defective track.
Checks whether volume label checking was requested when assigning
alternate tracks.
Checks to see if f~agged track is really defective befere assigning
alternate. This check is optional.
Updates the VTOC after an alternate track assignment.
Tests tracks during initialization.
Performs program initialization.
Issues message identifying defective track and the alternate
assigned.
Checks volume label when initializing virtual disks.
Writes the IPt program on disk.
Writes the VTOC.
.J

Figure 1-2. Virtual Disk Initialization Program Label tirectory

Chapter 1. IBCDASDI--The Virtual Disk Initialization Program

11

Data Areas
•
•

This section describes the data areas used
by the IBCDASDI Virtual Disk Initialization
Program. The data areas are:

Track Zero
Unit Control Block

TRACK ZERO

HA

RO

Rl

R2

R3

R4

L--V
V
V
V
V
V
Home
Track
IPt Record 1Pt
Standard Additional
Address Description or Dummy
Bootstrap Volume
Volume Label
Label
(Optional)
Figure 1-3. IBCDASDI Track Zero

12

IBM VM/370 Service Routines Program Logic

1<

>
>

>

<

>

Rl0
V
Additional
Vclume Label
(Cptional)

J

UNIT CONTROL BLOCK

The field UCBREG contains the address of
the UCB.
All references to fields in the
UCB are made using offsets from UCBREG; the

o

11
*1

I

*2

15
I

4

not used

12
I

UCE fields are not late led in the IBCDAStI
program. The format of the UCE is:

Channel and unit numrer

CAW

8

Interrupt PSW

10

Interrupt CSW

1--------------------------------------------------------------18
Sense Information

20
2305, 3330, 3340, 3350 Sense Information

~,!§.E.!.2£~J!!en!
]~!

o

~ec

0

1
2

1
2

4
5
8

4
5
8

10

16

18
20

24
32

Field
*,--*2

~~§£E!E!!Q~

unit reference number
Not used
Channel and unit number
CAW protect
CAW
Interrupt PSW
Interrupt CSW
Sense Information
2305, 3330, 3340, 3350 Sense Information

Figure 1-4. Unit Control Block

Chapter i. IBCDASDI--The Virtual Disk Initialization

n .... ____ _

r ... v~ ... o.w

13

Diagnostic Aids

Figure 1-5 is a list of the messages issued
by the Virtual Disk Initialization Prograa

and the label of the rcutine
the aessage to be issued.

that caused

r---------------------.--------------------------------------------------------------,
Message
Code
IBC101W

Label

IBC102A
IBC103A
IBC104W
IBC105A
IBC106A

ERR235
ERR635
SCANPRT
ABSEQERR
SVCINT
ATTN
CKVOLLBL

IBC107W
IBC108A
IBC1081
IBC1091
IBC1101
IBC1111
IBC1l2W
IBC113W
IBC153A

TRKZERO
TRACKBAD
ALTE2314
GETALT2
TRKPRNT
TRKPRNT
ALTERR
VTOCERR
FAILREAD

IBC154A

Diagram

1-3
1-3
1-3

ftessage Text
INVALID CARD COtE. CORRECT ERROR. DEFRESS INTERRUPT
KEY.
CONTROL STATEMENT ERROR. JOB TERMINATED.
STATEMENT SEQUENCE ERROR. JOB TERftIIATED.
SVC INTERRUPT. JOB TERftINATED.
DEFINE INPUT DEVICE.
THE VOLID IN CONTROL STATEMENT DOES NeT AGREE WITH ID
IN VOL BABEL WHICH FOLLOWS
TRACK ZERO fAD. JOB 7ERMINATED.
HA OR RO FIELD fAD. JOB TERftINATED.
HA OR RO FIELD fAD.
TRACK CHK INDICATES TRACK IS GOOD.
BAD TRACK cccchhhh.
ALTERNATE cccchhhh.
ALT TRACKS DEPLETED. JOB TERMINATED.
IMPROPER VTOC EEGIN AtIRESS. JOB TERftINATED.
TYPEWRITER FAILEt TO READ LAST ftESSAGE. DEFRESS INTERRUPT KEY.
READY READER cuu. DEPRESS INTERRUPT KEY.

ERR233
ERR633
IBC155A
ERR433
READY PRINTER cuu. tEPRESS INTERRUPT KEY.
ERR833
IBC156A
ERR333
READY TAPE cuu. tEPRESS IN7ERRUPT KEY.
IBC157A
ERR133
READY DASD cuu. DEPRESS IN7ERRUPT KEY.
ERR232
IBC159A
READER CHECK. CORRECT ERROR. DEPRESS INTERRUPT KEY.
ERR632
IBC160A
ERR432
PRINT CHECK. CORRECT ERROR. DEPRESS IN7ERRUPT KEY.
ERR832
IBC163A
EOJ
END OF JOB.
IBC201W
COMREJ
COMMAND REJECT
IBC202A
INTVREQ
INTERV. REQUIREI
IBC203W
BUSOUT
BUS OUT CHECK
IBC204W
EQUIPCHK
EQUIPMENT CHECK
IBC205W
DATACHK
DATA CHECK
IBC206W
OVRRUN
OVERRUN
IBC208W
CONVTERR
DATA CONV. CHECK
IBC209W
ENDOFCYL
L-__________________________________
END OF
__ CYLINDER
Figure 1-5. IBCDASDI Messages (Part 1 of 2)

14

IBM VM/370 Service Routines Program Logic

Message
Code

Label

IBC210W
IBC211i
IBC212W
IBC214W
IBC215W
IBC217W
IBC218W
IBC219W
IBC220W
IBC221i
IBC222W
IBC223W
IBC224W
IBC225W
IBC226W
IBC227W
IBC228W
IBC229W
IBC230W
IBC231W
IBC232W
IBC234W
IBC235W
IBC236i
IBC237W
IBC239W
IBC242W
IBC243W
IBC249W

INVLDADR
SIOERR
LPDATA
TROVRRUN
FILEPROT
NORECMSG
ENDTEST
NEVER
CHANERR
INFCERR
CHDATA
OiRFLOW
PROCHK
PTNCHK
UEERROR
iLRERR
CHAINCHK
SEQERR
SEEKeRK
RITERROR
TAPELP
ftI SSMARK
BLNKSTOP
BLNKSTOP
BLNKSTOP
BLKTRCK1
INTRKFftT
INHIBIT
ERROROF

Message Text

Diagram

INVALID ADDRESS
NOT AVAILABLE
READ DATA CHECK
TRACK OVERRUN
FILE PROTECTED
NO RECORD FOUNt
INVALID ERROR
WRONG ERROR
CHAN. CTRL ERROR
INTERFACE ERROR
CHAN. DATA CHECK
DASD OVERFLOW
PROGRAft CHECK
PROTECTION CHECK
UNIT EXCEPTION
INCORRECT LENGTE
CHAINING CHECK
COMftAND SEQ. ERR
SEEK CHECK ERROR
WRITE DATA CHECK
TAPE -- LOAD POINT
MISSING ADR-MARK
BLANK TRACK
3 BLANK CYLINDER
3 BLANK STRIPS
3 BLANK TRACKS
INVALID TRK FMT
WRITE INHIBITED
I/O ERROR. JOE TERMINATED.

Figure 1-5. IBCDASDI ftessages (Part 2 of 2)

Chapter 1. IBCDASDI--Tbe Virtual Disk Initialization Progra.

15

16

IBM VM/370 Service Routines Program Logic

Chapter 2. IPCS-The Interactive Problem
Control System
Introduction
The Interactive Problem
Control System
(IPCS) is a group of CMS commands which,
when used in the VM/370 Control Program,
track and
report both CP
and non-CF
problems. The IPCS commands are:
DUMPSCIN--which allows you to inspect
CP dumps that the VMFDUMP command has
converted to CMS files. It prompts
you for the dump number and filemode,
and it lets you enter subcommands to
display specific parts of the dump and
to locate data and addresses.
PRB--which allcws you to update the
status,
last
update
function,
severity, and PTF (program Temporary
Fix)
files of the symptom summary
record fer a problem.
PROB--which allows you to describe a
problem that is not a CP abend, or to
add information to an existing problem
report
(whether or not it is a CP
abend). It prompts you for all the
necessary
information
about
the
problem.
STAT-- which allows you to produce a
list of the status of all problems
that you can print or type. You can
also request the status of a single
problem cr a subset of problems and
display it at the terminal.
VMFDUMP--which allows you to convert
CP dumps
into CMS
files, create
problem
reports, and
search
for
duplicate problems.
All that is necessary to use the IPCS
commands is that the command modules
be installed on your VM system and
that the modules and IPCS files be
available to the appropriate users.

IPCS REPORT FILES
usually, all IPCS files reside on the
A-disk
of
the user
responsible
for
maintaining yeur VM/370 system. All files
associated with a given problem (such as a
are of the
dump or supplementary files)
form:

The numher assigned to the preblem by IPCS
is indicated by nnnnn and the filetype is
ene of the following:
DUMP--a CMS file; the
VMFDUMP command.

cutput of

the

REPORT--the report generated by the
PROB command or the VMFDUMP command.
(One exists for each preblem kncwn te
the system.)

OTHER IPCS FILES
Other IPCS files include the NUC MAP file,
the STITALL LOCIL file. the summary recerd,
and the symptom summary.
NUC MAP is the nucleus load map of the
CP dump being analyzed.
It ·centains every
module name and entry peint in the CP
nucleus and is required by the VMFDUMF
command for successful analysis of the
dump. An abtreviated version of the NUC
MAP is appended to the VMFDUMP and is used
by the DUMPSCAN command.
The S7ATALL LCCAL file contains the
status of all problems known te the system
and is created by the STAT command when
entered with the ALL operand.
The summary record centains the next
available protlem number. It is a single
eO-character record that is assigned to a
problem when it is reported. The number is
then increased by 1 and the summary record
is rewritten.
The
symptom
summary
contains
the
symptoms and status of each problem known
to the system. There is cne sy.ptom summary
control record for each pre~lem that is
created and placed in this file by the PROE
and VMFDUMP commands. These records are
displayed by the STAT cemmand and updated
by the PRB command. They are alse used to
identify possible duplicate problems as
they are added to this file.

PRBnnnnn filetype

ChaFter 2. IPCS--The Interactive Problem Centrol system

17

CP ABEND DUMPS
During
system generation
a user
is
designated to receive CP abend dumps. If an
atend occurs when SET DUMP AUTO is in
effect, and sufficient contiguous space is
available in the CP paging area, the abend
will aFpear
in the
designated user's
virtual reader. The user can then use the

18

IBM VMj370 Service Routines Program Logic

VMFDUMP command to read the spool file,
create a CMS file containing the dumF, and
print it.
After a CP dump is created, any user who
has access to the IPCS commands and files
can use them to examine the dump, the
problem report, and the status of the
problem. Eowever, an IPCS file must be on
the user's A-disk for him to uFdate it.

Method of Operation
This section describes Interactive problem
Control System
(IPCSj. Diagrams describe
the five IPCS functions. Figure 2-1 shows
the relationship of these diagrams.
Diagram 2-1 shows
how the DUMPSCAN
command and its subcommands enable the user
to interactively examine a CMS dump file
created by VM/370.
Diagram 2-2 shows how the PRE
updates the status of problems
symptom summary file.

command
in the

Diagram 2-3 shows how the PROB command
creates
problem
reports
and
adds
information to existing problem reports.
Diagram 2-4 shows how the STAT command
lists the
current status of
a given
problem.
Diagram 2-5 shows an overview of how the
VMFDUMP command creates a problem report by

extracting pertinent data from

a VM/370 CP

abend dump.
Diagram 2-6 shows how the
map is compressed.

nucleus load

Diagram 2-7 shows how a program check is
handled.
Diagram 2-8 shows how
handled ..

a ceded abend is

Diagram 2-9
shows how
initiated dump is handled.
Diagram 2-10 shows how
information is printed.

an

operator

the preliminary

Diagram 2-11 shows
how the
blocks are formatted and printed.

contrel

Diagram 2-12 shows
how the storage
protection keys and dump file are printed.

Chapter 2* IPCS--The Interactive prcblem centrel System

19

IPCS

I

I
DUMPSCAN

PRB

VMFDUMP

Diagram 2-1

Diagram 2-2

Diagram 2-5

I
I
Compress
Nucleus
Load Map
Diagram 2-6

Program Check
Routine
(DMMPRG)
Diagram 2-7

I

PROB

STAT

Diagram 2-3

Diagram 2-4

I

I
Coded Abend
Routine
((DMMCPA)

Operator
Initiated Routine
(DMMINI)

Diagram 2-8

Diagram 2-9

I
Print Preliminary
Information
(DMMEDM)
Diagram 2-10

I
Format and Print
Control Blocks
(DMMEDM)
Diagram 2-11

Print Storage
(DMMEDM)
Diagram 2-12

Figure 2-1. Key to Interactive Proble. Control System !ethod of Operation Diagram

20

IBM VM/370 Service Routines Program Logic

Processing

Input

Output

From CMS

Determine which dump is to be
examined.

2 Read subcommands. If end of
session, return to CMS.

DMMDSC7191
DMMLOC7161
DMMDSC7201

U

3 Check input for validity and call
su brouti nes.
•

t
D·ISP Iay l~ hexloc%
hexloc I
Display the dump data around
the address 'hexloc' .

• Display hexloc nnnn
Display nnnn bytes of dump
data starting at 'hexloc' .

• Scroll [U)
ScrollU
Display dump data adjacent
to the previous display.

D

Step 2

Notes

Module

Label

1 Ask if the user needs help. If yes, show

DMMDSC

GETDUMP
ENTER

'HELP' pages. Prompt for the dump
file number and mode. Check that the
dump exists. If not, issue message:

2 Read subcommands from the terminal.

DMMDSC

READY
TOKEN
INCHECK

DMMDSC

PLlSTSCN

• Convert 'hexloc' to hexadecimal
and call DMMGET to fetch the
dump data into storage. Check for
indirect request [%) .
Call DMMDIR to format and display
the data.

DMMFEX

TRANADD

• Translate the address of 'hexloc' and
the byte count nnnn to hexa·
decimal.
Fetch the data into storage, from at
the data, convert to EBCDIC, add
addresses, and write the data to the
terminal.

DMMFED

• Increase (decrease if 'U') the iast
displayed address by X'130',
checking for an end of page condi·
tion. Fetch that data into storage.
Invoke the format and display
routine (DMMDIR).

DMW,SCR

3 Scan the parameter list and check

Notes

Module

Label

Ref

STATERR

ERROR IN FSSTATE
Truncate the input to 8·byte words
and place in parameter list. If end of
session ('HX', 'QUIT', or 'END'),
return to CMS.

Ref

I

I

I

I

I I

subcommand for validity. Pass
control to the appropriate subroutine.

NOROUND
INDIR
DIRECT
DMMFED
TRANADD
CTHAN
DIRECT
SCRNFULL

DMMSCR

DIRECTIT

Diagra. 2-1. DU!PSCAN IPCS Com.and (Part 1 of 3)

Chapter 2. IPCS--The Interactive Proble. Centrol syste.

21

Input

Processing

Output

3 Continued
• Trace

[12... ]

nnn
Display the lastest nnn entries
in the trace table.

• Locate string fromaddr
toaddr [increment]
Find the string in the dump
and display it.
• DMKmmee
Use the load map to find the
module in the dump and
display the code.
• Rioblok cuu
Vioblok cuu
Display the channel, control
unit and device block.
• Vmblok
Display a list of logged on
users and their status.

• [~J
REGS
C
G
Display the registers and,
optionally, the clocks, timers,
PSWs, CSW, and CAW.
Step 2

Notes

Module

Label

3 Continued
• Find the trace table from 'traccurr'
in the PSA. Convert the count to
a byte count. Submit it to
DMMFED as display 'hexloc' nnnn.

DMMTRC

DMMTRC

• Fetch the page containing the
'fromaddr' into storage. Compare
the string against the data at
'fromaddr'. If not equal, increase
the data pointer by the 'increment'
parameter and compare again.
Continue until either the comparison
is equal then display the area
containing the equal compare or
until the 'toaddr' is reached then
issue message:

DMMLOC

DMMLOC
EXECUTOR

Ref

Notes
• Check for AP or UP dump. Select
the appropriate set of registers
and if the subcommand is not 'C'
or 'G', also display the PSW and
clocks.

GOGOFEX

STRING 'string' NOT FOUND

MOREMSG

• Read the load map from the end
of the dump and scan it for this
label. Submit the address of the
label to DMMFEX to display.

DMMMOD DMMMOD

• Separate the channel block, control
unit block, and device block for the
given real or virtual device address.
Display the blocks.

DMMIOB

• Get the system VMBLOK pointer
from the PSA. 'Follow the pointer
to the chain of VMBLOKs.
Print a list of the active VMBLOKs
with the userid and selected status
bytes.

DMMVMB

MAPRED

DMMFED

DMMIOB
COMPRCUB
UIO
DMMFED
DMMVMB
BALGET
MOVEL

tiagram 2-1. DUMPSCAN IPCS Command (Part 2 of 3)
22

IBM VM/370 Service Routines Program Logic

Module

Label

DMMREG

DMMREG

Ref

Processing

Input

3

Output

Continued

e Map
Add a load map to the dump .

• DMK? hexloc
Find which module or entry
point contains the address
'hexloc'.
Step 2

r~N
•

l

Print lOFF
CLOSE
subcommand

J

Control the printing of data
being displayed .

•

Step 2

&name
&
&name subcommand
Step 2
Maintain a table of symbolic
names and invoke symbolic
from the table.

Notes

3

Module

Label

DMMDSC

MAPCHECK

Continued

• Check that the dump does not
already have a load map. If it does,
issue the message:
LOAD MAP ALREADY PRESENT

I

Ref

if it does not, caii DiviiviiviAP to add
the load map to the dump.
(See Diagram 2·6 for a description
of DMMMAP processing.)

• Read the load map from the end of
the dump. Scan for the address
closest to, and before the given
address.
See if the module is pageable. If it
is, find its loaded address at dump
time. Display the entry point name
and displacement.
• Turn PRINT 'ON' or 'OFF' as
requested.
?
Display the current print status.
CLOSE
Issue CP DIAGNOSE 'OS'.
subcommand
Issue subcommand and turn
printing 'ON' for subcommand.
PRINT
Reissue the previous subcommand
and print the output.

TWOMAPS

I

DMMMOD

READ
QREQUEST

I I

Notes
• &name
Call a names subcommand from
the table.
&
Display a list of the entries in the
table.
&name subcommand
Add the subcommand into a table
of subcommands.

Module

Label

DMMDSC

FOUNDAMP

Ref

SHOWTAB

I

NOT!NTA."

I

I

PAGEMOD

DMMDSC

CHECKTWO

SHOWPSW
CLOSEPRT
SUBCOM

RESUBCOM

Diagram 2-1. DUMPSCAN IPCS Command (Part 3 of 3)
Chapter 2. IPCS--The Interactive Problem central System

23

Input

Processing

Output

From CMS

o

1 Check user options.

REG 1

2

Parameter
List

Invoke SUMMARY module to
execute request.

A. Get master record for
specified problem number.
B. Update and rewrite the
record.
C. Indicate status update in
problem report and inform
user of operation
completion.

o

DMMSUM100S
DMMSUM200S
DMMSUM501S
DMMSUM502S

CMS

Notes

Module

1 Check the first two operands (which

PRB

Label
-RETRY

may be in any order) as entered, swap
them and check again. Issue error
messages for invalid input.

2

-

-

PTFON
PTFIS
CLOSE
DUPOF
APAR
SEV

-

-

-

DSPLY
IBM
USER
NEEDINFO
HELP

A. Pass input to parameter list pointed
to by register 1. The parameter
list is:
Byte.
1·8
9·16
17·24

25·32

Notes

DMMSUM

START

Contents
Not used
P R Bnnnnn (problem
number)
Request type:
UPST AT - Update status
UPFUNCT - Update last
function
UPSEV - Update severity
UPPTF - Update PTF
information
UPDUP - Update
duplicate information
UPAPAR - Update APAR
information
Update specific informa·
tion.

Diagram 2-2. PRB IPCS Command
24

IB~

V~/370

Module

Label

DMMSUM

REPORT1

B. All activities cause "LAST" date to
be updated with the current date.
C. After the status is updated in
the symptom summary file, append
the date and time and new status to
the problem report for history
purposes. The SUMMARY module
supplies a return code which is
checked. If zero, an informational
reply is issued indicating
successful completion. If the
completion code is not zero, an
informational reply is issued
indicating that the update was
unsuccessful.

Call SUMMARY module (DMMSUM).
The following routines supply
information appropriate to the
user's request:

-

Ref

Service Routines Program Logic

PRB

Ref

Output

Processing

Input
From CMS

Prompt user to determine if this
is a new or an existing problem.
If a duplicate problem, reflect
it in symptom summary.
to Step 3

2

For a new problem:
• Obtain general report
information.

• Determine category of failure.
• Prompt for specific informa·
tion about the faiiure.
• Obtain additional user
comments in free form text.

Label

Notes

Module

1 Prompt user to find out if this activity

DMMPRO

EXIST

DMMPRO

MAINLINE

Ref

Notes

Module

Label

Ref

is to create a new problem report or to
update an existing report.

2

A response of 'NO' to this prompt
indicates this is a new problem.
• The user is prompted for the date
and time of the failure, the SCP,
CPU type, CPU serial, and other
generai information.
• The user is prompted for the
category of the problem; for
example, abend message or loop.

I

I

I I

GETFAIL

I I

• The user is prompted for detailed
information, depending on the
type of failure.
• The user is prompted for additional
user comments.

TEXTENTR

Diagram 2-3. PROB IPCS Command (Part 1 of 2)

Chapter 2z IPCS--The Interactive problem Ccntrcl System

25

Input

r

Output

REG 1

______..,

{.L---'~

3 Write a problem report.

Parameter
List

From
Diagram
2-5

4 Look for duplicate problem.

5 For an existing problem:
• Obtain the problem number
from the user.
• Obtain any additional
supporting data file
information.
• Obtain any user free form
comments to be added.
• Add information to the
problem report.

Notes

Module

3 The date and time stamps are supplied

DMMWRT

Label
INTOUT

Ref

Notes

KEYOUT

• Supplementary data file names
are added to the problem report
file if supplied.

SUPPOUT

• Textual descriptions of the problem
are added to the file if supplied.
.

TEXTOUT

• Data from INTSECT (the internal
data area) low storage (time and
date) and the initial status fields are
moved to the 80-byte output area
and FSWRITE adds the data to the
symptom summary file.

CNTRLOUT

• The keyword data is rounded up to
a multiple of 80 bytes and the
information is added to the symptom
summary file.

CNTRLOUT

• The keyword data for the new
problem is compared to that of all
existing problems and any exact
matches are considered duplicates.
The search is terminated when the
newly created problem is
encountered.

Label

DMMSEA

START

• The user is notified (at the terminal)
as each duplicate problem is
encountered. Up to 10 duplicate
problems may be displayed for a
search.

PUTOUT

• If duplicate was found, DMMSUM
is called to record the first
encountered duplicate problem
number in both the symptom
summary control record for the
problem, and the problem report.

ENDRTN

5 A response of 'YES' to the prompt

DMMPRO

OLDPROB

indicates that this is an update to an
existing problem:
• The user is prompted for the number
of the problem, and its existence is
verified.
• The user is prompted for any
additional data file names.

GETSDATA

• The user is prompted for free form
comments to be added to the report.

TEXTENTR

• The new information, with a date
and time stamp is added to the
problem report.

OLDADD

Diagram 2-3. PROB IPCS Command (Part 2 of 2)
26

Module

4 Look for duplicate problem:

from CMS low storage. The
FSWRITE routine writes the first two
records, which contain general
information about the problem. The
third record, containing a start of
keyword area indicator, is written.
• Keyword data is passed in variable
blocked format. The data is
extracted and moved to the output
buffer one entry per 80-character
record. FSWRITE adds this data
and an end of keywords record.

Return
to CMS

IBM VM/370 Service Routines Program Logic

Ref

input

Output

Processing

Fro~

1

Determine type of request.

2

STAT ALL with no other
operands produces a file of
current status for all problems.

I

r

Parameter
List

ULJ

3 STAT ALL with other operands
that request specific categories,
produces a display of the
requested status.

4 STAT with no operands causes
a prompt of the user for
probiem number and a display
of the specified status.

5 STAT nnnnn is a request for a
display of the current status of
the specified problem.

lJ
Notes

Module

1 If an operand is not recognized, issue

DMMSTA

Return
to CMS

Label

4 STAT:

START

message:
OPERAND NOT RECOGNIZED,
STATALL ASSUMED

12

STAT ALL:
Set switch (LAL LSW) and erase any
old copy of STATALL LOCAL file.
Heading line is written followed by
all the symptom summary control
records and the file is closed.

Module

Notes

Ref

Label

Ref

SPNUM

The user is prompted for the number of
the problem whose status he wishes.

CK2CONT

.If he enters 0000, STAT ALL is
assumed (see Step 2).

1STALLDC
1

1

STATSRCH

3 STAT ALL oper:
If any additional operands are not
recognized, issue message:

• If he enters a number other than
0000, that number is checked for
validity and the symptom summary
file is searched for the requested
problem.

1

5

1

1

1

STATRDY

STAT nnnnn:
The problem number nnnnn is checked
for validity.
• If the number is in the correct
format, the symptom summary file
is searched for the requested
problem.

OPERAND oper NOT RECOGNIZED
• If operands are valid, the entire
symptom summary file is searched
and each control record is matched
with the specified operands.

• The status is displayed when found.
• If the problem is not found, issue
message:

• If a match is found, the control
record is presented to the user on the
terminal and the search continues.

PROBLEM NOT FOUND IN
SYMPTOM SUMMARY FILE

I

Diagra. 2-4. STAT IPCS Co ••and
Chapter 2. IPCS--The Interactive Proble. Central Syste.

27

Processing

Input

I

REG 1 ·~H~----_
Parameter
List

INVALID PARAMETER parm
PAGE REFERENCED NOT
AVAILABLE
Read the next sequential number
from the summary record file, and
append it to the dump prefix 'PRB'.
The dump name will always be
PRBnnnnn, where 'nnnnn' is the
unique dump number.

• Initialize buffers.
• Compress nucleus load map
(Diagram 2·6).

DMMEDM

label
CHKOPT

ERRFND
DMMINI

DMMEDM

PRBDUMNO

RDUMP

label

DO YOU WANT THIS DUMP?
If the user responds 'NO', erase
the spool file and return to CMS.

3

RDUMP

• Initialize buffers EXTPSA
(terminating PSA in the dump) and
EXTINREC (record 2 from the dump)
by issuing FSREADs to the dump
file.
• Call the nucleus load map module
(DMMMAP) to compress the nucleus
load map. (See Diagram 2-6.)

IBM VM/370 Service Routines Program Logic

LOOP

Meaning
End-of-file, 'DUMP PRBnnnnn
CREATED' message is issued
Issue message 'NO DUMP
FILES EXIST' and return
toCMS
Issue message 'UNABLE TO
READ DUMP FROM
READER' and return to
CMS

• Examine the dump list that resides in
DMMEDM as a constant to determine
the file name assigned to the dump;
move this name to the read 'FSCB'
to facilitate subsequent reads to the
dump file.

NXTWD

REREAD

If the user responds 'YES', write a
record by branching and linking to the
WRT Routine, read another record by
branching and linking to the READCD
routine, and so on until the read returns
a non·zero condition code:

Diagram 2-5. VMFDUMP IPCS Command (Part 1 of 3)
28

Module

To determine if the user wants this
dump, issue the message:

2

Save the following from the informa·
tion record (2):

Write the records to the CMS file that
will contain the CP dump file (if
requested) by branching and linking
to the WTREC routine.

Notes
2

Code
1

Record Contents
1
Symbol Table
2
Dump Information record
3-4
Storage Protection Keys at
time of dump
5
First page of storage
dumped (0)

• Abend code
Create the item table from the bit
map in record 2.

Ref

VM/370 SYSTEM ABEND xxxx
DATE (date) TIME (time)

Read the records by branching and
linking to the READCPR routine.
The spool records contain the
following:

• First 256 bytes of storage
• General and floating·point and
control registers
• TOO clock and comparator
• Address of the terminating
prefix storage area

ToCMS

• Determine proper dump file.

Module

If there are no options specified, the
defaults are MAP, FORMAT and
HEX. If an invalid option is specified,
issue message:

Determine if the user wants
this dump.

If 'YES', create CMS file
containing dump and call the
data extraction routines:

Dump
File

Notes

CMS File

If 'NO', erase spool file and
return.

EJ
[J
List
ump.

B
[j
List
ump

Check user options, assign a
unique dump number, read first
five records of dump, and write
the first records to the CMS file.

2

1

Output

From eMS

DMPEND1
NODMP

LOOP

DMMINI

EXTREAD

EXTREND

Ref

Input

From
Diagram

Output

Processing

2-6

3 Determine type of failure:
• If program check, call
DMMPRG (Diagram 2-7)_

• If coded abend, call
DMMCPA (Diagram 2-8).

From
Diagram
2-7,2-8,
or 2-9

• If operator initiated~ cal!
DMMINI (Diagram 2-9).

SHARCON

D

4 Prompt user for additional
information:
• Write problem report.
(Diagram 2-3, Step 3.)
• Perform duplicate search.
(Diagram 2-3, Step 4.)
Diagram
2-3

Notes

Module

Label

3

DMMINI

EXTPSWCK

Examine the DMPABEND field of the
dump information record
(EXTINREC) to determine the failure
type:
• If the failure type is a program check
(PRGxxl, call the program check
routine (DMMPRG). See Diagram
2-7.

Ref

Notes

Module

• All information necessary to create
the problem report has been gathered.
Call module DMMWRT to order the
data and create the problem report.
See Diagram 2-3, Step 4.
• Call module DMMSEA to search for
duplicate problems. See Diagram
2-3, Step 4.

• If the failure type is other than
PSA02, call the coded abend routine
(DMMCPA). See Diagram 2-8.

examine the previously set switches in
the SHARECON data area to determine
the failure. If it was system detected
(CP abend or program check), request
the file name and file type of any
supporting documentation, and a
free form entry description of the
problem.

Note: The prompting sequence for
operator initiated dumps depends on

Ref

NORMEXIT

I I
I

• If the failure type is PSA02, handle
within DMMINI. See Diagram 2-9.

4 Prompt the user for the severity code,

Label

EXTPSCHK

DMMPRM

GETSEV
PRMTYPSW
PRMSUPP

PRMLPPER

the user's response to the QUery:
THE DUMP INFORMATION IS
INCONCLUSIVE ENTER LOOP,
PERFORMANCE OR OTHER

Diagram 2-5. VMFDUMP IPCS Command (Part 2 of 3)
Chapter 2. IPCS--The Interactive Protlem

system

29

Processing

Input

\-::\

!;

~

Output

Call print routine (DMMEDM)
to:

Formatted
Dump

• Print preliminary information
(Diagram 2-10).

• Format and print control
blocks if requested.
(Diagram 2-11).

• Print storage if requested.
(Diagram 2-12).

From
Diagram
2-10,2-11,
or 2-12

6

If specified, erase the dump file_

ToCMS

Notes

Module

5

Pass control to the print routine
(DMMEDM) to print the dump:

DMMPRM

EXIT

• Read record1 (symbol table) and
record2 (dump information) from
the dump file and print the
preliminary information_ See
Diagram 2-10_

DMMEDM

EDITDUMP

6

Label

• If the NOFORM option was omitted,
format and print the control blocks_
See Diagram 2-11_

RCHFORM

• If the NOHEX option was omitted,
print storage_ See Diagram 2-12_

HEX DUMP

If the ERASE option was omitted,
keep the dump file_ If specified, erase
the dump file_ In either case, return
control to CMS_

RETN

Ref

Notes

Diagram 2-5. V!FDU!P IPCS Command (Part 3 of 3)
30

IBM VM/310 Service Routines Program Logic

Module

Label

Ref

From
Diagram 2-5
(Step 2)

Input

Output

Processing

r:::l

o

Extract the module name
entry points and initially
loaded address for each CP
nucleus module.

~

DMMMAP8071
DMMMAP806R
DMMMAP808L

Output Buffer

2

r-::\

Append the compressed map
to the dump file.

~

To
Diagram 2-5
(Step 3)

Notes

Module

1 Attempt a read to NUC MAP A 1.

DMMAP

Label

Ref

Notes

Module

Label

Ref

READ

Note: The nucleus load map is assumed
to reside on the IPCS user's A-disk. If
NUC MAP A 1 cannot be found, issue
message:

READERR
STATERR

UNABLE TO LOCATE NUCMAPA1

I

Follow this message with message:
ENTER fn ft fn OF THE
NUCLEUS LOAD MAP
If the load map is successfully
located, compare the address of the
constant DMKCPEND in the symbol
table (dump record 1) to the address
of DMKCPEND in the load map. If
the addresses do not compare, issue
message:

I

MAPNAME

I I

I

I

I I

XCK

MAPERROR

NUCLEUS MAP INVALID 'file id'
If the map is valid, read each line of
the map into a buffer. If it contains
a module or entry point name, move
this name and associated address
(12 bytesl to 3:l output buffer

2 When end-of-file is reached sort

READ

WRTOUT

the output buffer by ascending
entry point address, write the
output buffer and append it to
the dump file.

Diagram 2-6. Compress the Nucleus Load Map
Chapter 2. IPCS--The Interactive preble. Centrel system

31

Input

From
Diagram 2-5
(Step 3)

Processing

Output

- - - - - - - - - - - - - - -...

Problem
Report Area

DUMPINREC

I

DMPABEND

Move abend code to problem
report area.

Abend Code

PSA
PROPSW

2

Locate the program check
address.

3

Determine failing module
and displacement.

SHARECON

4 Enter failing module name and
displacement in the problem
report or enter the calling
module name and displacement
in the problem report.

VMMOD1
VMDISP1
VMCALLER
SHARECON

5

[§i]

'I

TEXTl

Move the specified registers to
the prob:em report.

TEXT2

Parameter
List

TEXT3
TEXT4

6 Move failing instruction to the

EJ

TEXT5

problem report and return.

File

Notes

Module

1

Move the abend code from
DMPABEND into the problem report
area.

DMMPRG

2

Identify the program check address
in the PSA Program Old PSW.

Label

Ref

Notes

5

•

DMMIDM

MODREAL
MODPRGCK

6 Move the failing instruction to the

MODABND

If entered from DMMCPA, the caller's
base (R 12) will be in the fixed nucleus
or in a pageable. module.

problem report and return to the
user prompting routine.

MODPAGE

Using the addresses provided, and the
compressed nucleus map, calculate
the displacement of the failing or
calling module.

in the problem report or enter the
name of the calling module in the
problem report.

DMMIDM

MODPRGCK
MODGOOD

Diagram 2-7. Program Check Routine (DMMPRG)
32

DMMRMV

•

module and displacement.

4 Enter the name of the failing module

Label

• general registers
• BALSAVE registers
FREESAVE registers
SAVEAREA registers
• LOKSAVE registers
• SWTSAVE registers

3 Call DMMIDM to identify the failing
If entered from DMMPRG, the
failing address will be in the fixed
nucleus portion of the dump or in a
pageable module.

Call DMMRMV to move the register
set indicated by the pointer passed
in register 1. It can be one of the
following:

Module

IBM VM/370 Service Routines Program Logic

DMMPRG

PTGINSTR
PRGMORCD

Ref

Input

Output

Processing

From
Diagram 2-5
(Step 3)

----------------,

DUMPINREC

SHARECON

DMPABEND

VMFAIL

Move abend code to problem
report area.

CPALKUP

2

Find abend related subroutine
using abend code and look-up

table.

r-::\

3

~

I

Variable
Data

U

Move abend related data to
problem report area and
return.

To
Diagram 2-5
(Step 4)

Notes

Module

1 Move the abend code from the

DMMCPA

Label

Ref

Notes

Label

Module

Ref

DMPABEND field of the dump
information record (record 2) into the
problem report area.

2

I

Compare the prefix of the abend code
to the entries in the abend look up
table; in this table an entry exists for
every know(1 abend and it includes
a prefix code followed by a subroutine address.

3 When the appropriate subroutine is

CPACNTIN

I

I

CPAGETAD

I I

I

I

I

located, move the predetermined data
to the problem report.

Note: The amount and type of data
extracted will vary according to the
abend, but will generally fall into one
of the following categories:
• TEXT 1 through TEXT 5 contain
the IOBLOK.
• TEXT 1 through TEXT 5 contain
an information type entry; for
example, THE CLOCK IS IN
ERROR OR NOT OPERATIONAL.
• TEXT 1 through TEXT 5 contain
one of the six register save areas
(reserved); VMDISP is the
displacement within the caller; and
VMCALLER is the module calling
the failing module.
The last category requires calling
DMMIDM and DMMRMV. (See
Diagram 2-7, Steps 4 and 5.)
Call the user prompting routine.

DMMINI

CPACALL

Diagra. 2-8. Coded Abend Routine (D!"CPA,
Chapter 2. IPCS--The Interactive Proble. Centrol Systea

33

Output

From
Processing
Diagram 2-5 _ - - - - - - - - - - - - - - . . ,
(Step 3)

Input

PSA
Current
PSA

Wait
Bit
1

0

\::-\

2

~

If the system is in a wait state,
move 'WAIT' to the failure type
field of the problem report or
prompt the user for this
information if the reason for the
dump cannot be determined
(Diagram 2-5, Step 4).

VMFAIL

Locate the last fou r trace
entries, move them to the dump,
and return.

TEXTl
TEXT2
TEXT3
TEXT4
To
Diagram 2-5
(Step 4)

Notes

Module

1 Examine the wait bit in the current

DMMINI

label

Ref

Notes

EXTLPWT

PSW.
If on, the system is assumed to be
waiting when the operator depressed
the SYSTEM RESTART key. Move
WAIT to the problem report failure
area and re-examine the current
PSW to check for the presence of a
wait code. If one exists, move it to
the problem report also_
If off, consider the dump information inconclusive and prompt the
IPCS user for a failure code. (See
Diagram 2-5, Step 4.)

2 Locate the last four trace entries for
all operator initiated dumps, move
them to the problem report area,
and return to the user prompting
routine (Diagram 2-5, Step 4).

EXTTRTAB
EXTLEAV

Diagram 2-9. Operator Initiated Routine (DMMINI)
3q

IBM VM/370 Service Routines Program Logic

Module

label

Ref

From
Processing
Diagram 2-5 _ - - - - - - - - - - - - - - .
(Step 5)

Input

Output

Dump Record2

1

Print the heading.

2

Format and print the general
registers and the control
registers.

3 Format and print the floating
point registers.

4

Format and print the TOO
clock, clock comparator, and
CPU timer.

5

Format and print PSWs.

IJ
IJ

n

IJ

Dump Record 1
Symbol

6 If 'NOMAP' was omitted, print

Table

the symbol table and return to
caller.
(Diagram 2-5, Step 6).

To
Diagram 2·5
(Step 6)

Notes

1

Module

Print the heading line which contains
the time, date, abend code and cause.

DMMEDM

2 Unpack the general registers and the
control registers by branching and
!inking to the transmit routine, move
the data by branching and linking to
the MVSB RTN routine and print it
by branching and linking to the
PRINTA routine.

I

3 Print the floating point registers as

Label

Ref

Notes

Module

Label

Ref

PREREC

PRELlM4

I

I

I

PRELlM8

I
I

II

in Step 2, above.

4 Unpack and print the TOD clock,
clock comparator and CPU timer as
in Step 2, above.

5

Translate low storage and format and
print the PSWs.

6

If NOMAP was omitted, print the
symbol table.

PRELlM11

Diagram 2-10. Print Preliminary Information (D!MED!)
Chapter 2. IPCS--The Interactive proble.

System

35

From
Diagram 2·5
(Step 5)

Input

Processing

\::\

Output

Format and print the real
control blocks.

~

2 Print SFBLOK chains for the
printer, punch, and reader.

3

Format and print CORTABLE.

o
o

Formatted
Control
Blocks

4 Format and print the virtual
control blocks, segment table,
page table, and swap table,
and return to caller
(Diagram 2·5, Step 6).

To
Diagram 2·5
(Step 6)

Notes

Module

Label

1

DMMEDM

RCHFORM

Format and print the following real
control blocks:
• RCHBLOKs and IOBLOKs chained
to them
• RCUBLOKs and IOBLOKs chained
to them
• RDEVBLOKs
• Active IOBLOK
• RSPLCTL and SFBLOK for unit
record devices
• CONT ASK for termination
• RECBLOKs for CP owned DASD
devices

2

Ref

Notes

Module

4 Format and print the following virtual

RCHPROC
RCUINIT
RDEVINIT
IOPROC

VMBLOKs
ECBLOKs (if any)
VCHBLOKs
VCUBLOKs
VDEVBLOKs
Active IOBLOK (if any)
VCONCTL (for console)
VSPLCTL and SFBLOK (for unit
record devices)
Segment, Page and Swap Tables

Note: These subroutines branch and
link to subroutines to perform
commonly used functions.

GETPAGE To get a page of storage.
TRANINIT To translate control
blocks into printable
form.
BLKPRINT To print real control
blocks.
IOBPRINT To print IOBLOK.
SFPRINT
To print SFBLOK.
IOERPRINT To print IOERBLOK.

Subroutine

Function

Get the page of storage
containing the control
block.
TRANINIT Unpack control block
for printing.
BLKPRINT Print control block.
SFPRINT
Print SF BLOCK.
IOERPROC Print IOERBLOCK.
SEGPGTB Print segment, page, and
swap tables.

GETPAGE

SPFORM

Note: PRTSPL points to the punch
spool and RDRSPL points to the
reader spool.

3

Unpack and print the CORTABLE.

CORTBL

Diagram 2-11. Format and Print Control Blocks (DMMEDM)
36

VIRTUALM

control blocks:

Branch and link to the following
routines for commonly used functions:

Print the printer, reader, and punch
SFBLOK chains.

Label

IBM VM/370 Service Routines Program Logic

VMPRINT
VCHINIT
VCUINIT
VDVINIT

TSTSPOOL
VMCK

Ref

Input

From
Diagram 2-5
(Step 5)

Output

Processing

Read storage protection keys
into buffers (lTEM3 and
ITEM4).

Records 3 and 4

\::\
~

2

Read dump file.

3

Construct print lines.

Formatted·
Storage
Dump

4 Print formatted dump, erase
it if specified, and return to
caller.

To
Diagram 2-5
(Step 6)

Notes

1 DMMEDM reads record 3 and 4 from

Module

Label

DMMEDM

HEXDUMP

Ref

Notes

Module

Label

Ref

the dump file into the buffers called
item3 and item4. These records
contain the storage protection keys.

2

3

Read the remainder of the dump file,
a page at a time, and place them in
the print buffer.
Construct the print iine, piacing the
storage keys with the associated
hexadecimal storage contents.
(Printing of identical lines is
su pp ressed.)

4 Print the dump by branching and

READPAGE

IGErKEY

I II II

I

II
I
I

GETKEY1

linking to the PNTPAGE routine.
If ERASE is specified, erase it and
issue message:
DUMP PRBnnnnn PRINTED AND
ERASED

I
I

I
I

I

I

I

I

Diagram 2-12. Print storage (DMMEDM)
Chapter 2. IPCS--The Interactive Problem Centrol system

"]"1

...I'

Program Organization
This
section
describes
the
organization of Interactive Proble.
Systell (IPCS) •
The logic
of
DMMCPA, DMMDIR, DMMDSC, DMMEDM,
DMMFEX, DMMGET, DMMGRC, DMMHEX,
DMMINI, DMMINT, DMMOIB, DMMtOC,
DMMMOD, DMMPRG, DMMPRM, DMMPRO,
DMMRMV, DMMSCR, DMMSEA, DMMSTA,
DMMTRC, DMMTRN, DMMVMB, and DMMWRT.

prograa
Control
lIodules
DMMFED,
DMMIDM,
DMMftlP,
DMMREG,
DMMSUM,

DMMCPA -- EXTRACTS INFORMATION PERTINENT TO
INDIVIDUAL ABEND CONDITIONS AND ENTERS IT
IN A PROBLEM REPORT

DMMDIR -- FORMATS AID DISPLAYS HEXADECIMAL
Dl1A ON THE TERMINAL SCREE I

!!l!!:I Poin:t
tMftDIRtl -- Which displays the HELP Fages
for D!lHSC.
tMMDIR
Which forllats a screen froll
dump data.

!!l!!:I £on.QitioB§
R2:
R7:

Points to the area to be displayed.
The dump address to be displayed

DMMCPA
The return code
Good
4 Print error
8 Unrecoverable error

R 15:

At entry,
the shared
constant area
contains information previously gathered
from the du.p, and the PSA has been read
into EXTPSA buffer.

o

Routin~§

falle.Q

tMMINT
Which
translates
hexadeciaal to EBCDIC.
The abend code and data related
abend are in the proble. report.

to that

from

Called ] I
tftftFEX, DMMtOe, DMMMOD, and DMMSCR

DMMIDM -- Which finds the calling module
and displacement.
DMMTRN -- Which translates the data from
hexadecimal to EBCDIC.
DMMGRC -- Which reads in the requested
dump file records.
DMMPRM -- Which is the user prompting
routine.
DMMRMV -- Which lIoves the registers to
the problem reFort.

None

DMMDSC -- PROVIDES 1 METBeD OF EXAMINING
THE CMS FORMAT CP DUMPS CREATED BY VMFDUMF

IUMPSCAN
£~II~.Q ~I

DMMINI
From CMS when
issued.

the

DUMFSCAN cOliliand

DMMCPA8051
815:

38

IBM VM/370 Service Routines Program Logic

Return code:
o User 'HX', 'QUIT', or 'END'
8 Error processing the dump

is

!!gut.!1!~§

Call.§Q

DKKFEX -- Which writes a full screen from
the dump.
DKKFED -- Which displays areas of the
dump.
DKKLOC -- Wqich locates data strings.
DKKSCR
Which
performs the scroll
function.
DKKREG -- Which displays the registers.
DMMVKB
Which
displays the VMBLOK
summary.
DMMMOD -- Which finds the modules and
resolves the addresses.
DMMTRC -- Which displays the trace table
entries=

CMS via the DUMPSCAN command.

DMMDSC700I
DMMDSC701R
DMMDSC7191
DMMDSC720I
DMMDSC721I
DMMDSC722I
DMKDSC723I

~YPLIN -- Via
SVC to write a message to
the console.
IMMIN1 -- To create a problem report.

eMS via the VMFDUMP command.

IMMEDM100S
IMMEDM2COS
tMMEDM400S
IMMEDM850I
tMMEDM852I
tMMEDM853I
IMMEDM860I
IMMEDM861E
IMMEDM863E
IMMEDM864I

DMMFED -- DISPLAYS 'NNN' EYTES FROM AtDRESS
'BEXLOC'
~1!~£I poi!!~

IMMFED -- Which formats the dump data.
IMMFEDLN -- Which writes a line to the
terminal.

DMMEDM -- EDITS AND PRINTS A CP DUMP
En~£I

CO!!Qition§

Register 2 points to the parameter list
with input truncated to 8-byte words.
DKMEDM

R15:
R1:
R13:
R14:
R15:

Address of option list
SVC save area address
Return address
Entry point address

If an error is encountered reading the CP
du.p file (register 15 is nonzero), refer
to the CMS RDBUF code meanings.

RDBUF
file.
ERASE
file fro.
CLOSIO
printer.
PRINTR -printer.

Via

SVC to

read

in the

dump

Return code
o Good
4 Error in DM!GET accompanied by
message DMMFEX702I or
DMMFEX7031
8
Unrecoverable error

tMMGET -- Which
dump.

reads in an area

tMMDse, DMMFEX, DMMGET, DMMBEX,
tMMtOe, DMMMOD, DMMREG

of the

DMMOIE,

Via SVC to delete the CP du.p
the P-disk.
Via SiC to close out the
Via SVC to

print a line on the

IMMFEt702I
ItH'FED7031

Chapter 2. IPCS--The Interactive Proble. Control Syste.

39

R2 X'FF' Page outside range of
dump

DMMFEX -- DISPLAYS X'130' BYTES OF THE DUMP
8

Read error and message
DMKGET100S is issued

DMMFEX
!QY1!!l~§

Calle,g

tMMINT -- Which translates the dump.
Register 2
containing
words.

points to the parameter list
input truncated
to 8-byte
tMMFE£, DMMFEX, DMMIOEi DMMLOC,
tMMREG, DMMSCR, DMMTRC, D!MVMB

R15:

Return code
o Good
4 Bad return from DMMGET or
message DMMFEX7041 is issued.

DMMMOt,

DMMGET100S
DMMGE'I7081

RQut.!1l~2 ~gll!g

DMMDIR -- Which formats
data.

and displays the

DMMGRC -- READS DUMP RECCRD CeNTAINING DATA
A'! A GIVEN ADDRESS AND ~ASSES DATA BACK TC
CALLER

DMMDSC, DMMLOC
tMMGRC

DMMFEX7041
'1he shared constant area contains an
address at GRCPARM which is the requested
data address.
DMMGET -- FETCHES PORTIONS OF THE DUMP INTO
STORAGE
Under normal
conditions, register
1
points to the data read from the dumF_
Upon error return, control is passed tc
tMMPRM to prompt the user fer information
l::efore quitting.

DMMGET
~1!try ~Qll.Q.!1'!.Q1!2

Register
address.

2

contains the

required

dump
tMMPRM
encountered
tMMGRC) •

Register 2 contains
in storage address.
R15:

the requested area's

Return code
o Good
4 Warning message DMMGET7081 is
issued
R2 1'00' Page within dump not
dumFed

40

Which
handles errors
(control not
returned

IBM VM/370 Service Routines Program Logic

tMMINI, DMMIDM, DMMCPA,

tMMGRC1COS
tMMGRC8C9S

D~M~RG

if
to

DMMHEX -- TRANSLATES EBCDIC TO HEXADECIMAL
AND CHECKS FOR VALIDITY

faIled

tMMGRC -- Which reads the required record
into the work buffer.
tMMTRN
Which
translates
the
displacement from binary to a Frintable
format.

DMMHEX

R3:
R4:

!Qutin~2

Contains the count in bytes.
Points to the leftmost byte of
EBCDIC.

tMMCPA, DMMPRG

None
R5:
R15:

Points to the leftmost byte of
translated data.
Return code
o Good
4 Message DMMHEX7141 is issued

DMMINI -- INITIALIZES FCB DATA EXTRACTICN
FROM TH! CMS FILE CONTAIJING THE DUMP

tMMINI
DMMFED
Which displays
line by line.

the dump

data
]~1~I fQ~~!1ion2

Register 1 contains the VMFDUMP Farameter
list.
DMMDSC, DMMIOB, DMMLOC, DMMMOD

Normal exit is to D!MEDM tc
CP spool file.

DMMHEX7141

DMMIDM -- DETERMINES THE FAILING OR CALLING
MODULE NAME AND DISPLACEMENT WITHIN THE
MODULE

DMMIDM

Register 1 Foints to a parameter list.
WORD 1
Failing address or base address
of module.
WORD 2
Register 1 for the address of
caller for non-program check
condition.

process the

If the problem number file
(SUMMFILE)
retrieval results in an errcr, centrel is
returned to DM~ED~ and V!FDUMP processing
is halted.

tMMPRG -- Which extra~ts data fer the CP
program check.
tMMCPA -- Which extracts data for the CP
coded abend.
tMMMAP
Which compresses the load maF.
tMMTRN
Which translates the data frcm
tinary to
zoned.
tMMGRC
Which reads in the specified
dump record.
tMMPRM
Which prompts the user fer
additional protlem informatien.
f~!!ed

n

tMMEDM
The
failing or
calling module
and
displacement have been resolved and moved
to the reFort. If possible, an entry
point name is also determined.
ChaFter 2. IPCS--The Interactive Problem Control System

41

Which
tMMGET
storage.
tMMBEX
Which
hexadecimal.

DMMINI100S
DMMINI400S
DMMINI800S
DMMINI803S
DMMINT -- TRANSLATES
PRINTABLE FORMAT

THE

BINARY DATA

TO

~~!leQ

fetches

data

into

converts

EECDIC

to

n

tMMtSC

DMMINT
tMMIOB712I
tMMIOB7131
R3:
R4:

Byte count
Points to the input data string

R5:

Points to the translated data

DMMLOC
LOCATES' STRING'
, INCEEMEN'I'

'FEC!!'

'TC'

Register 2 points to a para.eter
containing the command.

list

DMMLOC
]!!!il Co!!dition,§

None

DMMDSC, DMMDIR, DMMFED, DMMLOC, DMMMOD,
DMMREG, DMMTRC, and DMMVMB
Return code
o String is found and data is
displayed.
4 Message DM!LCC715I is issued;
no data is displayed.
8 Error in DMSFREE or DMSFEET;
no data is displayed.

R15:

None
DMMIOB -- DISPLAYS THE I/O BLOCKS

DMMIOB
~nt!:I £~mQi.t!.Q!!§

Register 2 peints to the parameter list
with the input
truncated to a-byte
words.

Which fetches
DMMGFT
storage.
tMMINT -- Which translates
into EECDIC.
tMMBEX -- Which translates
hexadecimal.
tMMFEX
Which
writes
location to a screen.
tMMFED
Which
writes
location to a terminal.
~g!led

R15:

42

Return code
o Geed
4 A bad return from DMMGET;
message DMMIOB7121 or
DMMIOS7131 was issued.
a Unrecoverable error

IBM VM/370 Service Routines Program Logic

n

DMMtSC

data

into

hexadecimal
EECDIC into
the

found

the

found

Register 2 points to the parameter list
with input truncated to 8-byte words.

DMMLOC715I
DMMLOC716I
DMMLOC717I

DMMMAP
APPENDS COMPRESSED
LOAD MAP AT END OF DUMP FILE

AND

SORTED

R15:

Return code
o Good
4 Message DMMMCD705E,
DMMMOD706I. DMMMOD707I
DMMMOD718I is issued.
8 Unrecoverable error

or

DMMMAP

£glled

]!it £.Q1!.Qi!i.21!§

]I

IMMDSC

Register 1 points to the parameter list.
Word 1 of the parameter list points to
the 12K output buffer.

R15:

Return code
o Normal cqmpletion (the load
map information is appended to
the dump).
8 Function not perfor.ed (error
encountered).

IMMMOt1COI
IMMMOI705E
IMMMOt706I
tMMMOD707I
IMMMOt718I

DMMPRG
PROCESSING

HANDLES THE

CP

fROGRAM

CHECK

None
IMMPRG

DMMINI, DMMDSC
The
shared
constant
area
information about the failure.
DMMMAP810S
DMMMAP200S
DMMMAP801I
DMMMAP802I
DMMMAP806R
DMMMAP807I
DMMMAP808I
DMMMAP810S

Exits
to
DMMPRM
(the
subroutine) with the failing
text area.

contains

promFting
code in the

]Qy.ti~~§ ~~11.§.Q

DMMMOD -- LOCATES MODULES AND ENTRY POINTS
IN
LOAD
MAP AND
IDENTIFIES
MODULE
CONTAINING GIVEN ADDRESS

IMMRMV -- Which puts the registers in the
output.
IMMGRC
Which gets the dumr reccrd
containing the code.
IMMTRN
Which translates the failing
code.
IMMPRM -- Which prompts the user fer any
information concerning the Iroblem.

DMMMOD

Chapter 2. IPCS--The Interactive Problem Centrel system

43

~~11~.2 ~

DftftINI

Return code
o Normal completion
4 The user ent ered • HX'
execution)
a Unrecoverable error

R15:

(hal t

None
~QY!!!!~§ fall~.2

DftftPRft
PROftPTS USER FOR SUPPLEMENTARY
DATA PILES AND TEXTUAL NOTES ABOUT FAILURE

IMMWRT
Which writes the problem report
to disk.
tMMSEA -- Which looks for a duplicate of
this problem.

DMftPRft
Ey CMS when the PROB com.and is entered.
The common shared constant area contains
informaticn
gathered
by
previous
routines.

Exit to DMMEDM with the proble. report
created,
the
symptom
summary
file
appended, and the summary record updated.

tMMPR01COS
tMftPR02COS

DMMREG -- DISPLAYS THE REGISTERS

IMftREG
DMftWRT -- Which writes the problem report
to disk.
DMMSEA -- Which performs the duplicate
problem search.

]!!!~y

Conditions

Register 2 points to the parameter list
with input truncated to a-byte Yords.

]!!! Conditions

DftMINI, DMMCPA, DMftPRG

R15:

Return code
o Good
4 Warning
a Unrecoverable error

DftMPRM200S
DMMPRM804I

DftMPRO -- CREATES A
USER PROMPTING

PROBLEft REPORT THROUGH

IftMINT
Which translates hexadecimal to
:EECDIC.
tMftFED -- Which displays the dump data
line-by-line.
tftftGET -- Which fetches the dump pages
into storage.

DMMPRO
~!!!~~ ]1

tMMDSC

]~try ~~~gi!i£~§

Entry from
entered.

44

CftS

when

PROB

command

is

IBft VM/370 Service Routines Progra. Logie

DlH!REG100S

Return code
o Good
q
Message Da~SCR709I is issued;
tad return from DMMGET.
a Unrecoverable error

R15:

DMMRMV -- PLACES REGISTERS IN THE TEXT AREA
OF THE REPORT

IMMGET
storage.
IMMDIR
data.

DMMRMV

Register 1 points to the save area for
one of the following savearea sets:
BALR
FREE
General registers
savearea

fg.!1 ed

Which
Which

fetches
formats

data
and

into

displays

]1

IMMDSC

IMftSCR7C91
The registers are in the text area of the
report.

DMMSEA -DUPLICATE~

LOCATES ANY FRCBLEMS WHICH
OF A NEWLY ENTERED PROBLEM

ARE

!!.Qut.!1!~§ ~gl.!~g

DMMTRN -- Which translates the registers
into a printable format.

DMMCPA, DMMPRG

Register 1 points to a parameter list as
follows:
WD1
Pointer to the internal data area
iD2
Pointer to the keyword string (with
length fields)
iD3
Pointer to the text area for this
problem

None

DMMSCR -- SCROLLS THE
FROM THE LAST ADDRESS

tMMSEA

DISPLAY UP

OR DOWN
R15:

DMMSCR

Return code
o No duplicates found
4 Duplicates found
a Unrecoverable error
encountered

!!g'y!!!!~§ ~alle.Q

Register 2 points to the para.eter list
containing the input truncated to a-byte
words.

tMM5UM -- Which posts duplicate status of
the proble.
to the
suaaary control
record.

[MMPRM, DMMPRO

Chapter 2. IPCS--The Interactive Preble. centrel Syste.

45

DMMSEA100S

DMMSTA -- DISPLAYS THE
PROBLEM OR
GROUP OF
PROBLEMS

STATUS OF
PROBLEMS

A GIVEN
OR ALL

DMMSTA

Register
points
parameters:
Module name
PARM 1 (ALL or PNUM)
PARM2 (SRCH ARG1)
PARM3 (SRCH ARG2)

R15:

to

the

Register 1 contains the parameter pOinter
as follows:
8 characters not used
8 characters PRBxxxxx, where xxxxx is
the problem number
e characters The function to be
performed (Upcccccc) or FI
where cccccc is EG, STAT,
PTF, or FUNCT, and UP and
PI stand for update and
find
n characters New data to be put in the
appropriate field

passed
R 15:

length
length
length
length

8

8
8
8

Return code
o Normal return, function
Ferformed
4 Problem number not found in
symptom summary
8
Unrecoverable error
encountered

Return code
o Normal successful completion
4 Requested problem not found
8 Unrecoverable error
encountered
If a FIND was requested, register
points to the problem contrel record.

None

£s!!ed ]1
IMMSEA and PRB EXEC

None
IMHSUM1COS
DMMSUM200S
IHHSUM5C1S
IMMSUM5C2S
CMS via the STAT command.
DMMTRC -- DISPLAYS 'NNN' TRACE ENTRIES
DMMSTA100S
DMMSTA200S
DMMSTA6 01 S
tMMTRC
DMMSUM -- UPDATES OR FINDS SYMPTOM SUMMARY
CONTROL RECORD FOR A GIVEN PROBLEM AND
PASSES IT TO CALLER

SUMMARY

46

IBM VM/370 Service Routines Program Logic

In!f1

£2n~!ti2n§

Register 2 points to the parameter list.

Register 2 contains the last displayed
scroll address.
R15:
Return code
o Good
4 Bad return from DMMGET,
message DMMTRC710I is issued.

4

Bad return frem rMMGET,
message D!MV~E711I issued.

Which fetches the dump pages
DMMGET
into storaqe.
DMMFED ---Which disFlays the specified
areas.
IMMGET -- Which fetches the dump
into storage.
tMMINT -- Which translates hexadecimal
into EBCDIC.
DMMDSC
~g!!ed ]1

IMMDSC
DMMTRC7101
DMMTRN -- TRANSLATES
PRINTABLE FORMAT

BINARY

DATA INTO

A
tMI1VI1E711I
DMMWRT -- CREATES A PROELEM BEPORT ON rISK
ANt ADtS THIS PROBLE!
TQ THE SYMPTCM
SUMMARY FILE

m.lMTRN

The commen constant area TRNPARM and
TRNPARM1 have the data length and data
address respectively.

Register 1 points to the translated data.

DMMINI,
DMMIDM

DMMCPA,

DMMPRG,

DMMRMV,

and

IMMWRT

Register 1 points to the parameter list
as follows:
iD1
Points to the internal data (DSECT
INTSECT)
WD2
Points to the keyword data
(variable tlocked format)
Wr3
Points to the text description
(halfword length prefix)
Wt4
Points to the supplementary data
(halfword length prefix)

None
R15:
DMMVMB -- DISPLAYS
USERIDS, AND STATUS

ALL VMBLOK

ADDRESSES,

Return code
o Normal, successful completion
8 Error occurred

None
DMMVMB

tMMPRO (PROB co.mand), and DMMPRM (during
VMFDUMP processing)

None

R15:

Return code
o Good

IMMWRT2COS

Chapter 2. IPCS--The Interactive Problem centrol System

47

Directory
Figure 2-2 is an alFhabetical list of some
of the labels in the IPCS modules. .The
function performed at the point in the
i

Latel

I Module

~----------+--­

CPACALL

DMMCPA

CPACNTIN

+---------+---------------------------------------------------~

Calls the user prompt routine.

DMMCPA

2-8

Scans the abend look up tatle.

CPALKUP

DMMCPA

2-8

Codes the abend look up table.

CHECK TWO

DMMDSC

2-1

Turns print on and off.

CLOSEPRT

DMMDSC

2-1

Issues the DIAGNOSE X'08' sutcommand to
close print.

ENTER

DMMDSC

2-1

prompts for the dump name and file tYFe.

FOUNDAMP

DMMDSC

2-1

Calls an entry from the 6NAME tatle.

GETDUMP

DMMDSC

2-1

Prompts the user who has asked for HELP.

INCHECK

DMMDSC

2-1

Determines if the entry is HELP, QUIT, HX
or END.

MAPCHECK

DMMDSC

2-1

Ensures that the dump has no map.

IfOTINTAB

DMMDSC

2-1

Adds the entry to the 6NAME table.

PLISTSCN

DMMDSC

2-1

Examines the parameter to determine wbat
subroutine is needed.

READIN

DMP.lDSC

2-1

Issues an RtiERM to accept subco •• ands.

RESUBCOM

DMMDSC

2-1

Reissues the previous subcommand.

SHOWPRSW

DMMDSC

2-1

Displa!s the print status.

SHOWTAB

DfU!DSC

2-1

Displays a list of table entries.

SUBCOM

DMMDSC

2-1

Issues the print sutcommand.

TOKEN

DMMDSC

2-1

Groups the input in an 8-byte parameter
list.

CHKOPT

DMMEDM

2~5

Checks the user options for accuracy.

CORTBL

DMMEDM

2-11

Edits and prints the storage table.

DMPEND1

DMMEDM

2-5

Issues the end-of-file message.

EDITDUMP

DMMEDM

2-5

Prints preliminary information.

ERASE

DMMEDM

2-5

Erases the CMS file containing the dump.

2-2.

is
of

Description

I Diagram

2-8

Figure

48

I

program
indicated
by eacb
label
described and the asscciated method
operation diagram is referenced.

The Interactive problem Control System (IPCS) Latel
Directory (Part 1 of 5)

IBM VM/370 Service Routines Program Logic

------------~---------.-.----------------------------------------------------------------~

I Diagram
I
2-5

Latel

Module

ERROP

DMMEDM

ERROR3

DMMEDM

2-5

Issues message DMMEtM861I.

GETKEY

DMMEDM

2-12

constructs the print line showing the
storage keys.

GETKEY1

DMMEDM

2-12

Prints a storage line.

HEXDUMP

DM~EDM

2-5

prints all of storage.

IOBPROG

DMMEDM

2-11

Formats and prints the IOBLOK.

LOADMAP

DMMEDM

2-10

Ensures that the symbol
requested.

LOOP

DMMEDM

2-5

creates a

NODMP

DMMEDM

2-5

Issues message D!MEtM853I.

NXTWD

DMMEDM

2-5

creates the item talle from the
bit map.

PRELIMII

DMMEDM

2-10

Changes the PSWs.

PRELIM4

DMMEDM

2-10

Prints the general and control
registers.

PRELIMS

DMMEDM

2-10

Prints the floating proint registers.

PREREC

DMMEDM

2-10

Prints the heading.

RCHFORM

D!MEDM

2-5

Prints the real control blocks.

RCHPROC

D!MEDM

2-11

Prints RCHELOKs.

RCUINIT

DMMEDM

2-11

Prints RCUELOKs.

RDEVINIT

DMMEDM

2- i i

Prints the RrEVBLOKs.

RDUMP

DMMEDM

2-5

Writes the CMS file containing the
CP dump.

READPAGE

DMMEDM

2-12

Reads the dump file storage pages.

REREAD

DMMEDM

2-5

Reads the operator response.

RETN

DMMEDM

2-5

Saves the file if ERASE is not
specified.

SETEDM

DMMEDM

2-5

opens the dump file.

SFFORM

DMMEDM

2-11

prints the SFELOK chains for unit
record I/O.

Figure

2-2.

Description

Issues message DKKEtM863I.

CM~

t~tle

is

file.

The Interactive Problem Control System (IPCS) Lalel
Label Directory (Part 2 of 5)

Chapter

2~

IPCS--The Interactive Problem Centrel System

49

Label

Module

Diagra.

-------------------------------------,I

Description

~----------~--------~--------~------------------------------------.-----------------~
2-11
TSTSPOOL
DMMEDM
prints VSPLCiL and SFBLOKs.

VCHINIT

DMMEDM

2-11

Formats and prints VCHBLOKs.

VCUINIT

DMMEDM

2-11

For.ats and prints VCUBLOKs.

VINIT

DMMEDM

2-11

Formats and prints VDEVBLOKs.

VIRTUALM

DMMEDM

2-11

prints virtual control blocks.

VKCK

DMMEDK

2-11

prints segment, page, and swap tables.

VKPRINT

DMMEDK

2-11

Formats and prints VMBLOKs.

CTRAN

DMMFED

2-1

Converts the count to hexadecimal.

DIRECT

DMMFED

2-1

Formats the dump data.

SCRNFULL

DMMFED

2-1

writes the dump data.

TRANADD

DMMFED

2-1

Converts the address to hexadecimal.

DIRECT

DMMFEX

2-1

Calls DMMDIR to display the dump data.

INDIR

DMMFEX

2-1

Checks for indirect requests.

NOROUND

DMKFEX

2-1

Calls DMMGET to get the dump data.

TRANADD

DMMFEX

2-1

Converts the address to hexadecimal.

KODREAL

DMMIDM

2-7

Determines the address location.

EXTLEAV

DMIUNI

2-9

Processes the operator initiated dump.

EXTLPWT

DMMINI

2-9

Examines wait bit in PSi.

EXTPSCHK

DMMINI

2-9

Processes operator initiated dump.

EXTPSWCK

DMMINI

2-5

Finds the failure type.

EXTREAD

DMMINI

2-5

Initializes the buffers for DUMPINEEC.

EXTREND

DIUUNI

2-5

Calls the map compression routine.

EXTSVCHK

DMIUNI

2-5

Calls the coded abend routine.

EXTTRTAB

DMMINI

2-9

Locates the last four trace entries.

COKPRCUB

DMMIOB

2-1

Gets addresses for the real control
blocks.

VIO

DMMIOB

2-1

Gets the addresses for the virtual
control block.

DKMLOC

DMMLOC

2-1

Fetchs the 'from' page.

EXECUTOR

DMMLOC

2-1

Compares the string to the dump.

GOGOFEX

DMMLOC

2-1

Displays the equal compare.

KAPERROR

DMMMAP

2-6

Issues message DMMMAP808I.

Figure

50

2-2.

The Interactive Problem Control System (IFCS) Latel
Directory (Part 3 of 5)

IBM VM/370 Service Routines Program Logic

------------~,------------------.~~-----------------------------------------------------,

Label

MAPNAME

I Module
I
DM!!!UP

Diagram

tescription

2-6

Issues message DMMMAP806R.

READ

D!!MMAP

2-6

Reads in 'NUC MAP A'.

READERR

D!!MMAP

2-6

Issues message DMMMAP807I.

WRTOUT

DMMMAP

2-6

Adds the compressed nucleus map
to the dump.

XCK

DMMMAP

2-6

Checks the nucleus load map for
validity.

DMMMOD

DMMMOD

2-1

Reads the load map.

MAPRED

DMMMOD

2-1

Scans the load map.

PAGEMOD

DMMMOD

2-1

Checks for a pageable module.

QREQUEST

DMMMOD

2-1

Scans the load map.

READ

DMMMOD

2-1

Reads the load map.

PRGMORCD

DMMPRG

2-7

Calls the user prompt routine.

EXIT

DM!!PRM

2-5

Returns to the VMFDUKP print routine.

UORMEXIT

DMMPRM

2-5

Calls the write and search routines.

EXIST

DMMPRO

2-3

Prompts to determine new or old
problem.

GETFAIL

DMMPRO

2-3

Prompts for specific type of
problem.

GETSDATA

DMMPRO

2-3

Gets supporting data file names.

MAINLINE

D!!MPRO

2-3

Gathers general protlem data.

OLDADD

DMMPRO

2-3

Appends information to the problem
report.

OLDPROB

DMMPRO

2-3

Gets the number of the old proble ••

SRCHRTN

DMMPRO

2-3

Calls DMKSEA for a duplicate searcb.

TEXTENTR

D!U!PRO

2-3

prompts for free form text information.

DMMREG

DMMREG

2-1

Checks for IP or UP dump.

DIRECTIT

DMMSCR

2-1

Formats and displays.

DMMSCR

DMMSCR

2-1

Calculates new display address.

ENDRTN

DKMSEI

2-3

Updates symptom summary with duplicate
entry.

PUTOUT

DMMSEI

2-3

Notifies user of duplicate protlem.

START

m!!!SEl

2-3

Searches for a duplicate protlem.

SPUUM

DMMSTA

2-4

Prompts for the protlem number.

I
I

.J

Figure

2-2.

The Interactive Problem Control System (IPCS) Latel
Directory (Part 4 of 5)

Chapter

2~

IPCS--The Interactive Protlem Centrol System

51

,

r-----------~---------~--------~~-----------------------------------------------------,

Label

Module

Diagram

STALLOC

DMMSTA

2-4

creates the

START

DMMSTA

2-4

Checks the first operand for validity.

STATRDY

DMMSTA

2-4

Displays the status of a given problem.

STATSRCH

DMMSTA

2-4

Searches for the type of status record.

REPORT1

DMMSUM

2-2

Appends status change to problem report.

START

DMMSUM

2-2

Determines the type of request.

DMMTRC

DMMTRC

2-1

Finds the trace table.

BALGET

DMMVMB

2-1

Chains through the VMBLOKs.

DMMVMB

DMMVMB

2-1

Gets the system VMBLOK painter.

MOVEL

DMMVMB

2-1

prints the VMfLOK list.

CNTRLOUT

DMMWRT

2-3

Adds PROE control record to the
symptom summary.

INTOUT

DMMWRT

2-3

Writes the first three report
records.

KEYOUT

DMMWRT

2-3

Adds keyword data to the report.

SUPPOUT

DMMWRT

2-3

Adds supplementary file names to
report.

TEXTOUT

DMMWRT

2-3

Adds free form text to report.

-APAR

PRB EXEC

2-2

Posts the PARM number.

-CLOSE

PRB EXEC

2-2

Closes the problem.

-DUPOF

PRB EXEC

2-2

Posts the problem as a duplicate.

-IBM

PRB EXEC

2-2

Posts the report to IBM.

-MORE

PRB EXEC

2-2

Indicates that more information
is needed.

-PTFIS

PRB EXEC

2-2

Posts the PTF number.

-PTFON

PRB EXEC

2-2

Applies the posted PTF.

-RETRY

PRB EXEC

2-2

Checks the operand for validity.

-SEV

PRB EXEC

2-2

Changes the severity.

-USER

PRB EXEC

2-2

Posts the problem as the user's
responsibility.

Figure

52

2-2.

tescription
~TATALL

LOCAL file.

The Interactive Problem Control System (IPCS) Label
Directcry (Part 5 of 5)

IBM VM/370 Service Routines Program Logic

I

Data Areas
This section describes the data areas used
by the Interactive Problem Control System

I

TT'\"'~'

\ .1..t'\..;:)1 •

The data areas are:

SBARECON -- VMFDUMP SHARED CONSTANT AREA

,
00

TYPWSW

04

NUM

R

08

B

I
I
I

*

OC

DMPFSCB

10

GRCPARM

1

TRNPARM

18

TRNPARM1

1,..
I\,.

MODDISP

20

REALEND

24

EDMRET

28

EDMSAVE

<

>

68

KEY

6C

COMPLN

70

Vi'iCOiiPID

74
78

VMCOMP1

7C
80

VMENVL

84

VMENV

88

8C
90

PLCLN

94

VMPLC

98

r

9C
Figure 2-3.

VMPLC1

I

SCPLN
YMFDUMP Shared Constant Area

(Part 1 of 4)

Chapter 2. IPCS--The Interactive problem Centrcl system

53

VMSCPLV

AO
.J

A4
VMSCPLVl

A8
AC

FAILLN

BO

VMFAIL

B4
r

B8

VMFAILl

I
I

BC

co
C4
C8
CC
DO
D4
D8
DC
EO
E4
E8
:BC
FO
F4
F8

,

rI

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

MOtLH
VMMOD

VMMODl

DISPLN
VMDISP
VMDISPl
ENTRYLN
VMENTRY

VMENTRYl

80

>

<
I
14C I
I
150 I
I

SUPPORT
SUPPLN

SUPP1

<
<

1AO I
I

SUPP2

2EO I

TEXT

<
<

Figure 2-3.

54

*

VMFDUMP Shared Constant Area

(Part 2 of 4)

IBM VM/370 Service Routines Program Logic

I
I
I
I
I

>
>
I
I

>
>
I

i

I

TEXTA

2E4 I

I

>
>

<
<
I

334 I

TEXT1

I
384 I

TEXT2

i
I

>
>

<
<

I
I

>
>.

<
<
I

I

TEXT3

3D4 I

>
>

<
/

"
I

I
I

TEXT4

424 I

>
>

<
<
I

I
I

TEXTS

474 I

<
<

>
>

~,!§E.!~£~'!!!~!!!

!ielg !~!~
TYPESW
DC
EQU
WAITSW
LOOPSW
EQU
PRGCKSW EQU
CPABSW
EQU
PROCERR EQU
DU!PNU! DS
DC
DC
NU!
DMPFSCB DC
GRCPARM DC
TRNPAR! DC
TRNPAR!1 DC
!ODDISP DS
REALEND DS
EDMRET
DS
EDMSAVE DS

]~!

!!~.f

01
01
04
OC
10
14
18
1C
20
24
28

01
01
04
12
16
20
24
28
36
40

113

****

68

104

KEY

6C
70
79
82
86
90
94
9A
9D
A1
A9
AC

108
112
121
130
134
144
148
154
157
161
169
172

COMPLN
DC
VMCOMPID DC
VCOMP1
DC
VMENVL
DC
VMENV
DC
PLCLN
DC
va PLC
DC
VIi PLC1 DS
SCPLN
DC
VM SCPLV DC
Vl'l SCPLV1 DS
FAILLN
DC

00

00

32

X'OO'
X'01'
X'02'
X'04'
X'08'
X'80'
OCL8
C'PRB'
C'OOOOO'
F'O'
F'O'
F'O'
F' 0'
F
F
F
16F

12!§£!:.!E!ign

Dump type switch
Wait
Loop or performance
Program check
CP coded abend
Data extraction process error
Unique problem identification assigned
Problem number prefix
Problem number
Address of dump read FSCB
GETREC parameter list address
Translate routine PAR!2 (data length)
Translate routine PARK' (address;
Displacement of failure in module
Highest address of fixed storage
Return address in D!!ED!
Save area for t!!lED!

THE PROBLE! REPORT KEYWORD AREA FOLLOWS

Figure 2-3.

DC

AL2(VKKEYSKEY),X'OOOO'
X'00160000'
C'VKCOMPID='
C' 5749DKKOO'
X'OOOEOOOO'
C'V!ENVIR=CP'
X'OOODOOOO'
C'V!lPLC='
CL3
X'OOOFOOOO'
C'V!lSCPLV='
CL3
X'00190000'

V!FDUMP Shared Constant Area

****

Set initial length
Length of component id keyword
Component id keyword
VK/370 component id
Length of environment key
Environment keyword
Length of PLC keyword
PLC keyword
PLC number
Length of SCP keyword area
SCP keyword
SCP number
Length of failure keyword area
(Part 3 of 4)

Chapter 2. IPCS--The Interactive Problem Centrel System

55

EO

176

EA

1S6

V"F1IL
DC
V"F1ILLP EQU

C'VMF1ILURE='
*+4

V"FAILOT EQU
V"F1IL1 DS
V"KEYS
EQU

*+5
CL11
*

Failure keyword
End of VMF1IL if loop or
perfor.ance failure
End of VMFAIL if other failure
Failure type
Length of base keys

**** OTHER KEYWORDS WHICH M1Y OR ftAY NOT EE USlD FOLLOW****
C5
C9
D2
DS
DC
E3
E7
EB
F3
FB
14C
150

197
201
210
216
220
227
231
235
243
251
332
336

MODLN
VftMOD
VftMOD 1
DISPLN
VMDISP
VMDISP1
ENTRYLN
V!!ENTRY
VftENTRY1

152
1A2

X'00130000'
C'V!!MODULE='
CL6
X' 00 OF 0000 '
C'VMDISP='
CL4
X'00140000'
C'YMENTRY='
CLS
SOC' ,

SUPPORT
SUPPLN

DC
DC
DS
DC
DC
DS
DC
DC
DS
DC
DS
DC

33S

SUPP1

DC

SOC' ,

41S

SUPP2

DC

320C' ,

F

X'0050'

Length of .odule na.e
ftodule na.e keyword
Failing module nalle
Displace.ent key area length
Displacement keyword
Disp1acellent
Entry point key area length
Entry point keyword
Entry point address
Padded for additional key
Supporting data area
Supp1e.entary data area length
initially set
Supporting data reserved fer
the dump fileid
User supporting data area

**** THE PROBLE!! REPORT TEXT IREI FOLLOWS: ****
2E2

73S

TEXT

DC

X'01EO'

Text area length initially set to 4S

**** THE FIRST 4S0 BYTES RESERVED FOR THE !XTRACTION PROGR1! ****
2E4 740
334 S20
384 900
3D4 9S0
424 1060
474 1140

TEXTI
TEXT1
TEXT2
TEXT3
TEXT4
TEXT5

DC
DC
DC
DC
DC
DC

SOC'
SOC'
SOC'
SOC'
SOC'
SOC'

,
,
•
,
•
•

Data
Data
Data
Data
Data
Data

extraction
extraction
extraction
extraction
extraction
extraction

text
text
text
text
text
text

**** USER TEXT IREI UP 15 LINES OF SO EYTE ENTRIES ****
Figure 2-3.

56

V!!FDUMP Shared Constant lrea

(Part 4 of 4)

IBM YM/370 Service Routines Program Logic

line
line
line
line
line
line

a
1
2
3
4
5

INTSECT -- VMFDUMP AND PROB INTERNAL DATA AREA

INTSER

INTCPUT

00
04
08

INTSDA

INTSUEC

INTTIME

INTBYPS

INTPIC

INTED

OC
10

INTSEV

14
..-

18

I

INTFILL

INTET

1C
20

INTPNUM
INTTOOL

24

<

3C 1
I
30 I

INTPLC

;

>
>

1

S8 1

INTEX1

<
<

1

I

>
>

1--------

7C I

INTX2

<
<

I
I

>
>

!!.i.§.Ela.£~n1!!

Dec

--CO -CO
00
03
09
OA
OB
10
11
12
13
13
1B
1C
21
26
3F
42

00
03
09
10
11
16
17
18
19
19
27
28
33
38
63
66

7C

124

sa

I

INTDUMM

<
<

Hex

>

aa

Figure 2-4.

!i~l£ !!~

INTSECT
INTCPUT
IHTSER
IHTSDA
INTSUBC
INTTIME
INTSEV
INTBYPS
INTPDC
INTERRT
INTED
INTFILL
IHTET
INTPNUM
INTTOOL
INTPLC
INTDUMM
INTI1
INTX2

DSECT
DS CL3
DS CL6
DS CL1
DS CL1
DS CLS
DS CL1
DS CL1
DS CL1
DS OCL14
DS CLa
DS CL1
DS CLS
DS CLS
DS CL2S
DS CL3
DS CL22
DS CL36
DS CL36

CPU type
CPU serial
support data available switch
Sub.itter's code
Total time expended
Proble. severity
Bypass required switch
Filler
Error date and ti.e
Date of error
Filler
Ti.e of error
Syste.-assigned problem nu.ber
Tool usage codes
PLC level of syste.
Filler
VMFIILURE (internal use only)
VMENVIR (internal use only)

VMFDUMP and PROB Internal Data Area

Chapter 2. IPCS--Tbe Interactive Proble. Centrol Syste.

57

SYMSECT -- SYMPTOM SUMMARY CONTROL RECORD FORMAT

SYftPBUft

00
04

SYMCREAT

*

08
OC

SYftLACT

*

10
14

SYMLFCT

*

18
r

1C

I

SYMSTAT

*

20
24

*

SYMPTF

28
2C
30
34
38

*

SYMPLC

3C

*

SYMSEV

*

SYMFAIL

*

SYMENVIR

40
44

48
4C

SYMCCNT

Figure 2-5.

58

Symptom Su.mary Control Record Format

IBM VM/370 Service Routines Program Logic

(Part 1 of 2)

30
38
39

SYMPTFFN DS
sYMPTFDV DS
sYMPTFFT DS

eLa

30

39
47
48

38
27

56
39

2B
2C

43

ORG
SYMAPAR1 DS
SYMAPARX DS
SYMAPAR2 DS

SYMPTF
CL4
CL1

eta

Place for APAR
Blank divider
AFAR nUliber

34
27

52

ORG
SYMCLOSE DS

SYMPTF
CL17

Closing code if not resolved

ORG

SYMPTF
OCL17
CL7
CL5
CL5
CLl
CL3
CLl
CL1
CLl
CL1l
CL1
CL4
CL1

00

05

06

06

OE
OF
14

14

15

1D
1E
26
27
27

2F

15
20
25

29

44
39

38

56

21

39
39
46
51

27

2E
33
38
39

56
57

3C
3D
3E
3F
4A
4B

74
75

4P

79

60
61

62
63

Figure 2-5.

s!!PNU!

Problem number
Filler
Creation date for this protlem
Filler
Date of last activity
Filler
Last activity performed
Filler
Current status of this problem
Filler
Filename and filetype of PTF for this
problem or PNUM or duplicate problem
PTF filename
Divider between filename and filetype
PTF filetype

Ds
DS
sYMCREAT DS
DS
sYMLACT DS
DS
sYMLFCT DS
DS
SYMSTAT DS
DS
SYMPTF
DS

00

05

SYMDUP
sYMDUP1
SYMDUP2
SYMDUPX

DS

DS
DS
DS
DS
SYMPLC
DS
DS
SYMSEV
DS
DS
SYMFAIL DS
DS
SYMENVIR DS
SYMCCNT DS

CL5

CLl
CL8
CLl
CL5
CL1
CL8
CL1
CL8
CL1
OCL17
CLl
CL8

Field to flag problem as duplicate
'DUP OF '
Problem number of duplicate
Filler
Filler
PLC level of system
Filler
Severity of this problem
Filler
Value of keyword VEFAILURE
Filler
Value of keyword VMENVIR
Number of keyword symptom records
following this header

Symptom Summary Control Record Format

(Part 2 of 2)

The following CP and CMS data areaS are used by IPCS:
~!t§

NUCON
FSCB

CMS low core censtant area
File system control bleck

CP
VMBLOK
PSA
RI:EVBLOK
RCUBLOK
RCHBLOK
IOBLOK
BSCBLOK
VDEYBLOK
VCUBLOK
VCHBLOK
I:MPINREC
I:MPKYREC
I:MBTBREC

Virtual machine block
Prefix storage area
Real device block
Real control unit block
Real channel block
I/O control block
Binary synchronous control block
Virtual device block
Virtual control unit bleck
Virtual channel block
Dump file information record
Dump file key record
Dump file symbol table record

These data areas are described in the

!~LJ1Q ~2!S

!E§s§ gnd

~2D!fOI ~1££!§

1£gi£·

Chapter 2. IPCS--The Interactive Problem Centrel System

59

Diagnostic Aids
latel
and
the associated
method
operation diagram are identified.

Figure 2-6 is an alFhabetical list of all
the messages issued by IPCS.
The nearest

cf

~----------.---------~--------~----------------------------------------------------,

Message
Code

Diagram

I
I

Message Text

CPAEND

2-8

xxxxxx AfEND CODE NOT RECOGNIZEE EY
DATA EXTRACTION

DMMDSC7001

GETDUMP

2-1

TYPE HELP OR ENTER

DMMDSC701R

ENTER

2-1

ENTER DUMP NUMEER AND MODE

DMMDSC719I

STATERR

2-1

ERROR IN FSSTATE

DMMDSC7201

TWOMAPS

2-1

LOAD MAP ALREAtY PRESENT

DMMDSC7211

FULLMSG

2-1

&NAME TAELE IS FULL

DMMDSC7221

ILLEGAMP

2-1

INVALID ENTRY INTO THE BNAME TAfLE

DMMDSC723I

NOWRITE

2-1

THE DUMP IS NOT ON THE A-DISK

DMMEDM100S

PRBQUITR

2-5

ERROR 'nnn' READING FILE 'SUMMARY
RECORD A'

DMMEDM200S

PRBWRTER

2-5

ERROR 'nnn' WRITING FILE 'SUMMARY
RECORD A'

DMMEDM400S

PRBQUITC

2-5

ERROR 'nnn' CLOSING FILE 'SUMMARY
RECORD A'

DMMEDM8501

LOOP

2-5

UNABLE TO READ DUMP FROM READER

DMMEDM852I

ERRWRT

2-5

FATAL I/O ERROR WRITING DUMP

DMMEDM853I

NODMP

2-5

NO DUMP FILES EXIST

DMMEDM8601

QUIT

2-5

FATAL I/O ERROR READING DUMP

DMMEDM861 E

ERROR3

2-5

DUMP FILE FILENAME NOT FOUND

DMMEDM863E

ERRFND

2-5

INVALID PARAMETER - XXXXXXXX
PAGE REFER EMCEE MPT AVAILABLE

DMMFED702I

CBADIN

2-1

NON-HEX CHARACTER IN COUNT - RETRY

DMMFED703I

BADIN

2-1

NON-HEX CHARACTER IN ADDRESS - RETRY

DMMFEX704 I

BADIN

2-1

NON-HEX CHARACTER IN ADDRESS - RETRY

DMMGET100S

RDERR

x

ERROR 'nnn' READING FILE 'fileid'

DMMGET708I

MSGITEND

x

PAGE 'page' NOT FOUND IN THE DU!P

DMMGRC100S

RDERROR

x

ERROR 'nnn' READING FILE 'PRBnnnnn
DUMP A1'

DMMCPA8051

Figure

60

I
I Label
I

2-6.

Interacti ve Problem Control System Messages

IBM VM/370 Service Routines Program Logic

(Part 1 of 3)

~

-y.---------,------------------------------------------------------,
I
I

Message
Code

Label

DMMGRC809S

MSGITEND

DMMHEX7141

BADIN

2-1

NON-HEX CHARACTER IN INPUT - RETRY

DMMINI100S

EXTERR

2-5

ERROR 'nnn' READING FILE 'PRBnnnnn
DUMP A1'

DMMINI400S

EXTERRC

2-5

ERROR 'nnn' CLOSING FILE 'PRBnnnnn
DUMP A1'

DMMINI800S

WRTMSG

2-5

DATA EXTRACTION FAILURE

DMMINI803S

ERR202

2-5

ERROR 'nnn' ATTEMPTING LOADMOD FCR
VMFDUMP2

DMMIOB7121

WRITERR

2-1

DEVICE 'cuu' NOT FOUND

DMMIOB7131

NOUSER

2-1

USER 'userid' VMBLOK NOT FOUND

DMMLOC7151

NONHEXST

2-1

NON-HEX CHARACTER IN STRING

DMMLOC7161

MOREMSG

2-1

STRING 'string' NOT FOUND

DMKLOC7161

BOTOFF

2-1

STRING 'string' NOT FOUND BBFCRE
END OF DUMP

DMMLOC7171

NOPARM

2-1

INVALID FORM OF LOCATE COMMAND

DMMMAP200S

WRTERR

2-6

ERROR 'nnn' WRITING FILE 'PRBnnnnn
DUMP Al'

DMMMAP8011

MAPERROR

2-6

FILE 'NUC MAP' IS NOT VALID
FOR THIS rUMP

DMMMAP8021

CONTMSG

2-6

PROCEEDING ••

DMMMAP806R

MAPNAME

2-6

ENTER fn ft fm OF TEE NUCLEUS
LOAD MAP

DMMMAP8071

STATEBR

2-6

UNABLE TO LOCATE 'fileid'

DMMMAP8081

MAPERROR

2-6

NUCLEUS MAP INVALID 'fileid'

DMKMAP810S

READERR

2-6

ERROR 'nnn' READING FILE 'fileid'

DMMMOD1001

RDERR

2-1

ERROR 'nnn' REArING FILE 'fileid'

DMMMOD705E

EOTAB

2-1

ERROR IN ITEM TAELE

DMMMOD7061

MODNF

2-1

'entry name' NOT FOUND IN THE
LOAD MAP

Figure

2-6.

I nteracti v

IDiagram
I

Message Text

REQUESTEr ADDRESS NOT IN DUMP

Problelll Control System Messages

I

I

(Part 2 of 3)

Chapter 2. IPCS--The Interactive Problem Ccntrcl System

61

Label

DMMMOD7071

GETREAL

DMMMOD7181

LMERR

2-1

THIS DUMP HAS NO LOAD MAP - SEE
MAP SUBCOMMABD

DMMPRM200S

PRBWRTER

2-5

ERROR 'nnn' WRITING FILE 'SUMMARY
RECORD A1 '

DftftPRft8041

START

2-5

ERROR IN tlTA EXtRACTION

DMMPR0100S

SUftERRR2

2-3

ERROR 'nnn' READING FILE ' fileid'

DMMPR0200S

SUMERRW

2-3

ERROR 'nnn' WRITING FILE 'fileid'

DMftREG1001

RDERR

2-1

ERROR 'nnn' READING FILE 'fileid'

DftftSCR7091

EYECATCH

2-1

NO VALID SCROLL ADDRESS

DftftSEA100S

RDERR

2-1

ERROR 'nnn' READIBG FILE 'SYMPTCM
SUMMARY Al'

Dftl!STA100S

RDERR4

2-4

ERROR 'nnn' READING FILE ' fileid'

DI!I!STA200S

IRTERR

2-4

ERROR 'nnn' WRITING FILE ' fileid'

DMMSTA601S

CK2COBT

2-4

OPERAND NOT RECOGNIZED, STATALL
ASSUMED

DMI!SUM100S

RDERR

2-2

ERROR 'nnn' READING FILE 'SYI!PTCM
SUMI!ARY 11'

DMMSUM200S

ERRWRT

2-2

ERROR 'nnn' WRITING FILE ' fileid'

DI!I!SUM501S

PARI!ERR

2-2

INVALID P IRM 'par.' PASSED TO
SUI!MARY OPtATE PROGRAM

DMMSUM502S

RETCOD4

2-2

PROBLEM 'PRBnnnnn' NCT FOUND IB
SYMPTOI! SOMMARY

DMMTRC7101

CBADIB

2-1

NOB-NUI!ERIC COONT CHARACTER - RETRY

DMMVMB7111

NBA

2-1

LOOP IN VMfLOK CBAIB

DMMWRT200S

FSWRITE

2-3

ERROR 'nnn' WRITING FILE ' fileid'

Figure

62

,

i

Message
Code

2-6.

I
IDiagra.
I
2-1

I
I

Message Text
'.odule' 'page' PAG! NOT VALID

Interactive Problem Control System Messages

IBM VM/370 Service Routines Program Logic

(Part 3 of 3)

~

Chapter 3. The Format Service Program

Introduction
The Format/Allocate service
standalone Frcgram which:
•
•
•

routine is

a

Formats all or part of a DASD device
Allocates DASD space
Creates volume labels
for IBM 2314, 2319, 3330, 3340,
3350
series, and 2305 series direct access
storage devices.

Operands entered from the IPL device
and/or a 1052 console centrol the execution
of the Format program.

The Format program writes 4096-byte
(one
page)
records
on all
the
specified
cylinders.
The records just written are
then read tc verify the disk surface. Any
records not Fassing the read-after-write
check
are counted.
When the
format
operation is complete, a summary of the
addresses of the unusable pages is written
on the console.
The first three records of cylinder 0
contain special sYstem data includinq the
volume label.
If the format operation
includes cylinder 0 any existing
volume
label is read first and if an OS For.at 4
label is present, the information in the
label
ccncerning
alternate
track
assignments is carried forward to the new
label.
Then the new
volume label is
written on the DASD device.
If cylinder 0 is not to
label checking is performed.

ALLOCATION OPERATION

FATAL DISD I/O ERROR

and the next

•
•
•
•

Temporary
Permanent
Iirectory
Temporary

space (TE!P)
space (PER!)
space (DRCT)
user space (TDSK)

The
input
parameters
provide
the
information needed to update the allocaticn
tatle. When the END allocation statement
is processed:
•

The allocation table is written in the
byte allocation map on cylinder 0, track
0, record 4 of the DISD device.

•

The results of the allocation cperation
are displayed at the console.

The
IISD
device must
already
be
formatted before an allocation operation
can be performed.

be formatted,

If unrecoverable
DASD errors
occur
during the formatting operation, the format
function is canceled, the message

is issued,
is read.

In a label-only operaticn, a new volume
latel is written on cylinder 0, track 0,
record 3 of the DISD device.
No label
checking is done tefore the new label is
written.
The
device must
already be
formatted before a late 1 oFeration can be
performed.

In an allocation operaticn, disk space is
assigned on the specified device in units
of one cylinder. This disk space may be
used as:

FORMAT OPERATION

DMKFMT735E

LAEEL-ONLY OPERITICN

control statement

EXECUTING THE FORMIT FROGRI!
The sequence
program is:

for

executing

the

Format

1.

Ready the DISD device.

2.

Ready the reader. The reader .ust
contain the For.at/Illecate program
and .ay also contain control cards fer
the prograa.

Chapter 3. The Format Service

Progra~

63

through the card reader. The program
requests additional input, which can
be entered via the reader or console.

3.

IPL the reader.

4.

If a console is not located at either
address 009 or 01F, signal attention
from the console so the Format program
can establish the
address of the
console.

8.

The program issues messages indicating
the start or end of an operation.

5.

The prcgram title is printed.

9.

6.

When there are no control cards in the
reader, the program requests control
statements
by
sending
prompting
messages to the console.

An operation
in progress
aay be
canceled by signaling attention from
the console.
Execution resumes with
the next o~eration.

7.

When control cards are in the reader,
they are processed.
The prompter
with
messages
are displayed
the
response
field updated
from
the
control sta tements
already entered

10.

The Format/Allocate program cancels an
operation if a an unrecoverable DASt
I/O
error
occurs.
message
A
indicating the cause of the error is
displayed.

64

IBM VM/370 Service Routines Program Logic

Method,of Operation
This section describes the execution of the
disk
format
Frograa
and
shows
the
processing associated with:
•

Formatting DASD space.

•

Allocating DASD space.

•

Writing a volume label.

Figure 3-1 shows the relationship of the
diagrams.
Iiagram
3-1
describes
the
major
functions of the Format/Allccate program.
Diagram
3-2
describes
the
format
function of the Format/Allocate program.
Diagram 3-3
describes the
allocate
function of the Format/Allccate prcgram.

Diagram 3-1
Overview of the
FormatlAllocate
Program

Diagram 3-2
The Format
Function

Diagram 3-3
The Allocate
Function

Figure 3-1. Key to the For.at/Allocate program Method of Operation Diagrams

Chapter 3= The Format Service Program

65

Input

Processing

o

Output

Initialize the program.

~=====>

2

Issue starting message.

3

If card input, read control statements
from card reader, otherwise issue
prompting message so that operator
enters control statements on
console.
At end, exit.

~

I

EXIT

::;=:==~:>

4

Request volume label.

5

If format function, format the
specified cylinders. (See Diagram
3-2 for details'!

6 If Allocate function, read and

8

Formatted Allocated or Labeled
Disk

verify the volume label, then
perform the allocation specified.
(See Diagram 3-3 for details.)

7 If label only operation, write the
new CP volume label on cylinder

o head 0 record 3.

Notes

Module

1 DM KFMT sets up registers 15, 11, and

DMKFMT

Label

Ref

Notes

DMKFMT

ENTER DEVICE ADDRESS (ccu):

12 as base registers, gets the IPL device
address from the I/O old PSW, and
stores it in IPLDEV. Next, DMKFMT
locates the console by testing 009 and
01 F. If neither of these devices is available, it enters the wait state until an
attention interruption is received from
the console.

2

The program title

ENTER DEVICE TYPE:

DMKFMT

If the device address entered is not
available, the error message
DMKFMT

GETCARD

DMKFMT730E DEV xxx NOT
OPERATIONAL

CONSINT

is issued and the request for a device
is repeated.

VALIDATE

The message

DEVICEAD

FORMAT FUNCTION SELECTED
ALLOCATE FUNCTION SELECTED
appears on the console.
Otherwise, the prompter message is
reissued. Then, the message

4

The message

DMKFMT

LAB

If the function being performed by
the Format/Allocate program is the
format operation, then, if cylinder 0
is to be formatted, DMKFMT
branches to FMT; otherwise, it
lJ~Cl.nchest9_ REGFORM1.

DMKFMT

LAB

6 The volume label is read and verified

DMKFMT

LAB

DMKFMT

LABONLY

ENTER DEVICE LABEL:
SELECT

prompts the operator. If the operator
correctly enters FORMAT (F) or
ALLOCATE (A), one of the following
messages

is displayed.

5

by the LBLREC CCW string, then
DMKFMT branches to the
ALLOCATE routine.

7 The CP volume label is written by
the LABWRITE CCW string.
Processing continues by reading the
next control statement (see Step 3).

riagram 3-1. Overview of the Format/Allocate Prograa
66

DEVTYPE

The high cylinder address, highest
record, and device type are initialized
depending on the device type entered.

STMSG

The prompter messages are issued. If
the control statements are entered
through the card reader, the prompter
messages include the response that was
already specified in cards.

ENTER FORMAT OR ALLOCATE:

DEVICEAC

If the device address entered is valid,
the device type is requested.

is displayed at the console.
the reader enters the wait state until an
I/O interrupt occurs. The CONSINT
routine reads the control statements
and the VALIDATE routine checks
that they are valid.

Label

prompts the entering of the device
address.

VM/370 FORMAT/ALLOCATE
PROGRAM VERSION n.n

3 If the switch (CDSW2) contains I'FF',

Module

IBM VM/370 Service Routines Program Logic

Ref

Processing

rut~

1 If cylinder 0 is to be formatted,

I

read existing as Format 4 label,
if present.

OIL

2 Print format message.

I

3 If cylinder 0 is starting cylinder,
format and write system records.

4 Format the specified cylinders.

Disk

5 If an error occurs, record it in the
cylinder bit map in Record 0
track 0 of that cylinder.

6 Print end of format message.

I

V

FORMAT STARTED

~

III
I II

8
I

Disk (formatted)

lb~
FORMAT DONE

Moduie

Notes
1 If cylinder 0 is to be formatted,

I

any existing as Format 4 label is
read to preserve (for IBCDASDI)
the CCHH address of the next
unassigned alternate track and
also the count of the remaining
unassigned alternates. This data
will be put in the new OS Format
4 label on track O.
2 DMKFMT branches and links to the
message writing (WMSG) routine to
display
FORMAT STARTED

DMKFMT.

DMKFMT

the FORMAT program formats
cylinder 0 by setting up the CCWs
appropriate to the device type and
then branching to the STIO routine
to perform the I/O operation. Once
cylinder 0 is formatted, system
records are written on it. The branch
to the CH ECKO routine is set to Nap
so that CHECKO is executed only once.
The records written on cylinder 0 are
Record
Description

o
1
2
3
4
5
6
F3
F4

Ref

Module

Notes
4 The appropriate device type CCWs are

FMT

REGFORM1

set up by the Format program. Page
size records are written and verified
by the STIO routine. Control returns
to the RESUMP routine if no error
occurs. The RESUMP routine updates the record numbers and the
STIO routine again writes and
verifies the record. This loop continues until the last cylinder specified
is completely formatted.

5 If an error occurs in the STIO

Then It updates the I/O new PSW so
that the 10lNT routine executes when
an I/O interrupt occurs.

3 If cylinder 0 is the starting cylinder,

Label

DMKFMT

I

STORE
CHECKO

Page bit map
IPL record
Checkpoint record
Vol1 label
Allocation bit map
Format 4 label
Format 5 label
Page size filler
Filler record for 2314/2319

I II

DMKFMT

Label

Ref

STORE
STIO

I

RESUMP

DMKFMT

10lNT

DMKFMT

CLEANUP

routine, control is transferred to the
10lNT routine. The error is retried
up to 9 tImes before the message
DMKFMT736E 10 ERROR xxx
CCHH R=
SENSE=
is displayed. The Page bit map is
updated to indicate a bad surface.
The errors that cause the Format
function to terminate are:
seek error
error in writing or reading the
home address
error writing or reading record 0
error setting file mask
error in reading count, key, data
The message
DMKFMT735E FATAL DASD
I/O ERROR
is displayed and control returns to
the GETCARD routine.

6 DMKFMT displays the message
FORMAT DONE
to indicate that the specified
cylinders are formatted, and then
summarizes the errors with the
message
xxx PAGE RECORDS FLAGGED

Diagram 3-2. The Format Function
Chapter 3. The Format Service Program

67

Input

Processing

o

Output

l:JF

Display allocate message.

>

2

Read allocate control statements.

3 Update Allocation Table.

4

Control Cards

At end of allocation, indicate the
results.

ENTER ALLOCATION DATA
FOR VOLUME xxxxxx

I
I

1111

:

I

Table
AI,location

I

ALLOCATION RESULTS

Notes

Module

1 The messages

DMKFMT

Label
ALLOCATE

ENTER ALLOCATION DATA
FOR VOLUME xxxxxx
type cyl cyl
..........

If the Allocate control statements
are entered via a card reader, the
switch (CDSW2) contains X'FF'.
Control is transferred to the
GETCARD routine which reads the
cards. The CONSINT and VALIDATE
routines verify the control statements
and allocate processing resumes at the
label REREAD. There is a branch
and link to the RMSG routine to
read from the console. The console
read is not performed in this case
because CDSW2 is X'FF'.

DMKFMT

is loaded into register 9. The total
number of cylinders specified is loaded
into register 8. The cylinder byte
map is updated for each of the
specified cylinders according to the
type indicated in the control state·

GETCARD
CONSINT
VALIDATE
REREAD

ment.

TEMP
PERM
TDSK
DRCT

X'OO'
X'Ol'
X'02'
X'04'

I

The map is printed after the END
statement is processed.

4 The message

DMKFMT

FINI

ALLOCATION RESULTS

DEVICE xxx VOLUME xxXxxx
ALLOCATION ENDED
REREAD

is displayed.

RMSG

DMKFMT

AOKALL
INDIC

Diagram 3-3. The Allocate Function
68

Ref

Label

followed by the type corresponding
to the allocated cylinders is displayed.
Finally, the message

If the allocate control statements are
entered via the console, the switch
(CDSW2) contains X'OO'. The control
statements are read from the console
by branching and linking to the
RMSG routine.

3 The address of the cylinder byte map

Module

Notes

Indication in
Control
Statement Cylinder Byte Map

are displayed.

2

Ref

IBM VM/370 Service Routines Program Logic

I

Program Organization
DMKFMT

.!!Q.Y1in~2 Calle~

None
A
standalone program
that
formats,
allocates, and labels all (or part) of
2314, 2319, 3330, 3340, 3350 series, and
2305 series direct access storage devices
for VM/370 use.

.!!~gist~I

RO-1 0:
R11:
R12:
R14:
R14:
R 15:

]sage
Scratch
3rd tase register
2nd tase register
Scratch
Linkage register
1st rase register

Chapter 3. The Por.at Service Prcgraa

69

Directory
Figure 3-2 is an alphabetical list of the
major
labels
in
the
Format/Allocate
program. The associated method of operation
diagram and a brief description of the

Label
ALLOCATE
ALTTRACK
AOKALL
CHECKO
CLEANUP
CONSINT
DEVICEAD
DEVTYPE
DMKFMT
ERRECOV
FATAL

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

FINI

3-3

FMT

3-2

FORMAL
GETCARD
GRAPHID
INDIC

3-1
3-3
3-3

IOINT
LAB
LABELRD
LABONLY
MCRTN
NEIT
ORCHK
PRINTALL
READER06
REGFORM1

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

REREAD

3-3

RESUMP
RMSG
SELECT

3-2
3-3

SENSIT
SENSIT2
STIO
STMSG
STORE
VALIDATE
WMSG
IBIN
Figure 3-2.

70

Diagram

3-2
3-2

3-1

3-2
3-1

3-2
3-1
3-3

function performed at the point in
program
indicated by
each label
included in the list.

Description
Performs the allocate function of
Performs alternate track recovery
Locates the cylinder byte map.
Writes system records on cylinder
Summarizes the errors encountered
Processes console interruFts.

the Format program.
for 3340/3344.
O.
while formatting the disk.

Displays the prompter message requesting the device address.
Displays the prompter message requesting the device type.
Initializes the Format program.
Performs DASD error recovery.
Displays the termination message and reads the next
control statement.
Displays the cylinders just allocated with the type of
allocation.
Initializes cylinder 0 for formatting by first
reading any existing OS Format 4 label.
Displays the starting cylinder or latel message.
The main control routine. It reads control statements
from the reader or transfers control to the SELECT
routine to issue prompter messages.
Handles input and output operations for display terminals.
Updates the cylinder byte map to reflect the type of allocation
for each cylinder.
Handles I/O interrupts and retries errors.
Displays the prompter message requesting the device label.
Reads and verifies the volume latel.
Rewrites the volume label (record 3) and nothing else.
Processes machine checks.
Displays end of cylinder message.
Processes program checks.
Displays the allocation table on the terminal.
Updates the page bit map to indicate a tad surface.
Initializes the format function when cylinder 0 is not
included.
Reads control statements from the console for the allocate
function.
Updates the record number during the format operation.
Reads from the typewriter terminals.
Prompts the operator to enter the appropriate ccntrol
statement.
Gets sense information.
Displays the sense information.
writes and verifies page size records during format operation.
Displays the program title.
Sets up CCW string to format cylinder O.
Checks control statements entered through a card reader
for accuracy.
Displays messages on the terminal.
Converts hexadecimal numbers to tinary.

The Format/Allocate Program Label Directory

IBM VM/370 Service Routines Program Logic

the
are

Data Areas
This section contains descriptions of the
DASD record fermats and the layout of these
DASD records fer:

•
•
•
•
•

2305 Models 1 and 2
2314/2319 devices
3330 series
3340 series
3350 series

Record 0 is the standard 8-byte data area, set to 0
except fer cylinder O. On cylinder 0, pages are flagged
as follcws~
For 2305, 2314/2319, 3330, 3340, and 3350 in compatil:ility
lIode:

.--

I
I
I

EO

00

00

00

00

00

cc

CO

I

For 3350 in native mode only:
FO

00

00

00

00

00

00

OC

Figure 3-3. Record 0 Format

Chapter 3. The Format Service Program

71

24 bytes

track 0 cylinder 0

1PL record - puts system into wait state if storage device is loaded (via IPt
function).
f

1

'---

J

100 02 00 00 00 00 00 00 03 00 00 00 20 00 00 CO 00 00 00 00 00 00 00 001

Figure 3-4.

Record 1 For.at

l

Ref~rd

4096 bytes - track 0 cylinder 0
Checkpoint record - this is the Checkpoint prograa load at V8/370 1Pt
ti.e to retrieve and save control inforaation for a war. start.
Figure 3-5.

1 consists of a 4-byte key and an aO-byte record.

Ref~!:.Q

Key

Record 2 Format

Data

,

I
key I
I

I
Key I Label
I

FO

Pointer
to VTOC

00

40

00

CP370

40

pointer I
to user I
Directory I

3

Figure 3-6.

72

I
401
I
I

.J

0

i

0

4

10

11

16

Record 3 Format

IBM VM/370 Service Routines Program Logic

21

41

46

51

52

56 79

Re~~.9

!

1024 bytes - track 0 cylinder 0

Record 4 is an allocation byte map used to identify cylinder usage.
Each byte ccrresponds to one cylinder; the value of the byte indicates
the type cf usage for the cylinder.
Value
00--

i
I
I

!!.§~g~

tem{:orary
per.anent
T-disk

01
02
04

00 00 01 00 04 02 00 • • • • FF 0 O. • • • • • 00

...
I

Cylinder beyond the last cylinder
that can be allocated. This point varies
depending on the device~
Figure 3-7. Record 4 Format

Ref~~.9

2

44 bytes key - track 0 cylinder 0
96 bytes data area
Format 4 DSCB type label - used to be compatible with other systems.
I

,

IL--_
04-)04
I
_ _ _ .J

44-tyte Key

r

I FORKAT 4 LABEL

96-byte Data Area

igure 3-8. Record 5 Format

Chapter 3. The Format Service Program

73

44 bytes key - track 0 cylinder 0
96 bytes data area
Format 5 DSCB type label
05 05 05 05 00
~---------------~

44 Byte Key

used to be compatible with other systeas.

FORMAT 5 LABEL
L

96 Byte Data Area

Figure 3-9. Record 6 For.at

4096 bytes - 1 page, track 0 or track 1 (2314/2319 devices only).
F3 Record is reserved for IBM use, and is referred to as a
filler record.
Figure 3-10.

1624 bytes

Record F3

track 1 (2314/2319 devices only) •

Record F4 is used only on 2314 and 2319 to align Record 4 on the
track.
Figure 3-11.

Record F4

824 bytes - cylinder 0, track 1 (2314/2319 devices only).
The first segment of Record 4 is used for paging.
Figure 3-12.

74

Record 4

IBM VMj370 Service Routines Program Logic

Cylinder 0
Track 0
Record

n~
I
II
I

Description

Number of Bytes

8

Description

All Cylinders except 0

lrE£!s.Q.
Record

Description

Record

Description

Number of Bytes

Record

II

RO

R1

Number of Bytes

I

I

I

II

RF4

I
I

I
4

80

II

1024

R6

I Format
Keyl

I
!

II 44 I

4
Label

96

Foem

iI

Key I

,,!
44

5 " •••••••
Label

I

n
I

I

96

R4

I

II

824

1624

R2

I I

I

2472

RO

R2

R3

R4

1624

824

4096

nnn
R4

I I

R5

I I

8

3272

RO

R5

I

3296

R6

R7

DODD
8

800

II

1648

4096

R7

RO

I
Number of Bytes

4096

4096

8

Record

Description

Allocation
Byte
Map

I

R5

DODD

Record

Description

Key I Label

8

I
Number of Bytes

Check
point

II

4096

RO

Description

R4

RF3

8

I

Number of Bytes

R3

nnnn
nnn
I

Number of Bytes

R2

24

RO

Record

Figure 3-13.

R1

RO

R8

I

I

UUU
8

2448

~~o·~e. "7','dck:, C ~c 4 ar€: (t:pe~~ec ~or
tracks 4 to 9,10 to 14, and 15 to 19.
The last record is R32.

4096

2314/2319 Record Layout
Chapter 3. The For.at Service Prograa

75

Cylinder 0
Track 0
Record Number
Description

Number of Bytes

RO

R1

DD
8

24

R2

R3

Checkpoint

R4

,

Keyl Label

I
I

R5

Allocation
Byte
Map

4

80

1024

RF3

:Format
4
Key:
I Label

'Format
Key,I 5
I Label

44

44

,

I
4096

R6

96

:

96

LJ
4096

II

I
I

I

All Cx'inders Except 0

~
Record Number
Description

Number of Bytes

R1

RO

R2

R3

DDEJDEJD
8

4096

50

4096

50

4096

•
•
•
~
Record
Description

Number of Bytes

Figure 3-14.

76

R55

RO

R56

R57

DDEJDEJD
8

4096

50

4096

3330 Series Record Layout

IBM VM/370 Service Routines program Logic

50

4096

Cylinder 0
Track 0
RO

Record number

I Description

R2

R1

II
II

II'PL

I

L-~I

I

8

Number of Bytes

24

R3

Checkpoint

1

R5

II I I
II! II~::
Kev

I

4096

R4

I

Labell

,

4

I

80

Allocation

II
I,

Keyl

I

I

I

1024

I

I Forma

I

RF3

R6

I

I

44

1Formatl I

IKevj!

4
Label
I

96

I

5

Label

I

44

II

1 page

I'

96

4096

I

II

I
I All Cylinders Except 0
Track 0

I Record
I
Description

Number of Bytes

RO

R1

R3

R2

uutJutJu
8

4096

50

4096

50

4096

•
•
•
ITr.ock 1

I

Reco,d

IDescription

I

Numb.. of Bytes

Figure 3-15.

RO

R22

R23

R24

UDtJLI[]I~
8

4096

50

4096

50

4096

2305 Models 1 and 2 Record Layout

Chapter 3. The Format Service Program

77

Cylinder 0
Track 0
Record number
Description

Number of Bytes

R2

R1

RO

DD

Checkpoint

Description

Number of Bytes

RO

R1

R2

DDD
8

4096

4096

••
•

Track 11
Record
Description

Number of Bytes

Figure 3-16.

78

RO

R23

R24

DDD
8

4096

Key

I Label
I

I

4096

3340 Record Layout

IBM VM/370 Service Routines Program Logic

4

R6
I

Allocation
Byte
Map

Key IFormat
I 4
I Label

I
Key I Format
I
5
I Labef

_1

I

I
4096

All Cylinders Except 0
Track 0
Record

R5

R4
I

24

8

R3

80

1024

44

96

44

96

Cylinder 0
Track 0
Record number

Description

Number of Bytes

R0

R1

R2

D

~
L-.J

CheckPoint

R3

Key

I

Label

I

R4

R5

R6

Allocation
Byte
Map

Key IFormat

Key Format
I 5
I Label

I La~el

I
I

I

1
4

80

1024

44

96

44

96

A!! Cylinders Except 0
Track 0
Record

Description

Number of Bytes

R2

R3

R4

4096

4096

4096

DDoDoDL:JU
R0

R1

•

4096

••

Track 29
R0

Record

I
Description

Number of Bytes

Figure 3-17.

R117

R118

II

II

I

II:lI

II

R120

R119

I

II=l I

I

UULJUOUO LJ
4096

4096

4096

4096

3350 Record Layout

Chapter 3. The Format Service program

79

Diagnostic Aids
Figure 3-18 is a list of the messages
issued by the For.at/Allocate program. The
label of the • essage, the label of the

routine
issuing the
.essage and
the
associated method of operaticn diagram are
included in the list •

----------------'-----------------------------------------------------------------,
Label of
Issuing I
I

Message
Code

Message

Routine

IDiagraml

DMKFMT130E

WR 1

DEVTYPE

3-1

DftKFMT732E

ftCMSG

!!CRTN

DMKFMT733E
DftKFMT134E

WRONG
TYPERR

DftKFftT735E

FATLftSG

LABELBAD
VALIDATE
ALLOCATE
FATAL

DEV xxx N01 OPERATICNAL OB NCT
REAIY.
MACHINE CHECK RUN SEREP AID SAVE
OUTPUT FOR CE
VOLII READ IS xxxxxx NOT xxxxxx
TYPE OR CYL INVALID

3-2

DftKFMT136E

IOERR

DMKFftT131E
DMKFftT738A
DftKFMT139E

FATAL DASD 10 ERROR.
CSW=xxxxxxxxxxxxxxxx
10 ERROR xxx CCBHR = 0000000000
SENSE = xxxxxxxxxxxx
INVALID OPERAND
DEV xxx INTERVENTION REQUIRED
FLAGGED PRI!!ARY TRACK BAS NC
ALTERNATE ASSIGNED, 10 ERRCR
FOLLOWS.
PACK MOUNTED IS 3340-35, leT
3340-10. MOUNT ANOTHER OB
RESPECIFY.
PROGRAM CHECK PSW= xxxxxxxxxxxxxxxx

3-2

BAD
IPLERROR
MSGATRK

DEVICEAD
SENSIT2
BADINPUT
DEVICE AD
ALTTRACK

DftKF!!T140E

MSG35ftB

DEVTYPE

3-1

D!!KF!!T756E

PC!!SG
TITLE

PRCHK
ERRORMSG
ST!!SG

3-1

FORA
FMTMSG
ALLOCMSG
ADDRESS
TYPMSG
DATAMSG

SELECT
SELECT
SELECT
DEVICEAD
DEVTYPE
ALLOCATE

3-1
3-1
3-1
3-1
3-1
3-3

AL!!SG
ALMSG 1
ALLEND

ALLOCATE
ALLOCATE
FINI

3-3
3-3
3-3

STCYL

FOR!!ALL

ENDCYL
PROGFOR
RDLAB
ENDFOR
PAGE
RESULTS
ftAP
LABELCHK

NEXT
REGFORM
LAB
CLEANUP
CLEANUP
FINI
PRINTALL
LABONLY

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

Message Text

VM/370 FORMAT/ALLeCATE PBCGBAM
BELEASE n
ENTER FORMAT OR ALLOCATE:
FOR!AT FUNCTION SELECTED
ALLOCATE FUNCTION SELECTED
ENTER DEVICE ADDRESS (CCU):
ENTER DEVICE TYPE:
ENTER ALLOCATION DATA FOR VCLUME
xxxxxx
TYPE CYL CYL
DEVICE xxx VOLUME xxxxxx ALLOCATION
ENtED
ENtER START CYLINDER (xxx) CR
"LAEEL":
EN1ER ENt CYLINDER (xxx):
FORMAT STARTED
ENTER DEVICE LABEL:
FORftAT DONE
xxx PAGE RECORDS FLAGGED
ALLOCATION RESULTS
TEMP 000 oeo
LAEEL IS New xxxxxx

Figure 3-18. The Format/Allocate Program Messages

80

IBM VM/370 Service Routines Program Logic

Chapter 4. DMKDIR-The Directory Program

Introduction
Tbe DMKDIR
program builds
the VM/370
directory on a volume previously formatted
by tbe
Fermat/Allocate program,
using
cylinders that were previously allocated
for use as directory space.

The new directory can be built se that
it does net overlay an existing directory.
To do this, allocate Eneugb space fer two
directories or allocate s~ace for a new
directory each
time tbe
directory is
created.

Under the control of the VM/370 system,
tbe new directory is dynamically swapped
and placed in use provided the directory
bas been created without errors, on a
volume in
the system-owned
list, and
provided the user class is A, B, or C.

The
directory program
can be
standalone or under the control of
The
CMS
DIRECT command
invokes
directory program under CMS.

Chapter 4. t!KDIR--The Directory Progra.

run
CMS.
the

81

Method of Operation
This section describes the operation of the
VM/370 Directcry Frogram. Figure 4-1 shows
the relationship of the Method of Operation
diagrams.

Diagrams 4-2, 4-3, and 4-4 describe the
control
statement processing
and
the
resulting action.
Diagram
4-5
shows
the
functions
performed before the program terminates.

Diagram
4-1
describes
the
functions of the Directory program.

major

Diagram 4-1
Overview of
the Directory
Program

Diagram 4-2

Diagram 4-3

Diagram 4-4

Diagram 4-5

DMKDIR
Control Statement
Processing

DMKDIR
Control Statement
Processing

DMKDIR
Control Statement
Processing

Directory
Exit

Figure 4-1. Key to the Directory Program Method of Operation Diagrams

82

IBM VM/370 Service Routines Program Logic

Processing

~

I

L

parameter
List (PLlST)
filename
filetype
filemode
options of
control
statement
file

Lr

Set up base registers and pointers.

2 Set up to read input control
statements.

3 Read control statements. If first
control statement is not
DIRECTORY, issue message and
repeat read.
Process control statements.
(See Diagrams 4-2, 4-3, and 4-4 for
details.)
DMKDIR762E DIRECTORY CARD
MISSING

If more statements to process,
return to read.

4 If last statement already processed,
perform final functions. (See
Diagram 4-5 for details.)

I •••• ~

I

B
Directory

CMSor\Nalt

Module

Notes
1 DMKDIR sets up registers 12, 13, and

DMKDIR

Ref

Label
DMKDIRCT

I

is printed:
VM/370 USER DIRECTORY
CREATION PROGRAM
RELEASE n

are displayed and control returns to
CMS.
DMKDIR

I

If running under CMS, set the P-list
containing the filename, filetype and
filemode of the file containing the
directory control cards. If EDIT is
specified, the DIRFLAG is set to
X'20.

PEFAUL13

~TOREADD
CMS1

I

DMKDIR

202 when the Directory program is
,uo uod,,, tho
of CMS. Whoo
the Directory program runs standalone,
the read function is performed either by
the GRAPHID routine (if the console is
a display device) or by the ST ARTIO
routine in all other cases. The READ
routine scans the control statement
and branches to the appropriate
processing routine. After processing
each control statement and executing
the associated routine, control return~
to READ to process the next control
statement.

"'''''0'

~SG02A

ENTER CARD READER DEVICE
ADDRESS AND OPTIONS
The program then reads a response
from the console. A read is issued to
the card reader indicated (if any). If
the operator enters a null line in
response to the message, the IPL device
is used as the input card reader. If the
EDIT option is specified, DIRFLAG
is set to X'20'.

TERM

3 Control statements are read via SVC

MSGRET

I

Ref

Label

EOJ DIRECTORY NOT UPDATED

9 as base registers and sets up
pointers to the first UDEVBLOK and
the allocation record buffer.

2 If running standalone, the headp.r line

Module

Notes

4 When the last statement is read and

READ

I
GRAPHID
STARTIO

I

II

EXIT

processed, the READ routine branches
and links to the EXIT routine.

iEDITTEST

The STATE macro is issued to see if
the control statement file exists. If
the file is not found, the messages,
DMKDIR763E INVALID FILENAME OR FILE NOT FOUND

Diagram 4-1. Overview of the Directory Program
Chapter 4. t!KDIR--The Directcry Progras

83

Input

Processing

D====~>
Control Statement

Output

Identify the control statement
and perform the appropriate
processing.

2

3

If a USE R control statement,
build a UMACBLOK and create
the UDIRBLOK.

First
Record

4 If an OPTION control statement,
update the UMACBLOK with the
machine options.

5

Notes

Module

1 The READ routine branches and links

DMKDIR

to the SCANNAME routine wit'l
register 4 pointing to TABlE1.
TABLE1 is searched for a keyword
matching the control statement name
and control is passed to the routine
indicated in the corresponding ADCON.

,2 If the USER control statement follows

Label
REAI3

Ref

appears on the console followed by the
statement that was out of sequence.
Directory processing is terminated
after scanning the remaining statements for syntax.
The SCANACCO routine updates the
account number (UMACACCT) and
distribution code (UMACDIST) fields
of the UMACBlOK.

UDEVBLOK
UDEVBLOK
UMACBLOK
UDEVBLOK

Module
DMKDIR

Label
SCANOPTI
ERROR52

appears on the console followed by
the statement that was out of
sequence. Directory processing is
terminated after scanning the
remaining statements for syntax.
The SCANOPTI routine sets fields in
the UMACBlOK to indicate the
machine options.

5

DMKDIR

~CANACCO

ERROR52

The SCANMDIS routine branches
and links to the SCANNAME routine
with register 4 pointing to TABlE4.
TABlE4 is scanned by device type to
get the corresponding device class_
The SCANMDIS routine then updates
the device type (UDEVTYPE) and class
(UDEVTYPC) fields in the
UDEVBlOK. The UDEVSTAT
field is updated to indicate aT-disk
or long block, if either is present,
and the number of cylinders is updated.
For all disks other than T-disk, the
volume serial number, mode, and
password field of the UDEVBlOK
are initialized. The mode is updated
(except for aT-disk).
label
UDEVR
UDEVRR
UDEVW
UDEVWR
UDEVM
UDEVMR
UDEVMW

Value
00
04

08
12
16
20
24

IBM VM/370 Service Routines Prograa Logic

DMKDIR

SCANMDIS
SCANNAME

Comments
R link-mode
RR link-mode
W link-mode
WR link-mode
M link-mode
MR link-mode
MWlink-mode

The SCANMDI S routine then branches
to the CHAINDEV routine to chain
the UDEVBlOK to the UMACBlOK.

Diagram 4-2. DftKDIR Control statement Processinq
84

UMACBLOK

DMKDIR752E STATEMENT
SEQUENCE ERROR FOLLOWING USER user

ERROR52

The last UDIRBlOK and UMACBlOK
are masked off. Update the pointers
to the buffers and write out the
buffers that are fulL The SCANUSER
routine locates a UDIRBlOK and
initializes it. Then the UMACBlOK
is located and initialized.

DMKDIR752E STATEMENT
SEQUENCE ERROR FOllOWING USER user

L--J
rL.

UDEVBLOK

does not follow a USER or IPl
control statement,

jsCANUSER

appears on the console followed by
the statement that was out of sequence_
Directory processing is terminated after
scanning the remaining statements
for syntax.

not follow a USER, OPTION, or IPl
control statement,

======>

4 If the OPTION control statement

DMKDIR752E STATEMENT
SEQUENCE ERROR FOlLOWING USER user

3 If the ACCOUNT control card does

UDIRBLOK

Notes

~CAN1

a USER, ACCOUNT, OPTION, or
IPl control statement,

UDIRBLOK

If an MDISK control statement,
build a UDEVBlOK and chain
it.

i&'AN NAME

DMKDIR

UDIRBLOK

If an ACCOUNT control
statement, update the UMACB LOK
with the account number and
distribution code.

Second
Record

CHAINDEV

Ref

g

--:------'11")

If a SPOO L control statement,
build a UDEVBLOK and chain it.

2
Control Statements

Output

j,ocess;n

-!._ _ _ _ _ _ _
"

If a DEDICATE control statement,
build a UDEVBLOK and chain it.

======>

Second
Record

First
Record
UDIRBLOK
UDIRBLOK
UDIRBLOK

lr

UMACBLOK

1.

UDEVBLOK

UDEVBLOK
UMACBLOK
UDEVBLOK
UDEVBLOK

Notes

1 The SCANSPOO routine builds a

Label

DMKDIR

SCANSPOO

UDEVBLOK. The UDEVSTAT
field is set to X'OS' to indicate a
spool device. The virtual device address is stored in the UDEVADD
f-'-I
-lid .lhc
. 1- 5 ....tJ 001 c~ass is stored :n
1t:IU CI
the UDEVCLAS field. The
SCANSPOO routine branches and
links to the SCANNAME routine with
register 4 pointing to TABLE5. For
all device types except the 2540, the
spool class is picked up directly from
TABLE5. For a 2540 device, the
device class is determined in the
SCAN2540 routine. The default
class is A, except for readers (readers
default to class*).

The SCANDEDI routine builds a
UDEVBLOK. The UDEVSTAT field
is set to X'SO' to indicate a dedicated
device. The virtual device address is
stored in UDEVADD field. And,
either the volume serial number
(UDEVVSERI or user link to disk
(UDEVLlNKI fields are updated.
The SCANDEDI routine then branches
to the CHAINDEV routine to chain
the UDEVBLOK to the UMACBLOK.

Module

Notes

Label

Ref

I II
CHAINDE

The SCANSPOO routine then branches
to the CHAINDEV routine to chain
the UDEVBLOK to the UMACBLOK.

2

Ref

Module

DMKDIR

SCANDEDI

CHAINDEj

Diagram 4-3. DMKDIR Centrol Statement Processing
Chapter

....
11

tMKDIR--Tbe Directory Prcgram

85

Input

Processing

Output

Control Statements

UDIRBLOK

2 If IPL control statement, update
the UMACBLOK.

3 If SPECIAL control statement,
update the UDEVBLOK and chain
it.

Second
Record

First
Record

If LINK control statement, update
the UDEVBLOK and chain it.

UDIRBLOK
UDIRBLOK

>

Lr

n-.

UMACBLOK
UDEVBLOK
UDEVBLOK
UMACBLOK
UDEVBLOK

...

4 If CONSOLE control statement,
update the UDEVBLOK for the
console and chain it.

5 If DIRECTORY control statement,
update the lOB LO K and get the
DASD page address of the
DDIRBLOK and UMACBLOK
buffers.

Notes

Module

1 The SCANLINK routine builds a

DMKDIR

Label
SCAN LINK

UDEVBLOK. The UDEVSTAT field
is set to X'lO' to indicate the device is
to be linked at logon time. The virtual
device address (UDEVADD) and link
device address (UDEVLlNK) are up·
dated. The mode (UDEVMODE) is
also updated.
Label
Value Comments
UDEVR
UDEVRR
UDEVW
UDEVWR
UDEVM
UDEVMR
UDEVMW

00

04
08
12
16
20
24

R
RR
W
WR
M
MR
MW

DMKDIR

The SCANNAME routine branches (via
an ADCON) to the SCANCTCA,
SCAN2701, SCAN2702, and SCAN2703
routines to determine the device type
and class of channel-ta-channel adapter,
or 2701, 2702, and 2703 special device.

ERROR52

5 If the DI RECTORY control statement
is not the first control statement,
DMKDIR752E STATEMENT
SEQUENCE ERROR FOLLOWING USER user
appears on the console followed by the
statement that was out of sequence.
Directory processing is terminated after
scanning the remaining statements for
syntax.

DMKDIR

SCANSPEC
SCANNAME

SCANCTCA

The SCANDI RE routine sets up to update the 10BLOK. The output device
address is stored in DASDADD, and the
serial number is stored in DASDVSER.
The DIRFLAG is set to a hexadecimal
value that indicates the device type of
the output unit. Then, the SCANDI RE
routine gets the pointer to the first page
of the directory and machine buffer
areas.

SCAN2701
SCAN2702
SCAN2703

Diagram 4-4. DMKDIR Control Statement processing
86

Label

DMKDIR

SCAN CONS

DMKDIR

SCANDIRE

SCANIPL

The name of the system to be loaded
(via IPL) at logon time is placed in the
UMACIPL field of the UMACBLOK.
UDEVBLOK for a special device.
The virtual device address is stored in
UDEVADD, the device type is stored
in UDEVTYPE, and the class is stored
in UDEVTYPC. The SPANSPEC
routine branches and links to the
SCAN NAME routine with register 4
pointing to TABLE2. The device type
and class is picked up directly from
TABLE2 for a 3270 and pseudo-timer.

Module

UDEVBLOK for the console. The
virtual device address is stored in
UDEV ADD, the device type is stored
in UDEVTYPE, and the class is stored
in UDEVTYPC. The default class is T.
The SCAN CONS routine branches and
links to the SCANNAME routine with
register 4 pointing to TAB LE3. The
device type and class are picked up
directly from TABLE3.

follow a USER, ACCOUNT, or OPTION
control statement,
DMKDIR752E STATEMENT
SEQUENCE ERROR FOLLOWING USER user
appears on the console followed by the
statement that was out of sequence.
Directory processing is terminated after
scanning the remaining statements for
syntax.

3 The SCANSPEC routine builds a

Notes

4 The SCAN CONS routine builds a

link·mode
link-mode
link-mode
link-mode
link-mode
link-mode
link-mode

2 If the IPL control statement does not

Ref

IBM VM/370 Service Routines Program Logic

ERROR52

Ref

Write out all the used buffers.

2 Build and write allocation record.

Notes
1

All of the user directory, user machine,
and user device buffers that were used
are written. The buffers are written
out by loading the DASD address into
register 2, loading the buffer address
into register 1, and then branching and
linking to the V'JR!TE ioutine.

I 2 setting
Th""""'''
tabl,;, b,;". A"bl,
I
of X,04' indicates an unallocated
I

Module

3

If running under the control of
VM/370, swap directories, issue
message and return to CMS.

4

If running standalone, issue
message and enter wait state.

Label

I- - - • -

I

-;>

CMS

Module

Notes
4

DMKDIR EXIT

If not running under VM/370, the
message

DMKDIR

Label

Ref

BARE

EOJ DIRECTORY UPDATED
appears on the console and the wait
state is entered by loading the
SVCNEW PSW.

DMKDIR

ISCANAll1

cyiinder and X'OC' indicates an
allocated cylinder. The VOLl and allo·
cation records are written.

3 First the return PSW is set up and

Ref

Directory

I
DMKDiR MOVEPSW

Registers 1 and 2 are set to the volume
serial number. The user directories
are swapped via a DIAGNOSE call
to DMKUDRDS. The DIAGNOSE will
program check if the user is not class
A, B, or C. The directories are not
swapped if the volume is not found
in the OWNDLIST or if an I/O
error occurs under CPo The message

LOOP 11

EOJ DIRECTORY UPDATED

I
I

II

I

appears on the console and control
returns to CMS.
If no errors occur, and if the active
system directory was updated, the
directories are swapped. The message
EOJ DIRECTORY UPDATED AND
ON LINE
appears on the console and control
returns to CMS.

Diagra. 4-5. Directory Exit
Chapter 4. t!KDIR--The Directcry progra.

87

Program Organization
This section includes a program description
of the DKKDIR module.

Return
Code
--6-

Keaning
Directory not swaPFed; the
directory the
system is
using is nct the directory
just updated.
Error in CMS BDBOF rcutine.
Error in C!S TYPLIN routine.

DKKDIR
1xx
2xx

creates the YK/370 directory
owned volume.

on a system
!h~

xx is the CKS routine return code.

!!~.9ist§f 'ysag~

BO:
B1:

].!!try :f2int§
DKKDIRCT is the entry point when the
directory program is executed standalone
and DKKDIRED is the entry point when the
directory program is executed under the
control of CKS.

R2:

!!2 ut i.!!§§ ~gl!~2
None

R3:
R4:
R5:

Attributes
--Not-serially reusable.

R6:

R1:
!!~g!§!§f§

g! !!i!
If executed under the control of C8S,
register 15 contains a return code at
exit.

Return
Code

-,--2
3
4

5

SS

!1~~nil!g

Invalid filename or file not
found.
Error loading the directory.
Invalid option from CMS.
Directory not swapped, user
class not A, B, or C.
Directory not swapped, system
(cld) directory locked.

IBM VM/370 Service Routines Program Logic

RS:
R9 :

R10:
R11:
R12:
R13:
R14:
R15:

Work register.
Pointer to input field.
Pointer to lOB.
Pointer to output buffer.
Work register.
Input count from SCINCARD.
DASD address.
Work register.
Work register.
Work register.
Branch and link return address.
Pointer to the next ODEVBLOK.
Work register.
RIIRBOF, pointer tc the ODIRELOK
buffer.
R!ACBOF, pointer to the OKICELCK
buffer.
RtEVBUF, pointer to the OKDEVELCK
buffer.
Base register 3.
RMAC, pointer to O!ICELOK.
RIEV, pointer to ODEVELOK.
Base register 1.
Base register 2.
Return address.
RIIR, pointer to ODIRELOK.

External References
--I8KORDS---rs----called via
a
DIAGNOSE
instruction to write
the new VK/310
directory on DISD.

Directory
Figure 4-2 is an alphabetic list of the
major labels ef the Directory program. The
associated method of operation diagram is
referenced and a brief description of the

Label

Diagram

BARE

4-5

BILDUDIR
BILDUlUC
BINCONV
CHAINDEV
CLEARUDR
CMS1

4-2,4-3
4-1

CMS3
COMPARE
DECCONV
DEPAUL13

4-1

DMKDIRCT
EDIT TEST

4-1
4-1

EOP
ERROR51
ERROR52
ERROR58
ERROR62
EXIT

4-2
4-4
4-1
4-5

GETCARD
GETCYLNO
GETPAGE
GRAPHID

4-1

HEICONV
LONG
LOOP11

4-5

MOVECPT
MOVEDISP
MOVEPSW
MSGRET
MSG02A
MSGWRITE
NOTUSED
POINTDEV

4-5
4-1
4-1

function performed at the Feint in the
program corresponding tc each label is
included.

Description
Directory program exit when not running under the control
of VM/370.
Builds UDIRBLOK.
Builds UMACBLOK.
Cenverts decimal numbers to binary.
Chains UDEVBLOK to UMACELCK.
Clears UDIRBLOK.
Sets up the parameter list identifying the file centaining the
control statements when running under CMS.
Reads CMS control cards via SVC 202:
Compares keywords and sets condition codes.
Converts decimal numbers to hexadecimal.
Defaults to the IPL device for control statement input device
when running standalone.
Sets up base registers and initializes pointers.
Sets DIRFLAG to X'20' to indicate edit, if EDIT is specified
when the Directory program is run under VM/370.
Simulates a USER card.
Error processing for invalid operand.
Issues message when a control statement is out cf sequence.
Issues message DMKDIR758E.
Issues message DMKDIR762E.
End-of-job processing for Iirectory Program.
Reads control statement in input buffer.
Pills in cylinder relocation for minidisks.
Assiqns a DASD page address.
Reads the input control statements from a display terminal when
the directory program is not running under CMS~
Conve~ts hexadecimal numbers to tinarv.
Turns on long block indicator for minidisks.
Calls DMKUDRDS via the DIAGNOSE instruction to swap directories
when running under VM/370.
Sets up current control statement pointer.
Updates UMACBLOK.
Sets up return PSi before issuing DIAGNOSE to call DMKUDRDS.
When running standalone, a header line is printed.
Requests input device when running standalone.
Writes messages to the terminal.
Updates UMACBLOK pointer.
Updates UDEVBLOK pointer.

igure 4-2. The Directory Program Label Directory (Part 1 of 2)

Chapter 4. rMKDIR--The Directory Program

89

,
Label

Diagram

READ

4-1
4-2

READCARD
REREAD
RET1
SCANACCO
SCANALLO
SCAN CARD
SCANCONS
SCANCTCA

4-2
4-5

SCAN DEDI
SCAN DIRE
SCANIPL
SCANLINK
SCANMDIS
SCANNAME

4-3
4-4
4-4
4-4
4-2
4-2
4-4

SCANOPTI
SCAN SPEC
SCANSPOO
SCAN USER
SCAN1

4-2
4-4
4-3
4-2
4-2

SCAN2311
SCAN2540
SCAN2701
SCAN2702
SCAN2703
STARTIO

4-4
4-4
4-4
4-1

STATE
STOREADD

4-1
4-1

TERM

4-1

TESTBUFF
TESTUDEY
UPDATE
UPDATECT
WRITE

4-4
4-4

Description
Reads control statements and branches to appropriate processing
routine.
Reads control statements.
Sets up pointer to control statement read buffer.
Scans control statements.
ACCOUNT statement processing routine.
Builds allocation record.
Scans the control statement for the next operand.
CONSOLE statement processing routine.
Updates the UDEYBLOK and chains the control unit to the UDEYELOK
for channel-to-channel adapters.
DEDICATE statement processing routine.
DIRECTORY statement processing routine.
IPL statement processing routine.
LINK statement processing routine.
MDISK statement processing routine.
Scans the name table until a match is found. Register 4 points
to the name table. If the name field is a constant,
it is put in the UDEYBLOK. If the name field is an address,
control is passed to that address.
OPTION statement processing routine.
SPECIAL statement processing routine.
SPOOL statement processing routine.
USER statement processing routine.
Points register 4 to TAEL!1, then branches and links to SCANNAME
routine to determine the appropriate control statement
processing routine.
Updates the UDEYBLOK for 2311 disks.
Updates the UDEVBLOK for 2540 devices.
Updates the UDEVBLOK for 2701 devices.
Updates the UDEVBLOK for 2102 devices.
Updates the UDEYBLOK for 2103 devices.
Reads the input control statements if the directory program is
not running under CMS.
Checks that control statement file exists.
Sets the DIRFLAG to X'20' to indicate edit, if EDIT is specified
when the Directory program is run standalone.
At end of processing, returns control to CMS if running under
YM/370.
Tests to see if UDEYBLOK was used.
Gets D1SD address of UMACELOK.
Points to next UDEVBLOK.
Updates device count in UMACBLOK.
writes the directory on I!SD.

Figure 4-2. The Directory Program Label Directory (Part 2 of 2)

90

IBM VM/370 Service Routines Program Logic

Data Areas
The directory exists on disk as 4K (page
size) records. The VOL1 label (cylinder 0
track 0 record 3), on the volume containing
the directory, points to the directory. The
directory starts with the first available
record.
The first UDIRBLOK is a dummy UDIRBLOK.
Its UDIRDISP field points to the last
UDIRBLOK in that record. The UDIRDASD field
peints to the next UDIR record, or, if it
is the last record, it contains zeros. The
second UDIRBLOK in the first record points
to the UMACBLOK for that user, located in
the second record. In turn, the UMACBLOK
points to the first UDEVBLOK for that user.
It is the second block in the second
record. The last UDEVBLOK for this user has
a pointer of all zeros.
The directory entry for the second user
consists of a UDIRBLOK in the first record
and associated UMACBLOK, and UDEVBLOKs in
the second record. When a record becomes
full, the chain continues into the next
available record.
When the directory
is created, all
UDIRBLOKs are
grouped 169
blocks per
record.
The UMACBLOK and UDEVBLOKs are
sequentially
chained into
a
separate
record. If the record becomes full before
the end of the chain, the chain overflows
into the next available record.
The formula
records is:
NO

+
169

to

find

the

«BU+RM) X2) +ND

number

-------------- = NR
170

of

NU

is the number of user records.

NM

is
the number
of MDISK
describing a
v irtual disk
T-!isk) •

ND

is
the total
number of
MDISK
(describing T-Disk sFace), SPOOL,
LINK, SPECIAL, CCNSCLE, and DEDICATE
cards ; ;

DR

is the total number of records used.

cards
(net

To find the number of cylinders, divide
the total number of records by 32 for
2314/2319 devices, by 57 for 3330 series
devices, or by 24 for 3340 and 2305 series
devices. To ensure that a new directory
will not overlap an existing directory,
allow space for two directories or allocate
a new directory each tile the directory is
created.
The following data areas are used by the
directory program:
•

The UD!VBLOK (user device block), built
in the UDEVBLOK or UeACELCK buffer.

•

The urIRBLOK (user directory
built in the DIRBLOK buffer.

•

The UMACBLOK (user machine block), built
in the UMACBLCK buffer.

block),

These data areas, as well as a figure
showing the user directery fermat and the
relationship of the
above blocks, are
described in the ltV37.Q ]!!! j.f~§ !l!.Q
£2!tt;Q! ~!.Q ck§ ~.Q.g ic •

Chapter q. tMKDIR--The Directcry program

n1
J

,

Diagnostic Aids
Figure 4-3 lists the .essages issued by the
Directory prcgra..
The label
of the

message and
the associated
.ethod cf
operation diagra. are included in the list.

r-------------------------------------------------------------------------------------,
Message
Code
DMKDIR751E
DMKDIR752E
DMKDIR753E
DMKDIR754E

DMKDIR755E
DMKDIR756E
DMKDIR757E
DMKDIR758E
DMKDIR760E
DMKDIR761E
DMKDIR762E
DMKDIR763E
DMKDIR764E

Label
ERROR51!
ERROR52
ERROR53
ERROR54A
STARTIO
READ
WRITE
ERROR55A
WRITE
ERROR56A
ERROR57
ERROR58
CHAINDEV
ERROR60
GETPAGE
ERROR61A
SCANDIRE
ERROR62
READ
ERROR63
STATE
ERROR64

!!essage Text

Diagra.
4-2,4-4

INVALID OPERAND - XXXXXIXXXXXX.
STATEMENT SEQUENCE ERROR FOLLOWING USER user
OPERAND !!ISSING
DEV ccu NOT OPERATIONAL

10 ERROR ccu CSW XXXXXXXXXXXXXXXX

SENSE XXXXXXXXXXXX
PROGRAM CHECK PSi = xxxxxxxxxxxxxxxx
MACHINE CHECK RUN SEREP AND SAVE OUTPUT FOR
CE
DUPLICATE UNIT DEFINITION
NOT ENOUGH SPICE ALLOCATED FOR DIRECTCRY
VOLID READ IS volid1 NOT volid2
DIRECTORY STITE!!ENT !!ISSING
4-1

INVALID FILENI!!E OR FILE NOT FOUND
ERROR IN XXXXXXXX

MSG04
MSG01
HSG03
MSG02

4-1
4-5
4-5

MSG02A

4-1

4-1

EOJ DIRECTODY NOT UPDATED
EOJ DIRECTORY UP£ATED
EOJ DIRECTORY UP£ATID AND ON LINE
VM/370 USER IIRECTORY CREATICN PROGBAM
RELEASE n
ENTER CABD REIDER DEVICE ADDRESS AND
OPTIONS

Figure 4-3. The Directory Program Messages

92

IBM VM/370 Service Routines Program Logic

Chapter 5. The DASD Dump Restore Program

I ntrod uction
The DASD Dump Restore program executes
under the centrol of CMS V1a the DDR
com.and.
It performs five functions for
direct access storage devices. The five
functions are:

•
•
•
•
•

Dump
Restore
Copy
Print
Type

The dump function saves data from a direct
access volume cn magnetic tape.
The data
is saved cylinder by cylinder. The format
of the tape is:
Record 1, volume header record
describing the volume.

The restore function transfers data from a
tape created ty the DDR dump function te a
r!~r device:
Th€ data may be restored only
to a device of the same type as the device
frem which it was dumped.

COpy

DUMP

•

RESTORE

The copy function cOFies data from one
device to another device cf the same type.
For disk-to-disk operations, data may be
reordered on a cylinder basis. If copying
from tape-to-tape; the input tape must have
been created ty the DDR dump function.

-- data
PRINT

•

Record 2, track header record -- a list
of count fields to restore the track and
the number of data records written on
tape. After the last count field the
record contains key and data records to
fill the 4K buffer.

The print function prints both hexadecimal
and EECDIC representatiens
of selected
records of a DASD or Tape Volume en a
printer ..

•

Record 3, track data records -- key and
data recerds packed into 4K blocks with
the last block truncated.

TYPE

•

Record 4, either the end-of-volume or
end-of-job
trailer
label.
The
end-of-volume label contains the same
information as the next volume header
record except that the ID field contains
EOV.
The
end-of-job trailer
label
contains the same information as record
1 except that the cylinder number field
contains the disk address of the last
record on tape and the ID field contains
EOJ.

The type function displays at the terminal
both hexadecimal and EBCtIC representations
of selected records of a tASD or tape
volu.e.

Chapter 5. lhe D1SD Dump Restore Program

93

Method of Operation
The method of operation diagrams describe
the major functions of the DDR (DASD Dump
Restore) program. The relationship of the
method of operation diagrams is described
in Figure 5-1.
Diagram
5-1
describes
functions of the DDR program.

the

major

Diagram
function.

5-4

cescribes

the

Restore

Diagram 5-5 describes the copy function.
Diagram
function.

5-6

the

describes

Diagram 5-7 describes the Type function.

Diagram 5-2 shows the control statement
Frocessing for the DDR ~rogra ••
Diagram 5-3 describes the

Du.~

function.
Diagram 5-1
Overview
of the DDR
Program

Diagram 5-2

Diagram 5-3

DDR Program
Control
Statement
Processing

The Dump
Function

Diagram 5-4
The Restore
Function

Diagram 5-5

Diagram 5-6

The Copy
Function

The Print

Diagram 5-7

Function

Figure 5-1. Key to the DASD Dump Restore Program Method of Operation Diagrams

94

Print

IBM VM/370 Service Routines Program Logic

The TVpe
Function

Processing

Initialize the DDR program.

2 If running standalone, print heading
and determine input device.

)

3 If running under VM/370, build
PLiST from passed parameters.

4 Read a control statement. (See
Diagram 5·2 for details.) If
statement type not found, issue
error message and read another
statement.

5

I

DMKDDR701 E INVALID OPERAND
xxxxxxxx

Perform specified function.
(See Diagrams 5-3, 5-4, 5-5, 5-6,
and 5-7 for details.)

6 At end, exit to CMS or enter wait
state.

Notes

Module

1 The DDR program is initialized and the

Label

DMKDDR

DMKDDREP

DMKDDR

NEWADD

Ref

"

• • I",..,n n A

l l A l l n / n r TI"'\
UMSU n
uv,v'rtncS,vRE
PROGRAM RELEASE n

V,VI/':>/V

Module

Label

Ref

control returns to the CMS command
environment.

base registers (9,10,11,12, and 13)
are set up.

2 The heading

Notes

If running standalone, the wait
state is entered.

TESTCMS

I""\.

is displayed.
If no input device is specified, the IPL
device is used as the input device.

3 DMKDDR builds a PLiST if parameters
are passed from CMS to the DDR
program.

I
I

DMKDDR

4

DMKDDR reads the control statement.
The routine needed to initialize the
DDR function is found by branching
and linking to the SCANNAME routine
and searching the name table.

DMKDDR

5

The designated function is performed.
At its end, control returns to the
GTCARD routine to read the next
control statement and perform the next
function.

DM KDD R

I 6 When the last control statement is read
and processed the GTCARD routine
branches to the EXIT routine.
The end of job statement (MSG001) is
displayed. If running under VM/370,
the SYSPRINT device is closed and

I

DMKDDR

I
I
I

CMSl

I II
I

GTCARD

EXIT

CMS8

I

Diagram 5-1. Overview of the DDR Program
Chapter 5. !he DASD Dump Restore Program

95

Processing

Input

:>

~
Control
Statements

Output

1

If I NPUT or OUTPUT control
statement, update the DASD or
tape lOB.

2

If SYSPR INT control statement,
update the printer lOB.

3

If PRINT or TYPE control
statement, set up the name of the
processing routine.

tl

10BLOK

4 If DUMP, RESTORE, or COPY
control statement, set up the name
of the processing routine.

Notes
1

The address of the lOB is loaded into
register 15. DMKDDR gets the unit
address. The unit address (I0BUADD)
and alternate tape address (IOBATAPE)
fields of the lOB are filled in.

Module

Label

DMKDDR

~CANINPU
SCANOUTP

DMKDDR reads the device type from
the control statement and then branches
and links to the SCAN routine. The
SCAN routine searches a table of valid
devices and picks up the device class
and type. The class (lOBCLASS) and
type (lOBTYPE) fields are updated.
The codes for the various device classes
are contained in the DEVTYPES
COpy file.

.

Options
number of times file to be
forward spaced.

10BMODE

tape mode.
X'C3' indicates
g·track 1600 BPI
X'CB'indicates
g·track BOO BPI

IOBDISP

disposition of tape.
X'OT indicates
rewind
X'OF' indicates
rewind and unload
X'03' indicates tape
is not to be
repositioned

96

I

!

DMKDDR

SCANPRIN
SCANTYPE

DMKDDR

SCAN DUMP

If there is an error in the control
statement, either error message
DMKDDR701E INVALID OPER·
AND- xxxxxxxx
DMKDDR703E OPERAND
MISSING
is displayed. The control statement is
ignored, and the next control card is
read by the GTCARD routine.

4 If DUMP control statement, set the
processing routine name to DUMP.
If RESTO REcontrol statement, set
the processing routine name to
RESTORE.

SCANRESTl

If COpy control statement, set the
processing routine name to COPY.

SCANCOPY

For the dump function, the input
must be a DASD and output a tape.
For the restore function, the input
must be a tape, the output a DASD.
For a copy function, the input and
output devices must be the same class
and type. If the input device contains
more cylinders than the output device
the following message is issued:

If either of these errors occurs, the
control statement is ignored and control
returns to the GTCARD routine to read
the next control statement.

Diagram 5-2.

I

The start address (default is track 0
record 0) and the stop address (default
is last track and last record) are set up.
If TYPE is specified, the console skips
one line. If PRINT is specified, the
printer skips to channell.

DMKDDR701 E INVALID OPER·
AND - xxxxxxxx
DMKDDR703E OPERAND
MISSING

The address of the printer lOB is loaded
into register 15. The printer unit
address is placed in the 10BUADD
field of the lOB.

Ref

Label

DMKDDR701E INVALID OPER·
AND - xxxxxxxx
DMKDDR703E OPERAND
MISSING

is specified, the LOWERCAS table is
used. If PR INT is specified, the
UPPERCAS table is used. The
routine name is set up: PRINT or
TYPE.

Either of the following error messages
may be displayed while processing
INPUT 0,. OUTPUT control statements:

2

Module

If an error occurs, either message

3 The translate table is set up. If TYPE

If tape options are specified, the lOB
is updated.
Field

Notes

is displayed. The statement in error
is ignored, and control returns to the
GTCARD routine to read the next
control statement.

If a DASD serial number is specified,
the volume serial number (IOBVSER)
field is updated.

10BSKIP

Ref

DMKDDR

SCANSYSP

DMKDDR725R ORIGINAL INPUT
DEVICE WAS(lS) LARGER
THAN OUTPUT DEVICE
The operator must determine if the
copy function is to continue.

DDR Program Control Statement processing

IBM VM/370 Service Routines Program Logic

rr~i~

I

8

Open the files.

I

--'-_ _ _ _-'\ 2
----) 3
4

Dump the disk records to tape.

r~
16
1

END OF DUMP

Print message.
Close tape.

1°
Notes
1

I

Module

The input disk is opened by branching
and linking to the OPENDASD
routine. The extent table is updated
to define the cylinders to be
dumped. Each statement u~ates
the extent table untIl a null line,
an INPUT statement, or OUTPUT
statement is read.

DMKDDR

Prints the headings indicating the
function being performed and the
date and time of the dump.

The message

Notes
4

OPENIN

IOPE"auT I

II

I

II

DMKDDR

The trailer record is written on the
output tape. If the tape disposition
was specified on the DUMP control
statement, the tape is so positioned
now.

Module
DMKDDR

Label

Ref

EOJ

Control returns to the control
statement read routine (GTCARD)
to read and process the next control
statement.

PRINTH

MSGOO4

The read, write, and update cycle
continues until the indicated disk
extents are dumped to tape. Starting
at the first disk extent (CYLSTART),
the disk records are read. The
record is written on tape and the
pointers are updated to the next disk
record. The dump cycle continues
until the last disk extent CYLSTOP
is dumped to tape.

3

Ref

GETEXT

The output tape is opened, the
proper number (if any) of records
is skipped and the volume header
record (VHR) is written.

2

Label

BUILDTHR
TESTOUT
UPDTADD

DMKDDR

CLOSEJOB

END OF DUMP
indicates that the dump function has
successfully terminated.

Diagram 5-3. The DumF Function
Chapter 5. !he DASD Dump Restcre Program

97

Processing

Input

o

>

Open the files.

2 Restore the records to disk.

3

End the restore function.

END OF RESTORE

Module

Notes
1 The input tape is opened and position·

Label

Ref

DMKDDR PPENIN

The read and write loop continues
until all the specified cylinders are
restored to disk. The tape records
are read from the tape that has been
positioned. The data is written on
on the indicated disk cylinders
and the pointers to the disk are updated for the next record. The
restore function is complete when the
last cylinder (CYLSTOP) is restored.

SETDASD

DMKDDR717R DATA DUMP
FROM xxxxxx TO BE
RESTORED TO xxxxxx
is displayed. The operator must decide
if the restore function is to continue.

3

The extent table is updated to indicate
the cylinders to be restored to disk.

IGETEXT

The output disk is opened by
branching and linking to the OPENDAS[
routine.

!OPENOUT

2 The headings are printed, indicating
that the restore function is starting.

The message
END OF RESTORE
is displayed and control returns to
the GTCARD routine to read the
next control statement.

DMKDDR PRINTD
~SGOO4

The number of cylinders on the original
DASD input device is compared with the
number of cylinders on the DASD
output device. If the input device
was larger, the following message is
issued:
DMKDDR725R ORIGINAL INPUT
DEVICE WAS(lS) LARGER
THAN OUTPUT DEVICE

Diaqram 5-4. The Restore Function
98

Label

The operator must determine if the
restore function is to continue.

ed if the RESTOR E control statement
specified that records were to be
skipped.
A check is made to ensure that the
output disk has the correct volume
serial number. If the volume serial
number is incorrect, the message

Module

Notes

IBM VM/370 Service Routines Program Logic

PETTHR
PASDWRIl
UPDTADD

DMKDDR

k:LOSEJOB

Ref

Input

o

>2
3

Open the files.
Copy the data.
End the copy function.

-or-

END OF COpy

Notes
1 The input file and output file are
opened. The input and output
devices must be the same device type.
The extent table is updated to reflect
the amount of data to be copied from
.
.
one deVice to anotner.

I

l

2

The heading is written and the message
indicating the start of the copy
function is typed.

Module

Label

DMKDDR

OPENIN

the disk file is closed.

GETEXT

Control returns to the GTCARD
routine to read the next control
statement.

I
DMKDDR

OPENOUT

Notes

I

Module

Label

Ref

IpRINTH
MSGOO4

The input file is read and the output
file is written. If copying from disk to
disk the pointers to the disk records
are updated to the next record. The
read-write cycle continues until the
specified data is copied. When copying
data from tape to tape, the GETTHR
routine performs the record read and
the TESTOUT routine performs the
record write. When copying data
from disk to disk, the BUILDTHR
routine performs the record read and
the DASDWRIT routine performs the
record write.

3 The message

Ref

I

II

UPDTADD

DMKDDR

CLOSEJOB

END OF COPY
indicates the successful completion of
the copy function.
When copying data from tape to tape,
the output tape is positioned as
indicated on the COpy control card.
When the disk to disk copy is complete,

Diagra. 5-5. The Copy Function
Chapter 5. lhe D1SD Duap Restore Prograa

99

Processing

Input

OLr
8
Notes

Module

1 The input device is opened. If the

DMKDDR

input is on tape, the tape is spaced
forward the designated number of
records (if any). The extent table is
updated to reflect the cylinders to be
printed.

2

The message

Output

Open the input file (tape or DASD).

2

Read the input file.

3 Print the records on the printer.
4 End the print function.

D

tl~
END OF PRINT

Label

Ref

Notes

Module

Ref

Label

OPENIN
GETEXT

DMKDDR

MSGOO4

PRINTING xxxxxxxx
is displayed to indicate the start of the
PRINT function.

3

The data is read from the input device
via the appropriate (disk or tape) read
routine. The data is converted and
printed on the system printer.

4 The message

DMKDDR

BUILDTHR
PETTHR
PISPLAY

DMKDDR

EOJ

END OF PRINT
indicates the successful completion of
the PR INT function.

5

Control returns to the GTCARD
routine to read the next control
statement.

I
Diagram 5-6. The Print Function
1CC

IBM VM/370 Service Routines Program Logic

I

o

--:---->

Open the input file (tape or DASD).

2 Read the input file.
3 Display the records on the console.

-or-

-----.)

4 If tape input, reposition the tape
if necessary.
requested records

Module

Notes
1 The input device (either tape or disk)

The records are read from the tape or
disk by the appropriate read routine.

Ref

Notes

Module

Label

Ref

DMKDDR OPENIN

is opened. If input is on tape, the tape
is spaced forward the designated number
of records (if any). The extent table
is updated to reflect the data to be
typed.

12

Label

GETEXT

1

OMKOOR

~UILOTHRI
ETTHR

3 The records are displayed on the console.
The read and type cycle is continued
until all the specified records are
typed.

DMKDDR DISPLAY

4 Control returns to the GTCARD

DMKDDR EOJ

routine to read the next control
statement.

Diagram 5-7. The Type Function
ChapteL 5. The DASD Dump Restore Program

101

Program Organization
This section contains a program description
of the DMKDDR module.
xx is the return
CMS routine.

code from

the

DMKDDR
!!~g!st~

RO:
R1:

The DASD dump restore program.
Attributes
--Serially reusable.

R2:

~.!ltry

foint
DMKDDREP.

R~.9.!st!!f§

R1:

g!

~lltrI

Points to a parameter list
DMKDDR is
executed under
control of CMS.

when
the

R~g!§!~§

g! ~!i t
R15: Contains a return code when DMKDDR
is executed under the control of
CMS. The return codes are:
Return
Code

-,--2
3
4

2xx
3xx
4xx

102

A!!gjl!llg

Invalid filename or file not
found.
Error
while running
the
program.
Flagged DASD track.
P-eraanent tape or DASn I/O
error.
Error
in
the
PRINTIO
routine.
Error
in
the
CON READ
routine.
Error in the RnBUF routine.
Error in the TYPLIN routine.

IBM VM/370 Service Routines Program Logic

R3:
R4:
R5:
R6:

R7:
RS:
R9 :

R10:
R11:
R12:
R 13:
R14:
R15:

Usage
Work Register.
field
froll
Pointer
to
inFut
SCANCONT.
buffer
output
Pointer
to the
(PRINT/TYPE).
Work register.
Input count fro. SCANCCNT.
Unit address for STARTIO.
Data block count (PRINT/TYPE).
Work register.
End of current line (PRINT/TYPE).
Work register.
Length of one line (PRINT/TYPE).
Pointer to key (PRINT/TYPE).
Work register.
Total length of data (PRINT/TYPE).
Work register.
Data count (PRINT/TYPE).
Number of records cn the track
(PRINT/TYPE) •
Work register.
Pointer to the extent table entry.
Current line pointer (PRINT/TYPE).
Extent table entry size.
Last line pointer (PRINT/TYPE).
Base register 5.
Base register 1.
Base register 2.
Base register 3.
Base register 4.
Return address
Pointer to the lOB.

Directory
Figure 5-2 is an alphabetic list of the
major labels in the DASD Duap Restore
program. The associated method of operation
diagrams
are
indicated and
a
brief

description is included of the operation
performed at the point in the program that
is associated with each label.

r-------------------------------------------------------------------------------------------,
Label
I Diagram I
Description
ADDLINE
BINCONV
BUlLDCCi
BUILDTHR
CLOSEJOB

5-3
5-6
5-7
5-3
5-4
5-5

CLOSE1
CMS1

5-1

cssa

5-1

COMPARE
DASDWRIT
DDR709
DDR714
DDR721
DDR724
DECCONV
DISPIT
DISPLAY
DMKDDR
DMKDDREP
EO.!

5-4

5-6
5-7
5-1
5-3
5-6

Checks for duplicate line.
Converts decimal numbers to binary.
Builds a CCW string to put the key/data fields into the
THR (track header record) •
Reads records from disk.
Displays message indicating the end of a DDR function.
Closes the tape and reads another.
Builds a PLIST (parameter list) if parameters passed
from CMS.
The end-of-job processing when trR is running under
VM/370.
Compares keywords.
Writes records onto disk.
Issues DMKDDR709E message.
Issues DMKDDR714E message.
Issues DMKDDR721E message.
Issues DMKDDR724E message.
Converts decimal numbers to hexadecimal.
Displays the key/data message.
Prints or types records.
Start of the DMKDDR module.
Entry point to the DDR program.
At the end of a DDB fUDction# returns control tc the
GTCARD routine.

5-7
ERRCLOSE
EXIT
GETEXT

GETR1
GETTHR

5-1

5-3
5-4
5-5
5-6
5-7
5-4
5-6
5-7

Closes tape and reads alternate tape.
Returns to CMS command environment or enters wait state
at end of program.
Builds extent table.

Checks for records that need to te printed.
Reads tape records.

Figure 5-2. The DISD Dump Restore Program Label rirectory (Part 1 of 3)

Chapter 5. The DASD Dump Restore Program

103

Label
GOSUB1
GRIPBID
GTCARD
BEICONV
INOUTER
LASTONE
LOOP12
LOOP13
KSGiRITE
KSG004

I Diagra. I

5-1

5-3
5-4
5-5

Description
Gets the next record.
BandIes I/O for display terminals.
Reads control cards.
converts hexadecimal nu.bers to deci.al.
BandIes tape and DISD errors.
Checks for last record.
Checks for last record to be displayed.
Deter.ines the starting address.
Displays .essages on the terminal.
Prints message indicating start of Du.p, Restore, Copy,
or Print function.

5-6

NEiADD
NEITCYL
NEXTREC
NEXTTCK
NOSTART
OK
OPENDASD
OPENIN

5-1

5-3
5-4

Prints heading when DDR prograa running standalcne.
Updates pointer to next cylinder.
Updates pointer to next record.
Updates pointer to next track.
Sets up starting address for tKKIDR121E .essage.
Points to read CClis to read TBR.
Opens a DASD.
Opens input devices.

5-5
5-6

OPENOUT

5-1
5-3
5-4

Opens output devices.

5-5

PBUFFER
PDATI
PRINTDAT
PRINTB

5-3
5-4

Points to the print buffer.
Sets up print pOinter.
Prints the data.
prints function heading.

5-5

PRINTER1
PRINTER2
PRINT1
PRINT2
READCONT
READCT
READKEYD
RETURN
SAVECT
SCANCONT
SCANCOPY
SCANDUKP
SCANINPU
SCANNAME
SCANOUTP
SCANPRIN
SCANREST
SCANSYSP
SCAN TYPE

5-2
5-2
5-2
5-2
5-2
5-2
5-2
5-2

Updates the printer line count.
Spaces the printer twice.
Checks that device type is console.
Displays message on console.
Reads control statements.
Reads the home address, record 0, and the count fields.
Reads the key and data records.
Reorders the cylinder nu.ter.
Saves the printer line count.
Scans control statements for next operand.
Scans the COpy function statement.
Scans the DUMP function statement.
Scans the INPUT control statement.
Scans the name table (TIEL!1) for a matching control
statement name.
Scans the OUTPUT control statement.
Scans the PRINT function statement.
Scans the RESTORE function state.ent.
Scans the SYSPRIBT control statement.
Scans the TYPE function statement.

Figure 5-2. The DASD Du.p Restore Program Label tirectory (Part 2 of 3)

104

IBM VM/370 Service Routines Program Logic

Latel

Diagram

Description

,
I

---------------------------------------------------------------------------------1
Scans the device table (TAELE2).
SCANUNIT
1
SETDASD
SET END
SETEXT
SETUPBUF
SKIPMSG
STARTIO
SUPMSG
TESTCARD
TESTCMS

5-4

5-1

TESTEND
TESTIN

TESTNPAG
TESTOUT
TRANS
TRKCOND
TSTCOUNT
UPDTADD
UPDTEXT
WDSIO

5-3

5-3
5-4
5-5

Checks volume serial number of output disk.
Prints the cylinder map at end-of-job.
Picks up the cylinder numter that starts the next extent. 1
Clears the print buffer.
Prints record overflow message.
Starts I/O devices.
Prints the suppress line message.
Checks for card input at end-of-job.
Exits by entering wait state when DDR program is running
standalone.
Terminates when blank card read.
Checks for tape input.
Skips printer to channel 1.
writes tape output records.
Translates data to printatle characters.
Recovery procedure for track condition check (alternate
track).
Prints the end of the track.
Updates disk addresses.
Restores entire track.
Writes the THR (track header record).

Figure 5-2. The DASD Dump Restore Program Label Iirectory (Part 3 of 3)

Chapter 5. The D1SD Du.p Restore Progra.

105

Data Areas
This section contains a description of a:
•
•

Track header record
Cylinder header record

•

lOB

CYLINDER HEADER RECORD

o
VHR
VHRCYLNO
I

IA

10
VHRCLOCK
18
VHRMREC

11A
I

VHReYLA

VHRMTCK

11E
I

VBRVSER

lC

124

<
<

>

12i§.E.J:.~£~.!!~.!l.t

Hex

--0
4
A
10
18
lA
lC
lE
24

12~£

0

4

10
16
24
26
28
30
36

!.!elg_!g!~

VHR
DC
VHRCYLNO DS
DS
VHRCLOCK DS
VHRMREC DS
VERCYLA DS
VHRMTCK DS
VHRVSER DS
DS

CL4'VHR'
CL6'0',
XL6 '
D'O'
X'O'
H'O'
H'O'
CL6'VOLSER'
CL44'

,

12g§£!:!£!!.QIl
EECCHH of input DASD unit
Not used
Time of day clock value
CC address of last cylinder on this type of DASI).
Volume serial number of input DASD unit

Figure 5-3. Cylinder Header Record

106

IBM VMj370 Service Routines Program Logic

TRACK HEADER RECORD

0

THR
4

16

THRNDRD

I

THRNDRL

IA
I

8

THRNDRT
THRFLAG

IE
I

THRHADD
10

THROOO

20

THR001
<28 to FFF

<

>

(Count Field or Data)

]2im!l.2f~.!!~!

Hex

Dec
--(5 --(5
4

4

6
8

6
8
10

A

rielg_!!H
THR
DC
THRNDRD DC
THRNDRT DC
THRDRL
DC
THRFLAG DC

CL4'THR
H'O'
H'O'
H'O'
XL1'0'

,

12!!§£rip tio l!
ID of track header record
The number of count fields in the THR
The nuaber of 4K data records on taFe
Length of the short (last) data record
Flag

~i! §~!!!Dg§

E

10

11
16

20

32

28

40

SPECIAL

for THRFLAG
EQU XI01'-----overflov

THRHADD
THROOO
THR001

DC
DC
DC

XL5'0'
XL16'0'
XL8'O'

The home address reordered
Record 0 from the D1SD unit
Count field of the first record
Count fields and data

Figure 5-4. Track Header Record

Chapter 5. The DASD Dump Restore Program

107

lOB

0

11
1

IOBSTAT

12
1

IOBOPT

IOEUAtI

4
IOBCCW
8
IOBEBBOR
C
IOBCSW
14

115
I

IOBCLASS

116
1

IOBTYPE

18
IOBCYlP

11A
I

IOBMTCK

t 1E
1

1C

IOEMB!C
IOECYLA
11F
I

IOBMODE

IOBDISP

20
IOBVSER

f

24

126
I

2S
IOBFLAG

129
I

IOEATAPE

Reserved for IBM use

De§£!:!~!~

Status of IOE

n!!

1

1

§~!!!~g§

IOBST
IOBSTACK
IOBlAST
IOBNOPER
IOBCPVOl
IOBOPEN
IOBSCRAT
IOBTPSWP

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

for IOBSTAT
1'80'-- I/O unit is to be started
X'40'
I/O error has been stacked
X'20'
last lOB
X'10'
Device is not operational
X'OS'
Unit is a CPVOL
X'04'
The lOB is open
X'02'
The DASD device is a scratch volume
X'01'
Switch to alternate tape in progress

IOBOPT

DS

11

~!! §~!!!Bg§

IOBDEW
IOBERST
IOBEEXIT
IOBSIO
Figure 5-5. lOB

10S

EQU
EQU
EQU
EQU

lOB flags

for IOBOPT
I'SO'---Wait for device end interrupt
X'40'
Stop on I/O error and wait for next interrupt
1'20'
Repeat CCW on error
X'10'
Do not use Diagnose I/O

(Input/Output Block) Format (Part-1 of 2)

IBM V8/370 Service Routines Program Logic

Hex

C

12

14
15
16
16

20
22
22

!:ield_NaJ!!
IOBUADD Ds
IOBCCi
Ds
IOBERROR Ds
IOBCsi
Ds
IOBCLAss Ds
IOBTYPE Ds
lOBS KIP EQU
IOBMREC Ds

18
11

24
26

IOBCYLP
IOBCYLA

1C
1E
1F

28
30

IOBMTCK

Ds

lOBMODE

DS

20
26
28
29

40

IOBDIsP
IOBVsER
IOBATAPE
IOBFLAG

Ds
Ds
Ds
Ds
Ds

IOBSlZE

EQU *-IOB

--"2

~~

4
8

4
8

2

21

31
32
38
41

1H
1F
A
2F
X'O'
X'O'

~~g!E!!gjl

H'O'

Unit address of device
Pointer to cei
Address of 10 error routine
Csi of 10 error stacked
Device class
Device type
lOB type skip count
Maximum nuaber of records that will fit a track

Ds
Ds

H'O'
H'O'

Maximum primary cylinder address of DAsD device.
Maximum alternate cylinder address of DAsD device.

Maximum nuaber of tracks (numbering C-N)
lOB tape mode command code
X
rOB tape disposition command code
CL6' , Volume serial number of DAsD unit
X'OOOO' Address of an alternate tape unit
rOB flag
X'O'
Reserved for rBM use
3X'0'

*

H'O'

X

Address of an alternate tape unit

Figure 5-5. rOB (Input/Output Block) Format (Part 2 of 2)

Chapter 5. The D!SD Dump Bestcre Program

109

Diagnostic Aids
Figure 5-6 lists the messages issued by the
DASD Duap Restore Progra.. The associated
r

Message
Code

Label

DMKDDR700E
DMKDDR701E
DMKDDR702E
DMKDDR703E
DMKDDF704E
DMKDDR705B

DDR700
DDR701
DDR702
DDR703
DDR704
DDR705

DMKDDR707E

DDR707

DMKDDR708E
DMKDDR709E
DMKDDR710A
DMKDDR711R
DMKDDR712E
DMKDDR713E
DMKDDR714E
DMKDDR715E
DMKDDR716R
DMKDDR717R

DDR708
DDR709
DDR710
DDR7ll
DDR712
DDR713
DDR714
DDR715
DDR716
DDR717

DMKDDR718E
DMKDDR719E
DMKDDR720E

DDR718
DDR719
DDR720

lakel and .ethod of operation
included in the list.

Diagra.
5-2
5-2

5-4

Message Text
INPUT UNIT IS NOT A CPVOL
INVALID OPERAND - xxxxxxxxxxxx
CONTROL STATEMENT SEQUENCE ERROR
OPERAND ftISSING
DEV ccu BOT OPERATIONAL
10 ERROR ccu SENSE xxxxxxxxxxxx CSi
xxxxxxxxxxxxxxxx
MACHINE CHECK RUN SEREP AND SAVE OUTPUT FOR
CE
INVALID INPUT OR OUTPUT DEFINITION
WRONG INPUT TAPE MOUNTED
DEV ccu INTERVENTION required.
VOLID READ IS volse1 NOT volse2
NUMBER OF EXTENTS EJCEEDS 20
OVERLAPPING OR INVALID EXTENTS
RECORD xxxxxxxxxxxx NOT FOUND ON IIFUT TAPE
LOCATION XXXXXXXXXXXX IS A FLAGGED TRACR
NO VOLl LAEEL FOUND FOR xxxxxx
DATA DUftPED FROft volsel TO BE RESTCRED TO
volse2
OUTPUT UNIT IS FILE PROTECTED
INVALID FILENAME OR FILE NOT FOUND
ERROR IN xxxxxxxx

Figure 5-6. Tbe DASD Dump Restore Progral Messages (Part 1 of 2)

110

diagra. are

IBM VM/370 Service Routines Prograa Logic

r---------------------------------------------------------------------.-----------------,
Message
I
Code

Label

Diagram

!essage Text

I

--------------·------------------------------------------------------------------------------------------1
RECORD xxxxxxxxxxxx NOT FOUND=
DDR72i
DMKDDR721E
DMKDDR722E

DDR722

OUTPUT UNIT NOT PROPERLY FORMATTED FCRI
THE CP NUCLEUS

DMKDDR723E

DDR723

NO VALID CP NUCLEUS ON THE INPUT UNIT

DMKDDR724E

DDR724

INPUT TAPE CCRTAINS A CP NUCLEUS DUMP

DMKDDR725R

DDR725

DMKDDR726E

DDR726

DMKDDR727E

DDR727

DMKDDR756E

DDR706
MSG002
NEWADD
!SG02A
!SG003
!SG03B
MSG005
!SG004
}!SG004
MSG004
MSG004
!SG001
CLOSEJOB

MSG001
EOJ
MSG001
RESP!SG
RESP!SG2

5-1

ORIGINAL INPU~ DEVICE WAS (IS) LARGER THAN
OUTPUT DEVIC:E
MOVING DATA INTO ~HE ALTERNATE TRACK
CYLINDER(S) IS PROHIBITED.
FLAGGED TRK xxxxxxxxxxxx HAS NO PRCPER
ALTERNATE; SKIPPING THIS TRK.
PROGRAM CHECK PSW = xxxxxxxxxxxxxxxx
VM/370 DASD tURP/RESTORE PROGRAM RELEASE n

5-6
5-3
5-3

ENTER CARD READER AtDRESS OR CONTRCL STATEMENTS
ENTER CYLINt!R EXTENTS
ENTER NEXT EXTENT OR NULL LINE
END OF VOLUME CYL xxx HD xxx, MOUlT IEXT TAPE
RESTORING xxxxxx
COPYING xxxxxx
DUMPING xxxxxx
PRINTING xxxxxx
END OF DUMP
END OF RESTORE

5-3

END OF COPY

5-3

END OF PRINT

5-2,5-4

END OF JOB
DO YOU WISH
DO YOU WISH

~O
~O

I
I

CONTINUE? RESPOND YES 10 CR REREAD:
CONTINUE? RESPOND YES CB Ie

Figure 5-6. The D1SD Duap Restore Progra. !essages (Part 2 of 2)

Chapter 5. The D1SD Duap Restore Progra.

111

112

IB! VM/370 Service Routines prograa Logic

Chapter 6. The Installation Verification
Procedure
Introduction
The Installation
Verification Procedure
(IVP) for VM/370 is designed to exercise
the generated system to verify that basic
V!/370 facilities are operable. The IVP is
contained in two files using the EXEC
facility of CMS, and uses two virtual
machines
in
addition to
the
system
operator's virtual machine.
The tests
of CP:

exercise the

•

Creation and
EDIT command

aodificaticn of

•

Assembly of executable programs

•

Execution of user programs

•

Creation and
co.mands

•

printing and punching of CMS files

execution of

files via

user-written

following areas

•
•

Multiple virtual aachine support

•

Issuing of commands to CP

I/O spooling

•

Use of multilevel nested EIEC procedures

•

Transferring of spooled
virtual machines

•

Stacking and unstacking of command and
data input from the terminal

•
•

Offline I/O operations

•

Comaunication
procedures

•
•

Paging operations

•

Disk I/O support

•

Autoaatic warm start following abnormal
n
teriiination ""'.&. 1711
wu,

Sending of
operator

messages

data to

to

the

other

I~"l

facilities

of

•

lormal CMS command processing

•

Disk formatting

•

Copying of files

froll

EXEC

Several
other
system
facilities,
incidental to the primary IVP tests, are
exercised. Certain system facilities, such
as
preferred
execution
options,
virtual=real, OS ISIM, and VSAM and Access
Method
Services
under CMS,
are
not
exercised by the IVP.

J. V

The following
exercised:

user

system

Task dispatching and scheduling

,,~

with

CMS

are

The IVP requires operator intervention
only when an operational decision is to be
.ade, or
to initiate
the IVP
tests
themselves.·
All file creation, erasure,
management, and logoff
of the virtual
machines (with the exception of the system
operator) at test completion is performed
automatically without operator
or user
action.

Chapter 6. The Installation Verification Procedure

113

Method of Operation
This section describes the execution of the
two
EXEC
procedures
of
the
IVP
(Installation Verification Procedure) •

6-2
major
describes
the
Diagrall
functions of the nested EXEC procedure
IVPX.

tiagrall 6-3 describes test procedure 1.

Figure 6-1 shows the relationship of the
diagra.s.
Diagrall 6-1 describes
EXEC procedure, IVP.

Diagram 6-4 describes test procedure 2.

the highest level
tiagrall
processing.

Diagram 6-1

Diagram 6-2

The IVP
EXEC
Procedure

Overview of the
IVPX EXEC
Procedure

6-5

describes

the

error

I

I
Diagram 6-3

Diagram 6-4

Diagram 6-5

Test
Procedure 1

Test
Procedure 2

Installation
Verification
Procedure
Error
Processing

Figure 6-1. Key to the Installation Verification Procedure 8ethod of Operation Diagralls

114

IB8 V8/370 Service Routines Progra. Logic

Processing

Input

Output

I
Parameter
List from
the IVP
command

E3
User A-disk
(formatted)

:>

If parameters are passed from CMs'1
they are checked: if the first
parameter is not 1, 2, or *, issue
~
message and return to CMS with I"".~· ...,.,....."....~
return code = 1.
CMS

I .•".

2

Copy the IVPX EXEC file to the :~:::::::::,">
user's A·disk, changing the format
to fixed-length (80-<:haracter)
records.

3 Invoke the IVPX EXEC as a
nested procedure. (See Diagram
6-2 for details.)

xxxxxxxx INVALID OPERAND

B
A-disk file

Diagraa 6-1. The liP EXEC Procedure

Chapter 6. The Installation Verification Procedure

115

Processing

Input

I Parameter
l List

I

Output

If no parameters are passed and
test is not being run by system
operator, assume single machine
test (IVP*).

------.)

2 If no parameters are passed and
test is being run by system operator, the system configuration is
displayed. The system waits for
the first machine to be logged on
and the test started.

>

=rlb

Messages

3 If first parameter is *, set up for
single machine testing.

Messages

4 If first parameter is 1 or *, execute
test procedure 1.
(See Diagram 6-3 for details.)

5 If first parameter is 2 or

*, execute
test procedure 2.
(See Diagram 64 for details.l

Module

Notes
1 When no parameters are specified on

IVPX

Label
·CKOP

the IVP command, the message

Notes
3 Set &GLOBAL2=4 to indicate single
machine test. Erase all CMS files
with filenames IVPTST and IVPTST2.
If return code is other than 0 or 2,
the ERASE command (to erase the
EXEC file) is stacked in the terminal
and control returns to the CMS command environment. If the return
code is 0 or 2, test procedure 1
(MAIN1A) is executed.

*** ARE YOU THE SYSTEM OPER·
ATOR? ENTER "YES"OR "NO"
is displayed. If the response is NO,
the message

*** NOT SYSTEM OPERATOR·
DEFAULT TO IVP *
is displayed, single machine testing is
set up [·INIT], and the testing starts
at test procedure 1.

2 The real system configuration is dis·

Ref

IVPX

·CKOP

played. The messages

*** FROM A TERMINAL, ENTER
THE FOLLOWING FOUR COM·
MANDS
LOGIN IVPM1
(WHEN REQUESTED, ENTER
THE PASSWORD IVPASS)
DEFINE STORAGE AS 16,384K
IPL190
IVP 1
give instructions for running the
standard test procedure 1. Then the
virtual machine enters a dormant state
which can be interrupted by signalling
attention from the terminal. The
message

*** THIS PORTION OF IVP NOW
GOING TO SLEEP
is displayed and the system waits.

Diagram 6-2. Overview of the lVPX EXEC Procedure
116

IBM VK/370 Service Routines Program Logic

Module

Label
-INITB
-GETOUT

Ref

Processing

Input

I

Output

I

If use rid not specified, set it to
IVPM2.

2 Test Section 1
For multiple machine test, spool
• the
punch to the userid.
Create
• file. a new assembler language

>

3 Test Section 2
•
•

I

Assemble the test program.
Create an executable module.

4 Test Section 3
Execute the test program by
• name.
Read from the virtual card
• reader.
For
multiple machine test, dis• connect
the first machine and

:,1

Messages

test the second machine.

5 Test Section 4

I •

Erase all files created bv test
procedure 1. Ifsingle machine,
go to test procedure 2
{-MAIN2Al, otherwise LOGOFF.

Notes

Module

1 For a multiple machine test, the

IVPX

-MAIN1

IVPX

-MAIN1A

label

Ref

section 1 is first assembled

(ASSEMBLE oomm,.dj "d

th,.

made executable by issuing the
LOAD and GENMOD commands.

4 The test program, iVPTST, is executed.

v

I

5 All the IVPTST files are erased. If the

I

IVPX

m

V

I

Messages

Module

The first machine is then disconnected.
The operator enters the above commands to start the second machine.
The procedure loops (control keeps
returning to -LOOPA) until the file
to start the second machine is spooled
to the reader. The STATE command
is issued to verify the existence of the
file. The second machine is started.

are stacked in the terminal input buffer
and edited.

3 The test program created in test

I

">

Notes

userid is set to IVPM2 or to the
use rid specified as the second operand
of the IVP command. When the
userid is set to IVPM2, &GLOBAL5
is set to 2 to indicate the standard
test.

2 The assembler language statements

~
Label

Ref

-FINIS

IVPX

-INLINE

test machine is still connected
(&GLOBAL2f3) the following messages
are issued.

-K256

...... * TEST SECTION 5 RE:SERVtD
-

iVPX

I

-LOOPA

Next a READ is issued to the virtual
reader and a return code is requested.
If the return code is other than 0 or 8,
the ERASE command to erase the
EXEC file is stacked in the terminal,
and control returns to the CMS command environment.
When testing multiple machines, the
following messages are issued:

*** WHEN "VM/370 ONLINE"
APPEARS, ENTER THE FOLLOW·
ING THREE COMMANDS
LOGIN userid
(WHEN REQUESTED ENTER
THE APPROPRIATE PASSWORD)
{IF LOGGING IN IVPM2, THE
PASSWORD IS: IVPASSI
IPL 190
IVP 2
*** THIS PORTION OF IVP NOW
DISCONNECTING

-GETOUT

I

FOR FUTURE USE ***
*** IVP TEST 1 SUCCESSFULLY
COMPLETED
These same messages are sent to the
punch if the test machine is already
disconnected (&GLOBAL=3).
The single machine test resumes at
-MAIN2A, test procedure 2.
If the standard test is running the
message

*** IVP TEST 1 FINISHED
is sent to the system operator. If
&GLOBAL5=1, the test is running in
256K bytes of storage. If running
machine tests, go to the LOGOUT
routine. The following commands
are stacked.

·LOGOUT

ERASE IVPX EXEC Al
CP LOGOUT
The LOGOUT routine closes all files
including the punch containing the
messages issued after test machine 1
was disconnected. The multiple
machine test resumes at -MAIN2, test
procedure 2.

I

I

Diagra. 6-3. Test Procedure 1
Chapter 6= The Installation 'erificatioD Procedure

111

Processing

Input

Output

Set up error exit.

2 If multiple machine test and userid
not specified, set userid to IVPM 1.

3 Test Section 6
•
•

Use Editor to create a new file.
Assemble the file which con·
tains an error.

4 Test Section 7
•
•

5

Use the Editor to change the
file just created.
Assemble the file which now is
correct

Test Section 8
•

Execute the test program.

6 Test Section 9
•

7

•

Notes

Module

1 Set the error exit to ·FAIL2. For a

IVPX

Read file from virtual reader.

Test Section 10
Erase all files created in test
procedure 2.

Label
·FAIL2

single machine test, exit directly to
the CMS command environment.
Otherwise, display the instruction

*** WHEN "VM!370 ONLINE"
APPEARS, ENTER THE FOLLOW·
ING TWO COMMANI)S:
LOGIN xxxxxxxx
(WHEN REQUESTED, ENTER
THE APPROPRIATE PASS·
WORD)
LOGOUT

IVPX

·MAIN2

The test program is loaded and then
started.

6 The file is read from the virtual

For a single machine test, a dummy
message file is created, punched, and
spooled to the reader on the same
machine. For a multiple machine test,
the messages are spooled to the reader
on the userid system.

IVPX

-NOSPL

displayed.

*** IVP TEST 2 SUCCESSFULLY
COMPLETED
IVPX

·MAIN2A

*** IVP PROCEDURE FINISHED
If a single machine test, the command
to erase the EXEC file is stacked in the
terminal and control returns to the
CMS command environment.

IVPX

If a multiple machine test, the commands to erase the EXEC file and
LOGOUT are stacked for CMS. If
running the standard test, the messages

IVPX

·MAIN2A

*** IVP TEST NOW FINISHED
*** SIGNAL ATTN AND ENTER:

IVPX

-LOOP

are sent to the system operator. For
the mUltiple machine test, control
then returns to the CMS command
environment.

BEGIN

reader. If there is no file in the
reader on the first loop, a file is created,
punched, and spooled to the reader.

-LOOP2

Diagram 6-4. Test Procedure 2
118

-LOOP1

is sent to the system operator. The
multiple machine test determines that
the file was successfully read and
punches and prints that file.

7 All files are erased and messages are

file is then assembled. Since the
error is corrected the TEXT file is
created.

5

Label

DON'T START SPOOL DEVICES
UNTIL TOLD

which creates the IVPTST2 ASSEMBLE
file. The file just created is assembled.
Error 8 occurs because the ASSEMB LE
file contains one error.

4 The statement in error is corrected. The

Module

The STATE command is issued to be
sure the file is successfully read oni:o
disk. The contents of the file are displayed. For multiple machine standard
test, the message

userid is set to IVPMl or to the
use rid specified as the second operand
of the IVP command. When the
use rid is set to IVPM 1, &G LOGA L5
is set to 2 to indicate the standard test.

3 The input data is stacked for the editor,

Notes

The input is stacked in the terminal for
the editor. A dummy message is
edited and punched. Control returns
to -LOOP.

The ERASE and LOGOUT commands
are stacked in the terminal and the
EXEC procedure exits with a return
code of 1. Execution is now ended
within the nested EXEC. The return
code of 1 forces the next level EXEC
to exit to the CMS command environ·
ment.

2 For a multiple machine test, the

Ref

IBM VM/370 Service Routines Program Logic

-GETOUT

Ref

Processing

--,----->

ImaQe of
failing
command

If test procedure 1 running disconnected, punch aii the messages.

2 Display failure messages.
3 If running standard test, display
instructions.

Expected
return
code

5 If command was ERASE with file-

Received
return
code

Is

Module

Notes

1 If test machine 1 is disconnected the

IVPX

type of * and the single machine
test is not running, exit with
return code 1.

~

· of test procedure 1 or
Erase all files
test procedure 2.

~

Label

Ref

2 The message

... ... - _ ............. ,,"'" ___
IV .... r-AILUrll: nA;)UvvUn
RED ***
I

I

CMS

~
CMS

Notes

Module

Label

Ref

IVPX

I,",

I II

is displayed.

3 The messages
*** IVP HAS FAI LED - REPLY NO
TO ABO RT MESSAG E
*** SIGNAL ATTN AND ENTER:
BEGIN
are sent to the system operator.

IVPX

4 The messages
*** COMMAND: xxxxxxxx
*** EXPECTED RETURN CODE xxx
*** RECEIVED RETURN CODE xxx
are displayed.

IVPX

5 Control returns to the next level EXEC

IVPX

Is

I

return code. A nonzero return code
forces the next level EXEC to return
to the CMS command environment.

-CHECK1

messages are sent to the punch, rather
than the virtual machine console.
*~

failure message
[operator instructions)
failing command

4 Display failing command.

-CHECK2

procedure and the return code of 1
forces that level to return to the CMS
command env;·onrr.ent.
If the number of the test section is less
than 6, all the IVPTST files are erased.
If the number of the test section is
greater than 5, all the IVPTST2 files
are erased. Because this is a nested
EXEC procedure, exit with a nonzero

IVPX

-QUIT

Diagraa 6-5. Installation Verification Procedure Error Processing
Chapter 6. The Installation VerificatioD Procedure

119

Program Organization
structuring of the major routines of the
IVP. Figure 6-3 relates the test sections
to the CP or CftS functions being exercised.

The
IVP
(Installation
Verification
procedure) consists of two EXEC procedures:
IVP and
IVPX. Figure
6-2 shows
the

INSTALLATION VERIFICATION PROCEDURE ROUTINE STRUCTURING

IVP EXEC

I

IVPX
EXEC
Set up
Single
Machine
Test

Test
Procedure 1

I

Test
Procedure 2

Test
toSection 1
~

Test
Section

r-

2

I

4

~
~

7

L

3

I

~

6

~

8

I

9
10

Test
Procedure 2

Test
Procedure 1

-

Test
Section
1

I

Test
Section

I----

I--

2

I

~

6

3

4

I

7

I

I

sr}10

Error
Processing

--

I

Figure 6-2. Structure of Installation Verification Procedure Routines

120

IBM Vft/370 Service Routines Prograa Logic

INSTALLATION VERIFICATION PROCEDURE TESTING

Program
CP

Function Tested

T~st

Section and Ccagents

ftultiple virtual .achine support

Test Procedures 1 and 2 testl
multiple virtual machine
support when IVP * is not
specified or assumed.

I/O Spooling

Test Sect ion 9.

Transferring of spooled data to other
virtual machines

Test Section 9 when IVP
is not specified or
assumed.

Offline operations

Test Section 9 .•

Sending aessages to system operator.

Test Sections 4 and 9.

Page operations

Used throughout IVP.

Task dispatching and scheduling

Used throughout IVF.

Disk I/O support

Used throughout IVP.

Autoaatic warm start

Error processing.

Co •• and processing

Used throughout IVP.

Copying of files

The IVP EXEC procedure.

Creation and modification of files
via EDIT coamand

Test Sections 1. 6. and 1.

Asse.bly of executable .odules

Test Sections 2. 6. and 1.

Execution of user programs

Test Sections 3 and 8.

*

=========-=============================================================================
CftS

creation and execution of user-written! Test Section 3.
coamands
I
printing and punching of eMS files.

Test Section 7.

Multilevel EXEC procedures.

Used throughout IVP.

Figure 6-3. Installation Verification Procedure Tests

Chapter 6. The Installation Verification Procedure

121

Directory
This section contains an alphabetical list
of the labels in the IiPX EXEC procedure.
Figure 6-4 describes the function performed

at the point in the program corresponding
to each label; the associated method of
operation diagraa is refErenced.

r----------------------------------------------------------------------------------------,
Label
Diagraa
Description
-CHECK1
-CHECK2
-CKOP

6-5
6-5
6-2

-FAIL2

6-4

-FINIS
-GETOUT

6-3
6-2
6-3
6-ij
6-2
6-3
6-3

-IIITB
- liLliE
-K256
-LOGOUT
-LOOP

6-3
6-4
6-4

-LOOP!
-LOOP1
-LOOP2

6-3
6-4
6-4

-MAIN1
-MAIN1A

6-3
6-3

-MAIN2
-MAIN2A

6-4
6-4

-NOSPL
-QUIT

6-4
6-5

Sends messages to punch when aachine is disconnected.
Displays the failing coamand.
Sets up for execution when liP is invoked without any
paraaeters specified.
Exits to CMS co •• and environment if single machine test
is running. Issues instructions if aultiple aachine
test is running.
End of Test Procedure 1.
Error exit for single aachine test.
Sets up for single machine test.
Erases all files created during ~est Procedure 1.
Assembles and executes the prograa created in Test
Section 1.
Error exit for aultiple machine test.
Reads file from the virtual reader during Test
procedure 2.
Reads froa the virtual reader during Test Procedure 1.
Checks that file is read to disk successfully.
Creates file, punches it, and spools it to reader when
there is no file in the reader.
Beginning of Test Procedure 1.
Point in Test Procedure 1 where the single aachine test
begins.
Beginning of Test Procedure 2.
Point in Test Procedure 2 where the single aachine test
begins.
Erases all files created in Test Procedure 2.
Abnoraal end exit froa a nested EXEC procedu~e.

igure 6-4. Installation Verification Procedure Label Directory

122

IBM VM/370 Service Routines program Logic

Diagnostic Aids
Figure 6-5 is a list of all the aessages
that the IVPX EXEC procedure issues, the
label nearest to the
point where the

Label

Diagram

-CKOP
-CKOP
-CKOP

6-2
6-2
6-2

-CKOP

6-2

-AB8SG
-ABMSG
-ABI!SG
-PERFORM
-CHECK1
-CHECK1

6-5
6-5

-CHECK2

6-5

-LOOPA

6-3

-INLINE
-INtIRE1

6-3

-LOOP1
-NOSPL

6-4
6-4

-NOSPL

6-4

-FAIL2

6-4

Figure 6-5.

6-3

message is issued,
and the
method of operation diagram.

associated

Message Text

***
***
***

ARE YOU THE SYSTEM OPERATOR? ENTER "YES" OR "NC".
NOT SYSTEM OPERATOR - tEFAUL~ TO IVP *
FROM A TERMINAL, ENTER THE FOLLOWING FOUR CC~MANDS:
LOGIN IVPBi
(WHEN REQUESTED, ENTER THE PASSWORD IVPASS)
DEFINE STORAGE AS 16384K
IPL 190
lVP 1
*** THIS PORTION OF IVP NOW GOING TO SLEEP.
*** STARTING SYSTEM AEORT ROUTINE.
*** ENTER "GO" TO CONTINUE OR "NC" TO QUIT.
*** THIS IS THE LAST STEP OF THE IVP PROCEDURE.
*** FOLLOWING SYSTEM RESTART (iARI! START), STARt SFCOLING
DEVICES.
!ANUALLY DEPRESS CPU RESTART KEY TO ABORT SYSTE!.
*** STARTING TEST SECTION x
*** lVP FAILURE HAS OCCURRED ***
*** IVP HAS FAILED - REPLY NO TO ABORT !ESSAGE
*** SIGNAL ATTN AND ENTER: BEGIN
*** COMMAND: xxxxxxxx
*** EXPECTED RETURN CODE xxx
*** RECEIVED RETURN CODE xxx
*** WHEN "V8/370 ONLINE II APPEARS, ENTER THE FOLLCWING
THREE CO!MANDS:
LOGIN xxxxxxxx
(WHEN REQUESTED, ENTER THE APPROPRIATE PASSWORD)
(IF LOGGING IN IVPM2, THE PASSWORD IS: IVPASS)
IPL 190
IVP 2
*** THIS PORTION IS NOW DISCONNECTING
*** TEST SECTION 5 RESERVED FOR IUTURE USE ***
*** lVP TEST 1 SUCCESSFULLY COEPLETED
*** IVP TEST 1 FINISHED
DON'T START SPOOL DEVICES UNTIL TOLD.
*** IVP TEST 2 SUCCESSFULLY COMPLETED
*** IVP PROCEDURE FINISHEt
*** IVP TEST 2 FINISHED
*** SIGNAL ATTN AND ENTER: BEGIN
*** WHEN "VM/370 ONLINE" APPEARS, ENTER THE FCLLCWING
TWO COMMANDS:
LOGIN xxxxxxxx
(WHEN REQUESTED, ENTER THE APPROPRIATE PASSWORD)
LOGOUT

The Installation Verification Procedure Bess ages

Chapter 6. The Installation Verification Procedure

123

124

IBM VMj370 Service Routines program Logic

Chapter 7. Procedures for Generating and
Updating VM/370
Introduction
The V!/370 update facility provides for the
updating of files with several levels of
updates and any number of program temporary
fixes (PTFs). For Assembler language source
statement files, procedures are supplied
for assembling the updated source code to
produce a uniquely defined text deck. The
deck has a unique name and some control
cards to
identify the origin
of the
updates,
macro libraries,
and
source
statements.
For macro library files, a
copy file is prod~ced to identify the
origin of
the input and
any updates
applied.
Procedures are provided for generating
load files from various object modules, and
for generating MICLIB files from various
COpy and 8ACRO files.
The procedure for updating V8/370 has a
file naming convention for update and text
files, a set of programs to support the
processing, and a set of EXEC procedures
and modules to process the files.
•

The VMFASM procedure incorporates
or updates.

•

The GENERATE procedure generates
standalone card deck on disk.

•

The VMFLOAD module generates a
CMS, or RSCS nucleus.

•

The VMFMAC procedure generates
macro library.

PTFs
a new

new CP,
a

new

UPDATE FILES
Files used to update another file are ~iven
a filetype of UPDTxxxx, where XXXX 1S a
unique upda!~ ig~nti!ief for programmer and
system use. The filename of the update
file must be the salle name as the file to
te updated. For instance, the file PROGRAM
ASSEMBLE could be updated by the file
PROGRAM UPDTGN30
or the
file PROGRA!
UPDTGC61.
The creation and use of update files are
described in the UPDATE command discussion
in the V!!Ll1Q: C!!~
£ommand §1l~ 1I~~

!~fere1!£§.

TXT FILES
Text files are produced by the assembler as
a part of the
V!FASe procedure.
The
filename of the text file is the same as
the filename of the ISSE!ELE file.
The
filetype of the completed text deck is
TXTnamex, where 'namex' represents a unique
YEgate level identifer.
The value of
'namex' is taken from a control file, and
corresponds to the highest level of update
applied.
In addition, the text deck is
produced
from
a combination
of
the
assembler text
deck and
an auxiliary
control file containing data describing the
origin of the files used. The auxiliary
file is called 'filename UPDATES' and is
produced ty a program called VMFDATE. The
filename is the same as the filename of the
UPITxxxx file.

CONTROL FILES
Each user may have several control files to
specify various combinations of updates and
macro libraries to be used. A control file
must have a filetype
of CNTRL. These
control files
contain records
in the
following format:
namOO
iiall01
na.02
iiai03
na.04

!!ACS maclib1 aaclib2 •••
UPDTup1
UPDTup2
UPDTup3
lUXxxxxx

The suffixes up1, up2, up3, and xxxxx
are ~pdat~ identifier
fields, and the
fields namOO, nam01, nam02, na1l03, and
nam04 are update level i.£~tifie!:.§.
The first record is the !AeS record that
defines
the macro
libraries
(maclib1
maclib2 ••• ) to te used in the assembly in
the order of search required. up tc five
libraries may be specified.
Records
2, 3,
and
4 are
update
identification records. They define the
UPITxxxx files that
were created (via
update control cards and source statements)
to update some particular file.
Record 2
defines a UPDTup1 file, and records 3 and 4
define
UPDTup2
and
UPDTup3
updates,

Chapter 7. Procedures for Generating and Updating

V~/370

125

respectively. None, some, or all of
updates may exist to be applied.

the

Record 5 defines an auxiliary file that
specifies an auxiliary list of PTFs or
updates that are to be applied.
Record 5
defines an auxiliary file identified as
'filename AUXxxxxx', where 'filename' is
the same as the filename of the input file
and xxxxx is an update identifier (the
update identifier for an auxiliary control
file cannot be "aux").
Records in the
auxiliary file have the following format
for PTFs to be applied:
PTF
PTF

*

A30246CA
A21726CA
107426Cl
Any comment

The PTF field is an optional identifier,
and
the
second field
(for
example,
A30246CA) defines a specific PTF to be
applied. The PTF has a 'filename A30246Cl'
identification, where 'filename' is the
same as the filename of the file to be
updated. The filetype of a format Axxxx6Cl
is used to indicate an APAR answer or PTF
for APAR number xxxx. The comment field is
used to describe the
function of the
particular PTF.
The * record is ignored
and is used to provide additional comments
on any updates or PTFs.
The updates (PTFs included) are applied
in the reverse order in which they appear.
In the previous example, the updates would
be applied in the following order:
A07426CA
A21116CI
A30246CI
UPDTup3
UPDTup2
UPDTup1
The PTF records can be directly included
in the CNTRL file if desired, but it is
usually more convenient to place them in a
separate auxiliary (AUXXXxxx) file.
There can be any number of UPDTxxxx
definition and
auxiliary control
file
definition records, but
only one BACS
record. The complete CNTRL file can have
any filename, but typically has the same
name as
the first
specified UPDTxxxx
control record.
In the example. the file
could be named UP1 CNTRL.
The underlined fields in each record
mark the level identification fields. The
highest level (last) update to be applied
selects the name that can be used to
identify updated files. In the example, if
UPDTup3 was the last update applied, then
126

the name selected would be naa03e
The
value
for the
identification
usually
consists of a combination of the update
identifier uP'. up2,
(uP to four
characters) and additional characters up to
a maximum of 5 for the combined update
identifier and additional characters. If no
updates are applied, then the namOO field
is selected
to identify
the TXTnamOO
produced.
This
name can be
used to
uniquely identify updated files. The text
files described above, for instance, can
have
a filetype
of
TXTup3.
It
is
desirable, on occasion, to have entries in
the user CNTRL file that specify a level
identification but no update.
A record of
the following format.
for example. is
allowed:

This is because the control file serves a
double purpose and is used for loading text
decks as well as updating input files. An
identifier of TEXT as a name causes special
handling in the VBFASe EXEC procedure.
whether or not an update is used with it.
A name of iEXT is used without level
identification
catenation.
Thus,
TEXT
becomes the filetype.
SYSTEM EXEC PROCEDURES
Several system control files provide for
system update and creaticn.
Some EXEC
procedures invoke others cr make use of
user-supplied control files to accomplish
various
functions such
as
multilevel
updating,
text generation,
and
macro
library generation.

The
VMFASft
procedure
performs
the
multilevel update function by invoking the
DftSUPD module (via the CBS UFDITE command)
before assembling the desired files.
To
update and assemble a source file. the
VMFASft
procedure
is invoked
in
the
following way:
VBFASft filename control [options]
where 'filename'
is the name
of the
ASS'lftBLE file to be processed and 'control'
is the naae of the user CNTRL file that
contains the BICS (macro library), update,
and any lUXxxxx
control records.
The
VMFASM procedure invokes the DftSUPD module
via the CMS UPDATE co.mand, passing the
values
'filename',
'ASSEMBLE',
and
'control'.

IBM V"/370 Service Routines program Logic

The UPDATE comaand
returns a level
identifier and a MAC LIB list froa the 8ACS
record of
the control file.
If the
identifier is TEXT, then that becomes the
filetype
of the
complete text
deck;
otherwise the filetype is TXTxxxxx (for
example, TXTup3m1).
The EXEC procedure
then reads the MACLIB list passed by UPDATE
and issues a GLOBAL command to prepare for
the assembly using the specified libraries.
The ASSEMBLE program is invoked with the
specified options.
If
no options are
specified for the ASSEMBLE command, the
defaults are: PRINT, NOTERM, LIST, NODECK,
NORENT, SYSPARM(), and XREF(FULL).
The
options that can be specified for the
VMFASM EXEC are: DISK, NOTERM, NOLIST,
DECK, RENT, EXP, XREF,
and RLD.
The
defaults for the VMFASM EXEC are: PRINT,
TERM, LIST, NODECK, NORENT, SYSPARM(SUP),
XREF(SHORT), and NORLD.
The VMFDATE program is used to construct
a record for each MACLIB used and for the
ASSEMBLE file.
Each record is placed in
the auxiliary file 'filename UPDATES'. The
text deck produced by the assembler is
combined with the file produced by the
VMFDATE program and is named 'filename
TXTxxxxx', where 'filename' is that of the
ASSEMBLE
file,
and
'TXTxxxxx'
is
constructed
from
the
update
level
identifier returned by the UPDATE co.mand.
All intermediate files are erased, leaving
only the original ASSEMBLE and UPDTxxxx
files, and the newly created text file.

Procedure
----The GENERATE procedure is generally used
during system generation. It can build a
CP, CMS, or RSCS nucleus and punch or
create self-loading card decks for the four
standalone
service
programs
(DMKDIR,
DMKDDR, DMKFMT, and IBCDASDI).
GENERATE
can also build a new VM/370 directory, a
new real I/O deck (DMKRIO), a new buffer
load
(DMKFCB), a new system name table
(DMKSNT), or a new system deck (DMKSYS).
GENERATE can also load the IPCS modules
from tape onto the
IPCS A-disk.
The
GENERATE procedure uses the V8FASM EXEC
procedure to reassemble DMKRIO, DMKFCB,
DMKSNT, and DMKSYS.
It also uses the
VMFLOAD program to build the CP, CMS, or
RSCS nucleus.

VMFLOAD SERVICE PROGRAM

file identical in foraat to the CNTRL file
used by V8FIS! and UPDATE, to produce a
punched deck comprised of several text
files: The V!FLOAD progra. is invoked as a
C8S command in the following way:
V!FLOAD loadlist control
The loadlist is a user-supplied EXEC
file consisting of several records of the
following format:
&CONTROL OFF
&1 &2 &3 filename [filetype]
&2 &2 &3 filename [filetype]

The 'filename' specifies the name cfa
text file to be punched. The text files
are punched in the order specified.
If a
filetype is specified, a search is made for
that specific file, and if it is found it
is punched without a header card, and "the
search then bypasses the contrel file.
If the filetype is
not given, the
specified control file is used to search
for the highest level text file available,
and it is punched.
The
VMFLOAD
program
displays
a
confirmation
or
error
message
uFon
completion. Before invoking the loadlist
procedure, a SPOOL PCB CCNT command line is
executed to assure that the punched files
appear as one deck. The command lines SPOOL
PCE NOCONT and CLOSE PCB are executed uFon
completion.
The control field is used only if the
filetype is not specified.
The centrel
field specifies a user-suPFlied centrel
file with a filename of 'control' and a
filetype of CNTRL. This control file is of
the same type and format as the one used to
perform multilevel updates. Indeed, mest
often the file used to Iroduce the updated
and assemtled text decks is the one used to
load the text decks.
V!FLOAt uses the control file to search
for the desired text deck in the order in
which the identifiers are specified in the
file. The first file lecated is punched,
and all lower files are igncred.
If the
end is reached without finding a text file,
VMFLOAD displays the
message 'filename
TEXT' NOT FOUND, and continues processing
with the next entry in the loadlist EXEC.
It is quite possitle te have a comFleted
load deck coaprised of different levels of
text decks.

The VMFLOAD program uses two user-supplied
procedures, a loadlist EXEC and a 'control'
Chapter 7. Procedures for Generating and Updating VM/370

127

D!KLDOOE SERVICE PROGR1!
The loader (DftKLDOOE) is a service progra.
that is used to generate a CP, C!S, or RSCS
nucleus. The loader loads the text decks
supplied with it, resolves CCi addresses,
and resolves address constants.
The sa.e
loader is used whether a virtual=real or
standard CP system is generated.
The loader is
distributed
following default I/O addresses:

with

the

Console=009
Printer=OOE
These addresses can be overridden by a
control card that must be placed between
the loader END card and the first card of
the text decks. The format of the control
card is:
Column

The text decks being leaded must not try
to overlay either the loader or any address
between zero and 100 (hexadecimal).
The
text decks are loaded into storage in a
positive direction (that is, upward through
storage). If the text decks are going te
overlay the loader's free storage, the
operation is terminated.

THl VMFMAC !ICRO LIBRARY UPDATE PROCEDURE
The V!FM1C procedure applies updates to
copy or .acro files and builds a new macro
library.
The VMFMAC EXEC procedure is
invoked with the following com.and line:
VMFMAC .aclibna.e cntrlname

Contents
.aclibna.e

1
2-4
5
6-13

14
15-22

0-2 punch
DEV
blank
PRNT=xxx (xxx is the printer
address)
blank
TYPi=xxx (XXX is the console
address)

The format of the other control cards
can be found in the discussion of the LOAD
command in the !M/31Q £~~ £2~nd and MacE2

&1 &2 filename1
&1 &2 filename2

cntrlnalle

!efere1!'£~.

The loader is self-relocating, that is,
it is initially loaded at address 8000
(decimal); it then relocates itself to the
top of storage. (For example, if the size
of the loader is 10K, and the storage size
of the system is 256K, the loader will
occupy the area of storage between 246K and
256K.) After relocating itself, the loader
clears the storage it was originally loaded
in. Is the loader needs free storage to
perform its operations, it extends downward
through storage.

128

is the filename of the file
that contains a list of the
.acro and copy files that are
to be included, or updated and
included. in the
new macro
library. This list file must
have a filetype of EXEC and
each entry in the maclibname
EXEC file has the following
for.at:

is the filename of the control
file used to apply the updates.
The
control file
(filetype
CNTRL) may contain the actual
update or only the names of
other files that contain the
updates.

The UPtATE co.mand is issued for each
macro or
copy file.
If the
update
procedure is successful, the member is
added to the BEWM1C !ACLIB.
After all
macro and copy files have been processed,
any existing libname !ACLIE file is erased
and the NlWftAC ftACLIE is renamed to libnaae
IUCLIE.

IBM VM/370 Service Routines Program Logic

Method of Operation
the
following
This
section describes
and updating
procedures fer genera ting
V8/370:

•
•
•

tiagram 7-7 describes the multiple level
update procedure.
tiagram 7-8 describes the processing cf
control records for the Update program.

Update procedure
Nucleus loading facility
The MACLIB generation facility

Diagram 7-9 describes the
update procedure.

Figure 7-1 shows the relationship of the
diagrams.
Diagra. 7-1 shows the :ajor functions of
the V8FAS8 procedure.

Diagram 7-2 shows the initialization of
the VMFASM procedure.
Diagram 7-3 describes the assembling
portion of the VMFASM procedure.

Diagram
done.

7-10

shows

single level

how

inserting

Diagram
7-11
describes
the
procedure for the Update program.
Diagram 7-12
program.
Diagram

7-13

describes the
describes

the

is
exit

.odule load
Frocedure

that builds the 8ACLIB.
Diagram
program.

7-4

describes

the

VMFDATE
Diagram
7-14
describes
the
functions of the GENERATE procedure.

Diagraa
7-5
describes
the
major
functions of the DMSUPD (update) progra=.

major

Diagra= 7-15 describes the CP pcrtion of
the GENERATE procedure.

Diagram 7-6 describes the operand and
option checking for the Update program.

Chapter 7. Procedures for Generating and Updating V!/370

129

Diagram 7·1
Overview of the
Assembler
Update
Procedure

I

I

Diagram 7·2
Initialization of
the VMFASM
Procedure

I
Diagram 7-4
The VMFDATE
Program

I

Figure 7-1.

130

Diagram 7·6
Operand and
Option
Checking

Diagram 7·12

Diagram 7·13

Diagram 7·14

The Nucleus
Load
Program

VMFMACMacro Library
Creation
Program

The GENERATE
Procedure

I

I
Diagram 7·3

Diagram 7·15

Assembling
Portion of the
VMFASM
Procedure

Generating a
CP System

1
Diagram 7·5
Overview of the
Update
(DMSUPD)
Program

,

I

Diagram 7·7

Diagram 7·9

Diagram 7·11

Multiple
Update
Procedure

Single
Update
Procedure

Exit
Processing

I

Diagram 7-8

Diagram 7·10

Control Record
Processing

Inserting
Updates

Key to the Procedures for Generating and Updating
Diagrams

IBM VM/310 Service Routines Program Logic

V~/370

!ethod of CFeraticn

Input

Processing

I
1 Initialize the Assembler Language
1

update procedure.
(See Diagram 7·2 fo!" details.)

2 Assemble the program.
(See Diagram 7·3 for details.)

Diagram 7-1. Overview of the Asseabler Update Procedure

Chapter 7. Procedures for Generating and Updating VM/370

, .....

1'31

Processing

Input

>

filename
xxxxxxxx
filetype
ASSEMBLE

Output

Set EXEC control off.

2 If any options are specified, reset
the default option to the specified
option.

3 Check that the ASSEMBLE file

filename
xxxxxxxx
filetype
CNTRL

exists. If file not found, issue
message, set return code=1 and
exit.

ur ~

*** filename ASSEMBLE NOT
FOUND ***

I

4 Check that the control file exists.
If file not found, issue message, set
return code=2 and exit.

5

.""

Set up printer to spool continually.

~

*** filename CNTRL NOT
FOUND ***

~
CMS

Module

Notes
1 The CMS commands executed and the

Label

Ref

Notes

VMFASM

return codes that result will not be
displayed on the virtual machine
console.

2 The default options are: PR INT,

VMFASM

TERM, LIST, NODECK, NORENT,
SYSPARM(SUPI. XREF(SHORT),
and NOR LD. The options specified
for the VMFASM EXEC are: DISK,
NOTERM, NOLlST, DECK, RENT,
EXP, XREF, and RLD.

3 The CMS STATE command is executed. VMFASM

·STSYS

A nonzero return code indicates that
the ASSEMBLE file was not found.

4 The CMS STATE command is executed. VMFASM

·STCTL

A nonzero return code indicates that
the CNTRL file was not found.

5

The CP SPOOL command is executed.

VMFASM

Diaqram 7-2. Initialization of
132

·FUPD

~hp

V"Fl~"

Prnr~~"r~

IB! VM/310 Service Routines Progra. Logic

Module

Label

Ref

Processing

Execute the update module
(DMSUPD).
(See Diagram 7-5 for details.)

2

Read the macro library list.

3 Indicate the Assembling options.

filename
xxxxxxxx
filetype
ASSEMBLE

4 Complete the control file, execute

filename
xxxxxxxx
filetype
TEXT or
TXTxxxx

the VMFDATE module.
(See Diagram 7-4 for details.)

5 Update the log stacked in the
printer.

6 Create a new text file.

7

Erase the intermediate files.

~I

LS

I

u

Program Listing

Notes

Module

1 The DMSUPD module is executed. The VMFASM
name of the ASSEMBLE and CNTR L
files and a filetype of ASSEMBLE are
passed to the DMSUPD module. The
DMSUPD module returns a level
identifier and a MACUB (macro library
lis

:~turn

A
code between 20 and 36 causej
the VMFASM EXEC procedure to
display the message
*** ERROR UPDATING filename
and return control to the CMS command environment.

Notes
If no options were specified on the
VMFASM command, the default options are assumed and the message
ASMBLING filename
is displayed.

Ref

·ASMP

VMFASM

The UPDATES fiie is printed on the
virtual printer and then erased.

Viv'iFASM

-DTF

VMFASM

-DTF

VMFASM

-COMB

rTF

is displayed. The STATE command is
issued to see if a text deck actually
exists. If the text deck does not exist,
the message
*** NO TEXT FOR filename ***
is displayed, the VMFASM EXEC procedure terminates, and control returns
to the CMS command environment.
VMFASM

7 The new text file, original ASSEMBLE
file, and any UPDTxxxx files are
saved. The message

The CMS GLOBAL command is issued
to identify the macro libraries that will
be used during the assembly.

filename{TEXT
} CREATED
TXTxxxx
is displayed. All intermediate files are
erased. The printer is closed and control returns to the CMS command
environment.

VMFASM command, the message
ASMBLING filename (options ... )
is displayed indicating the specified
options.

Label

The VMFDATE module IS executed
once more to complete the UPDATES
file.

for each MACLIB.

3 If any QPtions were specified on the

Module

ASSEMBLE returns a nonzero code,
the message
*** ERROR ASMBLING filename ***

If the return code is 40 (no updates),
the filename is the same as the filename of the original ASSEMBLE file.
Otherwise, the filename is set to the
updated filename.
The MACUB list is read. The
VMFDATE module is executed once

-FUPD

Ref

6 The updated file is assembled. If

If the level identifier is TEXT, TEXT
becomes the filetype of the completed
text deck. If the level identifier
(xxxxx) is not TEXT, the filetype
becomes TXTxxxxx.

2

Label

VMFASM

EXIT

Diagram 7-3. Assembling Portion of the V!FAS! procedure
Chapter 7. Procedures for Generating and Updating VM/370

133

Processing

Input

Output

VFMASM

r:hv

filename
filetype
filemode

Check that the correct number of
operands are passed.

2 Check that the file exists.

3 Create entry in UPDATES file.

LF

I

UPDATES
file

I

4 Close the file.

I ... ~
Return to
Caller

Notes

1 Six operands should be passed to the

Module

Label

VMFDATE

VMFDATE

VMFDATE

TEST

Ref

Notes

VMFDATE module. The first three
operands are the filename, filetype,
and filemode of the input file. The
next three operands are the filename,
filetype, and filemode of the output
file.

2 If the input file does not exist, control
returns to the calling routine.

3 Each time the VMFDATE module is

VMFDATE

called, it creates an entry in the
VMCNTR L file indicating that an
update was applied. The format of
each entry is:
* filename filetype filemode volid
date time
The disk label is picked up from the
ADT (Active Disk Table).

4 The UPDATES file is closed and

VMFDATE

control returns to the calling routine.

Diagra. 7-4. The
134

yftFDATE

Progra.

IBM VM/370 Service Routines Progra. Logic

Module

Label

Ref

Processing

Input

I

I

ur

r-----------------------~

Output

Initialize the update program.

2 Examine input operands and options.
(See Diagram 7-6 for details.)

3

Find the disk that contains the
source file.

4 Determine the disk that will
contain the output file.

5 C-heck that needed files exist,
6 If CTL is specified, perform
multiple update.
(See Diagram 7-7 for details.)

-;-1-->

Ell

llllLI
--v

7 Otherwise, perform single update.

DMSUPD002E

m
I

V

DMSUPD037E

(See Diagram 7-9 for details.)

8 Exit.
(See Diagram 7-11 for details.)

DMSUPD024E

Module

Notes
1 Registers 12, 11, and 9 are set up as

[2
I
I

Ref

Label

DMSUPD

DMSUPD

return code of 24 in register 15.

DMSUPD

DMSUPD

If the DISK option was specified, an
old copy of 'filename UPDLOG' is
erased (if one exists).

base registers. All indicators are set off.
The filename operand is required.

3 DiviSUPD checks that the source input I DMSUPD
file exists. If not, the message
DMSUPD002E FILE 'fn ft fm' NOT
FOUND
is displayed and control returns to the
CMS command environment with a
return code of 28 in register 15.

PROCESS

INOFILE

I

I
I
I 4 The DMSUPD module searches for a I DMSUPD
suitable disk to hold the output files.

I
PROCESS

First, an attempt is made to place the
files on the same disk that contains the
original input. If the input disk is readonly, but is an extension of a readl
write disk, an attempt is made to place
the files on that disk. Lastly, an attempt
is made to place the files on the A-disk.
If all these attempts fail, the message
DMSUPD037E DISK 'A' IS READI
ONLY
is displayed and control returns to the
CMS command environment with a
return code of 36 in register 15.

5 DMSUPD issues the STATE command

Notes

DMSUPD

I

I

Module

If the control file option (CTL) IS
specified DMSUPD checks that the
control file exists and continues
processing at the CTLMULT (multiple update) routine.
If the control file option is not
specified, DMSUPD checks that the
single update file exists and
continues processing at the single
update (SINGUPD) routine.

Ref

Label

INOERASE

I

I

I

ILOCTUPD

I

6 See Diagram 7-7.

DMSUPD

CTLMULT

7 See Diagram 7-9.

DMSUPD

SINGUPD

8 See Diagram 7-11.

DMSUPD

RETROO1

PROCESS

to see if the UPDATE CMSUTl file
already exists: it should not exist. If
the CMSUTl file exists, the message
DMSUPD024E FILE 'UPDATE
CMSUTl fm' ALREADY EXISTS
is displayed and control returns to the
CMS command environment with a

Diagraa 7-5. Overview of the Update (DMSUPD) Prograa
Chapter 7. Procedures for Generating and updating f8/370

i35

Input

Processing

filename
filetype
filemode
options

~-->

Output

1 Examine the operands.
2 Handle invalid operands.

~
~~
~
I

3 Check the filename.

REG15

~

>

DMSUPD070E

4 Examine the options.
A. Handle unrecognizable options.
B. Handle options specified twice.
C. Handle conflicting options.

REG 15

~

:0
-,.--

DMSUPDOO1E

REG 15

~

.

--y

DMSUPDOO3E
DMSUPD065E
DMSUPD066E
DMSUPD187E

No_
1

Module

DMSUPD uses the filename operand
to set up the disk parameter lists for
input, update log, and auxiliary files.
All the operands (except the required
filename) and all the options are read
by branching and linking to the
OPTSCAN routine.

DMSUPD

Label

Ref

DMSUPD

C. If two conflicting options are
specified, the message

specified before the left
parenthesis, the message
DMSUPD070E INVALID
PARAMETER 'param'

EXCESIV

DMSUPD066E 'option' AND
'option' ARE CONFLICTING
OPTIONS

NOFNAME

is displayed and control returns to
the CMS command environment
with a return code of 24 in register
15. The conflicting pairs of options
are: SEQS, and NOSEQa, INC and
NOINC, REP and NOREP, STK
and NOSTK, TERM and NOTERM,
CTL and NOCTL, CTL and NOINC,
and DISK and PRINT.

is displayed and control returns to
the CMS command environment with
a return code of 24 in register 15.
DMSUPD

specified. If no operands are found,
the message
DMSUPDOO1E NO FILENAME
SPECIFIED

If the STK option is specified without the CTL option, the message

is displayed and control returns to
the CMS command environment with
a return code of 24 in register 15.

DMSUPD187E OPTION 'STK'
INVALID WITHOUT 'CTL'
DMSUPD

is displayed, and control returns to
the CMS command environment
with a return code of 24 in register
15.

specified are: SEQS, NO INC, NOREP,
NOCTL, NOSTK, TERM, and DISK.
When the last option is processed, control returns to the PROCESS routine.
A. If an unrecognizable option is
specified, the message

INVOPTN

DMSUPD003E INVALID OPTION
'option'

Diaara. 7-6. Operand and option
136

Label

OPTDUP

DMSUPD065E 'option' OPTION
SPECIFIED TWICE
is displayed and control returns to
the CMS command environment
with a return code of 24 in register
15.

2 If more than six operands are

4 The options assumed, if not otherwise

Module

is displayed and control returns to
the CMS command environment
with a return code of 24 in register
15.
B. If an option is specified twice, the
message

The first three operands are the filename, filetype, and filemode of the
file to be updated. The next three
operands are the filename, filetype, and
filemode that describe the update or
control file to be applied.

3 Only the first operand must be

Notes

Chp~king

IBM VM/370 Service Routines Progra. Logic

OPTCONF

ERSC

Ref

Processing

Input

I

>

Output

Read the 'MACS' record.

2

Process the control records.
(See Diagram 7-8 for details.)

3 At end, exit.

I

J~

REG 15

I

RC32

I

II

DMSUPD179E
DMSUPD183E

Tl

Stacked
lines, if
'STK'
option
specified

I

REG 15

~

~

II

DMSUPD179E

Notes
1

The macro library (MACS) record is
read from the beginning of the control
file and saved. If the MACS card is not
found, or is not the first noncomment
card in the control file, the message

Module
DMSUPD

Ref

Label

Label

Ref

is displayed and control returns to the
CMS command environment with a
return code of 32 in register 15.

CTMULT
ERMACS

If STK is specified, the updated level
ID is stacked in the terminal input

DMSUPD179E MISSING OR DUPLI-

stack.

CATE
'MACS' CARD IN CONTROLI
FILE 'fn ft fm'

I

Module

Notes

is displayed and control returns to the
CMS command environment with a
return code of 32 in register 15.

I

If the MACS control card is invalid,
the message

II

I

I

I

BATCTLC

DMSUPD183E INVALID CONTROL
FILE CONTROL CARD
is displayed and control returns to the
CMS command environment with a
return code of 32 in register 15.

2

See Diagram 7-8.

DMSUPD

~LGETM

3

If a 'MACS' record is read, the file is
completely processed. The control
file is closed.

DMSUPD

~TLDONE

If this MACS card does not have an
item number identical to that of the
MACS control card originally read,
the control file contains duplicate
MACS control cards. The message

~RMACS

DMSUPD179E MISSING OR DUPLICATE 'MACS' CARD IN CONTROL
FILE 'fn ft fm'

I I I I

Diagra. 7-1. 8ultiple Update Procedure
Chapter 1. Procedures for Generating ana Updating V8/310

131

Input

Processing

Output

0

If PTF or normal update, update t h e o r
UPDATES file, perform single-level
update (see Diagram 7-9 for details)
and return to read the control file_

2

Module

Notes
1 The control file is read from the bottom
up. If the control record is valid, the
message
DMSUPD183E INVALID CONTROL
FILE CONTROL CARD

DMSUPD

If auxiliary file, update the
UPDATES file, perform update (see
Diagram 7-9 for details). and return
to read the next auxiliary record.
At end of auxiliary file, read
control file.

Label

Ref

I

Notes

CTLGETM

BADCTLC

2

DMSUPD checks that the auxiliary file
exists. If not, control returns to the
read routine (CTLREAD). If the
auxiliary file is found, it is read from
the bottom up.

If the PTF or update file is not found,
control returns to the read routine
(CTLREAD). If the file is found and
the update is not being performed in
storage, the message

CTLOCUP

If the PTF file within the auxiliary file
is not found, the message

CTLUMSG

DMSUPD1781 UPDATING 'fn ft fm'
WITH 'fn ft fm'

DMSUPD180W MISSING PTF FILE
'fn ft fm'

CTLUMSS

is issued. The RETCODE value is set
to 12 if it has not been set higher previ0usy. Processing continues with the
next record from the auxiliary file
(AUXREAD).

SMALLCOR

is displayed if the input file is too
large for the acquired storage.
If the STOR option was not specified
explicitly, the message
DMSUPD304E UPDATE PROCESSING
WILL BE DONE USING DISK

IMPLICIT

is also displayed. If the STOR option
was specified, control returns to CMS
with a return code of 40 in register 15.
If processing continues, the input file
is read into the acquired storage, the
message
DMSUPD1781 UPDATING 'fn ft fm'
WITH 'fn ft fm'

When a valid record is read from the
auxiliary file, the message
DMSUPD1781 UPDATING 'fn ft fm'
WITH 'fn ft fm'
is displayed and an entry is made in the
UPDATES file. Then the SINGUPD
routine applies the update. After the
update is performed, control returns
to CTLCONT which retums control to
AUXREAD. This loop continues until
the entire auxiliary file is processed.
At the end of the auxiliary file. the
file is closed and control returns to the
control file read routine (CTLREAD).
If an invalid card is found in the
auxiliary file, the message

CTLUMSS

is displayed, and an entry is made in
the UPDATES file.

DMSUPD183E INVALID AUX FILE
CONTROL CARD
is displayed and control returns to the
CMS command environment with a
return code of 32 in register 15.

Diagram 7-8. Control Record processing
138

Module

Label

DMSUPD

AUXFIND

CTLlPTF

is displayed and an entry is made in
the UPDATES file. If the update is
being performed in storage, free storage
is acquired to contain the input file.
The message
DMSUPD300E INSUFFICIENT STORAGE TO BEGIN UPDATE

UPDATE
Log

Then a branch to the SINGUPD
routine transfers control to the single
update routine. After the update is
performed, control returns to CTLCONT

CTLREAD

is displayed, and control returns to the
CMS command environment with a
return code of 32 in register 15.

I

IB! V!/370 Service Routines Program Logic

NOFILEW

CTLUMSG
CTLUMSS

AUXREAD
AUXFINT

BADAUXC

Ref

Processing

Read update control statement.

o

2 Handle the resequence control
statement.

3 Handle the insert control statement.
(See Diagram 7·11 for details.)

Control Statements

4 Handle the delete control statement.
5 Exit when all update control cards

n

Updated
Assembler
Source
Program

are processed.
if singie update.

j. • • • • • •

!f multiple update.

I.·I.....

t>

Diagram
7-11

IUpdate

Log

~

Diagram
7-7

Notes

II

Module

1 An update card is read and checked. If DMSUPD
an invalid control card is read, the
message
DMSUPD207W INVALID UPDATE
FILE CONTROL CARD
is issued. The value of RETCOD E is set
to i2, if it was not previously set hi 9hSi'1
Processing continues ignoring the
invalid card.

2 DMSUPD checks the resequence card.

If the resequence card is not the first
card in the update file, the message
DMSUPD184W './S' NOT FIRST CARD
IN UPDATE FILE -IGNORED
is issued. The value in RETCODE is set
to 12 if it has not been set higher previously. The './S' card is ignored and
processing continues.

IDMSUPD

Label

Ref

Notes

I

I

FCTRSEQ
RSEQERR

DMSUPD

4 The update control card is checked.

DMSUPD

5 When all the update control cards are
INVCHAR

if the specified sequence increment is
zero, the message
DMSUPD182W SEQUENCE INCREMENT IS ZERO
is issued. The value of RETCODE is
set to 8 if it has not been set higher
previously. Processing continues and
the file is resequenced with a sequence
increment of zero.

ZERSEQ

processed, the UPD READ (read)
routine takes its error exit (UPDFERR)
The UPDFERR routine branches to
the INPUTRD routine on an end-of-file
condition to flush (write out) the rest
of the input source file if the update
was not performed in storage. If the
update was performed in storage, and
resequencing is requested, a logical
replace is done on each line in the file.

Ref

RSEQFIN

3 See Diagram 7:",
The indicated cards are removed. The
control statement and the message
DELETING ...
are sent to the UPDLOG file. If the
delete is being performed in storage,
the records in storage are rechained,
eliminating the deleted records.

Label
RSEQDEF

If no errors are found, the sequencing
is set to 5 or 8 characters depending
on the options specified (SEQ8 or
NOSEOS). The UPDFLAG is set for
resequencing and the next update control card is read (UPDREAD).

SINGUPD

If an invalid character is specified in one
of the sequence fields, the message
DMSUPD185W INVALID CHAR IN
SEQUENCE FIELD 'xxxxxxxx'
is issued. The value of RETCODE is set
to 12 if it was not set higher previously.
The' ./S' card is ignored and processing
continues.

Module

FCTINST

I~CTDELT I
,ELTINE
XDELE

DMSUPD

UPDREAD

XDELE

The error exit (lNPFERRris taken
from the INPUTRD routIne. The
INPFERR routine closes the updated
file and the input file. If processing a
control file (multiple update). control
returns to CTLCONT. Otherwise, the
single-level update is complete and
control is returned to CMS (RRETURN
exit routine).

Diagra. 7-9. Single Update Procedure
Chapter

7~

Procedures for Generating and Updating V8/370

139

Processing

Input

r control
INSERT
statement

I Source
Program

IllJr
Ir

1 The INSERT card is checked. If invalid,

1 Check validity of INSERT control
statement.

2 Insert sequence numbers.
3 Check sequencing of the input file.
4 Insert the update.
I

Module

Notes

DMSUPD

Label
FCTINST

the message

NotlS

DMSUPD

FCTREPL

put in the inserts. Otherwise, the

message are sent to the 'UPDLOG'
file.

is issued. The value of RETCODE is
set to 8 if it was not set higher previously. Processing continues.
If sequence overflow occurs while
cards are being inserted, the message

UPDSERR

If a specified sequence number is not
found, the message
DMSUPD186W SEQUENCE NUMBER
'xxx' NOT FOUND

DMSUPD176W SEQUENCE OVERFLOW FOLLOWING SEQUENCE
NUMBER 'xxx'
is issued. The value of RETCODE
is set to 8 if it was not previously
set higher. Processing continues.

is issued. The value of RETCODE is
set to 12 if it has not been set higher
previously. The invalid card is ignored
and processing continues.
DMSUPD

INSEQW

DMSUPD

INSLOOP

out of order, the message

When the appropriate cards are
successfully inserted in the file,
control returns to the read routine
to read the next control card.

DMSUPD210W INPUT FILE SEQUENCE ERROR 'xxx'TO 'xxx'
is issued. The value of RETCODE is
set to 4 if it was not set higher previously. Processing continues.
statement and the INSERTING ...

Diagram 7-10. Inserting Updates
140

label

DMSUPD174W SEQUENCE ERROR
INTRODUCED IN OUTPUT FILE
'xxx' TO 'xxx'

~e!\u;~;;*number field contains

4 DMSUPD inserts the cards. The control

Module

If the sequence errors are introduced
in the output file, the message

is issued. The value of RETCODE is
set to 12 if was not set higher previously. The invalid card is ignored and
processing continues.

3 If the input file sequence numbers are

Ref

INVUPCD

DMSUPD207W INVALID UPDATE
FILE CONTROL CARD

2 If requested, the sequence numbers are

Output

IBM VM/370 Service Routines Prograa Logic

WOVF

Ref

If update is being done in storage,
create the output disk file.

2 Issue messages as necessary.
Updated File

Notes
1 If the update is being performed in

Module

DMSUPD

Label
RETROO1

storage, the updated file in storage is
read line by line and a disk file is
created with the filename and filetype
UPDATE
CMSUT1. The filemode
...
,.
...
specltles tne dISK wnere me Tmal OUI
put file resides. The disk file is then
closed. The UPDATE CMSUT1 file
is then renamed $fname after the old
$fname is erased.

2 If RETCODE is not equal to zero,

Ref

Module

Notes

Ref

Label

ment with the value of RETCODE
in register 15.
If no warning messages are issued and
the REP option is specified, the
'$fname' file is renamed to 'fname',

after the old file is erased.
If the CTL option is specified and no
update files are found, the message
DMSUPD181E NO UPDATE FILES
WERE FOUND

DMSUPD

warning messages were issued during
the update.
If warning messages are issued and the
NOTERM option is specified, while
the REP option is not, the message

WR ETURN

I

I
I

I

I
I

NOUPDAT!

is displayed and control returns to the
CMS command environment with a
return code of 40 in register 15.
If no warning messages are issued, and
no errors detected, control returns
to the CMS command environment
with a return code of 0 in register 15.

DMSUPD1771 WARNING MESSAGES
ISSUED (SEVERITY =nn)
is displayed (nn is the value in
RETCODE).
If warning messages are issued and the
REP option is specified, whether or
not the NOTERM option is specified,
the message
DMSUPD1771 WARNING MESSAGES
ISSUED (SEVERITY = nn) 'REP'
OPTION IGNORED
is displayed (nn is the value of
RETCODE). In either case, control
returns to the CMS command environ·

Diagra. 7-11. Exit processing
Chapter 7. Procedures for Generating and Dpdating '1/370

141

Processing

Input

I

I -Ilb

Load List
name

Output

1 Check that load list names and
update identification level is
passed to VMFLOAD.

2 Check that the load list EXEC, and
CNTR L file exist. If not found,
return to CMS.

.
CMS

3

Read update control file.

4

Invoke the load list EXEC procedure
and build system load deck at 000.

5

Exit to CMS.

.

~
CMS

Notes
1 The load list name is moved into the

Module

Label

VMFLOAD

VMFLOAD

Ref

Notes

The update identification level is
moved into the filename portion of
a RDBUF command line for an
EXEC and CNTRL file.
VMFLOAD

SVC 202 to make sure that the
load list EXEC and CNTRL files
exist. If the load list EXEC file is
not found, the message

NOLDL

filename filetype NOT FOUND

NO LOAD LIST

is displayed, and processing continues
with the next item in the load list.

is displayed and control returns to the
CMS command environment with a
return code of 4 in register 15.
If the load list CNTR L file is not
found, the message

When only the filename is specified,
the specified control file is used to
search for the highest level text file
available. The first text file located
is punched. If the search ends before
a text file is found, the "filename
TEXT" file is punched if it exists.
If the file is not found, it is skipped,
the message

NOCTR

NO CONTROL FILE
is displayed and control returns to the
CMS command environment with a
return code of 2 in register 15.

3 The first record of the control file is

VMFLOAD

RDCTR

If an error occurs while reading the
control file, the message

BDCTR

ERROR IN CONTROL FILE

At this point, the text decks are loaded VMFLOAD
in the proper sequence in the specified
reader. All files not found vvere
identified by messages to the
terminal. The message

ENOL

SYSTEM LOAD DECK COMPLETE
is displayed. The punch is set to stop
spooling and is then closed.
VMFLOAD

DINITB
Control returns to the CMS command
environment.

The load list EXEC procedure is
invoked by an SVC 202. The text
files are punched in the order
specified in the load list.

142

NOFILE

This process continues until every
item in the load list is processed.

5

is displayed and control returns to
the CMS command environment with
a return code of 3 in register 15.

Diagram 7-12.

SRTXT

is displayed, and processing continues
with the next item in the load list.

The rest of the control file is read.
The control records are chained
together in the proper hierarchy.

The resident nucleus modules are
loaded first and the pageable modules

FNDM
DINITD

filename filetype NOT FOUND

DINITA

read and the class on the macro library
record is saved.

4 The punch is set to spool continuously.

Label

follow. The DMKLDOOE (nucleus
loader) resident nucleus module must
be loaded first and followed by
DMKPSA. The DMKCPE module
must be the last resident nucleus
module loaded. The pageable nucleus
modules are ordered so that they
efficiently utilize page frames. The
OM KSAV module must be loaded
last. When the filename and filetype
are both specified, that specific file
is searched for and punched, if found.
If the file is not found, it is skipped,
the message

filename portion of a STATE command line for an EXEC file and a
CNTRL file.

2 Issue the STATE command via an

Module

NOFILE

The Nucleus Load Program

IBM VM/370 Service Routines Prograa Logic

RETERR

Ref

~===~JO~:~m Inal,1 ~"kin.o

PLiST

I

2 Print control file cntrlname CNTRL.
Erase NEWMAC MACLIS and
NEWMAC COPY.

II

3

Update macro and copy files. Add
them to NEWMAC MACLIS.
Print new members.

4

Erase any existing libname
MACLIS. Rename NEWMAC
MACLIS to libname MACLIS.

~

I

cntrlname

Module

Label

is displayed and control returns to CMS
with a return code of 101.

cntrlname CNTRL NOT FOUND
is displayed and control returns to
CMS with a return code of 102.
The control file cntrlname CNTR L is
printed. The files NEWMAC MACLIS
and NEWMAC COpy are erased.

3 If a macro or copy file is not found,

IOSTeTL

I
VMFMAC

-STKL

VMFMAC

-AREAD

the message

*** filename COpy OR MACRO NOT
FOUND ***
is displayed. The final return ccx:le is
set to 104 and processing continues
with the next member.
The UPDATE command is issued for
each macro or copy file. If an error
occurs, the message

*** ERRORS UPDATING membername membertype ***
membername membertype NOT
INCLUDED IN MACLIS

I
I

I

-MACUP
-UPDERR

Label

Ref

name membertype are printed. The
final return code is set to 105 and
processing continues with the next
member.

-ASGN

maclibname EXEC NOT FOUND

If the file containing the updates is
not found, the message

Module

Notes

Ref

macro library (maclibname EXEC) is
not found, the message

If the update procedure is successful,
VMFDATE is executed to date stamp
the file, and the member is added to
the NEWMAC MACLIS. The new
member is printed. To maintain a
history of the updates that were
applied, a line is added to NEWMAC
COPY, a dummy copy file.

I
4

-MACUP

I

I
I

After all macro and copy files have
been processed, the NEWMAC COpy
file is renamed to libname COpy and
added to N EWMAC MACLI S. Any
existing libname MACLIS file is
erased and the NEWMAC MACLIS
is renamed to libname MACLIS.

-RENEWCC

If the update procedure is unsuccessful,
the message

-ERR2

I

DUE TO PREVIOUS ERRORS, THE
RESULT OF THIS MACLIS SUILD IS
CALLED 'NEWMAC MACLIS' libname
MACLIS HAS NOT SEEN REPLACED
is displayed at the terminal ar:c a
return is made to CMS with the final
return code as previously described.

I

I

is displayed on the terminal, the files
membername UPDATES and member-

Diagram 7-13.

II

~

1 If a list of the members to be put in the VMFMAC

2

II! /

New macro and copy files

Notes

I

Control file

~====::::;>

10

I
I

ru,PLlu,
)
)

VftFftAC--The Macro Library Creation Procedure
Chapter 7. Procedures for Generating and updating V!/370

143

Processing

Input
[
[
[
[
[
GENERATE!

[
[
[
[
[
[

VM370
SRVCPGM
DIRECT
[ONLY]
DMKRIO [ONLY]
DMKSYS [ONLY]
DMKFCB [ONLY]
DMKSNT [ONLY]
[CP]
[CMS] NUCLEUS
]
[NOLOAD]]
IPLDECK
]
RSCS [BUILD]
]
IPCS
]

----II

.....&_l_=S_R_V_CP_G_M

& ,,\PLDECK

...

1 Read the control statement.

2

-v

Punch all four of the standalone
service programs.
DMKDDR
DMKDIR
DMKFMT
IBCDASDI

f=U rP

3 Create a standalone copy of one or
all of the service programs.

I='===!J

Notes
1

>

Output

Module

If an invalid operand is read, one of the
following messages is displayed.

GENERATE

3 card loader and service programs

Label

Ref

Not.

·RMOVE

GENERATE
The message:
THE FOLLOWING STANDALONE
SERVICE PROGRAMS ARE BEING
PUNCHED
** FORMAT - DIRECT DUMP/RESTORE - IBCDASDI **
is displayed, then each of the four standalone service programs is punched and
the messages;
PUNCHING
PUNCHING
PUNCHING
PUNCHING

'IPL
'IPL
'IPL
'IPL

FMT ******
DIR' ******
DDR' ******
IBCDASDI' *****

are displayed. If the directory does
not exist, the program terminates.
Otherwise, the message:
PRINT COpy OF RELEASE3 DIRECT?
-RESPOND (YES/NO)
is displayed. If the response is no,
the program terminates. Otherwise a
summary of the GENERATE EXEC
procedure is displayed. See Figure 7-2.
Then, the GENERATE EXEC prints
the directory, DMKSYS, DMKSNT,
and DMKFCB. Another message
DO YOU WISH TO HAVE A COpy OF
DMKSNT, DMKSYS, DMKFCB, AND
RELEASE3 DIRECT PUNCHED TO
CARDS? -RESPOND (YES/NO):
is displayed. If the response is no, the

Diagraa 7-14.
144

Module

Label

program terminates. Otherwise,
DMKSNT, DMKSYS, DMKFCB, and
RELEASE3 DIRECT are punched, the
following messages are displayed:

GENERATE xxxxxxxx-INVALID
OPERAND
NUCLEUS OPTION-(CP/CMS) NOT
SPECIFIED

2

8

eY.N.~t"NG 'DMKSNT ASSEMB LE'

eY*"!.~IjING 'DMKSYS ASSEMBLE'

·SRVC

eYtJ*~IjING 'DMKFCB ASSEMBLE'
~Y.N.~IjING 'RELEASE3 DIRECT

and processing ends.

3

The instructions:
ENTER THOSE DECKS TO BE
GENERATED (DDR/DIR/FMT/
ALL):
ENTER TARGET DISK ADDRESS:
are displayed on the terminal.
If the target disk address entered is
190, the filemode is set to A. Otherwise, it is set to B.
A 3-card loader is placed in front of
each of the service programs specified
and the service program is copied. At
successful completion, one or all of
the following messages
'IPL DIR Al' - CREATED
'IPL DDR Al' - CREATED
'IPL FMT Al' - CREATED
is displayed and the GENERATE procedure ends. If an error occurs, an
error message:
xxxxxxxx - INVALID OPERAND.
ERROR ON ACCESS OF DISK
(xxxxxxx)
ERROR WRITING OR BUILDING
'IPL [DIR/DDR/FMTl A'
DISK A (xxxxxx) - READ ONLY.
is displayed and processing ends.

The GENERATE Procedure (Part 1 of 2)

IBft V!/370 Service Routines Progra. Logic

GENERATE -IPLGEN
-GTDISK

Ref

(npu.

I
I

&1=VM370
&1=DIRECT
&1=DMKRI0
&1=DMKSYS
&1=DMKFCB
&1=DMKSNT
&1=CP &2=NUCLEUS

-:-_____> 5
1&1=RSCS

~====>

1&1=IPCS

~=====>

DMKRIO, a new DMKSYS, a new
DMKFCB, a new DMKSNT, and/or
a new CP nucleus.
(See Diagram 7-15 for details.)
Build a new CMS nucleus.

6 If the RSCS BUILD option was
specified, build the RSCS.nucieus.

I

7 If the IPCS option was specified,

load the IPCS modules from tape
onto the IPCS A-disk.

CMS Nucleus

8

----l

I
=====>
I

I II

RSCS TEXT decks

'"I
RSCS nucleus

f3
IPCS modules A-disk

-

Module

No1lS
4 See Diagram 7-15.

Label

Ref

Notes

GENERATE -VM370

I

and the control file name is set. Then
VMFLOAD loads the CMS modules
and the nucleus is created. A final
question:
DO YOU WANT A CARD IMAGE
COPY OF THE CMS NUCLEUS
LOAD DECK AS A DISK FILERESPOND (YES/NO)
is displayed and the processing ends.
If the response is yes, the CMS
nucleus is ~Nritten on disk, and the
message
CMS NUCLEUS LOAD DECK
EXISTS ON DISK AS 'CMSNUC
NUCLEUSA1'
is displayed. If NOLOAD was specified, a copy of the CMS nucleus is
left in the virtual card reader. Otherwise, it is loaded.

6 The question

The AXS, LAX, NPT, and SML
modules are copies onto the A-disk.
The message

Then VMFLOAD builds the nucleus.

-BUILD

I

-RSCSBLD

-BLDSYS

The message
WHEN THE NEW RSCS SYSTEM IS
BUILT,ISSUE: 'CLOSE PRT' ...
(PRINTS THE LOAD MAP)
is displayed, the virtual card reader is
!PLed, and processing ends

-DMS

GENERATE -RSCS

DO YOU WISH TO BUI LD RSrS
SYSTEM - RESPOND (YES/NO)
is displayed. If the user replies "yes",
he is prompted:
ENTER RSCS SYSTEM DISK LINK
PARAMETERS:
USERID VADDR1 VADDR2
The disk the user specifies is linked to
and accessed as the A-disk.

Diagram 7-14.

GENERATE -CMS

I

Ref

Label

TRANSFERRING 'RSCS' DISK
RESIDENT TEXT ...
is displayed.

-NUCLEUS

5 The load list name is set to CMSLOAD

Module

I

117

I-'pcs

The message
GENERATE
*** IPCS SYSTEM BUILD ***
-IPCSRP
;;H IS THE CURRENT A-DISK TO BE
THE IPCS A-DISK?
RESPOND (YES/NO):
is displayed. If the user replies "yes",
-IPCSYES
the IPCS modules are loaded from
tape onto the A-disk.
If the user replies "no", he is prompted:
ENTER IPCS USERID
ENTER IPCS A-DISK ADDRESS,
LINK ADDRESS, AND WRITE
PASSWORD

I

I

-IPCSRU
-IPCSGD

The disk the user specifies is linked to
and accessed as the A-disk, and the
IPCS modules are loaded onto it from
tape. If errors occur, error messages are
displayea.
When loading is completed, the
message
**" IPCS BUILD COMPLETE **"
is displayed and processing ends.

-I PCSYES

The GENERATE Procedure (Part 2 of 2)
Chapter 7. Procedures for Generating and Updating V8/370

145

A SABPLE DIRECTORY IS BEING PRINTED TO AID YOU.
IT SHOWS WHERE THE _IRTUAL DISKS ARE LOCATED ON 'CPV3LO'
YOU BAY USE THESE M1NIDISKS FOR OTHER VIRTUAL MICHINES,
IN PARTICULAR THE CMS SYSTE! DISK (!AINT 190) IRt
THE CP STAGING AREA DISK (!AINT 194)
IRCLUDED IN THIS DIRECTORY IS THE USERID: MIINT
·WHICH WILL BE USED FOR FUTURE SUPPORT OF THE SYStE!.
THIS USERID SHOULD BE IRCLUDED IN THE DIRECTORY IOU BUILD
FOR YOUR FLOOR USE.
** CAUTION ** IF YO~ DESTROY USER !AINT'S AREIS, IT WILL BE
NECES~ARY TO RE-BUILD THE ENTIRE SYSTE!.
A SAMPLE OF D!KSYS, D!KFCB, AND D!KSNT ASSEMBLE JRE ALSO BEING
PRINTED TO AID YOU. ~HIS SA!PLE D!KSNT IS EASED ON THE
INFORMATION INCLUDED IN THE SA!PLE D!KSYS AS WELL AS THE
EXAMPLE ALLOCATIONS FOR VMREL3 PROVIDED IN THE SYSGEN GUIDE.
A COpy OF THIS DMKSNT BODULE HAS BEEN INCLUDED IN THE CP NUCLEUS,
SUCH THAT IF ONE USES THE INCLUDED D!KSYS AND THE
SAMPLE ALLOCATIOI PROVIDED II THE SYSTEM GENERITION GUItE,
HE WILL BE ABLE TO SAVE HIS C!S SYSTE! UPON COBPLETIOR
OF THE SYSTEM GENERATION PROCEDURE. A COpy OF D!KFCB HAS BEEN
INCLUDED IN THE NUCLEUS AND NEED ROT BE RE-ASSEBELED FOR
SYSTEB GENERATION. IT HAS BEEN INCLUDED FOR THE USER WHO WOULD LIKE
TO BODIFY OR ADD TO THE EXISTING BUFFER LOAD.
BOTE: IF THE USER WISHES TO !ODIFY THE SABPLE D!KSNT AND/OR D!KFCB
HE BAY INCLUDE THE UPDATED SOURCE WITH THE SOURCE INCLUtED UNDER
THE OPTION 'GENERATE V8370', OF THE SYSTEM GENERATION PROCEDURE.
IF PRESENT, IT WILL AUTOMATICALLY BE ASSEMBLED INt INCLUDED IN THE
NEW CP NUCLEUS.
Figure 7-2. GENERATE Introductory Message

146

IB8 V8/370 Service Routines Program Logic

I .

~.

I ~

Build the VM/370 directory.

2

~

&1=DMKRI0
&1=DMKSYS
&1=DMKFCB
&1=DMKSNT
[&2=ONlY]

DMKFCB, and DMKSNT text
decks exist.

Module

If &1=VM370 or DIRECT, the
directory is built and the message

GENERATE

I

If an error occurs, the message

Label

Ref

Notes
3

·VM370
-DIRECT

THE **DIRECTORY** HAS BEEN
BUilT
is displayed. If &2=ONlY, processing
terminates.
Otherwise, processing continues with
step 2.

Assemble DMKRIO, DMKSYS,
DMKFCB, and DMKSNT.

3 Oleck that DMKR 10, DMKSYS,

Notes
1

Output

:> IProceSSing

I

.BADDRJ

The CMS STATE command is issued
to see that the DMKRIO, DMKSYS,
DMKFCB, and DMKSNT text decks
exist.

DMKRIO TEXT, DMKSYS
TEXT, DMKFCB TEXT, and
DMKSNTTEXT

Module

Label

Ref

GENERATE -lPEND

I

CORRECT THE DIRECTORY CARDS
AND RELOAD THE CARD
READER
RESPOND WITH: GENERATE
DIRECT
is displayed and processing terminates.

2

The DMKRIO, DMKSYS, DMKFCB,
and DMKSNT modules are assembled
using the VMFASM procedure. If
&2=ONl Y, processing terminates.
Otherwise, processing continues with
Step 3.
If an error occurs, the message

GENERATE

-RUN

-ASMERR

CORRECT THE [DMKRIO/DMKSYS/
DMKFCB/DMKSNTj FilE AND
RELOAD THE CARD READER
RESPOND WITH: GENERATE
[DMKRIO/DMKSYS/DMKFCBI
DMKSNT)
is displayed and the processing stops.

Diagra. 7-15.

Generating a CP Syste. (Part 1 of 2)
Chapter 7. Procedures for Generating and Opdating YB/370

1q7

Input

Processing

l

&l=CP
&2=NUCLEUS
[&3=NOLOAD

1

______ )

Output

4 Build a new CP nucleus.

--I

o
CP Nucleus

Module

Notes

4 The load list name is set to CPLOAD

Label

GENERATE -CP

and the control file &CTL is set. The
message
VIRTUAL=REAL OPTION REQUIRED (YES, NO!:
is displayed. If you respond yes, the
message
STORAGE SIZE OF VIRT=REAL

is displayed. If you enter a storage size
that is not a mUltiple of 4K, the
message
** SIZE ROUNDED UP TO NEXT
HIGHER 4K BOUNDARY **
is displayed. The messages
STORAGE SIZE FOR VIRTUAL=
REALnnnnK
IS THE ABOVE ENTRY CORRECT
(YES, NO):
are displayed. If you respond no, the
process is repeated. If you respond
yes, the value of the storage size is set
in the DMKSLC TEXT file. If an
error occurs, the message
ERROR WHILE WRITING "DMKSLC
TEXT" FILE
is displayed, and the system will be
built without a virtual=real area.
Otherwise, the load list name is set to
VRLOAD.
The VMF LOAD program is invoked
to load the modules and the CP
nucleus is then written on tape.
The message
!f..~~~*LE NUCLEUS NOW ON TAPE

is displayed. If the CP system was
built without a virtual=real area, the
message
WHEN 'NUCLEUS LOADED ON
xxxxxx' IS TYPED, ISSUE 'CLOSE

Diagram 7-15.
148

Ref

Module

Notes
PRT' TO GET THE CPLOAD MAP.
WHEN PRINTING IS COMPLETE,
SHUTDOWN THE SYSTEM AND
IPL THE NEW SYSRES VOLUME.
is displayed on the terminal. If
&3=NOLOAD, the tape is not loaded.
Otherwise the tape containing the CP
nucleus is loaded. Processing ends.
If the CP system does contain a virtual=
real area, however, the tape containing
the CP nucleus is not loaded, and the
following message is displayed:
TO LOAD THE CP NUCLEUS JUST
CREATED, SHUTDOWN THE SYSTEM
ANDTHENIPLTHETAPE. THE
CPLOAD MAP WILL AUTOMATICALLY BE PRINTED AT THE PRINTER
WHOSE ADDRESS IS 'OOE'. IF
THERE IS NO PRINTER AT THIS
ADDRESS THE LOAD MAP WILL BE
PRINTED AT THE FIRST PRINTER
CAUSING AN INTERRUPT, (IE. NOT
READY TO READY SEQUENCE).
ONCE THE NUCLEUS HAS BEEN
LOADED, YOU MAY IPL YOUR
NEW CP SYSTEM RESIDENCE
VOLUME.
NOTE: THERE MUST BE ENOUGH
STORAGE ON THE SYSTEM
(VIRTUAL OR REAL!, TO CONTAIN
THE VIRT=REAL AREA AND THE
CP NUCLEUS.

-BUILD

Label

Processing ends.
If an error occurs while writing the CP
nucleus to tape, one or more of the
following messages appears:
TAPE (182) - NOT READY OR NOT
ATTACHED
HIT RETURN WHEN READY OR
'EXIT':
ERROR BUILDING xxxxxxxx
NUCLEUS.
ERROR WRITING CP NUCLEUS TO
TAPE.

Generating a CP System (Part 2 of

IBM VM/370 Service Routines Prograa Logic

~)

-REALlPL

Ref

Program Organization
Tbe fM/370 procedures for generating and
updating VM/370 consist
of three EXEC
procedures (VMFASM, VMFMAC, and GENERATE)
and three modules (VMFDATE, DMSUPD, and
VMFLOAD).
The Assembler language update procedure
consists of the VMFASM EXEC procedure and
two modules
(VMFDATE and DMSUPD).
The
VMFASM EXEC procedure sets up for the
assembly by calling DMSUPD to create the
update control file. There is an entry in
the VMCNTRL file for each update control
and auxiliary update file.
The VMCNTRL
identifies the updates
applied to the
original assembler program and the date and
time they were applied.
The Assembler language update procedure
calls the VMFDATE program.
The MACLIBs
needed are then included in the VMCNTRL
file.
The nucleus loader procedure consists of
a program (VMFLOAD) and an EXEC procedure.
Although the DMSUPD update program is not
used, the centrol file that it creates may
te used.
The LOADER EXEC procedure lists

the nucleus modules in the order they are
to be loaded.
The
list includes the
filename of each module and may opticnally
include the update level.
If the update
level is not specified, the control file
created 1:y DMSUPD is used te locate the
highest level update available, and that
level of the module is leaded.
When nucleus modules are updated and
loaded, it is often necessary to create a
new macro library. ThE level of macro
lil:rary needed for each updated module is
recorded in the VMCNTRL file created by the
VMFrATE module. The VMFMAC EXEC procedure
creates a new macro library.
The GENERATE EXEC prccedure reassembles
the DMKRIO, DMKSYS, Dl8FCB, and DMKSNT
modules by using the V~FlSM EXEC procedure.
It loads the CP, CMS, or RSCS.nucleus using
the VMFLOAD program. In addition, it can
build a new VM/370 directory, punch the
standalone service programs, or make a
self-relocating
copy
of
the
service
programs, or load the IPCS modules from
tape onto the IPCS A-disk.

Chapter 7. Procedures for Generating and updating VM/370

149

Directory
Four
label directories
are
provided.
Figure 7-3 is the label directory for the
Assembler update function, including labels
from:
•

The VftFASM EXEC procedure.

•

The DMSUPD update program.

•

The VMFDATE control file program.

150

Figure 7-4 is the label directory
the nucleus load program, VBFLOAD.

for

Figure 7-5 is the label directory for
the VMFMAC EXEC procedure, which creates
and updates the macro library.
Figure 7-6 is the label directory for
the GENERATE EXEC procedure, which creates
new service program decks, builds a new CP,
eMS, or RSCS nucleus, or loads the IPCS
.odules fro. tape onto tbe IPCS A-disk.

IBM VM/370 Service Routines program Logic

ASSEMBLE UPDATE PROCEDURE

-----------------------------------------------------------------------------------------,
Module
Label

or
Procedure

-ASMP
AUXFINT

VMFASM
DMSUPD

7-3
7-7

AUXREAD
BADAUXC

DMSUPD
DMSUPD

7-7
7-7

BADCTLC

DMSUPD

7-7

-COMB

VMFASM

7-3

CORBUST
CTLDONE

DMSUPD
DMSUPD

7-10

CTLGETM
CTLGOT1
CTLIPTF
CTLMULT

DMSUPD
DMSUPD
DMSUPD
DMSUPD

Diagrall

7-7
7-7

7-7
7-7

7-5

Description
Assu.es default options for Assembler.
Closes the auxiliary file when it is
co.pletely processed.
Reads auxiliary file fro. the botto. up.
Processing when invalid card found in
auxiliary file ..
Abnormally terminates when an invalid
control card is encountered.
Saves the new text file, original lSSE~BLE
file, and UPDTxxxx files.
Insufficient storage to complete update.
Closes the control file once it is
processed.
Searches for first control card.
Checks that auxiliary file exists.
Checks that P1F file exists.
Multiple update processing~

7-7

CTLOCUP
CTLREAD

DMSUPD
DMSUPD

7-7

CTLUMSG
CTLUMSS
DELTINE
DMSUPD
-DTF
ERMACS

DMSUPD
DMSUPD
DMSUPD
DMSUPD
VMFASM
DMSUPD

7-7

ERSC

DMSUPD

7-6

EXCESIV

DMSUPD

7-6

-EXIT

VMFASM

7-3

FCTDELT
FCTINST

DMSUPD
DMSUPD

7-9
7-9
7-10

FCTREPL

DMSUPD

7-10

FCTRSEQ
-FUPD

DMSUPD
VMFASM

7-9
7-2

IMPLICIT
INSEQW

DMSUPD
DMSUPD

INSLOOP
INVCHAR

DMSUPD
DMSUPD

7-7

7-7
7-9
7-6

7-3
7-7

Checks that update file exists.
Reads the control file fro. the bottom
up .•
Updates the UPtATES file.
Issues the short update message.
Deletes cards from the source file.
Entry to update program.
Stacks control file in printer.
Processing when MACS card invalid or
missing.
Processing when STK option specified without
CTL option.
Error exit when too many parameters are
specified.
Erases intermediate files and returnsto

cas.

Checks the delete control card for validity.
Checks the validity of the insert centrol
card.
Checks the validity of the replace contrel
card.
Checks the resequence control card.
Assembles the updated program.

7-3
7-8
7-10

7-10
7-9

Update processing will be done using disk.
processing when sequence errors occur in
input file.
Inserts cards from the source file.
Processing for invalid character in
sequence field.

Figure 7-3. The Assembler Update procedure Label tirectory (Part 1 of 2)

Chapter 7. Procedures for Generating and Dpdating VM/370

151

,
Label

ftodule
or
Procedure

IN'OPTN

D8SUPD

7-6

IN'UPCD

DftSUPD

7-10

LOCTUPD
NOERASE
NOFILE

DftSUPD
DftSUPD
DftSUPD

7-5
7-5
7-5

NOFILEW
NOFBA8E
NOUPDATS

DftSUPD
D8SUPD
DftSUPD

7-7
7-6

OPTCONF

DftSUPD

7-6

OPTDUP

DMSUPD

7-6

PROCESS

DftSUPD

7-5

RETRD

DftSUPD

7-11

RETR001

DftSUPD

7-11

RETURN

D8SU,PD

RSEQDEF
RSEQERR
RSEQFIN
SINGUPD

D!!SUPD
DftSUPD
DftSUPD
DftSUPD

7-9
1-9
7-9
7-5
7-9

SfULLCOR
-STCTL
-STSYS
TEST
UPDREAD
UPDSERR
V8FDATE
WOlF
WRETURN
XDELE
XWRITE
ZERSEQ

D!!SUPD
'ftFAS!!
'ftPASft
'ftPDATE
D!!SUPD
DftSUPD
'8FDATE
DMSUPD
DftSUPD
DftSUPD
D!!SUPD
D8SUPD

1-8
7-2
7-2
7-4

Description

7-5

1-9

7-10
7-4
1-10
7-5
1-9

7-10
7-9

Error exit when an unrecognizable o~ticn is
encountered.
Processing for invalid update file control
card.
Checks that a single update f~le exists.
Checks that the control file exists.
processing when the source input file is
not found.
Processing when PTF file not found.
Error exit when no operands were entered.
Abnormally terminates when update file
specified but not found.
Abnormally terminates when conflicting
options specified.
Abnormally terminates when the saae oFt ion
is specified more than once.
Checks if the update and source input
files already exist.
Creates disk output file from the in-storage
updated file.
Closes and renames the created output disk
file.
Checks RETCot! for indication of warning
messages.
Sets the sequencing to 5 or 8 characters.
Issues D!SUPD1S4W message.
Sets up for resequencing.
Applies a single update.
Insufficient storage to begin update.
Checks for CNTRL file.
Checks for the ASS!ftBLE file.
Checks for the input file.
Reads control cards.
Issues DftSUPD1S6W message.
Creates the UPEATES file.
Issues DftSUPD176W message.
Issues DftSUPD171I message.
Deletes line from storage.
Inserts line into storage.
Issues DftSUPD182W message.

igure 7-3. The Assembler Update Procedure Label

152

IBM VM/370 Service Routines Program Logic

tirect~ry

(Part 2 of 2)

VMPLOAD PROGRAM
--------------~====~~-----------------------------------------------------------------,

Label

Module
or
Procedure

BDCTR

VMPLOAD

7-12

DINITA
DINITB
DINITD
ENDL
PNDM

VMPLOAD
VMPLOAD
iMPLOAD
VMPLOAD
VMPLOAD

7-12
7-12
7-12
7-12
7-12

NOCTR
NOPILE
NOLDL

VMPLOAD
iMPLOAD
VMPLOAD

7-12
7-12
7-12

RDCTR
RETERR
SRTXT

VMPLOAD
i!!PLOAD
VMPLOAD

7-12
7-12
7-12

VMFLOAD

iMPLOAD

7-12

Diagram

Description
Error exit when error occurs While
reading control file.
Reads the MACS record froll control file.
Punches text files.
Punches the highest level update available.
Closes punch and returns to CMS.
Searches for file specified in control
file.
Error exit when control file not found.
Skips the files that are not found.
Error exit when loadlist EXEC procedure is
not found.
Reads the control file.
Exits to CMS.
Punches the TEXT file if update level is
not found.
Entry for load list program.

Pigure 7-4. The VMPLOAD Program Label Directory

VMFMAC PROCEDURE

Label

Module
or
Procedure

-AREAD

iMFMAC

7-13

~""'''I
-A~~P

•
-ERR2

Y!F!AC
iMFMAC

1-13
7-13

-!UCUP

VHFHiC

7-13

-RENEWCO
-STCTL
-STKL
-UPDERR

iMFMAC
iMFMAC
iMFlUC
iMFMAC

7-13
7-13
7-13
7-13

Figure 7-5.

Diagrall

Description
Checks that each macro or copy file listed in the
'maclibname EXEC' file exists.
Checks that the 'maclibname EXEC' file exists.
Prints error message if entire update prccedure
is not successful.
Updates the macro or copy files and puts them in
the new macro library.
Renames existing NEW!AC COPY and JEW!IC MICLIB files.
Checks that the 'cntrlnalle CNTRL' file exists.
Prints the control file.
Prints error message if error occurs during
updating.

The iMFMAC Procedure Label Directory

Chapter 7. Procedures for Generating and Updating V8/370

153

GENERATE PROCEDURE

La1::el

Module
or
Procedure

Diagram

-ASMERR

GENERATE

7-15

-BADDRCT

GENERATE

7-15

-BLDSYS

GENERATE

7-14

-BUILD

GENERATE

-CMS

GENERATE

7-14
7-15
7-14

-CP

GENERATE

7-15

-DIRECT
-DMS
-IPCS
-IPCSRP
-IPCSRlJ
-IPCSGD
-IPCSYES

GENERATE
GENERATE
GENERATE

7-15
7-14
7-14

GENERATE
GENERATE
GENERATE

7-14
7-14
7-14

-IPLGEN

GENERATE

7-14

-LPEND

GENERATE

7-15

-NUCLElJS
-RSCS
-RSCSBLD
-RUN

GENERATE
GENERATE
GENERATE
GENERATE

7-14
7-14
7-14
7-15

-SRVC
-VM370

GENERATE
GENERATE

7-14
7-14
7-15

Description
Sends an error message and exits whEn an error is
encountered while assembling DMKRIO, DeKSYS, DMKFCEI
or DMKSNT.
Sends an error message and exits whEn an error
is encountered while building the directory.
Invokes the VMFLOAI program to tuild the RSCS
nucleus.
Invokes the VMFLOAt Frograa.
Sets the correct load list and control file for the
CMS nucleus load.
Sets the correct load list and control file for the
CP nucleus load. Sets up virtual=real area if
desired.
Builds the VM/370 directory.
Saves a copy of the CMS nucleus on disk.
Prompts the user to verify that the current A-disk
is to be used as the IPCS A-disk.
Prompts the user for the IPCS userid.
Prompts the user for the IPCS A-disk link parameters.
Loads the IPCS Bodules from tape onto the IPCS
A-disk.
Creates a standalone copy of one or all cf the
service programs.
Checks whether the tMKRIO, DMKFCB, DMKSYS,
or DMKSBT TEX~ decks exist.
Builds a new CP or CMS nucleus.
Prompts the user to tuild the RSCS system.
Writes the RSCS text decks on disk.
Assembles the tMKRIO, DMKSYS, DMKFCE,
and DMKSNT decks.
Punches the standalone service programs.
Main processing routine for building new CP modules
or VM/370 directory.

Figure 7-6. The GENERATE Procedure Label Directory

154

IBM VM/370 Service Routines Program Logic

Diagnostic Aids
The following figures list all the .essages
issued by the aodules and EXEC procedures
that create and update the V8/370 syste ••
Figure 7-7 lists all the .essages issued by
the Y8FAS8 EXEC procedure, Figure 7-8 lists
the aessages issued by the D8SUPD .odule,
Figure 7-9 lists the messages issued by the

V8FLOAt program, Figure 7-10 lists the
aessages issued by the V!F8AC procedure,
and Figure 7-11 lists the messages issued
by the G!NERlTE procedure.
The label cf
the issuing routine and the diagram (if
any) describing that routine are included.

V8FlSH PROCEDURE

,
Label

Diagram

Message Text

-FUPD

7-3

***ERROR UPDlTING filename***

-lSHP

7-3

15MBLIIG filename (options .... )

-DTF

7-3

***ERROR 15MBLING filenaae***

-DTF

7-3

***NO TEXT FOR filename***

-COMB

7-3

filename

{TEXT
}
TXTxxxxx CREATEt

Figure 7-7. VMFlSM Messages

Chapter 7. Procedures for Generating and Updating V8/370

155

DMSUPD PROGRAM

Message
Code

Label

Diagram

DMSUPD001E
DMSUPD002E
DMSUPD003E
DMSUPD007E

NOFNAME
NOFILE
IN'OPTN
FMTERR

7-6
7-5
7-6

DMSUPD010W

INPFERR

DMSUPD024E

DMSUPD048E
DMSUPD065E
DMSUPD066E

PROCESS
ERCMSUT
PROCESS
ERRW
BADMODE
OPTDUP
OPTCONF

DMSUPD069E
DMSUPD070E
DMSUPD104S

NOTACCER
EICESI'
INPERR

DMSUPD037E

DMSUPD105S 10UTERR
DMSUPD174W IINSLOOP
IPASSW
DMSUPD176W IWO'F
I
DMSUPD1771 I WRETURN
I

Return
Code or
Severity

Message Text

7-5

24

NC FILENAME SPECIFIED
FILE 'fn ft fm' NOT FOUNt
IN'ALlt OPTION 'option'
FILE 'fn ft fm' NOT FIlED, 80 CHAR.
RECORDS
PREMATURE EOF ON FILE 'fn ft fa'
--SEQ NUMBER , •••••••• , NCT FCUND
FILE 'UPDATE CMSUT1 fm' ALREADY EXISTS

7-5

36

DISK 'A' IS READ/ONLY

7-6
7-6

24
24
24

7-6

32
24
100

IN'ALlt MODE '.ode'
'option' OPTICN SPECIFIED TWICE
'option' AND 'option' ARE CCNFLICTING
OP'IIONS
DISK 'A' NOT ACCESSED
INVALID PARAMETER 'para.'
ERROR Inn' READING FILE 'fn ft f.'
FROM DISK
ERROR Inn' WRITING FILE 'fn ft fm' ON DISK
SEQUENCE ERROR INTRODUCED IN OUTPUT FILE:
'xxx' TO 'xxx'
SEQUENCING OVERFLOW FOLLCWING SEQUENCE
NUMEER 'xxx'
WARNING M!SSAGES ISSUED (SEVERITY = nn).
<'REP' OPTION IGNORED)
UPtATING 'fn ft fa' WITH 'fn ft f.'
MISSING OR DUPLICATE 'MACS' CARD IN
CONTROL FILE 'fn ft fm'
MISSING PTF FILE 'fn ft fa'
NO UPDATE FILES WERE FOUID
SEQUENCE INCREMENT IS ZERO
INVALID {CONTROL I AUX} FILE CeNTROL
CARD
'./S' NOT FIRST CARD IN UPDATE FILE-IGNORED
INVALID CEAR IN SEQUENCE FIELD 'xxxxxx'
SEQUENCE NUMBER 'xxx' NOT FCUND
OP'IION 'S'IK' INVALID WITHOUT 'CTL'
INVALID UPDATE FILE CONTECL CARD

24
28
24
32
12

100
7-10

8

7-10

8

7-5

DMSUPD1781 ICTLUMSG
DMSUPD179E IERMACS
I
DMSUPD180W NOFILEW
DMSUPD181E NOUPDATS
DMSUPD182W ZERSEQ
DMSUPD183E BADCTLC
BADAUXC
DMSUPD184W RSEQERR

7-7
7-7

DMSUPD185W
DMSUPD186W
DMSUPD187E
DMSUPD208W

32
12
40

7-7
7-5
7-9
7-7

32

7-9

12

7-9
7-10
7-6
7-9
7-10
7-10

12
12
24
12

DMSUPD210W

IN'CHAR
UPDSERR
ERSC
UPDREAD
IN'UPCD
INSEQW

DMSUPD299E
DMSUPD300E
DMSUPD3041

CORBUST
SMALLCOR
IMPLICIT

7-10
7-7
7-7

40
40

8

4

INPUT FIL! SEQUENCE ERROR: 'xxx'
TO 'xxx'
IN5UFFICI!NT STORAGE TO COMPLETE UPDATE
IN5UFFICI!NT STORAGE TO EEGIN UPDATE
UPIATE PROCESSING WILL BE DCNE USING
DISK.

Figure 7-8. DMSUPD Messages

156

IBM VM/370 Service Routines Program Logic

VMFLOAD PROGRAM
.-

Label

Diagram

Message Text

NOFILE

7-12

filename filetype NOT FOUND

BDCTR

7-12

ERROR IN CONTROL FILE

NOCTR

7-12

NO CONTROL FILE

NOLDL

7-12

NO LOAD LIST

ENDL

7-12

SYSTEM LOAD DECK COMPLETE

Figure 7-9. VMFLOAD Messages

VMFMAC PROCEDURE

Label

Diagram

Message Text

-ASGN

7-13

*** maclibnaae EXEC NOT FOUND ***

-STCTL

7-13

*** cntrlname CNTRL N01 FOUND ***

-AREAD

7-13

*** filename COpy OR MICRO BOT FOUND ***

-UPDERR

7-13

*** ERRORS UPDATING aembernaae aeabertype ***
meabername aembertype ROT INCLUDED IR !ACLIB

-ERR2
Figure 7-10.

7-13

DUE TO PREVIOUS ERRORS, THE R!SULT OF THIS MICLIB BUILD IS
.CALLED 'BEiMAC MACLIB', libname MACLIB HAS ReT BEEN REPLACEDI

VMFMAC Messages

Chapter 7. Procedures for Generating and Updating VM/370

157

Label

Diagra.

Bessage Text

7-14

GENERATE xxxxxxXX--INVALID OPER1ND.

-NUCLEUS

7-14

NUCLEUS OPTION -- (CPICBS) NOT SPECIFIED.

-SRVC

7-14

THE FOLLOIING ST1NDALONE SERVICE PROGR1!S ARE BEING PUICHED
•• PORB1T - DIRECT - DUftP/RESTORE - IBCD1SDI ••

7-14

PUNCHING 'IPL FBT' ••••••

7-14

PUNCHING 'IPL DIR' ••••••

7-14

PUNCHING 'IPL DDR' ••••••

7-14

PUNCHING 'IPL IBCDASDI' ••••••

7-14

PRINT COpy OF RELE1SE2 EIRECT? -- RESPOND (YESIIO)

7-14

1 SABPLE DIRECTORY IS ElING PRINTED TO lID YCU ••••

7-14

DO YOU IISH TO HIVE 1 COPY OF DBKSNT, DBKSYS, DBKFCB and
RELE1SE2 DIRECT PUNCHEE TO C1RDS? -- RESPOND (YESIIO)

7-14

PUNCHING 'D!KSYS lSSEBELE' ••••••

7-14

PUNCHING 'D!KSNT ASSEBELE' ••••••

7-14

PUNCHING 'D!KFCB ASSEBELE' ••••••

7-14

PUNCHING RELEASE2 DIRECT ••••••

7-14

ENTER THOSE DECKS TO EE GENER1TED (DDRIDIRIFBTI1LL):
ENTER T1RGET DISK ADDRESS:

7-14

IPL 'DDR A1'

CREATEE

7-14

IPL 'DIR A1'

CREATEE

1-14

IPL 'FBT A1'

CREATEE

1-14

xxxxxxxx -- INVALID OPERAND

1-14

ERROR WRITING OR BUILEING 'IPL xxx A'.

7-14

ERROR ON ACCESS OF DISK (xxxxxxxx)

-IPLGEI

DISK A (xxxxxx)

REAI OILY

1-14

DO YOU IANT A C1RD IBAGE OF TEE NUCLEUS LOAD DECK
AS A DISK FILE -- RESPOND (YESIIO)

7-14

CBS NUCLEUS LOAD DECK EXISTS ON DISK AS 'CBSIUC NUCLEUS A1'.

-RSCS

1-14

DO YOU IISH TO BUILD

-RSCSBLD

1-14

ENTER RSCS SYSTE! DISK LINK PARABETERS:
USERID VADDR1 VADDR2

7-14

BISSING PARABETERS -- RE-ENTER

-DBS

R~CS

SYSiEB -- RESPOND (YESlle)

ERROR LIIKING TO userid vaddr1 AS vaddr2

158

IB! V8/370 Service Routines Progra. Logic

Diagram

Label

Bessage Text

7-14

TRANSFERRING 'RSCS' DISK RESItENT TEXT

1-14

WHEN THE NEW RSCS SYSTEM IS BUILT, ISSUE:
'CLOSE PRT1 ••• (PRINTS THE LOAI MAP)

1-14

*** ERROR READING RSCS TAPE OR WRITING TO DISK 194 ***

1-14

ERROR TRANSFERRING RSCS DISK RESIDENT TEXT FILE.

-ERRSYS

1-14

*** ERROR CREATING THE RSCS NUCLEUS ***

-ERRACC

1-14

ERROR ACCESSING SPECIFIED DISK

-IPCS

1-14

*** IPCS SYSTEM BUILD ***
*** IS THE CURRENT A-DISK TO BE THE IPCS A-DISK?
REMEMBER THE SYSOPR HACRO IN IMKSYS MUST SPECIFY THE
IPCS USERID IN SYSDUMP=USERID. THIS USERID'S A-DISK
BUST BE USED FOR THE IPCS BUILD.

-IPCSRP

7-14

RESPOND (YES OR NO) :

-IPCSRU

7-14

ENTER IPCS USERID

-IPCSGD

1-14

ENTER IPCS A-DISK ADDRESS, LINK ADDRESS, AND
WRITE PASSWORD

-IPCSYESI

1-14

*** IPCS BUILD COMPLETE ***

-IPCSTE

1-14

*** ERROR LOADING IPCS MODULES FROH TAPE

-IPCSLE
-DIRECT

1-14
7-15

*** ERROR LINKING userid vaddr
THE **DIRECTORY** HAS EEEN BUILT

-BADDRCT

1-15

CORRECT THE DIRECTORY CARDS AND RELOAD THE CARD REIDER
RESPOND WITH : GENERATE DIRECT

-ASBERR

1-15

CORRECT THE {DMKRIOIDMKSYSIDMKFCBIDMKSNT} ASSEMELE FILE
AND RELOAD THB CARD REIDER RESPOND WITH
GENERATE
{DMKRIOIDBKSYSIDMKFCBltMKSNT}

-cp

7-15

VIRTUAL=REAL OPTION REQUIRED (YES,!O):

7-15

STORAGE SIZE OF VIRTLREIL :

7-15

** SIZE ROUNDED TO NEXT HIGHER 4K BOUNDARY **

7-15

STORAGE SIZE FOR VIRTUALLREAL nnnnK

1-15

IS THE ABOVE ENTRY CORRECT (YES,NO):

1-15

ERROR WHILE WRITING "DMKSLC TEXT" FILE

-BLDSYS
-ERR TAP
-ERRTRANS

I
I
I
I
I
I

Figure 7-11.

GENERATE Messages (Part 2 of

.~

Chapter 1. Procedures for Generating and Updating '8/370

159

I

Label

Diagram

Message Text

I

------------------------------------------------------------------------------------1
-BUILD
7-15
IPLABLE NUCLEUS NOW ON TAPE ****
I
WHEN 'NUCLEUS LOADED ON xxxxxx' IS TYPED, ISSUE 'CLOSE PRT', I
TO GET THE CPLOAD MAP. WHEN PRINTING IS COMPLETE, SHUTDOWN THE
SYSTEM AND IPL THE NEW SYSRES VOLUME.

-REALIPL

Figure 7-11.

160

7-15

TAPE (18~ -- NOT READY OR NOT ATTACHED
HIT RETURN WHEN READY OR 'EXIT':

7-15

ERROR BUILDING xxxxxxxx NUCLEUS

7-15

ERROR WRITING CP NUCLEUS TO TAPE

7-15

TO LOAD THE CP NUCLEUS JUST CREATED, SHUTDOWN THE SYSTEM AND
THEN IPL THE TAPE. THE CPLOAD MAP WILL AUTOMATICALLY BE
PRINTED AT'THE PRINTER WHOSE ADDRESS IS 'OOE'. IF THERE IS
NO PRINTER AT THIS ADDRESS THE LOAD MAP WILL BE PRINTED AT
THE FIRST PRINTER CAUSING AN INTERRUPT, (IE. NeT-BEADY TO
READY SEQUENCE). ONCE THE NUCLEUS HAS BEEN LeADED, YOU MAY
IPL YOUR NEW CP SYSTEM RESIDENCE VOLUME.
NOTE: THERE MUST BE ENOUGH STORAGE ON THE SYSTEM (VIRTUAL OR
REAL), TO CONTAIN THE VIRT=REAL AREA AND THE CP NUCLEUS.

GENERATE Messages (Part 3 of 3)

IBM VMj370 Service Routines Program Logic

Code

DMKLDOOE (LOADER) PROGRAM

64

If the loader terminates,
following wait conditions is
the instruction counter:

one of the
indicated in

65
66

Code
1'111111'
X'222222'
X' 999999'

X'BBBBBB'
X'CCCCCC'
X'FFFFFF'

!1!anij!g
A program check occurred.
1 unit check occurred while the
bootstrap routine was reading
in the loader.
An SVC was issued.
A machine check occurred.
An I/O error occurred on the
card reader:
An I/O error occurred for the
console (X'OO' contains the
message UBRECOVERABLE ERROR),
or the
control card
for
changing
the default
I/O
addresses for the printer or
terminal is invalid (X'OO'
contains
the message
BAD
DEVICE CARD or INVALID DEVICE
SPECIFIED).

61

68

65

61
6E

6C
6I

LOADER WAIT STATE CODES
If
the
instruction
counter
contains
X'999999', indicating an SVC wait state,
examine the interruption code (the third
and fourth bytes of the supervisor old
PSi).
The interruption codes (shown in
hexadecimal) have the following meanings:

Meaning
An error occurred during conversion
of a value from hexadecimal to
binary format.
There is no
aore free storage
available for the loader.
A duplicate type 1 ESD (External
Symbol Dictionary) entry has been
encountered.
The "name" in
the LDT (Loader
Terminate)
statement
is
undefined.
The control section named in the
les (Include centrol Section)
statement was not fcund by end of
file.
The loader attempted to add another
entry to the reference table,
which would have caused the table
to overflow.
The object modules being loaded are
about to overlay the loader.
The object modules being loaded are
about to
overlay an
address
between zero and laO.
1 permanent
errcr occurred in the
input device.
The loader is trying to release
storage
that
is not
cn
a
doubleword boundary.

For further explanations cf these wait
state
conditions and
the
recommended
operator action to correct thea, see !!L170
~I2tem

Me22A9~2.

Chapter 7. Procedures for Generating and Cpdating V!/310

161

162

IB~

V~/370

Service Routines Proqraa Logic

Chapter 8. The VM/370 Starter System

Introduction
The
Starter
System
Progra.
(DMKSSP)
redefines the real configuration according
to the operator's specifications.
the DMKSAV .odule reads a copy of the
Normally, VM/370 i~ loaded fro. disk CP
nucleus into real storage and then calls
DMKCPI to perfor. the initialization tasks
(such as initializing storage, mounting
devicEs, and so
on).
However, during
system generation,
the VM/370
starter
system is loaded from the starter syste.
tape.
When VM/310 is loaded fro. the
starter system tape, the DMKSAV .odule
reads a copy of the starter system nucleus

into real storage and calls D!KSSP to give
the operator the opportunity to redefine
the devices necessary to continue with
syste. generation. When D!KSSP is through
with its processing. it calls D!KCPI to
continue the initialization process.
DMKSSP is an interactive program. The
operator must signal attention to define a
console at an address other than 009 or
011.
Then,
the operator
responds to
questions displayed at the terminal to
redefine the printer, punch, reader, tape
and disk devices.

Chapter 8: The VM/370 Starter System

163

Method of Operation
This section describes those functions that
are perfor.ed by the DftKSSP progra.. There

164

is only one .ethod of operation diagra. and
that is Diagra. 8-1.

IBft VM/370 Service Routines Program Logic

Processing

Input

X'002'

-,-____--,:>
:>

II

RCHBLOK

GR6

I~
RCUBLOK

GR7

II I

I

I~I
RDEVBLOK

GR8

I

i

1.....1

I

2

LF
II

Initialize DMKSSP processing.

Find the console.

:>

3 Define the system.

IRDEVBLOKS!

I

------,

4 Go to DiviKCPi.

Tlbl
I .

I

I

IRCHBLOKs I

IRCUBLOKS

GR10
!PL device
address

~
IDMKCPI

Module

Label

Registers 11 and 12 are set up as base
registers. The new I/O PSW, new mach·
ine check PSW, and new program check
PSW are set up and all interrupts are
disabled.

DMKSSP

IDMKSSP011

2 If the console address is valid, DMKSSP

DMKSSP

Notes

11

Ref

I

HDRMSG

*** DO YOU WISH TO REDEFINE
YOUR SYSTEM *** (YES, NO):

REDEFINE

DM KSSP displays

BKUPLAB

ENTER ADDRESS WHERE SCRATCH
TAPE IS MOUNTED (cuu):
ENTER DEVICE TYPE (2401,2415,
2420, 3420) :
DMKSSP

and builds the tape real control blocks
according to the operator's response.

MAINLINE

pointers are cleared and the system
residence device is set up.

I II

FINDCONS

and builds the disk real control blocks
according to the operator's response.

VM/370 STARTER SYSTEM VERSION
n.n

HDRMSG

DM KSSP then asks the operator to
verify the configuration by displaying

DMKSSP prompts the operator to
reconfigure the system. DMKSSP
displays

PRTLAB

ENTER PRINTER ADDRESS (cuu):
ENTER DEVICE TYPE (1403,1443,
3211):
and buikls the printer real control blocks
according to the operator's response.
PCHLAB

ENTER DEVICE ADDRESS (cuu):
ENTER DEVICE TYPE (2540P, 3525):
and builds the punch real control blocks
according to the operator's response.

I

ISYSLAB

DM KSSP displays
ENTER DEVICE ADDRESS WHERE
SYSTEM RES:DENCE WILL BE BU!LT
(cuu):
ENTER DEVICE TYPE (2319,2314,
3330, 3340, 2305):

VLDCON

Diagra. 8-1.

PIDLAB

and builds the tape real control blocks
according to the operator's response.

If the response is YES, proceed by
redefining the system (see step 3). If
the response is NO, DMKSSP proces·
sing is done. Proceed to step 4.

DM KSSP displays

Ref

ENTER ADDRESS WHERE PID TAPE
IS MOUNTED (cuu):
ENTER DEVICE TYPE (2401, 2415,
2420, 3420):

VM/370 STARTER SYSTEM VERSION
n.n

DM KSSP must find the console. If the
console is not at 009 or 01 F, DM KSSP
enables for interrupts and waits until
the operator signals attention to identify
the console. The CPU model is checked
and if it is valid, DMKSSP builds the
real control blocks for the console, and
displays

Label

and builds the reader real control blocks
according to the operator's response.
DM KSSP displays

displays

3 First, a!! the control blocks and their

Module

Notes

WORKLAB

*** SYSTEM DEFINITION
COMPLETED ***
cuu PRINTER
cuu PUNCH
cuu READER
cuu PID TAPE
cuu SCRATCH TAPE
cuu NEW SYSTEM RESIDENCE
cuu SCRATCH PACK
ARE THE ABOVE ENTRIES
CORRECT (YES,NO):
If the operator responds NO, the entire
system definition process is repeated.
4 Control is transferred to DMKCPi with
the address of the IPL device in general
register 10.

DMKSSP

XPRINiT

DMKSSP--The Starter Syste.
Chapter 8. The V!/370 Starter syste.

165

Program Organization
This section describes
the DMKSSP module.

the organization of

External References

--I!KRIODV~nchor-to the first real device

IMKRIOCU
DMKSSP

IMKRIOCH
IMKRIOCN

The Starter Systea Program that allows
the operator to redefine the 1I1n1mUII
devices necessary to generate the V!/370
system.

I!KRIOPR
IMKRIOPU

!!tr.!12Y!~

IMKRIORD

~.!ltry

IMKSYSNU
JMKRIO

Nonreentrant, resident, entered via IPL.
£2ndi!!£1l§
D!KSSP001 is entered as
IPL.

the result of an

Exit Conditions
--D8KSSP--glves control
to D!KCPINT to
initialize the remainder of the system.
Register 10 must contain the IPL device
address.

£!ll to .Qther
IMKCVTHB

IMKCVTBB
IMKCPIBT

!t~.9.!§!~f

R1:
R2:
RS:
R6:
R7:
RS:
R11:
R12:

166

uS!g~
Parameter register
Paraaeter register
General BAL register
Address of RCHBLOK
Address of RCUBLOK
Address of RDEVBLOK
Base register 2
Base register 1

block
Anchor
to the
first
real
control unit block
Anchor
to the
first
real
channel l:lcck
Address of the system console
device
Address of the system printer
device
Address of the system punch
device
Address of the system reader
device
Disk address on the nucleus
Address of real I/O centrol
blocks

~g!g !~!§

IB8 V8/370 Service Routines Program Logic

Rout.!~

To convert the device address
to binary
To convert the device address
to
printable
hexadecimal
characters
To
continue
system
initialization

RCHBLOK, RCUBLOK, RDEVELCK, PSA

Directory
Figure 8-1 is an alphabetic list of the
major labels in the Starter System Program.
The associated method of operation diagram
(if
any) is
indicated
and a
brief
Diagram

Label

description of the operation performed at
the pOint in the program associated with
each label is included.

Description

ATTNHAND

8-1

Enables system for I/O interrupts.

BKUPLAB

8-1

Builds real control blocks for scratch tape.

DASDADR

8-1

Sets up device type for disk containing the starter system.

DKKSSP01

8-1

Starter system entry point called by DMKSIV.

FINDCONS

8-1

Identifies the system console.

GRAPHID

8-1

Handles the I/O for display terminals.

HDRKSG

8-1

Displays starter system header message.

MAINLINE

8-1

Builds all the real control blocks necessary.

peHtlE

8-1

Builds the real control blocks for the punch.

PIDLAB

8-1

Builds the real control blocks fer the tape drive containing the
PID (Program Information tepartment) distributien taFe.

PRTLAB

8-1

Builds the real control blocks for the printer.

RDRLAB

8-1

Builds the real control blocks fer the reader,.

READADDR

8-1

Initiates writes to and reads fro. the console to determine the
device address.

READTYPE

8-1

Initiates writes to and reads from the console to determine the
device type.

REAiRITE

8-1

Writes to and reads from the console. The REI WRITE routine is
called by both the REIDAttR and REIDTYPE routines.

REDEFINE

8-1

Asks the operator if he wants to redefine the system.

SCAN

8-1

Finds or builds the necessary real control blocks.

STARTIO

8-1

Issues the Start I/O (SIO).

SYSLAB

8-1

Builds the real control blocks fer the disk that contains the
system residence volume.

VLDCON

8-1

Checks for a valid CPU model.

iORKLIB

8-1

Asks the operator if the configuration just defined is the one he
wants.

XFRINIT

8-1

Transfers control to DKKCPI.

igure

8-1.

The Starter System (DMKSSP) Label tirectory

Chapter 8. The V8/310 Starter System

167

Diagnostic Aids
Figure 8-2 lists the messages issued by the
Starter Syste. Program.
The associated

Label

Diagram

program label and
method of operation
diagram are included in the list.

!!essage Text

BKUPLAB

8-1

ENTER ADDRESS WHERE SCRATCH TAP! IS ftOUNTED (cuu):
ENTER DEVICE TYPE (2401, 2415, 2420, 3420):

HDR!!SG

8-1

V!!/370 STARTER SYSTE!! VERSION n.n

PCHLAB

8-1

ENTER PUNCH ADDRESS (cuu):
ENTER DEVICE TYPE (2540P, 3525):

PIDLAB

8-1

ENTER ADDRESS WHERE PID TIPE IS ftOUNTED (cuu):
ENTER DEVICE TYPE (2401, 2415,2420,3420):

PRTLAB

8-1

ENTER PRINTER ADDRESS (cuu):
ENTER DEVICE TYPE (1403, 1443, 3203, 3211, 3800):

RDRLAB

8-1

ENTER READER ADDRESS (cuu):
ENTER DEVICE TYPE (2501, 2540R, 3505):

REDEFINE

8-1

***DO YOU WISH TO RE-DEFINE YOUR SYSTE! ••• (YES,le):

SYSLAB

8-1

ENTER DEVICE ADDRESS WHERE SYSTEft RESIDEICE WILL EE EUILT (cuu):
EITER DEVICE TYPE (2319, 2314, 3330, 3340, 3350, 2305):

WORKLAB

8-1

*.*SYSTEft DEFINITION COftPLETED***
cuu PRINTER
cuu PUNCH
cuu READER
cuu PID TAPE
cuu SCRATCH TAPE
cuu NEW SYSTE!! RESIDENCE
cuu SCRATCH PACK
ARE THE ABOVE ENTRIES CORRECT (YES,IO):

WNGDEV
Figure 8-2.

168

•• ERROR.* DEVICE HAS EEEN ALREADY ALLOCATED
The Starter System (DftKSSP) !!essages

IBM VM/370 Service Routines Program Logic

,

Chapter 9. The 3704/3705 Service Pr"ograms

Introduction
There are four CMS commands and tvo CP
coamands specifically for generating and
manipulating the 3704/3705 contrel program.
The CMS coa.ands are needed to generate and
save a copy of
the 3704/3705 control
program.
The CP commands allow you to
operate and aanipulate the 3704/3705 in a
manner siailar to the way other CP commands
let you operate your other virtual machine
devices.
The C8S comaands that help you generate
a 3704/3705 centrol program are: AS83705,
GEN3705, LKED, and SAVENCP. The AS83705
coamand is an interface between C8S and the
NCP/VS Release 2 and 3 Assembler (IFKAS8)
or the NCP/VS Release 4 Assembler (CWAXOO).
It accepts source statement files as input,
cbecks that the input file exists and that
the options specified are valid, calls
IFKAS8 or CWAXOO to perfora the assembly,
and produces an object deck and program
listing as output. The AS83705 command
produces the
stage 1 output
for the
3704/3705
control
program
generation
- process.
The GEN3705 command accepts the file
produced in stage 1, creates a unique
asseab1er file for each job step in the
input file, creates several unique files
containing the linkage editor statements
necessary to build the load aodule file,
and builds an EXEC aacro file of the CMS
coamands necessary to assemble and load the
3704/3705 control program. If SAVE was
specified on the command line, it saves a
copy of the control program in page-format
on a CP-owned volume.
The LKED command is an interface between
CMS and the as/'s 1 linkage editor.
The
GEN3705 co •• and processor embeds the LKED
co.mands in
the EXEC
macro file
it
produces.
The
LKED co.mand
processor
interprets the C8S comaand lines, defines
the necessary files, and links to the OS/VS
linkage editor. Two permanent files are
produced: the 'filename
LOADLIB' file,
which contains the load aodu1es, and the
'filename 1KEDIT' file, which contains the
printed output.

The SAVENCP co •• and builds the parameter
list (CCPARM) and calls D!KSNC via Diagnose
instruction X'50' to write a core image
copy of the 3704/3705 control program to a
CP-owned system volume. This copy of the
control program is loaded each time the
3704/3705 is loaded.
The CP commands that help yeu te centro1
the operation of the 3704/3705 are NCPDUMP
and NETWORK. The NCPDU!F command processor
performs several different tasks. It:

•

Erases a specific CP
dump file.

•
•
•

Formats the 3704/3705 dUllp.
Prints the 3704/3705 duap file.

•

Creates the CMS 3704/3705 dUmp file.

Issigns an
dump file.

or eMS

identifier to

3704/3105

the 3704/3705

The NETWORK command precessor provides
the support for the 3704/3705 that several
CP
commands
(ENABLE,
DISIELE,
QUERY,
DISPLAY, VARY, BALT, TRICE, and SHUTDOWN)
provide for other devices. In addition,
the NETWORK command has options that load a
na.ed
3704/3705 contrel
Frogram
into
3704/3705 storage and duap the contents of
that storage.
These co.mands are discussed in detail
in
other
putlications.
For
lore
information about the A583105, GEN3105,
LKID, and SA'ENCP comaands and a complete
description of the generation process, see
the VML11.Q Planning and system GeM.!atiSl!
Guide.
For more informaticn about the
NCPDUMP and NETWORK
COli lands,
see the
!J!L170 Operator'§ §uide.
The ZAP service program, which allows
you to update and dump existing 3704/3705
load libraries, is described in "Chapter
10. The ZAP Service Program n and in the
!J!L170 Operato!~§ Quide.

Chapter 9. The 3704/3705 Service Programs

169

Method of Operation
This section describes the CftS modules that
provide the
co ••ands to
generate the
3704/3705
control
progra.s.
Diagrams
describe the functions perforaed by each of
the co.mand processors. Figure 9-1 shows
the relationships between these diagra.s.
Diagram
9-1 describes
the
SAVENCP
co •• and, which saves an
image of the
3704/3705 control program so that it can
later be loaded.
Diagra. 9-2 shows how
CCPARft is built.

tiagrams 9-6
and 9-7
describe the
ASft3705 co.mand, which is an interface
between e!s
and the
ICP/VS Assembler
eIIKAS! or CWAXOO).
Diagram 9-8 describes the LKED co •• and,
which is an interface bEtween CftS and the
as/VS1 Linkage Editor.
Diagra.
9-9 describes
com.and, which
prints a
37C4/3705 storage.

RCPDU!!F
of the

Diagrams 9-3, 9-4, and 9-5 describe the
GEN3705 com.and, which generates a series
of commands to assemble, link edit, and
load the 3704/3705 control program.

Diagram 9-1

DMSNCP SAVENCP
Command
Processor

Diagram 9-3

DMSGRN Overview of the
GEN3705
Command Processor

Diagram 9-6

Diagram 9-7

Diagram 9-8

DMSARN ASM3705
Command
Processor

DMSARX ASM3705
Command
Processor

DMSLKD LKED Command
Processor

Diagram 9-9

DMKRND NCPDUMP
Command
Processor

I
Diagram 9-2

Diagram 9-4

Diagram 9-5

DMSNCP Building the
CCPARM List

DMSGRN Generati ng the
3705 Assembler
Files

DMSGRN Generating the
Link Edit Files

Figure 9-1.

170

Key to the 3704/3705 Service programs Bethod of Operation Diagrams

IBM VM/370 Service Routines Program Logic

CMS

r:1 '"

I~

+=[

PLiST

~I

~~~~~:Se

B

I NICBLOK
I CVT

i

RVT

Interpret and validate parameter
list.

2 Search external symbol dictionary
of input file and channel vector
table.

>

3 Load text records into virtual
storage.

LOADLIB
member

II

Processing

rFl
1/

II
II

IENTRYADR+l

i

ICHVTADR+l
Virtual
Storage

4 Build the CCPARM list (See
Diagram 9·2 for details.)

5 Save the 3704/3705 control

CCPARrv1

program image.

6 Return to CMS.

I

B

VM/370 SYSR ES

Notes
1 The filename must be specified. If a

Module
DMSNCP

library name or a member name is not
specified, the input filename is used.
If the 3704/3705 control program load
module entry point is not specified,
CXF!N!T is assumed.
An error in the parameter list results
in one of the following messages
DMSNCPOO1E NO FILENAME SPEC·
IFIED
DMSNCP002E FILE 'fn ft fm' NOT
FOUND
DMSNCPOO3E INVALID OPTION
'option'
being issued and control being returned
to CMS with return code 24 or 2B. If
no errors are encountered, the input
file is opened and a search is made for
the member. When the member is
found, it is read. If the member is not
found, the message
DMSNCP013E MEMBER xxxxxxxx
NOT FOUND IN LIBRARY
is issued and control returns to CMS
with a return code of 4.

2 The entry point for NCP or PEP is
CXFINIT. The entry point for EP is
CY ASTA RT. For either EP or PEP,
the channel vector table, CYACHVT,
CYECHVT1, or CYECHVT2 must
also be found. The entry point address
and channel vector table address are
saved.

I

Label

Ref

Notes

SAVENCP

IENDPARM~
IDOSTATE

I
I

I

Module

3 The text records are moved from the
DMSNCP
input buffer into the proper position
in the core image buffer. If the entry
point symbol has not been resolved
when the first text record is encounter·
ed, the message
DMSNCP021 E ENTRY POINT
xxxxxxxx NOT FOUND
is issued and control returns to CMS
with a return code of 40. Premature
end of file or invalid control records
cause the messages
DMSNCP056E FILE 'fn ft' CONTAINS
INVALID RECORD FORMATS
DMSNCP109E VIRTUAL STORAGE
CAPACITY EXCEEDED
to be issued and control to be returned
to CMS.

4 When the core image buffer is loaded,

DMSNCP

Label

Ref

CONTROL

r

RR2

!

RR66

LOSE

the input file is closed. The Communi·
cati on Control Parameter list (CCP AR M)
is built from the information in the
core image buffer.

5 The size of the read buffer is stored in
DMSNCP

IcESDENT
jeESDCHVT

DMSNCP

register 1 and the DIAGNOSE instruc·
tion with code X'50' is issuea to save a
copy of the 3704/3705 control program

6 The return code from the DIAGNOSE
instruction is passed to CMS and
control returns to CMS.

DMSNCP

~X1T

Diagra. 9-1. D!SRCP--S1VERCP Co •• and Processor
Chapter 9. The 3704/3705 SerYice Progra8s

111

Input

.-,N-IC-B-LO-K-"""'I

ICVT

Lr

I

Processing

Output

-:-----)

Build the CCPARM.

A. For EP and PEP control programs.
B. For NCP control programs.

2 Check that options are compatible.

IRVT

CCPARM
CCPNAME
CCPADDR
CCPSIZE
CCPENTRY
CCPTYPE

3 Check number of resources.

Notes

Module

1

Label

Notes

Module

Ref

Label

DMSNCP025E INVALID DATA IN
370X PROGRAM

DMSNCP
A. For EP and PEP control programs,
additional fields are updated
(CCPRSTYP, CCPRSTAT,
CCPRSTEP, CCPPSIZE). A channel
vector table must exist for EP
and PEP control programs. If the
CVT does not exist, the message

Ref

ICCPSTOR

SCANCEP

is issued and control returns to CMS
with a return code of 16.

DMSNCP025E INVALID DATA IN
370X PROGRAM
is issued and control returns to CMS
with return code 16.
B. Additional fields in the CCPARM
block are updated for NCP and PEP
control programs (CCPCAONE,
CCPHBFSZ,CCPHBFNO,
CCPPADO, CCPPADI, CCPMAXID,
CCPRESID,CCPRSTYP,CCPRSTAl
CCPRSTEP).

2 A check is made that the options spec-

SCANNCP

DMSNCP

CHEKVMV

ified are compatible. If they are not,
the message
DMSNCP099W GENERATION PARAMETERS INCOMPATIBLE WITH
VM/370
is issued and processing continues.

3 If there are more than 4086 resources

DMSNCP

or if the first resource is not a 3704/
3705, the message

I
Diagram 9-2. DKSNCP--Building the CCPARK List
172

IBM VM/370 Service Routines Program Logic

CMS (OMSI NT) ~P_ro_c....;e_ss_i_ng=--_ _ _ _ _ _ _ _ _-.

PLIST
....
IG_R_l_ _~~ ENTRY ADDR
FILENAME
FILETYPE
OPTIONS

We e••>
-'------->

Output

1 Initialize the GEN3705 processing. ~=====:>

IMPFSCB

OPTLIST

i RUN

Lr

R
-----I
Input file

2 Scan the input file for the //EXEC

NOSAVE

card.
A. Edit Assembler input (See
Diagram 9-4 for details.)
B. Edit Linkage Editor input
(See Diagram 9·5 for details.)

I

EXEC file

3 Write the EXEC file.

rF
Ir-O-P-TL-IS-T-----,'.

NORUN
SAVE

II:>

4 Add the SAVENCP statement to
EXEC file, if requested.

5

Close the EXEC file.

6 Execute EXEC file, if requested.

I

Notes
1

The input file name, type, and option·
ally the mode are put into INPFSCB.
The filename or the first 6 characters
of the name, whichever is the least,
is saved for naming the assembler and
linkage editor output files.

Module
DMSGRN

Label

4

The CLOST ACK routine is called to
add

FINDIEWL

DMSGRN

ISTACK30
I

DMSGRN

PROCEND2

I

I

STACK30

SAVECP filename (ENTRY entryname

OPTEND

Ref

Label
FINDASM

ated as a result of the assembler and
linkage editor input are written to an
EXEC file.

to be issued.

to the end of the EXEC file, if SAVE
was specified on the GEN3705
command.

DMSGRN,048E INVALID MODE xxx
DMSGRNOO2E FILE xxxxxxxx NOT
FOUND
The FSCBRD routine is used to read
DMSGRN
the input file. The EDITIN routine
scans for a //EXEC card containing
PGM=IFKASM or PGM=IEWL. Control
cards are scanned until a valid EXEC
card is found. If *, II, or /* does not
appear as the fi rst characters of the
input record or if an invalid //EXEC
card is read, the message

Module

The IFKASM routine processes the
assembler input and the I EWL routine
processes the linkage editor input.
After the input is processed, DMSGRN
continues by scanning the input file for
another / /EXEC card.

3 The EXEC statements that were gener-

DMSGRNOO3E INVALID OPTION
xxxxxxxx

2

Notes

START

The input options are scanned and the
appropriate options are set on. Invalid
options cause the message

The FSSTATE macro is issued to see
if the file exists. Either of the following messages is issued in case of an
error

Ref

5
PRIMEDIT

DMSGRN
The EXEC macro file is closed by
branching and linking to the PROCEND
routine.

6 If RUN was specified, the command

DMSGRN

PROCENDl

PROCENDl

EXEC ncpname
is stacked in the reader.
Control is returned to CMS.

RETURN1

I

DMSGRN078E INVALID CARD IN
INPUT FILE 'xxxxxxxxxxxxxxx'

I

is displayed.

Diagram 9-3. DMSGRN--Overview of the GEN3705 Co.mand Processor
Chapter 9. The 3104/3705 Service Programs

173

Processing

Input

Output

DUMMYFCB

:>

DUMMY

1

Initialize the output FSCB.

OUTFSCB

DUMMY
A1

rr==>

2 Scan the input file for the
I/SYSPUNCH card.

INPFSCB
r--

I

FILNAM,

ASMMEM

I

~8

3

--

Scan the input file for the
I/SYSIN card.

4 Write the input file to the output

8

file.

ASM3705 output file

Input file
~

I Data

I

Notes
1 The filetype in the dummy FSCB is

5

Close the output file.

6

Build the statements necessary to
do the assembling.

Module

Label

DMSGRN

IFKASM

initialized to ASM3705. Each
ASM3705 file has a filename consisting
of the first 6 characters of the filename
(or the entire filename if it is 6
characters or less) concatenated with
a number. The FSCBWT routine uses
the dummy FSCB to initialize the
OUTFSCB.

2 The input file is scanned for a

DMSGRN

SYSPUNCH or SYSPUNCH continuo
ation card. If found, it is scanned for
the DSN= or DSNAM E= keyword. The
DSNEDIT routine then saves the memo
bern a me of the data set in the current
SYSPUNCH membername savearea.

3 The input file is scanned for the

IFKASM10

Ref

Notes
6

The ASMFI RST bit in the PROCSW1
byte is tested. If the bit is on, the
GEN parameter in the TXTLIB command is changed to ADD. Otherwise,
the bit is turned on.

DMSGRN

ASMSTAK

The SYSPUNCH membername is then
moved to the TXTLIB command.

ASMSTAK4

The number of commands and the
address of the first command in the
stack are loaded from ST ACKASM
into registers 1 and 2 respectively.

ASMSTA!<6

IFKASM34

DMSGRN

IFKASM40

DMSGRN

IFKASMAO

DMSGRN

IFKASMKO

is issued.
input and the FSCBWT routine writes
it to the output file.
and linking to the FSCBCLOS routine.
Close errors are ignored.

Diagram 9-4. DMSGRN--Generating the 3705 Assembler Files
174

Label

ASMSTAK2

DMSGRN078E INVALID CARD IN
INPUT FILE 'xxxxxxxxxxxxxxx'

5 The output file is closed by branching

Module

The name of the output assembler file
is moved into the ASM3705 and EDIT
commands. The FSCB base address
is changed and the name of the input
file is put into the TXTLIB command.

SYSIN card. All cards scanned pre·
ceding the SYSIN card must have *
or II in the first positions of the card.
Otherwise

4 The FSCBRD routine reads all the

ASM3705 xxxxxxxx (PRINT)
EDIT xxxxxxxx TEXT A1
[GEN]
TXTLIB [ADD] xxxxxxxx
yyyyyyyy
ERASE xxxxxxxx TEXT

IBM VM/370 Service Routines Progra. Logic

Ref

Processing

DUMMYFCB

-.=====""""'1)

1

rt~:UTFOCB

Initialize the output FSCB.

....- DUMMY
DUMMY
A1

I

2

Save the linkage editor options.

3

Scan the input file for the
SYSLIN control card.

4

Write the output linkage editor
file.

INPFSCB

FILENAME

I

6 Build the statements necessary
to do the link editing.

t../Data

Module

Notes
1 The filetype in the dummy FSCB is
initialized to TEXT. Each linkage
editor TEXT file has a filename consisting of the first 6 characters of the
filename (or the entire filename if it
is 6 characters or less) concatenated
With L and a number.
The IIEXEC card is edited for the
keyword PARM=. The linkage editor
options are moved to the option field
of the LKED command. EXEC continuation cards are ignored.

3 The input file is scanned for the

DMSGRN

Label

Ref

tL

Output file

ERASE NCPTEMP LOADLIB A
FILEDEF SYSLIB DISK .. .
FILEDEF SYSLMOD DISK .. .
LKED xxxxxxxx (PRINT NOTERM
FILEDEF SYSLIB DISK
FILEDEF xxxxxxxx DISK
OBJ3705 TEXTLIB A 1 ...
FILEDEF xxxxxxxx DISK
NCPTEMP LOAD LIB A1 ...
F!LEDEF SYSLMOD DISK
xxxxxxxx LOADLIB A1 ...
LKED xxxxxxxx ( ...

The LKDFIRST bit in the PROCSW1
byte is tested. If it is off, it is set on
and the filename of the input file is
moved into the FILEDEF and LKED
commands. Aiso, the command
count and address from STAKLKD1
are loaded into registers 1 and 2.
If the LKDFIRST bit is on, the
command count and address from
ST ACKLKD2 are loaded into
registers 1 and 2.

DMSGRN

B

I

Module

Close errors are ignored.

6

DMSGRN

I

Notes

IEWL

I

Lr
I

5 Close the output file.
Input file

filenaLn
text
a1

Label

Ref

FSCBCLOS
DMSGRN

I

LKDSTAC!<

ILKDSTJ

I

IEWLJCL2

SYSLI N card. All cards scanned preceding the SYSLIN card must have *
or II in the first positions. Otherwise,
the error message
DMSGRN078E INVALID CARD IN
INPUT FILE 'xxxxxxxxxxxxxxx'
is issued.

4 The FSCBRD routine reads the input

DMSGRN

file and the FSCBWT routine writes
it to the output file.

The ED!TIN routine scans for the keyword ENTRY. If the keyword
ENTRY is found, the IEWLENT
routine moves the entry name to the
SAVENCP statement.

5 The output file is closed by branching

IEWLSN10
IWRTSIN
lEWlENT

DMSGRN

IEWLSEOF

and linking to the FSCBCLOS routine.

Diagram 9-5. DMSGRN--Generating the Link Edit Files
Chapter 9. The 3704/3705 Service Programs

175

Processing

Input

Output

PLIST

I GRl

OPSTART

....---.......,)

Validate command line.

)

Ioptions

2 Oleck that the source file exists
and has the proper format.

3

Locate read/write disk space.

4

Define the necessary files.

5

Pass control to the 3705 Assembler
program.
FCBs

6 Return to CMS.

Moduli

Notes
1 A filename must be specified. If it is

DMSARN

Label
DMSARN

not, the message

Ref

Notes
4

DMSARNOO1E NO FILENAME SPECIFIED
is issued and processing terminates.
The COMPSWT bit is set on in
OSSFLAGS to indicate the 3705
assembler is running. The option list
to be passed to the 3705 assembler
is built.

SQUEEZE

If Batch is running, the message

SUIT15

ASSEMBLING filename Al
is displayed and steps 2 and 3 are
skipped.

2

The STATE macro is issued to check
that the input file exists and has
fixed 80-character records. If the
record format is wrong, the message

5

Control is passed to IFKASM.

DMSARN

SUIT25

CONTINUE

NOERASE

DMSARN

LlST2

DMSARN

RETURN

DMSARN

SUIT17

DMSARN004W WARNING
MESSAGES ISSUED
DMSARNOOSW ERROR MESSAGES
ISSUED
DMSARNOl2W SEVERE ERROR
MESSAGES ISSUED
DMSARNOl6W TERMINAL ERROR
MESSAGES ISSUED
The output files are closed and the
utility files SYSUT1, SYSUT2, and
SYSUT3 are erased. All FCBs are
cleared, OSSFLAGS is reset, and
control returns to CMS.

If the input disk is an extension of a
read/write disk, the parent disk is
used. Otherwise, the A disk is used.

Diagram 9-6. DMSARN--ASM3705 Command Processor
176

DMSARN

the following messages is issued

is issued and processing terminates.
write disk, that disk is used to contain
the text and listing files that are
generated.

Label

FI LEDEFs are issued for SYSUT1,
SYSUT2, SYSUT3, SYSIN, TEXT,
SYSPUNCH (if the DECK option was
specified), SYSPRINT (if the
NOPRINT option was not specified),
LISTING, and CMSLlB.

6 If the return code is not zero, one of

DMSARNOO7E FILE filename IS NOT
FIXED, 80 CHAR. RECORDS

3 If the input file resides on a read/

All the old text, listing, and utility
files for the current file are erased.
Free storage is initialized and enough
storage to contain the longest assemble
path is obtained via a GETMAIN call.

Module

IBM VM/370 Service Routines Program Logic

SUIT19

Ref

Processing

~PL_IS_T---011.....:1_ _ _:>

R1

~fiiename

1

Output

I

I~I~::::

~

option1

DMSITS

optionn

IIIF~: ~ I

fo'"n""n I

I

2 Validate that the source file exists
I ••••••

>

on d;,k ,"d ;, ;0 'h' pm",

DMSSTT

b~
IDMSS~T
I

ASM3705
Source File

Lr
r-'---------II 0 II ;~~~:~

~=======I~I
~

PARAMLST

OSSFLAGS

>

Validate the command line.

3

DMSARX001E
DMSARX003E

I'

Find RIW disk space for new
assembler files.

~

I

ADTLKW

____-,r

PLiST to be

II

STATE Flag

~~~~~o

I

~~
DMSARX007E

I

~II

Old Assembler Files
ADT

DMSARX006E

Notes
1

Validate the command line by ensuring
that a filename has been specified and
creating an assembler option list. If
the filename is not specified, the
message

-- NO
-DMSARxOOlt:
SPECIFIED

Module

Label

DMSARX

OPTSCN

Notes
3 New files to be used during assembler

_.. -.. -.. -

1-1 Lt:I'IIAMt:

I II

DMSARX

Ref

Label
FINDRW

If the input file resides on a RIW disk,
that disk is used to contain the TEXT
and LISTING files generated during
the assembly.
If the input file resides on an extension
of the R!W disk, the parent disk is used.

I

I

If neither of the above disks is a R/W
disk, the user's A-disk is used.

DMSARXOO3E INVALID OPTION
'option'

If no RIW disk can be obtained, the
message

is issued and processing terminates.
Verify that the source file exists by
issuing a STATE command (module
DMSSTT). If the file exists but is not
in proper format (SO-character
records), the message

Module

processing (TEXT, LISTING, and
SYSUTI can be obtained from three
sources.

is issued. The option list is built by
scanning the command line, checking
the options specified, and placing the
valid entries in the PARAMLST
table. If an invalid option is specified,
the message

2

Ref

DMSARX

STAT ASM

DMSARX006E NO READIWRITE
DISK ACCESSED
is issued and control returns to CMS
via DMSITS.

DMSARXOO7E FILE 'fn ASM3705'
IS NOT FIXED, SO-CHAR.
RECORDS
is issued and processing terminates.
If the file is in proper format, procesSing continues at step 3.

Diagraa 9-7.

D~SlRX--ASM3705

Co •• and Processor (Part 1 of 2)
Chapter 9. The 3704/3705 Service Progra.s

177

Processing

Input

4

Output

I

Define the files required during
.~====~>
the assembly and call the assembler.
I ••

fTE!T¢

e •••

DMSERS
DMSSMN
DMSKEY
DMSFLD

I

I ••••••

>

:>

DMSERS
DMSSMN
DMSKEY
DMSFLD

5

Manage output records for
SYSUTt file.

>

CWAXOO

~
>

I ••••••

SYSUT1 Records

I ••••••

c=J]J

DMSSMN
DMSERR

I

ASMSW2

FSr. '0' ...

SOURCE
CMSLlB
SYSTERM

"""~"

Fn",

SYSUT
LISTING
TEXT

DMSSMN
DMSERR

>

i •••••• )'

a

FSTs for Assembler Files:
SYSUT
SOURCE
CMSLlB
LISTING
TEXT
SYSTERM

OSSFLAGS

I

COMPSWT

I

8D
SYSUT1 Disk or Virtual
Storage

~AXOO

rL

6 Process assembler output and
handle errors.

,...... >

~I----"'>
Ie •••.••

DMSERS
DMSFNSA

>

R15
Return
code from
assembler

DMSERS
DMSFNSA

I >
,......
DMSITS

Notes

4

Module

DMSERS is called to erase the old
TEXT, LISTING, and SYSUT files
associated with the new input file.
DMSSMN (GETMAIN) is called to
obtain enough storage to contain
the SYSUT1 work file.

DMSARX

When disk space is obtained for the
required assembler files and for the
files CMS needs (SYSTERM and
CMSLlBl. FILEDEF commands are
issued to convert all the files to CMS
format. The assembler is then called
and begins processing.

5 If possible, all SYSUTt records are

Label
ERASE

Ref

Notes
CMS via DMSITS.

FILEDEF

LOADASM
DMSARX

ASMPROC

kept in virtual storage during an
assembly. However, when virtual
storage is exhausted, records are
written to disk.
If the records must be written to disk,
they are formatted to fit DASD
requirements and moved to disk a
record at a time.

6

All SYSUT files used during the
assembly are erased via a call to
DMSERS. DMSFNSA is called to
close all files and DMSFLD is called
to clear all FILEDEFs not defined
with the PERM option. COMPSWT
in OSSFLAGS is turned off to indicate
that the assembler is no longer
processing, the auxiliary directory
list is released, and control returns to

SYSWTX

DMSARX

ERASUTS

RETURN

Diagram 9-7. DMSARX--ASM3705 Command Processor (Part 2 of 2)
178

IBM VM/370 Service Routines Program Logic

Module

Label

Ref

Processing

Input

I

eMS

I

GRl

El

PUST

~

Output

I

filename
options

>

Check for filename.

2 Convert CMS options to OS format.

I

3 Check input file.

I

P

4 Issue FILEDEF for SYSLlN,

ADT (Active
Disk Table) ~

SYSLMOD, SYSUT1, SYSTERM,
and SYSPRINT.

I

II

I

I

~

5 Erase the old SYSPRINT and
SYSUTl disk files.

I

>I

OPTLIST

rr==!> ~

~

I

I

I

FCSs

6 call the OSiVS iinkage editor.

7 Clear the FI LEDEFs.

I

Notes
1 The first operand on the LKED com-

Module
DMSLKD

Label
DMSLKD

mand must be the filename. If it is
not, the message
DMSLKDOO1E NO FILENAME
SPECIFIED
is displayed. The filename specified is
used as the default FI LEDEF filename.

2 If anything other than options follows

DMSLKD

OUTLOOP2

Module

Label

DMSLKD

PRTDEF

DMSLKD

CALL

nllll

roA11

I

Ref

I

If no read/write disk is accessed for
the SYSUTl file, the message
DMSLKDOO6E NO R EAD/WR ITE
DISK ACCESSED
is issued.
delete 2 disk files: 'fn SYSUT1' and
'fn LKEDIT' (fn = the input filename).

6 Control is passed to the OSNSl linkage editor root phase (HEWLFROU)
with the specified parameters and the
default member name.

7 The command

DISK, SIZE, NAME, TERM, NDTERM'I

and LISE. If they are specified,
membername and libraryname are
moved into the FILEDEF commands.
If NAME or LISE is specified without
a corresponding name, the message
DMSLKDOO5E NO 'option' SPECIFIED
is issued.

I

D

FILEDEF * CLEAR
is issued to cancel all the file control
biocks.

DMSLKD

OUTLOOP2

that the input file exists. If it does not,
the message
DMSLKDOO2E FI LE 'fn ft' NOT
FOUND
is issued. If the input file does not
contain fixed 80-character records,
the message
DMSLKDOO7E FILE 'fn ft' IS NOT
FIXED, 80 CHAR. RECORDS
is issued.

4 The CMS file definition function is

Notes

5 The CMS erase function is called to

the filename, the message
DMSLKD070E INVALID PARAMETER
'parameter'
is issued. Flags are set to reflect the
following options - PRINT, NOPRINT,

3 The STATE macro is issued to check

Ref

DMSLKD

If the return code from the linkage
editor is not zero, one of the following
messages is displayed.
DMSLKDOO4W WARNING ERROR
MESSAGES ISSUED
DMSLKDOOaw ERROR MESSAGES
ISSUED
DMSLKD012W SEVERE ERROR
MESSAGES ISSUED
DMSLKD016W TERMINAL ERROR
MESSAGES ISSUED

PROCERR

Control then returns to CMS, with the
return code in register 15.

EXIT

PRTDEF

called to create a file control block
for each of the linkage editor
DDNAMEs: SYSLlN, SYSLMOD,
SYSUT1, SYSTERM, SYSPRINT.
Standard file definitions are performed
unless otherwise specified on the
command line.

Diagra. 9-8.

D!SLKD--LKED Co •• and Processor
Chapter 9. The 37C4/3705 Service Programs

179

Processing

Input

>

I GRl

Output

1 Process the command line.

:>

10PTLIST

2

:>

8

If filename not specified, find and
read dump spool file.

CMS Dump File

3 Define files.
Reader spool
File

A. Set up the FILEDEF commands.

:>

B. Check that the dump file
exists.
C. Execute FI LEDEF commands.

:>

4 Call the OS dump program.

5

>

Return to CMS.

CJ

D
DUMP
•.

Notes
1 If the second parameter in the input

Module

Label

DMKRND

NCPDUMP

line starts with DUMP, the name of
the CMS file is saved in the output
FSCB. The appropriate options are
marked in the OPTLIST. If there are
no options specified, FORMAT, no
MNEMONIC, and no ERASE are
assumed. If an invalid option is
specified, the following message is
generated

TESTOPT

Ref

Notes

A. The name of the CMS dump file
is put in the SVSUT2 and SVSIN
FI LEDEFs and in the control
statement skeleton for the
IPLDUMP processor.

DMKRND

The SVSIN record is created, using
the specified user options, any old
SVSIN file is erased, and the new
SVSIN file is written to the DUMPnn
SVSIN file. If the record cannot
be written, the message
DMKRND8701 UNABLE TO
CREATE CONTROL FILE FOR
IPLDUMP
is issued and control returns to CMS.
C. The following commands are issued
to simulate an OS interface.

READNXT

4 DMKRND loads register 1 with the

DMKRND

address of a dummy parameter list
and links to IFLDUMP. If the
return code from IFLDUMP is not
zero, it is passed to CMS.

5

If the return code from IFLDUMP
is zero and ERASE has been requested,
the DUMPnn file is erased, and the
following message is generated
'DUMPnn NCPDUMP' FILE ERASED

Diagram 9-9. DMKRID--ICPDUMP Co.mand Processor
180

LlNKDMP

FILEDEF SVSUT2 DISK DUMPnn
NCPDUMP Al (XTENT 513
NOCHANGE
FI LEDEF SVSIN DISK DUMPnn
SVSIN Al
FILEDEF SVSPRINT PRINTER

DUMPWRT

'DUMPnn NCPDUMP' FILE
CREATED

DMKRND8531 NO DUMP FILES
EXIST

STRTDUMP

DMKRND861E FILE 'DUMPnn
NCPDUMP' NOT FOUND

LOOKLOOP

and control returns to CMS with a return code of 22.

is issued, the spool file is closed, and
processing continues. If the reader
was empty or if a read error occurs, an
error message is issued.

DMKRND

B. The STATE macro is issued to
check that the CMS dump file
exists. If an error is retumed, the
following message is generated

DMKRND851I TEN DUMP FILES
ALREADV EXIST

The reader is spooled class E and the
spool file is read via a DIAGNOSE
instruction. The records are deblocked
and written to the CMS dump file.
The read/write loop continues until
the real spool file DIAGNOSE instruction returns a nonzero return code.
When the end of file is reached, the
message

Label

3

and control returns to CMS with a
return code of 24.
If the name of a CMS dump file was
not specified, DMKRND assumes
the dump file is in the reader. The
filename of the output file is set to
DUMPOO through DUMP09 and the
STATE macro is issued until a dump
file is found. If an available name is
not found, the following message is
generated.

._--

DMKRND8501 UNABLE TO READ
DUMP FROM READER

DMKRND863E INVALID PARAMETER 'xxxxxxxx'

2

Module

IBM VM/370 Service Routines progra. Logic

DMKRND

Ref

Program Organization
This
section describes
the
following
3704/3705 co •• and processing aodules:

DoSIRN
The
interface between
CMS
3704/3705 Assembler (IFKlS").

•

DMKRND--NCPDUMP command processor

•

DMSARN--ASM3705 com.and processor
NCP/VS Release 2 and 3 Assembler)

(for

•

DMSARX--ASM3705 com.and processor
NCP/VS Release 4 Assembler)

(for

•

DMSGRN--GEN3705 command processor

•

DMSLKD--LKED coama.nd processor

Attributes
--tiskresident

•

DMSNCP--SAVENCP co •• and processor

~!l!!I

the

!!ltrI
goints
I!SARN
To process the AS!3705 coamand.
ISMBAND
To handle any
I/O activity
pertaining to the SYSUT2 file
during the asseably.

Conditions

It Dl!SARN
Rl:
Address of the paraaeter list
R14: Return address
R15: Address of the entry point

DMKRND
The interface to
prograll.

the

05/360 3705

!!tr.!12Y!~

Runs in a CMS virtual machine

~~try £ondi!.!~~§

R1:
R13:
R14:
R15:

and

Address of parameter list
Address of savearea
Return address
CSECT base register

!!~.9.!§!~! Q§gg§

RO-10: Work registers
R1l: Address of FSCBDSECT
R12: CSECT base register
R13: Address of savearea
R14: Linkage register
R15: Return code

Call to Other Routines
--IFLDUMP TO-format-and print the dump
~!ter~gl !!~!~!~~£~

None

Data Areas

-Tsca-Exit Conditions
--R12:--CSECT-base address
R13: Address of input savearea
R14: Return address
R15: Return code

dump
It AS!HAND
R1:
Address of the
R2:
Address of the
RS:
Address of the
Rll: Address of the
R14: Return address
R15: Address of the

DECB
DCE
CPSECT
FCESECT
entry point

!!!g!st~r Usage

RO-1 :
R3:
R4-5:
R6:
R7-9:

Work registers
Base register
Work registers
Return address
Work registers

RiO;

constant S

~o

caller

R12-13: Work registers
R14:
Linkage register
Error code
R15:
£g!!§ ~~ Other Routines
IMSERSA
To erase old files
I!SS!NE
To initialize storage pOinters
IMSSTTA
To locate the file
3704/3705
IFKAS!
To
assemtle
the
control program
!!ternal !!efe!~§
FREE!AIN To return free storage
GETMAIN
To ottain free storage
NUCON
The nucleus constant area
!YPE
To
send
aessages
to
terminal

the

]g!g !~
None
Exit Conditions
--contentS-of register
of processing.

15 indicate results

Chapter 9. The 3704/3705 Service programs

181

Return
Code

-0-

Ne errors
Minor errors detected during
asseably, successful
prograa
execution is probable
Errors
detected
during
asseably, unsuccessful prograa
execution is possible
Serious errors detected during
assembly.
unsuccessful
execution is probable
Critical errors detected during
assembly,
unsuccessful
execution is probable
Catastrophic errors
detected
during asseably,
partial or
complete asseably canceled.
Invalid option, no filename
File not found
Invalid
record
length
for
lSM3105 file
No read/write disks accessed

4

8

12
16
20
24
28
32
36

!B Other Routines
I!SCRD -- Reaa-5YSPIB! froa console
to
I!SCIR
Display
SYSPIB! aessage
console
FILEDEF all asseabler files
tMSPLt
Close all asseabler files
tMSPNS
Control nucleus protect key
IMSKEY
Display all error aessages
IMSERR
Erase old asseabler files
IMSE8S
Load the asseabler phases
IMSSLB
Control
storage
pOinters
t!SSMN
(GET!lIN/PREE!IIN)
IMSST~
Verify disk file existence
tMSLAtAt SET/RESET tbe PST chain for
auxiliary directory
(XF)
root
CII100
3705
asseabler
segaent

~!ll§

!1!!1!.!~

~!te£n!1

lIT
CMSCE
IMSARD
FSTB

Reference§

10

NUCON
DMSARI

Data Areas

-IDNii!

The interface between the ASM3105 command
and the 3704/3105 Assembler (CWAIOO).

OPTLIST
OPDEF

~1!try

DMSARI
ASMPROC
TERMPROC

PARAMLS'I
U'IENTRY
UTHEAD
OPTAE$

SYSUTl processing routine
Terminal
output
processing
routine.

SAVEAREA

!.!:yiJ2ytes
Executes in user area

Names
of CMS
ddna.es
for
assembler
Option list
passed to
the
assembler
(Macro
label)
names
and
al:breviations of all options
Parameter list for assembler
In-core SYSUTl record area
Beader area for in-core records
List of pointers
to option
table entries
SAVEAREI

Exit Conditions
-NoRiiI:
GPR15=O
No error
Rl:
R14:

R15:

Address of the paraaeter list
Return address
Address
of the
entry
point
(DMSARI)

!~gis!§f: Q§g,g~

RO
Rl
R2
R3
R4

R5
R6
R7
R8
R9

Rl0
Rll
812
R13
R14
R15

182

NUCON addressability
Address of all PLISTs
Werk register
Werk register
GETMAIN/FREEMAIN aaount
Werk register
GETMAIN/FREEMAIN address
ASMPROC address
Work register
Werk register
Linkage register
FCB address during lSMPROC
Base register
Save area address
Return register from calls
Assembler root address and return
error code

IBM VM/370 Service Routines Program Logic

ERROR
GPR15=24
GPR15=28
GPR 15=3'2
GPR15=36
GPR15=40
Return
Code

C-4

e
12

Invalid option,
no filename
specified
File not found
File
not fixed,
80
char.
records
No read/write disks accessed
Fileid conflict, device invalid
for input
!~anin.9

No errors
Minor errors detected during
assembly, successful
program
execution is probable
Errors
detected
during
assembly, unsuccessful program
execution is possible
Serious errors detected during
assembly,
unsuccessful
execution is probable

Critical errors detected during
assembly,
unsuccessful
execution i$ probable
Catastrophic errors
detected
during assembly,
partial or
complete assembly canceled
Invalid option, no filename
File not found
Invalid
record
length
for
AsM3705 file
No read/write disks accessed

16

20
24
28
32
36

D!5LKD
The interface
:Editor.

to

the

Os/Vs1

Linkage

JatrI Point
I!KsLKD
Attributes
--ieusable, disk resident
!B!!I
R1:

£2n~itions

Address of input parameter list

D!sGRN
~~gi21~!

Edits the Stage 2 input for the 3704/3705
control program generation, builds the
3704/3705 assembler files and linkage
editor text files, and builds an EXEC
macro file.

RO-11 :
R12:
R 13:
R14-15:

]sage
Work registers
Base register
Address of savearea
Work registers

£!!!§ to .Qther
To
t!ssTT
tMSERS
To
tMSLAtW
To
I!sFLt
To

J1!try faint
DKsGRN
Attributes
--RuDs-In-a eMS virtual machine

BEWLlROU
J1!!!I
R1:

£~1!di!i~j!§

Address of the input parameter
list
Address of the savearea
Return address
CsECT base address

R13:
R14:
R15:

!!~qist~~ US!g~

Work registers
Base register 2
Base register 1
Address of the savearea
Linkage register
Return code

RO-10:
R11:
R12:
R13:
R14:
R15:

£~lls !~ Q!!~! R~utin~

None

!!terj!al
None

R~!~!~1!£!§

a !il.!§
FsCB

!t~ t

Exit Conditions
--a12:-----Base-address
R13:
Address of input savearea
R14:
Return address
R15:
Return code

l.Q!!tines
get a copy of an PST
delete a file fro. disk
find a read/write disk
establish file definitions
for as simulaticn
To link edit text files

External References

--iU~ -~e-nucleus

ltTSECT
F5TSECT

constant area
The active disk table
The file status table

Data lreas
--JiT-(lctive Disk Table)
Exit Conditions

--contents~register

15 indicate results

of processing
Return
Code ~eaning
0-16 Linkage editor return codes
Invalid file ID character
20
Bo
filename specified,
missing
24
operand on LIEE or Nl!E option,
or invalid parameter
File not found
28
lile not fixed 80-byte records
32
Bo read/write disk accessed or disk
36
not accessed

Chapter

9~

The 3704/3705 Service Programs

183

DMSNCP

R4-6:
Rl0:

Reads a 3705 central program aodule (EP
or NCP) in OS load module format and
writes a page-format core-image copy on
the VM/370 system volume.

R11:
R12:
R13:
R14:
R14:

jntry faint
SAVENCP
Attributes
--SerIally reusable,
virtual machine
j,!!try Conditicns
R1: --~ddress
list
!!~sist§!

RO:
R1 :

R2:
R3:

184

executes

of the

in

a

Work registers
Address of the input file nCE
during the
read, then
the
address of tbe centrol program
core image.
Address of the CCPAR! paraaeter
list
Base register
Address of the savearea
Linkage register
Linkage and work register

·C!S
£gll§ to Other Routines
t!KSNC via -DIagnose-code X'50' to write
the core image of the 3704/3705 control
program and parameters on disk

input

parameter

USg,Sl§
Work register
Address of parameter list and
werd register
Pointer to input record and work
register
Length of input record and work
register

!xt~~al ~~

Bone

Da!! Areas
CCPAR!
Exit Conditions
-R15:
Return code

IBM VM/370 Service Routines Program Logic

Directory
Tbis . section
directories:
•

contains

two

types

of

•

!odul~~i!!£!~!I

(Figure 9-2) is a list
of the CP and CMS modules that process
tbe co •• ands that generate the 3704/3705
control
~rog~a.
and
process
the
3704/3705 storage dumps.

Description

Module
DMKRND

NCPDUMP co •• and processor.

DMSARN

ISM3705 co •• and processor.

DMSARX

1583705 co •• and processor.

D!SGRN

GEN3705 com.and processor.

DMSLKD

LKED command processor.

DMSNCP

SAVENCP co.mand processor.

Figure 9-2.

Label ~irectori§2 (Figures 9-3 through
9-8) list the major labels in each of
the command processors.
In addition to
the latel, the aodule (if aore than one
is involved),
associated aethod
of
operation
diagram,
and
a
brief
description are included in the list.

Module Directory for 3704/3705 Command Processors

THE NCPDUMP COMM1ND PROCESSOR (DMKRND)

Label

Description

Diagram

DUMPWRT

9-9

Writes the output file.

LINKDMP

9-9

Links to the OS dump service program, IFIDU!P.

LOOK LOOP

9-9

Checks the reader for a valid eMS duap file.

BCPDUMP

9-9

Starts

READBXT

9-9

Reads the dump spool file.

STRTDUMP

9-9

Builds the control file for the IFLDU!P processing routine.

TESTOPT

9-9

Processes the options on the NCPDU!P command line.

Figure 9-3.

~rocessing

the NCPDUMP coamand.

The BCPDUMP Command Processor (DMKRBD) Label Directory

Chapter 9. The 3704/3705 Service programs

185

THE ASM3705 COMMAND PROCESSOR (DMSARN)
r

I Latel

Description

Diagram

CONTINUE

9-6

Erases old files and gets enough storage for the assembler to
execute in.

DMSARN

9-6

Entry point for the ASM3705 command processor.

LIST2

9-6

Calls the 3705 Assembler (IFKASM).

NOERASE

9-6

Issues FILEDEFs for the necessary assemtler files.

RETURN

9-6

Returns control to CMS.

SQUEEZE

9-6

Checks that the input file exists.

SUIT15

9-6

If running in a batch machine, sends ASSEMBLING filename A1
message.

SUIT17

9-6

Finds a read/write disk for writing text and listing files.

SUIT19

9-6

Closes the output files and erases the utility files.

SUIT25

9-6

Checks the format of the input file.

Figure 9-4.

The ASM3705 Command Processor (DMSABN) Label Directory

THE ASM3705 COMMAND PROCESSOR (D!SIRI)

Description

Latel

Diagram

ERASE

9-7

Erases old files.

DMSARX

9-7

Entry point for the ISM3705 command processor.

FILEDEF

9-7

Issues FILEDEFs for the necessary asse.tler files.

FINDRIl

9-7

Finds a read/write disk for writing text and listing files.

LOADASM

9-7

Load the 3701 Assembler root.

OPTSCN

9-7

Validates command line.

RETURN

9-7

Returns control to CMS.

VERIFY

9-7

Checks that the input file exists.

Figure 9-5.

186

The ASM3705 Command Processor (DMSARI) Label Directory

IBM V8/370 Service Routines Program Logic

THE GEN3705 C088AND PROCESSOR (DMSGRN)

Diagram

Label

,

Description

I
----------~--------~------------------------------------------------------------I
9-4
ASMSTAK
Stacks the required 3705 Assemtler commands in the Stage 2 EXEC I

macro file.
AS8STAK2

9-4

I

Puts the name of the output assembler file in the IS83705 and
EDIT com.ands.

lS!STAK4

9-4

Puts the SYSPUNCH meabername in the TITtlB coamand.

AS8STAK6

9-4

Puts the number of commands and the address of the first cemmand
into registers 1 and 2.

CLOSTACK

Builds the SAVENCP command.

EDITIN

Edits the input records for keywords.

FINDASM

9-3

Checks for assembler input.

FINDIEWL

9~3

Checks for linkage editor input.

FSCBCLOS

9-4

Closes the output file.

FSCBRD

Reads the input file.

FSCBWT

writes the output file.

GEJMSG

Generates error messages.

lEWL

9-5

Main processing routine for generating linkage editor commands.

lEWLENT

9-5

Scans for the keyword ENTRY.

IEWLJCLA

9-5

Edits the //EIEC statement.

IEWLJCL2

9-5

Scans for the //SYSLIN statement.

IEWLSEOF

9-5

Branches and links to FSCBCLOS to close the linkage editor
output file.

IEWLSIN

Processes SYSLIN information.

IEWLSN10

9-5

Branches and links to FSCBRD to read the linkage editor inFut
file.

IFKASM

9-4

Main processing routine for generating 3705 assembler files.

IFKASMAO

9-4

Branches and links to the FSCBRD and FSCBiT routines to read the
input file and write the output file.

IFKASMKO

9-4

Branches and links to the FSCBCLOS routine to clcse the outFut
assembler files.

IFKASM10

9-4

Scans for the SYSPUNCH statement.

Figure

9-6.

The GEN3705 Command Processor (D8SGRN) Latel Directory (Fart 1 of 2)

Chapter 9. The 3704/3705 ServiCe Programs

187

I
I
I

Label

Diagra.

Description

IFKASl!34

9-4

Scans for the DSN= or DSNAftE= keyword on the SYSPUICH state.ent.

IFKASl!40

9-4

Scans for the SYSIN state.ent.

LKDSTACK

9-4

Builds the LKED co •• ands and the FILEDEF for their file.

LKDSTAKl

9-5

Loads registers 1 and 2 with the nu.ber of co •• ands and the
address of the first linkage editor co •• and.

OPT END

9-3

Checks that the input file exists.

OPTIONS1

9-3

Scans the input options.

PRIl!EDIT

9-3

Scans for a valid //EXEC state.ent.

PROCENDl

9-3

Closes the EXEC file.

PROCEND2

9-3

Adds the SAVENCP com.and to the EXEC .acro file.

PROCWT

Writes co.mands to the stage 2 EXEC processor file.

RETURN1

9-3

Returns control to Cfts.

STACK30

9-3

Writes the linkage editor and asse.bler state.ents to the EXEC
.acro file .•

START

9-3

Starts the GEN3705 co •• and processing.

WRTSIN

9-4

Branches and links to the FSCBWT routine to write the linkage
editor output file.

Figure 9-6.

The GEN3705 Co •• and Processor (Dl!SGBN) Label Directory (Part 2 of 2)

THE LKED COl!l!AND PROCESSOR (Dl!SLKD)

Label

Diagra.

Description

CALL

9-8

Calls the OS/VS1 Linkage Editor (HEWLFROU).

Dl!SLKD

9-8

Entry point for the LKED com.and processor.

EXIT

9-8

Returns control to Cfts.

OUTLOOP2

9-8

Processes the co.mand options.

PROCERR

9-8

Processes the error .essages.

PRTDEF

9-8

Sets up the file definition for the printer.

Figure

188

9-7,.

The LKED Command Processor (Dl!SLKD) Label Directory

IBM VM/370 Service Routines Progra. Logic

THE SAVENCP COftftlND PROCESSOR (DMSNCP)

Diagram

Latel

,

Description

CESDCHVT

9-1

Finds the channel vector table.

CESDENT

9-1

Saves the entry point.

CBEKVKV

9-2

Checks that the specified options are compatible.

CLOSE

9-1

Closes the input file.

CONTROL

9-1

ftoves the text records fro. the input buffer to the core i.age
........ &.#! ...........

.lJU.L.L'IIII;'&'.

ENDPARftS

9-1

Opens the input file and searches for the member.

ERR21

9-1

Checks for the entry point record.

ERR66

9-1

Checks for pre.ature end of file or invalid centrol records.

EXIT

9-1

Returns control to CftS.

SAVECCP

9-1

Issues the Diagnose X'SC' instruction to have DMKSNC do the
actual saving.

SAiENCP

9-1

Entry point for the SIVENCP command processor.

SCANCEP

9-2

Updates the CCPARft parameter list for EP and PEP control
progra.s.

SCANDEV

Scans for devices.

SCANLINE

Scans for teleprocessing lines.

SCANNCP
Figure

9-8~

9-2

Updates the CCPARft parameter list for RCP and PEP control
progra.s.

The SAVENCP Command Processor (DftSNCP) Latel Directory

Chapter 9. The 3704/3705 SErvice Pro;ra:s

189

Data Areas
The following data areas are used by the
3704/3705 com.ana processor modules:

•

Network
(NICELOK)

•

Active Disk Table (ADT)

•

Beal Device Block (BDEVELCK)

•

Communications
List (CCPAB!!)

•

Spool File Block (SFBLCK)

•

Virtual !!achine Block (V!BLCK)

•

File System Control Block (FSCB)

•

Input/Output Block CIOBLOK)

Controllers

Parameter

Interface

Control

All the above data areas except the FseE
are described in the Vt!L37.Q ]!ta J!!!§ !!!g
£2ntf~!
Block§
Logic.
The
FSCE
is
described in Figure 9-8.

FILE SYSTE!! CONTBOL BLOCK

Or-----------------------------------------------,
FSCBFNCT
FSCBID

8

I

18

11A

1C

FSCBBUFA

20

FSCBSIZE

24

I

FSCBFBMT

FSeEBICN

FSCEBOR

1-----------------------------------------------281
FSCBLIOB

!2.!spI!£2~.!

Hex Dec
--0
--0
8
8
10
18
1A
1C
20
24
26
28

8
8

16
24
26
28
32
36
38
40

Fi~!g_!~n

FSCBFNCT
FSCBID
FSCBFN
FSCBFT
FSCBFM
FSCBBECN
FSCBBUPA
PSCBSIZ!
PSCBPB!!T
FSCBNOB
FSCBLIOB

DS
DS
DS
DS
DS
DS
DS
DS
DS
DS
DS

CL8
OCL18
CL8
CL8
CL2
H

A
P
CL2
OH
A

Figure 9-9. Pile Systea Control Block (PSCB)

190

Elock

IBM V!!/370 Service Boutines Program Logic

~~£!:ipti2D

Control field for 1/0 function
File Ident ifier
Filenalle
Filetype
Filellode
Belative record number
Euffer address
Euffer size
File format
Number of records to l:e read

Diagnostic Aids
The following figures list the messages and
abnormal termination codes issued by the
CMS 3704/3705 command processors.
Figure 9-10 lists the messages issued
by the NCPDUMP command Frocessor (DMKRND).
Figures 9-11 and 9-12 list the messages
issued by the A5M3705 command processor
(DMSARN and DMSARX).

Figure 9-13 lists the messages issued by
the GEN37C5 command processor (DMSGRN).
Figure 9-14 lists the messages issued by
the LKED command processor (D!SLKD).
Figure 9-15 lists the messages issued by
the SAVENCP command procEssor (DMSNCP).

THE NCPDUMP COMMAND PROCESSOR (DMKRND)

Message
Code

Label

DMKRND8501

DUMPWRT

9-9

UNABLE TO READ DUMP FRCM REIDER
(Return Code = 21)

DMKRND8511

LOOKLOOP

9-9

TEN DUMP FILES ALREADY EXIST
(Return Code = 22)

Diagram

DMKRND8521

Message Text

FATAL I/O ERROR WRITING DUMP

DMKRND8531

DUMPWRT

9-9

NO DUMP FILlS EXIST
(Return Code

DMKRND861E

STRTDUMP

9-9

FILE 'DU8Pnn NCPIU!P' NOT FCUND
(Return Code = 28)

DMKRND863E

TESTOPT

9-9

INVALID PARAMETER - 'xxxxxxxx'
(Return Code = 24)

DMKRND8701

STRTDUMP

9-9

UNABLE TO CREATE CCNTROL FILE FOR IFLDUMP
(Return Code = 16)

DUMPWRT

9-9

'DUliPnn NCPIUMP' FILE CREATED

LINKDMP

9-9

'DUMPnn NCPtUftP' FILE ERASED

Figure 9-10.

= 23)

The NCPDUMP Command Processor (DftKRND) Error Messages

Chapter 9. The 3704/3105 Service progra.s

THE AS83705 COMMAND PROCESSOR (DMSARN)

Message
Code
D!SARN001E

Label

Diagrall

DMSARN

9-6

Message Text
NO FILENA!E SPECIFIED

D!SARN002E

FILE 'fn ASM37C5' NOT FOUND

D!SARN003E

INVALID OPTION 'xxxxxxxx'

D!SARN0041

RETURN

9-6

DMSARN006E

WARNING !ESSAGES ISSUED
NO READ/WRITE IISK ACCESSED

D!SARN007E

SUIT25

9-6

FILE 'fn ft' IS NOT FIXED, 80-CHIR. BECCBDS

DMSARNOOSI

RETURN

9-6

ERROR MESSAGES ISSUED

DMSARN0121

RETURN

9-6

SEVERE ERROR MESSAGES ISSUED

DM SARN 016 I

RETURN

9-6

TERMINAL ERROR MESSIGES ISSUED

DMSARN109S

VIRTUAL STORAGE CAPACITY EXCEEDED

Figure 9-11.

The ASM3705 Com.and Processor (D!SARN) Error Messages

THE AS!3705 CO!MAND PROCESSOR (DMSARX)

Message
Code

Label

Diagram

DMSARX001E

OPTSCN

9-7

NO FILENAME SPECIFIED

DMSARX002E

NEiFILE

9-7

FILE 'fn ASM37C5' NOT FOUND

D!SARX003E

OPTSCN

9-7

INVALID OPTION 'option'

DMSARX007E

FINDRI

9-6

NO REID/WRITE IISK ACCESSED

D!SARX007E

STATASM

9-7

FILE 'fn ASM37C5' IS NOT FIXED, 80-CHAR. RECORDS

DMSARX038E

DOFDEF

9-7

FILEID CONFLICT FOR DtHAME 'ASM3705'

DMSARX052E

MOVEKEY

9-7

MORE THAN lCO CHARS. OF OPTICNS SPECIFIED

DMSARX070E

DMSARX

9-7

INVALID PARAMETER 'parameter'

D!SARX074E

DMSARX

9-7

ERROR [RE]SETTING AUXILIARY DIRECTeRY

DMSARX075E

HOTDSK

9-7

DEVICE 'device' INVALID FOR INPUT

Figure 9-12.

192

Message Text

The AS83705 COlllland Processor (D!SARX) Error Messages

IBM VM/370 Service Routines Prograa Logic

THE GEN3705 COftftAND PROCESSOR (D!SGRN)

Message
Code

Label

Diagram

DftSGRN 002E

OPTEND

9-3

FILE 'fn ft' lOT FOUND

DftSGRN003E

OPTIOIS 1

9-3

INVALID OPTION 'option'
FILE 'fn ft' IS lOT FIlED. 80 CBAB. BECCBDS

DftSGRN007E
DMSGRN048E

OPTEND

9-3

DftSGRN054E
Dft SGRN 078E

Figure 9-13.

Message Text

INVALID ftODE

'f.'

INCOftPLETE FILE ID SPECIFIED
PRIftEDIT
IFK!US40
IEWLJCL2

9-3
9-4
9-5

INVALID CARt II INPUT FILE
'xxx •••

The GEN3705 Command Processor (DftSGRI) Error Messages

THE LKED COMMAND PROCESSOR (DMSLKD)

Message
Code

Label

Diagram

DftSLKD001E

DMSLKD

9-8

NO FILE NAME SPECIFIED

DMSLKD002E

OUTLOOP2

9-8

FILE 'fn ft' lOT FOUND

DMSLKD004 W

PROCERR

9-8

WARNING ERROR MESSAGES ISSUED

DMSLKD005E

OUTLOOP2

9-8

NO 'option' SPECIFIED

DMSLKD006E

PRTDEF

9.... 8

NO READ/WRITE DISK ACCESSED

DMSLKD008E

OUTLOOP2

9-8

FILE 'fn ft' IS lOT FIlED. 80 CBAB. BECORDS

DMSLKD008W

PROCERR

9-8

ERROR MESSAGES ISSUED

DftSLKD012W

PROCERR

9-8

SEVERE EBROR MESSAGES ISSUED

DMSLKD016W

PROCERR

9-8

TERftINAL ERROR MESSAGES ISSUED

DMSLKD080E
Figure 9-14.

Message Text

INVALID PARAMETER 'parameter'
The LKED Command Processor (D! SLKt) Error Messages

Chapter

9~

The 3704/3705 Service programs

193

THE SAVENCP COB!AND PROCESSOR (DBSNCP)

,
!essage
Code

!essage Text

Label

Diagraa

D!SNCP001E

SAVENCP

9-1

NO PILENA!! SPECIFIED
(Return Code = 24)

D!SNCP002E

ENDPAR!S

9-1

FILE 'fn ft fa' NOT FOUND
(Return Code
28)

D!SNCP003E

SIVEICP
TESTOP

DftSICP013E

DftS00011

DftSNCP021E ICONTROL
I
1
DftSNCP025E ISCINCEP
ISCAINCP
1
D8SNCP045E ICLOSE
I
1
DftSNCP056E IIOTLIST
ICLOSE
IERR66
1
DftSNCP099W ICHEKV!V
1
I
D8SNCP109S ICONTROL
INOTLIST
Figure 9-15.

194

INVALID OPTION - 'option'
(Return Code = 24)
9-1

!EftBER 'naae' NOT FOUND IN LIBRARY 'fn ft'
(Return Code = 4)

9-1

ENTRY POINT 'syabol' lOT FOUND
(Return Code = 40)

9-2

INVALID DATI IN 370X CONTROL PROGRA!
(Return Code = 16)
UNSUPPORTED 370X CONTROL PROGRA! TYP!
(Return Code = 16)

9-1

FILE 'fn ft' CONTAINS INVALID RECORD FORBITS
(Return Code = 32)

9-2

GENERITION PIRI!ETERS INCO!PATIBLE WITH VB/370
(Return Code = 99)

9-1

VIRTUAL STORIGE CAPACITY EXCEEDED
(Return Code = 104)

The SAVENCP Command Processor (DftSNCP) Error eessages

IBM V8/370 Service Routines Progra. Logic

Chapter 10. The ZAP Service Program

Introduction
The ZAP service program (DMSZIP) executes
under the centrol of CMS via the ZAP
command. It performs three functions for
LOADLIB, TITLlE, and MODULE files residing
on direct access
storage devices. The
functions are:
•
•
•

DUllp
Verify
Replace

VERIFY
The verify function compares sFecified data
with the data at a specified address in a
CS!CT~ If the
data is the same~ a replace
operation
(if
one is
specified)
is
permitted; otherwise, an errcr message is
issued.

REPLACE
DUMP
The dump function reads all or part of a
specified CSECT, or an entire lIember or
• odule, formats the dump, and prints it at
the system printer (133-character lines,
each containing 32 bytes in hexadecimal,
plus the translation) or displays it at the
terminal
(SO-character
lines,
each
containing 16 bytes in hexadecimal, plus
the translaticn). If more than one CSECT is
dUllped, the CSECT nalle appears before each
dump.

The replace function replaces data at a
specified address in a CSECT with the data
specified in a control record~ The changed
record is then written back te the file •

Chapter 10. The ZAP Serwice Proqra8

195

Method of Operation
The method of operation diagrams describe
the execution of the ZAP program and show
the processing associated with:
•
•

Verifying and replacing data in a CSECT.
Dumping a CSECT, member, or module.

Diagram 10-3 describes tbe Frocessing of
the DUMP function.
Diagrams 10-4 and 10-5 describe the
processing for modifying data in a CSECT.

The relationship
of the
method of
operation diagrams is shown in Figure 10-1.

Diagrams 10-6 and 10-7
proper CSECT is located
modifying.

Diagram 10-1 describes
the ZAP program.

Diagram 10-8 shows how
for dumping or modifying.

a file

Diagram
printed.

how

the execution of

Diagram 10-2 shows the ZAP
control record processing.

command and

10-9 describes

Diagram 10-1
Overview of the
ZAP Program

l
Diagram 10-2
ZAP Initialization
and Control
Record Processing

.Diagram 10-3
DUMP Control
Record Processing

•
I

Diagram 10-6
Opening the
File

1
Diagram 10-7
Finding the
CSECT

•

Diagram 10-4
BASE Control
Record Processing

•

Diagram 10-8
Reading the
Text

1
Diagram 10-9
Printing the
Dump

I

•

Diagram 10-4
NAME Control
Record Processi ng

•

Diagram 10-5
END Control
Record Processing

~
Diagram 10-6
Opening the
File

•

Diagram 10-5
VER!VERIFYor
REP Control
Record Processing

~
Diagram 10-8
Reading the
Text

1
Diagram 10-7
Finding the
CSECT

Figure 10-1. Key to the ZAP Program Method of operation Diagrams

196

IBM VM/370 Service Routines Program Logic

describe how the
for dumping or
is read

a dump

is

PL!ST

I~R_e~g_1__~~~Z_A_P____~

--:-----~>I

Conteol ,nteffi ITom DMSITS.

2

Initialize fields and locate the
input file (if one is specified).
(See Diagram 1 ().2 for details.)

3 Read a control record. (See
Diagram 10-2 for details.)

4 Perform the specified function.
(See Diagrams 10-3, 10-4, and
10-5 for detai!s.)

5

Module

Notes

1 Control enters DMSZAP from DMSITS. DMSZAP

At end, return control to
DMSITS.

Label

Ref

Notes

Module

Label

Ref

DMSZAP

Register 1 points to a PLiST that
contains the type of file to be operated
on, libraries to be used if applicable,
__ ...I -, __ ..1. _ _ 1.. &. .... _ : .......... + ....... ..J ........ + ..... +dliU t,;UlIlIUI;) IVI IIltJUL ailU VUl.tJUI.

operations.

2

Initialize fields and pointers and
verify input and output options.
Locate the input file if an input file
is specified. Otherwise, request input
from the terminal.

3 Read a control record. Find the

I

DMSZAP
INITOPEN

II

FDEFINP
DMSZAP

READINP

routine needed to perform the function
specified by searching a table of
control record keywords.

4 Perform the specified function. At

DMSZAP

its end, return control to READINP
to read another control record.

5

When the END control record is read,
return control to DMSITS.

DMSZAP

Diagram 10-1. Overview of the ZAP Prograa
Chapter 10. The ZIP Service Frogram

197

Processing

Input

PLIST

I REG 1

~

~

.

ZAPCMND

Output

Verify ZAP command and set up
library table, if libraries are
-:--1
specified.

->

II b
2

::~;;~~"" ",,;fi"'. ~,;fy <:

Ii

]1

lb

LlBNAMEl
libnamel
Iibname2
libname3

INFUNC

3 If I NPUT filename is specified,
locate the file.

filename

4

5 R"d, '0"",1 moo,d.

~
CDBUF

TABSTRT

I

~

If I NPUT is not specified, issue a
request for input.

6 Print the control record if the
PR INT option is in effect.

~

OJ

Notes

Module

1 Verify the operands in the ZAP com-

DMSZAP

mand. If TXTLIB or LOADLIB is
specified, move the library names (up
to three) into LlBNAME1. If no
library name was specified, issue the
message:

7 Determine the type of control

record and branch to the proper
subroutine.
(See Diagrams 10-3, 10-4, and
10-5 for details.)

Label
SCAN LINE
STLIB

Notes
from the specified INPUT file
(RDCARD2 routine). Save the control
record in CDBUF.

Label

Ref
-I--

RDCARD2

DMSZAP

~RCARD

SCANKEYl

TABLOOK

bytes 1-8 keyword
bytes 9-12 keyword routine
DMSZAP

DMSZAP

CHKOPT

I NPTOPT
FDEFINP

If I NPUT is not specified, display
ENTE R: to request ZAP control
records to be entered from the
terminal.

DMSZAP

Read the control record either from
the terminal (RDCARD routine) or

DMSZAP

READINP
RDCARD
RDCARD

Valid keywords and the diagrams
in which their routines are
described are:
Keyword
Diagram
DUMP
NAME
BASE
VER
VERIFY
REP
END

10-3
10-4
10-4
10-5
10-5
10-5
10-5

If a match is found, go to the appropriate routine.

NAMFOUND

If no match is found, issue the message:
DMSZAP201W INVALID CONTROL RECORD OR NO GO
SWITCH SET

INVEREP

and return control to READINP
(step 4).

Diagram 10-2. ZAP Initialization and Control Record Processinq
198

D
Module

Otherwise, compare the keyword to
keyword tables whose formats are:

DMSZAPOO2E FILE 'fn ft' NOT
FOUND

5

It:

CDBUF

word. If the statement is blank or
the first character is an asterisk, return
control to READINP (step 4).

filename into INFUNC. Issue STATE
to locate the file. If this file cannot
be found, the message:

4

t

7 Check the control record for a valid key- DMSZAP

DMSZAPOO3E INVALID OPTION
'option'

3 If INPUT filename is specified, move

III

ZAP

SYSOUT printer if the PRINT option
is in effect.

Other messages that may be issued if
the command line is in error are:
DMSZAP014E INVALID FUNCTION 'function'
DMSZAP047E NO FUNCTION
SPECIFIED
DMSZAP070E INVALID PARAMETER 'param'
If options are specified, check for
validity. If mutually exclusive options
or invalid options are specified, issue
the message:

<: I

6 Print the control record on the

DMSZAPOO1E NO FILENAME
SPECIFIED

2

Ref

I

~

IBM VM/370 Service Routines Progra. Logic

j,OCOSSing
CDBUF

>

DUMP

Retrieve the member name or
module name and, if specified,
the CSECT name.

2

If starting and ending addresses
aie specified, check validity and
convert to hexadecimal.

PACKADDS

Locate the file.

PACKADDE

3

A. Open the file.
B. Find the CSECT.
(See Diagram 10-6 for details.)

4 Dump the file.
A. Read the file.
(See Diagram 10-7 fer detai!s.)
B. Print the file.
(See Diagram 10-8 for details.j

Notes

1 Retrieve the member name or module

Module

Label

DMSZAP

DUMPREC

name, if specified, from the control
record. If an error is encountered,
issue the message

record.
If starting and ending addresses are
specified, retrieve them from the
control record, check them for
validity, and convert them into hexadecimal digits. If either of the
addresses is not an even number of
digits, issue the message

If all CSECTs are requested, return
control to step 3. When the request
is satisfied, read another control
record (see Diagram 10-2, Step 4).

I I

Continue by reading another centro!

DMSZAP

Module

Notes

DUMPERR

DMSZAP201W !NVALID CONTROL RECORD OR NO GO
SWITCH SET

2

Ref

DMPNTALL

Ref

Label
READINP

I

I

I
I

SCANKEYl
DECODE1
PACKVAL

DMSZAP203W - ER RO R - ODD
NUMBER OF DIGITS - SET
NO GO SWITCH

INVEREP2

and continue by reading another control record:

3 Go to the open routine (PREOPLlB)

DMSZAP

DMPCSECT

DMSZAP

STSTART

to locate the member or module
and the CSECT desired.

4

Use the starting and ending addresses
of the CSECT to determine the length
of the dump if not otherwise specified.
Go to the read text routine to read the
file (RDTXT) and then to the print
dump routine (PRTDUMP).

PREOPl..iB

GORDTXT
RDTXT
PRTDUMP

Diagram 10-3. DUMP Control Record Processing
Chapter 10. The ZAP Service Program

199

Processing

Input

1
CDBUF
INAME

I UF

Output

Process the NAME control record.

A. Retrieve the member name

MEMNAME

or module name and the
CSECT name, if specified.
B. Locate the file.

CSECTNAME

1. Open the file.
2. Find the CSECT.
(See Diagram 10·6 for
details.)

2
CDBUF

IBASE

I

ESDADD

I

I

ESDLEN

I

I

IT
D

Notes

Module

.

~

READINP

Process the BASE control record.
A. Check for valid control record.
B. Retrieve the address, convert
it to hexadecimal digits, and
compare it to the desired
CSECT.

Label

1

Ref

•
~
READINP

Notes

Module

Label

of digits, issue the message
A. Retrieve the member name or
module name and the CSECT name,
if specified, and check for errors.
If errors are found, issue the
message

DMSZAP

INAMEREC
INVEREP

and continue by reading another
control record.

DMSZAP190W INVALID CON·
TROL RECORD OR NO GO
SWITCH SET

If the file is a MODULE file created
with the NOMAP option, accept
the BASE address and continue by
reading another control record_

Continue by reading another control
record.
B. If no errors are found, open the
specified file and locate the desired
CSECT. Continue by reading
another control record.

DMSZAP

NOCSECTl
PREOPLIB
READINP

A. Check that the NAM E control record has been entered. If not, issue
the message

DMSZAP

BASEREC
INVEREP

2

CKBASEl

If the CSECT address is not equal
to the BASE address, issue the
message

INVEREP2

Continue by reading another
control record.

Continue by reading another control
record.

If the address is not an even number

If the file is a LOADLIB or TXTLIB
file, or a MODULE file not created
with the NOMAP option, compare
the BASE address to the CSECT
address. If there is a match, continue by reading another control
record.

DMSZAP195W BASE VALUE
INVALID - SET NO GO
SWITCH

DMSZAP190W INVALID CONTROL RECORD OR NO GO
SWITCH SET

B. Retrieve the BASE address, check
it for accuracy, and convert it to
hexadecimal.

DMSZAP192W ERROR - ODD
NUMBER OF DIGITS SET NO GO SWITCH

DMSZAP

CKBASE
DECODEl
PACKVAL
INVEREP2

Diagram 10-4. NAME and BASE Control Record processing
200

IBM VM/370 Service Routines Program Logic

Ref

I

Input

ESDLEN

:>

LJr==:'

g

CDBUF

g

Process the VER (or VERIFY) or
REP control record.

I

CDBUF

ESDADD

i,a_in

A. Check for validity of the record.
B. Retrieve the displacement and
data and check validity.
C. Read the file and perform the
requested operation.
(See Diagram 10-8 for details.)

I

2 Process the END control record.
A. Issue ending message.
B. Close input file.
C. Return to eMS.

Notes

Module

Label

DMSZAP

GOODTHRE

Ref

1
A. If a NAME control record has not
been enetered or was invalid, issue
the message

I

Convert the data to hexadecimal
and add the BASE value to the
displacement. Check that the displacement plus the data length
will fit within the CSECT. If not,
issue the message

INVEREP

I

I

DMSZAP

EQLNTH
PACKDAT

I

I'NVEREP21

I

I

C. Go to the RDTXT routine to perform the operation, then return
control to READINP.

DMSZAP

A. Issue the message

DMSZAP

GOVER
RDTXT

2
DMSZAP7501 ZAP PROCESSING
COMPLETE

and return control to READINP to
read another control record.

DMSZAP192W ERROR - ODD
NUMBER OF DIGITS - SET
NO GO SWITCH

DMSZAP191W PATCH OVERLAPS - SET NO GO SWITCH

INVEREP2

DMSZAP193W PRECEDING
CONTROL RECORD FLUSHED

Retrieve the data field, remove commas from the field, and check that
the data are an even number of bytes.
If not, issue the message

Ref

and return control to READINP.

If this is a REP control record and
the NO GO swtich is on, issue the
message

B. Check the displacement for validity
and convert into hexadecimal digits.

Label

and return control to READINP
to read another control record.

DMSZAP190W INVALID CONTROL RECORD OR NO GO
SWITCH SET
and return control to READ!NP to
read another control record. Ignore
all VER or REP control records
until the next NAME control record
is encountered.

Module

Notes

DMSZAP

DMSZAP

GOOK
SCANKEY1
DECODE1
PACKVAL
SCANKEY1

B. Close the INPUT file, if it is open,
and free buffer space.

COMEND
INVEREP4

DMSZAP

CLOSEINP
CLRSPCE

C. Return to CMS.

DMSZAP

NOMORE

CKCOMMA2

CKC0MMA3
INVEREP2

Diagra. 10-5. VER/VERIFY or REP and END Control Record processing
Chapter 10. The ZIP Service proqraa

201

Input

Processing

Output

1 Close the library or module, if
open.
MEMNAME

2

:>

Locate the library or module and
check the attributes.

L1BNAMEl

3 Find the member (if library).

libnamel

4 Find the CSECT (if module).

<:1

libname2

G

Iibname3

Notes

Module

1 Close input module and library files, if

DMSZAP

Label
PREOPLIB

open.
CLOSELIB

2

If MODU LE was specified, locate the
module name and search for the mod·
ule. If the module is found, check the
attributes and if they are valid, go to
Step 4. Otherwise, issue one of these
error messages:

DMSZAP

STFDEF

L1BRO

DMSZAP208E FILE 'fn ft' IS NOT
VARIABLE RECORD FORMAT

L1BNTV

DMSZAPOO2W FILE 'fn ft' NOT
FOUND
and read another control record. Ig·
nore all control records until the next
NAME, DUMP, or END control record.
If LOADLIB or TXTLIB was specified,
locate the first library name and search
for the member. If the member is
found, check the attributes and if they
are invalid, issue one of these messages:

PREOPLB3
PREOPLB5
INVEREP2

STFDEF

L1BRO

DMSZAP208E FI LE 'fn ft' IS NOT
VARIABLE RECORD FORMAT

L1BNTV

DMSZAPOO7E FILE 'fn ft' IS NOT
FIXED, 80 CHAR. RECORDS

FILENTF
MEMFND

DMSZAP751I MEMBER FOUND IN
L1BRARY'fn'
If the library cannot be found, issue the
message

PREOPLB3

DMSZAPOO2W FI LE 'fn ft' NOT
FOUND

INVEREP2

and locate the next library name and
execute Step 2 again. If none of the
libraries specified can be found, issue
the message

and terminate processing.

3 When a library is found, read the first

L1BNTFDl

IB~

Label

NOMORE
DMSZAP

OPENFILE
PREOPLB4

DMSZAP056E FILE 'fn ft' CONTAINS INVALID RECORD
FORMATS

INVFORM

Otherwise, locate the directory record
and search for the member name. If the
file is a CMS-only (not OS) TXTLIB
file and the member name cannot be
found, search for the CSECT name. If
a member name or CSECT name is
found, go to the READCESD routine
to find a CSECT record.

READLIB

length of the module and its starting
and ending addresses. Determine if a
map is present and, if not, that no
CSECT name was specified, then exit.
If a CSECT name was specified, issue
the message

iCHKMEM
iCHKCSECT

DMSZAP

CHKLDTBL
NOTABLE
INVEREP2
CHKLOCST

DMSZAP246W NO LOADER
TABLE PRESENT FOR MODULE 'fn' SET NOGO SWITCH
then exit. If a module map is present,
locate the map record and read it. If
the map record cannot be found, issue
the message
DMSZAP056E FI LE 'fn ft' CON·
TAINS INVALID RECORD
FORMATS

INVFORM

Otherwise, locate the CSECT specified
or the first CSECT in the map, and
determine its length, and return control
to caller. If the CSECT specified cannot
be found, issue the message

LDRLOOP

DMSZAP194W CSECT NOT FOUND
IN 'fn ft' - SET NO GO SWITCH
and read another control record.

Diagram 10-6. opening the File
202

Module

DMSZAPOO2E FI LE 'fn ft' NOT
FOUND

4 If the file is a MODULE, compute the

DMSZAP210E FILE 'fn ft' IS ON A
READ/ONL Y DISK

Otherwise, go to Step 3 after issuing
the message

Notes

record. If the header record or the
pointer to the directory is invalid, issue
the message

DMSZAP210E FILE 'fn ft' IS ON A
READ/ONL Y DISK

If the module cannot be found, issue
the message

Ref

VM/370 Service Routines Program Logic

FNDCLNTH
INVEREP2

-

Ref

Processing

Output

A. Read a record.
B. Check for ESD type.

2

u=
nb
!

Find ESD record.

Match CSECT name (if specified)
against ESD record, or use CSECT
name in ESD record.

>1

ESD record

ESDADD

ESDLEN

Notes

Module

Label

1 Read a LOADLIB or TXTLIB member

DMSZAP

READCESD
~XTESD

record. Check to see if it is an ESDtype record. If not, re-execute Step 1.

2

If there is a match, save the starti ng
address and length. If there is no
match, issue the message

Module

Ref

Label

pEARCHSD

NAl\~E or DU~.~P control record, com-

I

Notes

~DLlB

If a CSECT name was specified in the
pare it with the CSECT name(sl in the
ESD record(s).

Ref

I

~SEcrFNJ

I

I

NOCESD2

DMSZAP194W CSECT NOT FOUND
IN 'fn ft' - SET NO GO SWITCH
If no CSECT name was specified in the
NAME or DUMP control record, use
the first CSECT named in an ESD
record.
If ALL was specified in a DUMP control record, use the next CSECT name
encountered in an ESD record.
Control then returns to caller.

~EMEND

Diagram 10-1. Finding the CSECT
Chapter 10. The ZAP Service Program

203

Processing

Input

8

-:------.,>

Output

I

Read the file.

2 If the file is a LOAD LIB or

PACKDISP

'----~I

Text Record

I

tiE

>

1

DI>

Text Record

TXTLlB, check for the desired
TEXT record.

3 Locate the desired position within
the record.

4

If DUMP was specified, go to the
PRINT routine.
(See Diagram 10-9 for details.)

5

Perform the VER or REP operation .~=====~>
If the operation is REP, rewrite
the record.

Notes

Moduie

1 Read the next record of the file. If

DMSZAP

RDTXT

DMSZAP

RDTXTLIB

Label

Ref

8
Module

Notes

Ref

Label

the record.

WRLlB

If the operation is VER, compare each
byte read with the data in the VER
control record. If they do not agree,
issue the message

VERLOOP

the file is a module, go to step 3.

2 If the file is a TXTLlB, check for the
desired record. If not, repeat step 1.
Otherwise, check for valid characters.
If there are no valid characters (that
is, if the area is a Define Storage area),
and the operation is VER or REP, issue
the message

RDTXTFN[

DMSZAP200W VERIFY REJECT
- SET NO GO SWITCH

I!
I

DMSZAP248W INVALID VER/REP
DISP - SET NO GO SWITCH
If there are no valid characters, but the
operation is DUMP, determine the
length of the gap and handle it as a
TEXT record.
If the file is a LOAD LIB, check for the
desired record. When it is found, check
for valid characters as with a TXTLIB
and, if valid, read the next record for
the actual text.

3 Determine the position within the

DMSZAP

RDLDLIB

~DLDCHK

DMSZAP

~HKVER

DMSZAP

~ERCHK

I

DMSZAP

~ERLOOP

I
I

i

I

I

I

I
j

~ERIFY1

~ERIFY2

Diagram 10-8. Reading the Text
204

,
!

PRTDUMP
If the operation is REP, replace each
byte read with the data supplied in
the REP control record. When the
end of the record is reached or the
REP operation is completed, rewrite

II
I

to the PR INT routine to print out lines.

5

RDTXEND

If another record is required, go to
step 1. Otherwise, control returns to
caller.

record.

4 If the operation desired is DUMP, go

VERIFY1

IBM VM/370 Service Routines prograa Logic

I!

Output

,------. ~==~>

TEXT record

If the start of the record does not
follow the end of the previous
record, put out blanks for the
missing characters.

CSECTNAM
L----I

_---'I I

TEXT record

i

~ACKADD~ I

II I

~ACKADDE

II

I

I

HOLDLINE

I

I

If 'ALL' was specified and this is
the first line, put out the CSECT
name.

3

Set up the print line.

:>

~

I

2

I II;

II

>

»

()

1_

~~

~---...

I
I

~

I

1 ~

Initialize.

2

Define files.

DMSIFC826E

parameters.

4

->

Control
Parameters

Construct parameter list and
control card file.

1--'---1

5 Handle special requests.

'11r==>1
I

REG 1

B

I

~

3 Determine source of control card

ur

6

Uok to DSNS

EREP (lFeEREP1

-2-J

Data from
error
recording

7 Trap EXCPs to SYS1.LOGREC
issued by OS/VS EREP. Simulate
EXCP operation calling on
DMSREA to supply data from
VM/370 error recording cylinders.

~

hr
I
JribI

OSPARM
list for
OS/VS
EREP

DMSIFC023E
DMSIFC070E
DMSIFC002E
DMSIFC007E
DMSIFC831E
DMSIFC104S

I

n
n
I

DMSIFC825E
DMSiFC82S;
DMSIFC829W

~

DMSIFC832S

---II

1_ _
CY_linders

i

Notes

Module

1 The initialization procedures include:

DMSIFC

Label
DMSIFC

•

Standard linkage and addressability
functions.
Loading and resolving VCONs in
OS/VS EREP decks.
Loading DMSREA.
• Turning off flag in CMS nucleus to
cause OS simulation.
Setting COMPSWT in CMS nucleus
to load LINK and LOAD macros
to be entered in TEXT files.
• Establishing handling of SVC 76,
SVC 18, and SVC O.

Ref
Diagram
11-1

•
•
•
.,

1<

•
•
•
•

(SERLOG).
Error file (TOURIST).
Work file (DIRECTWK).
Accumulation tape fi Ie (ACCD EV).
History input tape (ACCIN).

3 Determine where control parameters
are to be taken from (Control file
or terminal).

5

If CLEAR is specified with other
parameters, type an error message.
If CLEAR is specified properly, call
subroutine to erase error records from
the VM/370 error recording cylinders.
Subroutines handle each parameter
information:

•
••

INDRWD'S.
I

RDYACC
RDYHIST
OPER12

Module

Label

Ref

HCLEARF

HCLEAR
HTERM

HSHARE

l~mCRD
HHIST
HMERGE
HMES
HRDESUM
HZERO

6 Load the address of the word that
points to the OS PARM list built for
OS/VS EREP and LINK to IFCEREP1.

HAVETYPE
NOEXTRA
BADATTR
GOODATTR

4 Set up to read parameters. Obtain
storage for OS PARM list to be passed
to EREP. Read control parameters,
generating the OS PARM list and a
SYSIN file as output. Call subroutine
to read control parameters. Handle
errors.

CLEARF parameter (determines
validity by examining processor
identity. If not 3031,3032, or
3033 processor reject command
but if valid, erase error records
from the error recording cylinders
then initialize SRF frames to the
beginning of the error recording
cylinders.)
CLEAR parameter.
TERMINAL parameter (stops
reading from control file on disk
and goes to terminal to read additional control parameters) .
• SHARE parameter.
• CTLCRD parameter.
ACC parameter.
• HIST parameter.
MERGE parameter.
MES and THRESHOLD parameters.
• RDESUM parameter.
• ZERO parameter.

••

liivoke FILEDEF to define:

Printer file (EREPPT).
•• SYSIN
file (SYSIN).
• Dummy file for SYS1.LOGREC

Notes

7 EXCP SVCs from EREP are interDiagram
11-1

PARMWORI<
RDERR1
PLiSTBLD

cepted and simulated so they appear
to access a SYS1. LOG R EC data set.
Simulation causes calls to DMSREA
for VM/370 error records. BLDL
SVCs from EREP are also trapped and
simulated by DMSIFC.

::lMSIFCO
DMSIFC18

WANTCLR
CLEARRTN

Diagraa 11-1. DftSIFC
Chapter 11a DftSIFC and DftSB!I--ERlP/Error Recording Interface

213

Processing

Input
IREG 1

~CCBOR

Output

Initialize and find error recording
area on disk.

2 Obtain block containing the
requested record, read a page and
handle errors.

3 If the requested record could not
be read (I/O error) or if there is
no such record, continue reading
consecutive blocks until the next
record is found. Calculate its
CCBOR address; this becomes the
corrected CCBOR.

,

)~

T6

Ib

DMSREA830E
REG 15

r&r;I

~

4 Clean up and return to caller.

Notes

Module

1 The initialization procedures include:

DMSREA

Label
DMSREA

Saving registers.
return code to zero.
••• Setting
Issuing DIAGNOSE X'2C' to locate
beginning of error recording area
and number of cylinders.

Setting and checking "first time"
• switch_
• Checking CCBOR address passed
for validity.
Note: A CCSOR disk address is a
disk addressing format devised
solely for use in CPEREP and
resembles the commonly used
CCHHR disk address. In a CCBOR
addre~s the fields have the following
meanmg:
Field

Meaning

CC

Relative cylinder within
the VM/370 error recording area, for example:
CC = X'OOOO' for the first
cylinder of the error
recording area.
= X '0001 , for the second cylinder of the
error recording area.
The number of the desired
4K block within the cylinder. The first 4K block
in a cylinder is X'01'.
Zero.
The number of the desired
record within the 4K block.
The first record in a block
is X'01'.

B

0
R

FIRSTSW
OPER4

Ref
Diagram
11-2

NotlS
2 DMSREA converts the CCBOR
address to a VM/370 Control Program
Internal Format address and issues a
DIAGNOSE X'30' to read the block
into the buffer. If the requested block
is found, return to caller. If specified
cylinder is outside error recording area,
sets error code in register 15 for invalid
cylinder. If end of cylinder and
no more cylinders are available,
sets register 0 to zero, indicating
end-of-file to caller; otherwise,
advance to next cylinder. If
an I/O error occurs so that the block
could not be read, issue message
DMSREA830E_

Label
OPER5
OPER7
OPER16
OPER17

OPER7

OPER9

3 If requested record was not found, read
next block and return first record from
this block_ If block is empty or unreadable, continue reading blocks until a
record is found or until end-of-file is
reached_ Use CCBOR address of the
record found as the corrected CCBOR
value to be returned to the caller. Make
register 1 point to this CCBOR address.
Note: The CCBOR record addresses
are passed back to OSIVS EREP (as a
result of the EXCP simulation) as if
they were CCHHR addresses. EREP
never notices the difference and, as a
result, EREP uses CCBOR addresses in
all its I/O operations to the
SYS1.LOGREC data set.

OPER10

OPER15

4 Restore registers (except output parameter registers) and return to caller.

Diagram 11-2. DMSREA
214

Module

IBM VM/370 Service Routines Prograa Logic

Ref

Program Organization
This secticn includes program descriptions
of modules DMSIFC and DMSREA.

88

100
DMSIFC
Allows virtual users to edit and print
VM/370 error recordings under eMS via the
OS/VS
EREP Edit
and Print
Program
(IFCEREP1) ..

Routines Called
--IFCEREp'--via LINK to edit and print
VM/370 error recording cylinders.
DMSREA via BlLR to read a specified
record from the VM/310 error recording
cylinders.
DMSLlD via
BlLR to
determine which
read/write disk has the most space.
DMKIOG via DIAGNOSE to clear requested
recording cylinders.
STATE/STATEi via SiC
to perform CMS
functicns.
ERASE via SiC to perform eMS functions.
INCLUDE via SVC to perform CMS functions.
Attributes
- Nonreusable, CMS User Area, and called by
CMS.
~~gis!~!§ ~! ~~trI

R1:
R13:
R14:

CMS parameter list address
Save area address
Return address

!ttem~t to set
to zerc
was
sUFpressed.
Requires
privilege
class F.
Error reading file frem
disk.

Register Us~§
Parameter registers
R2-R 9:
Scratch
R1O-R11:
Spares, not used
R12:
Base register
R14-R15:
Link registers
RO-Rl:

External References
--CoRRslvi----Contains
address
of
the
current system save area when
control is received to handle
an SVC as requested by the
HUDsve macro.
OSSFLAGS
OS simulation flags in the
NUCON area.
rOSFLAGS
DOS simulation flags in the
HUCON area.
JJDTLKi
Contains address of routine
that
aetermines
which
read/write disk has the mcst
space.
(In the HUCON.)
TITLIES
Indicates whether or net any
TITLIBs have been globaled.
(In the HUCCD.)
TXTDIRC
Indicates whether or net any
TITLIBs havE been globaled.
(In the HUCCH; Ioints to the
first directory in the chain
of
global
TITLIE
directories. )
The functions performed by CMSIFC can be
summarized as follows:

~§g!§!~!§

at Exit
RO-R14: -Restored
R15:
One of the following return codes
Return
Cede

-'224
28

32
56
60

62

Performs
standard
linkage
addressatility functions.

2.

Invokes CMS LOAD function te load
and resolVE VCONs in about a dozen
FREP object decks.

!1~!!niDSI

CLEAR specified
with
other parameters.
An invalid parameter or
no
filetype
was
specified.
The file Was not found.
The file was
not a
fixed-length format.
GLOBAL command was not
issued
for
CPEREP's
TITLlBs ..
An I/O error caused one
or more
of the
4K
blocks of error records
to be skipped.
More than the maximum
number of characters in
options specified.
Chapter

11~

and

1.

!ote: All other EBEP object decks
are brought into storage later, as
needed, by OS LOAD and LINK macres
issued by CS/VS EREf.
3.

Invokes
STRINIT
function.
Indicates that area above presently
loaded programs is the beginning ef
free storage.

4.

Turns off the DCSSVC flag in the
CMS nucleus so that OS simulation
can be used. SEts CCMPSWT in CMS
nucleus so that OS LCAD and LINK
macros bring in TEXT files rather
than module files. Invokes OS LCAt

DMSIFC and DMSRI1--EREP/Error Recording Interface

215

to lead DMSREA into storage and
saves its address so it can be
called
later during
the
EICP
simulation.
5.

Establishes handling of
SVC 76
(error log), SiC 18 (BLDL), and SVC
o (EICP).

6.

Invokes FILEDEF function to define:
• Printer file for EREP
• SYSIN file to be created for
EREP
• Dummy file for EREP to open and
close as SYS1.LOGREC
• "TOURIST" error file to the
terminal
• DIRECTiK work file on disk

7.

Gets the co.mand line arguments and
determines if a control file is
provided for inFut. If so, sets up
to read parameters from the control
file,
otherwise, sets up to read
parameters from the terminal.

8.

Issues a DMSFREE
macro to get
storage for building OS parameter
list to be passed to EREP.

9.

Gets inFut parameters (from control
file or terminal)
and constructs
equivalent as/vs
EREP parameter
list and SYSIN control card file.

10.

If CLEAR was specified, and it vas
not the only parameter specified,
types an error
message to the
terminal and does housekeeping and
exits to CftS.

11.

12.

in calls to DMSDEA to get records
from
VM/370
error
recording
cylinders. An EXCF that attemFts
to rewrite the SYS1.LOGREC header
is a result of the ZERO functien
and is simulated
by calling a
subroutine to issue the DIAGNCS!
that clears the error records from
the error recording cylinders.

If CLEAR was specified correctly,
calls a subroutine to issue the
DIAGNOSE
that
clears
the
approFriate records from the VM/370
error
cylinders,
then
does
housekeeping and exits to CMS. If
CLEARF was specified, read CPU and
director frames from SRF device and
write on error cylinder.
Invokes FILEDEF
to define
the
accumulation
tape
file
if
requested. Issues the tape control
macros necessary to position tape
for subsequent write operations.

16.

Eventually OS/VS EREE is done and
control returns from that LINK done
atove.

17.

Housekeeps
all
indicators
and
switches,
frees
any
storage
ottained for the OS Farameter list
area, clears handling of SVC 0, SVC
18, and SiC 76; and clears any
FILEDEFs that
were set
up by
CPEREP.

18.

Exits to CMS.

Dft SREA
Reads a specified logical record from the
VM/370 error recording
cylinders and
returns it to the caller.

Routines Called

--DIAGiOS~I'2C'

to find the beginning of
the recording area on the system disk,
and the number
of error recording
cylinders.
DIAGNOSE 1'30' to read a Fage size recerd
from the error recording cylinders.
tMSERR via macro SVC to write error
messages to the console.

Attributes
--Nonreusable,
CALL.
!!gist!£§
R1:
R13:
R14:

13.

Invokes FILEDEF to define history
input taFe if requested and makes
sure that it is rewound.

14.

Links to as/iS EREP (IFCEREP1).

15.

Simulates BLDL SVCs issued from
OS/VS EREP. Simulates EIEC SVCs
issued from as/iS EREP so they will
appear to access a SYS1.LOGREC data
set. EICP simulation viII result

216

IBM VM/370 Service Routines Prograw Logic

R1:
R13:

User Area,

enter

via

~~ Ent!I

Address of CCBOR DASD record address
Save area address
Return address

Regist~£ ~~

R0:

CMS

,£;xit
Nonzero:
address
of
record
being
var iable-lengt b
returned.
The first 4 bytes are the recerd
descriptor word ccntaining the
record length.
Zero: end-of-file; no record was
at or beyond the entered address.
Address of CCEOR
DASI record
address (soaetimes corrected).
Save area address.

One of
codes:

R15:

the

following

return

1.

Return
£.9.Q~

1!~~~ing

00
04
08

Nothing unusual.
Empty 4K block skipped.
Invalid CC
value in
CCBOR address that was
entered.
I/O error accompanied
by message DMSIFC830E.

60
1!§gis!~

The functions performed by
summarized as follows:

2.
3.

Usage

RO-R 9:

Rl0-Rll:
R12:
R13:
R14-R15:

Scratch
Spares, not used
Base
Save area address
Scratch

4.

D!SBEI can

he

Issues the DIIGHCSE command to find
the beginning of the V!/370 error
recording cylinders and the number
of cylinders.
Reads a requested record from the
V!/370 error recording cylinders.
Returns the next logical record to
the caller
when the
requested
record does not exist or cannot he
read and
revises the
caller's
specified
CCBOR
address
accordingly.
Handles errors.

~xter~Al ~!~!~A£~

None.

Chapter 11. DMSIFC and

D~ SR !A--

FR FP /Error Recor din 9 Interface

217

Directory
Figure 11-2 is an alphabetical list of the
major labels cf .odules D!SIFC and D!SBEI.
The associated method of operation diagra.s
are indicated and a brief description of

the operation perfor.ed at the point in the
progra. associated with
each label is
included.

i

Ilabel
I

Diagra.

1

Description

I
I

EADATTR

11-1

Handles file not fixed.

ClEARRTN

11-1

logically erases V!/370 error recording cylinders.

DMSIFCO

11-1

Handles trapped EXCPs issued by EBEP.

DMSIFC18

11-1

Handles trapped

OPER7

11-2

Issues I/O error reading records .essage.

OPER9XX

11-1

Handles specification
parameters.

NOEXTRA

11-1

Handles file not found.

EXITO

11-1

Restores registers for exit from DBSIFC.

EXIT1

11-1

Clears handling of SVCs.

EXIT3

11-1

Frees storage allocated for OS para.eter list.

EXIT9

11-1

Frees storage allocated for SVC si.ulation.

FIRSTSW

11-2

Sets indication of first time tBSBEI is called.

BACC

11-1

Directs addition of ICC
built for EREP.

BAVETYPE

11-1

Handles the specification of an
co.mand line.

BClEAR

11-1

Clears all error records from the error recording cylinders.

BClEARF

11-1

Clears SRF frame records and all error records and refor.ats
the error recording cylinders.

BCTlCRD

11-1

Writes CTlCRD inforllation inta SYSIN file
for EBEP to read.

BBIST

11-1

Directs addition
built for EREP.

BMERGE

11-1

Directs addition of BERGE paralleter to OS parameter list being
built for EREP.

BMES

11-1

Directs addition of BES and THRESHOLD parameters to OS
parameter list being built for EREP.

BRDESUM

11-1

Directs addition of BDESUB para.eter to OS parameter list being
built for EBEP.

Figure 11-2.

218

os BLDL macros issued by EBEP.
of

CLEAR

when

with

other

para.eter to OS para.eter list being
extra parameter on the CPEBEP

of HISi' paralleter

DMSIFC and DMSREA label Directory (Part 1 of 2)

IBM VM/310 Service Routines Program Logic

entered

to OS parameter list being

i

ILabel
I

Diagram

Description

HSHARE

11-1

Writes SHARE parameter into SYSIN file for EREP to read.

BZERO

11-1

Directs addition of ZERO parameter to OS
parameter list being built for EREP.

OPER4

11-2

Checks CC portion of entered CCBOR for valid range.

OPER7

11-2

Prepares for and issues DIAGNOSE command to read a page of
error records.

OPER9

11-2

Prepares to read first record of next block.

OPER10

11-2

Retains address of block just read into
buffer. Decides whether this block contains data or is empty.

OPER12

11-1

Handles special considerations for ACC parameter

OPER13

11-1

Handles special considerations for HIST parameter
specification.

OPER15

11-2

Restores registers and returns to caller from D!SREA.

OPER16

11-2

Sets error code for invlaid cylinder.

OPER17

11-2

Handles end of cylinder indication.

PARMiORK

11-1

Issues DMSFREE macro to get storage for
building OS parameter list.

PLISTBLD

11-1

Adds passed para.eters to OS parameter list
being built for EREP.

RECLOOP

11-1

Increments counters to step through buffer until e.Fty or end
of sp~cified record found.

RDCTLINE

11-1

Reads and returns one line of control
parameters fro. the terminal or control file.

RDERR1

11-1

Handles errors reading control file from disk.

iAlfTCLR

11-1

Handles calling subroutine to perform CLEIR.

Figure 11-2.

s~ecificaticn.

DMSIFC and D!SREA Label Directory (Part 2 of 2)

Chapter 11. D!SIFC and DMSB!I--!BEP/Error Recording Interface

219

Data Areas
D!!SREA
No system data areas are used by DMSREA.
However, DMSREA uses 4K of unallocated
storage at absolute location 1'21000' as a
page buffer in which to read the 4K blocks
of error records.

DMSIFC

not store into them. It uses SSAVE and
NUCON also.
SSAiE is the CMS system save
area that saves-the value of the SiC old
PSI, the caller's registers, and other
necessary control infor~ation required tc
process SVCs and return to the caller.
NUCON contains all the nucleus constants
for CMS.
These are either listed at the
end of the module or a description can be
found in the !!L37~ Dat! ~§ !nd £ont!£!
g!Q£! 1~l£ manual.

DMSIFC uses ADTECT (the ADT macro)
and
FSTSECT (FSTB macro) to read from but does

220

IBM V8/370 Service Routines Program Logic

Diagnostic Aids
Figure 11-3 lists the messages issijed by
The
label of the
DMSIFC and DMSREA.
the associated
method of
Ilessage and

operation diagram in which it is documented
are included in the list.

I

,

I Message
Label
Diagram
Message Test
I
I Code
I
~I----------+--------+--------r-----------------------------------------------~

f

DMSIFC002E

NOEXTRA

11-1

FILE Ifn ft [fm] I NeT FCUND

DMSIFC007E

BADATTR

11-1

FILE Ifn ft f. 1 IS NeT FIXED.

DMSIFC023E

NORWDISK

11-1

NO FILETYPE SPECIFIEr

DMSIFC070E

HAVETYPE

11-1

INVALID PARAMETER 'parameter'

DMSIFC1 CQ5

RDERR1

11-1

ERROR Inn' REIDING FILE 'fn ft fm' FRC! DISK

DMSIFC825E

OPER9XX

11-1

'CLEAR' IS VALID ONLY WHEN SPECIFIED BY ITSELF

DMSIFC826E

DMSIFC

11-1

EREP TITLIBS NOT FOUND

DMSIFC8281

CLROKlY

11-1

CPEREP ZERO OR CLEAR HAS BEEN COMPLETED

DMSIFC829W

CLEARRTN

11-1

ATTEMPTED 'ZERO' WAS SUPPRESSED.
CLASS F

DMSIFC831E

PLISTBLD

11-1

MORE THAN 100 CHARS. OF OPTIONS SPECIFIED

DMSIFC832S

EXGENERR

11-1

SOFTWARE INCOMPATIBILITY AT THE CPEREP-EEEP
INTERFACE. COtE=nnn

DMSREA830E

OPER1

11-2

I/O ERROR REArING A BLOCK OF RECORDS FRO! THE ERROR
RECORDING CYLINDERS

Figure 11-3.

80 CHAR. RECORDS

RECUIRES PRIVILEGE

DMSIFC and DMSREA Messages

Chapter 11. DMSIFC and DMSR!A--EREP/Error Recording Interface

221

222

IBM VM/370 Service Routines Progra. Logic

Chapter 12. DMKMSS-The MSS
Communicator
Introduction
The DMKMSS program
operates under the
control of either OS/VS1 or OS/VS2 eMVS) in
a virtual machine. It is a communications
interface
between the
VM/370
control
program and the MSS Mass Storage Control.

It

U~~~

a

co.nination

of

CP-generated

Requests are received from VK/370 in
response
to
a
DIAGNCSE
code
X'78'
instruction issued by DKKKSS.
They are
passed to the MSC using the standard as/vs
SVC 126.
Responses are received frem the

MSC and returned to VM/370 using DIAGNOSE.

attention interrupts on
a virtual I/O
device,
the
DIAGNOSE
code
X'78'
instruction, and OS/VS SVC 126 to provide
coaaunications.

Chapter 12. D!KKSS--The MSS Communicator

223

Method of Operation
This section
describes the
sections of the D!K!SS prograa.
Diagra. 12-1 shows
OSjVS control blocks.

two

major

initialization using

Diagraa 12-2
V!/310 request.

Figure 12-1 shows
these diagraas.

DMKMSS

I
r

I

Diagram 12-1

Diagram 12-2

DMKMSS
Initialization

DMKMSS
Processing

Figure 12-1. Key to the D!KMSS Method of Operation Diagrams

224

shows the processing

IBM VM/310 Service Routines Program Logic

the relationship

of a
of

Processing

Input

Output

Obtain supervisor state, key O.

I

2 Open the communication DCB. --'------'J'\
v

DCB

DMKMSS ENDING ERROR - MSS
NOT INITIALIZED
DMKMSS ENDING ERROR - DCB
FOR COMM. DEVICE NOT
OPENED

3 Ensure running in a virtual
machine.

--'------'-1\
v

DMKMSS ENDING ERRORDMKMSS MUST RUN IN A
VIRTUAL MACH.
CVT

I
II

I

4 Find the communication device
address.

1

~ii

5

6 Issue DIAGNOSE code X'7B'

UCB

I
I

ECB

Set up pointers for the attention
interruption.

subfunction O.

I

7 Wait for the attention
interruption.

Notes

Module

1 Use the VS MODESET SVC to get

DMKMSS

Ref

Label

Notes

6

into supervisor state, key O.

SVC to connect
the DCB to the VS control block.
If MSS initializes incorrectly, issue
message. If the DCB for the
1
~ommunication device does not open,
Issue message.

Build and issue the DIAGNOSE
code X'7B' instruction to tell VM/370
the channel/unit address.

Module

Ref

Label
PROLOG

2 USe the VS OPEN
1

3 Use the STI DP instruction to ensure

I

4

Follow pointers through the DCB,
DEB, and UCB control blocks to
find the channel/unit address assigned
by the VS scheduler.

5

Set the MSC's attention table index
in the communication device's
UCB. Also store the address of the
ECB to be waited on in an unused
field of this same communication

I

~UCB_.

__

RFOO1B2

I

1

RFOOOB2
RFOO190

running in a virtual machine. If not
running in a virtual machine, issue
message.

I

1

II

II

Issue VS WAIT SVC, specifying that
the event control block will be posted
when the attention interruption is
received.

RFooo92 1

L1

I

I

I

I
I

I
I

I

~~~I~I

____~~

Diagra. 12-1. DftKftSS Initialization
Cnapter 12. D!KftSS--The !SS Co •• unicator

225

Input

Processing

Output

1 When the attention interruption

~

is received, issue DIAGNOSE
code X'7B' subfunction X'04'.

B

"-

2

V

If VM/370 has a request, build
SVC 126 parameter list, issue
SVC 126; otherwise, go back
into wait state.

J\.

v

~

INVALID REQUEST CODE IN
VM REQUEST

3 Upon return from SVC 126,
issue DIAGNOSE code X'7B',
subfunction code X'OB' (only
if MSC accepted).
Return to Step 1.

Notes

Module

Label

1 This loop will run in the VS

DMKMSS

MAINLOOP

Ref

Notes

machine as long as MSS support
is in effect. The DIAGNOSE
X'7B' instruction points to a
buffer in DMKMSS into which
VM/370 places an MSSCOM, or
zeros.

2

Look at MSSCOM to determine
volume serial, 3330V device
address, and type of request
(mount or demount). If the
request is inval id, issue a
message. If there are no out·
standing requests, go into a wait
state.

L2

RFOO149

RFOO122

3 The SVC 126 routines issue
orders to the MSC. If the MSC
rejects the order, it sends a unit
check as ending status. SVC
then sets a non·zero return code
in register 15.

DIAG

MSSCHECK

niaaram 12-2. DMKMSS Processing
226

IBM VM/370 Service Routines Program Logic

Module

Label

Ref

Program Organization
This
section
describes
the
organization of the DMKMSS module.

program

!!!.~il

Point
tMKMSS

!~gist~

DMKMSS
The MSS communicator program.

Usage
BO-R9:
Work registers
R10:
Workarea base
R11:
Program base
B12:
Work register
B13:
legister savearea base
R14-R15:
Work registers

Chapter 12.

D!K~SS--The

MSS Communicator

227

Directory

Figure 12-2 is an alphabetical list of the
major labels in the DMK8SS program.
The
figure indicates the associated method of
operation diagrams and it provides a brief

description of the operaticn performed at
the point in the program associated with
each label.

I

I

ILabel

Diagram

Description

I

rJ----------~------~~------------------------------------------------------------~

DIAG

12-2

Issues DIAGNOSE code X '78' subfunction X'08' or X'OC'.

L1

12-1

Follows pointers through the tCB, DEB, and UCE to find
the communicator device address.

L2

12-2

Determines the type of 855 request (mount or de.cunt).

8AINLOOP

12-2

Issues DIAGNOSE code X'78' subfunction X'04', requesting wcrk.

8SSCHECK

12-2

Sets the 8SC completion code for V8/370.

PROLOG

12-1

Initializes for DIAGNOSE code X'78' subfuncticn X'OO'.

RF00082

12-1

Issues STIDP instruction to ensure running in a virtual
machine.

RF00092

12-1

Issues message that ftSS is not initialized.

RF00122

12-2

Waits for the communicator device attention interruption.

RF00149

12-2

Issues message for invalid request code in V8 request.

RF00182

12-1

Issues message that DeE is not opened.

RF00190

12-1

Issues message that this must run in a virtual machine.

Figure 12-2.

228

D8K8SS Label Directory

IBM V8/370 Service Routines Program Logic

Data Areas
The OS/VS control blocks used (CVT, DCB,
DEB, and UCB are described in Q~l Syst~
~~ta
!~, Order
NO.. 5Y28-0605, and in
Q,§/VS2 ~I§!£'! ~£Rygging LibrarI: ~ebugging
~~ndb~~~, Order No. GC28-0632.

The !SS
co •• unicator centrol
block
CftSSCOft) is
described in
IB! Virtual
!achine Facility/370 Datg Irea§ ~~ £~nt!g!
Block Logic, Order No. 5Y20-0884.

Chapter 12. D!K!SS--The !SS Communicatcr

229

Diagnostic Aids
Figure 12-3 lists the .essages issued by
the DftKftSS progra.. The nearest label and

the associated .ethod
are identified.

of operation diagra.

r.-----------,---------r-------------------------------------------------------------,
Diagra.
Message Text
I

I Label

I

I

I
I RF00092
I
I RF00149
I
IRF00182

12-1

DMK8SS EIDING ERROR - MSS NOT INITIALIZED

12-2

INVALID REQUEST CODE IN V8 REQUEST

12-1

DMK8SS ENDING ERROR - teE FOR COM8. DEVICE NOT OPENED

12-1

DftK8SS ENDING ERROR - t!K!SS MUST RUN IN A VIRTUAL !ACB.

I
IRF00190
Figure 12-3.

230

DMK!SS 8essages

IBM VM/370 Service Routines Prograa Logic

I
I
I
I
,
I
I
I

Chapter 13. DMKIMG andDMKNMT-IEBIMAGE Interface

Introduction
The GENIMAGE and IMAGELIB utility programs
enable the installation
to dynamically
change the character arrangement tables,
graphic aodifications, copy aodifications,
and PCBs for the 3800 Print Subsystem.
The
invoked

first program
(module
by
the GENIMIGE
CMS

DMKI!G)
command,

creates TIlT files on a CMS disk. These
TIlT files are the images that will be used
by the 38CO. The IMAGELIE program (module
DMKMIT)
invoked by the IMAGELIE command,
loads the necessary TEXT decks into the
na~ed system allocated at syste~ generation
time.

Chapter 13. DftKlftG and D!KJ!T -- IEBI!AGE Interface

231

Method of Operation
This sectior. describes the VM/370 interface
between eMS and
the IEBIMAGE program.
Diagrams
13-1 and
13-2 describe
the
functions of the interface .odules and
serve as a guide to the program listings.
The labels shewn indicate the closest label

to the function being docuaented. Use the
Directory and Program Organization sections
to find the labels in the prcgram listings
for any routines that are not shown in the
Method of Operation section.
Figure 13-1
shows the relationship of these diagrams.

IEBIMAGE

Diagram 13-1

Diagram 13-2

DMKIMG

DMKNMT

Figure 13-1. Key to the IEBIMAGE Interface Method of Operation Diagrams

232

IBM VM/370 Service Routines Program Logic

Output

Input

1 Validate input parameters.

command line

~

2

I
DUMMY image
library
'GENIMAGE
CMSUT2A1'

Create a DUMMY image library.

3 Issue FILEDEFs for the
DUMMY image library, the
input control file, and the
output SYSPR INT file.

4

5
Control
File

I

Obtain storage for load area.

II

Issue HNDSVC macro.

1

GENIMAGE command parameters
are validated. If a parameter is
inval id, issue return code 100.

2 Create a DUMMY image library.

3

I

Issue a FILEDEF command with
the AUXPROC option for the
DUMMY image library created in
Step 2; this traps all READ and
WRITE operations on that data set.
If any FILEDEF errors occur, issue
a return code of 104.

listing

Module

Label

DMKIMG

LOOP1
LOOP2
PARMERR

•

ENDPARMS

•

I

FILEBAD

byte area for simulating OS LOAD
macros.

6

Issue HNDSVC macro to handle the
following SVCs:
• SVC 8 (LOAD)
• SVC 18 (BLDL)
• SVC 21 (STOW)
Call IEBIMAGE:
• Issue a CMS STATE command
for the TEXT file being searched
for and set appropriate return
codes in SVC save area.

Ref

I

4 Issue a GETMAIN for a 73,000

5

II

6 Call IEBIMAGE.
7 Clean up.

Notes

I
TEXT
File

IBLDLRTN

Notes

I

•
•

Issue CMS LOAD for requested
module and return the address
of the area loaded into, to the
issuer of the LOAD command.
Use CMS LOAD command to
get module into LOAD area and
move data into user-supplied
buffer for the READ.
Treat as no-op and return to
issuer.
Simulate operation of STOW
macro by locating the module
data in the IEBIBLKS work area
and create a TEXT deck from it:
1) Create ESD (external symbol
directory) card and write to
TEXT file (GENIMAGE
CMSUT1)
2) Create all necessary TXT
cards and write to TEXT file
(GENIMAGE CMSUT1)
3) Create an END card and write
to TEXT file (GENIMAGE
CMSUT1 )

Module

Label

Ref

LOADRTN

READRTN

I

WRITERTN
READEXIT
STOWRTN

I

I

TXTLOOP

7 Erase old TEXT file (if one existed)
and rename GENIMAGE CMSUT1
to a TEXT file named IEBIMAGE.

1
Diagraa 13-1. D!KI!G
Chapter 13. DftKlftG and D!KNftT -- IEBI!AGE Interface

233

Input

Processing

Output

1 Verify existence of control file.

command line

~

"v

2 Load all TEXT files requested
in control file into virtual
storage and construct directory
entries.

~
DMKNMT248E
DMKNMT249E
DMKNMT256E

Control
file

3 Cause loaded file to be stored
as the named system.

Named System
(updated or
changed)

~

v

~
DMKNMT2471
DMKNMT254E

Notes

1 Verify the existence of the control
file. If it doesn't exist, give a return
code of 4.

Module

Label

DMKNMT

IMAGELIB
ERROO4

2 Create a DUMMY directory that

Ref

Notes

Load the TEXT file into the CMS
transient area. If a LOAD error
occurs, issue message
DMKNMT256E.

the named system to be saved. If
successful, issue message
DMKNMT2471; if not successful,
issue message DMKNMT254E.

RDLOOP
AFTERRD
NOTEXT

LDERR

Move the file from the transient
area to the core image area if
sufficient storage exists. If not.
issue message DMKNMT256E.
Create a new directory entry for
this TEXT file and return to
RDLOOP. If no more entries, close
the control file, compress the core
image, and adjust the displacements
in the directory.

RANOUT

RDEO:=
DSPLOOP

Diagraa 13-2. DMKNMT
234

Label

3 Issue DIAGNOSE X'74' to cause

will be used to hold the number of
entries in the named system.
Read a record from the control
file and verify the existence of the
indicated TEXT file. If it doesn't
exist, issue message
DMKNMT248E.

Module

IBM VM/370 Service Routines Program Logic

DIAGERR

Ref

Program Organization
This sect10n includes program descriptions
of modules DMKIMG and DMKMNT.

DMKIftG
Provides a CMS interface for the VS-based
IEBIMAGE program by handling certain SVCs
issued by IEBIMAGE and translating them
into CMS terms.
~.!!try

g2int
DMKIMGBG

Routines Called
--FSSTATE-----Determines if control file
exists.
BNDSVC - Traps certain SVCs issued by
IEBIMAGE.
GETMAIN - Gets area for simulating OS
LOAD SVC ..
FREEMAIN - Releases OS LOAD area.
FILEDEF
Issues
FILEDEFs needed by
IEBIMAGE.
LOAD - Simulates OS LOAD and QSAM READ.
FSWRITE - Creates a new TEXT file (STPW
simulation) •
Attributes
--Disk-resident, loaded into CMS user area.
called via SVC 202, serially reusuable.
~~gist~!§ ~! ~.!!!!y

R1:
Standard
CMS
PLIST
R14:
Return address R15: Address of GENIMAGE

~~gist~!§ ~! ~!!!

R15:
R15:
R15:

Return code < 100 for normal
IEBIMAGE execution
Return code 100 if error in
input parameters
Return code 104
if error
during FILEDEF

~!te!.!!~l R~i~!~.!!£es

~!!trI

Routines Called
--FSSTATE-- Determines if CNTRL and TEXT
files. exist.
ISREAD - Reads in the contrel file.
CMS LOAI - Loads the TEXT file into the
transient area.
Attributes
--rIsk-resident as "IMAGELIB". loaded into
eMS user area, ca~~eo
via SiC 202,
serially reusuable.
~~g!.§te~ ~!

R1:

Register 15 contains a return code:

Return
£2g~

o
4
8

12
16
20
100.
return
code
]~9!st~I

HO:
R1:

R2:
B3:
B4:
R5:
R6:

its value
B8:

R9:
DMKNMT

B12:
R 14:

constructs an image library from TEXT
files on user disks
and creates or
replaces that image library via DIAGNOSE
code X' 74' •

!nt!I
Standard CMS PLIST

Reg!st~I ~! ~!!!

R7:

MAINBIGH Saves and restores
between lo.ads.

Point

tMKNMTBL

R15:

Image
library
updated
successfully
Control file· not found or in
error
Specified image nen-existent
Specified image caused LOAD errer
Insufficient virtual storage
I.age litrary is currently active
Error in FSREAD

].§age

~emporary

work register

PLIST register and temporary werk
register
Source address for MveL
Source length fer MVCL
Target address for MVCL
Target length fer MVCL
current end of image library in
storage
available
Pointer
to
next
directory entry
Running counter for
number of
directory entries
the image
starting address of
library in storage
IMKNMT module base
BAtR return address and scratch
register
BALR branch address and scratch
register

~!!~I~~l ~~feI~.!!£~§

None

Chapter 13. DMKIMG and DMKNMT -- IEEIMAGE Interface

235

Directory
Figure 13-2 is an alphabetical list of
the major labels in aodules DMKIMG and
D!KNMT.
The
figure
indicates
the
associated .ethod of operation diagrams

and it provides a trief descripticn cf
the operation perfor.Ed at the point in
the progra. associated with each label.

I
r-----------~--------~~---------------------------------------------------------------_,

ILabel
I
AFTERRD

Diagrall

Description

13-2

Saves the name of the control file.

BLDL2

13-1

Checks for file.

BLDL3

13-1

BLDRET

13-1

Return to user key.

DIAGERR

13-2

Issue error message DMKNMT254E.

DSPLOOP

13-2

Adjusts old displace.ent in directory entries.

-ENDPARMS

13-1

Creates DUMMY image library.

ERR004

13-2

Issues return code of 4.

-FILEBAD

13-1

Issues FILEDEF error.

GETSEQ

13-1

Obtains current value of sequence nu.ter.

LDERR

13-2

Issues error lIessage DMKBftT249!.

LOADRTN

13-1

Sillulates LOAD functions.

LOOPl

13-1

Validates para.eter list.

LOOP2

13-1

Validates options.

MOVETXT

13-1

NOTEXT

13-2

Issues error .essage D!KNMT248!.

OPTIONS

13-1

Scans through

PARMERR

13-1

Gives return code 100 for paralleter error.

RANOUT

13-2

Issue error aessage DMKN!T256E.

RDEOF

13-2

Saves file name for CLOSE.

RDERR

13-2

Checks for end-of-file.

RDLOOP

13-2

Points to file name.

READEXIT

13-1

Issue return codes from READ.

READRTN

13-1

Simulates READ functions.

RETURN

13-1

Saves return code.

RETURN

13-2

Obtains return address.

STOWRTN

13-1

Simulates STOW functions.

TXTLOOP
WRITERTN

13-1
13-1

Creates TXT cards.
Simulates WRITE functions.

Figure 13-2,.
236

DMKIMG an

opt~ons.

DMKNMT Label Directory

IBM VM/370 Service Routines Program Logic

I

I

Data Areas
The following data areas are used by DMKIMG
and DMKNMT:
•
•
•
•

Data Control Block (DCB)
Data Extent Block (DEB)
Data Extent Centrol Block (DECB)
(PDEBLOK)

All the above data

areas except PDBELCK

are described in
the CS/VS2 ]ebyggiBg
Handbook, Vol. 2, Crder Nc. GC28-0988. The
PI!ELOi-is-aescribed in Figure 13-3.

Or---------------------------------------------------------~

PDENAME

4

8

PDEDISP

C

PDELGTH

~j§]lA£:~~!

Hex

Dec

-0 -0
8
OC

8
12

Fi~!~_!!~!!~

PDENAME
PDEDISP
PDELGTH

DS
DS
DS

CL8
1F
1F

12~~£!:!E1ion

M.ember name
REA of start of member
Length of member in bytes

Figure 13-3. PDEBLOK Directory Entry for Named System

Chaptsr 13. D!KI!G and

D!~B!T

-- IEBI8AG! Interface

237

Diagnostic Aids
Figure 13-4 lists the messages issued by
the DMKIMG and DMKHMT. The nearest label
I

I Message
I Code

Label

Diagram

and the associated method
diagram are identified.

cf

operation

Message Test

I
DMKHMT2471

RETURN

13-2

3800 NAMED SYSTEM CREATED SPECIFIED ll!AGE i.age

DMKNMT248E

HOTEXT

13-2

SPECIFIED IMAGE image NON-EXISTENT

DMKHMT249E

LDERR

13-2

ERROR LOADING IMAGE image

DMKNMT254E

DIAGERR

13-2

ERROR SAVING imag380C - Re

DMKNMT256E

RANOUT

13-2

INSUFFICIENT VIRTUAL STORAGE

Figure 13-4.

238

DMKIMG and DMKHMT Messages

IBM VM/370 Service Routines Program Logic

(return code)

Index

A

abnormal termination
(~~~ abeud)
ACCOUNT control statement 84
sequence 84
ADT macro
220
allocation program
(§§§ format/allocate
program)
allocation record
ii7
allocation table 68
alternate track 9
Assembler language test
117
Assembler update procedure
label directory
151-152
overview
131
assembling the program
134
auxiliary file
126

E

binary information, how handled by
Interactive Problem Control System
block multiplexer option 84,91
building a VM/370 directory 81

35

C

CCH record
(§§§ inboard record)
CLEAR option
213
CMS commands
211
CPEREP command
DDR command 93
DIRECT command 81
INCLUDE command
211
UPDATE command
126-127
CMS IVP tests
121
coded abend, how handled by Interactive
Problem Control System 33
CONSOLE control statement, directory
program 86
control blocks, how formatted and printed
by Interactive Problem Control System 36
control files
125
copy function 99
COpy control statement 96
copying a DASD 93
copying a tape 93
CP abend dumps 18
CP copy files
143

CP IVP tests
121
CP macro files
143
CP macro litrary creation
143
CPEREP (EXEC) co.mand
211
creating and updating procedures
125-161
Assembler update procedure overview
131
auxiliary file
125
centrol files
125
diagnostic aids
155-161
DMSUPD (update program)
I~O
GENERATE procedure
158-160
VMFAS! EXEC procedure
155
VMFLOAD program
157
VftFftAC procedure
157
DftKLDOOE service program (loader)
128
D!SUPD (update program)
126
control record processing
i38
exit processing
141
inserting updates
140
multiple update
137
operand and option checking
136
overview
134
single update
139
GENERATE procedure
127
generating a CP system
147-148
introductory message
144-146
Interactive Problem Control System
127
introduction
125
key to method of operation diagrams
130
latel directory
Assemtler update procedure
151-152
GENERATE procedure
154
VftFLOAD program
153
V!F!lC procedure
153
leader
127
LeADER EXEC procedure
147-148
messages
D!!SUPD (update program)
156
GENERATE procedure
158-160
V!!FAS! EXEC procedure
155
VMFLOAD program
157
V!!F!!AC procedure
157
method of operation
129
naming conventions
125
nucleus loader
127
program organiZation
149
RSCS
127
system EXEC procedures
126

Index

239

text decks
125
TXT files
125
UPDATE command
126-127
update files
125
VMCNTRL file
147-148
VMFASM EXEC procedure
126-127
assembling
133
initialization
132
VMFDATE program
126-127
VMFLOAD program
126-127
control file
127
nucleus load
142
VMFMAC EXEC procedure
147-148
VMFMAC macro library
creation procedure
143
update procedure
128
CTRL file
142
cylinder bit map 67
cylinder byte map 68
cylinder header record, format 106

D

DASD
copy function 93
dumping 93
print function 93
restoring 93
track header record 93
type function 93
virtual disk initialization via IBCDASDI
3-15
volume header record 93
CASD dump/restore program' 93-111
control statement processing 96
copy function 99
data areas
cylinder header record 106
lOB 108-109
track header record 107
diagnostic aids 110-111
dump function 97
entry point 102
exit 95
external references 102
initialization 95
introduction 93
key to method of operation diagrams 94
label directory 103-105
messages 110-111
method of operation 94
overview 95
parameter list 95
print function 100

240

IBM VM/370 Service Routines Program Logic

Frogram description 102
Frogram organization 102
register usage 102
restore function 98
return cedes 102
tYFe function 101
data areas
DASD dumF/restore program 106-109
directory program 91
DMKIMG
237
DMKNMT
237
EREP/Errer Recording Interface
220
fermat/allocate program 71
IEBIMAGE Interface
237
Interactive Problem Control System
53-59
MSS Communicator
229
use 1
virtual disk initialization 12
ZAP service program
209
3704/3705 service programs
190
DDR (§~~ DASD dump/restore program)
DEDICATE control statement 85
default addresses, DMKLDOOE service program
(loader)
128
defective track 9
deleting pregram statements
139
DIAGNOSE '30'
215-217
DIAGNOSE code X'78'
223
DIAGNOSE X'2C'
214
DIAGNOSE X'30'
214
diagnostic aids
creating and updating procedures
155-161
DMSUPD (update program)
156
GENERATE procedure
158-160
VMFAS! EXEC procedure
155
VMFLOAD program
157
VMFMAC procedure
157
DASD dumF/restore program 110-111
directory program 92
D!KIMG
238
D!KNMT
238
EREP/Errer Recording Interface
221
fermat/allocate program 80
IEEIMAGE Interface
238
installation verification procedure
123
Interactive Problem Control System
60-62
MSS Communicator
230
starter system program
168
use 1
virtual disk initialization 14-15
ZAP service program
210
3704/3705 service programs
191-194
diagnostic labels (§~ latel,
corresponding program functions)

diagrams
extended description 1-2
how to use 1-2
input block 1-2
interpretation 1-2
keys 2
output block 1-2
process block 1-2
direct access storage device (~~ DASD)
DIRECT command 81
directory
DASD dump/restore program 103-105
directory program 89-90
DI!KII!G
236
DI!KNI!T
236
EREP/Error Recording Interface
218-219
format/allocate program 10
IEBII!AGE Interface
236
installation verification procedure
122
MSS Communicator
228
starter system program
167
use 1
virtual disk initialization 11
VI!/370 creating and updating procedures
150
Assembler update procedure
151-152
GENERATE procedure
154
VI!FLOAD program
153
V!FMAC procedure
153
ZAP service program
207-208
3704/3705 service programs
185-189
ASI!3705 processor
186
GEN3705 processor
187-188
LKED processor
188
modules
185-189
NCPDUI!P processor
185
SAVENCP processor
188
DIRECTORY control statement~ directory
program 86
directory program
building a new directory 81
building allocation record 86
control statement processing 85
control statements
ACCOUNT 84
CONSOLE 86
DEDICATE 85
DIREC.T 84
DIRECTORY 86
IPL 86
LINK 86
I!DISK 84
OPTION 84
SPECIAL 86
SPOOL 85
USER 84

data areas
UDEVBLOK 91
UDIRBLOK 91
UI!ACBLOK 91
diaqnostic aids 92
directory exit 87
entry point 88
external references 88
introduction 81
key to method of operation diagrams 82
latel directory 89-90
messages 92
method of operation 82
overview 83
prerequisites for running 81
program description 88
prograa organization 88
register usage 88
return codes 88
swapping directories 81
disk (2~§ ~lso DASD)
dumping 93
DI!FREE macro
215-217
DMKDDR (§~ DASD dump/restore program)
DI!KDIR (§~~ directory program)
DI!KII!G
data areas
237
diagnostic aids
238
entry points
235
exit
235
external references
235
label directory
236
logic diagram
233
messages
238
program organization
235
register usage
235
return codes
235
routines called
235
DMKLDOOE service program (loader)
128
DMKI!SS initialization
225
DMKI!SS processing
226
DI!KI!SS program
223
DMKNMT
data areas
237
diagnostic aids
238
entry points
235
exit
235
external references
235
label directory
236
lcgic diagram
234
messages
238
program crganization
235
register usage
235
return codes
235
routines called
235
DMKSSP (2§§ starter system program)
DMMCPA, program organization of 38

Index

241

tMftDIR, progra. organization of 38
tMMtSC, progra. organization of 38-39
DMMEDM, progra. organization of 39
DMMFED, progra. organization of 39
DMMFEX, progra. organization of 40
DMMGET, progra. organization of 40
DMMGRC, progra. organization of 40
DMMBEX, progra. organization of 41
DMMIDM, progra. organization of 41
DM!IHI, program organization of 41-42
DMMIHT, progra. organization of 42
DMMIOB, progra. organization of 42
DMftLOC, progra. organization of 42-43
DMMMAP, progra. organization of 43
DftftftOD, progra. organization of 43
DMftPRG, progra. organization of 43-44
tftftPRM, progra. organization of 44
DftftPRO, program organization of 44
DftftREG, progra. organization of 44-45
DftftRft', progra. organization of 45
DftftSCR, program organization of 45
D!ftSEA, progra. organization of 45-46
DMftSTA, program organization of 46
DftftSUft, progra. organization of 46
D!ftTRC, program organization of 46-41
DftftTRH, progra. organization of 41
D!M'ftB, progra. organization of 41
DftftWRT, progra. organization of 47
DMSFREE macro
211
DftSIFC (~ EREP/Error Recording Interface)
DftSREA (§~~ EREP/Error Recording Interface)
DftSUPD (update progra.)
126
138
control record processing
exit processing
141
inserting updates
140
label directory
151-152
.essages
156
multiple update
137
operand and option checking
136
overview
135
single update
139
dump (§~ 'ftFDUftP program)
du.p file, how printed by Interactive
Problem Control System 37
du.p function 97
DUftP control statement 96
writing DASD records on tape 97
writing volume header record 97
dumping a DASD 93
DUftPSCAH, Interactive Proble. Control
System command 17,21-23

E
Editor test
118
entry,point, EREP/Error Recording Interface
215-211

242

lEft V"/370 Service Routines Program Logic

entry point
DISD du.p/restore progra. 102
directory progra. 88
DBKIMG
235
DBKH!T
235
EREP/Error Recording Interface
215-217
for.at/allocate progra. 69
IEBIMIGE Interface
235
!SS Co •• unicator
221
starter system progra.
166
virtual disk initialization 10
ZIP service prograa
206
3704/3105 service prograas
D!KRRD
181
DftSIRN
181-182
DMSIRX
182-183
DftSGRR
183
D!SLKD
183
D!SHCP
184
EREP/Error Recording Interface
211-221
data areas
220
diagnostic aids
221
D!SIFC
213
D!SREA
214
entry points
215-211
exit
215-217
external references
215-211
introduction
211
key to .ethod of operation diagrams
212
label directory
218-219
.essages
221
aethod of operation
212-214
overview
212
parameter list
214
progra. description
211
progra. organization
215-211
register usage
215-217
return codes
215-211
error processing, installation,
verification procedure
119
EXEC procedure, installation verification
procedure 113
exit, virtual disk initialization 10
extended description 1-2
external references
DASD dump/restore program 102
directoiy program 88
DMKIftG
235
DMKBftT
235
EREP/Error Recording Interface
215-217
IEElftAGE Interface
235
starter system program
166
virtual disk initialization 10

F

file status table entry, ZAP service
program
209
format prograa (~format/allocate
prograll)
format/allocate prog~am
allocate function 63,68
data areas
record F3 14
record F4 14
record 0 11
record 1 format 11
record 2 foraat 12
record 3 foraat 72
record 4 14
record 4 for~at 13
record 5 format 73
record 6 forllat 74
2305 models 1 and 2 record layout 77
2314/2319 record layout 75
3330 series record layout 75
3340 series record layout 78
3350 series record layout 79
diagnostic aids 80
directory 10
entry point 69
execution 63-64
format function 63,67
introduction 63
key to method of operation diagrams 65
label only function 63
aessages 80
aethod of operation 65
overview 66
prograll organiZation 69
prompter messages 66
register usag~ 69
FSTE macro
220

G

GENERATE procedure
127
build a new C!S nucleus
144-146
tuild a new CP nucleus
144-146
build a new V!/370 directory
144-146
build the RSCS nucleus
144-146
create a new buffer load (D!KFCB)
144-146
create a new real I/O deck (D!KRIO)
144-146
create a new systell deck (DftKSYS)
147-148
create a new systea naae table (DftKSNT)
144-146
create a standalone copy of service
prograas
144-14~
generating a CP systea
147-148

introductory message
144-146
latel directory
154
lead the Interactive Problem Control
System modules
144-146
messages
158-160
punch standalone service programs
144-146
generating a CP system
141-148
generating and updating procedures (~~
creating and updating procedures)
GENlftAGE, program description
231

H

HNDSVC macro

211

I

IBCDASDI (§~ virtual disk initialization)
IEBlftAGE Interface
data areas
237
diagnostic aids
238
entry points
235
exit
235
external references
235
introduction
231
key to method of operation diagrams
232
label directory
236
.essages
238
.ethod of operation
232-234
overview
232
program description
231
235
progra. organization
register usage
235
return codes
235
routines called
235
illustrations
classification 1
Ilumbering 2
IftlGELIB command
231
IftAGELIB program
231
initialization
D1SD du.p/restore progra. 95
track 9
virtual disk (~~ virtual disk
initialization)
input block 1-2
INPUT control state.ent 96
input/output block (~ICB)
inserting program statements
139
installation verification procedure
assemble lSSEftBLE file
117
CftS test sections
121
CftS tests 113
Cp test sections
121

Index

243

CP tests 113
117
create ASSEI!BLE file
123
diagnostic aids
error processing
119
117
execute program
introduction 113
IVP EXEC procedure 115
IVPX EXEC procedure 116
key to method of operation diagrams 114
label directory
122
messages
123
method of operation 114
multiple machine test
117
program organization
120
real system configuration 116
routine structuring
120
single machine test 116
test Assembler program
118
test Editor
118
test procedure 1
117
test procedure 2
118
test sections
121
Interactive Problem Control system
127
creating and updating procedures
diagnostic aids 60-62
introduction 7-18
key to method of operation diagrams 20
messages 60-62
method of operation 19-37
report files 17
Interactive Problem Control System
(Interactive Problem Control system)
127
loading
144-146
Interactive Problem Control System commands
DUI!PSCAB 17
PRB 17
PROB 17
STAT 17
VI!FDUI!P 17
Interactive Problem Control system files
BUCI!AP file 17
STATALL LOCAL file 17
summary record 17
symptom summary 17
introduciton, EREP/Error Recording
Interface
211
introduction
DASD dump/restore program 93
directory program 81
EREP/Error Recording Interface
211
format/allocate program 63
IEBII!AGE Interface
231
installation verification procedure
113-123
I!SS Communicator
223
starter system program
162
use 1

244

lEI! VI!/370 Service Routines Program Logic

virtual disk initialization 3-4
VM/370 creating and updating procedures
125
ZAP service program
195
3704/3705 service programs
169
IBTSECT, VMFDUMP and PROB internal data
area 57
lOB
format 108-109
uFdate 96
IPL control statement, directory program
86
IVP
(see installation verification
procedure)
IVP EXEC procedure 115

K

key to
method of operation diagrams
DASD dump/restore program 94
directory service program 82
format/allocate service program 65
installation verification procedures
114
Interactive problem Control System
20
virtual disk initialization 5
VM/370 creating and updating
procedures
130
ZAP service program
196
3704/3705 service programs
170
keys on diagrams, meaning 1-2

L

label
ccrresponding program functions
DASD dump/restore program 103-105
directory program 89-90
DMKIMG
236
DI!KBMT
236
EREP/Error Recording Interface
218-219
format/allocate program 70
IEBIMIGE Interface
236
installation verification procedure
122
Interactive Problem Control system
48-52
MSS Communicator
228
starter system program
167
virtual disk initialization program
11

VM/370 creating and updating
procedures
150
VM/370 creating and updating
procedures, Assembler update
procedure
151-152
VM/370 creating and updating
154
procedures, GENERATE procedure
VM/370 creating and updating
153
procedures, VMFLOAD program
VM/370 creating and updating
153
procedures, VMFMAC procedure
ZAP service program
207-208
3704/3705 service programs
185-189
labei directory
DASD dump/restore program 103-105
directory program 89-90
DMKIMG
236
DMKNMT
236
218-219
EREP/Error Recording Interface
format/allocate program 70
IEBIMAGE Interface
236
installation verification procedure
122
Interactive Problem Control System
48-52
MSS Communicator
228
starter system program
167
virtual disk initialization 11
VM/310 creating and updating procedures
150
ZAP service program
201-208
3104/3105 service programs
185-189
ASM3105 processor
186
GEN3105 processor
181-188
LKED processor
188
NCPDUMP processor
185
SAVENCP processor
189
LINK control statement, directory program
86
loader program (DMKLDOOE)
121
creating and updating procedures
default addresses
128
wait conditions
161
loading and executing IBCDASDI 3-4
loadlist
142

Interactive Problem Control System
60-62
M5S Communicator
230
s!arter srste~ ~r~gr~. . 168
Virtual d~sk ~n1t1a11zat10n 14-15
ZAP service program
210
3704/3705 service programs
191-194
methcd of operation
DASD dump/restore program 94
directory program 82
EREP/Errcr Recording Interface
212-214
format/allocate program 65
IlEIBIGE Interface
232-234
installation verification procedure 114
Interactive Problem Control system
19-37
M5S Communicator
224-226
starter system program
163-164
use 1
virtual disk initialization 5-8
VB/310 creating and updating procedures
129
ZAP service program
196-205
3704/3705 service programs
170-180
minidisk (§~ virtual disk)
module DMKIMG
231
module DMKNMT
231
MSS Communicator
attributes
227
data areas
229
diagnostic aids
230
entry points
227
introduction
223
key to method of operation diagrams
224
228
label directory
messages
230
224-226
method of operation
overview
224
program description
223
227
program organization
register usage
227
multi-level update function
126
multiple machine test
117
multiple update
137

M

MDISK control statement 84
messages
creating and updating procedures
155-161
DMSUPD (update program)
156
GENERATE procedure
158-160
VMFASM EXEC procedure
155
VMFLOAD program
151
VMFMAC procedure
151
DASD dump/restore program 110-111
directory program 92
DMKIMG
238
DMKNMT
238
EREP/Error Recording Interface
221
format/allocate program 80
IEBIMAGE Interface
238
installation verification procedure
123

N
nucleus load map, how compressed by
Interactive Problem Control System 31
nucleus load program
142
nucleus loader, creating and updating
procedures
127

o
operator initiated dump, how handled by
Interactive Problem Control System 34
OPTICN control statement 84
sequence 84
output block 1-2
OUTPUT control statement 96

Index

245

P

PL!
how to use 1
introduction 1-2
sections of 1
PRB, Interactive Problem Control system
co.mand 17,24
primary track 9
print function 100
PRINT control statement 96
translate table 96
use of extent tables 100
printing a DASD 93
printing a tape 93
PROE, Interactive Problem Control System
command 17,25-26
PROE internal data area, INTSECT 57
procedures for creating and updating VM/370
(§§§ creating and updating procedures)
process block 1-2
program check, how compressed by
Interactive Problem Control System 32
program description
tASD dump/restore program 102
directory program 88
EREP/Error Recording Interface
211
IEBI!AGE Interface
231
MSS Communicator
223
virtual disk initialization 9
program organization
tASD dump/restore program 102
directory program 88
EREP/Error Recording Interface
215-217
format/allocate program 69
IEBIMAGE Interface
235
installation verification procedure
120
Interactive Problem Control System
38-47
MSS Communicator
227
starter system program
166
use 1
virtual disk initialization 9
VM/370 creating and updating procedures
147-148
ZAP service program
206
3704/3705 service programs
181-184
program temporary fix
(§§§ PTF)
PTF field
126
PTF file
138

R
record F3 74
record F4 74
record layout
2305 77
2314/2319 75
3330 series 76
3340 series 78
3350 series 79

246

IBM VM/370 Service Routines Program Logic

r.ecord 0 format 71
record 1 format 71
record 2 format 72
record 3 format 72
record 4 74
record 4 format 73
record 5 format 73
record 6 format 74
register usage
DASD dump/restore program 102
directory program 88
format/allocate program 69
starter system .program
166
ZAP service program
206
3704/3705 service programs
D!KRND
181
DMSIRN
181-182
DMSIRX
182-183
DMSGRN
183
DMSLKD
183
DMSNCP
184
Remote Spooling Communications Subsystem
CRSCS)
127
building the nucleus
144-146
resequencing program statements
139
restore function 98
RESTORE control statement 96
volume serial numher check 98
writing tape records on a DISD 98
restoring a DISD 93
return codes
DASD dump/restore program 102
directory program 88
RSCS, creating and updating procedures
127

S

SET tUMP IUTO co.mand 18
SHARECON, VMFDUMP Shared Constant lrea
53-56
single update
139
SPECIAL control statement, directory
program 86
SPOOL control statement 85
starter system program
162-168
define the system
165
diagnostic aids
168
entry point
166
external references
166
find the console
165
find the PID tape
165
initialization
165
introduction
162
label directory
167
messages
168
method of operation
163-164
prQgram organization
166
register usage
166
STAT, Interactive Problem Control System
command 17,27

storage protection keys, how printed by
Interactive Problem Control System 37
SVC 0
214
SVC 126
223
SVC 18
211
SVC 76
214
Sy.~tom Summary Control Record Format,
SYMSECT 58-59
SYMSECT, Symptom Su.mary Control Record
Format 58-59
SYSPRINT control statement 96
SYS1.LOGREC data set
211

update procedure, V!FBIC macro library
128
USER control statement 84
sequence 84
user directory (§~ Vft/310 directory)

v

U

virtual disk initialization
assigning alternate tracks 3-4
calculating size 3-4
centrol stateaent processing 7
data areas
track zero 12-13
unit control block 13
diagnostic aids 14-15
directory 11
entry point 10
execution 3-4
exit 10
external references 10
initializaticn 3-4
introduction 3-4
key to method of operation diagrams
label directory 11
messages 14-15
method of operation 5-8
program description 10
program initialization 7
program crganization 9
program overview 9-10
surface analysis 3-4,9
tables and work areas 10
track check 9
track initialization 9
track 0 9
u~date VTOC
9
VTOC 9
writing IPL program 3-4
3330 restriction 3-4

UDEVBLOK 84,86,91
building for console 86
building for link device 86
building for special device 86
building for spool device 84
for. at 91
UDIRBLOK 84,86,91
format 91
UMACBLOK 84,86,91
format 91
unit control block 13
UPDATE com.and
126-127
update files
125
update level
125
update level identifier
125

VMCNTRL file
147-148
VBPASB EXEC procedure
126-127
asseabling the program
i33
check for ISSEBBLE file
132
check for CONTROL file
132
create new text file
134
execute VBFDITE program
134
initialization
132
label directory
151-152
messages
155
VMFD1TE program
126-127
create UPDATES file
134
VBFDUBP, Interactive Problem Control system
com.and 17,28-40

T

tables and work areas, virtual disk
initialization 10
tape
copy function 93
print functien 93
type function 93
text decks
125
track
alternate 9
defective 9
primary 9
track check 9
track header record 93
format 107
track initialization 9
track zero 9,12
type function 101
TYPE control statement 96
use of extent tables 101
typing DASD records 93
typing tape records 93

~irtual

dU&F prograa

(§§~

5

V!FDU!P)

Index

247

V8PDU8P internal data area, IHTSECT 57
V8PDU8P Shared Constant Area, SBARECOH
53-56
V8PLOAD progra.
127
control file
127
label directory
153
.essages
157
V8F8AC EXEC procedure, .essages
157
V8P8AC .acro library
143
update procedure
128
V8/370 creating and updating procedures
(§~~ creating and updating procedures)
V8/370 directory
building 81
calculating nu.ber of records 91
chained records 91
for.at 91
V8/370 starter syste.
(§~~ starter syste.
progra.)
volu.e header record 93
volu.e table of contents (§~~ VTOC)
VTOC 9
update 9

Z
ZAP service progra.
195-210
BASE control record processing
200
control record processing
199
data areas
209
diagnostic aids
210
DU!P control record processing
199
du.p function
195
END control record processing
201
entry point
206
file status table entry
209
finding the CSECT
203
initialization
198
introduction
195
key to method of operation diagrams
196
label directory
207-208
.essages
210
method of operation
196-205
HA8E control record processing
200
opening the file
202
overview
197

248

IBM VM/370 Service Routines Progra. Logic

printing the du.p
205
progra. organization
206
reading the text
204
register usage
206
REP control record processing
201
replace function
195
verify function
195
VER/VERIFY control record processing
201

2
2305 record layout 77
2314/2319 record layout

75

3
3330 series record layout 76
3330/3350 virtual disk initialization
restriction 3-4
3340 series record layout 78
3350 series record layout 79
3704/2705 service progra.s, building CPP1B8
list
112
3104/3705 service progra.s
169-194
A583105
169
1583105 com.and processor
176-178
data areas
190
diagnostic aids
191-194
AS83105 .essages
192
GEN3105 messages
193
LKED .essages
193
NCPDUftP .essages
191
SAVEHCP .essages
194
entry point
D8KRBt
181
D8S1RB
181-182
D851RX
182-183
D8SGRN
183
D85LKD
183
DMSBCP
184
generating 3705 assembler files
174
generating 3705 link-edit files
175
GEN3105
169
GEB3705 command
113
introduction
169
key to method of operation diagrams
110

label directory
185-189
ASM3705 processor
186
GEN3705 processor
187-188
LKED processor
188
modules
185-189
NCPDUMP processor
185
SAVENCP processor
189
LKED
169
LKED co •• and processor
179
.essages
191-194
method of operation
170-180
NCPDUMP
169
NCPDUMP command
180

NETWORK
169
program organization
181-184
register usage
DMKRND
181
D!!SARN
181-182
DMSARX
182-183
D!!SGRN
183
DMSLKD
183
DMSNCP
184
SAVENCP
169
SIVENCP command
171
3705 programs
(§~ 3704/3705 service
progralls)

Index

249

250

IBM VM/370 Service Routines Prograa Logic

READER'S
COMMENT
FORM

Title: IBM Virtual Machine
Facility /370:
Service Routines
Program Logic

Order No. SY20-0882-4

Please check or fill in the items; adding explanations/comments in the space provided.
wrjch of the following terms best describes your job?
[J Customer Engineer

o
o

Engineer.
Instructor

o Manager
o Mathematician

o

Operator

o Programmer
o Sales Representative
o Student/Trainee

0 Systems Analyst
0 Systems EngL'leer
0 Other (explain below)

How did you use this publication?
o Introductory text
o Reference manual
o Student/O Instructor text
o Other (explain) _ _ _ _ _ _ _~_~~_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Did you find the material easy to read and understand?

0 Yes

o

No (explain below)

Did you find the material organized for convenient use?

0 Yes

o

No (explain below)

Specific criticisms (e xplain below)
Clarifications on pages
Additions on pages
Deletions on pages
Errors on pages
Explanations and other comments:

~

o

Z

SY20-0882-4

Reader's Comment Form

Fold and tape

Fold and tape

Please Do Not Staple

111111

NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES

BUSINESS REPLY MAIL
FI RST CLASS PERMIT 40 ARMONK, NEW YORK

POSTAGE WILL BE PAID BY ADDRESSEE:

I nternational Business Machines Corporation
Department 058, Building 706-2
PO Box 390
Poughkeepsie, New York 12602
Attn: VM/370 Publications
Fold and tape

Please Do Not Staple

Fold and tape

C'I.I

-<

N

o
6

---..
- --

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

_~_9_

International Business Machines Corporation
Data Processing Division
1133 Westchester Avenue, White Plains, N.Y. 10604
IBM World Trade Americas/Far East Corporation
Town of Mount Pleasant, Route 9, North Tarrytown, N.Y., U.S.A. 10591
IBM World Trade Europe/Middle East/Africa Corporatiol'!
360 Hamilton Avenue, White Plains, N.Y., U.S.A. 10601

OQ
OQ
N

~

SY20-0882-4

."

~...
I»
3

r-

o
CQ

c:;'

(I)

-<

N

o

600

00
N

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

---------International Business Machines Corporation
Data Processing 0 ivision
1133 Westchester Avenue, White Plains, N.Y. 10604
IBM World Trade Americas/Far East Corpor;:Jtion
Town of Mount Pleasant, Route 9, North Tarrytown, N.Y., U.S.A. 10591
IBM World Trade Europe/Middle East/Africa Corporation
360 Hamilton Avenue, White Plains, N.Y., U.S.A. 10601

~



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2004:01:06 13:02:31-08:00
Modify Date                     : 2009:09:11 05:27:36-07:00
Metadata Date                   : 2009:09:11 05:27:36-07:00
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:1da8fef5-369c-4bad-9273-9c3017025101
Instance ID                     : uuid:0fe26dec-a848-4fbf-a160-d652f917f798
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 269
EXIF Metadata provided by EXIF.tools

Navigation menu