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
.
Page Count: 269
| Download | |
| Open PDF In Browser | View 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 : 269EXIF Metadata provided by EXIF.tools