SY33 8567 1_DOS_VSE_Assembler_Logic_Mar79 1 DOS VSE Assembler Logic Mar79

SY33-8567-1_DOS_VSE_Assembler_Logic_Mar79 SY33-8567-1_DOS_VSE_Assembler_Logic_Mar79

User Manual: SY33-8567-1_DOS_VSE_Assembler_Logic_Mar79

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

DownloadSY33-8567-1_DOS_VSE_Assembler_Logic_Mar79 SY33-8567-1 DOS VSE Assembler Logic Mar79
Open PDF In BrowserView PDF
SY33-8567·1

Systems

DOS/VSE Assembler Logic
Program Number S745-SC-ASM

'("~"'

;

!'",".

------:S: .:::i'fi:

Second Edition (March 1979)
This is a major revision of, and obsoletes, SY33-8567-0 and all subsequent TNLs.
Changes to the text and to illustrations are indicated by a vertical line to the left of
the change.
This edition applies to DOS/VSE and to all other releases until othelWise indicated in
new editions or Technical Newsletters.
Changes are continually made to the information herein; before using this publication in
connection with the operation of IBM systems, consult the latest IBM System/370
Bibliography, Order No. GC20-0001 for the editions that are applicable and current.
Requests for copies of IBM publications should be made to your IBM representative or
to the IBM branch office serving your locality.
A form is provided at the back of this publication for reader's comments. If the form
has been removed, comments may be addressed to IBM Nordic Laboratory, Product
Communications, Box 962, S-J8l 09 Liding6 9, Sweden. IBM may use or distribute
any of the information you supply in any way it believes appropriate without
incurring any obligation whatever. You may, of course, continue to use the information
you supply.
©

Copyright International Business Machines 1973, 1979

ii

Preface

Purpose of the Manual
The purfose of the manual is to aid Programming Systems Representatives
locate and circumvent faults in the DOSjVSE Assembler, and to assist
system programmers with fixing or altering the program design. The
manual describes the logic, structure, and opera~ion of the assembler
and is to be used as a complement to the program listings.

HOW THE MANUAL IS ORGANIZED
The manual is divided as follows:
•

Part 1 -describes the logic of the DOSjVSE Assembler.

•

Part 2 - describes the logic of the ESERV (De-edit) program.

Each fart of the manual is divided into sections and appendixes as shown
below:

(-

Note:

Part 2 of the manual has no Directory section.

The following is a brief description of the various sections.
-Introduction- contains a summary of general information about the
program, such as size, purpose, environmental characteristics, physical
considerations, and operational considerations.
-Method of Operation- describes the logical functions of the program.

iii

Diagrams are used to show input, processing, and output of the functions
andsubfunctions; each diagram is accompanied by an extended description
and cross-references to the program listings.
"Program Organization" describes how the program is divided up into
units. This section contains a phase/control section/object module
directory, a summary of the functions of each phase, control and data
flow, allocation of main storage for the phases, main storage layouts of
the phases, and the common data area for the assembler.
"Directoryn contains cross-references between the program's control
sections, entry points, routine names, module names, and
method-of-operation diagrams.
"Data Areas" contains detailed layouts of the program's data areas.
It also describes table and dictionary formats.
"Diagnostic Aids n contains information on debugging the assembler,
I/O activity and workfile formats for each phase, and register usage.
"Appendixes n includes information on error messages, macro and COpy
code usage, reverse Polish notation element formats, pseudo operation
codes, internal character set, edited text flags, edited statement
formats, statements modifying data areas, and APAR documentation.

USING THE MANUAL FOR THE FIRST TIME
Read through the sections in the following order:
•

Read the Introduction.

•

Read the introductory material for the "Method of Operation n section
in order to get a good idea of how to read the method-of-operation
diagrams and extended descriptions; then study the main functional
flow of the program through the diagrams and descriptions.

•

Study the figures in the "program Organization" section to learn how
the program is physically structured.

•

Continue reading the remaining sections in order to orient yourself
for quick reference to the pertinent information on the manual.

PREREQUISITE READING
Effective use of this manual requires the reader to have an
understanding of the material in the following publications:
IBM System/370 Principles of Operation, Order No. GA22-7000, which
contains information on IBM. System/370 machine operations, storage a~d
register addressing, and the functions and formatsbf machine language
instructions.
OS/VS-OOS/VSE-VM/370 Assembler Language, Order No. GC33-4010, which
contains information on the functions and formats of assembler language
instructions, and the coding of macro definitions and instructions.
Guide to the DOS/ySE Assembler, Order No. GC33-4024, which contains
information on the assembler options, program listings, complete
descriptions of the input and output, and shows how to execute the
assembler.
iv

Part 1: DOS/VSE Assembler Logic

Organization of Part .1

•
•
•
•
•
•
•

(

,

Introduction
Method of Operation
Program Organization
Directory
Data Areas
Diagnostic Aids
Appendixes

".... ,
'

v

Contents

INTRODUCTION
Size of the Assembler •
Purpose and Function of the Assembler
Environmental Characteristics
System Configuration •
Device Needs •
System Interfaces
Physical Considerations •
Operational Considerations
Input
Output •
Control Information for the Assembler
Special Feature of the Assembler
Macro Library and COpy Library •
ESERV (De-edit) Program
METHOD OF OPERATION •
Purpose of the Section
How the Section Is Organized
How to Read the Diagrams and Descriptions
Translate Source Code into Object Code
Expand Macro Instructions and Do Conditional Assembly •
Local Edit
Compress and Edit •
Edit Macro Definitions and Conditional Assembly •
Convert Pre-Assembly to Reverse Polish Notation •
Resolve Sequence Symbol References
Punch Edited Macro Definitions
Global Edit •
Build Global Vector •
Collect and Insert Attributes •
Generate
Build Macro Dictionary Block
Evaluate Reverse Polish Notation
Assemble
Edit for Assembler and Machine Instructions •
Edit
Convert Assembly Expressions to Reverse Polish Notation •
Handle Literals •
Collect Symbol Definitions
Build Symbol Table
Build External Symbol Dictionary Table
Resolve Symbol References •
Build Object Code 1
Process Machine Instructions
Process USING and DROP
Process Address Constants and CCWs
Print/punch the External Symbol Dictionary
Build Object Code 2 •
Output
Process Edited Text •
Post Process
Print/punch the Relocation Dictionary •

c
vii

1
1
1
1
1
1

2
2
2
2
3
3
3
3
3
5
5
5

5
8
10
12
14

16
18
20
22
24
28
30
32
36
38
40
42
41t

46
1t8

50
52
54
56
58

60
62
64
66
68
70
72

74
76

Sort and Print the Cross-Reference Dictionary
Diagnostics and Statistics
• • • • •
Initialize • • • • •
• • • • • •
ABEN'D •

•

•

•

•

•

•

•

•

•

•

•

PROGRAM ORGANIZATION
Purpose of the Section
• • • •
Phase/Control Section/Object Module Directory •
Summary of the Functions of Each Phase
Control and Data Flow Between Phases
Allocation of Main Storage for the Phases •
Main Storage Layouts of the Phases
Common Data Area for the Assembler

78
80
82
84
87
• • • • 87

88
90
92
• • • • • • 94
95
• • • • 110

DIRECTORY • • • • • • • •
Purpose of the Section

• • 111
• 111

DATA AREAS • • • • • • • • • • • •
Purpose of the Section
Data Area Field Cross-Reference

• .129
• .129
• .201

DIAGNOSTIC AIDS • • • • • • • • • • • • •
purpose of the Section
Debugging Aids • • • • •
Wrong Assembler Output •
Program Check • • • •
• • • •
Program Identification
••• •
I/O Activity and Workfile Layouts
Register Usage for the Assembler
APPENDIXES

• • .211
• .211
• • • 212
• .212
• .212
.218
• • • .219
.235
• .237

APPENDIX A: DIAGNOSTIC MESSAGE NUMBER/MODULE/DIAGRAM
CROSS- REFERENCE • • • •
• • • • • • • • • • •

.238

APPENDIX B:

MODULE/ENTRY SYMBOL/EXTRN SYMBOL CROSS-REFERENCE • • • • 243

APPENDIX C:

MACRO AND COpy CODE USAGE

APPENDIX D:

ELEMENT FORMATS

APPENDIX E:

PSEUDO (INTERNAL) OPERATION CODES

• .267

APPENDIX F:

INTERNAL CHARACTER SET •

• .269

APPENDIX G:

EDITED TEXT FLAGS

APPENDIX H:

EDITED STATEMENT FORMATS

APPENDIX I:

STATEMENTS MODIFYING DATA AREAS

APPENDIX J:

APAR DOCUMENTATION FOR THE ASSEMBLER

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

INDEX

• .245
• • • 259

• .271
• .273
• .283

• • • • 315
• .317

Table of Contents for Method of Operation Diagrams
(see Part II page 51)

viii

Figures

(,-

(~'
"

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Fiqure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.

Figure 39.
Figure
Figure
Figure
Figure
Figure
Figure

40.
41.
42.
43.
44.
45.

Phase/Control Section/Object Module Directory (1 of 2)
Summary of the Functions of Each Phase
Control and Data Flow Between Phases
Allocation of Main Storage for the Phases
ASSECA Main Storage Layout
ASSEDA Main Storage Layout
ASSEEA Main Storage Layout
ASSEGA Main Storage Layout
ASSEFA Main Storage Layout
ASSEHA Main Storage Layout
ASSEIA Main Storage Layout
ASSEJA Main Storage Layout
ASSEKA Main Storage Layout
ASSELA Main Storage Layout
ASSEMA Main Storage Layout
ASSEOA Main Storage Layout
ASSEQA Main Storage Layout
ASSERA Main Storage Layout
ASSERB and ASSERC Main Storage Layouts
ASSESA Main Storage Layout
I/O Activity for ASSECA
I/O Activity for ASSEDA
I/O Activity for ASSEEA
I/O Activity for ASSEGA
I/O Activity for ASSEFA
I/O Activity for ASSEHA
I/O Activity for ASSEIA
I/O Activity for ASSEJA
I/O Activity for ASSEKA
I/O Activity for ASSELA
I/O Activity for ASSEMA
I/O Activity for ASSEOA
I/O Activity for ASSEQA
I/O Activity for ASSERA, ASSERB, ASSERC
I/O Activity for ASSESA
Register Usage
Registers Changed by Interface-Routine Operation
Diagnostic Message Number/Module/Diagram Cross-Reference
( 1 of 5)
Module/Entry Symbol/EXTRN Symbol Cross-Reference
( 1 of 2)
Macro Usage (1 of 10)
COpy Code Usage (1 of 3)
Element Formats: Part 1. Operands (1 of 2)
Element Formats: Part 2. Operators (1 of 4)
Pseudo (Internal) Operation Codes (1 of 2)
Internal Character Set

···
· ·· ···· ·
····

··· ·

·· ·

····

· · · ·
····
··
· ·
··
·····

·
·
·
·
·
·· · ·
· · · · · · · · ·

·
·
·
·
·

··
··

··
··
··

·

·

· ·
· ·

··
··
··

· · · ·

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

··

· · · ·
· · ·· ·
···

·
·

·

·

··· ·
·
·· · ·
· · · ··

········ ···

c
ix

· ·
·
·
··
· ·
··
··
·
·
·
·
·
·
·
·
·
·

····
·
····
····
·
· · · · ·
····
····
· · · ·
···
··
·
···
· · · ·
·
·
· · · · ·
··
·· ·· · · · ·
··· ·
· · · · ·
· ··
···· · ·
···
····
···
·
···· ·
·
··
·· · · · · ·
·· · ·
· · · ·· · ·
· · · ·· ·
·
·

Figure 46. Table of Contents for Method of Operation Diagrams
(see Part II page 51)

87
89
92
93
96
96
97
98
99
.100
.101
.102
.103
.104
.105
.106
.107
.108
.108
.109
.220
.221
.222
.223
.224
.225
.226
.227
.228
.229
.230
.231
.232
.233
.234
.235
.236

.238
.243
.245
.255
.260
.263
.267
.269

Introduction

(The DOS/VSE Assembler is the system control program assembler language
translator for DOS/VSE. The language processed is a subset of the
language supported by System/370 OS Assemblers and is documented in
OS/VS - DOSjVSE - VM/370 Assembler Language. All System/370
instructions are supported by the DOS/VSE Assembler.

Size of the Assembler
The minimum virtual partition size required by the DOS/VS Assembler is
24K.

Purpose and Function of the Assembler
The purpose of the DOS/VSE Assembler is to translate source programs
written in the DOS assembler language into object modules suitable for
processing by the DOS Linkage Editor. The assembler performs three
majcr functions in processing source programs: (1) expansion of macro
definitions called by macro instructions, (2) assembly of machine
instructions into object code, and (3) processing of assembler
instructions.
The assembler also produces edited macro definitions suitable for
cataloging on a source statement library.

Environmental Characteristics
SYSTEM CONFIGURATION
The minimum configuration required by the assembler is the same as that
for the DOS control program: one disk drive, one card reader/punch, and
a printer. The following data sets are used by the assembler:
SYSRES
SYSIPT
SYSSLB
SYSLST
SYSPCH
SYSLNK
SYS001,

(optional)
(optional)
(optional)
(optional)
SYS002, SYS003

Disk
Card, Tape, or Disk
Disk
Printer, Tape, or Disk
Card, Tape, or Disk
Disk
Disk

DEVICE NEEDS

c

The assembler requires devices for SYSRES, SYSIPT, and the three
workfiles SYS001, SYS002, and SYS003. Other devices are needed only if
the data sets are specified by their corresponding assembler option.
Introduction

1

SYSTEM INTERFACES
System-dependent functions and operations of the assembler (interfaces
between the assembler and the system) are centralized in interface
modules to allow relative ease of modification for new features of the
Disk Operating System. The names and fUllctionsof these interface
modules are listed below.
IPKAA
IPKAB
IPKAC
IPKAD
IPKAE
IPKAF
IPKAG
IPKAH
IPKAI

Basic system interface routines (workfile I/O
and subroutine call routines), common data area
(COMMON)
SYSSIPT, SYSSLB input routines
SYSPCH routine for EDECK output
SYSSLB logic module (DTFSL)
SYSSLB routines for reading edited macros from SYSSLB
SYSPCH/SYSLNK output routines
SYSIPT logic module (CPMOD)
SYSPCH/SYSLNK/SYSLST logic module (CPMOD)
SYSLST output routine

Interface macros used by the assembler to provide service functions
and to call for functions from interface modules are described in
Appendix C, -Macro Usage.-

Physical Considerations
The assembler is made up of 19 phases residing on a core image library.
See -program Organization- fora table showing the phases, control
sections, and object modules of the assembler.

Operational Considerations
INPUT
Input to the assembler is as follows:
Source code

SYSIPT

COpy code (sublibrary A on a
source statement library)

SYSRES/SYSSLB

Edited macro definitions
(sublibrary E on a source
statement library)

SYSRES/SYSSLB

Sublibraries A and E are optional. One private library may be used in
addition to the system library. For a complete description of the input
see Guide to the DOSjVSE Assembler.

rr-'

,«

i'\._~j_

2

OUTPUT
Assembler output is as follows:
Object modules

SYSLNK/SYSPCH

Source macro definitions (in
edited format)

SYSPCH

Program listing

SYSLST

The output is controlled by specifying assembler options. For a
complete description of the output see Guide to the DOS/VSE Assembler.

CONTROL INFORMATION FOR THE ASSEMBLER
The user specifies options for the assembler in the OPTION job control
statement. For a description of the assembler options see Guide to the
DOS/VSE Asseabler.

Special Features of the Assembler
MACRO LIBRARY AND COpy LIBRARY
The DOS/VSE Assembler uses two sublibraries of the source statement
library: (1) the macro library, containing macro definitions in an
edited format, and (2) the COPY library, containing sequences of
assembler language instructions and/or macro definitions in source
format. Because the macro· definitions in the macro library are edited,
the assembler is relieved from editing and syntax checking the macro
definitions when they are called by macro instructions from an assembler
program.

ESERV (DE-EDI T) PROGRAM
The ESERV program translates edited macros back into their
format. This "de-editing" may be optionally combined with
the macro. The logic of the ESERV program is described in
this manual. For a complete description of how to use the
Guide to the DOS/ySE Asserrbler.

source
an update of
Part 2 of
program see

Introduction

3

/

'

,

j

~,J

/~-"- ....""

f '

~J

Method of Operation

Purpose of the Section
The purpose of this section is to give a functional description of the
assembler and to provide a cross-reference from any given diagram to
other parts of the manual and the program listings.
HOW THE SECTION IS ORGANIZED
This section consists of diagrams showing the functions and subfunctions of the assembler. These diagrams are arranged in a hierarchy
as illustrated in the foldout, Figure 46, at the back of the manual.
(Please open Figure 46 and use it as a guide to the diagrams.) With each diagram is an
-Extended Description- containing detailed information about the
function or subfunction.

HOW TO READ THE DIAGRAMS AND DESCRIPTIONS
Each diagram illustrates:

•

Input - showing what the data is and where it is from

•

Process - describing how the data is processed by the assembler

•

Output - showing where the data goes

Data areas are identified on the diagrams in two ways: main-storage
address (upper case, parenthesis), and by DSECT name (upper case,
underlined). Data areas as shown on the diagrams are highly schematic.
For complete and accurate data area layouts see -Data Areas-.
The extended descriptions are related to the diagrams by numbered
process steps.
In addition, the extended descriptions give the names
of the module and routine(s) which perform the function.
Many of the data areas and routines are mentioned in two or more
diagrams. For a cross-reference of these data areas, the diagrams in
this section, and the program listings use the -Directory-. The
Directory also cross-references the appropriate microfiche card if you
wish to go directly to the listings.

()
Method of Operation

5

Start reading the process block and refer to the input and OUi:put as
you proceed through the diagram. Use the extended descriptions if you
require more detailed information.

EDIT
INPUT

PROCESS

OUTPUT

EXT. DESCRIPTION

MODULE

ROUTINE

AREA 1
OUTPUT A

2~

D
OUTPUT B

AREA 2

3~

The following symbols are used in the diagrams.

(~:

_____--,>
>

Data flow

- - ---~ Data reference

Pointer

(MNAENT)

Main storage
address

J

Control flow

Reference to
another diagram

PSTRINGS

DSECT name

Method of Operation

7

Translate Source Code into Object Code

o

PROCESS

INPUT
~

~

~

OUTPUT

SOURCE STATEMENTS

SOURCE MACRO DEFINITIONS

EDITED MACRO DEFINITIONS

...

roI

1 EXPAND MACRO INSTRUCTIONS
AND DO CONDITIONAL ASSEMBLY

CJ

(EDECK OPTION ONL Y) ...

v

(SYSIPT)

(SYSPCH)

COPY CODE
EDITED MACRO DEFINITIONS

OBJECT MODULE

...

2 ASSEMBLE OBJECT CODE FROM
MACHINE AND ASSEMBLER
INsTRUCTIONS
00

CJ-~

~v

(SYSLNK OR SYSPCH)

(SOURCE STATEMENT
LIBRARY)

LISTING

...
~v

(SYSLST)

(0)

C~

~

o

~

~,

EXTENDED DESCRIPTION

1.

Source statements are read and macro instructions expanded. Conditional assembly in
open code is performed. If the EDECK option has been specified, edited macro
definitions can be obtained on'SYSPCH.

2.

After all macro instructions have been expanded, the assembler and machine instructions
are assembled into object code.

~,

//'//'/

/'
../"',,,,

Expand Macro Instructions and Do Conditional Assembly
.. _.

_.

(SYSIP7; SYSSLB)
SOURCE CODE

. ..

1.

_--

_.- -ASSEMBLER AND
MACHINE
INSTRUCTIONS

.... 3 GLOBAL EDIT

EDITED TEXT

~to..

v

....

1 LOCAL EDIT

~

!--

to..

r--,/

f-

o

-

-v

EDITED MACRO
DEFINITIONS (SYSSLB)
EDITEOoMACRO
DEFINITIONS

'----,

-r-

2 PUNCH EDITED
MACRO
DEFINITIONS

INSERT
ATTRIBUTES

~

....
v

~

....
v

I

f~-'"

4 COLLECT AND

5 GENERATE

CV

\ )

~

EDITED MACRO
DEFINITIONS

'--~
.......

rv'

L.cu

(-

\

"
/

\

/J

~

1

!~i

EXTENDED DESCRIPTION

Because the assembler accepts edited macros, editing proceeds in two stages: local editing and
global editing. Local editing involves only local variable symbols. Global editing involves global
variable symbols and therefore cannot be done until edited macro definitions have been read in
(if they are called). After both local and global editing have been done, the macro instructions
can be expanded according to their definitions; conditional assembly in open code is also performed.

I-'
I-'

1.

Source code is read and macro definitions and instructions edited locally. Some editing of
machine and assembler instructions is also done.

2.

If the EDECK option has been specified, locally edited source macro definitions are
punched.

3.

Edited macro definitions are read in from the macro library and global editing done.

4.

Attributes needed for conditional assembly are collected. The edited text is now ready
for macro expansion and conditional assembly.

5.

Macro instructions are expanded and conditional assembly is performed. The output is
now ready for the assembler phases.

~

Local Edit

1.1

, ....

SOURCE
CODE

"'.

(SYSIPT)

D
D
SOURCE
CODE

y

. ..

-_ .. _.

_----

LOCALL Y EDITED
TEXT

1"-., 1
1./

COMPRESS AND
EDIT

.;:

2 CONDITIONAL

v

ASSEMBLY

3 RESOLVE
-v

"
v

SEQUENCE

AND MACRO

SYMBOL

DEFINITIONS

REFERENCE

(SYSSLB)

~

~

~

I-'
IV

T
1.3

1.3

If no conditional
assembly or macros

~~c4.,

\,

)

'\

/

\\,

)

~

1.1

I-'
W

~
EXTENDED DESCRIPTION

~

MODULE

ROUTINE

1.

In the first pass over the text tile, macro instructions and prototypes are edited,
opcodes inserted in all records, and all records are compressed. Some editing
of macro definitions is also done (see Diagram 1.1.1).

IPKCC
IPKCA

MIROUT

2.

In the second pass, macro definitions "re edited (see Diagram 1.1.2). Expressions
involving conditional assembly are translated to reverse Polish notation (see Diagram
1.1.2.1).

IPKCC

PROROUT

3.

In the third pass, sequence symbol references are resolved (replaced by addresses) and
the edited text separated from the compressed source records (see Diagram 1.1.3).

IPKEA

Compress and Edit

1.1;1

c:z

INPUT
SOURCE TEXT

(SYSIPT,SYSSLB)

i

MACRO

v
MEND
MACRO

A

1 READ SOURCE
Rest of macro definition
(compressedl
Compressed source
statements

:0"KC8)
,

MEND
MACRO

_ ... --'"

B

~

I-'
~

I

4 EDIT MACRO
v

PROTOTYPES

MEND

Edited
source
definitions

PCSR

IPCSR

Edited macro instructions
IEDPMI
Open
code

Compressed source

Edited macro instruction

B
MEND
MACRO
MAC1 &A,&B,&C=C

f

Ed ited prototype records
EDPMI

3 INSERT OP CODES.,

macro

definitions I

(WORKFILE 2)

IPKCA

2 COMPRESS ALL RECORDS

MEND
MACRO

Source

OUTPUT

PROCESS

0=>

Compressed source

BEGIN

Open code I

MAC1X,Y

I
MAC1U,V

I)

5 EDIT MACRO
INSTRUCTIONS

~

MACRO NAME ARRAY (WORKFILE 3)
i i i

•
Index

END

6 BUILD MACRO NAME ARRAY

Name
length

Name

MNAENT
--

IPKDA

1.1.2

,

(:~
l.

/

,(.

(
\..

I

/

\.

~

,,-...

~,

.

'-,-_.)'

1.1.1

I-'

lJl

EXTENDED DESCRIPTION

MODULE

ROUTINE
DRillER

1.

Source statements are read from the system input device (SYSIPT) and from the source
statement library. SYSIPT contains source macro definitions and "open code" (in that
order) and may contain COPY statements which cause library COPY books to be brought
in from sublibrary A on the source statement library.

IPKCA

2.

All records are compressed. Normally the whole statement is contained in olle compressed
source record.

IPKCB

3.

At the same time as compression is done, pseudo opcodes are inserted in the record (see
Appendix E for the pseudo opcodes).

4.

Editing of source macro definitions is begun. At least two edited statements are created for
each macro type: a header and a text record. The edited prototype records contain the
macro name, positional and keyword parameters, and a number of "items".

IPKCC

PROROUT

5.

Macro instructions both in open code and within source macro definitions are partially
edited; operands needing substitution are not completely processed until the next text pass
(see Diagram 1.1.2).

IPKCC

MIROUT

6.

As macro instructions are edited, a macro name array is built for open code only (inner
macro instructions are handled in Global Edit .- Diagram 1.3). The macro name array is
built in main storage in blocks whose size is determined by initialization; the blocks are
written on workfile 3 when filled. Before a macro is entered it is checked for previous entry.

IPKCC

M!ROUT

i

Edit Macro Definitions and Conditional Assembly

1.1.2

OUTPUT

PROCESS

INPUT

IPKDA

TEXT FILE (WORKFILE 3J
i

1 BUILD MACRO HEADER AND KEYWORD TABLE
EDPMI

2 PROCESS VARIABLE SYMBOLS

~

lb

Edited macro
definitions

VARIABLE SYMBOL DICTIONARY
Nama

3 EDIT CONDITIONAL

TYDII
Index number

8==>

ASSEMBLY AND
MODEL STATEMENTS

Opencada

.eg[!

4
I-'

'"

Globais

I
J (VSDADDRJ
VSD

~O:=~OCSTMH
~

Dimension

SEQUENCE SYMBOL DICTIONARY
COLLECT
SEQUENCE
SYMBOL
DEFINITIONS

~

I

Symbol

I

Offset

I

(SSDADDRJ

~

MACRO INFORMATION BLOCK

i

5 BUILD MACRO----"\.
INFORMATION---,/
BLOCK

I

,

Nama

(MIS)

NIP to SSD
Attribute switch
Global switch
Inner macro _itch
Error switch

~

Site of local

Open code dictionaries

work areas
Opencada

(j

~

,~

~

'-'._---/

1.1.2
1.

EXTENDED DESCRIPTION

The macro header contains an index number for the macro definition and the NIP
address of the definition's macro information block (see step 5).

MODULE

ROUTINE

IPKDA

NEWST

IPKDA

VSDLKP

The keyword table, consisting of keyword names and their default values, is built
from the edited prototype statements for the definition.
2.

Variable symbols (local, global, and macro parameters) are entered in the variable
symbol dictionary (one dictionary for each definition, and one for open code).
Global definitions are also entered in a global array for the definition. The global
array will later be used in global processing (see Diagram 1.3).
The variable symbol dictionary is used in editing the conditional assembly and model
statements in the macro definition (step 3). It is also written on workfile 3 for use
by the ESERV program if required.

I--'
-...]

3.

Editing consists of two main functions: all variable symbol references (except
sequence symbols .. see step 4) are replaced by their index numbers and all conditional
assembly expressions are translated into reverse Pol ish notation (see Diagram 1.1.2.1).
At this point macro instructions requiring substitution in their operand fields are fully
edited.

IPKDA

INTERPR

4.

Sequence symbols, together with the offset in bytes from the end of the global array
to the statement with the symbol in its name field, are collected in the sequence
symbol dictionary. References to sequence symbols will be replaced by the offsets in
the next text pass (see Diagram 1.1.3). At the end of the macro definition or open
code, the dictionary is written on workfile 3 and its position noted in the macro
information block or open code information block.

IPKDA

SSDENT

5.

A macro information block is built and written on workfile 3 at the conclusion of
processing for a macro definition.

IPKDA

1.1.2.1

Convert Pre-Assembly to Reverse Polish Notation

.. --

Operand of
SETx or AI.F

y

.-

--------

Expression in

1 SCAN EXPRESSION

~

statement

2
3

_.

reverse Polish
notation

PASS OPERANDS DIRECTL Y
TO OUTPUT STRING

SEND OPERATOR~ TO STACK.
MOVE TO OUTPUT AS OPERATOR
PRIORITY DICTATES

I

.r

~

I-'


3 PUNCH DEFINITION
4

Positional
parameters

0::::>

Edited definition

~

BKEND
PUNCH POSITIONAL
( CATALS

PARAMETERS AND LCLx
DEFINITIONS FROM

0=:>

VARIABLE SYMBOL
DICTIONARY

5 PUNCH SEQUENCE SYMBOL
DICTIONARY

6 PUNCH BKEND CARDS

&

~

~

DIAGNOSTIC INFORMATION (WORKFILE 3)
i

0==>

~

"

7 WRITE DIAGNOSTIC INFORMATION

-v

L.---'"

~~

~,'

I

-

',PKFA

~V

\A
,

/

:

!

'\

\,

/

/

!

\c

/

~
1.2

~.

~
EXTENDED

DESCRIPTION

MODULE

ROUTINE

Immediately after resolution of sequence symbol references, the macro definition is ready
to be punched and cataloged, if so desired. (In other words, at this stage it is "pre-edited.")
1.

When the EDECK option of the assembler is in effect, macro definitions without
editing errors are punched in their edited form. The source macro table is used to
locate the definition and its corresponding variable symbol and sequence symbol
dictionaries.

IPKGA

STSMTGET

2.

A CATALS and a BKEND card are punched so that the resulting deck can be
submitted directly for cataloging in the macro library.

IPKGA

CATALBKE

3.

The edited definition is copied from workfile 2.

IPKGA

MPUNCH
STGET

4.

Immediately after the definition, positional parameters and local variable symbol
declarations are punched from the variable symbol dictionary. These are needed so
that the macro definition can be reconstructed, if necessary, by the ESERV program.

IPKGA

MPUNCH
STGET

5.

The sequence symbol dictionary is also punched for the same reasons as above.

IPKGA

MPUNCH
STGET

6.

A BKEND card is punched.

IPKGA

7.

Diagnostic information (macro name and number of cards punched) is written
on workfile 3.

IPKGA

tv
W

STDIAG

1.3

. _._.

I~

MACRO NAME

IPKFA

O:NAENT
~-------TaL. ","RKF<'FTENT -I~'

I

SOURCE MACRO

-

-

-

I

~

Global array GARD, GARENT ,

I

C Edited text

"'"

J

,

Edited MEND

I

,

--

'@
I

.i .....~....

N

•

2 SEARCH FOR MACRO DEFINITIONS -

J

3 BUILD GLOBAL

Ii;~

\, )

'-...-/

v

4 .~

COpy MACRO DEFINITION; MAKE ENTRY
IN MACRO ADDRESS VECTOR

( OR

PETR

~

EDITED MACRO
DEFINITIONS

1.3.1

(WORKFILE 3}

~

~

"

(GSOBUFAO}
GSOENTRY

VECTOR

Pi'

....

READ MACRO ADDRESS
VECTOR
--,./

TEXT
Macro address vector

Compressed
source

2 AREA
BUI1.D GLOBAL VALUE AREA ~.
. -v'
Global value area

records

*~-----------I

(PGSLSIZ)

Open code dictionary

(WORKFILE 1)

OPEN CODE GLOBAL VECTOR

(WORKFILE 3)l
GENERATED

IPKIA

"'."/

(WORKFILE 1)

DIS

information block

3

PGVHEAD...

BUILD OPEN CODE
DICTIONARY BLOCK

Statements
...--

~>

Local value areas

generatad
from
macro

rV

..

~~------------~

1--------1
Global vector

:EDITED TEXT

(WORKFILE 2)

DIS
--

Macro dictionary
information block

4

Edited macro instructiOn
V

......

~

_-

MACRO
DEFINITIONS

Co
essed
~
source
records

*

W
to

READ EDITED TEXT,
BUILD MACRO ~
DICTIONARY
1.5.1
BLOCK(S) FOR
MACRO.

~
Parameter table

I

>

Parametar pointer vector

..
IWORKFILE 1)

Local value area

I r;::::!)
Macro definition

)-

1-_ _ _ _ _ _ _ _--11 -

~

- - --

U

rV

.---

5

EXPAND MACRO.
PER FORM CONDITIONAL
ASSEMBL Y (ALSO FOR
OPEN CODE)

~

Global vector

***~L

__________-J

l

I

--

expanded,

(~)

(\
"-

I

,..,
'-

~-'

1.5

EXTENDED DESCRIPTION

1.

The phase is initialized by loading in a number of reference elements and workareas.
The macro address vector is read from workfile 1.

2.

The global value area is built (this is a workarea used to hold the values of global
symbols during generation).

3.

The open code dictionary block, consisting of a header, local variable symbol areas,
and the global vector for open code, is built directly under the global value area.

4.

Text is read from workfile 2, starting at open code. Compressed source records are
passed directly to the generated text file (workfile 3). When a macro instruction is
encountered, a macro dictionary block (a work and reference area for expansion
of the macro) is built (see Diagram 1.5.1).

5.

,~

,

;Y

The macro definition is processed instruction by instruction Gnd the expanded
instruction written on workfile 3. Conditional assembly and substitution are performed
as necessary (see Diagram 1.5.2). Conditional assembly and substitution are also
done for open code as necessary.

w
w

Dynamic allocation of SETC variables
For SETC variables the value areas do not contain the values directly. Instead each SETC value
area has an associated String Storage Area (SSA), where space is allocated dynamically to the
values. The value area then contains for each variable its length and its offset in the SSA.
The SSA grow and shrink dynamically during macro processing as dictated by the SETC
statements executed. The initial size of each SSA is zero.
The global SSA is located at the top of the dictionary area and expands downwards. Each
local area is located at the top of the corresponding dictionary block and expands upwards.
Thus, overflow is possible during macro expansion. This is handled in a manner similar to
that used for overflow when building the dictionary block.

MODULE

ROUTINE

IPKIA

INIT

IPKIA

DRIVER

IPKIA

IMIEDIT

IPKIA
IPKIA

DRIVER
CAEVAL

Dictionary Block Overflow
Overflow in parameter table (outer macro)
dictionary start
open
OCDlB
} code
••
dictionary

•

.. I

outer macro

..

end of dictionary area*

MAC1

I

1 block

PARTBL

dictionary start
oeDiB

•
••
MAC1 MD1B
PARTBL
PARPTV

VJ
",.

..

*

end of dictionary area" ..

Open code dictionary block contains information necessary for PARTBL build and
cannot be written on workfile until PARTBL is completed.
The macro must be abandoned.

MDIB

Overflow after parameter table complete**{outer macro)

outer macro

Error message IPK101 "DICTIONARY SPACE FOR VARIABLES EXHAUSTED"

LCLX value area

WORKFILE2

I oc;,. I

dictionary
start

MAC1 MDIB
PARTBL
PARPTV
LCLX value area

••
Open code dictionary block written on workfile 2.
Outer macro is moved to dictionary start
and processing continues.

dictionary
start

0

1

When MEND for MAC1 is encountered, open code
dictionary block is read into dictionary
start and processing continues.

Overflow in parameter table (inner macro)
WORKFILE2

dictionary start

OCDlB

••

outer macro

inner macro

•

MAC1 MDIB

PARTBL

MAC1 MDIB

••
•
MAC2 MDIB

dictionary
start

W

PARTBL

••
•
MAC2 MDIB

end of dictionary area~

I~'·I

dictiona'L-.
start

•
••
Open code dictionary block written on workfile 2.
Outer macro is moved to dictionary start.
MAC1 dictionary block contains information
necessary for MAC2 PARTBL build.

At MEND to MAC2, MAC1 is read into dictionary
start. When MEND for MAC1 is encountered, open
code dictionary block is read into dictionary start
and processing continues.

* or the last entry in the Keyword Name Array
* *overflow in PARPTV, LCLX value area, and Global Vector is treated in a similar way

(;

(

"

/

~

1

Overflow after parameter table complete**(inner macro I
OCDlB

•
outer macro_

••
MAC1 MDIB

'inner macro to MAC1 ~_
outer macro to MAC2

••

end of dictionary area -

MAC1 MDIB

•

••

•

MAC2 MDIB

••
•

MAC3 MDIB
PARTBL
PARPTV

-

dictionary
start

••
•

MAC2 MDIB

••
•
inner macro

WORKFILE2

OCDIB

dictionary start

t;::

,.-....\

~,

PARPTV

••

Open code dictionary block, MAC1 and MAC2
dictionary blocks written on workfile 2. MAC3
is moved to dictionary start and processing
continues.

**Overflow in PARPTV, LCLX value area,and Global Vector is treated in a similar way.
Overflow in the String Storage Area during macro expansion is also treated in a similar way.

---m
dictionary

MAC3 MDIB
PARTBL

When MEND for MAC3 is encountered, MAC2 is
read into dictionary start. At MEND to MAC2,
MAC1 is read into dictionary start. When MEND
to MAC1 is encountered, open code dictionary
block is read into dictionary start and processing
continues.

1.5.1

Build Macro Dictionary Block
INPUT

OPEN CODE
EDITED TEXT

PROCESS

•

(WORKFILE 2)

~

Pos.

parm.

rr)

1

2

XYZemry
Parameter

~

I

LEMONemry

w

i

~
A

SAM's offset

PARPTV
(KNAPT) PKNA

LCLAvalue_

3

-,

READ KEYWORD TABLE,
SEARCH FOR KEYWORD IN
KEYWORD NAME ARRAY . .!'mI.
FOUND, ENTER DEFAULT AND
OFFSET

KW1 keyword

KW2keyword

hrameter
pointer
vector*

. LEMON's offset

I~
SAMd8tault

SAMemry
XYZ'soffset

•

~

0'1

table

~

EtIITER KEYWORD OPERANDS
IN PARAMETER TABLE;
OFFSET AND KEYWORD IN
KEYWORD NAME ARRAY

MACRO ADDRESS
VECTOR (WORKFILE 1)

~

i

Mecro dictionary
information block

ENTER POSITIONAL OPERANDS
IN PARAMETER TABLE; OFFSET
IN PARAMETER POINTER VECTOR

Anr.

~~::.-t-J -j-.\:)
'-

MACRO DICTIONARY
(RDIBBASE)
BLOCK
i

Macro instruction header

I1lnc1ex

OUTPUT

Kliyword
table

I

~.
.~

4 ~,MOVE OFFSET

KTAB

LCLBvalue_
LCLCvelue_

.0:=:>

Global vector

ORANGE default

5

Global vector
PGVHEAD

Text
MEND

FIND VALUE AREA SIZES AND
RESERVE SPACE

8

~

READ GLOBAL VECTOR

*Built in (PARPTVBA)

0=:>

~
r~
\.

.J

\;

\

)

~
1.5.1

~

~
j-

ROUTINE

MODULE

EXTENDED DESCRIPTION

The macro dictionary block is an in·storage workarea used in expanding macros and performing
conditional assembly. It consists of:
•
•

•

•
•

Header (the macro dictionary information block)
Parameter table (contains values and attributes of keyword and positional parameters
used in the definition, as well as name field parameters and the current values of SYSNDX
and SYSECT).
Parameter pointer vector (contains offsets of the parameter entries in the parameter
table. The parameter pointer vector is analogous to the global vector in that it is a
table of pointers to another table containing the actual values).
Local variable symbol value areas.
Global vector.

In the following description it is assumed that the macro definition prototype is
MAC1 &PP,&KVV1=SAM,&KW2=ORANGE
and that the macro instruction being expanded is
MAC1 XYZ,KW2=LEMON

W
0'\

I-'

Thus the prototype has one positional parameter and two keyword parameters; the first keyword
(larameter operand has been omitted in the instruction.

1.

The edited macro instruction is read and the positional parameter operand (XYZ) placed in
the parameter table. The offset of the positional parameter is placed in the parameter pointer
vector. (Positional parameters come first in the table, directly after SYSNDX, SYSECT, and
.. the macro name field parameter. Then come the keyword parameters.)

IPKIA

MAIN10

2.

Keyword parameters are then read in from the edited macro instruction and entered in the
parameter table. At this point only "LEMON" is entered, since the first keyword
parameter has been omitted. The offset is.!!2l entered in the parameter pointer vector, but
in the keyword name array, along with the keyword's name and the length of the parameter.

IPKIA

MAINK

1.5.1

EXTENDED DESCRIPTION

(continued)

MODULE

ROUTINE

IPKIA

MAIN30

(The keyword name array is used to keep track of which keyword parameters have been
omitted in the macro instruction so that default values can be inserted if necessary.)
3.

The keyword table of the macro definition is then read. Each keyword in the table is
searched for in the keyword name array. If the keyword (in this case KW1) is not present,
a default value (SAM) is placed in the parameter table.
If found (as is the case with KW2), its offset in the parameter table, which had been kept
in the keyword name array, is moved to the parameter pointer vector. Thus the offsets of
the keyword parameters have the same order as they do in the prototype.

During steps 1-3 the keyword name array is built in high-address storage while the
parameter table is built in low-address storage, towards it. The parameter pointer vector
was built elsewhere in main storage. The parameter pointer vector is now written over the
keyword name array, directly under the parameter table.
4.

The sizes of the local value areas are obtained from the macro definition header and space
reserved for them.

IPKIA

IMIEDIT

5.

The global vector is read into main storage directly under the local value areas.

IPKIA

IMIEDIT

w

~

N

~,

If

\

j

'

1\
I

'\

\,

)

c
37

1.5.2

Evaluate Reverae Polish Notation

~

INPUT
SOURCE:

&LA2SETA&P

+ &GA3

REVERSE POLISH NOTATION:

,. \ 2 \

5 \ BPI 98

PP \

l

H
i :1
It J·li.
!
Iii:

-

i
" _ _ _ ETER

I

c:I

~

LCLAVALUE
AREA

,~
)

\.

BP=7

2

[IE

ENTER FIRST
ELEMENT IN
STACK

I I 21L-41 Ie;~ I

/

3
4

GLOBAL VALUE
AREA

31

READ SECOND

~~~:T:

,.

pp

ADDRESS OF • P

.

\

1

I I

(

OUTPUT

STACK

0

~~

PARAMETER
TABLEI

\.

i:-

.

.L~L~

)

00

+ ISETA

jHtH),1 i

ID

PCHNTER

\

w

3

..

PROCESS

..
.

5

SUBSTITUTE
VALUEOF.P

1,·1

21L=41 b41 7 IL=61

LOCATE.GA

1,·1

21L=41 b417IL=6I981 51L=41

ADD.PI71
TO
.GA31311;
PUT VALUE IN
LOCAL VALUE
AREA

.,---

1,. 1 2'1,,1
L=4 b4 1 38 l=6~

l

~

~

LCLAVALUE
AREA

~

...

38

(-

\-

)

~

1.5.2

~
EXTENDED DESCRIPTION

Expressions in reverse Polish notation are sent to a routine for evaluation. The expression
elements (operands and operators) are scanned from left to right. Operands are placed in
stack with a length byte on top. Operators are one-byte elements acting on from zero to
three stack elements and give a result element in the stack or an exit from the evaluating
routine.
Actions taken by the evaluating routine when it encounters different operators and operands
is summarized in Appendix D.
In the example in the diagram, the statement being evaluated is
&LA2 SETA &P

+ &GA3

where &LA2 is a local arithmetic variable symbol (the second defined in the macro definition);
&P is a positional parameter (the fifth in the macro definition, with a value of 7); and &GA3
is a global variable symbol (the third declared in the definition). In the reverse Polish record,
"Ia", "pp", etc., stand for flags (see Diagram 1.1.2.1 and Appendix D).

w
~

~
MODULE

ROUTINE

IPKIA

CAEVAL

A88emble

2

OUTPUT

PROCESS

INPUT

1

EDIT FOR ASSEMBL Y

ASSEMBLER AND
MACHINE INSTRUCTIONS

~
SYMBOL TABLE

~

...

--.-, rVi

~

DEFINITIONS

I
LISTING

~ /,/~

~

..,.

2 SYMBOL
cae","

3 RESOLVE SYM::L REFERENCES

OBJECT DECK

~

o

/

~

~

(SYSPCH)

?1

I

V

4 BUILD OBJECT ~ ~

VV

CODE

5
OU"'" """CT

~

~~
\, /

6

~~.

RLD.XREF.

.'AGN/OS.;;...=..T;;...;I..:;C.::;.S---,,(S~Y:...:S::..P.::C::.;(H)

0"
om
XREF.

POST PROCESS

~

/

~

~
-

2

~

,:J

EXTENDED DESCRIPTION

MODULE

At this stage the edited text is free from macro instructions and conditional assembly
statements (that is, it consists only of machine and assembler instructions). The second
main function of the assembler is to translate these statements into object code and to
produce a listing and other related information.

"'"

I-'

1.

Editing of statements is done (see Diagram 2.1).

IPKIC
IPK.jA

2.

Symbol definitions are collected and stored in a symbol table (see Diagram 2.2).

IPKKA

3.

References to symbols are resolved with the help of the symbol table (see Diagram 2.3).

IPKLA

4.

Object code is generated for the different instruction types (see Diagram 2.4 and 2.6).

IPKNA
IPKOA

5.

Object code is put out, together with a listing and the external symbol dictionary
(see Diagrams 2.5 and 2.7).

IPKMA
IPKPA

6.

In the post-process phases, the relocation dicitionary, cross-reference dictionary, and
diagnostic information is put out (see Diagram 2.8).

IPKQA
IPKRA·RC
IPKSA-SB

Edit for Assembler and Machine Instructions

2.1
SOURCE TEXT (WORKFILE 3)

PCSR

~
~

v

---

_...... _,

--

IPKJA
EDITED TEXT

(WORKFILE 2)
PETR

1
2

PRODUCE EDITED TEXT

PROCESS PUNCH AND
REPRO RECORDS

~

...

./I--.

'v-

==>0
LITERAL POOL

(WORKFILE 1)
LITTBL

3

PROCESS LITERALS

(5J~

A

~

of>.
I\J

I--

END

~G

PUNCH AND
REPRO RECORDS (WORKFILE 1)

B

l...f\
"

L-----------

.

p;---::~

\ ;'

.f "

'\

/

IA

"'

\. )

~

~

2.1

~

w

EXTENDED DESCRIPTION

~
MODULE

ROUTINE

1.

Editing consists of checking, converting the record into a suitable format for later processing,
collecting symbols into "symbol buckets" and converting expressions into reverse Polish
notation (see Diagram 2.1.1).

IPKJA

2.

PUNCH and REPRO records found before the first control section are processed and written
on workfile 1. See Diagram 2.5 for later processing.

IPKJA

PUNCHR
REPROEDR

3.

Literals are put into a literal pool and processed when an END or LTORG expression is
encountered (see Diagram 2.1.2).

IPKJA

LITERAL
LTORGR
LlTDRV
LITMN
LlTSRCE

2.1.1

Edit
----

SOURCE TEXT

- --

'i:.

---

OUTPUT

(WORKFILE 3)

EDITED TEXT

....
(SEE APPENDIX H)
v

1 CHECK NAME FIELD AND SYNTAX OF OPERAND

(WORKFILE 2)

(SEE APPENDIX H)

PETR
PETFLDS

PCSR
PSTRINGS

2 COLLECT SYMBOLS IN SYMBOL BUCKETS
3

--

~

~

CONVERT EXPRESSIONS TO REVERSE
POLISH NOTATION

~

'--

- .......-

~

()

~>
f

" -

'"

1
/

/

'\

)

~

~
2.1.1

EXTENDED DESCRIPTION

~
MODULE

ROUTINE

Records which have been partially edited at an earlier stage (see Diagram 1.1.1) are more fully
edited for assembly. The length attribute, ESDID, and location counter fields are created but
not filled until symbol resolution (see Diagram 2.3).

..,.
lJl

1.

The name field and operand syntax are checked.

IPKJA

CHKNAME

2.

All symbols are placed in "symbol buckets" in the edited text. Symbols in expressions are
replaced by flags referring to the buckets; the buckets appear in the same order as the symbols
in the expressions. If the same symbol appears more than once in an expression, there will
be more than one bucket for it (see "Diagnostic Aids" for examples of symbol buckets).

IPKJA

OPERAND

3.

Expressions are converted to reverse Polish notation (see Diagram 2.1.1.1).

IPKJA

POLIFY

2.1.1-.1
.... _.

Convert .Assembly Ezpreasiona to Ravena Polish Notation

y

....

-_ .. _.

_--

.....
...

Ex........

1

-""

SCAN EXPRESSION

v

"

notation

2

PASS OPERANDS DIRECTLY TO
OUTPUT STRING

3 SEND OPERATORS TO STACK;

.....
C!'I

MOVE TO OUTPUT AS
OPERATORS PRIORITY
DICTATES

(j

Ex""""
in
_
_ Polish

/J

~

~

2.1.1.1

EXTENDED DESCRIPTION

1.

Expressions are scanned from left to right.

2.

Operands are assigned identifying flags and are inserted immediately into the output
string (see Appendix G for the flags).

3.

Operators are put in a stack according to their priority. The higher the priority, the
sooner the operator is inserted into the output string. The first operator encountered
is always entered into the stack. For all other operators, the operator's priority is
compared to that of the previous operator entered in the stack. If the priority is lower
than that of the previous entry, the operator is placed in the stack. If the priority is
higher than or equal to that of the previous entry, the previous operator is removed
from the stack and placed in the output string. The operator's priority is then compared
with that of the next operator in the stack, and so on.
There are two exceptions to this processing method:
Left parenthesis: placed in the stack without comparision of priority
Right parenthesis: causes the stack to be emptied until a left parenthesis is found. The
left parenthesis is also removed.
Operator priorities:

2+.I>-...1

~

~..,./'

'\,

3 / *
For examples of expressions in reverse Polish, see "Diagnostic Aids".

MODULE

ROUTINE

IPKJA

POLIFY

2.1.2

Handle Literals
'1,.,,,,-

SOURCE TEXT

(WORKFILE 3)

~

~
"v

-_ ..

... _-LITERAL POOL

1 CHECK THAT LITERAL IS VALID

2

, ,

... ,,'

, , ....

~

_,

(WORKFILE 1)

..

"...

Chain
pseudo-I L I Literal I L IsYmbol
pt.. I F I L I symbol

SEARCH LITERAL POOL FOR EQUALS'

~-""-

3

EDITED TEXT
IF NO DUPLICATE ENTRY,
ASSIGN PSEUDONAME AND
ENTER IN POOL

~

"

00

v

4

(WORKFILE 2)

PETR,
PETFLDS

·
·
·
·

REPLACE LITERAL WITH
PSEUDONAME IN EDITED
TEXT

LTORG

I END OR LTORG I
5

LlTTBL

·

WHEN END OR LTORG ENCOUNTERED,
GENERATE LITERAL RECORD

·

...
...

·
6

·

CREATE DCL RECORD

v

-

.....

-

_/

f~~

""

)

/

)

~

l'-"',

f"'\

1

/

\

2.1.2

EXTENDED DESCRIPTION

MODULE

ROUTINE

A literal pool contains all literals occuring from the start of the first control section or the
previous l TORG. The entries are in chains according to the length required in main storage
when assembled (8,4,2, or 1 bytes). The literals are assigned symbolic names so that they can
be handled as DC instructions: when a l TORG or END statement is encountered, literal DC
instructions are generated for each entry so that the literals can later be handled as regular DC
instructions during symbol resolution.

"'"
~

1.

The literal is checked for validity (using the same routine as for DCs).

IPKJA

OCR

2.

The literal pool (in main storage and on workfile 1) is searched tor equals.

IPKJA

OCR

3.

If not already entered in the literal pool, the literal is assigned a symbolic name* and
entered in its appropriate chain.

IPKJA

LITERAL

4.

The literal is replaced by its symbolic name in the edited text.

IPKJA

L!TMN

5.

When a l TORG or END statement is encountered, the literal pool is read and literals
retrieved from the 8-, 4-, 2-, and 1-byte literal chains; a literal record (in the form of a
compressed source record) is constructed for each and written on workfile 2 for the listing.

IPKJA

LlTSRCE

6.

A DCl instruction is generated for each literal and written on workfile 2.

IPKJA

OCR
F!XUP
DRIVER

* A symbolic name for literals is generated with
• an identification byte (internal code = 1) in the first byte
• five characters copied from the literal definition in bytes 2~6
• Ii sequence number for generated names in bytes 7-8
When a location counter reference is made in a literal, a name is generated for the statement ;f
it has not already got a name field. The name generated is similar to that for literals with
• an identification byte (internal code = 8) in the first byte
• five blank characters
• a sequence number for generated name in byte 7-8

2.2

Collect Symbol Definitions
.. _.

-.

(WORKFILE 2 OR 0*

EDITED TEXT

PETR, PETFLDS

-

~
v

-- .. _.

. .. _---(SYMTABL)
HASH TABLE

IPKKA

1 BUILD SYMBOL TABLE

~

SYMBOL TABLE

(SYMADDR)

I ..

I PHYR

I"

I

XREF RECORDS

(WORKFILE 3)

.

2 CREATECRO~REFERENCE

XREFREC

-v

RECORDS

\J1
,0

ESD TABLE

3

BUILD ESD TABL,E

(WORKFILE 3)
ESDENTRY

"

~

-v

EDITED TEXT (WORKFILE 1 OR 2)*

4

PETR
PETFLOS

'\
,)

PUT OUT EDITED TEXT
AND ERROR RECORDS

fl2££!2!I

........ ~--

--

•

#~-:4.,

.(

\

\.,

J

/

"

~

t)

~
:~

2.2
1.

EXTENDED DESCRIPTION

Symbol definition~ are collected in a symbol table for later use in resolving symbol
references.

MODULE

ROUTINE

IPKKA

Overflow technigue: If the symbol table overflows, the substitution phase (ASSELA) is called
in to process the currently built symbol table segment. The substitution phase will resolve all
references to symbols in the symbol table. When this is done, IPKKA will be called back in
and will start processing the text where it left off when the overflow occurred. It will discard
the old symbol table and start building a new one. This process will continue until the text is
all processed or the symbol table overflows again. If it does, the substitution phase will be
called and that segment processed, and so on.

....VI

2.

Cross-reference records are created for both symbol definitions and references (and
duplicates). These will later be put out by the post-processor ( see Diagram 2.8).

IPKKA

3.

The external symbol dictionary table is built (see Diagram 2.2.2).

IPKKA

4.

The text is edited: expressions in the operands of CNOP, ORG, EQU, and END
statements are evaluated and length and duplication factors calculated for DC, OS,
and DC L instructions.

IPKKA

CROSSREF

2.2.1
INPUT
(WORKFILE 2 OR 1)*
EDITED TEXT
PETR
PETFLDS

~
"
v

Build Symbol Table
OUTPUT

PROCESS

(PSYMTABL)

HASH TABLE

1

PROCESS STATEMENTS ACCORDING
TO TYPE:

/'

/

CNO'

}

MACHINE
INSTRUCTION

"'GN ON
HALFWORD
BOUNDARY

-1
I

I

I

I

~

I

I

DCIO,

LITERAL DC

}

CCW
LTORG

\

~

I

ALIGN ON
DOUBLEWORD
BOUNDARY

PHYR

\

I
I

}

(SYMADDR)

SYMBOL TABLE

I

I
ALIGN ACCORDING
TO TYPE

I

I

f

Hash
ptr.

~

Flags Length ESDID Value Length Symbol
attr.

I

I
CNO'
ORG

V1
N

}

EQU

I

EVALUATE
EXPRESSION

I

DCIDS

I

LITERAL DC

I

I

OC~

LITERAL DC }
CCW
MACHINE
INSTRUCTION

COMPUTE LENGTH

CNOP

2
3

r;~

I
I
I

I
I

LOCATION COUNTER

r-

I

I

ENTER SYMBOL VALUE IN .SYMBOL TABLE

UPDATE LOCATION COUNTER

(LOCCNTR)

- - -'
( All three in main storage. )

I

2.2.1

MODULE

EXTENDED DESCRIPTION

Symbol definitions are collected in the symbol table. In order to define a symbol, the
corresponding value of the location counter must be computed. This value, in turn, depends
on the lengths of the instructions and their alignment in main storage when assembled.
1.

~f

~

~

IPKKA

Instructions are processed according to type. They are aligned, expressions are
evaluated, and their lengths computed. The routine names for the instructions given
below are shown in the column to the right:
MACHINOP
EaUR
CNOPR
ORGPROC
OCR
OCR
OCR
CCWR
LTORGR
ENDR

Machine instructions
EaU
CNOP
ORG
DC
DS
DCL
CCW
LTORG
END
2.

Symbols are entered in the symbol table, together with their values, length attributes,
and ESDID.

IPKKA

3.

The location counter is updated for those instructions requiring it.

IPKKA

U1
W

ROUTINE

2.2.2

Build External Symbol Dictionary Table

INPUT

PROCESS

OUTPUT

EDITED
TEXT (WORKFILE 2)

ESD TABLE

(WORKFILE 3) ESDENTRY

i

i

CSECT
DSECT

PETR
PETFLDS

1

COM

CLOSE ENTRY FOR
PREVIOUS CONTROL

START

SECTION

.

~

A

Curro

B

Type

....
SEARCH ESD TABLE FOR NAME- -

CURRENT LOCATION
COUNTER
(LOCCNTR)
I

3a FOUND: UPDATE LOCATION

Type

ESDID

COUNTER FROM ESD
CSECTI

"'"

D

HIGH LOCATION
COUNTER (LOCCNTHt)

3b NOT FOUND: SET LOCATION
COUNTER TO ZERO (N)C.::V
CSECTI

c

EXTRN
WXTRN
V-CON

p.,"'.

~

Type

..,,-

ENTRY

4

MAKE NEW ENTRY IN ESD

Symbol

Curro
loc.
ctr_

High
Ioc.
ctr.

Symbol

High
loc.
ctr.

Symbol

Gf

TABLE (RENEWED

VI

High
loc.
ctr.

0fJ

,/

i

Ioc_
ctr.

,/
,/

2

ESDID

ESDID

0

-~

TABLE~

,.t-

,.,

~

2.2.2

EXTENDED DESCRIPTION

~

MODULE

ROUTINE

The external symbol dictionary table saves external symbols which will later be printed out
in the ESD output; the table is also a control for CSECTs.
1.

A CSECT, DSECT, COM, or START instruction means the beginning of a control section.
The previous control section's entry in the ESD table is closed by retrieving the current and
high location counter values from COMMON and inserting them in the entry. (The "current"
location counter value is simply the value of the location counter; the "high" location
counter value is the highest value that occurred during processing of the control section -- this
value may later have been lowered by an ORG statement.) The high value is used to compute
the size of the control section.

IPKKA

CSECTR
DSECTR
COMR
STARTR

The entry for the last control section will be updated when the END statement is read. If
there are literals after the END statement, the first control section will be updated after them.
2.

The label associated with the CSECT, DSECT, COM, or START instruction is looked for in
the ESD table.

3 a. If found, the symbol has been entered before, and the CSECT is a resumed CSECT. The
current location counter value is retrieved from the entry (ESDLCTR) and inserted in the
current location counter value (LOCCNTR).
lJ1
lJ1

IPKKA

IPKKA

3 b. If .!lQ! found, the location counter is set to zero (or to the address specified in the START
operand) to begin a new control section.
4.

An ENTRY, EXTRN, WXTRN, or V-type address constant causes an entry to be made in
the ESD table. The current location counter value is the same as the high location counter
value -- both are the actual value of the location counter. The current location counter
value for ENTRY is the value at which the symbol is defined, not the value for the ENTRY
statement itself.

IPKKA

PEEX

2.3

Resolve Symbol References
.. ,.. -.

*

EDITED TEXT (WORKFILE' OR 2)
PETR, PETFLDS

~.
"

-----

..-..

HASH TABLE

.
v

...
IPKLA

1

READ EDITED TEXT

2 REPLACE ALL SYMBOL REFERENCES
WITH SYMBOL TABLE VALUES

(PSYMTABL)

3a

I

SYMBOL TABLE OVERFLOW

XREF RECORDS (wORKFILE 3)

.

MAKE XREF E:TRI~S

"

3b NO SYMBOL TABLE OVERFLOW

U1
0'\

SYMBOL TABLE (SYMADDR)

\

-_ .. _-

_--

PHYR

2.2

XREFREC

IPKKA

EVALUATE EXPRESSIONS

.-4

IF MACHINE INSTRUCTIONS,
ADDRESS CONSTANTS, USING,
DROP, OR CCW, GO TO

2.4
(WORKFILE , OR 2)*
EDITED TEXT

IPKNA

5

~
)

.WRITE EDITED TEXT

.r?J

* Depending on number of symbol·table overflows

()

,
,

\

..

PETR,PETFLOS

"

\
.

/

\

)

......

~

~

2.3

EXTENDED DESCRIPTION

1.

Edited text containing unresolved symbol references is read from workfile 1 (or from
workfile 2, depending on symbol table overflow).

2.

Symbol references are resolved by hashing the symbol and finding its value in the
symbol table.

!

MODULE

ROUTINE

IPKLA

3 a. If there has been symbol table overflow
ESD entries are made from those symbol references which are resolved before they are
read by IPKKA.

IPKKA

CROSSREF

IPKKA

EVALUATE

3 b. If there has been no symbol table overflow or if this is the last time IPKLA has been called
Expressions involving symbols can now be evaluated (expressions involving CNOP, ORG,
END, and EQU, in addition to duplication and length modifiers in DC and OS instructions,
have already been evaluated (see Diagram 2.2.1)).

VI

--.J

4.

If the instruction is a machine instruction, address constant, USING, DROP, or CCW,
IPKNA is called.

5.

Otherwise the edited text is written on workfile 1 or 2.

'!j

2.4

Build Object Code 1
OUTPUT

PROCESS

INPUT
IPKNA
(WORKFILE 1 OR 2)*

DETERMINE RECORD TYPE. PROCESS ACCORDINGL Y:

EDITED RECORDS

~

---

PETR,
PETFLDS
PDCEDIT

/

(NUSTAB)

/
/
/

I~'"

...

U1
())

-"

-

/

USING, DROP

~

IPKNB,IPKNA

r::;;,

., '" '"

- ---

-II

"'-/ ] ]
....

/

/
/ / ,.

USING TABLE

~

MACHINE INSTRUCTIONS

,

EDITED TEXT (WORKFILE 2 OR tJ

.,

ADDRESSCONSTANTSANDCCW

I

V

· '.
RLDTABLE

.. r
\.

I

I

(WORKFILE 3)

)1'--_ _ _ _ _--'
RLDENTRY

* D....nding on overflow

IPKLA

2.3

(~'

/~\

!

/

\

j

l-·~

'"

j

~,

~

2.4

~

'.

EXTENDED DESCRIPTION

MODULE

ROUTINE

IPKNA

NMACHOP

IPKNA

NUSING
NDROP

IPKNA
IPKNB

NSADDR

Input: edited records from IPKLA
Output: object code and edited records on workfile 2 (or 1, depending on symbol table overflow).

Processing proceeds according to record type. The following records are processed:
Machine Instructions (Diagram 2.4.1)
Each instruction is processed according to its length and type code (included in the pseudoopcode). Implicit addresses are resolved by means of the using table.
USING, DROP (Diagram 2.4.2)
These instructions, which influence the using table, are processed.

Address Constants and CCW (Diagram 2.4.3)
Address constants and CCW instructions are processed at this stage. Implicit addresses are
resolved by means of the using table.
111
\0

2.4.1

cz

INPUT

EDITED RECORDS FROM
I

Process Machine Instructions

IPKLA
I

PETR, PETFLDS

PROCESS

OUTPUT

1 GET RECORD AND ENTRY TO OPERAND

--v

RESTRICTION TABLE
ERROR
TABLE (NERRSTCK)

2 CHECK VALUE OF
i

i

OPERANDS; IF ERROR

"

/'

OPERAND RESTRICTION
TABLE
(NPARTAB)

,/

I

==>

I

NTABFMT

,/
/'

•

./
',I

3 CHANGE IMPLICIT ADDRESSES TO

/~

BASE-DISPLACEMENT FORM

/

/
/

0'1

o

/
USING TABLE
I

4 BUILD EDITED TEXT OUTPUT RECORD

(NUS TA B) /
I

(WORKFILE 2 OR 1)
EDITED TEXT

/

~

5

PETR, PETFLDS

WRITE OUTPUT TEXT AND ERROR
RECORDS

~

~

~

.

2.4.1

m
I-'

-~,r

;'}

EXTENDED DESCRIPTION

MODULE

ROUTINE

1.

The length of the instructions and the type code are used to determine which routine
will handle the instruction and also to find an entry in the operand restriction table.
The table contains information about the type of operand, allowed values, and where
the value should be stored.

IPKNA

NMACHOP

2.

The values of the operands are checked; if an error is detected, the error number
and operand number are stored in an error table.

IPKNA

NTESTST1
NTESTST2

3.

Implicit addresses are decomposed to base-displacement form by means of the using
table. The table is searched for the register giving the smallest displacement among
those available. If two registers give the same displacement, the higher-numbered
register is used.

IPKNA

NADDRSPL

4.

Object code for the instruction is built together with listing information and inserted
in the edited text.

IPKNA

NIVIACHEND

5.

The edited text record is written onto workfile 2, followed by error records, if any.

IPKNA

NMACHEND

2.4.2

Pr,

.... _.

EDITED RECORDS FROM IPKLA

··
··
·

"-

USING

DROP

"L.

u..

d Oro·
__ 0._-

... _--

(NUSTAB)

USING TABLE

1 UPDATE THE USING TABLE

"-

ESDID

Base add....

Switch

~

PETR
PETFLDS

··

2 BUILD EDITED TEXT OUTPUT
RECORD

EDITED TEXT

(WORKFILE 2 OR 1)

··
··
··
·
~-USING

"-

3 WRITE OUTPUT TEXT

)

~

0'\

PETR
PETFi.DS

DROP

tv

-

~)
,

r~'

I

~

/

~-~

,

~

j

,.,.,

~1

~.

MODULE

ROUTINE

USING. The operands are checked and the ESDID and the base address stored in the table.

IPKNA

NUSING

DROP. The operands are checked and the corresponding switches in the table are set to
indicate that the registers are no longer used as base registers. If there are no operands, all
entries are indicated to be free.

IPKNA

NDROP

2.4.2

EXTENDED DESCRIPTION

The using table has 17 entries. There is one entry each for registers '·15 and two for
register 0 (this is necessary because the absolute and relocatable case can occur simultaneously
for register 0). Each entry consists of the ESDID, base address, and a switch indicating if
the entry is used or not.

0"\
W

2.4.3

Process Address Constants and CCWs

~

INPUT

EDITED RECORDS FROM IPKLA
PETR, PETFLDS

v

,,

"
USING TABLE

'"

/

(NUSTAB)

,,

,
,
,

,

PROCESS

,

OUTPUT

1 CHECK OPERAND
2 IF DC OR CCW, GENERATE CODE
RLDTABLE

(WORKFILE 3)

"
3 MAKE RLD ENTRY (ALL EXCEPT 8-TYPE)

ill"

RLOENTRY

~

"

4 LOG ERRORS

~

*

EDITED TEXT FILE (WORKFILE 1 OR 2)
PETR
PETFLOS

~

5 WRITE OUTPUT TEXT AND ERROR

.~

"

RECORDS

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

()

.
\
';:-'"

.~

./

~:"
,
\
)

\

,.,

0'1

EXTENDED DESCRIPTION

~

MODULE

ROUTINE

IPKNA
IPKNB

NSADDR
DCPROC

CCW
S-type address constant.
Other address constant.

IPKNB
IPKNA
IPKNB

CCWPROC

3.

An RLD entry is made for all instructions except S-type address constants.

IPKNB

WRITERLD

4.

Errors are logged.

IPKOA

ERRLOG

5.

Output records and error records are written.

IPKOA
IPKNA

ERRPUT

2.4.3

lJ1

..--..,

1.

In the case of an implicit address, the using table is used to split the address into basedisplacement form; otherwise, the validity of the register and displacement are checked.

2.

If the record is a DC or CCW, object code for the output edited record is generated.

DCPROC

2.5

...-

Print/Punch the External Symbol Dictionary
. .. _--

_.

PUNCH AND
REPRO RECORDS

rWORKFILE 1J

v~
.....
v

,...---1\

IV'
ESD TABLE

-_ .. _.

IPKMA

.
..

1 PUNCH PRE-OBJECT PUNCH AND
REPRO CARDS

rSYSPcff)
PUNCH, REPRO, AND ESD CARDS

.
..

2 PUNCH ESD OBJECT CARDS

rWORKFILE 3J

ESOENTRY

3 PRINTESD

II

0\
0\

4 PRINT DSECT DICTIONARY

l

•

(:~,

/

'\

/'

ESD AND DSECT
DICTIONARY

..
v

rSYSLSTJ

~
~-.-

)

2.5
1.

0'1
...,J

~
"

.

EXTENDED DESCRIPTION

PUNCH and REPRO records previously written on workfile 1 (see Diagram 2.1)
are punched.

~
MODULE

ROUTINE

IPKMA

2, 3. The ESD table is translated, punched, and printed.

IPKMA

ESDROUT

4.

IPKMA

DSROUT

The DSECT dictionary is printed after the external symbol dictionary.

2.6

Build Object Code 2

C2]

PKMA

INPUT

OUTPUT

PROCESS

2.5

IPKOA
EDITED TEXT

(WORKFILE 2)
i

i

!!E.I!!....
PETFLDS

...
v

1 PROCESS ACCORDING TO TYPE:
- ----

DC. LITERAL DC

L----

G'.,,"m OB.OECT 00.'
CDS
CHECK OPERAND

ex>

3 PASS ON OTHER*STATEMENTS

l,

;

(Passed to IPKPAI

~

~

,

v

r

0"1

(~
,~~~ ,

i

rl

2 DETECT AND LOG ERRORS

*Those processed in

Ii

OBJECT CODE. ERROR RECORDS

.<

~~~

k

~

'

"KPA

",,

Ir~

./

\,~

i

",

'\

~

n
2.6
1.

I~
,

~

1

"

EXTENDED DESCRIPTION

MODULE

ROUTINE

IPKOA

DCPROC

IPKOA

DCPROC

IPKOA

ERRLOG
ERRPUT

Object code is built for DC and OS instructions

I DC, LITERAL DC I
Object code is generated.
IDSI
Operands are checked.

2.

0'1
~

Errors are logged and put out after the statement in error.

2.7

Output
.......

-.

~-- ---- ~PKPA

COMPRESSED SOURCE AND
(WORK FILE 3J
ERROR RECORDS

.
.

1

. ..

_-

-_ .. -.

~D~J

READ COMPRESSED SOURCE

f£E!..

.....

~

--

2

3
EDITED TEXT AND
ERROR RECORDS (FROM IPKOA)

PROCESS CORRESPONDING
EDITED TEXT

PUNCH AND PRINT
OBJECT CODE

~

~

LISTING

a~

-

PETR
PETFLDS

......

o

4 PROCESS
LISTING
CONTROL RECORDS

5

===:>CV

>0

PROCESS MNOTE

PUNCH AND REPRO

(SYSLSTJ

ERROR
RECORDS

~

(WORKFILE 1J

.!fl!!!..

6

PROCESS ERROR RECORDS

==>..

,i.'

~

2.7

1"1,.,

~

EXTENDED DESCRIPTION

MODULE

ROUTINE
GETSRC

1.

Compressed source records are read from workfile 3.

IPKPA

2.

The compressed source records are checked against the last edited text record read and passed from
IPKOA. If there is no corresponding edited text record (for example, if the compressed source record
is for an erroneous machine instruction), the record is printed and the next one read.

IPKPA

When there is edited text for the record, it is processed as shown on Diagram 2.7.1.
3.

The code developed in the previous step (Diagram 2.7.1) is printed for the listing and punched
for the object deck.

4.

listing control statements are processed according to type:
TITLE. The heading is replaced and the page eject control character is set.*
inserted if it appears on the first title statement.
EJECT. The page eject control character is set.*

'-.I

I--'

The symbol name is

EDTEXT
IPKPA

PUNCHOUT
DUMP
PRINTER

IPKPA

TITLEOP
EJECTOP

SPACE. The control character for spacing** is set according to the number of lines indicated by
the operand. When the space operand exceeds two, blank lines are printed until fewer than three
spaces remain before the next print line.
PRINT: The print switches that control the printing of all statements, generated statements; and
object code, are updated when a PRINT statement is enr.ountered. The PRINT statement itself is always
printed regardless of the status of the print switches.

SPACEOP

Errors in list Control Statements. An error record is built and written on workfile 1. The statement in
error is printed. The requested"operation is performed if the error is a minor one.

WRTERROR

PRINTOP

5.

MNOTE. The message is printed on SYSLST and an error message written on workfile 1.
PUNCH, REPRO. The statement(s) is printed on SYSLST and the card(s) punched on SYSPCH. These
cards are intermixed with object deck cards.

IPKPA

MNOTEOP
PUNCHOP
REPROOP

6.

The text ***ERROR*** is printed on a separate line after each statement that contains one or more
errors. An error record containing the statement number is built for the diagnostic phase and written on
workfile 1.

IPKPA

COPERROR

* When the page eject control character is set, a page eject will first be performed before the next line is
printed .
.**The next printed line will be preceeded by one or two extra blank lines.

2.7.1

....

_.

~

EDITED RECORDS

~

D~m
.

PETFLOS

-'"

.,

Process Edited Tezt
..OCE
_-~

PROCESS BY TYPE:

I MACHINE INSTRUCTIONS

I

-

INSERT LOCATION COUNTER, OBJECT CODE,
ADDRESS FIELDS IN PRINT LINE.

_eM_CTCOD'

~

. ]

I DC,CCW I
INSERT LOCATION COUNTER AND OBJECT CODE
FIELDS. APPLY DUPLICATION FACTOR IF

-

PRESENT. (LITERALS PROCESSED SIMILARLY,
I CSECT, DSECT. START, COM, LTORGJi=DS

)0

LOCATION FIELD ONLY
-..,J

'"

IORG

I

LOCATION AND ADDR2 FIELDS
I EQU, USING

~

I

ADDR2 FIELD ONLY
lCNOP

I

~

I

LOCATION AND OBJECT CODE FIELDS

~

I END 1*
ADDR2 FIELD,IF PRESENT

~

* PROCESS LITERALS IF PRESENT ~

•

/.,~

,,r

,;.;.~

\ )

/

~

~

\

)

'

~

2.7.1

~

EXTENDED DESCRIPTION

~

MODULE

ROUTINE

The location counter value, object code, and address fields are inserted in the print line.

IPKOA

MACHOPS

Object code is punched.

IPKPA

DUMP

All other instructions are handled by type according to a branching table. Literals are
formatted for the listing.

IPKOA
IPKOA

PSEUTBL
LlTCOPE

Object code is punched for some instructions.

IPKPA

DUMP

MACHINE INSTRUCTIONS

ALL OTHER INSTRUCTION TYPES

-.....J
W

2.8
RLD TABLE
,

Post Process
INPUT

(WORKFILE 3)
'RLDENTRY

1 PUT OUT RELOCATION DICTIONARY

XREF RECORDS (WORKFILE 3)
,
'XREFREC

2 SORT AND PRINT CROSS-REFERENCE
DICTIONARY

~

I

LITERAL POOL (WORKFILE 1)
i LiTTBL

,

ERROR RECORDS (WORKFILE 1)

,

i

3 PROCESS ERROR MESSAGES
PETR
PETFLDS

(

.

"

.. ~
;'

OUTPUT

PROCESS

IPKOA
IPKRA
IPKSA

~

~

~mSTJ

0=iWEcr D'CK~
(SYSPCH)

n

~,
:

2.8

-..J
U'1

EXTENDED DESCRIPTION

~

MODULE

ROUTINE

RLDROUT

1.

The relocation dictionary is printed and punched (see Diagram 2.8.1).

IPKOA

2.

The literal pool and cross reference records are merged; they are then sorted and printed
on SYSLST (see Diagram 2.8.2).

IPKRA

3.

Error messages are processed and printed (see Diagram 2.8.3).

IPKSA

DECODE
PRINTER

2.8.1

R/PunCh the Relocation Dictionary
PROCESS

INPUT

OUTPUT

'(,..I/PKQA
~LD ~ABL~

RELOCATION DICTIONARY (SYSLSTI

(W?RKFILE 3)

I

Add •.1 Het.

con.
10

Isym·1

Flag

Add •.

RLDENTRY

10

"

1

~

2

r---+--r----i~---il ~ r-v'

'----v'

PRINT RELOCATION DICTIONARY

PUNCH RELOCATION
DICTIONARY

(PENDID)

I'D 'N'o'MAnoN

(P'NDAD)

I
I

--.]

->0

3

PUNCH END CARD

~

0'\

~

.~

:

----

)~

END CARD

~"oCAno~

ICTIONARY
(SYSPCH)
/

,
0/

:

,.--

~I

(SYSPCH)
i

/
V
I

~,

~

2.8.1

-..J
-..J

EXTENDED DESCRIPTION

~

MODULE

ROUTINE

1.

The RLD information is translated to output format and printed two columns per page.

IPKOA

RLDROUT

2.

The RLD object cards are punched.

IPKOA

RLDPCH

3.

An END card is punched. If there was a name in the operand field of the END statement,
its I D and address is punched.

IPKOA

2.8.2

Sort and Print the Cross-Reference Dictionary

v....

.... --

LITERAL
POOL

(WORKFILE

1

11

...

r-v
~
XREF'
RECORDS (WORKFILE 3J

...

-

..

IPKRA·RC

2 .............
INTO STORAGE AREA

3

XREF
SUBSTRINGS

OPTIMIZE PARAMETERS

SORT RECORDS -

!Q.

MORE

MORE
RECORDS

RECORDS

,

4
-..J

00

-

1
IIIIII
V
I

~
...

--

L

I I

WRITE SUBSTRING(SI
AND DIRECTORY(SI
I F NECESSARY

INOE~Y

(OlRENOJ

INDEX TABLE

~ I~

/

1J

---- J~lJ)lJ"
...

...

'1./ / I I I
I

I

/ / / /
, 1 /
I

XRFENTRY

•

5

(WORKFILE 2J

RECORD STORAGE
(SRTINIT. RSAJ
AREA

DIRECTORY
Addrea 0ffIat

OlRENTRY
IOlRAOORJ

NIP

/

7

Key

MERGE SUBSTRINGS
BY GETTING WINNERS
VIA DIRECTORY

PRINTED
RECORDS

6

(SYSLSTJ
(PRNTLINEJ

..

PRINT RECORDS

v

rR
~~

\

)

l

\

"

~-'~\

r

'\ )

'

,~
1

M
2.8.2

EXTENDED DESCRIPTION

~
MODULE

ROUTINE

IPKRA

SRTlNIT

The cross-reference sort is done in two phases. In the first phase, one or more sorted substrings are
built. If there is more than one string, they are written on workfile 2. A directory entry is created
for each substring, containing the physical disk address and the lowest key number in the string. If
the directory overflows, an entry is made in the index table, consisting of the lowest key in the
directory and the physical disk address for the directory.
In the second phase, "M" blocks are read and the records retrieved in ascending order using the
directory, which is then updated according to ascending keys. When necessary, the next directory
is read into main storage and merged with the first one. If there is only one string, the print module
is fetched and the records passed to the print buffer one by one.

1.

The total number of bytes to be sorted is checked against available storage to determine if an
"in·storage" sort is possible. If it is not, the internal sort block size "B" and merge order "M"
are calculated with the respect to the number of strings to be sorted. Finally, all addresses to
the I/O buffers, directories, index table, and record storage are initialized.

2.

Since the literal cross-reference records are generated with a pseudoname instead of a symbol name,
the literal pool is read and the corresponding pseudo name is built and concatenated with each actual
literal.

IPKRA

SRTLIT

3.

The internal sort technique used is Shell's sort.

IPKRA

SRTRSA

4.

If the sort is not an "in·storage" sort, the Conner merge technique is used. Each sorted substring is
written and a directory entry containing the lowest key of the substring and its physical address on
disk is created. If the directory overflows, it is written on workfile 1 and a new directory built. Each
time the directory overflows, an entry is made in the index table. The entries in the directory are in
ascending order according to key number.

IPKRA

SRTOUT
SRTDIR

5.

Phase 2 is now loaded and "M" blocks read into storage together with the first (or only) directory
block. The winner pointed to by the first directory entry is passed to the print routine and the
directory is updated according to the next key. If the new winner is not in storage, the
corresponding block will be read and the winner put out. If a winner record is not pointed to by
a directory entry in main storage, the next directory block will be read by using the index table
and the two directories merged.
The records are put out.

IPKRB

MRGMAIN

-.J
1.0

6.

MRGDIR
IPKRA, RB
or RC

MRGPRT

2.8.3

....

Diagnostics and Statistics

_.

ERROR RECORDS (WORKFILE
No.

6

String
length

-

'--[......-r--

String

~

--

_---

V_''--VI

1 READ ERROR RECORDS

2 MESSAGES
BUILD

(ERR TAB}

OFFSET TABLE

- - - - - - - - . 06

--

0010

I)

"---

Macro name.

00

tJ

PETR
PETFLDS

I-

EDECK info.

o

...

~ ... -IPKSA-SB

ENCODED MESSAGES

~

10 0052

---(

~

7

I 0073 I 0025
J
I

~

.-"
GLOSSARY

0025

~0052

(MSGLIB}

/

(GLOSSARY}

OPERANDS

TOO
LISTING

0073

COMMON

~

Options size

(j

~

3 PRINT MESSAGE

PCOMMON

...

-----..

4

(SYSLST}

MANY

-V

ro

PRINTSTATISTICS

/

..

5 IPK006 TOO MANY
OPERANDS
EDECK names, no.
Macro names
Options

-

Size
.......

/

~

~

\ ~.l

2.8.3

00

.....

EXTENDED DESCRIPTION

~
MODULE

ROUTINE

1.

Error records are read from workfile 1.

IPKSA

2.

The message is built up in the following way: the error record contains a number which corresponds
to an entry in the offset table. This entry points to a corresponding "encoded message". The messages
are coded so that each word in the message is represented by a two-byte code; this code is the offset
of the actual English word in a "glossary", where all the different words are kept in EBCDIC code,
each word preceded by one byte that contains its length in bytes.
Error records that cotltain strings are handled by inserting the string into a special area in the glossary.
It (the string) is then handled like an ordinary glossary entry.

IPKSA
IPKSB

DECODE

3.

The messages are printed on SYSLST immediately after the statement in error.

IPKSA

PRINTER

4.

Statistics are printed. A summary of errors found in the assembly is printed from workfilli1; the macro
name and number of cards punched for the EDECK option are printed from workfile 1. The names of
macros called is printed from workfile 1. Assembler options in effect and the partition size are printed
from COMMON.

IPKSB

3

Initialize

..... _.

... _--

_ --

OUTPUT
..
fPOECK}

IPKBA

OPTION SWITCHES*

DOS SUPERVISOR
COMREG

I

I; "', ...

--

1---

.

1 SET OPTION SWITCHES

(PLINK)
(PALlGN)

--v

(PEDECK)
(PDF)

...

LlBs

I
PUBs

I

r-~

I

r,.,-

\

,-,- - -...

I- - ,

DTFSD*

(PRLD)
(PSYSPARM)
(/JSYSOtJ

2 CHECK FILE ASSIGNMENTS

{/JSYS02}

v

AND PARTITION SIZE

(lJSYS03)

\

in IPKAA

\

3 OPEN SYSO01,-2,-3, SYSIPT

\

BUFFER SIZES*

\
\
(»

(PLlST)
(PXREF)

,

N

.

4 COMPUTE BUFFER SIZES

(PBUFFLENt)
(PBUFFLEN2)
(PBUFFLEN3)

...

(PMNABSIZ)
(PVSDSIZE)
(SMTSIZE)
(PB 1FISIZ}

SYSIPT

..
v

(PB12SIZ)

5 READ A RECORD
FILE CONTROL BLOCKS*

(PBFILE)
(PBFILEt)

6 INITIALIZE BUFFER AND WORK AREA

(PBFILE2)

v

(PBFILE3)
PFCB

*lnCOMMON

fiR>~

\,

~)

/

n
3

co

IN

,"*'t
EXTENDED DESCRIPTION

~t

.

MODULE

ROUTINE

IPKBA

INOPT

1.

The assembler options, which have been passed to the communications region of the DOS supervisor
from ASSGN cards and from the options chosen at system generation, are used to set option
switches in COMMON.

2.

File assignments and partition size are checked and used to set values in the DTFSD. Errors cause
an ABEND.

INFILE
INPARSIZ

3.

The workfiles and the input files are opened.

INOPEN

4.

Buffer sizes are computed from information in the DOS supervisor communication region, the
DTFSD, and from the overlay switches.

INBUFSZ

5.

The first record is read from SYSIPT.

INREC

6.

The buffer and work area addresses are initialized for the first three phases.

INITCDE

fj f~ ~D

I-

...::l

I-

::l

0

()

I";.

I";.


U1

2.

Further input is flushed.

3.

All workfiles are closed.

4.

An end-of-job command is issued.

IPKTA

BADASGN

IPKTA

MESSROUT

\"',..----

ProgramOrg anization

roo
PurpoH of the Section
The purpose of this section is to describe the
structure of the assembler: how it is divided
into phases, the order in which these phases are
loaded into main storage and given control, and
how control and data are passed from one phase
to another.
This section contains:
• Phase/control section/object module directory
• Summary of the functions of each phase
• Control and data flow between phases
• Allocation of main storage for the phases
• Main storage layouts
• Common data area for the assembler

(

Program Organization

87

Phase/Control Section/Object Module Directory
Phase

Control
se'ction

Object
module

Description of the object module

ASSEMBLY

IPKAOOOO
IPKAJOOO
IPKBAOOO
IPKABOOO
IPKAGOOO
IPKAAOOO

IPKAO
IPKAJ
IPKBA
IPKAB
IPKAG
IPKAA

IPKAAOO2

IPKAA

SYSSLB logic module (PTFSL)
Assembler identifier
Initializer
SYSIPT and SYSSLB input
SYSIPT logic module (CPMOO)
Basic interface routines and common
data area
WOrkfile logic module

IPKCAOO1
IPKCBOOO
IPKCCOOO

IPKCA
IPKCB
IPKCC

IPKCOOO1

IPKCO

ASSEDA

IPKDAOOO
IPKDBOOO

IPKDA
IPKDB

Conditional assembly,editor
Variable symbol declaration processor

ASSEEA

IPKEAOOO

IPKEA

Sequence symbol resolution

ASSEGA

IPKGAOOO
IPKACOOO
IPKAHOOO

IPKGA
IPKAC
IPKAH

EDECK output
Punch routine
SYSPCH logic module (CPMOD)

ASSEFA

IPKFAOOO
IPKAEOOO
IPKADOOO

IPKFA
IPKAE
IPKAD

Global edit
SYSSLB input routines
SYSSLB logic module (DTFSL)

ASSECA

Figure 1.

Input for assembler
Op-code table and op-code look-up
Macro instruction and macro
prototype editor
OVerlay for TITLE, ISEQ, COPY, BKEND,
and EOF on SYSSLB '

Phase/Control Section/Object Module Directory. This figure
shows how the phases are divided into control sections and
object modules.
(part 1 of 2)

(1' -"

~j
88

(

Phase

Control
section

Object
module

Description of the object module

ASSEHA

IPKHAOOO

IPKHA

Attribute collection

ASSEIA

IPKIAOOO
IPKAAOO1
IPKAAOO3
IPKCBOOO
IPKICOOO

IPKIA
IPKAA
IPKAA
IPKCB
IPKIC

Generate
POINT with byte offset routine
POINT with byte offset routine for FBA
Op-code table and op-code look-up
Op-code substitution

ASSEJA

IPKJAOOO

IPKJA

Assembler pre-processor and literal
processor

ASSEKA

IPKKAOO1
IPKKAOOO

IPKKA
IPKKA

Assignment initializer
Assignment

ASSELA

IPKLAOOO
IPKNAOOO

IPKLA
IPKNA

IPKNBOOO

IPKNA

Substitution
Build code 1 for machine instructions
and S-type constants
Build code 1 for address constants (A,V,
and Y) and CCWs

ASSEMA

IPKMAOOO
IPKAFOOO
IPKAIOOO
IPKAHOOO

IPKMA
IPKAF
IPKAI
IPKAH

External symbol dictionary output (ESD)
Punch routine
Print routine
SYSPCH/SYSLST/SYSLNK logic module (CPMOD)

ASSEOA

IPKOAOOO

IPKOA

IPKPAOOO

IPKPA

Build code 2 for constants
(except A, V, Y, and S-type)
Text output

ASSEQA

IPKQAOOO

IPKQA

Relocation dictionary output (RLD)

ASSERA

IPKRAOOO

IPKRA

Cross-reference sort and print (XREF)

AS SERB

IPKRBOOO

IPKRB

Cross-reference merge and print (XREF)

ASSERC

IPKRCOOO

IPKRC

Cross-reference print (XREF)

ASSESA

IPKSAOOO
IPKSBOOO

IPKSA
IPKSB

Diagnostics output
Diagnostics and statistics output

ASSETA

IPKTAOOO

IPKTA

ABEND routine

Figure 1.

Phase/Control Section/Object Module Directory.
(Part 2 of 2)

Program Organization

89

Summary of the Functions of Each Phase
The following figure lists the functions accomplished in each phase of
the assembler. Some of these functions are broken down into
subfunctions. For a description of how the phases work see -Method of
Operation-.
Phase

Function

Diagram

ASSEMBLY

none

•
•
•
•

Check file assignments
Open workfiles and SYSIPT
Compute buffer sizes
Perform I/O

ASSECA

1.1

•
•
•
•

Read all source and compress text
Look up operation codes
Build macro name array (MNA)
Edit macro instructions and prototypes

ASSEDA

1.1.2

•
•
•
•

Process variable symbol dec.larations
Edit conditional assembly statements
Collect sequence symbol declarations
Complete macro instruction editing

ASSEEA

1.1.3

• Resolve all sequence symbol references
• Set up source macro header and tables
• Separate compressed source records (CSR)
and edit text for source macros
• Build source macro table (SMT)

ASSEGA

1.2

• Punch source macros in edited format

ASSEFA

1.3

• Build a global vector (GV)
• Build the macro address vector

(MAV)

ASSEHA

1. "

• Look up attributes for all parameters
and all symbols with attribute references
in open code

ASSEIA

1.5

•
•
•
•

Expand macro instructions
Evaluate conditional assembly expressions
Perform conditional assembly
Perform substitution

ASSEJA

2.1

•
•
•
•

Edit all machine and assembler instructions
Build literal pools after each LTORG and END
Output cross-reference records for all literals
Write on workfile 1 any PUNCH and REPRO records
found before first control section

ASSEKA

2.2

•

Figure 2.

90

Assign values to all symbols
• Build symbol table
• Build external symbol dictionary (ESD) table
• Evaluate length of EQU,CNOP,ORG, and END
expressions
• Output cross-reference records for all symbol
definitions, references, and duplicates

Summary of the Functions of Each Phase.
(part 1 of 2)

Phase

Diagram

ASSELA

2.3

Substitute values for each symbol
Evaluate all expressions
Handle USING and DROP statements
Convert implicit addresses into base-displacement
form
• Build all object output for machine instructions
and S-type constants
• Collect relocation dictionary (RLD)
information for RLD output
• Build all object output for address constants
(A, V, and Y) and CCWs

ASSEMA

2.5

• Output cards for PUNCH and REPRO records found
before first control section
• Output ESD cards, ESD, and DSECT listing

ASSEOA

2.4

• Build object output for all constants (except
A, V, Y and S-type)
• Merge source and edited text
• Output text listing
• Output text cards

ASSEQA

2.8.1

• Output RLD cards and listing
• Output END card

ASSERA-RC

2.8.2

• Sort cross-reference (XREF) records and print
XREF listing

ASSESA

2.8.3

• Output error messages and statistics

Figure 2.

Function
•
•
•
•

Summary of the Functions of Each Phase.
(Part 2 of 2)

Program Organization

91

c

d Data Fl,

.bol

Betw,

Ph

r

......
INITIALIZE
~

\...

1I",r-VJ

•

SYSIPT

~(~)

I

If no macros or conditionalassembly in open code

Source Macro

......

KT, GAR,
source and
edited records

WF1

\.0
N

-.

•

I

.....

,

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

-

Macro address
vector

...--

iF\

~
/

/

~

EDECK

I

..

ASSEFA

ii...

Global edit

~

..-

OC header, GAR,
source and
edited records

14-

Collect
attributes

WF3-

,-------I
EDECK
diagnostics

I

1GB
WF3

Global edit
errors

+0
WF3

ASSEIA

r C-;

Generate

~

L
I

•I
I
---.---

-..

I

ASSEHA

OC Global Vector ~
Open code
attribute table

I

Source Macro
Macro header
KT, GAR,
edited records
Open Code

Source & Lib. Mac

...

Source and
error records

-"i-r---

-----------.
Keyword table
global vector
edited text

variable sym. dict.
sequence sym. dict.
WF3
Source Macro

...~
I

I

::> I

I

variable sym. dict.

I-- sequence sym. dict.

Resolve sequence
symbol references

I

A

WF1

Source Macro

r-- Mac.info.block

'--

ASSEGA

SYSSLB

I

WF3

P,_:--_1_-.

----------I
I
I

..

ASSEEA

INPUT

I

Source

I-- OC info. block

.

Source macro
table

Macro
Library

Macro name
array

Open Code

Open Code
GAR,
source and
edited records

C

Source

Open Code

ASSEDA
Edit macro def.
and conditional
assembly

...

+

Open Code

~

WF1

•

WF3

Source Macro

Edit macro
instructions

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

WF2

ASSECA

.

Generated
source text and
error records

I

i~

M

~

WF1

-----------OUTPUT

I

PUNCH file
Pre-ESO PUNCH
& REPRO,
ESO records

~

•

I

H PUNCH & REPRO ....---before first
CSECT

I

Literal pool

I

PRINT .file
ESO records
Object file
Pre·ESO PUNCH " '_ _+_-1
& REPRO,
ESO records

WF1 *

o

Edited text
and error
records

I

I
I

~

.-----

~

...

Object file
Post·ESO PUNCH
& REPRO,
.....- -.........
text records
I
PUNCH file
RLO records,
END record

~

file
RLO records

Error records

I

-------

....

External symbol
dictionary output

WF1

WF3

---.
--..

Q

I

.-

ASSERA
Cross-reference
output

I

--

Control and Data Flow Between Phases

~F2
~

XREF strings
to be merged

T
ASSESA

Figure 3.

RLO
information

L..

Relocation
dictionary
output

---J

PRINT file
Error records and
statisticsc-_ _......

G

kV

T

I

I

1
ASSEMA

ASSEQA

I
~
XREF
•
...T
directory
I
PR~NTfile r ;
~"I!I____________

Object file
RLO records,
END record

t

Edited text
and error
records

ASSEOA
Build code 2
and text
output

6

~I

J"II

1

WF1

I
I

~P.RINT

EF

XR EF refereneb
"",H"",

f----.

...
......

PRINT file
Assembled source
program

\D

~:EF:"""i..... I~

*:

WF2 r

PUNCH file
Post·ESO PUNCH~---t-,
& REPRO,
text records

W

----'~

defintions

Diagnostic and
statistics output

* If symbol table overflow occurred, workfiles
(WF1 and WF2) may be in the opposite order.
**Only if symbol table overflow occurred.
- - - indicates optional information.

kD

Allocation of Main Storage for the Phases
The vertical axis of the diagram below represents the amount of main storage available to the partition. The horizontial axis
represents time (the order in which the phases are loaded and executed in main storage). Certain parts of the ASSEMBLY
phase, (for example, basic interface routines and the workfile logic module) are in main storage throughout execution.
Certain parts of the ASSEMA phase (the print routine and the SYSPCH/SYSLST/SYSLNK logic module (CPMOD» are loaded
into storage by ASSEMA and remain in storage to the end of execution. The shaded portion of the diagram represents the
area of the partition occupied by the work areas, buffers, dictionaries, tables, etc., of the phases; the size of this part of
storage is variable depending upon the size of the partition.
0
Low address
of partition

2
3

t

4K
4

~ 5
.~ 6
~ 7

7.2K

8
9
10
11
1.0
01>0

I'

12
13
14
15
16
17
18
19
20

tligh address
of partition

Figure 4. Allocation of Main Storage for the Phases

Main Storage Layouts of the Phases
The following figures illustrate the contents and layouts of the phases
as they are loaded into main storage. For a cross-reference to the
order in which they are loaded and their various sizes, see Figure 4.
The contents of the COMMON interface phase "ASSEMBLY" are shown in
Figure 1. Workareas, buffers, etc., generally begin at the high storage
address and work downwards using only as much of the available storage
as they require.

COMMON
interface

I-

-

- - -

-

- -

IPKCA
code

IPKCB
code

IPKCC

(

code

IPKCD
code

.......

,"-,

BLKADDR~~

____________________

~

Macro name array (MNA) buffer
PWAADDR~~

____________________

~

Work area for workfile 2
BUFADDR2~~

____________________

~

Buffer for workfile 2

Figure 5.

ASSECA Main Storage Layout.
Program Organization

95

COMMON
interface
~-------

IPKDA
code

IPKDB
code

L...

,

'r-'

"'"

VSDADDR

Variable symbol dictionary
(VSD)
SSDADDR
(only in IPKDA)

-+
Sequence symbol dictionary
(SSD)

PWAADDR1

-+

j.

Work area for workfile 1
BUFADDR1
Buffer for workfile 1
PWAADDR2
Work area for workfile 2
BUFADDR2

Buffer for workfile 2

* This area is overlaid by the VSD in module IPKDB
Figure 6.

ASSEDA Main Storage Layout.
,(

\(j

96

COMMON
interface

-------IPKEA
code

-""-

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

...
SSDADDR

--+

Sequence symbol dictionary
(SSD) buffer
SMTADDR

--+
Source macro table
(SMT) buffer

PWAADDR1

--+
Work area for workfile 1

BUFADDR1

---.
Buffer for workfile 1

PWAADDR2

--+

BUFADDR2

--+

Work area for workfile 2

Buffer for workfile 2
PWAADDR3

-+
Work area for workfile 3

BUFADDR3

-+
Buffer for workfile 3

Figure 7.

ASSEEA Main Storage Layout.

Program Organization

97

COMMON
interface
~--------

IPKAH
code

IPKAC
code

IPKGA
code
SMTADDR

~~~-------------------1
Source macro table buffer

~VSDAD

~~--------------------~
Sequence symbol dictionary and
variable symbol dictionary
buffer

....

-""

PWAADDR2 ~

Work area for workfile 2
BUFADDR2 ~

Buffer for workfile 2
PWAADDR3

~

Work area for workfile 3
BUFAPDR3 ~

Buffer for wor!dile 3

Figure 8.

98

ASSEGA Main Storage Layout.

COMMON
interface

t--

- -

-

- -

-

IPKFA
code

IPKAC
code

IPKAH
code

, ....

..... .....

.........

.... r-

GSDBUFAD

---+

Global symbol dictionary (GSD) buffer
SMTADDR ~
(only if there are
source macros)

Source macro table buffer

MNABUFAD~

}.

Macro name dictionary
(MND) buffer
BUFADDR1 ~
Buffer for workfile 1
PWAADDR1---...
Work area for workfiles 1 and 2
BUFADDR2

--+
Buffer for workfile 2

PWAADDR3

--+

BUFADDR3

~

Work area for workfile 3

Buffer for workfile 3

* This area is overlaid by GSD buffer if there are no source macros.
Figure 9.

ASSEFA Main Storage Layout.

Program Organization

99

COMMON

interface

1-------

IPKHA
code

Hash table (HASHTABL)
TABSTART

--.1-------------;

Attribute table
(ATTABLE)

BUFADDR2 ~I-------------;
Buffer for workfile 2
PWAADDR2 ~I-------------;
Work area for workfiles 2 and 3
BUFADDR3

~~------------i
Buffer for workfile 3

Figure 10.

100

ASSEHA Main Storage Layout.

(

COMMON
interface

r--

-

-

-

-

-

--

IPKIA
code

IPKAA
code
IPKCB
code

IPKIC
code
AMAV

----.

GAVAPT

----.

RDI BBASE

----+

RDIBBASE

----.

Macro address vector (MAV)
Value area for global set symbols
Open code dictionary block

Macro dictionary block

DAFSEND

L.,..

.... L...-

r--

~r--

-.
Global SSA

PWAADDR1

--.
Work area for workfile 1

BUFADDR1

--+

PWAADDR2

--+

Buffer for workfile 1

Work area for workfile 2
BUFADDR2

--+

..

PWAADDR3

Buffer for workfile 2

Work area for workfile 3
BUFADDR3

----+
Buffer for workfile 3

Figure 11.

ASSEIA Main Storage Layout.

Program Organization

101

COMMON
interface

-

-

- -

-- --

IPKJA
code

LlTTABLS

---+

..-

PWAADDR1

..

BUFADDR1

Work area for workfile 1

*

Buffer for workfile 1
PWAADDR2

---+
Work area for workfile 2

BUFADDR2 ~
Buffer for workfile 2
PWAADDR3

....Work area for workfile 3

BUFADDR3

--.
Buffer for workfile 3

* If there are PUNCH and/or REPRO records before the first control section, this area is first used bV
workfile 1, as shown here, and then overlaid bV the Literal pool. If there are.!!2 PUNCH or REPRO
records before the first control section, workfile 1 is not used and this area is onlv used bV the
Utera! pool.

Figure 12.

ASSEJA Main Storage Layout.
/' .""
~j

102

COMMON
interface

1----------

IPKKA
code

---+

ADESDTAB

External symbol dictionary
table buffer

+-

ESDEND

Hash table (HASHTABL)
STABEND
(end of symbol
table)

---+
Symbol table

(~~'

XREFPTR

I...

--+

SYMADDR
(start of symbol table)

Cross-reference buffer
BUFADDR2

---+

+-

XRAREND

Buffer for workfile 2
PWAADDR1(21---+
Work area for workfiles 1 and 2

...

BUFADDR1

Buffer for workfile 1
PHICORE

--+

Figure 13.

ASSEKA Main Storage Layout.

Program Organization

103

Symbol table overflow

-

No symbol table overflow

COMMON
interface
I- - . - -

STABEND

-

OOMMON
interface

IPKLA
code

IPKNA
code

IPKNA
code

----------1

STABEND

-+

(end of symbol
table I

Symbol table

XREFPTR

-- ---

IPKLA
code

- - - . .....

(end of symbol tablel

- -

--

~-

- - --Symbol table

---.I----------I+-SYMADDR

-+

~PWAADDR2

(Start of symbol table I
Cross-reference buffer

BUFADDR2

Work area for workfile 2

~I---------------~~RAREND
Buffer for workfile 2

"-BUFADDR2
Buffer for workfile 2

PWAADDR1(21-+1----------I
Work area for
workfiles 1 and 2

BUFADDR1

VVork area for workfile 1

~~------------~
Buffer for workfile 1

Figure 14.

104

. - PWAADDR1

ASSELA Main Storage Layout.

4-- BUFADDR1
Buffer for workfile 1

COMMON
interface

-- --- -- -IPKMA
code

IPKAF
code

IPKAI
code

IPKAH

code
PARTAB
External symbol dictionary
buffer

•
,1..
I'"

•

..........

*

•
External symbol dictionary
buffer

.......

.... ..,
'1-

PWAADDR1

.... r-

--.
Work area for workfile 1

BUFADDR1

~

Buffer for workfile 1
PHICORE

--+

* The maximum number of ESD buffers is seven.
Figure 15.

ASSEMA Main Storage Layout.

('
/
Program Organization

105

COMMON

interface

1----------IPKOA
code

IPKPA
code

~..,

PWAADDR3

~

BUFADDR3

--.

.... ~

Work area for workfile 3

Buffer for workfile 3
PWAADDR2

---+
Work area for workfile 2

BUFADDR2

~
Buffer for workfile 2

~

PWAADDR1

Work area for workfile 1
BUFADDR1

---+
Buffer for workfile 1

Figure 16.

106

ASSEOA Main Storage Layout.

COMMON
interface

f- -

- - - - - -

IPKQA
code

Relocation dictionary (RlD)
buffer

PRSAVE (saved RlDs)*
ENDSAVE

---..,.

"I.,

...

~

* Maximum number of RlDs saved =maximum number of lines.

Figure 11.

ASSEQA Main Storage Layout.

(
Program Organization

107

ASSERA
"In-storage" sort

ASSERA
Sort not "in-storage"

ASSERC

ASSERB

/

"

/

COMMON
interface

I- - -

- -

COMMON
interface

-

IPKRA
code

f--

- - -IPKRA
code

COMMON
interface

COMMON
interface

- - - - --

- --- --

Print routine
(CSECT = IPKRAOO1)

Print routine
(CSECT = IPKRAOO1)

IPKRCcode

IPKRB
code
routine
_ _ln_it_ia_l_iz_a_ti_on_ _-IlS*RTINIT

1-

Print routine
(CSECT = IPKRA001)
XREF sort block 1
Record storage area,
(RSA)
XREF sort block 2

•
•

Record storage area
(RSA)

Record storage area

•
•
Output buffer

•
•

Input buffer

Input buffer

XREF sort block "M"

XREF directory

XREF directory

XREF directory

XREF index table

XREF index table

XREF index table

* If the record storage area starts at label SRTINIT,

tThe number of XREF sort blocks is 2:SM $19.

then both the initialization and print routines are
overlaid by the RSA and the output printing is
handled by ASSERC.

Figure 18.

108

ASSERA Main Storage
Layout.

\

\

Figure 19.

ASSERB and ASSERC Main
Storage Layout.

COMMON
interface
f- -

-

-

-

-

---

IPKSA
code

IPKSB
code

PWAADDR1

--+~-----------------4
Work area for workfile 1

BUFADDR1

~,~----------------~
Buffer for workfile 1

Figure 20.

ASSESA Main Storage Layout.

Program Organization

109

Common D.t. Jb•• for the Auembler
The interface phase ASSEMBLY contains the common data area COMMON.
This data area is included in all other modules in the DSECT -PCOMMON-.
PCOMMON is divided up into seven parts, each part a COpy book, as
follows:
18RTAB

Branch table (branches to interface routines)

PCQM1

Equates and data areas used by the assembler

PCOM2,3,S,6,7

Data areas used by the phases of the assembler
at different times during execution

The different modules COpy those parts of COMMON that they need.
PCOM1,2,3,S,6,7 overlay each other by means of ORGs. For example:
PCOM2

starts with

ORG7

EQU*

starts with

ORG

ORG7

then
PCOM3

See -Data Areas- for a complete description of the DSECT PCOKMON.

110

Directory

Purpose of the Section
The purpose of this section is to assist you in
getting from the information in the manual to
the pertinent code in the program listings
and/or from the listings to the relevant
information in the manual. The directory
relates each module, entry point, and control
section name in the program to the corresponding
microfiche card.

C",·

r:

Directory

111

CSECTI
DSECT

MODULE,I
MCROFCH

DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT

BEC

IPKPA

CAED

COL.MODE AND OVERFLOW?, ATTRIBUTE PHASE

IPKHAOOO

IPKHA

CAEDIT

DSECT NAME; ATTRIBUTE PHASE

CAEDIT

IPKHA

CAEVAL

SAVE REGISTERS, PHKGEN

1.5,1.5.2

IPKIAOOO

IPKIA

CATALBKE

EDECK OUTPUT

1.2

IPKGAOOO

IPKGA

CCWCODE

DSECT NAME; CCW OUTPUT, CONSTANT AND CCW
CODE BUILD

CCWCODE

ADDRES

CCWCODE

DSECT NAME; CCW OUTPUT, ADDRESS CONSTANT
AND CCW CODE BUILD

CCWCODE

IPKNA

CCWR

STORE LENGTH OF CCW, ASSIGNMENT PHASE

2.2.1

IPKKAOOO

IPKKA

CHECKGS

GLOBAL EDIT

1.3,1.3.1

IPKFAOOO

IPKFA

CHKNAME

PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1.1

I PKJAO 0 0

IPKJA

CNOPR

PUT VALUES IN SYMBOL BUCKETS, ASSIGNMENT
PHASE

2.2.1

IPKKAOOO

IPKKA

CODE

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

COMR

GIVE IT A NAME, ASSIGNMENT PHASE

COMREG

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

BEC

PLM
REF··

CODE
IPKKAOOO

IPKKA

DSECT NAME; ONE TIME INITIALIZER

COMREG

IPKBA

CONXXXX

DSECT NAME; ONE TIME INITIALIZER

CONXXXX

IPKBA

COP ERROR

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

CROSSREF

XREF LISTING ?, ASSIGNMENT PHASE

2.3,2.2

IPKKAOOO

IPKKA

CROSSREF

XREF LISTING ?, SUBSTITUTION PHASE

2.3

IPKLAOOO

IPKLA

CSECTR

INDICATE THAT IN CSECT, ASSIGNMENT PHASE

2.2.2

I PKKAO 0 0

IPKKA

DCEDIT

DSECT NAME; ••• THIS DSECT, ASSIGNMENT PHASE

DCEDIT

IPKKA

DCPROC

DC AND OS CODE BUILD

2.6

IPKOAOOO

IPKOA

OCR

ZEROS TO POPNUMB IN OUTPUT RCD,
PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1.2

IPKJAOOO

IPKJA

OCR

ASSIGNMENT PHASE

2.2.1

IPKKAOOO

IPKKA

DIB

DSECT NAME; OC OR MACRO DIB, PHKGEN

1.5.1,1.5

DIB

IPKIA

DICTINFO

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

DIRADDR

ADDRESS TO DIRECTORY BUFFER, POST
PROCESSOR; XREF SORTING AND PRINTING

2.8.2

PCOMMON

IPKRA

DIREND

END OF DIRECTORY, POST PROCESSOR; XREF
SORTING AND PRINTING

2.8.2

PCOMMON

IPKRA

.DIRENTRY

DSECT NAME; DESCRIBES ONE ENTRY IN THE,
POST PROCESSOR; XREF SORTING AND PRINTING

2.8.2

DIRENTRY

IPKRA

.DIRENTRY

DSECT NAME; DESCRIBES ONE ENTRY IN THE,
POST PROCESSOR; XREF SORTING

DIRENTRY

IPKRB

OP-CODE LOOKUP AND STMT COMPRESS

IPKCA001

IPKCA

DRIVER

2.2.2

DICTINFO

.DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT •
•• EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN 'I'HE PROGRAM ORGANIZATION SECTION.

Directory

113

SYMBOLIC
NAME

DESCRIPTION:
NAME AND USE
,

PLM
REF··

CSECT/MODULE/
DSECT
MCROFCH

DRIVER

PHKGEN

1.5

IPKIAOOO

IPKIA

DRIVER

GET POINTER TO OUTPUT AREA. PRE-PROCESSOR
PHASE TO THE ASSEMBLER PHASES

2.1.2

I PKJAO 0 0

IPKJA

DSECTR

WAS THERE A NAME ?

2.2.2

I PKKAOO 0

IPKKA

DSROUT

SAVE RETURN REG. ESD INTERLUDE PHASE

2.5

IPKMAOOO

IPKMA

DUMP

SAVE, SOURCE AND OBJECT TEXT OUTPUT

2.7,2.7.1

IPKPAOOO

IPKPA

ASSIGNMENT PHASE

·EDPMI

DSECT NAME; EDITED PROTOTYPE AND M- I.
EXTERNAL SYMBOL DICTIONARY

EDPMI

*EDPMI

DSECT NAME; EDITED PROTOTYPE AND M-I. M-I
AND PROTOTYPE EDITOR

EDPMI

IPKCC

DSECT NAME; EDITED PROTOTYPE AND M-I.
VARIABLE SYMBOL DECLARATION PROCESSOR

EDPMI

IPKDB

·EDPMI

DSECT NAME; EDITED PROTOTYPE AND M-I.
GLOBAL EDIT

EDPMI

IPKFA

·EDPMI

DSECT NAME; EDITED PROTOTYPE AND M-I.
ATTRIBUTE PHASE

EDPMI

IPKHA

·EDPMI

DSECT NAME; EDITED PROTOTYPE AND M-I. PHKGEN

EDPMI

IPKIA

IPKPAOOO

IPKPA

EDT EXT

ENTRY POINT; SOURCE AND OBJECT TEXT OUTPUT

EINFO

DSECT NAME; ERROR ITEM DESCRIPTOR. EXTERNAL
SYMBOL DICTIONARY

EJECTOP

SOURCE AND OBJECT TEXT OUTPUT

ENDCARD

DSECT NAME; •••• RLD OUTPUT PHASE

ENDR

PUT VALUES IN SYMBOL BUCKETS. ASSIGNMENT
PHASE

2.7

EINFO
2.7

IPKPAOOO

IPKPA

ENDCARD

I PKQA

2.2 •. 1

IPKKAOOO

IPKKA

DSECT NAME; ENTRY IN PARAMETER TABLE, PHKGEN

1.5.1

EPAR

IPKIA

EQUR

EQUR (3705) QDL29301. ASSIGNMENT PHASE

2.2.1

PCOMMON

IPKKA

ERRBYTES

DSECT NAME; ••• THIS DSECT. ASSIGNMENT PHASE

ERRBYTES

IPKKA

ERRBYTES

DSECT NAME; ••• THIS DSECT. SUBSTITUTION
PHASE

ERRBYTES

IPKLA

ERR CALL

DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT

ERRCALL

IPKPA

·ERRENT

DSECT NAME; .ENTRY IN ERROR STACK. EXTERNAL
SYMBOL DICTIONARY

ERRENT

·ERRENT

DSECT NAME; ENTRY IN ERROR STACK. VARIABLE
SYMBOL DECLARATION PROCESSOR

ERRENT

IPKDB

·EPAR

ERItLOG

DC AND DS CODE BUILD

2.4.3.2.6

IPKOAOOO

IPKOA

F.RRPUT

ENTRY POINT; DC AND DS CODE BUILD

2.6,2.4.3

IPKOAOOO

IPKOA

ERSTACKM

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

ERSTACKM

IPKJA

.DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT •
•• EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOt> OF OPERATIONS SECTION.
I F".
FOLLOWED BY A NUMERAL •. REFERS TO A FIGURE IN THE .PROGRAM ORGANIZATION SECTION.

(t~""

~
114

(.

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

ESDCOL17

DSECT NAME: ••• , ESO INTERLUDE PHASE

,

./

CSECTI
DSECT

KCROFCH

ESDCOL17

IPKMA

~mI:'ULEI

.ESDENTRY

DSECT NAME: THIS DSECT DESCRIBES AN ENTRY,
ASSIGNMENT PHASE

2.2,2.2.2

ESDENTRY

IPKKA

.ESDENTRY

DSECT NAME: ••• , ESD INTERLUDE PHASE

2.5

ESDENTRY

IPKMA

ESDLCTR

• CURRENT LOCCNTR OF CONT. SEC, ASSIGNMENT
PHASE

2.2.2

ESDENTRY

IPKKA

ESDROUT

ESD INTERLUDE PHASE

2.5

IPKf.1AOOO

IPKMA

ESDTAB

DSECT NAME: ••• , ESD INTERLUDE PHASE

ESDTAB

IPI ENTRY IN KNA, PHKGEN

LBUF

DSECT NAME; DESCRIBES EDECK CARD IMAGE,
GLOBAL EDIT

LITCOPE

ENTRY POINT; SOURCE AND OBJECT TEXT OUTPUT

2.7. 1

IPKPAOOO

IPKPA

LITDRV

PICK UP ACTUAL LIT BLK ADDR, PRE-PROCESSOR
PHASE TO THE ASSEMBLER PHASES

2. 1

IPKJAOOO

IPKJA

LITERAL

PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1.2,2.1

IPKJAOOO

IPKJA

LITMN

LOAD OFFSET TO 8-CHAIN, PRE-PROCESSOR PHASE
TO THE ASSEMBLER PHASES

2.1.2,2.1

IPKJAOOO

IPKJA

LITSRCE

PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1,2.1.2

IPKJAOOO

IPKJA

*LITTAB

DSECT NAME; THIS DESCRIBES AN ENTRY IN,
POST PROCESSOR; XREF SORTING AND PRINTING

2.8.2

LITTAB

IPKRA

*LITTBL

DSECT NAME; ENTRY IN LITERAL TABLE,
PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1.2,2.1

LITTBL

IPKJA

LOCCNTHI

HIGHEST LOCCNTR OF THIS SEC., ASSIGNMENT
PHASE

2.2.2

PCOMMON

1 PKKA

LOCCNTR

LOCATION COUNTER, ASSIGNMENT PHASE

2.2.2

PCOMf.'lON

IPKKA

LTORG

LTORG, PRE-PROCESSOR PHASE TO THE ASSEMBLER
PHASES

2. 1

PCOMMON

IPKJA

LTORGR

ENTRY POINT; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

2. 1

IPKJAOOO

IPKJA

LTORGR

INSERT LENGTH ATTRIBUTE, ASSIGNMENT PHASE

2.2. 1

IPKKAOOO

IPKKA

LUB

DSECT NAME; LOGICAL UNIT BLKS FOR
PARTITION, DTFSL

LUB

IPKAD

*MACHEAD

DSECT NAME; MACRO HEADER RECORD OUT, SEQ
SYM REFERENCE PROCESSOR

MACHEAD

IPKEA

*MACHEAD

DSECT NAME; MACRO HEADER DSECT, GLOBAL EDIT

MACHEAD

IPKFA

1. 5.1

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

118

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF··

CSECTI
DSECT

MODULEI
MCROFCH

·MACHEAD

DSECT NAME; MACRO HEADER DSECT, EDECK OUTPUT

fo4ACHEAD

IPKGA

·MACHEAD

DSECT NAME; MACRO HEADER DSECT, PHKGEN

l1ACHEAD

IPKIA

MACHINOP

PUT RIGHT VALUES, ASSIGNMENT PHASE

2.2.1

IPKKAOOO

IPKKA

MACHOPS

ENTRY POINT; DC AND DS CODE BUILD

2.7. 1

IPKOAOOO

IPKOA

MAC INS

TEST IF COLLECTION MODE, ATTRIBUTE PHASE

1.4

IPKHAOOO

IPKHA

MAINK

PHKGEN

1.5. 1

IPKIAOOO

IPKIA

MAIN10

GET OPERAND RECORD, PHKGEN

1.5. 1

IPKIAOOO

IPKIA

MAIN30

READ KT RECORD, PHKGEN

1.5. 1

IPKIAOOO

IPKIA

MAVENTRY

GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

MESSAGE

DSECT NAME; MESSAGE LAYOUT IN POOL,
EXTERNAL SYMBOL DICTIONARY

MIB

VARIABLE SYMBOL DECLARATION PROCESSOR

1. 1.2

PCOMMON

IPKDB

MIROUT

SAVE MNEMONIC OP-CODE, M-I AND PROTOTYPE
EDITOR

1. 1,4

IPKCCOOO

IPKCC

MLIBSRCH

GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

MNABUFAD

ADDRESS OF MND BUFFER, GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

.MNAENT

DSECT NAME; MACRO NAME ARRAY ENTRY, OP-CODE
LOOKUP AND STMT COMPRESS

4

MNAENT

IPKCA

·MNAENT

DSECT NAME; fo4.ACRO NAME ARRAY OR MACRO NAME,
M-I AND PROTOTYPE EDITOR

MNAENT

IPKCC

·MNAENT

DSECT NAME; MACRO NAME ARRAY, OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

l>1NAENT

IPKCD

·MNAENT

DSECT NAME; MACRO NAME ARRAY OR MACRO NAME,
GLOBAL EDIT

1.3

MNAENT

IPKFA

MNDENT

GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

MNDNPDST

DSECT NAME; DSECT FOR MND NIP TABLE, GLOBAL
EDIT

MNDNPDST

IPKFA

MNDSRCH

GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

MNOTEOP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

MOVEPUT

FROM FIELD, SEQ SYM REFERENCE PROCESSOR

1. 1.3

IPKEJ1.000

IPKEA

MPUNCH

SAVE RETURN ADDRESS, EDECK OUTPUT

1.2

IPKGMOO

IPKGA

MRGDIR

POST PROCESSOR; XREF SORTING

2.8.2

IPKRBOOO

IPKRB

MRGMAIN

POST PROCESSOR; XREF SORTING

2.8.2

IPKRBOOO

IPKRB

MRGPRT

ENTRY POINT, POST PROCESSOR; XREF SORTING
AND PRINTING

2.8.2

IPKRA001

IPKRA

NADDRSPL

USING,DROP,MACHIN OP AND S-CONST CODE BUlLe

2.4.1

IPKNAOOO

IPKNA

NAMSCAN

CLEAR WORK REGISTER, ATTRIBUTE PHASE

1.4

IPKHAOOO

IPKHA

NDROP

USING,DROP,MACHIN OP AND S-CONST CODE BUILD

2.4,2.4.2

I PKNAO 0 0

I PKNA

MESSAGE

.DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT •
•• EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

119

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

NERRSTCK ;

E~ROR NUMBER STACK, USING,DROP,MACHIN OP
AND S-CONST CODE BUILD

2.4. l'

IPKNAOOOIPKNA

NMACHEND

TOO MANY OPERANDS, USING,DROP,MACHIN OP
AND S-CONST CODE BUILD

2.4.1

IPKNAOOO

IPKNA

N~ACHOP

INITIATE GENERATED CODE, USING,DROP,MACHIN
OP AND S-CONST CODE BUILD

2.4, . 2.4.1

IPKNAOOO

IPKNA

NPARTAB

HERE, USING,DROP,MACHIN OP AND S-CONST CODE
BUILD

2.4.1

IPKNAOOO

IPKNA

NSADDR

INDICATE S-TYPE CONSTANT, USING,DROP,MACHIN
OP AND S-CONST CODE BUILD

2.4,2.4.3

IPKNAOOO

IPKNA

DSECT NAME: USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.4.1

NTABFMT

IPKNA

NTESTST1

ENTRY POINT; USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.4. 1

,IPKNAOOO, IPKNA

NTESTST2

ENTRY POINT; USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.4.1

IPKNAOOO

IPKNA

NUSING

SET LOOP COUNTER, USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.4,2.4.2

IPKNAOOO

IPKNA

NUS TAB

USING TABLE, USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.4.3

IPKNAOOO

IPKNA

*OCSTMH

DSECT NAME; OC START AND MACRO HEADER REC,
VARIABLE SYMBOL DECLARATION PROCESSOR

1.1.20CSTMH

IPKDB

*OCSTMH

DSECT NAME; OC START AND MACRO HDR REC IN,
SEQ SYM REFERENCE PROCESSOR

1. 1. 30CSTMH

IPKEA

*NTABFMT

OPENTRY

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

OPERAND

PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2. 1. 1

IPKJAOOO

IPKJA

OPERANDS

ZERO WORKREGISTER, SUBSTITUTION PHASE

2.3

IPKLAOOO

IPKLA

OPSTACKM

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

OPSTACKM

IPKJA

ORGPROC

INSERT CUR VALUES IN STMT, ASSIGNMENT PHASE

2.2.1

IPKKAOOO

IPKKA

PALIGN

ALIAS FOR BIT1. ONE TIME INITIALIZER

1. 1

PCOMl'ONIPKBA

PARM

DSECT NAME; DESCRIBES PREAD/PWRITE PARM,
BASIC INTERFACE ROUTINES AND PCOMMON

PARPTV

DSECT NAME; PARAMETER POINTER VECTOR DSECT,
PH KG EN

PBUFLEN1

OPENTRY

PARM

IPKAA

1.5.1

PARPTV

IPKIA

BUFFER LENGTH, ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PBUFLEN2

BUFFER LENGTH, ONE TIME INITIALIZER

1.1

PCOMMON

IPKBA

PBUFLEN3

BUFFER LENGTH, ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PB1FISIZ

WF1 BUFSIZE IN F AND I, ONE TIME INITIALIZER

3

PCOMMON

IPKBA

PB12SIZ

WF1,WF2 BUFSIZ, ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

*PCOMMON

DSECT NAME; EXTERNAL SYPoBOL DICTIONARY

PCOMMON

*PCOMMON

OSECT NAME; SYSIPT AND SYSSLB ROUTINES

PCOMl"ON

IPKAB

*DATA AREA. SEE DATA AREA SECT.IONFOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD 'OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

120

f'f'

~

SYMBOLIC
NAME

f

DESCRIPTION: NAME AND USE

PLM
REF·*

CSECT/
DSECT

MODULE/
MCROFCH

*PCOMMON

DSECT NAME; PUNCH ROUTINE FOR EDECK

PCOMMON

IPKAC

*PCOMMON

DSECT NAME; SYSSLB ROUTINES FOR GLOBAL EDIT

PCOMMON

IPKAE

*PCOMMON

DSECT NAME; SYSPCH/SYSLNK OUTPUT

PCOMMON

IPKAF

*PCOMMON

DSECT NAME; PRINT ROUTINE

PCOMMON

IPKAI

*PCOMMON

DSECT NAME; ONE TIME INITIALIZER

PCOMMON

IPKBA

*PCOMMON

DSECT NAME; OP-CODE LOOKUP AND STMT COMPRESS

PCOMMON

IPKCA

*PCOMMON

DSECT NAME; M-I AND PROTOTYPE EDITOR

PCOMMON

IPKCC

*PCOMMON

DSECT NAME; OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

PCOMMON

IPKCD

*PCOMMON

DSECT NAME; VARIABLE SYMBOL DECLARATION
PROCESSOR

PCOMMON

IPKDB

*PCOMMON

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

PCOMMON

IPKEA

*PCOMMON

DSECT NAME; GLOBAL EDIT

PCOMMON

IPKFA

*PCOMMON

DSECT NAME; EDECK OUTPUT

PCOMMON

IPKGA

*PCOMMON

DSECT NAME; ATTRIBUTE PHASE

PCOMMON

IPKHA

*PCOMMON

DSECT NAME; PHKGEN

PCOMMON

IPKIA

*PCOMMON

DSECT NAME; LOOKUP AND CHECK OF GENERATED
OPCODES

PCOMMON

IPKIC

*PCOMMON

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

PCOMMON

IPKJA

*PCOMMON

DSECT NAME; ASSIGNMENT PHASE

PCOMMON

IPKKA

*PCOMMON

DSECT NAME; SUBSTITUTION PHASE

PCOMMON

IPKLA

*PCOMMON

DSECT NAME; ESD INTERLUDE PHASE

PCOMMON

IPKMA

*PCOMMON

DSECT NAME; USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

PCOMMON

IPKNA

*PCOMMON

DSECT NAME; DC AND DS CODE BUILD

PCOMMON

IPKOA

*PCOMMON

DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT

PCOMMON

IPKPA

*PCOMMON

DSECT NAME; RLD OUTPUT PHASE

PCOMMON

IPKQA

*PCOMMON

DSECT NAME; POST PROCESSOR; XREF SORTING
AND PRINTING

PCOMMON

IPKRA

*PCOMMON

DSECT NAME; POST PROCESSOR; XREF SORTING

PCOMMON

IPKRB

*PCOMMON

DSECT NAME; POST PROCESSOR; XREF PRINTING

PCOMMON

IPKRC

*PCSR

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

PCSR

*PCSR

DSECT NAME; OP-CODE LOOKUP AND STMT COMPRESS

*PCSR
*PCSR

PCSR

IPKCA

DSECT NAME; M-I AND PROTOTYPE EDITOR

PCSR

IPKCC

DSECT NAME; OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

PCSR

IPKCO

4

*IJATA AREA. SEE DATA A.REA SECTION FO~. DE'I'AILFD LAYOU'['.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

121

SYMBOLIC"
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
~~CROFCH

*PCSR

DSECT NAME: VARIABLE SYMBOL DECLARATION
PROCESSOR

PCSR

IPKDB

*PCSR

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

PCSR

IPKEA

*PCSR

DSECT NAME: GLOBAL EDIT

PCSR

IPKFA

*PCSR

DSECT NAME: EDECK OUTPUT

PCSR

IPKGA

*PCSR

DSECT NAME: ATTRIBUTE PHASE

PCSR

IPKHA

*PCSR

DSECT NAME: PHKGEN

PCSR

IPKIA

*PCSR

DSECT NAME: LOOKUP AND CHECK OF GENERATED
OPCODES

PCSR

IPKIC

*PCSR

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

PCSR

IPKJA

*PCSR

DSECT NAME: ASSIGNMENT PHASE

PCSR

IPKKA

*PCSR

DSECT NAME; SUBSTITUTION PHASE

PCSR

IPKLA

*PCSR

DSECT NAME: SOURCE AND OBJECT TEXT OUTPUT

PCSR

IPKPA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

PDCEDIT

IPKJA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
ASSIGNMENT PHASE

PDCEDIT

IPKKA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
SUBSTITUTION PHASE

PDCEDIT

IPKLA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
USING,DROP,MACHIN OP AND S-CONST CODE BUILD

PDCEDIT

IPKNA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
DC AND DS CODE BUILD

PDCEDIT

IPKOA

*PDCEDIT

DSECT NAME: EDITED RECORD FOR DC AND DS,
SOURCE AND OBJECT TEXT OUTPUT

PDCEDIT

IPKPA

*PDCOUT

DSECT NAME: DC OUTPUT, CONSTANT AND CCW
CODE BUILD

PDCOUT

ADDRES

*PDCOUT

DSECT NAME: DC OUTPUT, ADDRESS CONSTANT
AND CCW CODE BUILD

PDCOU'I'

IPKNA

*PDCOUT

DSECT NAME: DC OUTPUT, DC AND DS CODE BUILD

PDCOUT

IPKOA

2.1.2,2.1

2.7

2.2

2.q

PDECK

ALIAS FOR BIT3. ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PEDECK

ALIAS FOR BIT2. ONE TIME INITIALIZER

3

PCOMMON

IPKBA

PEEX

ZERO WORK REGISTER, ASSIGNMENT PHASE

2.2.2

IPKKAOOO

IPKKA

PENDAD

ADDRESS OF END OPERAND, RLD OUTPUT PHASE

2.8.1

PCOMMON

IPKQA

PENDID

OF END OPERAND, RLD OUTPUT PHASE

2.8.1

PCOMMON

IPKQA

*PERR

DSECT NAME: SOURCE AND OBJECT TEXT OUTPUT

2.7

PERR

IPKPA

*PETFLDS

DSECT NAME: EXTERNAL SYMBOL DICTIONARY

PETFLDS

*PETFLDS

DSECT NAME: OP-CODE LOOKUP AND STMT COMPRESS

PETFLDS

IPKCA

*PETFLDS

DSECT NAME: M-I AND PROTOTYPE EDITOR

PETFLDS

IPKCC

*DATA AREA. SEE DATA AREA SECTION FOR DETAILEP LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

122

((,
~_/

SYMBOLIC
NAME

(

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
!1CROFCH

*PETFLDS

DSECT NAME: OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

PETFLDS

IPKCD

*PETFLDS

DSECT NAME: VARIABLE SYMBOL DECLARATION
PROCESSOR

PETFLDS

IPKDB

*PETFLDS

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

PETFLDS

IPKEA

*PETFLDS

DSECT NAME: GLOBAL EDIT

PETFLDS

IPKFA

*PETFLDS

DSECT NAME: EDECK OUTPUT

PETFLDS

IPKGA

*PETFLDS

DSECT NAME: PHKGEN

PETFLDS

IPKIA

*PETFLDS

DSECT NAME: PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

2. 1. 1

PETFLDS

IPKJA

*PETFLDS

DSECT NAME: ASSIGNMENT PHASE

2.2,2.2.2

PETFLDS

IPKKA

*PETFLDS

DSECT NAME: SUBSTITUTION PHASE

2.3

PETFLDS

IPKLA

*PETFLDS

DSECT NAME: USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.11.3,2.11

PETFLDS

IPKNA

*PETFLDS

DSECT NAME; DC AND DS CODE BUILD

2.6,2.7.1

PETFLDS

IPKOA

*PETFLDS

DSECT NAME: SOURCE AND OBJECT TEXT OUTPUT

2.7

PETFLDS

IPKPA

*PETR

DSECT NAME: EXTERNAL SYMBOL DICTIONARY

PETR

*PETR

DSECT NAME; OP-CODE LOOKUP AND STMT COMPRESS

PETR

IPKCA

*PETR

DSECT NAME; M-I AND PROTOTYPE EDITOR

PETR

IPKCC

*PETR

DSECT NAME: OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

PETR

IPKCD

*PETR

DSECT NAME: VARIABLE SYMBOL DECLARATION
PROCESSOR

PETR

IPKDB

*PETR

DSECT NAME: SEQ SYM REFERENCE PROCESSOR

PETR

IPKEA

*PETR

DSECT NAME; GLOBAL EDIT

PETR

IPKFA

*PETR

DSECT NAME; EDECK OUTPUT

PETR

IPKGA

*PETR

DSECT NAME; PHKGEN

PETR

IPKIA

*PETR

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

2.1.2,2.1

PETR

IPKJA

*PETR

DSECT NAME; ASSIGNMENT PHASE

2.2,2.2.1

PETR

IPKKA

*PETR

DSECT NAME; SUBSTITUTION PHASE

2.3

PETR

IPKLA

*PETR

DSECT NAME; USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

2.11.2,2.11

PETR

IPKNA

*PETR

DSECT NAME; DC AND DS CODE BUILD

2.7.1,2.6

PETR

IPKOA

*PETR

DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT

2.7

PETR

IPKPA

DSECT NAME: AFTER EVALUATION THE EDITED
TEXT CONSISTS, SUBSTITUTION PHASE

PEVOPND

IPKLA

DSECT NAME: EXTERNAL SYMBOL DICTIONARY

PFCB

PEVOPND
*PFCB

1.3

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUY~ERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

123

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECTI
DSECT

MODULE/
MCROFCH

*PFCB

DSECT NAME: BASIC INTERFACE ROUTINES AND
PCOMMON

1. 1

PFCB

IPKAA

*PFCB

DSECT NAME: ONE TIME INITIALIZER

PFCB

IPKBA

*PFCB

DSECT NAME: OP-CODE LOOKUP AND STMT COMPRESS

PFCB

IPKCA

*PFCB

DSECT NAME: M-I AND PROTOTYPE EDITOR

PFCB

IPKCC

*PFCB

DSECT NAME: OVERLAY FOR
ICTL,ISEQ,TITLE,COPY,BKEND,EOF

PFCB

IPKCD

*PFCB

DSECT NAME: VARIABLE SYMBOL DECLARATION
PROCESSOR

PFCB

IPKDB

*PFCB

DSECT NAME: SEQ SYM REFERENCE PROCESSOR

PFCB

IPKEA

*PFCB

DSECT NAME: GLOBAL EDIT

PFCB

IPKFA

*PFCB

DSECT NAME: EDECK OUTPUT

PFCB

IPKGA

*PFCB

DSECT NAME: ATTRIBUTE PHASE

PFCB

IPKHA

*PFCB

DSECT NAME: PHKGEN

PFCB

IPKIA

*PFCB

DSECT NAME: LOOKUP AND CHECK OF GENERATED
OPCODES

PFCB

IPKIC

*PFCB

DSECT NAME: PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

PFCB

IPKJA

*PFCB

DSECT NAME: ASSIGNMENT PHASE

PFCB

IPKKA

*PFCB

DSECT NAME: SUBSTITUTION PHASE

PFCB

IPKLA

*PFCB

DSECT NAME; ESD INTERLUDE PHASE

PFCB

IPKMA

*PFCB

DSECT NAME; USING,DROP,MACHIN OP AND
S-CONST CODE BUILD

PFCB

IPKNA

*PFCB

DSECT NAME: DC AND DS CODE BUILD

PFCB

IPKOA

*PFCB

DSECT NAME: SOURCE AND OBJECT TEXT OUTPUT

PFCB

IPKPA

*PFCB

DSECT NAME: RLD OUTPUT PHASE

PFCB

IPKQA

*PFCB

DSECT NAME: POST PROCESSOR: XREF SORTING
AND PRINTING

PFCB

IPKRA

*PFCB

DSECT NAME: POST PROCESSOR: XREF SORTING

PFCB

IPKRB

*PFCB

DSECT NAME: POST PROCESSOR: XREF PRINTING

PFCB

IPKRC

PFILE1

FILE CONTROL BLOCK FOR FILE 1, ONE TIME
INITIALIZER

1. 1

PCOMMON

IPKBA

PFILE2

FILE CONTROL BLOCK FOR FILE 2, ONE TIME
INITIALIZER

1.1

PCOMMON

IPKBA

PFILE3

FILE CONTROL BLOCK FOR FILE 3, ONE TIME
INITIALIZER

1.1

PCOMMON

IPKBA

PGBLSIZ

SIZE OF GLOBAL WORK AREAS, PHKGEN

1.5

pCOMMON

IPKIA

*PGVHEAD

DSECT NAME: GLOBAL VECTOR HEADER DSECT,
GLOBAL EDIT

1.3. 1

PGVHEAD

IPKFA

*PGVHEAD

DSECT NAME: GLOBAL VECTOR HEADER DSECT,
PHKGEN

1.5.1,1.5

PGVHEAD

IPKIA

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

124

SYMBOLIC
NAME

PLM
REF**

CSECTI
DSECT

I~ODULEI

DESCRIPTION: NAME AND USE

*PHYR

DSECT NAME; ASSIGNMENT PHASE

2.2.1,2.2

PHYR

IPKKA

*PHYR

DSECT NAME; SUBSTITUTION PHASE

PHYR

IPKLA

*PKNA

DSECT NAME; KEYWORD NAME ARRAY DSECT, PHKGEN

1. 5. 1

PKNA

IPKIA

PLINK

ALIAS FOR BIT4. ONE TIME INITIALIZER

1.1

PCOMMON

IPKBA

PLINKBFR

DSECT NAME; SYSPCH/SYSLNK OUTPUT

PLINKBFR

IPKAF

PLIST

ALIAS FOR BIT5. ONE TIME INITIALIZER

1. 1

PCOtJI.MON

IPKBA

DSECT NAME; MACRO ADDRESS VECTOR DSECT,
PHKGEN

1.5.1,1.5

PMAV

IPKIA

PMNABSIZ

LENGTH OF MNA BLOCK, ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PNPVAL

DSECT NAME; DESCRIBES NIP VALUE, BASIC
INTERFACE ROUTINES AND PCOMMON

PNPVAL

IPKAA

POINTBCK

DSECT NAME; BASIC INTERFACE ROUTINES AND
PCOMMON

POINTBCK

IPKAA

POLEXP

DSECT NAME; ATTRIBUTE PHASE

POLEXP

IPKHA

POLIFY

SAVE RETURN REGISTER, PRE-PROCESSOR PHASE
TO THE ASSEMBLER PHASES

IPKJAOOO

IPKJA

PPCARD

DSECT NAME; SYSPCH/SYSLNK OUTPUT

PPCARD

IPKAF

PPCHBUF

DSECT NAME; DESCRIBES PUNCH BUFFER, PUNCH
ROUTINE FOR EDECK

PPCHBUF

IPKAC

PRINTER

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

PRINTOP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

PRLINE

DSECT NAME; ***, RLD OUTPUT PHASE

PRLINE

IPKQA

PRNTLINE

PRINT BUFFER FOR XREF DATA, POST PROCESSOR;
XREF SORTING AND PRINTING

2.8.2

I PKRAO 0 1

IPKRA

PROROUT

SAVE OP-CODE MNEMONIC, M-I AND PROTOTYPE
EDITOR

1. 1,4

IPKCCOOO

IPKCC

PSEUTBL

SOURCE AND OBJECT TEXT OUTPUT

2.7.1

IPKPAOOO

IPKPA

*PMAV

(

2. 1. 1

MCROFCH

*PSTRINGS

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

PSTRINGS

*PSTRINGS

DSECT NAME; OP-CODE LOOKUP AND STMT COMPRESS

PSTRINGS

IPKCA

*PSTRINGS

DSECT NAME; M-I AND PROTOTYPE EDITOR

PSTRINGS

IPKCC

*PSTRINGS

DSECT NAME; OVERLAY FOR
ICTL, ISEQ,TITLE,COPY,BKEND, EOF

PSTRINGS

IPKCD

*PSTRINGS

DSECT NAME; VARIABLE SYMBOL DECLARATION
PROCESSOR

PSTRINGS

IPKDB

*PSTRINGS

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

PSTRINGS

IPKEA

*PSTRINGS

DSECT NAME; GLOBAL EDIT

PSTRINGS

IPKFA

*PSTRINGS

DSECT NAME; EDECK OUTPUT

PSTRINGS

IPKGA

*PSTRINGS

DSECT NAME; ATTRIBUTE PHASE

PSTRINGS

IPKHA

*PSTRINGS

DSECT NAME; PHKGEN

PSTRINGS

IPKIA

1.4

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

125

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

*PSTRINGS

DSECT NAME; LOOKUP AND CHECK OF GENERATED
OPCODES

PSTRINGS

IPKIC

*PSTRINGS

DSECT NAME; PRE-PROCESSOR PHASE TO THE
ASSEMBLER PHASES

PSTRINGS

IPKJA

*PSTRINGS

DSECT NAME; ASSIGNMENT PHASE

PSTRINGS

IPKKA

*PSTRINGS

DSECT NAME; SUBSTITUTION PHASE

PSTRINGS

IPKLA

*PSTRINGS

DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT

PSTRINGS

IPKPA

PSYMTABL

START OF HASH TABLE, ASSIGNMENT PHASE

2.2.1

PCOMMON

IPKKA

PSYMTABL

START OF HASH TABLE, SUBSTITUTION PHASE

2.3

PCOMMON

IPKLA

PSYSPARM

ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PUNCHOP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

PUNCHOUT

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

PUNCHR

ALIAS FOR REPROEDR. PRE-PROCESSOR PHASE
TO THE ASSEMBLER PHASES

2. 1

IPKJAOOO

IPKJA

PVSDSIZE

VSDSIZE, ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

PXREF

ALIAS FOR BIT6. ONE TIME INITIALIZER

1. 1

PCOMMON

IPKBA

RDIBBASE

ALIAS FOR R15. -> CURRENT DICTIONARY BLOCK,
PHKGEN

1.5.1

IPKIAOOO

IPKIA

REPROEDR

BR IF PRIVATE CODE HAS STARTED,
PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

2.1

IPKJAOOO

IPKJA

REPRooP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

RLDCOL17

DSECT NAME; ***, RLD OUTPUT PHASE

RLDCOL17

IPKQA

*RLDENTRY

DSECT NAME; ONE RLD ENTRY, CONSTANT AND
CCW CODE BUILD

RLDENTRY

ADDRES

*RLDENTRY

DSECT NAME; ONE RLD ENTRY, ADDRESS CONSTANT
AND CCW CODE BUILD

RLDENTRY

IPKNA

*RLDENTRY

DSECT NAME; ***, RLD OUTPUT PHASE

2.8.1,2.8

RLDENTRY

IPKQA

RLDPCH

SAVE RETURN REG, RLD OUTPUT PHASE

2.8.1

IPKQAOOO

IPKQA

RLDROUT

SAVE RETURN VALUE, RLD OUTPUT PHASE

2.8,2.8.1

IPKQAOOO

IPKQA

RLDTAB

DSECT NAME; ***, RLD OUTPUT PHASE

RLDTAB

IPKQA

RSA

POST PROCESSOR; XREF SORTING AND PRINTING

2.8.2

IPKRAO01

IPKRA

RTBL

ALIAS FOR R2. -> NEXT ENTRY IN PARTBL,
PHKGEN

1.5.1

IPKIAOOO

IPKIA

SEQENT

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

SEQENT

IPKEA

SMTADDR

ADDR OF SMT, SEQ SYM REFERENCE PROCESSOR

1.1.3

IPKEAOOO

IPKEA

*SMTENT

DSECT NAME; SOURCE MACRO TABLE ENTRY, SEQ
SYM REFERENCE PROCESSOR

1. 1.3

SMTENT

IPKEA

*SMTENT

DSECT NAME; SOURCE MACRO TABLE ENTRY DSECT,
GLOBAL EDIT

1.3

SMTENT

IPKFA

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

126

.

C~

r

{

(

SYMBOLIC
NAME
*SMTENT

DESCRIPTION: NAME AND USE

PLM
REF**

DSECT NAME; SOURCE MACRO TABLE ENTRY DSECT,
EDECK OUTPUT

CSECT/
DSECT

MODULE/
MCPOFCH

SMTENT

IPKGA

SMTENTR

SEQ SYM REFERENCE PROCESSOR

1. 1.3

IPKEAOOO

IPKEA

SMTSIZE

SIZE OF SMT BLOCK, ONE TIME INITIALIZER

1.1

PCOtJ!MON

IPKBA

SMTSRCH

GLOBAL EDIT

1.3

IPKFAOOO

IPKFA

SPACEOP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

SRTDIR

POST PROCESSOR; XREF SORTING AND PRINTING

2.8.2

IPKRAOOO

IPKRA

SRTINIT

ENTRY POINT; POST PROCESSOR; XREF SORTING
AND PRINTING

2.8.2

IPKRAOOO

IPKRA

SRTLIT

ENTRY POINT, POST PROCESSOR; XREF SORTING
AND PRINTING

2.8.2

IPKRAOOO

IPKRA

SRTOUT

ENTRY POINT, POST PROCESSOR; XREF SORTING
AND PRINTING

2.8.2

IPKRAOOO

lPKRA

SRTRSA

POST PROCESSOR; XREF SORTING AND PRINTING

2.8.2

IPKRAOOO

IPKRA

*SSD

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

*SSD

DSECT NAME; SEQUENCE SYMBOL DICTIONARY,
VARIABLE SYMBOL DECLARATION PROCESSOR

1.1.2

SSD

IPKDB

*SSD

DSECT NAME; SEQ SYM REFERENCE PROCESSOR

1.1.3

SSD

IPKEA

*SSD

DSECT NAME; DSECT FOR SSD ITEM, EDECK OUTPUT

SSD

IPKGA

SSD

SSDADDR

DA ADDR OF SSD, VARIABLE SYMBOL DECLARATION
PROCESSOR

1. 1.2

PCOMtJ!ON

IPKDB

SSDLKP

SEQ SYM REFERENCE PROCESSOR

1. 1.3

IPKEAOOO

lPKEA

STACKEL

DSECT NAME; STACK ELEMENT FORMAT, PHKGEN

STACKEL

IPKIA

STACKENT

DSECT NAME; STACK ENTRY, EXTERNAL SYMBOL
DICTIONARY

STACKENT

STARTR

SAVE INPUT POINTER, ASSIGNMENT PHASE

2.2.2

IPKKAOOO

IPKKA

STDIAG

EDECK OUTPUT

1.2

IPKGAOOO

IPKGA

STGET

EDECK OUTPUT

1.2

IPKGAOOO

IPKGA

STSMTGET

EDECK OUTPUT

1.2

IPKGAOOO

IPKGA

SYMADDR

POINTER TO START OF SYr1BOL TAB, ASSIGNMENT
PHASE

2.2.1

PCOMJ.~ON

IPKKA

SYMADDR

POINTER TO START OF SYMBOL TAB,
SUBSTITUTION PHASE

2.3

PCOMMON

IPKLA

TABENT

DSECT NAME; ATTRIBUTE PHASE

1.4

TABENT

IPKHA

TABOP

DSECT NAME; INTERPRETER TABLE, EXTERNAL
SYMBOL DICTIONARY

TABSTART

START OF ATTRIBUTE TABLE, ATTRIBUTE PHASE

1.4

IPKHAOOO

IPKHA

TITLEOP

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAOOO

IPKPA

TXTCARD

SOURCE AND OBJECT TEXT OUTPUT

2.7.1

IPKPAOOO

IPKPA

TABOP

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO AN OPERATIONS DIAGRAM IN THE METHOD OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

127

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

DSECT NAME; VALUE AREA SIZE DSECT, PHKGEN

VASIZE

IPKIA

*VSD

DSECT NAME; EXTERNAL SYMBOL DICTIONARY

VSD

*VSD

DSECT NAME; VARIABLE SYMBOL DECLARATION
PROCESSOR

VSD

IPKDB

*VSD

DSECT NAM.E; DSECT FOR VSD ITEM, EDECK OUTPUT

VSD

IPKGA

PCOMMON

IPKDB

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

VASIZE

1.1.2

VSDADDR

DA ADDR OF VSD IN CORE, VARIABLE SYMBOL
DECLARATION PROCESSOR

WORKAREA

DSECT NAME; WORKAREA WHERE ED. TXT IS BUILT,
PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES

WORKAREA

I PKJ A

*WORKDTF

DSECT NAME; DTFSD DSECT FOR 01 LOGIC, BASIC
INTERFACE ROUTINES AND PCOMMON

WORKDTF

IPKAA

*WORKDTF

DSECT NAME; DTFSD DSECT FOR 01 LOGIC, ONE
TIME INITIALIZER

WORKDTF

IPKBA

SOURCE AND OBJECT TEXT OUTPUT

2.7

IPKPAQOO

IPKPA

*XREFREC

DSECT NAME; THIS IS A DSECT TO DESCRIBE,
ASSIGNMENT PHASE

2.2

XREFREC

IPKKA

*XREFREC

DSECT NAME; THIS IS A DSECT TO DESCRIBE,
SUBSTITUTION PHASE

2.3

XREFREC

IPKLA

*XRFENTRY

DSECT NAME; XREF RECORD DESCRIPTION, POST
PROCESSOR; XREF SORTING AND PRINTING

XRFENTRY

IPKRA

*XRFENTRY

DSECT NAME; ENTRY IN BLOCK, POST PROCESSOR;
XREF SORTING

XRFENTRY

IPKRB

*XRFENTRY

DSECT NAME; ENTRY IN BLOCK, POST PROCESSOR;
XREF PRINTING

XRFENTRY

IPKRC

DSECT NAME; XREF BLOCK IDENTIFIERS, POST
PROCESSOR; XREF SORTING AND PRINTING

XRFTAB

IPKRA

WRTERROR

XRFTAB

128

Data Areas

Purpose of the Section
The purpose of this section is to assist you in
interpreting data areas in a storage dump. The
entries are listed in alphabetical order and
after each entry is a cross-reference of the
various fields and their displacements in the
data area.
The section contains those data areas referenced
by two or more modules of the assembler plus any
others which appear in -Method of Operation-.
The method-of-operation diagrams show how the
data areas are used by the assembler.
Immediately following the data areas is a crossreference listing of all the fields referred to
in this section, the name of the DSECT in which
they are located, and their displacement within
the DSECT.

Data Areas

129

DATA AREA:
SIZE:

CODE

2

CREATED BY: f
UPDATED BY:
FUNCTION:

DISPLMNT
DEC (HEX)

IPKSA,IPKSB

Description of an entry in the error message table.

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANINGjUSE

0

(0)

2

CODEHWD

THE TWO-BYTE CODE CONTAINS
FOUR FLAG BITS PLUS A
12-BIT OFFSET IN GLOSSARY:

0

(0)

1

CODESW

FOUR FLAG BITS + FOUR OFFSET BITS

SFLAG
COtl.!MAFLG
ED FLAG
UNFLAG

1=S MODIFIER
1=COMMAMODIFIER
1=ED MODIFIER
1=UN MODIFIER
OFFSET

1 •••
• 1 ••
• • 1.
• •• 1

·... xxxx
1
2

(2)

FIELD
NAME
CODEHWD
CODESW
COMMAFLG
EDFLAG
NEXTCODE
SFLAG
UNFLAG
*POINTER

130

OFFSET

1
2

(1)

NEXTCODE

DISPLACEMENT
DECIMAL (HEX)

o
o
o
o
2
o

o

(0)
(0)
(0)
(0)
(2)
(0)
(0)

DIRENTRY

DATA AREA:
SIZE:

26

CREATED BY:}

IPKRA,IPKRB

UPDATED BY:
FUNCTION:

Description of an entry in the directory table.

DISPLMNT
DEC (HEX)
0
0

(0)
(0)

SIZE
22
3

3

(3)

5
11
11
17

(5)
(B)
(11)

2
6
11
6
2

19

(13)

1

(B)

••••

20

(14)

1 •••

6

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

DIRENT
CORADDR
OFFS
BLKNP1
KEY
BLKNP2
FILL

DIRECTORY TABLE
ADDR TO MERGE BUFF IN CORE
OFFSET TO RECORD IN BLOCK
DISK ADDR TO THIS BLOCK
SORT CONTROLFIELD
DISK ADDR TO NEXT BLOCK
NOT USED

FLAG

PROGRAM SWITCH

BLKINSW

1=BLOCK I S IN MAIN STORAGE

DEFVAL

BLOCK INFORMATION

(FIELD
NAME

BLKINSW
BLKINSW
BLKNP1
BLKNP2
*CORADDR
DIRENT
FILL
FLAG
KEY
OFFS

DISPLACEMENT
DECIMAL (HEX)
19
19

(13)
(13)

5

(5)
(B)
(0)
(0)
(11)
( 13)
(B)
(3)

11
0
0
17

19
11
3

*POINTER

Data Areas

131

EPDMI

DATA AREA:
SIZE:

Variable (depending upon different types of records)

CREATED BY:}

IPKCC,IPKDA, IPKDB,IPKFA,IPKHA, IPKIA

UPDATED BY:
FUNCTION:

DISPLMNT
DEC (HEX)

Description of an edited prototype or a macro instruction.

SIZE

o

(0)

1

6

(6)

1

• • 1.

1
8

(1)

.111

• •• 1 ••••

1

(1)

8
16

(8)

• •• 1 •• 1.

18

( 12)

PROGRAM SWITCH

SWPMI1
SWATRINS
SWSUBST
EDPMIORG

1:ST RECORD OF PROTO OR M-I
ATTRIBUTES TO BE INSER~ED (M-I)
SUBSTITUTION IN RECORD (M-I)
ONE OF THE FOLLOWING

LED PROT 1

LENGTH OF 1: ST PROTO RECORD

FIRST RECORD OF M-I
BACK LOCATION COUNTER
LMNAME
LENGTH OF MACRO NAME
MACNAM
MACRO NAME
INDEX
M-I INDEX NUMBER

1
8
2

( 10)

JSW0023

FIRST RECORD OF PROTOTYPE
LPNAME
LENGTH OF MACRO NAME
PRO NAME
MACRO NAME LEFT ADJUSTED

1
8

(8)

DESCRIPTION: CONTENTS,
MEANING/USE
COMMON HEADER (LNG=PCSRHEAD)

.'...

,1 •••
• 1 ••

FIELD
NAME

LOMIED1

LENGTH OF 1: ST OUTER M- I REC

FIRST RECORD OF INNER M-I
SEQFLD
SEQUENCE FIELD FROM CSR

8

••• 1 1.1.

LIMIED1

LENGTH OF 1:ST INNER M-I REC

1

(1)

1

SUBSEQUENT PROTO AND M-I RECORDS
BACK LOCATION COUNTER
ITEMT
TYPE FLAG

8

(8)

1

ITEMFLAG

PROGRAM SWITCH

NALTSRC
ITEM1ST
I TEMLISW
ITEMLONG
ITEMATSW
ITEMKWSW
ITEMSLSW

NEW OPD AFTER ALT STMT FORM
1ST ITEM OF MI OR PROTOTYPE
END ITEM SINGLE ON NEX~ RCD
ITEM LONGER THAN 255
ATTRIBUTES INSERTED (HA)
KEYWORD OPERAND SWITCH
SUBLIST OPERAND SWITCH

ITEML

ITEM LENGTH

ITEMLADD

LENGTH TO BE ADDED IF ITEMLONG

ITEM

ITEM CONTENT

,...
.1 ••
• • 1.

1 •••
.1 ••
• • 1.
••• 1

·...
9

(9)

1

·... .....
10
132

(A)

1

MODULO ITEMLADD

DISPLMNT
DEC
(HEX)

SIZE

FIELD
NAME

DESCRIPTION:
MEANING/USE

ITEMORG

IS ONE OF THE FOLLOWING

1. 1.

CONTENTS,

SYMBOL WITH T",L",S" AND I" ATTRIBUTE
BACK LOCATION COUNTER
SYM1 ITEM
SYMlITEM
TYPE ATTRIBUTE
SlITEMT
SlITEML
LENGTH ATTRIBUTE
SCALE ATTRIBUTE
SlITEMS
SlITEMI
INTEGER ATTRIBUTE
SlITEMK
COUNT ATTRIBUTE (STRING LEN)
SlITEMST
STRING
TYPES2
SYMBOL WITH T" AND L" ATTRIBUTE
BACK LOCATION COUNTER
SYM2ITEM
SYM2ITEM
S2ITEMT
TYPE ATTRIBUTE
S2ITEML
LENGTH ATTRIBUTE
S2ITEMK
COUNT ATTRIBUTE (STRING LE~
S2ITEMST
STRING
TYPECHAR SYMBOL/CHARACTER STRING WITH
T" ATTRIBUTE ONLY
BACK LOCATION COUNTER
CHARITEM
CHAR STRING ITEM AFTER ATTR
CHITEMT
TYPE ATTRIBUTE
CHITEMK
COUNT ATTRIBUTE
CHITEMST
STRING
TYPESDEF SELFDEFINING TERM
BACK LOCATION COUNTER
SDEFITEM
SELF-DEFINING TERM ITEM
SDITEMT
TYPE ATTRIBUTE
SDITEME
BINARY VALUE
COUNT ATTRIBUTE (STRING LEN)
SDITEMK
SDITEMST
STRING
TYPEBC
BASIC CHARACTER EXPRESSION
(STRING WITH SUESTITUTIO~
BACK LOCATION COUNTER
BASIC CHARACTERITEM
BCITEM
DUMMY BYTE
BCDUMMY
TYPES 1

10
10
11
13
15
17
18

10
10

(A)
(A)
(B)

(D)
(F)

(11 )
(12)

1
1
2
2
2
1
1
1

(A)
(A)
(B)
(D)
(E)

1
2
1

(A)
(A)
(B)
(C)

1
1
1
1

1

15

(A)
(A)
(B)
(E)
(F)

1
3
1
1

10
10

(A)
(A)

1
1

11
13
14

10
10
11
12

10
10
11
14

1

1111 1111
11

(B)

1

10
10

(A)
(A)

1
1

10
10

(A)

CA)

1
1

10

(A)

1

10

(A)

10

(A)

10

(A)

1

BCCOLUMN

COLUMN VALUE IN BC ITEM

BCITEMST
STRING
TYPESUBS SUBLIST START
BACK LOCATION COUNTER
SUBSITEM
SUBLIST START ITEM
SSITEMK
LENGTH OF SUBLIST OPD (K")
TYPESUBE SUELIST END
BACK LOCATION COUNTER
SUBEITEM
SUBLIST END ITEM
SEITEMN
NO OF SUBOPERANDS (N")
TYPEOM
OMITTED OPERAND OUTSIDE SUBLIST
BACK LOCATION COUNTER
OMITEM
OMITTED OPERAND ITEM
TYPEER
ERROR. FORMAT DESCRIBED IN OPDERAR
BACK LOCATION COUNTER
ERITEM
ERROR RECORD
TYPEPP
POSITIONAL PARAMETER (PROTOTYPE)
BACK LOCATION COUNTER
PITEM
POSITIONAL PARAMETER
TYPEKP
KEYWORD PARAMETER (PROTOTYPE)
TYPEK
KEYWORD (M- I)
BACK LOCATION COUNTER
KITEM
KEYWORD NAME

Data Areas

(cq

133

DISPLMNT
DEC (HEX)

SIZE·

FIELD
NAME

DESCRIPTION:
MEANING/USE

CONTENTS,
/

TYPEEND
10
10
11

END OF OPERAND ITEMS
BACK LOCATION COUNTER
ENDITEM
END ITEM
EITEMNP
NO OF POSITIONAL OPERANDS
NO OF KEYWORD OPERANDS
EITEMNK
ITEM TYPE FLAGS

2
1
1

(A)

(A)
(B)
1.1.
1. 1.
1.1.
1.1.
1.1.
1.1.
1.1.
1.1.
1.1.
1.1.

••• 1
•• 1.
•• 11
.. 1••

• 1.1
.11.
.111
1•••
1•• 1
1.1.
1.1. 1.11
1.1. 11 ••
1.1. 11.1

FIELD
NAME

BCCOLUMN
BCDUMMY
BCITEM
BCITEMST
CHARITEM
CHITEMK
CHITEMST
CHITEMT
EITEMNK
EITEMNP
ENDITEM
ERITEM
INDEX
ITEM
lTEMATSW
ITEMFLAG
ITEMKWSW
ITEML
ITEMLISW
ITEMLONG
ITEMSLSW
ITEMT
ITEM1ST
KITEM
LMNAME
LPNAME
MACNAM
NALTSRC
OMITEM
PITEM
PRONAME
SDEFITEM
SDITEMB

134

TYPEPP
TYPEJ(P
TYPES 1
TYPES2
TYPECHAR
TYPESDEF
TYPESUBS
TYPESUBE
TYPEBC
TYPEOM
TYPEER
TYPER
TYPEEND

POSITIONAL PROTOTYPE ITEM
KEYWORD PROTOTYPE ITEM
SYMBOL WITH ALL ATTRIBUTES
SYMBOL WITH T' AND L' ATTR
CHARACTER STRING (T' ATTR ONLY)
SELFDEFINING TERM ITEM
SUBLIST START ITEM
SUBLIST END ITEM
BASIC CHARACTER EXPR M-I ITEM
OMITTED OPERAND OUTSIDE SUBLIST
ERROR RECORD ITEM
KEYWORD M-I ITEM
END OF OPERANDS ITEM

DISPLACEMENT
DECIMAL (HEX)
10
10
10
11
10
11
12
10
11
10
10
10
16
10

(A)

(A)
(B)

(A)

1

(1)

8

(8)

1
1

(1)
(1)

8
8

(8)
(8)

8

10
11

7'

(C)
(A)
(B)
(A)
(A)
(A)
(10)
(8)
(8)
(8)
(9)
(8)
(8)
(8)

10
10

"'-.,

(A)
(1\)

8
8
8
9
8
8
8

10

/'

(A)

(A)

(A)
(A)

(8)

(A)
(B)

/{"

~j

FIELD
NAME

r~

(=-c.

SDITEMK
SDITEMST
SDITEMT
SEITEMN
SEQFLD
SSITEMK
SUBEITEM
SUBS ITEM
SWATRINS
SWPMI1
SWSUBST
SYMlITEM
SYM2ITEM
SlITEMI
SlITEMK
SlITEML
SlITEMS
S1ITEMST
SlITEMT
S2ITEMK
S2ITEML
S2ITEMST
S2ITEMT
TYPEBC
TYPECHAR
TYPEEND
TYPEER
TYPEK
TYPEKP
TYPEOM
TYPEPP
TYPESDEF
TYPESUBE
TYPESUBS
TYPES1
TYPES2

DISPLACEMENT
DECIMAL (HEX)
14
15
10
10
18
10
10
10

(A)
(A)
(12)
(A)
(A)
(A)

6
6
6

(6)
(6)
(6)

10
10
15
17
11

(A)

13

18
10
13
11
14
10
11
11
11
11
11
11
11
11
11
11
11
11
11

(E)
(F)

(A)
(F)

( 11)
(B)
(D)
(12)
(A)
(D)
(B)
(E)

(A)
(B)
(B)
(B)
(B)
(B)
(B)
(B)
(B)

(B)
(B)
(B)
(B)
(B)

*POINTER

C-"·
.. :'"

Data Areas

135

DATA AREA:
SIZE:

EPAR

Variable

CREATED BY:}
UPDATED BY:
FUNCTION:
DISPLMNT
DEC (HEX)
0

~epending

IPRIA

Description of an entry in the parameter table.

SIZE
1

(0)

....
1

( 1)

2

(2)

upon different parameters)

.1-11
1
1

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

EPARFLAG

ENTRY FLAG

FLAGPMSR

SIGNIFICANT BITS OF EPARFLAG

EPART
EPARREST

TYPE ATTRIBUTE
REST OF ENTRY (LNG=VARIABLE)
NEW TYPE OF ENTRY

••••••••••••••••••••••••••••••••••••••••••
• FLAG. BINARY VALUE • LENGTH • STRING •
••••••••••••••••••••••••••••••••••••••••••
1
1

0
0

(0)
(0)

1
5

( 1)
(5)

4

6

(6)

4

1

....

SYSINDEX

INDXENT
INDXFLAG
INDXB
INDXCL
INDXC

SYSNDX ENTRY
ENTRY FLAG A1
BINARY VALUE
LENGTH OF CHARACTER STRING
CHARACTER STRING

INDXLEN

ENTRY LENGTH

"'I'~

1. 1.

••••••••••••••••••••••••••••••••••••••••••
• FLAG • T' • R' + STRING
•
••••••••••••••••••••••••••••••••••••••••••
10
10
11
12
13

(A)
(A)
(B)
(C)
(D)

1
1
1
1
8

1. 1.
• • • 1 .1 ••

SYSECT

SECTENT
SECTFLAG
SECTCT
SECTCL
SECTC

SYSECT ENTRY
ENTRY FLAG A5
TYPE ATTRIBUTE
LENGTH OF CHARACTER STRING
CHARACTER STRING

SECTLEN
NAMEENT

ENTRY LENGTH
NAME ENTRY FOLLOWS
NEW TYPE OF ENTRY

••••••••••••••••••••••••••••••••••••••••••••••••••••
• FLAG. T' • L' • S' • I' • R' • STRING.

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

o

o

136

(0)

1

(0)

1

SYM1ENT
SYM1FLAG

SYMBOL WITH
ALL ATTRIBUTES

SYMBOL WITH ALL ATTRIBUTES
ENTRY FLAG A3

/

DISPLMNT
DEC (HEX)
1

(1)

2

(2)
(4)
(6)
(8)

4

6
8
9

(9)

SIZE

1
2
2

2
1
1

FIELD
NAME

DESCRIPTION:
MEANINGjUSE

SYM1T
SYM1L
SYM1S
SYMlI
SYM1K
SYM1C

TYPE ATTRIBUTE
L' ATTRIBUTE
S' ATTRIBUTE
I' ATTRIBUTE
K' ATTRIBUTE
CHARACTER STRING (LMG=K')
(LNG=VARIABLE)
NEW TYPE OF ENTRY

•••••••••••••••••••••••••••••••••••••••••
• FLAG. T' • L' • K' • STRING
•
•••••••••••••••••••••••••••••••••••••••••
o
o

(0)
(0)

1
2

(1)

4

5

(2)
(4)
(5)

1

1
1
2
1
1

SYM2ENT
SYM2FLAG
SYM2T
SYM2L
SYM2K
SYM2C

SYMBOL WITHOUT S'
AND I' ATTRIBUTES
SYMBOL WITH SOME ATTRIBUTES
ENTRY FLAG A4
TYPE ATTRIBUTE
L' ATTRIBUTE
K' ATTRIBUTE
CHARACTER STRING (LNG=K')
(LNG=VARIABLE)
NEW TYPE OF ENTRY

••••••••••••••••••••••••••••••••••••••
• FLAG. T' • K' •
STRING
•
••••••••••••••••••••••••••••••••••••••
o
o
1
2

3

(0)
(0)
(1)

(2)
(3)

1

1
1
1
1

CHARENT
CHARFLAG
CHART
CHARK
CHARC

CHARACTER STRING
CHARACTER STRING
ENTRY FLAG A5
TYPE ATTRIBUTE
K' ATTRIBUTE
CHARACTER STRING (LNG = K')
(LNG=VARIABLE)
NEW TYPE OF ENTRY

•••••••••••••••••••••••••••••••••••••••••••••••
• FLAG. T' • BINARY VALUE. K' • STRING •
•••••••••••••••••••••••••••••••••••••••••••••••
0
0

(0)
(0)

1
1

1

(1)

2
5
6

(2)
(5)
(6)

1
3

1
1

SDEFENT
SDEFFLAG
SDEFT
SDEFB
SDEFK
SDEFC

CONTENTS,

SELFDEFINING TERM

SELFDEFINING TERM ENTRY
ENTRY FLAG A6
TYPE ATTRIBUTE
BINARY VALUE
K' ATTRIBUTE
CHARACTER STRING (LNG = K')
(LNG=VARIABLE)
NEW TYPE OF ENTRY

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
••••••••••••••
••••••••••••••••••••••••••••••••••
• SUBEFLAG • SUBENTRY • END FLAG • SUBLIST
• SUBENTRY •
•••••••••••••
••••••••••••••••••••••••••••••••••
• FLAG • ENTRY LENGTH • N' • K' • START FLAG • SUBENTRY • SUBEFLAG •

o
o
o

(0)
(0)
(0)

1
6
1

SUBLENT
SUBLHEAD
SUBLFLAG

SUBLIST ENTRIES
HEADER
ENTRY FLAG A7

Data Areas

137

DISPLMNT
DEC
(HEX)
3
4
5
6
7

SIZE
1

(3)
(4)
(5)

1
1
.1
1

(6)
(7)

FIELD
NAME

DESCRIPTION:
MEANING/USE

SUBLN
SUBLK
SUBEFLAG
SUBEL
SUBE

N' ATTRIBUTE
K' ATTRIBUTE
SUBENTRY FLAG
SUBENTRY LENGTH
SUB ENTRY TYPE A3,A4,A5,A6
(LNG=VARIABLE)

****************.************************************

*
*
*
**
**

SUBEFLAG DS
SUBEL
DS
SUBE
DS

CLl
NEXT
eLl
SUB
XL (VARIABLE)
ENTRY (LNG=VARIABLE)

*
*
*
*

*

ETC

SUBLEND DS

CLl

SUBLIST END FLAG (AS)

**

*****************************************************
FIELD
NAME
CHARC
CHAR FLAG
CHARK
CHART
EPARFLAG
EPARREST
EPAR'l'
FLAGPMSK
INDXB
INDXC
INDXCL
INDXFLAG
SDEFB
SDEFC
SDEFFLAG
SDEFK
SDEFT
SECTC
SECTCL
SECTFLAG
SUBE
SUBEFLAG
SUBEL
SUBLFLAG
SUBLHEAD
SUBLK
SUBLL
SUBLN
SYM1C
SYM1FLAG
SYM1I
SYM1K
SYM1L
SYM1S
SYM1T
SYM2C
SYM2FLAG
SYM2K
SYM2L
SYM2T
*POINTER

138

DISPLACEMENT
DECIMAL (HEX)
3

0

(3)
(0)

2

(2)

1
0
2
1

(1)

0

(0)
(2)
(1)
(0)

1

(1)

6

(6)

5

(5)
(0)
(2)
(6)

0

2
6
0

5
1
12
11
10

(0)

(5)
(1)
(C)

(B)
(A)

7

(7)

5

(5)

6
0
0

(6)
(0)
(0)

4
1

(4)

3
9
0
6

(3)
(9)
(0)

S
2
4
1
5

(1)

(6)
(S)
(2)
(4)
(1)

(5)

0

(0)

4
2
1

(4)
(2)

(1)

CONTENTS,·

ERRBYTES

DATA AREA:
SIZE:

11

CREATED BY:}

IPKKA,IPKLA

UPDATED BY:
FUNCTION:

Description of an entry in the error stack.

DISPLMNT
DEC (HEX)

FIELD

SIZE

DESCRIPTION: CONTENTS,
MEANING/USE

ERROR NUMBER

0
0
0

(0)
(0)
(0)

11

1

ERRAREA
ERRCONST
ERRNO

1

(1)

1

ERRSW

PROGRAM SWI'l'CH

TEXT

OPND

TAKE STRING FROM SAVE AREA
TAKE OPERAND NUMBER

ERRLNG
ERRTXT

RINPT OR RWJA

2

....

1 •••
.1 ••••••
2
3

(--

NAME

(2)
(3)

FIELD
NAME
ERRAREA
ERRCONST
ERRL~

ERRNO
ERRSW
ERRTXT
OPND
TEXT

1
8

DISPLACEMENT
DECIMAL (HEX)
0
0
2
0

(0)
(0)
(2)
(0)

1

(1)

3

(3)

1
1

(1)
(1)

*POINTER

(

'"
,J'

Data Areas

139

ERRENT

DATA AREA:
SIZE:

8

CREATED BY: }

IPKDA,IPKDB

UPDATED BY:
FUNCTION:

Description of

DISPLMNT
DEC (HEX)

an

entry in the error stack.

FIELD
NAME

SIZE

DESCRIPTION: CONTENTS,
MEANING/USE

0

(0)

2

ERRINFO

0

(0)

1

JSW0025

PROGRAM SWITCH

SWSTR

STRING WANTED XSWITCH

ERRNO
STRPTR
EOFLDPTR

ERROR NUMBER
STRING POINTER (RINPT)
CURRENT END OF FIELD (EOPPTR)

ERRENTL
NOSTR

STACK ENTRY LENGTH
OMITTED STRING IN ERROR RECORD

....
0
2
5

(0)
(2)
(5)

••• 1
1

3
3

....
1 •••
.... ....

STRING REQUIRED/NOT REQUIRED INDICATORS IN ERROR CALL
••• 1

FIELD
NAME
EOFLDPTR
ERRINFO
ERRNO
NOSTRING
STRING
STRPTR
SWSTR
*POINTER

140

DISPLACEMENT
DECIMAL (HEX)
5

o

(5)
(0)

o

(0 )

5
5
2

(5)
(5)
(2)
(0)

o

STRING
NOSTRING

STRING,REQUIRED
STRING NOT REQUIRED

./

DATA AREA:
SIZE:

ESDENTRY

16

CREATED BY:}

IPKKA,IPKMA

UPDATED BY:
FUNCTION:

DISPLMNT
DEC (HEX)

Description of an entry in the ESD table.

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE
IN THE ESD TABLE

0

0

· ... ·...

SDTYPE

1

VSDTYPE

(0)

·...
0

• •• 1

(0)

· .1.

f-'

0

• 1 ••

·...
0

(0)

.1.1

0

(0)

1 •••

0

(0)

1 •• 1

VCTYPE
VVCTYPE

1

·...

DSTYPE
VDSTYPE

1

·...

CMTYPE
VCMTYPE

1

· ...

PC TYPE
VPCTYPE

1

(0)

ERTYPE
VERTYPE

1

· ...

LDTYPE
VLDTYPE

1

(0)

· ...
0

ESDTYPE

1

(0)

1.1.

WXTYPE

0
0

(0)
(0)

1
1

VWXTYPE

2
3
3
8
1

ESDESDID
ESDLCTR
ESDHILC
ESDSYM
ESDNXT

1

(1)

3
6

(3)
(6)

9
17

(11)

(9)

•
•
•
•
•

ESDID
CURRENT LOCCNTR OF CONT. SEC
HIGHEST LOCCNTR OF CONT. SEC
SYMBOL
NEXT ENTRY

Data Areas

141

FIELD
NAME
CMTYPE
DSTYPE
ERTYPE
ESDESDID
·ESDHILC
·ESDLCTR
ESDNXT
ESDSYM
ESDTYPE
LDTYPE
PCTYPE
SDTYPE
VCMTYPE
VCTYPE
VDSTYPE
VERTYPE
VLDTYPE
VPCTYPE
VSDTYPE
VVCTYPE
VWXTYPE
WXTYPE
·POINTER

142

DISPLACEMENT
DECIMAL (HEX)
0
0
0

(0)
(0)
(0)

1

(1)

6

(6)

3
17

(3)

9
0
0
0
0
0
0

(9)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(0)

0

0
0
0

0
0
0
0

(11)

EVALSTCK

DATA AREA:
SIZE:

7-9

CREATED BY:}

IPKKA,IPKLA

UPDATED BY:
FUNCTION:

Description of an entry in the evaluate routine stack.

DISPLMNT
DEC (HEX)

f-"

SIZE

0

(0)

1

(1)

1
4

5

(5)

2

7

(7)

1

5

(5)

1

6

(6)

8
10

(8)

2
2
1

(A)

0

(0)

1

1
3

(1)
(3)

2
1

0

(0)

2

FIELD
NAME
EVALUE
EVLENGTH
EVNXT
EVPLUS
EVRELOC
EVVARY
NXTRA
PLORMIN
RANR
RAONE
RELLEN
STLENGTH

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

RANR
EVALUE
EVLENGTH
EVVARY

NUMBER OF REL ATTR O=ABSOLUTE
VALUE
LENGTH OF ABSOLUTE ENTRY
END OF ABSOLUTE ENTRY
ORG BEFORE LENGTH FOR VAR ENTRY
SIGN
RELOCATION ATTRIBUTE
LENGTH OF ENTRY IN STACK
NEXT ENTRY IN STACK
SAME BUT WITH DISPLACEMENT=O
SIGN
RELOCATION ATTRIBUTE
NEXT PAIR OF SIGN AND RELATTR
DISPLACEMENT = 0
LENGTH OF STACK ENTRY
AT END OF ENTRY

EVPLUS
EVRELOC
RELLEN
EVNXT
PLORMIN
RAONE
NXTRA

STLENGTH

DISPLACEMENT
DECIMAL (HEX)
1

(1)

5
10
5

(5)
(A)
(5)

6
7
3

(6)
(7)
(3)

0
0

(0)
(0)

1

(1)

8

(8)

0

(0)

*POIN'l'ER

Data Areas

143

GARD

DATA AREA:
SIZE:

7

CREATED BY:}

IPKDB,IPKFA

UPDATED BY:
FUNCTION:

Description of the global array.

DISPLMNT
DEC (HEX)
0
2

(2)

6

(6)

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

2
1
1

GARLEN
GARFLAG

RECORD LENGTH
GLOBAL ARRAY lOP (LNG=PCSRIOp)
NOT USED

• • •• .111

GAR ITEM

DESCRIBED BY DSECT GARENT

SIZE

(0)

FIELD
NAME
GAR FLAG
GARLEN
*POINTER

DISPLACEMENT
DECIMAL (HEX)
6

o

(6)
(0)
'",-,-

/

,f1{" - "

(,

"----,'
144

GARENT

DATA AREA:
SIZE:

4-6

CREATED BY: }

IPKDB,IPKFA

UPDATED BY:
FUNCTION:

Description of a global array item.

DISPLMNT
DEC (HEX)

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

GARTYPE
GARNDX
GARLGTH

TYPE OF GLOBAL SYMBOL
GLOBAL SYMBOL INDEX
LENGTH OF SYMBOL NAME

GARSYM

SYMBOL NAME, VARIABLE LENGTH

2

GARDIM

DIMENSION

1111 1111

GAR END

INDICATES LAST GAR

SIZE

0

(0)

1

1

(1)

2

3

(3)

1

....
4

(4)

FIELD
NAME

(

GARDIM
GAREND
GARLGTH
GARNDX
GARTYPE

• 1 ••

DISPLACEMENT
DECIMAL (HEX)
4
4
3

(4)
(3)

1

(1)

0

(0)

(4)

*POINTER

Data Areas

145

DAil'A AREA:

StZE:

GSDENTRY

5-11

CREATED BY:}
UPDATED BY:
FUNCTION:

IPKFA

Description of an entry in the global symbol dictionary.

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

GSDTYPE
GSDNDX
GSDLEN
. GSDSYM
GSDDIM

3

(0)
(1)
(3)

4
4

(4)
(4)

1
2
1
7
2

3

(3)

1

GSDFLG

1111 1111
1111 1. 1.
•• 1.

EGSD
EGSDB
DIMBIT

0
1

....

FIELD
NAME
DIMBIT
EGSD
EGSDB
GSDDIM
GSDFLG
GSDLEN
GSDNDX
GSDSYM
GSDTYPE
*POINTER

146

DISPLACEMENT
DECIMAL (HEX)
3

3
3

(3)
(3)
(3)
(4)
(3)
(3)

1

( 1)

3
3
4

4

(4)

0

(0)

DESCRIPTION: CONTENTS,
MEANING/USE

SYMBOL TYPE
INDEX NUMBER
LENGTH OF SYMBOL NAME
SYMBOL NAME
DIMENSION
LENGTH AND FLAG HAVE SAME ADDR.
ENDFLAG
END OF GSD
END OF GSD BLOCK
BIT6 IN GSOTYPE IS ON IF
SYMBOL DIMENSIONED

"

"

~-

./

DATA AREA:
SIZE:

UJCPl'AB

232

CREATED BY: }
UPDATED BY:
FUNCTION:

DISPLMNT
DEC (HEX)
0

IPKAF,IPKAG,IPKTA '

Table used by CPMOD.

SIZE
30

(0)

•• 1.
•• 11

.....

....
....

.1 ••

1 •••
••• 1 .11.

30

40

(-

(1E)

10

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

IJJCPCCB

CCB. ADDR OF LOGIC, DTF TYPE,
OPEN SW, FILE NAME
1ST COMMUNICATION BYTE
2ND COMMUNICATION BYTE
CSW STATUS
CCW ADDR
FILE NAME

IJJCOMBT
IJJCMB'l'2
IJJCPCB4
IJJCPTCB
IJJFLNME
IJJCPF1

•• 1 •••••

IJJCPLD2

2

IJJCPXTN

•• 1. 1 •••

IJJCPHCD

(28)

42
43
44
45
48
52
54

(2A)
(2B)
(2C)
(2D)
(30)
(34)
(36)

1
1
1
3
4
2
6
•• 11 1•••

IJJCPSWS
IJJC2NSW
IJJALSW
IJJCP2ND
IJJCPSCW
IJJLOHED
IJJCPMAX
IJJCCWE1

60
64

(3C)
(40)

4
4

IJJCPSEK
IJJCPREC

.1 ••••••

IJJCCWE2

....

.1 ..

68
72

(44)
(48)

4
1
.1 •• 1 •••

,

F1 ADDR, WORK AREA OR FLAG
SEQ. NO. & OPEN SW
LOAD INSTRUCTION FOR SYSTEM UNIT
XTNT SEQ. NO. OF LAST XTN'l' ,.'
WORK AREA
FOR ADJUSTMENT OF PUNCH CODE
INDICATOR FOR OPEN AND LOGIC
LOGICAL INDICATORS
I/O AREA
CCW OR WORK AREA
HH LOWER HEAD LIMIT
CCHH uPPER LIMIT , BB SEEK ADDR
PUNCH ERROR CCW IF DEVICE IS
2540 PUNCH
CCHH

IJJCPREAD
IJJCPUPP
IJJCPRMX

PUNCH ERROR CCW2 IF DEVICE IS
2540 PUNCH
EOF ADD
UPPER LIMIT
NO. OF RECORDS/TRACK

IJJCPSV1

80 BYTE CARD IMAGE SAVEAREA

Data Areas

147

DISPLMNT
DEC
(HEX)
73
74
76
80
82
84
88
112
128
152

SIZE

(49)
(4A)
(4C)
(50)
(52)
(54)
(58)
(70)
(80)
(98)

1
2
4
2
2
4

24
16
24
8
1 •• 1 1 •••

160
168

FIELD
NAME
IJJALSW
IJJCPAD.J
IJJCPCCB
IJJCPCCW
IJJCPCNT
IJJCPCTR
IJJCPDAT
IJJCPF1
IJJCPMAX
IJJCPREC
IJJCPRMX
IJJCPSCW
IJJCPSEK
IJJCPSST
IJJCPSWS
IJJCPUPP
IJJCPVER
IJJCPXTN
IJJCP2ND
IJJC2NSW
IJJECCW1
IJJECCW2
IJJFRSTR
IJJLOAD
IJJLOHED
IJJSAVEA
*POINTER

148

DESCRIPTION:
MEANING/USE

IJJFRSTR
IJJCPADJ
IJJCPCNT
IJJCPCTR
IJJCPDAT
IJJLOAD
IJJCPSST
IJJCPCCW
IJJCPVER
IJJECCW1

1 FIRST REC FOR INPUT OR OUTPUT
ADJUSTMENT FOR CCW ADDRESS
CCHH
COUNT FlELD
RECORD & KEY LENGTH
DATA LENGTH

IJJCPSV2

80 BYTE CARD IMAGE SAVEAREA

IJJECCW2
·IJJSAVEA

8
64

(AO)
(A8)

FIELD
NAME

QONTENTS.,

SEEK, SEARCH, TIC CCW'S
CCW'S FOR INPUT AND OUTPUT
VERIFY CCW'S
2540 PUNCH ERROR CCW1

2540 PUNCH ERROR CCW2
RESERVED FOR SAVE AREA

DISPLACEMENT
DECU1AL (HEX)
44
74
0

112
76
80
82
30
54
64
72
48
60
88
42
68
128
40
45
43
152
160
73
84
52
168

(2C)
(4A)
(0)
(10)
.(4C)
(50)
(52)
( 1E)
(36)
(40)
(48)
(30)
(3C)
(58)
(2A)
(44)
(80)
(28)
(20)
(2B)
(98)
(AO)
(49)
(54)
(34)
(A8)

.. ".
\~.. ,,/
/

I

INDENTRY

DATA AREA:

r

SIZE:

17

CREATED BY: }

IPKRA,IPKRB

UPDATED BY:
FUNCTION:

Description of an entry in an index table.

DISPLMNT
DEC
(HEX)

o
o

(0)
(0)

11

(B)

FIELD
NAME
INDENT
INDKEY
INDNP

(

SIZE
17
11
6

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

INDENT
INDKEY
INDNP

LOWEST KEY IN A DIRECTORY BLK
NOTE VALUE TO DIR BLOCK

DISPLACEMENT
DECIMAL (HEX)

o

o

(0)
(0)

11

(B)

*POINTER

Data Areas

149

';i

KEYTAB

DATA AREA:
SIZE:

7

CREATED BY: }

IPKDB,IPKFA,IPKIA

uPDATED BY:
FUNCTION:

Description of the keyword table.

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

0
2

(0)
(2)

2
1

KWTLEN

6

(6)

1

JSW0032

RECORD LENGTH
KEYWORD TABLE lOP
(LNG=PCSRrOp)
PROGRAM SWITCH

SWLASTKW
KWT I TEM

INDICATES LAST RECORD
DESCRIBED BY DSECT KWTENT

....

1.•••
• • •• .111

FIELD
NAME

KWTLEN
SWLASTKW
*POINTER

150

DISPLACEMENT
DECIMAL (HEX)

o
6

(0)
(6)

(This page intentionally left blank.)

r

Data Areas

151

MNAENT

DATA AREA:
SIZE:

4-11

CREATED BY: }

IPKCA,IPKCC,IPKCD,IPKFA

UPDATED BY:
FUNCTION:

Description of an entry in the macro name array.

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

2
1

MNANDX
MNALEN

3

(0)
(2)
(3)

8

MAN

2

(2)

1

EFLG

INDEX NUMBER OF MACRO
LENGTH OF NAME
NAME 1-8 CHARS
BACK TO LENGTH
END OF BLOCK END OF ARRAY FLAG

MAXENTL
EMNA
EMNAB

MAX ENTRY PLUS END FLAG
END OF MNA FLAG
END OF MNA BLOCK FLAG

0

2

111.
1111 1111
1111 1. 1.

FIELD
NAME
EFLG
EMNA
EMNAB
MAN
MNALEN
MNANDX
*POINTER

152

DISPLACEMENT
DECIMAL (HEX)
2
2
2

(2)

3

(3)

2

(2)

0

(0)

(2)
(2)

DATA AREA: NTABFMT
SIZE:

2

CREATED BY: }

IPKNA

UPDATED BY:
FUNCTION:

Description of an entry in an error table.

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

.... ....

NENTRYl

FIRST ENTRY

1

NERNUMB

ERROR NUMBER

NENTRY2

SECOND ENTRY

NOPRNUMB

OPERAND NUMBER

DISPLMNT
DEC (HEX)

0

SIZE

(0)

.....
1

r

1

(1)

FIELD
NAME
NERNUMB
NOPRNUMB

••• 1

DISPLACEMENT
DECIMAL (HEX)
0

(0)

1

( 1)

*POIN'l'ER

Data Areas

153

OCSTMH

DATA AREA:
SIZE:

13

CREATED BY:}

IPKDB,IPKEA

UPDATED BY:
FUNCTION:

Description of the open code start record.

DISPLMNT
DEC (HEX)

o

7

SIZE

(0)
(7)

NAME

LOCS'l'MH
NPMIB

DESCRIPTION: CONTENTS,
MEANING/USE

NPMIB

HEADER AND FLAG A (LNG=
N/P TO INFO-BLOCK (LNG=PNPRW)

LOCSTMH

EA LENGTH OF OCST MHR

1

1
•• 1• • 1.1

FIELD

FIELD
NAME

DISPLACEMENT
DECIMAL (HEX)
7
7

(7)
(7)

*POINTER

.1~

'~

154

DATA AREA:
SIZE:

[

PCOMMON

Variable

CREATED BY:}

All modules except: IPKAC,IPKAF,IPKAG,IPKAJ

UPDATED BY:
FUNCTION: Description of all common data areas and equates between the
modules.

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
WHOLE ASSEMBLER
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
•
BRANCH TABLE FOR THE INTERFACE MACROS
•
•
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
CODE FOR LINKAGE TO TRACE PROGRAM
84

r

NO COMMENTS

6

(54)

.1.1 1.1.

PABEND

BYPASS INTERFACE ROUTINES

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
EQUATES FOR WORK AREA LENGTHS. PWA$X MEANS LENGTH OF •

••
•

WORK AREA FOR FILE $ IN PHASE X

•

•
•
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•. 1. 11 ••

1 •• 1
• .1. 11 ••

1 •• 1
1 •• 1

• . 1. 11 ••

1 •• 1

· .1. 11 ••

1 •• 1
1 •• 1

11 ••
1. 1.
11 ••
1. 1.
• •• 1 1.1.
• •• 1 1. 1.
• •• 1 1. 1.

• • 1.
• •• 1
• . 1.
• •• 1

PWA2C
PWA1D
PWA2D
PWA1E
PWA2E
PWA3E
PWA2F
PWA3F
PWA1I
PWA2I
PWA3I
PWA2J
PWA3J
PWA1K
PWA1L
PWA2L
PWA1N

PUT
PUT
GET
GET
PUT
PUT
GET
PUT
GET
GET
PUT
PUT
GET

COMPRESSED SOURCE RECORDS
CSR AND EDITED TEXT RCDS
CSR FROM C
CSR AND EDITED TXT FROM 0
OC CSR AND EDITED TEXT
MACRO CSR
OC CSR AND EDITED TXT FR E
ERROR RCDS
MACRO CSR AND EDITED TXT
OC CSR AND EDITED TEXT
GENERATED CSR
EDITED RCD
COMPRESSED SOURCE RCD

TRANSFER RCD FROM L TO N
GET ED RCD WRITTEN BY J
RECEIVE RCD FROM L

('

~'

Data Areas

155

DISPLMNT
DEC

SIZE
• •• 1 1. 1.
• •• 1 1. 1.
• .... 1 1. 1.

• •• 1 1. 1.
.... 1 1. 1.

• • 1. 11 ••

FIELD
NAME

DESCRIPTION:
MEANING/USE

CONTENTS,

PWA2N
PWA10
PWA20
PWA1P
PWA2P
PWA3P

TRANSFER RCD FROM 0 TO P
GET RCD WRITTEN BY N
RECEIVE RCD FROM 0
GET COMPRESSED SOURCE RCD

***************************************************************
*
*
INTERNAL CODE EQUATES
*
*
*
*
***************************************************************
PO
P1
P2
P3
P4
P5
p6
P7
P8
P9
A
B
C
D
E
F
G

NUMBER 0
1
2
3
4
5
6
7
8
9
LETTER A
B
C
D
E
F
G

.. '•• 1

H

H

• .. 1 •

I

I

J

J

• •• 1
• . 1.

• • 11
• 1 ••
• 1. 1
• 11.
• 111
1 ....

1 •• 1
1. 1.
1. 11
11 ••
11. 1
111.
1111
..... 1
.... 1
.. • • 1
• ... 1
• •• 1
.... 1
.... 1
• •• 1
• ... 1

•• 11
.. 1 ••

K

K

.1.1
• 11.
• 111

L
N
0
P
Q
R
S
T
U
V
W

L
M
N
0
P
Q
R
S
T
U
V
W

X

X

Y
Z
DOLLAR
NUMBER
AT
EQUAL
LPARN
PLUS
MINUS
ASTER
SLASH
RPARN

Y

1 •••

• .... 1 1 •• 1
.. .. .. 1 1. 1•
...... 1 1. 11
.. .. .. 1 11 ••
...... 1 11. 1

.. .. .. 1 111 •
...... 1 1111
.. .. 1.
.. ..
.. ..
....
.. ..
• ..
.. ..
.. ..
....
.. ..
.. ..
...
.. ..
.. ..

156

1.
1.
1 ..
1.
1.
1.
1.
1 ..
1.
1.
1 ..
1 ..
1.

• •• 1
.. .. 1 •

• • 11
.. 1 ...

.1. 1
.11 •
• 111
1 •••
1 •. 1

1. 1.
1. 11
11 ••
11. 1

M

Z

$
It
01

SPEC.

=

(

+

*

/

)

(~

""~/

DISPLMNT
DEC
(HEX)

SIZE
· .1.
•• 1.
• • 11
• • 11
• • 11

111.
1111

• •• 1
· .1.

1 •• 1
1.1.
• . 1. • 11.
• • 1. 1 •• 1
• . 1. 11 ••

· ....

FIELD
NAME
COMMA
BLANK
QUOTE
AMPER
DOT
NUMMIN
NUMMAX
ALFAMIN
ALFAMAX
OPERMIN
OPERMAX

DESCRIPTION:
MEANING/USE

CONTENTS,

,
BLANK

MINIMUM
MAXIMUM
MINIMUM
MAXIMUM
MINIMUM
MAXIMUM

NUMBER CODE
NUMBER CODE
ALPHA CODE
ALPHA CODE
OPERATOR CODE
OPERATOR CODE

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

**

*
*

PSEUDO OPERATION CODE EQUATES

*
*
*
NOTE: THE ASSEMBLER CODE IS DEPENDENT ON THE ORGANI- *
*
*
ZATION OF THE OP-CODES. SHOULD IT BE CHANGED
*
*
THE CODE MAY HAVE TO BE UPDATED
*
*
*
****************************************************************

r-

• •• 1
• • 1.

• .11
• 1 ••

·...
·...

• 1. 1
• 11.
• 111
1 •••
1 •• 1
1.1.
1.11
11 ••
11.1
111.
1111

• •• 1
• •• 1 • •• 1
• •• 1 •• 1.
• •• 1 • .11
• •• 1 • 1 ••
• •• 1 .1.1

• •• 1 .11.
• •• 1 • 111
• •• 1 1 •••
••• 1 1 •• 1
• •• 1 1.1.
• •• 1 1.11

SUBST
REPROED
PUNCH
CNOP
ORG
END
ENTRY
EXTRN
WXTRN
USING
DROP
DC
DS
DCL
EQU
EQUL
CCW
START
CSECT1ST
LTORG
CSECT
DSECT
COM
REPRO
EJECT
PRINT
SPACE
TITLE

SUBSTITUTED OP-CODE
REPROED STATEMENT
PUNCH
CNOP
ORG
END
ENTRY
EXTRN
WXTRN
USING
DROP
DC
DS
LITERAL DC
EQU
LITERAL EQU
CCW
START
START OF 1ST CSECT
LTORG
CSECT
DSECT
COM
REPRO
EJECT
PRINT
SPACE
TITLE

Data Areas

157

DISPLMNT
DEC (HEX)

SIZE
• •• 1 11 ••
• •• 1 11.1
• •• 1 111.
•.•• 1 1111
· .1.
•• 1.
· .1.
• .1.
• .1.
• .1."
•• 1.
•• 1.

• •• 1

.•• 1•
•• 11
.1 ••
.1.1
• 11 •
• 111

• .1. 1 •••
1 •• 1
1.1.
1.11
11 ••
• .1. 11.1
'• . 1. 111.
• • 1. 111.
•• 1. 1111
• .1. 1111
•• 11
• .11 • •• 1
• • 11 •• 1.
•• 11 •• 11
•• 11 .1 ••
•• 11 .1.1
• .11 • 11.
• • 11 .111
• • 11 1 •••
• .11 1•• 1
• .11 1. 1.
• .11 1. 11
• • 11 11 ••
• .11 11.1
• .11 111.
• • 1.
'• • 1.
•• 1.
• .1.

FIELD
NAME

DESCRIPTION:
MEANING/USE

ICTL
ISEQ
CMENT
COpy
MI
ERROR
MIC
MNOTE
MIED
MCMENT
MACRO
MEND
MEXIT
ANOP
SETA
SETB
SETC
ACTR
AIF
AIFB
AGO
AGOB
GBLA
GBLB
GBLC
LCLA
LCLB
LCLC
PROTO
PROTOED
MHR
KT
GAR
MNA
OCST
UNDEF
LITSRC

ICTL
I SEQ
• COMMENT
COpy
M-I SOURCE 1ST CARD
ERROR RECORD
MACRO INSTR. SOURCE CONT. CARDS
MNOTE
M-I EDITED RECORD
•• COMMENT
MACRO
MEND
MEXIT
ANOP
SETA
SETB
SETC
ACTR
ACTR
AIFB
AGO
AGOB
GBLA
GBLB
GBLC
LCLA
LCLB

CONTENTS,

LCLC

PROTOTYPE SOURCE
PROTOTYPE EDITED REC
MACRO HEADER RECORD
KEYWORD TABLE RECORD
GLOBAL ARRAY RECORD
MAC NAME ARRAY RECORD
OPEN CODE START RECORD
UNDEFINED OPCODE
LITERAL SOURCE RECORD

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
•
REGISTER EQUATES
•
••
•
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

....

••• 1
•• 1.
• .11
.1 ••

.1.1
.11.
.111
1 •••

1•• 1
1. 1.
1. 11
11 ••
11.1

158

RO
Rl
R2
R3
R4
R5
R6
R7
R8
R9
Rl0
R 11
R12
R13

REGISTER 0
1
2
3
4
5
6
7
8
9
10
11
12
13

.

/1 ".

~
~/>

r-

DISPLMNT
DEC (HEX)

SIZE

·...

111.
1111
• 11.
• 111

·...
·...

1 •• 1
1.1.
1.11
11. 1
111.
• 11.

1. '•.

FIELD
NAME

DESCRIPTION:
MEANING/USE

CONTENTS,

R14
R15
ROFFS
RPARM
RFILE
RINPT
ROUTPT
RBA
RBIF
RBR
RBRSAVE

14
15
PARAMETER REGS
·FOR
.INTERFACE MACROS
PGETL RECORD POINTER
PPUTL RECORD POINTER
BASE REGISTERS
INTERFACE BASE REGISTER
STANDARD BRANCH REGISTER
BRANCH REGISTER FOR PSAVE

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
•
BIT EQUATES FOR BIT HANDLING MACROS
•
•
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1 •••

• 1••

•. 1.
• •• 1

·...

1 •••
• 1••

· .1.

••• 1
1111 1111

BITO
BIT1
BIT2
BIT3
BIT4
BITS
BIT6
BIT1
BITFF

1000
0100
0010
0001
0000
0000
0000
0000
1111

0000
0000
0000
0000
1000
0100
0010
0001
1111

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

•
••
EQUATES
••
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
~ASK

• 111
1 •••

••• 1

ADDR
HIGHBYTE
LOWBYTE

IICM MASKI FOR ADDRESS
HIGH ORDER BYTE OF REGISTER
LOW ORDER BYTE OF REGISTER

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
••
••
MISCELLANEOUS

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1658

(61A)

1
1 •••
• 1 •.•

•. 1.

JSW0005

PROGRAM SWITCH

PNWTRKSW
POPSW
PEOBSW

NEXT PWRITE STARTS ON A NEW TRK
TELLS PRETURN TO POP THE SAVE
I" MEANS END OF BOOK ON SYSSLB

Data Areas

159

DISPLMNT
DEC (HEX)

SIZE

NAME
• •• 1

1•••
. 1 ..
· .1.

1659

FIELD

(67B)

1
1 •••
.1 ••

• •.• 1

1 •••

.1 ••
•• 1.
••• 1

DESCRIPTION:
MEANINGjUSE

CONTENTS,

PLBEOFSW
PNOBKSW
PRLD
PSXREF

'1' MEANS EOF ON SYSSLB
'1' MEANS BOOK NOT FND
OPTION RLD
OPTION SXREF

JSWOO06

PROGRAM SWITCH

PINEOFSW
PALIGN
PDECK
PLINK
PLIST
PXREF
PDF

' l' MEANS EOF ON SYSIPT
OPTION ALIGN
OPTION DECK
OPTION LINK OR CATALS
OPTION LIST
OPTION XREF
OPTION SUBLIB

PABENDC

TEMPORARY. STO~GE FOR READNEXT
NOTE VALUE
CYLINDER
HEAD
RECORD
REMAINING TRACK CAPACITY
ADDRESS OF HIGHEST BYTE, THAT
IS NOT USED FOR BUFFERS
ABEND CODE

PLRECLN

LENGTH OF RECORD LENGTH

1 FSAVE

INTERFACE ROUTINE SAVE AREA

1660

(67C)

6

NPTEMP

1660
1662
1663
166.4
1666

(67C)
(67E)
(67F)
(680)
(682)

2
1
1
2
3

NPTEMPH
NPTEMPR
NPTEMPTB
PHI CORE

1669
1670
1670
1672
1672

(685)
(686)
(686)
(688)
(688)

1
2
2
4
16

••
NPTEMPCC

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
••
ASSEMBLER FLAGS
•
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
• • 11
• • 11
... 11
• .11
•• 11
• • 11
•• 11
• • 11
•• 11
• .11
• .11
• • 11
• .11

• • 11

.1 ••

.1. 1
• 11.
.111
1•••
1•• 1
1. 1.
1. 11
11 ••
11. 1
111.
1111

UNMINUS
LATTR
SYMFLAG
LQCCTR
SELFLAGL
SELFLAGS
ENDEXPR
EFLOPD
OPRDFLAG
ERROPND
AD 1FLAG
AD2FLAG
CODEFLAG

UNARY MINUS
LENGTH ATTRIBUTE
SYMBOL FLAG
LOCATION COUNTER FLAG
SELFDEFINING TERM LARGE
SELFDEFINING TERM SMALL
END OF EXPRESSION
END OF OPERAND FIELD
BEGINNING OF OPERAND
ERRONEOUS OPERAND
ADDR1 FIELD PRESENT
ADDR2 FIELD PRESENT
GEN. CODE FIELD PRESENT

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
•
FILE CONTROL BLOCKS
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

160

/f

~~~

~/

r~

~"

/'

{

(

DISPLMNT
DEC (HEX)
1688
1688
1691
1694
1697
1699
1702
1705
1706
1709
1717
1723
1723
1726
1729
1732
1734
1737
1740
1741
1744
1752
1758
1758
1761
1764
1767
1769
1772
1775
1776
1779
1787

SIZE

FIELD
NAME
PFILEl
PDTFADRl
BUFPTl
BUFADDRl
PBUFLENl
PENDBUFl
PWAADDR1

35

(698)
(698)
(69B)
(69E)
(6A 1)
(6A3)
(6A6)
(6A9)
(6AA)

3
3
3
2
3
3
1
3
8
6

(6AO)

(6B5)
(6BB)
(6BB)
(6BE)
(6C1)
(6C4)
(6C6)
(6C9)
(6CC)
(6CD)

35

(6DO)

(6D8)
(6DE)
(6DE)
(6E1)
(6E4)
(6E7)
(6E9)
(6EC)

3
3
3
2
3
3
1
3
8
6

(6EF)
(6FO)

(6F3)
(6FB)

PEOFADR3
PNPOINT3
PNEXTNP3
PMAXBSIZ

MAX BLOCK LENGTH OFFSET IN DTF

PEOFADR2
PNPOINT2
PNEXTNP2
PFILE3
PDTFADR3
BUFPT3
BUFADDR3
PBUFLEN3
PENDBUF3
PWAADDR3

35

•• 11 111.

CONTENTS,

FILE CONTROL BLOCK FOR FILE 1
ADDRESS OF DTFSD
POINTER TO NEXT RCD IN BUFFER
ADDRESS OF BUFFER
BUFFER LENGTH
ADDRESS OF LAST BYTE OF BUFFER
ADDRESS OF WORKAREA
SWITCHES (SEE DSECT PFCB)
ADDRESS OF END-OF-FILE ROUTINE
NOTE/POINT VALUE
N/p VALUE FOR NEXT BLOCK
FILE CONTROL BLOCK FOR FILE 2
ADDRESS OF DTFSD
POINTER TO NEXT RCD IN BUFFER
ADDRESS OF BUFFER
BUFFER LENGTH
ADDRESS OF LAST BYTE OF BUFFER
ADDRESS OF WORK AREA
SWITCHES (SEE DSECT PFCB)
ADDRESS OF END-OF-FILE ROUTINE
NOTE/POINT VALUE
N/P VALUE FOR NEXT BLOCK
FILE CONTROL BLOCK FOR FILE 3
ADDRESS OF DTFSD
POINTER TO NEXT RCD IN BUFFER
ADDRESS OF BUFFER
BUFFER LENGTH
ADDRESS OF LAST BYTE OF BUFFER
ADDRESS OF WORK AREA
SWITCHES (SEE DSECT PFCB)
ADDRESS OF END-OF-FILE ROUTINE
NOTE/POINT VALUE
N/P VALUE FOR NEXT BLOCK

PEOFADR1
PNPOINT1
PNEXTNPl
PFILE2
PDTFADR2
BUFPT2
BUFADDR2
PBUFLEN2
PENDBUF2
PWAADDR2

3
3
3
2
3
3
1
3
8
6

DESCRIPTION:
MEANING/USE

EQUATES FOR CONTROL NUMBERS FOR PRINT
1111 ••• 1
.1 ••

1111
.11.

PEJ
PSS
PDS
PTS

EJECT.
SINGLE
DOUBLE
TRIPLE

**
*

THEN PRINT
SPACE, THEN PRINT
SPACE, THEN PRINT
SPACE, THEN PRINT

PUSH-DOWN SAVE-AREA DEFINITION

**

*
• . •• 1. 1.
• • •• • 1 ••

1796
1796

(704)
(704)

4

o

•• 1. 1 •• 1
1836
1836

(72C)
(72C)

2
2

PSAVELVL
PSAVESZ

MAXIMUM NUMBER OF LEVELS
SIZE OF EACH LEVEL

PSAVETEL

SAVE AREA

PSAVEND

END OF SAVE AREA

PSAVPT

CURRENT SAVE AREA INDEX

Data Areas

161

DISPLMNT
DEC (HEX)
1840
1846
1844
1848
1848
1850
1850

FIELD
NAME

SIZE

CONTENTS,
',-,

4
4
4

(730)
(730)
(734)
(738)
(738)
(73A)
(73A)

DESCRIPTION:
MEANING/USE

2
2

4
4

PSAVTEMP
STEP

SAVES RWAA FOR PSAVE , PRETURN
USED BY TRACE PROGRAM

PLINECNT
PROGID

LINE COUNT
PROGRAM IDENTIFICATION
FROM FIRST TITLE STMNT

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
C - P
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•

1854
1854
1855
1856

ICTL CONSTANTS

(73E)
(73E)
(73F)
(740)

•

PICTL
PICTLST
PICTLEND
PICTLCNT

3
1
1
1

START COLUMN
END COLUMN
CONTINUE COLUMN

•
......................................•.......................
•
E - P
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•• 11 11 ••

1857

(741)

ORG1

NPTXT3

8

'

NIP TO WF3 TEXT

...................... .......................................
•
G - S
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
~

1865

(749)

3

PPUNCHPT

ADDRESS OF PUNCH ROUTINE

1868

(74C)

1

JSW0007

PROGRAM SWITCH

PNOSEQSW
PGFMSGSW

1 INDICATES NO CARD SEQUENCING
1 MEANS MESSAGE FROM GA OR FA
ON FILE 3

....

1 •••

.1 ••

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
E - J
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1869

(74D)

2

.1 •• 1.1.

OCSTMTNO

AT ENTRY OF JA CONTAINS NUMBER
OF LAST STMT OUTPUT ON SOURCE
FILE (WF3) BY THE EDITOR

ORG101

DELIMITS AREA THAT IS OVERLAID

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
C - K
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

162

"

r--

DISPLMNT
DEC (HEX)
1811

CONTENTS,

FIELD
NAME

DESCRIPTION:
MEANING/USE

1

POVLSW

PROGRAM SWITCH
OVERLAY SWITCHES

··...
.. ,
1.11

PCSWOVL
PDSWOVL
PISWOVL
PJSWOVL
PKSWOVL
ORG2

SIZE

(14F)
1 •••

• 1••
•• 1.

1•••

.1 ••

•
•
••
•

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
C - J
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1812

(150)

8

.1.1 •• 11

NPOCST

N/P TO OPEN CODE TEXT ON WF2

ORG3

•

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
C - I
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

(

1880
1880
1881

(158)
(158)
(159)

9
1
8

PSYSPARM
PSYSPLEN
PSYSPSTR

LENGTH OF FIELD
FIELD

1889

(161)

1

JSWOO09

PROGRAM SWITCH

SWCAOC
SWSM
SWMIOC
SWCAFT

CIA IN OPEN CODE
SOURCE MACROS PRESENT
M-I:S IN OPEN CODE
CIA IN FIRST TITLE STMT

PB1FISIZ
PB12SIZ

WF1 BUFSIZE IN F AND I
WF 1, WF2 BUFSIZ

1 •••

.1 ••
• • 1.

••• 1
1890
1892

(162)
(164)

2
2

•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
C - F
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
.11. • •• 1

1894
1896
1899
1902
1904

(166)
(168)
(16B)
(16E)
(110)

2
3
3
2
2
.11. 11.1

ORG4

PMNABSIZ
PFINDPT
PI NPUTPT
SMTSIZE
PVSDSIZE

LENGTH OF MNA BLOCK
ADDRESS OF PFIND ROUTINE
ADDRESS OF PINPUT ROUTINE
SIZE OF SMT BLOCK
VSDSIZE

ORG5

•

Data Areas

163

DISPLMNT
DEC (HEX)

FIELD
NAME

SIZE

DESCRIPTION:
MEANING/USE

CONTENTS,

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
•
E - F
•
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
1906

(172)

6
.111 •• 11

NPSMT
ORG6

NIP TO SMT START

•

•••••••••• *•••• *••••••••••••••••••••••••••••••••••••• ** ••• *•••
•

C - E
•• *••• ** ••••••••
*•••• ** •••• *•• ~ ••• '* ••••• *•• *••••••••••••••••••

1912

(178)

8

NPEOTXT2

NP TO CA END OF TXT WF2

1920

(780)

1

JSW0010

PROGRAM SWITCH

SWREPRO
SWPROTO
SWMACRO
SWOC
SWCOPY
SWFLUSH

PROCESS NEXT AS REPROED
PROTOTYPE EXPECTED
PROCESSING MACRO DEF
PROCESSING OPEN CODE
PROCESSING COpy CODE
FLUSHUSHING AFTER END S'IMT

'. ,. ..

1 •••

• '1 ••
• • 1.

••• 1
1 •••
.1 ••

•••••••• *.**.***.* •••••••• *•••• **.*** ••• ** •••••••• *•••• *** ••• *
•
C - D
••••••••••
*•••• *•• *.* ••••••••• *•••••••••• *** ••• *••••• *•• *••••••
1921

(781)

1

.111.11.1

CCCALL

TYPE OF CALL TO OVLY CC

ORG7

•

••••• *•••••••• *•••••••••••••••••••••••••••••••••••••••••••••••
•
C
••••••••••••••••••••••••••••••••••••
** ••••••••• **.****.* •• ***.•

1922
1925

1857

164

(782)
(785)

(741)

3
2

BLKADDR
CMNASIZE

ADDRESS OF MNA BUFFER
MNA BLOCK SIZE

·1 •••• 111

ORGSAVE1

SAVE LOCATION COUNTER
OVERLAY AREA NOT USED ANY MORE
PFETCH SWITCH FOR CD

1

PFETCHDF

[-"

DISPLMNT
DEC
(HEX)
1858

SIZE
1

(742)
1 •••
• 1 ••

• • 1.
• •• 1

1 •••
• 1 ••

· . 1.
• •• 1

1859

(743)

1

·...

1 •••
• 1 ••

1860
1866
1866

1927

r

1928
1925
1930

(744)
(74A)
(74A)

•

•

Ie •

6
2
2

1916
1932
1932
1936
1940
1944
1948
1951
2216
2216
2220

DESCRIPTION:
MEANING/USE

JSWOOll

PROGRAM SWITCH

SWCMARK
SWCC
SWCILL
SWNOBLK
SWCARD1
SWMNA1
SWILICTL
SWCC2

CARD HAS CONTINUE MARK
LEGAL CON'I'INUE CARD
CONTINUE CARD IS EXCESSIVE
NONBLANRS .BEFORE CONTCOL·
1ST GET IN IDENT
FIRST CALL TO CC
ICTL NOW ILLEGAL
2ND CON~ CARD IN PROCESS

JSW0012

PROGRAM SWITCH

SWQM
SWAMP

IN QUOTE MODE
POSSIBLE VARIABLE SYMBOL

NPLASTW

WRITE NP FOR LAST BLOCK

NDXCNT

M-I INDEX COUNTER

CONTENTS,

ORGCHECK
RESTORE LOCATION COUNTER
(787)
0
1-0RG 1- (PCHECK1-0RGSAVE1) , (RO»
THE PRECEDING INSTRUCTION IS FLAGGED IF THE OVERLAY ORG IS IN ERROR
"(788)
(788)
(7 SA)

• 1. '. • 11.

PCHECK1

2
2
2

CURBEG
CURCNT

CURRENT BEG COL
CURRENT CONTINUE COL

ORGSAVE2

SAVE LOCATION COUNTER

1 ••• • 11.
1906
1906
1908
1910
1912
1912

FIELD
NAME

(772)
(772)
(774)
(776)
(77S)
(778)

•

2
2
2
2
4
4

CUREND
CONTEND
ENDCNT

CURRENT END COL
END COL OF 1ST CONT CARD
NO OF COL CUREND TO CURCNT

EOCl.RDl

END OF 1ST CARD STMT FIELD

.111.11.

PCHECK2

0
ORG5- (PCHECK2-0RGSAVE2) , (RO) )
(77C)
THE PRECEDING INSTRUCTION IS FLAGGED IF THE OVERLAY ORG IS IN ERROR
RESTORE LOCATION COUNTER
4
(7SC)
4
BASESAVE
SAVE AREA FOR 1 BASEREG
(78C)
4
(790)
SCNEND
END OF STMT FIELD IN WORKAREA
4
STREND
END OF STRING FIELDS IN WRKAREA
(794)
4
SAVE AREA FOR BEGIN OF SCAN
(798)
SCNBEG
BLANKS FOR WORKING PURPOSE
(79C)
3
BLANKS
264
3-CARD WORKAREA
(79F)
INPWRKAR
4
(8AS)
4
STRAR
BEGIN OF STRING FIELDS
(SAS)
SO
SAVE 1ST CONT CARD OF MACRO
(8AC)
CC1AREA
PHASE C ERROR STACK
• 1 ••

C

MAXERRNO
NOSTRING

MAX ERRORS THAT IS LOGGED
STRING NOT REQUIRED

Data Areas

165

DISPLMNT
DEC (BEX)

SIZE

DESCRIPTION:
MEANINGjUSJ!:

FIELD
NAME

CONTENTS,
(~

2300
2301f

1
2

(8J'C)
(900)

ERROR STACK (LNG==MAXERRNO)
ERROR COUNTER

ERRS'l'
ERRCN'l'

/'

I SEQ PARAMETERS
2306
2307·
2308

(902)
(903)
(901f)

1
1
39

PISEQST
PISEQEND
PISEQAR

ISEQ START COL
ISEQ END COL
ISEQ FIELD AREA

23lf7

(92B)

1

JSW0013

PROGRAM SWI'l'CH

1••• ....
.1 •• • • e·e
•• 1 •
••• 1 ••••
•••• 1•••

SWISEQ
SWTITLE1
SWISEQER
SWISEQE1
SWISEQE2

ISEQ CHECR REQUIRED
1ST TITLE SWITCH
ON IF 1S~ CARD HAS ISEQ ERROR
ON IF 1S~ CONT CARD HAS ISEQ ERROR
ON IF 2ND CONT CARD HAS ISEQ ERROR

....

AREAS

23lf8

MAXCNEST

MAX NEST LEVEL FOR COpy

1

MAC STAT

MACRO STATUS IN COpy BOOOK

1111 .111

MACON
MACOFF

MACRO STM READ IN THE BOOK
NO MACRO STMT READ IN THE BOOR
STACK FOR MACRO STATUS
(LNG=MAXCNEST)
PROGRAM SWITCH

(92C)

23119

(92D)

1

STATSTJ(

2352

(930)

1

JSW0011f

.. ,.. .••••
...
........

S_SEAR1
. StlMovn
PIPT

2
1
2

PCOPY
PRESCNT
CLINJ(

1••.•

(931)
(933)
(938)

COpy

...... "
••••••••

2353
2355
2360

POR.

1ST SEARCH
MNA OVERFLOW
INPUT FROM SYSIPT
COPY NESTING DEPTH. IF ZERO,
SYSIPT RESIDUAL COUNT. IS
LINK ADDRESS FOR C

(f'
I'J

166

[-

r

(

,,>

FIELD
NAME
ASSGNSW
BEGOFIN
BEGOFOUT
BLKINCNO
BO TT HALF
* BUFADDR1
* BUFADDR2
* BUFADDR3
*BUFPT1
*BUFPT2
*BUFPT3
* BYTEOFFS
COMMOoSW
CROSSNP
CROSSW
*CURESD
CURNP
CURSECT
CURSECTL
DBCORE
oBFULLSW
oBVSDADR
DLINK
oSCOMSW
EAWF2END
ELINK
EN DID
ENDSW
ENTRYCNT
EQORGSW
ERRCOUNT
ERRINOPo
ESDIDHI
ESDIDLO
* ESDPTR
ESDTABSW
FILE1NP
FILE1NPR
FILE12EX
FILE2NP
FILE2NPR
FLINK
*GAVAPT
*GBVAPT
* GCVAPT
GLINK
HLINK
IATESTSW
IFSAVE
ILINK
JLINK
KLINK
LBARADDR
LCLASIZ
LCLBSIZ
LCLCSIZ
LITSW
LLINK
*LOCCNTHI
*LOCCNTR
LOCLATR
LOCRATR
*POINTER

DISPLACEMENT
DECIMAL (HEX)
1922
2044
2040
1995
2035
1694
1729
1764
1691
1726
1761
1953
1926
1961
1922
1992
1967
1932
1931
1951
1926
2000
2024
2031
1920
1976
2011

1963
2008
1922
2036
1926
1955
2013
1987
1963
1880
1886
1904
1892
1898
1960
1940
1943
1946
1913
1949
1926
1672
1984
1928
2072
1994
1932
1935
1935
1963
2072
2028
2025
2021
2023

(782)
(7FC)
(7F8)
(703)
(7F3)
(69E)
(6C 1)
(6E4)
(69B)
(6BE)
(6E 1)
(7A 1)
(786)
(7A9)
(782)
(7C8)

(7AF)
(78C)

(78B)
(79F)
(786)
(700)
(7E8)
(7EF)
(780)
(7B8)
(7DB)
(7AB)
(708)
(782)
(7F4)
(782)
(743)
(700)
(7C4)
(7AB)
(758)
(75E)
(770)
(764)
(76A)
(7A8)
(794)
(797)
(79A)
(779)
(790)
(786)
(688)
(760)
(788)
(818)
(76A)
(78C)

(78F)
(792)
(7AB)
(818)
(7EC)
(7E9)
(7E5)
(7E7)
Data Areas

167

FIELD
NAME

DISPLACEMENT
DECIMAL (HEX)
,"-C-

LOCTYPE
MOCROSW
MFLAGS
MIB
*MIBADDR
MLEVEL
MNAM
NLINK
NPLITBEG
NPSSDR1
NPSSDWL
NPTEMP
NPTEMPCC
NPTEMPH
NPTEMPR
NP TEMP TB
NPVSD
NPVSDR1
* NXTENTRY
OLINK
OVFLADDR
PABENDC
PALIGN
PASSGNSW
* PBUFLEN 1
*PBUFLEN2
*PBUFLEN3
PB1FISIZ
PB12SIZ
PCONTSW
PCSWOVL
PDECK
PDF
PDSWOVL
*PDTFADR1
*PDTFADR2
*PDTFADR3
PEDECK
*PENDBUF1
*PENDBUF2
*PENDBUF3
PENTDEF
PEOBSW
*PEOFADR1
*PEOFADR2
*PEOFADR3
*PFETCHDA
*PFETCHDB
*PFETCHIA
*PFETCHIB
*PFETCHIC
PFILE1
PFILE2
PFILE3
*PFlNDPT
PFRSTASG
PFRSTOV
PGBLASIZ
PGBLBSIZ
PGBLCSIZ
*POlNTER

168

2031
1926
1922
1922
1948
1951
1924
1960
1913
1963
1970
1660
1660
1662
1663
1664
1947
1987
2004
1960
1997
1669
1659
2035
1697
1732
1767
1890
1892
1904
1871
1659
1659
1871
1688
1723
1758
1659
1699
1734
1769
1922
1658
1706
1741
1776
2008
2012
1956
1960
1964
1688
1723
1758
1896
1922
2035
1945
1948
1951

~

(7EF)
(786)
(782)
(782)
(79C)

(79D)
(784)
(7A8)
(779)
(7AB)
(7B2)
(67C)

(67C)
(67E)
(67F)
(680)
(79B)
(7C3)

(7D4)
(7A8)
(7CD)
(685)
(67B)
(7F3)
(6A 1)
(6C4)
(6E7)
(762)
(764)
(770)
(74F)
(67B)
(67B)
(74F)
(698)
(6BB)
(6DE)
(67B)
(6A3)
(6C6)
(6E9)
(782)
(67A)
(6AA)
(6CD)
(6FO)
(7D8)
(7DC)
(7A4)
(7A8)
(7A 7)
(698)
(6BB)
(6DE)
(768)
(782)
(7F3)
(799)

/,.

.'"

(79C)

(79F)

;'('

r,

\l.,/

FIELD
NAME

(

r

(

PGBLSIZ
PGENSW
PGEN5SW
PGFMSGSW
*PHICORE
PIBSW
PICSW
*PICTLCNT
*PICTLEND
*PICTLST
PIERCNT
PIERSTK
PINEOFSW
*PITPUTPT
PISWOVL
PJSWOVL
PKSWOVL
PLASTSUB
PLBEOFSW
PLINECNT
PLINENUM
PLINK
PLIST
PLITBLK
PLITLEN
PLRECLN
*PMAVBSIZ
*PMAVNO
PMAVNP
PMAXBSIZ
*PMIBLEN
PNEXTNP1
PNEXTNP2
PNEXTNP3
PNOBKSW
PNOSEQSW
PNPMAC1
PNPOCGV
PNPOINT1
PNPOINT2
PNPOINT3
PNWTRKSW
POPSW
PPAGENO
PREFCNT
PRLD
PROGID
PSAVETBL
PSAVPT
PSAVTEMP
PSPILLA
PSTCNAM
PSTMCSEQ
PSXREF
*PSYMTABL
PSYSNDX
PSYSPLEN
PSYSPSTR
PUNDEFSW
PVSDSIZE
*PWAADDR1
*POINTER

DISPLACEMENT
DECIMAL (HEX)
1945
1926
1926
1863
1666
1926
1926
1856
1855
1854
1974
1976
1650
1899
1871
1871
1871
2035
1658
1848
1923
1659
1659
1909
1911
1670
1941
1943
1935
1787
1956
1717
1752
1787
1658
1863
1912
1927
1709
1744
1779
1658
1658
1925
1936
1658
1850
1796
1836
1840
1968
1912
1915
1658
2032
1927
1880
1881
1926
1904
1702

(799)
(786)
(786)
(747)
(682)
(786)
(786)
(740)
(73F)
(73E)
(7B6)
(7B8)
(67B)
(76B)
(74F)
(74F)
(74F)
(7F3)
(67A)
(738)
(783)
(67B)
(67B)
(775)
(777)
(686)
(795)
(797)
(78F)
(6FB)
(7A4)
(6B5)
(6D8)
(6FB)
(67A)
(747)
(778)
(787)
(6AD)
(6DO)
(6F3)
(67A)
(67A)
(785)
(790)
(67A)
(73A)
(704)
(72C)

(730)
(7BO)
(778)
(77B)
(67A)
(7FO)
(787)
(758)
(759)
(786)
(770)
(6A6)

Data Areas

169

FIELD
NAME
*PWAADDR2
*PWAADDR3
PXREF
P3705SW
*SAVADDR
SAVAR
SAVESDNP
SAVREG1
SAVREG2
SECTSW
SELFLAGL
SELFLAGS
SMTSIZE
SSDADDR
SSDBLK1
*SSDEND
SSDINFO
SSDNP
SSDSIZE
*STABEND
*STARTLOC
STARTSW
STEP
STMTNR
SWATTR
SWCAFT
SWCAOC
SWCOPY
SWDS
SWFLUSH
SWGBLX
SWINM
SWKT
SWLA
SWMACRO
SWMIOC
SWNOED
SWNOGEN
SWNOSTOR
SWOC
SWPROTO
SWREPRO
SWSM
SWSTART
SW2
*SYMADDR
VSADDR
VSDBLK1
*VSDEND
VSDINFO
VSDSIZE
*XRAREND
*XREFADDR
XREFLEN
XREFPARM
*XREFPTR

DISPLACEMENT
DECIMAL (HEX)
1737
1772
1659
1658
2048
2051
1967
2060
2064
1963
1672
1672
1902
1953
1969
2019
1958
1941
1961
2000
1952
1922
1844
1921
1922
1889
1889
1920
1922
1920
1922
1922
1922
1922
1920
1889
1922
1922
1922
1920
1920
1920
1889
1963
1963
1996
1982
1993
2016
1982
1985
1982
2016
2019
2013
1979

(6C9)
(6EC)
(67B)
(67A)
(800)
(803)
(7B5)
(80C)
(810)
(7AB)
(688)
(688)
(76E)
(7A 1)
(7B 1)
(7E3)
(7A6)
(795)
(7A9)
(7DO)
(7AO)
(782)
(734)
(781)
(782)
(761)
(761)
(780)
(782)
(780)
(782)
(782)
(782)
(782)
(780)
(761)
(782)
(782)
(782)
(780)
(780)
(780)
(761)
(7AB)
(7AB)
(7CC)
(7BE)
(7C9)
(7EO)
(7BE)
(7C 1)
(7BE)
(7EO)
(7E3)
PDF)
(7BB)

i(
\(~~-'

170

(This page intentionally left blank.)

(

Data Areas

171

(This page intentionally left blank.)

172

(This page intentionally left blank.)

Data Areas

173

DATA AREA: PCSR
SIZE:

1

CREATED BY: }

IPKCA,IPKCB, IPKCC, IPKCD, IPKDA, IPKDB, IPKEA, IPKGA,
IPKFA,IPKHA,IPKIA,IPKIC, IPKJA, IPKKA, IPKLA, IPKPA

UPDATED BY:
FUNCTION:

Description of a compressed source record.

DISPLMN'l'
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

..

(0)
(0)
(2)

2

..

PCSRHEAD
PCSRLEN
PCSRIOP

2

0
2

2

(2)

1

PCSROPO

PROGRAM SWITCH

0

6

....

1 •••
.1 ••
•• 1.

••• 1

....
....

1•••

..1...••

.1 ••

" .1 •

....

•••••••••••••
• LEN • lOP •
•••••••••••••

PCSRMCOP
PCSRLIT1
PCSRLIT2
PCSRLIT3
SWSFILE
SWEFILE
PNOSTNO
.PCSRCOM

COMMENTS BEFORE MACRO TEXT

THREE lOP BYTEO FLAGS
SOURCE FILE DESTINATION
EDITED FILE DESTINATION

..3

(3)
(4)

1

1

PCSROP
PCSROPX

lOP BYTE1 MCOP
lOP BYTE2 OP EXTENSIONS

5

(5)

1

PCSROP3

PROGRAM SWITCH

PCSRDEAD

lOP BYTE3 FLAGS,

PCSRFLGA

PROGRAM SWITCH

·.. '.

1,•••

6

1

(6)
1 •••
.1 ••
•• 1.

....
....

••• 1

..

~.

·0·· •
1

(1)

1

1 •••
.1 ••
• • 1.
• •.• 1

/

"

PCASRC
PCAEDTXT
PGENSTMT
PFROMLIB
PSMACDEF
PSBSTOPD
PSBSTOP
PSBSTNAM
PCSRSTR1
SOURCE CODE STRINGS
THEY ALL LOOK LIKE THIS
• 1 BYTE. 1 BYTE .LENGTH-1 •

••••••••••••••••••••••••••••
• LENGTH • COLUMN • SOURCE •
••••••••••••••••••••••••••••

;1. "

,,-I

174

(-

FIELD
NAME
PCAED'l'XT
PCASRC
PCSRDEAD
PCSRFLGA
PCSRHEAD
PCSRIOP
PCSRLEN
PCSRLIT1
PCSRLI'l'2
PCSRLIT3
PCSRMCOP
PCSROP
PCSROPX
PCSROPO
PCSROP3
PCSRSTR1
PFROMLIB
PGENSTMT
PNOSTNO
PSBSTNAM
PSBSTOP
PSBSTOPD
PSMACDEF
SWEFILE
SWSFILE

DISPLACEMENT
DECIMAL (HEX)
6
6
5
6
0
2
0
2
2
2
2
3
4
2
5
1
6
6
2
6
6
6
6
2
2

(6)
(6)
(5)
(6)
(0)
(2)
(0)
(2)
(2)
(2)
(2)
(3)
(4)
(2)
(5)
(1)
(6)
(6)
(2)
(6)
(6)
(6)
(6)
(2)
(2)

*POINTER

(-

Data Areas

175

DATA AREA:

SIZE:

PDCEDIT

10

CREATED BY:}

IPKJA,IPKKA, IPKLA, IPKNA, IPKOA, IPKPA

UPDATED BY:

FUNCTION:

Decsription of the operand part of the edited text for DC,
DS, and literal DC statements.

OISPLMNT
DEC (HEX)

('

0

0

0

0
0

(0)

(0)

DESCRIPTION:
MEANING/USE

CONTENTS,

VSCALE

.1.. •• 11

EXPON

1

VEXPON

.1 ••. • 1 ••

DCEXP

1

VDCEXP

.1 ••• 1.1

DCVAL

(0)
(0)

1
1

VDCVAL

3
1

PMODEXP
PNXTMOD

MODIFIER EXPRESSION

1
1

PDCLEN
PDCFLD

*
LENGTH OF CONSTANT FIELD
BEGINNING OF CONSTANT FIELD

1

( 1)

4

(4)

1

( 1)

2

(2)

ATYPE
BITLEN
BTYPE
CTYPE
OCEXP
DCVAL
DTYPE
ETYPE
EXPLEN
EXPON
FTYPE
HTYPE
I MPLEN
LTYPE
PBITALGN
PDCFLAG
PDCFLD
PDCLEN
PDCTYPE
PDUPCONT
PDUPEXP
PLENFLAG
PMODEXP
PMODFLAG
PMODIFS
PNOCONST
PNXTMOD
PTRUNRHT
PTYPE
SCALE
STYPE
VBITLEN
VDCEXP
VDCVAL

("

1

(0)

FIELD
NAME

r

FIELD
NAME

SIZE

DISPLACEMENT
DECIMAL (HEX)
4
5
4
4

(4)
(5)
(4)
(4)

0
0

(0)
(0)

4
4
5

(4)
(4)
(5)

0

(0)

4
4
5
4
7
6

(4)
(4)
(5)
(4)
(7)
(6)

2

(2)

1

( 1)

4
6
0
5

(4)
(6)
(0)
(5)

1

( 1)

0
9

(0)
(9)

3

(3)

4
6
4
0
4
5
0
0

(4)
(6)
(4)
(0)
(4)
(5)
(0)
(0)

*POINTER

"

Data Areas

177

FIELD.
NAME

DISPLACEMENT
DECIMAL (HEX)
,

VEXPLEN
. VEXPON
VIMPLEN
VSCALE
VTYPE
XTYPE
YTYPE
ZTYPE

* POINTER

178

,

(5)

5
0
5
0

(0)
(5)
(0)

4
4
4
4

(4)
(4)
(4)
(4)

~"':- '"- / '

(This page intentionally left blank.)

Data Areas

179

PERR

DATA AREA:
SIZE:

Variable (depending upon different error text)

CREATED BY: }

IPKPA

UPDATED BY:
FUNCTION:

Description of an error record.

DISPLMNT
DEC
(HEX)

SIZE
1

0
0

(0)
(0)

2
2

(2)
(2)

3
4

(3)
(4)

1
1
1
1

5
6

(5)
(6)

2

8

(8)

9

(9)

FIELD
NAME
PERREXPT
PERRHD
PERRIOP
PERRIOPO
PERRIOP1
PERRIOP2
PERRLEN
PERRSTNR
PERRSTRL
*POIN'I'ER

180

2

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

PERRHD
PERRLEN
PERRIOP
PERRIOPO
PERRIOP1
PERRIOP2

RECORD HEADER (LNG= PERLEN- PETHEAD)
RECORD LENGTH
lOP (LNG=PETIOP)
FLAGS
ERROR ID
ERROR NUMBER
NOT USED
STMNT NO. INSERTED BY OUTPUT
LENGTH OF TEXT
TEXT EXCERPT

1
PERRSTNR
PERRSTRL
PERREXPT

1
1

DISPLACEMENT
DECIMAL (HEX)
9
0

2
2
3
4

0

6
8

(9)
(0)
(2)
(2)
(3)
(4)
(0)
(6)
(8)

',~

DATA AREA:
SIZE:

P£l'F'LDS

Variable

CREATED BY:}
UPDATED .BY:
FUNCTION:

DISPLMNT
DEC (HEX)

IPKCA, IPKCC, IPKCD, IPKDA, IPKDB, IPKEA, IPKGA, IPKFA,
IPKIA,IPKJA, IPKKA,IPKLA, IPKNA, IPKOA, IPKPA, IPKSA,
IPKSB

Description of the variable fields of edited text records.

SIZE

o

(0)

1

1

(1)

1

o

1

(0)

1 •••
.1 ••
• • 1.
1111
• 111

1

(1)

19

(9)
(9)

9

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

PNAMLNG
PNAME

NAME

PAFLAG2

THE SYMBOL WORK BUCKETS
BEFORE SUBSTITUTION:
PROGRAM SWITCH

DONESYM
ENTVALUE
ERDSCOM
PSYMFLAG
PSYMLEN
PSYMBOL
PENTVAL
PNXTBKT

8
5
9

THE NAME FIELD LENGTH

VALUE HAS BEEN SUBSTITUTED
VALUE IS IN PENTVAL
ENTRY DISALLOWED (FOR EQU)

***********************
* FLAG * LEN * SYMBOL *
***********************
BUCKET EXTENSION FOR ENTRY VALUE
AFTER SUBS'I'ITUTION:

I

1

2

2

3

2

o

(0)

1

1

(1)

I~

2

(3)

2

(51

3

PSFLAG2
PSLENATR
PSRELATR
PSVALUE

o

(0)

1

POPFLAG

OPERAND FIELDS LOOK LIKE:
OPERAND FLAG

1

(1)

PEXPFLAG

PROGRAM SWITCH

NEXPF1
NEXPF2
NEXPF3

EX PRESS ION FLAG

• 1 ••

• . 1.
• •• 1

********************************
*
* FLAG * LA * RA * VALUE *
********************************

Data Areas

181

DISPLMNT
DEC (HEX)
2

SIZE

FIELD
NAME

DESCRIPTION:
MEANING/USE

POLISH STRING
AFTER EVALUATE
VALUES WILL BE INSERTED
LENGTH ATTRIBUTE
NUMBER OF RELOCATION FACTORS
VALUE OF EXPRESSION
SIGN OF RELOCATION FACTOR
RELOCATION ATTRIBUTE
USED BY OUTPUT
FIELD TYPE FLAG
ADDR FIELD
NEXT FLAG
BEGINNING OF OBJ CODE FIELD
OBJ CODE, TWO BYTES
NEXT TWO BYTES
CURRENT CHARACTER
NEXT CHARACTER
LENGTH OF ERROR OPERAND

(2)

1

POLSTR

2

(2)

2

4

(4)

1

5

(5)

4

9
10

(9)
(A)

1
1

PLA
PRA
PEXPVAL
PSIGN
PRATT

0
1

(0)
( 1)

3

4

(4)

1

PAFLG
PAFLD
PANXT

1

1

( 1)

3

(3)

2
2

0

(0)

1

PCODE
PCNXT
THISELEM

••• 1
,.. •• .1.1

NXTELEM
ERROPLEN

FIELD
NAME
DONESYM
ENTVALUE
ERDSCOM
NEXPFl
NEXPF2
NEXPF3
PAFLAG2
*PAFLD
PULG
PANXT
PCNXT
PCODE
PENTVAL
PEXPFLAG
PEXPVAL
PLA
PNAME
PNAMLNG
PNXTBKT
POLSTR
POPFLAG
PRA
PRATT
PSFLAG2
PSIGN
PSLENATR
PSRELATR
*PSVALUE
PSYMBOL
PSYMFLAG
PSYMLEN
SREG
THISELEM
*POINTER

182

CONTENTS,

'~

DISPLACEMENT
DECIMAL (HEX)
0
0
0
1
1
1

0
1
0

(0)

(0)
(0)
( 1)
(1)
( 1)

(0)
( 1)
(0)

4

(4)

3
1

(3)
(1)

9

(9)

1

( 1)

5

(5)

2

(2)

1

( 1)

0
9
2
0

(0)

(9)
(2)
(0)

4

(4)

10
0

(A)
(0)

9

(9)

1
3
4

(1)
(3)
(4)

1

(1)

0

(0)

0

(0)

0
0

(0)
(0)
(

DATA AREA:
SIZE:

{

PETR

Variable

CREATED BY: }

IPKCA,IPKCC,IPKCD, IPKDA, IPKDB,IPKEA, IPKGA, IPKFA,IPKIA,
IPKJA, IPKKA, IPKLA, IPKNA, IPKOA, IPKPA, IPKSA,IPKSB

UPDATED BY:
FUNCTION: Decription of an edited text record

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE
2

0
0

(0)
(0)

6

2

PETHEAD
PETLEN

2

(2)

4

PETIOP

*************
* LEN * lOP *
*************

2

(2)

1

PETOPO

PROGRAM SWITCH

PETMCOP
PER2STR
PERNOQ
PDCSTYPE
PDCCONT
PDUPSYM
PDEFENT

lOP BYTEO, MACH.OP FLAG
2 STRINGS IN ERROR RCD FLAG
NO QUOTES AROUND ERROR STRING
S-TYPE CONST,CODE ALREADY BUILT
DC CONTINUATION RECORD FOLLOWS

1 •••

.1 ••
• • 1.

1 •••
• 1 ••

•• 1.
• •• 1

r

4

PDCSTYPE ALSO USED TO INDICATE OVERFLOW POINT IN SUBSTITUTION

....

• 111
3

PALGNBIT

NUMBER OF ALGN BYTES

4

(3)
(4)

1
1

PETOP
PETEPX

4

(4)

1

POP NUMB

lOP BYTE1 MAGHINEOP
lOP BYTE2 OP EXTENSIONS
ALSO USED AS
OPERAND NUMBER IN A DC/OS

5

(5)

1

PETOP3

PROGRAM SWITCH

·... ·• ...
111

PETDEAD
PINSTRLN
PCB TYPE

lOP BYTE3 FLAGS
INSTRUCTION LENGTH
INSTRUCTION TYPE

2
2

PETSTNO
PLENATTR
PLRELATR
PLOCCNTR
PSYMNO
PNAMFLD

STATEMENT NUMBER
LENGTH ATTRIBUTE
2
3
1

1 •••

• 111

6

(6)

8
10
12
15
16

(8)
(A)
(C)

(F)
(10)

2

3
1
1

6

(6)

1

7

(7)

1

6

(6)

2

8

(8)

9

(9)

1
1

****************
* RA * LC * Sf *
****************

AN ERROR RECORD
ONLY CONSISTS
PERLNG
OF 6 BYTE HEADER AND A
PERSRC
VARIABLE STRING FIELD
A STMT NUMBER IS INSERTED BY THE OUTPUT PHASE.
USED BY OUTPUT
STMNT NO. INSERTED BY OUTPUT
PERRSTNO
PERRSTR
LENGTH OF TEXT
PERREXC
TEXT EXCERPT

(
Data Areas

183

FIELD
NAME
PALGNBIT
PCBT'iPE
PDCCONT
PDCSTYPE
PDEFENT
PDUPSYM
PERLt«;
PERNOQ
PERREXC
PERRSTNO
PERRSTR
PERSRC
PER2STR
PETDEAD
PETEPX
PETHEAD
PETIOP
PETLEN
PETMCOP
PETOP
PETOPO
PETOP3
PETSTNO
PINSTRLN
PLENATTR
*PLOCCNTR
PLRELATR
PNAMFLD
POPNUMB
PSYMNO

DISPLACEMENT
DECIMAL (HEX)
2
5
2
2
2
2
6
2

(2)
(5)
(2)
(2)
(2)
(2)
(6)
(2)

9

(9)

6
8
7
2
5

(6)
(8)
(7)
(2)
(5)

4

(4)

0
2
0
2
3
2
5
6
5
8
11
10

(0)
(2)
(0)
(2)
(3)
(2)
(5)
(6)
(5)

(8)
(B)
(A)

16

(10)

4

(4)
(F)

15

,f

*POINTER

184

'''",

"

/

PFCB

DATA AREA:
SIZE:

35

CREATED BY: }

All modules except: IPKAB-AJ,IPKCB,IPKTA

UPDATED BY:
FUNCTION:

Description of a file control block.

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION:
MEANING/USE
ADDRESS OF
POINTER TO
ADDRESS OF
MAX RECORD
ADDRESS OF
ADDRESS OF

CONTENTS,

o

(0)

3

3
6
9
11
14

(3)

3

(6)
(9)
(B)
(E)

3
2
3
3

PDTFADDR
BUFPT
BUFADDR
PRECLEN
ENDBUF
PWAADDR

17

(11 )

1

PFCBSW

PROGRAM SWITCH

OPENSW
READSW
UPDSW
BUF2SW
UPD2SW
FIRSTSW
PFCBSW1
PFCBSW2

IF
IF
IF
IF
IF
IF

PEOF
PNOTEPNT
PNPRW
PCCHR
PTRKBAL
PNPOFFS
PNEXTNP

EOF ADDRESS
NOTE POINT VALUES

1 •••

.1 ••
'• • 1.
••• 1
1 •••

.1 .•
• • 1.

(

••• 1
18

( 12)

21
21
21
25
27

( 15)
( 15)
( 15)
( 19)
(1B)

2

29

(1D)

1

FIELD
NAME
* BUFADDR
*BUFPT
BUF2SW
*ENDBUF
FIRSTSW
OPENSW
PCCHR
*PDTFADDR
*PEOF
PFCBSW
PFCBSW1
PFCBSW2

3
8

6
4
2

1,
1,
1,
1,
1,
1,

DTF
RECORD IN BUFFER
BUFFER
LENGTH
LAST BYTE OF BUFFER
WORKAREA

FILE OPEN
READ, IF 0, WRITE
WRITE UPDATE
TWO BUFFERS
UPDATE MODE
FIRST I/O OPERATION

*
*
CYLINDER, HEAD, RECORD
TRACK BALANCE
RECORD OFFSET FROM BUFFER START
NIP VALUE FOR NEXT BLOCK
(LNG=PNPRW)

DISPLACEMENT
DECIMAL (HEX)
6
3
17

11

(6)
(3)
(11)
(E)

17
17

( 11)

21

(15)

o

18
17
17
17

( 11)
(0)
( 12)
(11 )
( 11)

(11 )

*POINTER
Data Areas

185

FIELD
NAME
PNEXTNP
PNOTEPNT
PNPOFFS
PNPRW
PRECLEN
PTRKBAL
*PWAADDR
READSW
UPDSW
UPD2SW

DISPLACEMENT
DECIMAL (HEX)
29
21
27
21
9
25
14
17

17
17

( 1D)
(15)
(1 B)
(15)
(9)
(19)
(E)
( 11)
( 11)
( 11)

~.-"

*POINTER

(

\,-. ~.
186

PGVHEAD

DATA AREA:
SIZE:

9

CREATED BY:}

IPKFA,IPKIA

UPDATED BY:
FUNCTION:

Description of the global vector header.

DISPLMNT
DEC (HEX)

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

0
2

(0)
(2)

2
1

PGVHLEN
PGVHIOP

RECORD LENGTH
GLOBAL VECTOR lOP (LNG=PCSRIOP)

6

(6)

1

JSW0028

PROGRAM SWITCH

1... . ...

SWGVLST

LAST RECORD SWITCH

2

PGVENTl

GLOBAL VECTOR ITEM

1

(1)

FIELD
NAME

[

SIZE

PGVENT1
PGVHIOP
PGVHLEN
SWGVLST

DISPLACEMENT
DECIMAL (HEX)

1
2
0
6

(1)
(2)
(0)
(6)

*POINTER

Data Areas

187

PHYR

DATA AREA:
SIZE:

11-18

CREATED BY: }
IPKKA,IPKLA
UPDATED BY:
FUNCTION:

Description of an entry in the symbol table.

DISPLMNT
DEC
(HEX)
0

(0)

2

(2)

SIZE
2

1 •••
• 1 ••
• • 1.
• •• 1
3

(3)

2

5

(5)

2
3

7

(7)

10

(AI

11

(B)
(13)

19

FIELD
NAME
ENTESD
ENTRYER
HASHPTR
LDNAME
LXFLAG
SYMBREG
SYMESDID
SYMFLAGS
SYMLATTR
SYMLENG
SYMNXT
SYMSRC
*SYMVALUE
*POINTER

188

1
8
1

DISPLACEMENT
DECIMAL (HEX)
2
2
0
2

(2)
(2)
(0)
(2)

2

(2)

2

(2)

5

(5)
(2)
(3)

2
3

10
19
11
7

(A)
(13)
(B)
(7)

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

HASHPTR

HASH

SYMFLAGS

PROGRAM SWITCH

ENTESD
LXFLAG
ENTRYER
LDNAME

FLAGS: ENTRY EXITS IN ESD TAB
ENTRY SYM WITHOUT DEF
ENTRY NOT ALLOWED
ENTRY SYMBOL

SYMLATTR
SYMESDID
SYMVALUE
SYMLENG
SYMSRC
SYMNXT

LENGTH ATTRIBUTE OF SYMBOL
RELOC ATTRIBUTE OF SYMBOL
VALUE OF SYMBOL
MOVE LENGTH OF SYMBOL SOURCE
SYMBOL SOURCE 1-8 CHARACTERS
BEGINNING OF NEXT ENTRY

PINTER

PSTRINGS

DATA AREA:
SIZE:

Variable

CREATED BY:}

IPKCA, IPKCB, IPKCC, IPKCD, IPKDA, IPKDB, IPKEA, IPKGA,
IPKFA,IPKHA,IPKIA,IPKJA, IPKKA, IPKLA, IPKPA

UPDATED BY:
FUNCTION:

Description of the different fields in source records.

DISPLMNT
DEC
(HEX)

C~

0

(0)

1

(1)

2

(2)

0

(0)

1

(1)

2

(2)

0

(0)

1

(1)

2

(2)

0

(0)

1

(1)

2

(2)

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

1
1
1

PNAMLEN
PNAMCOL
PNAMSRC

1
1
1

POPLEN
POPCOL
POPSRC

1
1
1

POPDLEN
POPDCOL
POPDSRC

1
1
1

PSTRLEN
PSTRCOL
PSTRSRC
PFLDLEN
PFLDCOL
PFLDSRC

LENGTH OF NAME
START COLUMN OF NAME
NAME
OP-CODE
LENGTH OF OP-CODE
START COLUMN OF OP-CODE
OP-CODE
OPERAND
LENGTH OF OPERAND
START COLUMN OF OPERAND
OPERAND
STRING
STRING LENGTH
START COLUMN OF STRING
STRING
FIELD (ANY OF ABOVE TYPES)
FIELD LENGTH
START COLUMN OF FIELD
FIELD
*

SIZE

0

(0)

1

1

(1)

1

2

(2)

1

••.• 1

FIELD
NAME
PFLDCOL
PFLDLEN
PFLDSRC
PNAMCOL
PNAMLEN
PNAMSRC
POPCOL
POPDCOL
POPDLEN
POPDSRC
POPLEN
POPSRC
PSTRCOL
PSTRLEN
PSTRSRC

C

THISCHAR
NXTCHAR

EQUATES FOR
SCANNING

DISPLACEMENT
DECIMAL (HEX)
1

(1 )

0
2

(0)

1

(1)

(2)

0

(0)

2

(2)

1
1

(1)
(1)

0
2
0

2

(0)
(2)
(0)
(2)

1

(1 )

0
2

(2)

(0)

*POINTER

Data Areas

189

DATA AREA:
SIZE:

RLDENTRY

6

CREATED BY: }

IPKOA, IPKQA

UPDATED BY:
FUNCTION:

Description of an entry in the relocation dictionary table.

DISPLMNT
(HEX) SIZE
DEC

FIELD
NAME

DECSRIPTION: CONTENTS,
MEANING/USE

0
2

(0)
(2)

2
2

RLADID
RLREFID

ID OF CONSTANT
ID OF REFERENCE

4

(4)

1

RLFLAG

PROGRAM SWITCH

ACONSW
YCONSW
CCWSW
VCONSW
LEN1SW
LEN2SW
SIGNSW

A CONSTANT
Y CONSTANT
CCW CONSTANT
V CONSTANT
BIT 4 USED AS LENGTH
BIT 5 USED AS LENGTH
O-POS • REL. FAC. l-NEG. REL. FAC.

RLADDR
RLDNXT

RELOCATION ADDRESS
NEXT ENTRY

1 ...

.1 ..
.. 1.
. .. 1
1 ...
.1 ..
. . 1.

5
8

(5)
(8)

FIELD
NAME
ACONSW
CCWSW
LEN1SW
LEN2SW
*RLADDR
RLADID
RLDNXT
RLFLAG
RLREFID
SIGNSW
VCONSW
YCONSW
* POINTER

190

3
1

DISPLACEMENT
DECIMAL (HEX)
4
4
4
4
5
0
8
4
2
4
4
4

(4)
(4)
(4 )
(4 )
(5)
(0)
(8)
(4)
(2 )
(4 )
(4)
(4 )

SMTENT

DATA AREA:
SIZE:

10

CREATED BY: }

IPKEA,IPKGA,IPKFA

UPDATED BY:
FUNCTION:

Description of the source macro table.

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANINg/USE

SWSMT

PROGRAM SWITCH

SWSMTATR
SWSMTINM
SWSMTGBL
SWSMTNST
SWSMTNED
SWSMTNGN

ATTRIBUTES
INNER MACROS
GLOBAL VARIABLES
DONT STORE
DONT EDIT
DONT GENERATE

8

SMTNP
SMTLEN
SMTNAME

NIP TO MACRO HEADER (LNG=PNOTEPNT)
LENGTH OF MACRO NAME
MACRO NAME

• • •• '. 1. 1

SMTENTL

1

SMTEFLG

OR INSTEAD OF LENGTH BYTE
END FLAG

ESMT
ESMTB

END OF TABLE FLAG
END OF BLOCK FLAG

DISPLMNT
DEC (HEX) SIZE
0

1

(0)
1 •••
• 1 ••

•• 1.
• •• 1

1.·• •
• 1 ••

1
9
10

[

9

1
1

(1)

(9)
(A)

(9)

1111.111
1111.1.1

FIELD
NAME
ESMT
ESMTB
SMTEE'LG
SMTLEN
SMTNAME
SMTNP
SWSMT
SWSMTATR
SWSMTGBL
SWSMTINM
SWSMTNED
SWSMTNGN
SWSMTNST

DISPLACEMENT
DECIMAL (HEX)
9
9
9
9
10
1
0
0
0
0
0
0
0

(9)
(9)
(9)
(9)
(A)
(1)

(0)
(0)
(0)
(0)
(0)
(0)
(0)

*POINTER

Data Areas

191

SSD

DATA AREA:
SIZE:

4

CREATED BY:}

IPKDA, IPKDB, IPKEA, IPKGA

UPDATED BY:
FUNCTION:

Description of the sequence symbol dictionary.

DISPLMNT
DEC (HEX) SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

0
3

(0)

3

(3)

4

(4)

1
1

SSDOFFS
SSDSYML
SSDSYM

3

(3)

1

SSDFLAG

OFFSET IN EDITED TEXT
LENGTH OF SYMBOL
SYMBOL
OR INSTEAD OF LENGTH BYTE
EO BLOCK/EO DICTIONARY FLAG

1111 .111
1111 .1.1
.111

ESSD
ESSDB
SSDMAXL

END OF DICTIONARY
END OF BLOCK
MAX ENTRY LENGTH

VSD AND SSD INFO BLOCKS

FIELD
NAME
ESSD
ESSDB
SSDFLAG
SSDOFFS
SSDSYM
SSDSYML

DISPLACEMENT
DECIMAL (HEX)
3
3
3
0
4
3

,./

"

\
\"" __ J /

(3)
(3)
(3)
(0)
(4)
(3)

*POINTER

((

'-

\~.~/

192

VSD

DATA AREA:
SIZE:

4

CREATED BY:}

IPKDA,IPKDB,IPKGA

UPDATED BY:
FUNCTION:

Description of the variable symbol dictionary.

DISPLMNT
DEC (HEX)

SIZE

0

(0)

1

(1)

3
4
4

(3)
(4)
(4)

1
2
1
1
2

3

(3)

1
1111.111
1111.1.1

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

VSDTYPE
VSDNDX
VSDSYML
VSDSYM
VSDDIM
VSDFLAG

TYPE
INDEX NUMBER
LENGTH OF SYMBOL
SYMBOL
MAX DIM, ONLY SUBSCRIPTEDS
OR INSTEAD OF LENGTH BYTE
END SEGMENT/END DICTIONARY

EVSD
EVSDB

END OF DICTIONARY
END OF SEGMENT

SSD ENTRY FORMAT

['~

FIELD
NAME
EVSD
EVSDB
VSDDIM
VSDFLAG
VSDNDX
VSDSYM
VSDSYML
VSDTYPE

DISPLACEMENT
DECIMAL (HEX)
3
3
3

(3)
(3)
(4)
(3)

1

(1)

4

(4)
(3)
(0)

4

3
0

*POINTER

c
Data Areas

193

DATA AREA:
SIZE:

WORKDTF

152

CREATED BY:}

IPKAA,IPKBA

UPDATED BY:
FUNCTION:

DISPLMNT
DEC (HEX)

Description of the DTFSD.

SIZE

(0)

2

2

(2)

1'

JSWOO.49 .

PROGRAM SWITCH

WIOCOMPL

THE COMPLETION BI

JSW0050

PROGRAM SWITCH

W1
W2
W3

I/O ERROR BITS

1

WCSW

PROGRAM SWITCH

••••••• 1

WEOF

CSW STATUS BYTE 1

1. •• .' •••

1

(3)
1 •••

••• 1
•• 1.
4

DESCRIPTION: CONTENTS,
MEANING/USE
RESIDUAL COUNT

0

3

FIELD
NAME

(4)

,/

"

",- >/

I

I

5
16
20
29
30
32
38
39
40

(5)
(10)
( 14)
(1D)
(1E)
(20)
(26)
(21)
(28)

42
46
50

(2A)

11
4
9

WMODAD

1

WDEVTYP
WPCTY

2
6
1
2
4
4
4

(2E)
(32)

50

(32)

4

54
56
56
56

(36)
(38)
(38)
(38)

2
5

56

(38)

4

58
59
60

(3A)
(3B)
(3C)

1
1

61

WLOWHEAD
WUPHEAD
WRECLEN

1

WILOWEXT
WCLOWEXT
WCHIEXT
WEXTLIM
WeeHHR
WCCHH
wee
WCURBLK

4

2
1

WH
WREC
SWITCH BYTE
JSWOO52

1

(3D)

WFRST

1 •••

1•••
••• 1

194

WTRKLM

WPNT

CSWSTAT BYTE 2, REST OF CCB .
ADDR OF LOGIC MODULE
DTF TYPE ETC
DTF DEVICE TYP-INIT BY BA
DRMAINING BYTES ON TRACK
-NOT USED BY 10 ROUT
LOWER HEAD LIMIT
UPPER HEAD LIMIT
RECORD LENGTH
INIT EXTENT LOWER LIMIT
CURRENT EXTENT LOWER LIMIT
EXTENT HIGH LIMIT
EXTENT HIGH LIMIT
SEEK-SEARCH BUCKET -BB
CCHHR PART,WHICH IS
SEEK-SEARCH BUCKET
CYLINDER
CURRENT POSITION
(FBA BLOCK NO)
PART OF HEAD NUMBER,ALWAYS 0
HEAD , FOLLOWED BY
RECORD
,.
TO INDICATE
PROGRAM SWITCH
FIRST REC ON TRACK WRITTEN
TRACK LIMIT REACHED AT READ
POINT

'f
i.,
\

''l,_/

r

DISPLMNT
DEC
(HEX)

SIZE

62

(3E)

2

64

(40)

8

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANINGjUSE

WMPCTY

TRACK CAPACITY CONSTANT
RESERVED SPACE FOR RPS

CHANNEL PROGRAM
72
96
96

96

(48)

6

(60)
(60)

16

(60)

2

CCWS
CCWS1

••••• 1 t.

RDAT

1

• ••• .1.1

96

(60)

1
••• 1 .11.

96
96

r

(60)
(60)

97

(61)

104

(68)

WDAT
VWDAT
WCKD
VWCKD
REST OF 1ST CCW
CCWS2

WCCW
WCCW2

(1 E)

(80)

2

RCCW

(70)
(78)
(78)

124
126

(7C)

128

(79)

(80)

WDATAD
WDATLEN

•••• .11.

RDA

1

VRDA

••••• 1.1
128
128

VRDAT

2
2
1
3
2
2

112
120
120
121

128

1
1
7
2

SEEK-SEARCH-TIC CCW
2 CCWS FOR READ, WRITE OR WRUPD
1

2

THE ASSEMBLED CCW:S IN DTF:S
HAVE BEEN ADJUSTED BY INIT TOCCW:S TO WRITE
WRITE CCW 1
WRITE CCW 2
COMMAND (0)
DATA ADDRESS
CHAIN BYTE AND
RECORD LENGTH
CCW:S TO READ OR UPDATE WRITE

WDA

(80)
(80)
(81)
(84)

1
1
3
2

(86)

2

RDATLEN

DATA ADDRESS
CHAIN BYTE AND
RECORD LENGTH

136

(88)

2

RCCWl

CCW TO READ COUNT BUCKET

144
144
144
148

(90)
(90)
(90)

2
5
4
1

WCOUNT
WCNTCHR
WCNTCH
WCNTR

COUNT BUCKET
DISK ADDRESS - CCHHR
CCHH

129
132
134

(94)

1 •• 1 •• 11

149
150

(95)
(96)

VWDA

RDATAD

WCNTH

1

2

WCNTDL

R

(TO ADDRESS HEAD NR)
RECORD LENGTH 1ST BYTE,O
RECORD LENGTH

Data Areas

195

DISPLMNT
DEC
(HEX)
152
153
156

SIZE

(98)
(99)
(9C)

1
3
4
0000 1001

DESCRIPTION: CONTENTS,

FIELD
NAME

ME~NING/USE

WVER3FLl
WVER3FL2
WCISIZE
WSHCON

VERSION 3
VERSION 3
CISIZE IF
CONSTANTS

FLAGS
FLAGS
PRESENT
FOR

160
(AO)
2
EFFECTIVE RECORD LENGTH
WMCOM
162
(A2 )
2
WADCON
CALCULATION
THE FOLLOWING CONSTANTS ARE INIT FOR AND USED BY PPOINTGN ONLY
164
(A4 )
2
EFFECTIVE RECORD LENGTH
WEFRLEN
(A6 )
1
166
PBLKPTRK
BLOCKS/TRACK
(A6 )
PBLKPCI
1
BLOCKS/CONTROL INTERVAL
166
WTRKPCYL
(A 7)
1
TRACKS/CYL FOR POINTGN ROUT
167
CI MAX CAPACITY
CIMAXCAP
168
(A8 )
2
170
(AA)
2
WRECLENl
LENGTHS OF TWO PRECEDING BLOCKS
WRECLEN2
172
(AC)
2
LENGTHS OF TWO PRECEDING BLOCKS
(AE)
1
174
NOTESW
SWITCH FOR CONTR. PNOTE
(AF)
NOTESWI
SWITCH FOR CONTR. PNOTE
1
175
CKDEBASW
176
(BO)
1
CKD/FBA SWITCH
0000 0000
CKDTYPE
CODE FOR CKD DEVICE
1001 0000
FBATYPE
CODE FOR FBA DEVICE

FIELD
NAME
CCWS
CCWS1
CCWS2
CIMAXCAP
CKDFBASW
NOTESW
NOTESWl
PBLKPCI
PBLKPTRK
RCCW
RCCW1
RDA
RDAT
*RDATAD
*RDATLEN
VRDA
VRDAT
VWCKD
VWDA
VWDAT
WADCON
WCC
WCCHH
WCCHHR
WCCW
WCCW2
WCHIEXT
WCKD
WCLOWEXT
WCNTCH
WCNTCHR
WCNTDL
*POINTER

196

DISPLACEMENT
DECIMAL (HEX)
96
96
104
168
176
174
175
166
166
128
136
128
96
129
134
128
96
96
128
96
162
56
56
56
112
120
50
96
46
144
144
150

(60)
(60)
(68)
(A8 )
(BO)
(AE)
(AF)
(A6 )
(A6 )
(80)
(88)
(80)
(60)
(81)
(86)
(80)
(60)
(60)
(80)
(60)
(A2)
(38)
(38)
(38)
PO)
(78)
(32)
(60)
(2E)
(90)
(90)
(96)

C.-

{~

FIELD
NAME
WCNTR
WCOUNT
WCSW
WCURBLK
WDA
WDAT
*WDATAD
*WDATLEN
WDEVTYP
WEFFRLEN
WEOF
WEXTLIM
WFRST
WH
WILOWEXT
WIOCOMPL
WLOWHEAD
WMCON
WMODAD
WMPCTY
WPCTY
WPNT
WREC
WRECLEN
WRECLEN1
WRECLEN2
WTRKLM
WTRKPCYL
WUPHEAD
WVER3FL1
WVER3FL2
W1
W2
W3

DISPLACEMENT
DECIMAL (HEX)
148
(94)
144
(90)
4
(4)
56
(38)
128
(80)
96
(60)
121
(79)
126
PE)
29
(11:')
164
(A4)
4
(4)
50
(32)
61
(3D)
59
(3B)
42
(2A)
2
(2)
38
(26)
160
(AD)
16
(10)
62
(3E)
30
(1 E)
61
(3D)
60
(3q
40
(28)
170
(AA)
172
(AC)
61
(3D)
167
(A7)
39
(27)
152
(98)
153
(99)
3
(3)
3
(3)
3
(3)

*POINTER

Data Areas

197

XREFREC

DATA AREA:
SIZE:

11-17

~EATED BY: }

IPKlCA,IPKLA

UPDATED BY:
FUNCTION:

Description of an entry in the cross-reference table.

DISPLMNT
DEC (HEX)
0

(0)

8

(8)

SIZE

e
1

....

1.1.

• ·1 ••••••
... 1•••••

9
11
11
13
15
18

(9)
(B)
(B)
(D)

2
1
2

(F)

3
1

(12)

FIELD
NAME
DEFIN
DUPL
REF
XDEFEND
XREFEND
XRESDID
XRFLAG
XRLATTR
XRSN
XRSYMBOL
I·XRVALUE
·POINTER

198

2

DISPLACEMENT
DECIMAL (HEX)
8
8
8
18
11
13
8
11

9
0
15

(8)
(8)
(8)

(12t
(B)

(D)
(8)
(B)

(9)
(0)
(Ft

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

XRSYMBOL
XRFLAG

XREF ENTRIES FOR DEFN AND REF
CROSSREF FLAG

DWL
REF
DEFIN

DUPLICATE
REFERENCE
DEFINITION

XRSN
XREFEND
XRLAT'l'R
XRESDID
XRVALUE
XDEFEND

STATEMENT NUMBER
END OF REFERENCE RECORD
LENGTH ATTRIBUTE
ESDID
SYMBOL VALUE
END OF DEF OR DUPL RECORD

DATA AREA:
SIZE:

XRFENTRY

Variable (depending upon the literal source)

CREATED BY:}

IPKRA,IPKRB,IPKRC

UPDATED BY:
FUNCTION:

Description of a cross-reference record.

DISPLMNT
DEC (HEX)
0

SIZE

(0)

0

1

XRFEOB

1

VXRFEOB

(0)

1 •• 1

LITERAL RECORD IF NUMERIC

(0)
(0)

1
1

VXRFLIT

0
0

(0)
(0)

11
6

XRFREF
XRFPSEUD

0

(0)

8

XRFSYM

PSEUDO NAME FOR LITERAL XREF
FIRST BYTE IN XREF RECORD
SYMBOL NAME

8

(8)

1

XRFLAG

PROGRAM SWITCH

DUPSW
REFSW
DEFSW

DUPLICA'IE DEFINITION RECORD
REFERENCE RECORD
LITERAL DEFINITION RECORD
XREF STATEMENT NUMBER

1 •••

9

111
11
13
1 15

....
....

11
12

2

(9)
(B)
(B)

2

(D)

2

(F)

3

XRFSN
XRF'7AL
XRFLATTR
XRFESDID
XRFVALUE

(B)
(C)

1
1

XRFLITLN
XRFLSRC

FIELD
NAME
DEFSW
DUPSW
REFSW
VXRFEOB
VXRFLIT
XRFBYTE1
XRFEOB
XRFESDID

"'/

XRFLIT

XREF END OF BLOCK

0
0

• 1 ••
• • 1,.

[,

DESCRIPTION: CONTENTS,
MEANING/USE

XRFBYTEl

1111.111

·...

r

FIELD
NAME

7

FIRST BYTE IN XREF RECORD

LENGTH ATTR OF SYMBOL
ESD 10
VALUE OF SYMBOL
DEFINITION RECORD FIELD
LENGTH OF LIT XREF
BEGINNING OF LITERAL SOURCE

DISPLACEMENT
DECIMAL (HEX)
8
8
8

(8)
(8)
(8)
(0)
(0)
(0)

0
0
0
0

(0)

13

(D)

*POINTER
Data Areas

199

FIELD
NAME
XRFLAG
XRFLA'l"l'R
XRFLI'l'
XRFLI'l'LN
XRFLSRC
XRFPSEUD
XRFREF
XRFSN
XRFSYM
XRFVAL
XRFVALUE
·POIN'l'ER.

200

DISPLACEMEN'l'
DECIMAL (HEX)
8
11

(8)

0

(0)

11
12

(B)
(C)

0
0
9
0

(0,
(0)
(9,
(0)

11

15

(B)

(B)
(F)

I", .. /

DATA AREA FIELD CROSS-REFERENCE
The following is a directory of field entries in the data areas
illustrated in this section. The list includes the field name, DSECT
name, and the field displacement in decimal and hexadecimal. FOr a
cross-reference of the statements modifying or referencing these
fields, see Appendix I.

(~

C··
."

Data Areas

201

FIELD

ASSGNSW
BCCOLUMN
BCDUMMY
BCITEM
BCITEMST
BEGOFIN
BEGOFOUT
BITLEM
BLKINCNO
BLKINSW
BLKNP1
BLKNP2
BOTTHALF
BTYPE
* BUFADDR
* BUFADDR1
* BUFADDR2
* BUFADDR3
*BUFPT
*BUFPT1
*BUFPT2
*BUFPT3
BUF2SW
* BYTEOFFS
CCWS
CCWSW
CCWSl
CCWS2
CHARC
CHARFLAG
CHAR ITEM
CHARK
CHART
CHITEMK
CHITEMST
CHITEMT
CIMAXCAP
CKDFBASW
CMTYPE
CODEHWD
CODESW
COMMAFLAG
COMMODSW
*CORADDR
CROSSNP
CROSSW
CTYPE
*CURESD
CURNP
CURSECT
CURSECTL
DBCORE
DBFULLSW
DBVSDADR
DCEXP
DC VAL
DIMBIT
DEFIN
DEFSW
DIRENT
DLINK

DSECT

DISPLACEMENT
DECIMAL (HEX)

PCOMMON
EDPNI
EDPMI
EDPMI
EDPMI
PCOMMON
PCOMMON
PDCEDIT
PCOMMON
DIRENTRY
DIRENTRY
DIRENTRY
PCOMMON
PDCEDIT
PFCB
PCOMMON
PCOMMON
PCOMMON
PFCB
PCOMMON
PCOMMON
PCOMMON
PFCB
PCOMMON
WORKDTF
RLDENTRY
WORKDTF
WORKDTF
EPAR
EPAR
EDPMI
EPAR
EPAR
EDPMI
EDPMI
EDPMI
WORKDTF
WORKDTF
ESDENTRY
CODE
CODE
CODE
PCOMMON
DIRENTRY
PCOMMON
PCOMMON
PDCEDIT
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PDCEDIT
PDCEDIT
GSDENTRY
XREFREC
XRFENTRY
DIRENTRY
PCOMMON

1922
10
10
10
11
2044
2040
5
1995
19
5
11
2035

4
6
1694
1729
1764
3
1691
1726
1761
17
1953
96
4
96
104
3
0
1C
2
1
11

12
10
168
172
0
0
0
0
1926
0
1961
1922
4
1992
1967
1932
1931
1951
1926
2000
0
0
3
8
8
0
2024

(782)
(A)
(A)
(A)
(B)
(7FC)
(7F8)
(5)
(7D3)
( 13)

(5)
(B)
(7F 3)
(4)
(6)
(69E)
(6C 1)
(6E4)
(3)
(69B)
(6BE)
(6E1)
( 11)
(7A 1)
(60)
(4)
(60)
(68)
(3)
(O)
(A)
(2)
(1)

(B)
(C)
(A)
(A8)
(AC)
(0)
(0)
(0)
(0)
(786)
(0)
(71.9)
(782)
(4)
(7C8)

(7AF)
(78C)
(78B)
(79F)
(786)
(7DO)
(0)
(0)
(3)
(8)
(8)
(0)
(7E8)

FIELD

DONESYM
DSCOMSW
DSTYPE
DTYPE
DUPL
DUPSW
EAWF2END
EDFLAG
EDPMIORG
EFLG
EGSD
EGSDB
EITEMNK
EITEMNP
ELINK
EMNA
EMNAB
*ENDBUF
ENDID
ENDITEM
ENDSW
ENTESD
ENTRYCNT
ENTRYER
ENTVALUE
EOFLDPTR
EPARFLAG
EPARREST
EPART
EQORGSW
ERDSCOM
ERITEM
ERRAREA
ERRCONST
ERRCOUNT
ERRINFO
ERRINOPD
ERRLNG
ERRNO
ERRNO
ERRSW
ERRTXT
ERTYPE
ESDESDID
* ESDHILC
ESDIDHI
ESDIDLO
* ESDLCTR
ESDNXT
* ESDPTR
ESDSYM
ESDTABSW
ESDTYPE
ESMT
ESMTB
ESSD
ESSDB
ETYPE
EVALUE
EVLENGTH
EVNXT
EVPLUS

DSECT

DISPLACEMENT
DECIMAL (HEX)

PETFLDS
PCOMMON
ESDENTRY
PDCEDIT
XREFREC
XRFENTRY
PCOMMON
CODE
EDPMI
MNAENT
GSDENTRY
GSDENTRY
EDPMI
EDPMI
PCOMMON
MNAENT
MNAENT
PFCB
PCOMMON
EDPMI
PCOMMON
PHYR
PCOMMON
PHYR
PETFLDS
ERRENT
EPAR
EPAR
EPAR
PCOMMON
PETFLDS
EDPMI
ERRBYTES
ERRBYTES
PCOMMON
ERRENT
PCOMMON
ERRBYTES
ERRBYTES
ERRENT
ERR BYTES
ERRBYTES
ESDENTRY
ESDENTRY
ESDENTRY
PCOMMON
PCOMMON
ESDENTRY
ESDENTRY
PCOMMON
ESDENTRY
PCOMMON
ESDENTRY
SMTENT
SMTENT
SSD
SSD
PDCEDIT
EVALSTCK
EVALSTCK
EVALSTCK
EVALSTCK

0
2031
0
4
8
8
1920
0
6
2
3
3
11
10
1976
2
2
11
2011
10
1963
2

(0)
(7EF)
(O)
(4)
(8)
(8)
(780)
(0)
(6)
(2)
(3)
(3)
(B)
(A)

(788)
(2)

(2)
(B)
(7DB)
(A)
(7AB)
(2)

2008

(7D8)

2

(2)

0
5
0
2
1

1922
0
10
0
0
2036
0
1926
2
0
0
1
3
0
1
6
1955
2013
3
17
1987
9
1963
0
9
9
3
3

4
1
5
10
5

(0)
(5)

(0)
(2)

( 1)
(782)
(0)
(A)
(0)
(0)
(7F4)
(0)
(782)
(2)
(0)
(0)
( 1)
(3)
(0)
( 1)
(6)
(7A3)
(7DD)
( 3)
(11)
(7C4)
(9)
(7AB)
(0)
(9)
(9)
( 3)
(3)

(4)
(1)
(5)
(A)
(5)

*POINTER.

,if
~=/
202

FIELD
EVRELOC
EVSD
EVSDB
EVVARY
EXPLEN
EXPON
FILE1NP
FILE1NPR
FILE12EX
FILE2NP
FILE2NPR
FILL
FIRSTSW
FLAG
FLAGPMSK
FLINK
FTYPE
GARDIM
GAREND
GAR FLAG
GARLEN
GARLGTH
GARNDX
GARTYPE
*GAVAPT
*GBVAPT
* GCVAPT
GLINK
GSDDIM
GSDFLG
GS DL EN
GSDNDX
GSDSYM
GSDTYPE
HASHPTR
BLINK
HTYPE
IATESTSW
IFSAVE
IJJALSW
IJJCPADJ
IJJCPCCB
IJJCPCCW
IJJCPCNT
IJJCPCTR
IJJCPDAT
IJJCPF1
IJJCPMAX
IJJCPREC
IJJCPRMX
IJJCPSCW
IJJCPSEK
IJJCPSST
IJJCPSWS
IJJCPUPP
IJJCPVER
IJJCPXTN
IJJCP2ND
. IJJC2NSW
IJJECCW1
IJJECCW2
IJJFRSTR

DSECT

DISPLACEMENT
DECIMAL (HEX)

EVALSTCK
VSD
VSD
EVALSTCK
PDCEDIT
PDCEDIT
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
DIRENTRY
PFCB
DIRENTRY
EPAR
PCOMMON
PDCEDIT
GARENT
GARENT
GARD
GARD
GARENT
GARENT
GARENT
PCOMMON
PCOMMON
PCOMMON
PCOMMON
GSDENTRY
GSDENTRY
GSDENTRY
GSDENTRY
GSDENTRY
GSDENTRY
PHYR
PCOMMON
PDCEDIT
PCOMMON
PCOMMON
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
I JJC PTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB
IJJCPTAB

6
3
3
7
5
0
1880
1886
1904
1892
1898
17
17

19
0
1960
4
4
4
6
0
3
1
0
1940
1943
1946
1913
4
3
3
1
4
0
0
1949
4
1926
1672
44
74
0
112
76
80
82
30
54
64
72
48
60
88
42
68
128
40
45
43
152
160
73

(6)
(3)
(3)
(7)

(5)
(0)
(758)
(75E)
(770)
(764)
(76A)
(11 )
( 11)
(13)
(0)
(7A8)
(4)
(4)
(4)
(6)
(0)
(3)
( 1)
(0)
(794)
(797)
(79A)
(779)
(4)
(3)
(3)
(1)
(4)
(0)
(0)
(79D)
(4)
(786)
(688)
(2C)
(4A)
(0)
(70)
(4C)
(50)
(52)
(1E)
(36)
(40)
(48)
(30)
(3C)
(58)
(2A)
(44)
(80)
(28)
(2D)
(2B)
(98)
(AO)

(49)

FIELD
IJJLOAD
IJJLOHED
IJJSAVEA
ILINK
IMPLEN
INDENT
INDEX
INDKEY
INDNP
INDXB
INDXC
INDXCL
IN DX FLAG
ITEM
ITEMATSW
ITEMFLAG
ITEliIKWSW
ITEML
ITEMLISW
ITEMLONG
ITEMSLSW
ITEMT
ITEM1ST
JLINK
KEY
KITEM
KLINK
KWTLEN
LBARADDR
LCLASIZ
LCLASZ
LCLBSIZ
LCLBSZ
LCLCSIZ
LCLCSZ
LDNAME
LDTYPE
LEN1SW
LEN2SW
LITSW
LLINK
LMNAME
* LOCCNTHI
* LOCCNTR
LOCLATR
LOCRATR
LOCSTMH
LOCTYPE
LPNAME
LTYPE
LX FLAG
MACNAM
MACROSW
MAN
MFLAGS
MIB
*MIBADDR
MLEVEL
MNALEN
MNAM
MNAME
MNAMEL

DSECT

DISPLACEMENT
DECIMAL (HEX)

IJJCPTAB
IJJCPTAB
IJJCPTAB
PCOMMON
PDCEDIT
INDENTRY
EDPMI
INDENTRY
INDENTRY
EPAR
EPAR
EPAR
EPAR
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
PCOMMON
DIRENTRY
EDPMI
PCOMMON
KEYTAB
PCOMMON
PCOMMON
MAC HEAD
PCOMMON
MAC HEAD
PCOMMON
MAC HEAD
PHYR
ESDENTRY
RLDENTRY
RLDENTRY
PCOMMON
PCOMMON
EDPMI
PCOMMON
PCOMMON
PCOMMON
PCOMMON
OCSTMH
PCOMMON
EDPMI
PDCEDIT
PHYR
EDPMI
PCOMMON
MNAENT
PCOMMON
PCOMMON
PCOMMON
PCOMMON
MNAENT
PCOMMON
MACHEAD
MACHEAD

84
52
168
19811
5
0
16
0
11
1
6
5
0
10
8
8
8
9
8
8
8
7
8
1928
11
10
2072
0
1994
1932
16
1935
19
1935
22
2
0
4
4
1963
2072
7
2028
2025
2021
2023
7
2031
7
4
2
8
1926
3
1922
1922
1948
1951
2
19211
8
7

(54)
(34)
(A8)
(760)
(5)
(0)
(10)
(0)
(B)
(1)

(6)
(5)
(0)
(A)
(8)
(8)
(8)
(9)
(8)
(8)
(8)
(7)

(8)
(788)
(B)
(A)
(818)
(0)
(76A)
(78C)

(10)
(78F)
(13)

(792)
(16)
(2)
(0)
(4)
(4)
(7AB)
(818)
(7)
(7EC)
(7E9)
(7E5)
(7E7)
(7)

(7EF)
(7)

(4)
(2)
(8)
(786)
(3)
(782)
(782)
(79C)
(79D)
(2)
(784)
(8)
(7)

OINTER.

Data Areas

203

,

FIELD
MNANDX
NALTSRC
NERNUMB
NEXPF1
NEXPF2
NEXPF3
NEXTCODE
NLINK
NOPRNUMB
NOSTRING
NOTESW
NOTESW1
NPLITBEG
NPMIB
NPSSDR1
NPSSDWL
NPTEMP
NPTEMPCC
NPTEMPH
NPTEMPR
NPTEMPTB
NPVSD
NPVSDR1
* NXTENTRY
NXTRA
OFFS
OLINK
OM ITEM
OPENSW
OPND
OVFLADDR
PABENDC
PAFLAG2
*PAFLD
PAFLG
PALGNBIT
PALIGN
PANXT
PASSGNSW
PBITAL
PBITALGN
PBLKPCI
PBLKPTRK
*PBUFLEN1
*PBUFLEN2
*PBUFLEN3
PB1FISIZ
PB12SIZ
PCAEDTXT
PCASRC
PCBTYPE
PCCHR
PCI
PCIBAL
PCNXT
PCODE
PCONTSW
PCSREAD
PCSRFLGA
PCSRHEAD
PCSRIOP
PCSRLEN
*POINTER.

204

DSECT
MNAENT
EDPMI
NTABFMT
PETFLDS
PETFLDS
PETFLDS
CODE
PCOMMON
NTABFMT
ERRENT
WORKDTF
WORKDTF
PCOMMON
OCSTMH
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
EVALSTCK
DIRENTRY
PCOMMON
EDPMI
PFCB
ERRBYTES
PCOMMON
PCOMMON
PETFLDS
PETFLDS
PETFLDS
PETR
PCOMMON
PETFLDS
PCOMMON
PDCOUT
PDCEDIT
WORKDTF
WORKDTF
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCSR
PCSR
PETR
PFCB
PFCB
PFCB
PETFLDS
PETFLDS
PCOMMON
PCSR
PCSR
PCSR
PCSR
PCSR

DISPLACEMENT
DECIMAL (HEX)
0
8
0
1
1
1
2
1960
1

5
170
171
1913
7
1963
1970
1660
1660
1662
1663
1664
1947
1987
2004
3
3
1960
10
17
1
1997
1669
0
1
0
2
1659
4
2035
7
7
166
166
1697
1732
1767
1890
1892
6
6
5
21
21
25
3
1
1904
5
6
0
2
0

(0)
(8)
(0)
( 1)
(1)
(1 )

(2)
(7A8)
(1)
(5)
(AA)

(AB)
(779)
(7)
(7AB)
(7B2)
(67C)
(67C)
(67E)
(67F)
(680)
(79B)
(7C3)
(7D4)
(3)
(3)
(7A8)
(A)
( 11)
( 1)
(7CD)
(685)
(0)
(1)

(0)
(2)
(67B)
(4)
(7F3)
(7)
(7)
(A6)
(A6)
(6A 1)
(6C4)

(6E7)
(762)
(764)
(6)
(6)
(5)
( 15)
(15)
(19)

(3)
( 1)
(770)
(5)
(6)
(0)
(2)
(O)

FIELD
PCSRLIT1
PCSRLIT2
PCSRLIT3
PCSRMCOP
PCSROP
PCSROPX
PCSROPO
PCSROP3
PCSRSTR1
PCSWOVL
PCTYPE
PDCCODE
PDCCONT
PDCED
PDCFL
PDCFLAG
PDCFLD
PDCLEN
PDCSTYPE
PDCTYPE
PDECK
PDEFENT
PDF
PDSWOVL
*PDTFADDR
*PDTFADR1
*PDTFADR2
*PD'rFADR3
PDUPC
PDCUPCONT
PDUPEXP
PDUPLFAC
PDUPSYM
PEDECK
*PENDBUF1
*PENDBUF2
*PENDBUF3
PENTDEF
PENTVAL
PEOBSW
*PEOF
*PEOFADR1
*PEOFADR2
*PEOFADR3
PERLNG
PERNOQ
PERREXC
PERREXPT
PERRHD
PERRIOP
PERRIOPC
PERRIOP1
PERRIOP2
PERRLEN
PERRSTNO
PERRSTNR
PERRSTR
PERRSTRL
PERSRC
PER2STR
PETDEAD
PETEPX

DSECT

DISPLACEMENT
DECIMAL (HEX)

PCSR
PCSR
PCSR
PCSR
PCSR
PCSR
PCSR
PCSR
PCSR
PCOMMON
ESDENTRY
PDCOUT
PETR
PDCOUT
PDCOUT
PDCEDIT
PDCEDIT
PDCEDIT
PETR
PDCEDIT
PCOMMON
PETR
PCOMMON
PCOMMON
PFCB
PCOMMON
PCOMMON
PCOMMON
PDCOUT
PDCEDIT
PDCEDIT
PDCOUT
PETR
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PETFLDS
PCOMMON
PFCB
PCOMMON
PCOMMON
PCOMMON
PETR
PETR
PETR
PERR
PERR
PERR
PERR
PERR
PERR
PERR
PETR
PERR
PETR
PERR
PETR
PETR
PETR
PETR

2
2
2
2
3
4
2
5
7
1871
0
11
2
3
6
6
2
1

2
4
1659
2
1659
1871
0
1688
1723
1758
6
6
0
0
2
1659
1699
1734
1769
1922
9
1658
18
1706
1741
1776
6
2
9
9
0
2
2
3
4
0
6
6
8
8
7
2
5
4

(2)
(2)
(2)
(2)
(3)
(4)
(2)
(5)
(7)
(74F)
(0)
(B)
(2)
(3)
(6)
(6)
(2)
(1)
(2),
(4)
(67B)
(2)
(67B)
(74F)
(0)
(698)
(6BB)
(6DE)
(6)
(6)
(0)
(0)
(2)
(67B)
(6A3)
(6C6)
(6E9)
(782)
(9)
(67A)
(12)
(6AA)
(6CD)
(6FO)
(6)
(2)
(9)
(9)
(0)
(2)
(2)
(3)
(4)
(0)
(6)
(6)
(8)
(8)

(7)
(2)
(5)

(4)

DSECT

DISPLACEMENT
DECIMAL (HEX)

PETHEAD
PETIOP
PETLEN
PETMCOP
PETOP
PETOPO
PETOP3
PETSTNO
PEXPFLAG
PEXPVAL
PFCBSW
PFCBSW1
PFCBSW2
*PFETCHDA
*PFETCHOB
*PFETCHIA
*PFETCHIB
*PFETCHIC
PFILEl
PFILE2
PFILE3
*PFINOP'I'
PFLOCOL
PFLOLEN
PFLOSRC
PFROMLIB
PFRSTASG
PFRSTOV
PGBLASIZ
PGBLBSIZ
PGBLCSIZ
PGBLSIZ
PGENSTMT
PGENSW
PGEN5SW
PGFMSGSW
PGVENTl
PGVHIOP
PGVHLEN
*PHICORE
PIBSW
PICSW

PETR
PETR
PETR
PETR
PETR
PETR
PETR
PETR
PETFLDS
PETFLOS
PFCB
PFCB
PFCB
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PSTRINGS
PSTRINGS
PSTRINGS
PCSR
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCSR
PCOMMON
PCOMMON
PCOMMON
PGVHEAD
PGVHEAO
PGVHEAD
PCOMMON
PCOMMON
PCOMMON

0
2
0
2
3
2
5
6
1
5
17
17
17
2008
2012
1956
1960
1964
1688
1723
1758
1896
1
0
2
6
1922
2035
1945
1948
1951
1945
6
1926
1926
1863
7
2
0
1666
1926
1926

(0)
(2)
(0)
(2)
(3)
(2)
(5)
(6)
( 1)
(5)
( 11)

*PICTLCNT
*PICTLEND
*PICTLST
P IERCNT
P IERSTK
PINEOFSW
*PINPUTPT
PINSTRLN
PISWOVL
PITEM
PJSWOVL
PKSWOVL
PLA
PLASTSUB
PLBEOFSW
PLENATTR
PLENFLAG
PLINECNT

PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PETR
PCOMMON
EDPMI
PCOlV'.MON
PCOMMON
PETFLDS
PCOMMON
PCOMMON
PETR
PCEDIT
PCOMMON

1856
1855
1854
1974
1976
1659
1899
5
1871
10
1871
1871
2
2035
1658
8
5
1848

(740)
(73F)
(73E)
(7B6)
(7B8)
(67B)
(76B)
(5)
(74F)
(A)
(74F)
(74F)
(2)
(7F 3)
(67A)
(8)
(5)
(738)

FIELD

r

( 11)

( 11)
(708)
(7DC)
(7A4)
(7A8)
(7AC)
(698)
(6BB)
(60E)
(768)
(1 )
(0)
(2)
(6)
(782)
(7F3)
(799)
(79C)
(79F)
(799)
(6)
(786)
(786)
(747)
(7)
(2)
(0)
(682)
(786)
(786)

FIELD
PLINENUM
PLINK
PLIST
PLITBLK
PLITLEN
*PLOCCNTR
PLORMIN
PLRECLN
PLRELATR
*PMAVBSIZ
*PMAVNO
PMAVNP
PMAXBSIZ
*PMIBLEN
PMODEXP
PMODFLAG
PMODIFS
PNAMCOL
PNAME
PNAMFLO
PNAMLEN
PNAMLNG
PNAMSRC
PNEXTNP
PNEXTNPl
PNEXTNP2
PNEXTNP3
PNOBKSW
PNOCONST
PNOSEQSW
PNOSTNO
PNOTEPNT
PNPMACl
PNPOCGV
PNPOFFS
PNPOINTl
PNPOINT2
PNPOINT3
PNPRW
PNWTRKSW
PNXTBKT
PNXTMOD
POLSTR
POPCOL
POPOCOL
POP OLEN
POPDSRC
POP FLAG
POPLEN
POPNUMB
POPSRC
POPSW
POVLSW
PPAGENO
PRA
PRATT
PREC
PRECLEN
PREFCNT
PRLD
PROGID

DSECT

DISPLACEMENT
DECIMAL (HEX)

PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PETR
EVALSTCK
PCOMMON
PETR
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCEDIT
PCEDIT
PCEOIT
PSTRINGS
PETFLDS
PETR
PSTRINGS
PETFLOS
PSTRINGS
PFCB
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PCEOIT
PCOMMON
PCSR
PFCB
PCOMMON
PCOMMON
PFCB
PCOMMON
PCOMMON
PCOMMON
PFCB
PCOMMON
PETFLOS
PCEDIT
PETFLDS
PSTRINGS
PSTRINGS
PSTRINGS
PSTRINGS
PETFLOS
PSTRINGS
PETR
PSTRINGS
PCOMMON
PCOMMON
PCOMMON
PETFLDS
PETFLDS
PFCB
PFCB
PCOMMON
PCOMMON
PCOMMON

1923
1659
1659
1909
1911
12
0
1670
10
1941
1943
1935
1787
1956
1
0
9
1
1
16
0
0
2
29
1717
1752
1787
1658
3
1863
2
21
1912
1927
27
1709
1744
1779
21
1658
9
4
2
1
1
0
2
0
0
4
2
1658
1871
1925
4
10

24
9
1936
1658
1850

(783)
(67B)
(67B)
(775)
(777)
(C)

(0)
(686)
(A)
(795)
(797)
(78F)
(6FB)
(7A4)
( 1)
(0)
(9)
( 1)
( 1)
(10)
(0).
(0)
(2)
(10)
(6B5)
(608)
(6FB)
(67A)
(3)
(747)
(2)
( 15)
(778)
(787)
( 1B)
(6AD)
(600)
(6F3)
( 15)
(67A)
(9)
(4)

(2)
( 1)
( 1)
(0)
(2)
(0)
(0)
(4)
(2)
(67A)
(74F)
(785)
(4)

(A)
(18)
(9)
(790)
(67A)
(73A)

*POINTER

(

'.".
f

Data Areas

205

DSECT

DISPLACEMENT
DECIMAL (HEX)

PRONAME
PSAVETBL
PSAVPT
PSAVTEMP
PSBSTNAM
PSBSTOP
PSBSTOPD
PSFLAG2
PSIGN
PSLENATR
PSMACDEF
PSPILLA
PSRELATR
PSTMCNAM
PSTMCSEQ
PSTRCOL
PSTRLEN
PSTRSRC
*PSVALUE
PSXREF
PSYMBOL
PSYMFLAG
PSYMLEN
PSYMNO
*PSYMTABL
PSYSNDX
PSYSPLEN
PSYSPSTR
PTRKBAL
PTRUNR
PTRUNRHT
PTYPE
PUNDEFSW
PVSDSIZE
*PWAADDR
*PWAADDR1
*PWAADDR2
*PWAADDR3
PXREF

EDPMI
PCOMMON
PCOMMON
PCOMMON
PCSR
PCSR
PCSR
PETFLDS
PETFLDS
PETFLDS
PCSR
PCOMMON
PETFLDS
PCOMMON
PCOMMON
PSTRINGS
PSTRINGS
PSTRINGS
PETFLDS
PCOMMON
PETFLDS
PETFLDS
PETFLDS
PETR
PCOMMON
PCOMMON
PCOMMON
PCOMMON
PFCB
PDCOUT
PDCEDIT
PDCEDIT
PCOMMON
PCOMMON
PFCB
PCOMMON
PCOMMON
PCOMMON
PCOMMON

8
1796
1836
1840
6
6
6
0
9
1
6
1968
3
1912
1915
1
0
2
5
1658
1
0
0
15
2032
1927
1880
1881
25
6
6
4
1926
1904
14
1702
1737
1772
1659

( 8)
(.704)
(72C)
(730)
(6)
(6)
(6)
(0)
(9)
( 1)
(6)
(.7B 0)
(3)
(778)
(77B)
( 1)
(0)
(2)
(5)
(67A)
( 1)
(0)
(0)
(F)
(7FO)
(787)
(758)
(759)
( 19)
(6)
(6)
(4)
(786)
(770)
(E)
(6A6)
(6C9)
(6EC)
(67B)

RANR
RAONE
RCCW
RCCW1
RDA
RDAT
*RDATAD
*RDATLEN
READSW
REF
REFSW
RELLEN
*RLADDR
RLADID
RLDNXT
RLFLAG
RLREFID
*SAVADDR
SAVAR
SAVESDNP
SAVREG1

EVALSTCK
EVALSTCK
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
PFCB
XREFREC
XRFENTRY
EVALSTCK
RLDENTRY
RLDENTRY
RLDENTRY
RLDENTRY
RLDENTRY
PCOMMON
PCOMMON
PCOMMON
PCOMMON

0
1
128
136
128
96
129
134
17
8
8
8
5
0
8
4
2
2048
2051
1967
2060

(0)
( 1)
(80)
(88)
(80)
(60)
( 81)
(86)
( 11)
(8)
(8)
(8)
(5)
(0)
(8)
(4)
(2)
(800)
(803)
(7B5)
(80C)

FIELD

-

*POINTER

206

FIELD
SAVREG2
SCALE
SDEFB
SDEFC
SDEFFLAG
SDEFITEM
SDEFK
SDEFT
SDITEMB
SDITEMK
SDIEMST
SDITEMT
SDTYPE
SECTC
SECTCL
SECTFLAG
SECTSW
SEITEM
SEQFLD
SFLAG
SIGNSW
SMTEFLG
SMTLEN
SMTNA.~E

St-1TNP
SMTSIZE
SREG
SSDADDR
SSDBLK1
*SSDEND
SSDFLAG
SSDINFO
SSDNP
SSDNPT
SSOOFFS
SSDSIZE
SSDSYM
SSDSYML
SSITEMK
*STABEND
*STARTLOC
STARTSW
STEP
STLENGTH
STMTNR
STRING
STRPTR
STYPE
SUBE
SUBEFLAG
SUB ITEM
SUBEL
SUBLFLAG
SUBLHEAD
SUBLK
SUBLL
SUBLN
SUBS ITEM
SWATRINS
SWATTR
SWCAFT

DSECT

DISPLACEMENT
DECIMAL (HEX)

PCOMMON
PCEDIT
EPAR
EPAR
EPAR
EDPMI
EPAR
EPAR
EDPMI
EDPMI
EDPMI
EDPMI
ESDENTRY
EPAR
EPAR
EPAR
PCOMMON
EDPMI
EDPMI
CODE
RLDENTRY
SMTENT
SMTENT
SMTENT
SMTENT
PCOMMON
PETFLDS
PCOMMON
PCOMMON
PCOMMON
SSD
PCOMMON
PCOMMON
MAC HEAD
SSD
PCOMMON
SSD
SSD
EDPMI
PCOMMON
PCOMMON
PCOMMON
PCOMMON
EVALSTCK
PCOMMON
ERRENT
ERRENT
PDCEDIT
EPAR
EPAR
EDPMI
EPAR
EPAR
EPAR
EPAR
EPAR
EPAR
EDPMI
EDPMI
PCOMMON
PCOMMON

2064
0
2
6
0
10
5
1
11
14
15
10
0
12
11
10
1963
10
18
0
4
9
9
10
1
1902
0
1953
1969
2019
3
1958
1941
25
0
1961
4
3
10
2000
1952
1922
1844
0
1921
5
2
4
7
5
10
6
0
0
4
1
3
10
6
1922
1889

(810)
(0)
(2)
(6)
(0)
(A)
(5)
(1)
(B)
(E)
(F)
(A)
(0)
(C)
(B)
(A)
(7AB)
(A)
( 12)
(0)
(4)
(9)
(9)
(A)
(1)

(76E)
(0)
(7A 1)
(7B 1)
(7E3)
(3)
(7A6)
(795)
( 19)
(0)
(7A9)
(4)
(3)
(A)
(7DO)
(7AO)
(782)
(734)
(0)
(781)
(5)
(2)
(4)
(7)

(5)
(A)
(6)
(0)
(0)
(4)
( 1)
(3)
(A)
(6)
(782)
(761)

FIELD

r

SWCAOC
SWCOPY
SWDS
SWEFILE
SWFLUSH
SWGBLX
SWGVLST
SWINM
SWKT
SWLA
SWLASTKW
SWMACRO
SWMATR
SWMGBL
SWMH
SWMINM
SWMIOC
SWMKEYW
SWNOED
SWNOGEN
SWNOSTOR
SWOC
SWPMI1
SWPROTO
SWREPRO
SWSFILE
SWSM
SWSMT
SWSMTATR
SWSMTGBL
SWSMTINM
SWSMTNED
SWSMTNGN
SWSMTNST
SWSTART
SWSTR
SWSUBST
SW2
!*SYMADDR
SYMBREG
SYMESDID
SYMFLAGS
SYMLATTR
SYMLENG
SYMNXT
SYMSRC
,*SYMVALUE
SYM1C
SYM1FLAG
SYMl I
SYMl ITEM
SYM1K
SYM1L
SYM1S
SYM1T
SYM2C
SYM2FLAG
SYM2ITEM
SYM2K
SYM2L
SYM2T

DSECT

DISPLACEMENT
DECIMAL (HEX)

PCOMMON
PCOMMON
PCOMMON
PCSR
PCOMMON
PCOMMON
PGVHEAD
PCOMMON
PCOMMON
PCOMMON
KEYTAB
PCOMMON
MAC HEAD
MAC HEAD
MACHEAD
MACHEAD
PCOMMON
MAC HEAD
PCOMMON
PCOMMON
PCOMMON
PC aMMON
EDPMI
PCOMMON
PCOMMON
PCSR
PCOMMON
SMTENT
SMTENT
SMTENT
SMTENT
SMTENT
SMTENT
SMTENT
PCOMMON
ERRENT
EDPMI
PCOMMON
PCOMMON
PHYR
PHYl{
PHYR
PHYR
PHYR
PHYR
PHYR
PHYR
EPAR
EPAR
EPAR
EDPMI
EPAR
EPAR
EPAR
EPAR
EPAR
EPAR
EDPMI
EPAR
EPAR
EPAR

1889
1920
1922
2

1920
1922
6
1922
1922
1922
6
1920
6
6
6
6
1889
6
1922
1922
1922
1920
6
1920
1920
2
1889
0
0
0
0
0
0
0
1963
0
6
1963
1996
2
5
2
3
10
19
11

7
9
0
6
10
8
2

(761)
(780)
(782)
(2)
(780)
(782)
(6)
(782)
(782)
(782)
(6)
(780)
(6)
(6)
(6)
(6)
(761)
(6)
(782)
(782)
(782)
(780)
(6)
(780)
(780)
(2)
(761)
(0)
(0)
(0)
(0)
(0)
(0)
(0)
(7AB)
(0)
(6)
(7AB)
(7CC)
(2)
(5)
(2)
(3)
(A)
(13)

(B)
(7)
(9)

(0)
(6)
(A)
(8)
(2)

4

(4)

1
5
0
10

( 1)
(5)
(0)
(A)

4

(4)

2
1

(2)
( 1)

I

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

S1ITEMI
SlITEMK
SlITEML
S1 ITEMS
SlITEMST
S1ITEMT
S2ITEMK
S2ITEML
S2ITEMST
S2ITEMT
TEXT
THISELEM
TYPEBC
TYPECHAR
TYPEEND
TYPEER
TYPEESD
TYPEK
TYPEKP
TYPEOM
TYPEPP
TYPESDEF
TYPESUBE
TYPESUBS
TYPESl
TYPES2
UNFLAG
UPDSW
UPD2SW
VBITLEN
VCMTYPE
VCONSW
VCTYPE
VDCEXP
VDCVAL
VDSTYPE
VERTYPE
VEXPLEN
VEXPON
VIMPLEN
VLDTYPE
VPCTYPE
VRDA
VRDAT
VSCALE
VSADDR
VSDBLK1
VSDDIM
*VSDEND
VSDFLAG
VSDINFO
VSDNDX
VSDNPT
VSDSIZE
VSDSYM
VSDSYML
VSDTYPE
VSDTYPE
VTYPE
VVCTYPE
VWCKD

EDPMI

15

EDP~n

17
11

EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
ERRBYTES
PETFLDS
EDPMI
EDPMI
EDPMI
EDPMI
PCOMMON
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
EDPMI
CODE
PFCB
PFCB
PDCEDIT
ESDENTRY
RLDENTRY
ESDENTRY
PDCEDIT
PDCEDIT
ESDENTRY
ESDENTRY
PDCEDIT
PDCEDIT
PDCEDIT
ESDENTRY
ESDENTRY
WORKDTF
WORKDTF
PCEDIT
PCOMMON
PCOMMON
VSD
PCOMMON
VSD
PCOMMON
VSD
MAC HEAD
PCOMMON
VSD
VSD
ESDENTRY
VSD
PDCEDIT
ESDENTRY
WORKDTF

13
18
10
13
11
14

10
1
0
11
11
11
11

2010
11
11
11
11
11

11
11
11

11
0

(F)
( 11)

(B)
(D)
( 12)
(A)
(D)
(B)
(E)
(A)
(1 )
(0)
(B)
(B)
(B)
(B)
(7DA)
(B)
(B)
(B)
(B)
(B)
(B)
(B)
(B)
(B)
(0)

17
17
5
0

(11 )
( 11)

(5)
(0)

4

(4)

0
0
0
0
0
5
0
5
0
0
128
96
0
1982
1993

(0)
(0)

4

(4)

2016
3
1982
1
31
1985

(7EO)
(3)
(7BE)
(1 )
(1F)
(7C 1)

4

(4)

3
0
0

(3)
(0)

(0)

(0)
(0)
(5)
(0)
(5)
(0)
(0)
(80)
(60)
(0)
(7BE)
(7C9)

(0)
(4)
(0)

4

0
96

(60)

*POINTER

Data Areas

207

FIELD
VWDA
VWDAT
VWXTYPE
VXRFEOB
VXRFLIT
WAOCON
WCC
WCCHH
WCCHHR
WCCW
WCCW2
WCHIEXT
WCKD
WCLOWEXT
WCNTCH
WCNTCHR
WCNTDL
WCNTR
WCOUNT
WCSW
WCURBLK
WDA
WDAT
*WDATAD
*WDATLEN
WDEVTYP
WEFFRLEN
WEOF
WEXTLIM
WFRST
WH
WILOWEXT
WIOCOMPL
WLOWHEAD
WMCOM
WMODAD
WMPCTY
WPCTY
WPNT
WREC
WRECLEN
WTRKLM
WTRKPCYL
WUPHEAD
WVER3FL1
WVER3FL3
WXTYPE
W1
W2
W3
*POINTER

208

DSECT
WORKDTF
WORKDTF
ESDENTRY
XRFENTRY
XRFENTRY
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
ESDENTRY
WORKDTF
WORKDTF
WORKDTF

DISPLACEMENT
DECIMAL (HEX)
128
96
0
0
0
162
56
56
56
112
120
50
96
46
144
144
150
148
144
4
56
128
96
121
126
29
164
4
50
61
59
42
2
38
160
16
62
30
61
60
40
61
167
39
152
153
0
3
3
3

(80)
(60)
(0)
(0)
(0)
(A2)
(38)
(38)
(38)
(70)
(78)
(32)
(60)
(2E)
(90)
(90)
(96)
(94)
(90)
(4)
(38)
(80)
(60)
(79)
(7E)
( 1D)
(M)

(4)
(32)
(3D)
(3B)
(2A)
(2)
(26)
(AO)

(10)
(3E)
( 1E)
(3D)
(3C)
(28)
(3D)
(A7)
(27)
(98)
(99)
(0)
(3)
( 3)
(3)

FIELD
XDEFEND
*XRAREND
*XREFADDR
XREFEND
XREFLEN
XREFPARM
*XREFPTR
XRESDID
XRFBYTE1
XRFEOB
XRFESDID
XRFLAG
XRFFLAG
XRFLATTR
XRFLIT
XRFLITLN
XRFLSRC
XRFPSEUD
XRFREF
XRFSN
XRFSYM
XRFVAL
XRFVALUE
XRFLATTR
XRSN
XRSYMBOL
*XRVALUE
XTYPE
YCONSW
YTYPE
ZTYPE

DSECT

DISPLACEMENT
DECIMAL (HEX)

XREFREC
PCOMMON
PCOMMON
XREFREC
PCOMMON
PCOMMON
PCOMMON
XREFREC
XRFENTRY
XRFENTRY
XRFENTRY
XREFREC
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XRFENTRY
XREFREC
XREFREC
XREFREC
XREFREC
PDCEDIT
RLDENTRY
PDCEDIT
PDCEDIT

18
1982
2016
11
2019
2013
1979
13
0
0
13
8
8
11
0
11
12
0
0
9
0
11
15
11

9
0
15
4
4
4
4

( 12)
(7BE)
(7EO)
(B)
(7E3)
(7DF)
(7BB)
(D)
(0)
(0)
(D)
(8)
(8)
(B)
(0)
(B)
(C)

(0)
(0)
(9)
(0)
(B)
(F)
(B)
(9)

(0)
(F)
(4)
( 4)
(4)
( 4)

(This page intentionally left blank.)

r--

C'
",/

Data Areas

209

(This page intentionally left blank.)

",

no

Diagnoatic Aida

Paupo. of the Seetion

This section contains information that may be
useful in diagnosing problems within the
.
assembler. The section includes the follOWing
information:
• Debugging aids
• I/O activity and workfile layouts
• Register usage

(:
Diagnostic Aids

211

Debugging Aids
It is seldom possible to fix assembler faults while in the field;
however, you may want to try the following "First Aid" when attempting
to circumvent a problem:
First Aid
•

If there has been a program check, try to rerun the job in a
different-sized partition

•

Find out what changes were made to the source program since it last
assembled successfully and either delete them or incorporate them
using another method

In general, assembler malfunctions can be divided into two classes:
those in which you get the wrong output from the assembler and those in
which you get a program check.

WRONG ASSEMBLER OUTPUT
An error message issued against a correct statement or an erroneous ESD,
RLD, or object record, are examples of wrong assembler output. In these
cases it is usually possible to trace the error to a particular
statement or sequence of statements and rewrite them. At the same time,
an APAR should be submitted (see Appendix J) to the assembler maintenance group.

PROGRAM CHECK
If the nFirst Aid" measures described above do not work, in some cases
it may help to know what statement was being processed when the program
check occurred. Although it is not certain that the fault was caused by
the "current" statement, it may be possible to find the corresponding
source statements and rewrite them in such a way that the assembly will
be successful.

How to Find the Current Statement
1. Identify the object module executing when the program check
occurred. General register 11 points to an address 10 bytes to the right
of the identifier for the module.
2. Identify which workfiles were being read from or written on (see
Figure 3 or the relevant method-of-operation diagram).
3. Find the corresponding workarea for the workfile being read from or
written on -- each workfile has its own workarea in the common data area
(COMMON). The offsets for these workareas in COMMON are given in the
dummy control section "PCOMMON" (see the Data Area Field Cross-reference
in "Data Areas") and are:
I,

~ ..

212

Workfile

Workarea offset

1
2

6A6
6C9

3

6EC

PCOMMON label
PWAADDR1
PWAADDR2
PWAADDR3

4. Find the beginning of COMMON by examining the contents of register
13 -- it points to COMMON.
5. Add the offset obtained in step 3 to the starting address of COMMON
to find the workarea you are interested in.

Interpreting the Statement
Once you have found the current statement in its edited form, you will
want to interpret it in order to identify its source-statement
equivalent. You may be able to identify the statement by examining the
pseudo operation code field; this field is always the fourth byte of the
edited statement. The name field and the symbols used in the operand,
if they are still present in the edited statement, will also help to
identify it.
To fully interpret statements in their edited format, you will need
the following information:

I

What you need to know

Where to find it

The statement formats for the phase

Overview: Appendix H
Details: Relevant DSECT in
"Data Areas"

Pseudo opcodes assigned by the
assembler

Appendix E

The assembler internal character
sets

Appendix F

Edited text flags

Appendix G

Examples of Edited Text
This section contains two statements shown at different stages in
processing. The statements were made complex in order to make the
examples comprehensive.

Diagnostic Aids

213

Example 1. AlP statement, object module IPKDA.

The AlP statement is part of the following macro definition:

&A
&B
.SEOSYM

MACRO
MACl
LCLA
LCLB
LCLC
SETA
SETB
AlF
ANOP
MEND

&PARMl,&PARM2,&PARM3
&X,&Y,&Z,&A
&M,&N, &B
&O~&C,(50)

5
1
('ABC' EO '&C(&A)' AND &A*&B+l LT &PARM2).SEOSYM

Following the instructions given in the previous section, we can
find the record as it was written out by object module IPKDA:

l4030AOB OCOAOOOl 00320000 03382900
l206lCOE lAlC22l6 2F3A

)

003904 2E240000 00040BOA l20F38l1
00030400 02lFl8l0 Oll60COO 053424lB

/

,1 "~-~
214

We can interpret the record with the help of the record format for
an AlF statement (see Appendix H, -Object Module lPKDA-).
0039
04
2E
24
00
00
00040BOA120F3811
14
03
OAOBOC -ABCOA
0001
0032
00
0003
38

29
00
0003

04
0002

1F
18
10
01
16
OC

0005

34
24
1B
12
06
1COE1A1C22162F
3A

record length
file flag
pseudo opcode (-AlF-)
DSECT pcsr
opcode extension (dummy)
type flag
flag A
sequence field
character string (see Appendix ~
length
(see Appendix ~
LeLC dimensioned (- SC-)
SCs index
maximum dimension of SA
LeLA (-SA-)
-SA-s index
subscript
character EQ
LeLA (-SA-)
-SA-s index
LCLB (-SB-)
-SB-s index
Boolean to arithmetic conversion
* (mul tip1ication)
1-byte binary value
value (-1-)
+ (addi tion)
positional parameter C-SPARM2-)
-SPARM2-s index
binary parameter value
arithmetic LT
AND
3-byte binary value
length of sequence symbol
-SEQSYMAlP

Note that the expression has been translated into reverse Polish
notation and is in the form

ABC SC SA ( ) EQ SA SB*1 + SPARM2 LT AND
Example 2. S-type address constant, object module lPKJA.
The constant is defined in the following coding:
A

SCON
XY'Z

USING *,5
DC F'O'
EQU*
DC (SCON-A)SL(2*(L'A-3»

«SCON-A)/2(L'*+L'SCON»

The statement is shown below as it is read in by object module
lPKJA:
003F 000B1300
172AOA2D 1C152802 2B281530 OA2A032D
2915301C OC18172D 2D

00040121 2223030A ODOC2EOE 281COC18
2D28281C OC18172A OA2D2C02 2815302B

Diagnostic Aids

215

The record can be interpreted as follows
003F
00

record length
file flag
OB
pseudo opcode (DC)
13
opcode extension
00
type flag
00
flag A
04
length of name
01
column pointer (source)
212223
"XYZ"
03
length of opcode field
OA
column pointer (source)
ODOC
"DC"
2E
length of operand field
OE
column pointer (source)
281CO ••• 172D2D operand (in internal assembler code)
Example 3. S-type address constant, object module IPKJA.
The same DC statement as in Example 2 is shown after processing by
IPKJA:
00 6AOOOBOO 00000400
2F2F2F40 OA2F2F2F 2F2F2F2F 400A2F2F
2F2F2F2F 2F2F2F03 lCOC1817 2F2F2F2F
443B0635 352A3802 2C393634 35342939

00000000 00060321 2223431C OC18172F
2F2F2F2F 2F031COC 18172F2F 2F2FOOOA
010D3535 2A394038 02353438 032A2B39
3A

The record can be interpreted as follows:
006A
00
OB

00
00
0004
0000
00
000000
06
03

212223
.4
3

1COC1817
2F2F2F2F

record length
file flag
pseudo opcode (DC)
opcode extension
flag A
statement number
length attribute (not filled in until IPK~
relocation attribute (not filled in until IPKKA)
location counter value (not filled in until IPKKA)
number of symbol buckets
length of name field
"XYZ"
flag (symbol must be previously defined)
length -1 of symbol
"SCON"
four blanks

flag (symbol must be previously defined)
length -1 of symbol
OA
"A"
2F2F2F2F2F2F2F blanks

}
symbol bucket 1

4

o

flag (symbol must be previously defined
length -1 of symbol
OA
"A"
2F2F2F2F2F2F2F blanks

} symbol bucket 2

4

o

} symbol bucket 3

o
3

1COC1817
2F2F2F2F

216

length -1 of symbol
"SCON"
blanks

} symbol bucket •

o
o

length -1 of symbol

OA

"A"

}

symbol bucket 5

}

symbol bucket 6

2F2F2F2F2F2F2F blanks

o
3

1COC1811
2F2F2F2F
01

OD
35
35
2A
39
40
38

length -1 of symbol
"SCON"
blanks
number of constant
type flag (S-type address constant)
symbol flag (" SCON")
symbol flag ("A" -- second bucket)
- (subtraction)
end of expression
explicit length flag
self-defining term <256 bytes

02

"2"

35
34
38
03
2A
2B
39
44
3B
06
35
35
2A
38

symbol flag ("A" -- third bucket)
length attribute
self-defining term <256 bytes
"3"
- (subtraction)
* (multiplication)
end
DC exponent
start of operand

02
2C
39
36
34
35
34

29
39

3A

symbol flag ("SCON" -- fourth bucket)
symbol flag ("A" -- fifth bucket)
- (subtraction)
self-defining term <256 bytes
"2"
/ (division)
end of expression
location counter value
length attribute
symbol flag ("SCON"
sixth bucket)
length attribute
+ (addition)
end of expression
end of operand

Note that the expressions have been translated into reverse Polish
notation and are of the form
SCON A2A L'3-*
SCON A-2/
*L'SCON L'+

Diagnostic Aids

217

PROGRAM IDENTIFICATION

The current release number of the assembler can be found starting at the
first byte of the object code in a program dump. For example:

current
release
number

Every assembler object module contains an identifier with the module
name and current release number. The identifier is at the beginning of
the module~ starting at the first byte, and has the following format:

module
name

218

current
release
number

I/O Activity and WorJdile Layouts
The following diagrams show the I/O activity for the phases of the
assembler and the layouts of the workfiles during different operations.
The following symbols are used in the diagrams:.

a note/point address

an input operation

an output operation

both an input and output operation

(

,",,'
"

Diagnostic Aids

219

MNAblocks

WF3

r

D
U

MR'T< '''KCC)
PREAD (lPKCC)

~

Text
________________________

output
________________________

~A~

WF2

PPUTL (lPKCA IPKCC, IPKCD)

Figure 21.

220

I/O Activity for ASSECA.

~

r

MNA
blocks

MIS

.

~J

I
I

WF3

i
I

First
source

I I

I

,

macro

I

VSD
blocks

SSD
blocks

I
I

I
I
I
I

.-----..
,I

I

I
I

I

I

I

I

2)
F/

MIS

}J
Open
code

I

VSD

SSD

blocks
blocks
_--./'---V--'
. - ___ ~

,/

I
I

I

I
I

I
I

I
I

I

I

I

I
I
I
I

~"

PWRITE(JPKDB)
PWRITE/UPDATE(JPKDB)

PWRITE (JPKDB)
PREAD (JPKDA,
IPKDB)

PWRITE (JPKDA)
PREAD (JPKDA)

PWRITE (JPKDB)
PWRITE (JPKDB) PWRITE(JPKDA)
PWRITE/UPDATE (IPKDB) PREAD (JPKDA, PREAD(JPKDA)
IPKDB)

Text input

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

WF2

H
E
A
0
E
R

0
C
S
T
A
R
T

Source
macros

4

Open
code

N'OCST~

1],

PGETL (JPKDA,IPKDB)

Text output

/'r----------------J;~--------------------~,

WF1

H
E
A
0
E
R

Source macro source

and edited text

0
C
S
T
A
R
T

~

Open code source

and edited text

1.

At the beginning of a macro, a dummy macro information block is written to reserve space. After the VSD and SSD
blocks have been built, the complete macro information block is written into its reserved place with PWRITE!UPDATE.

2.

Open code is processed only if conditional assembly statements are detected by IPKCA.

Figure 22.

I/O Activity for ASSEDA.

Diagnostic Aids

221

MNA
block.

WF3

MIB

I
I
I

I

I

I

VSD
blo c ks

I

source

I

macro

1

(,

I

I

I
I

I

I

I

I

I

I

I

I
First

MIB

SSD
blo c k•

I

I

IJ

I

Open
code

)r

"

PREAD

I

I

I

I
I

I

I

I

I

I

I

I

I
I

V

\J

PREAD

SSD
blocks

I
I

/,

.,

'

7

I

VSD
bloc k•

11

'J

PREAD

Source
macros

Nn!U

PREAD

PPUTL

11
H

WF2

H

E
A
0
E
R

E
A
0
E
R

Source macros
edited text

~

Opan code source
and edited text

~~

PPUTL

PPUTL

2)

0
C
S
T
A
R
T

Source macros
(source)

WF2

~

H

Open code
source

E
A
0
E
R

Source macros
edited text

/'

NPOCST

PPUTL
SMT
blocks

1)

0
C
S
T
A
R
T

H

WF3

E
A
0
E
R

Source macros
(source) and edited text

, .,

,

~

Open code source
and edited text

)

NPSMT

I

I

I

I
r
I

I
I
I

I
I

I

I

I

/

\J

PGETL

PGETL

1.

If conditional assembly in open code.

2.

If !!2 conditional assembly in open code.

Figure 23.

222

I/O Activity for ASSEEA.

PREAD
PWRITE

I

~

MISs (not used)

MNA

Source macro source

VSDa and SSDi

~~~~~A~~~::I~¥===~~A==~==~
~

____________

~

Error and statistics racords

WF3

PPUTL

PREAD

11, . Edited source
macros
A,-

,

I

I
WF2

Open code edited
and source racords

I

I

~

I

I
I

WF2

I

'"I
I
I
I

,

Edited source macros

...

I

I

I

I
I

I

I

I

I

I

I

I

I

I

Open code

I
I

I

..

3'/

, t
V
PGETL

,

SMT blocks
A

,

EDECK (optional)

Not used bV ASSEGA

WF1

/

NPSMT

V
PREAD

1.

If conditional assembly in open code.

2.

If..!!!!. conditional assembly in open code.

3.

Note/point value from SMT.

4.

Note/point value from macro header.

Figure 24.

PPUNCH

I/O Activity for ASSEGA.

Diagnostic Aids

223

"

MNA
blocks

-

Source macros (source)

~

1
1

I

I

I
I

WF3

I
I

I

Not used by
ASSEFA

1

I

I

I

I

1

1

I
I

I

ASSEGA error and
statistics records

ASSEFA error and
statistics records

I

~

NPTXT3

"

PREAD

PPUTL

11 Edited source macros

,

,

GSD.MND. MAV, blocks

A

,..

I

"

IGI
WF2

Open code
global array

IAI
I I
1

Open code edited
and sOurce records'

I

PGETL

PGETL

PWRITE

Edited -source macros

GSD. MND. MAV blocks

21~______________~~r-______, -__________~,~:~:;:;~A~--~~----~A~----~,

WF2

a~

Not used by
ASSEFA

E
R

Open
code
global
array

Open code
edited and
source records

31
PGETL

PREAD
PWRITE

WF1

MAVblocks

Edited macros

SMTblocks

Not used by
ASSEFA

Open code
global vector

PMAVNP/~
PREAD
Edited macros

PPUTL

PPUTL

1.

If conditional assembly in open code.

2.

If .!!2. conditional assembly in open code.

3.

Note/point value from 8MT.

PFIND

Figure 25,.
224

PWRITE

I/O Activity for ASSEFA.

1("
\(.c/'

Text input and output

.....

21

[-

0

WF2

Not used by
ASSEHA

e

S
T
A
R

O"en code source

Not used
by ASSEHA

and edited text

T

PGETL. PPUTL

11

WF3

21
Not used by
ASSEHA

Source
macros

{sourcel

ASSEGA ASSEFA
error and error and
statistic. statistics
_ords
{lOurcel

NPATTR

0

e

S

Opan code source
and edited text

T

A
R
T

Not used
by ASSEHA

/1)
'7

'V

PPUTL. PGETL

1.

Because of split records. ASSEHA uses WF3 to update records. The text is written back onto WF2 for ASSEFA.

2.

If no source macros, the open code text begins at the start of WF2.

Figure 26.

I/O Activity for ASSEHA.

C:
Diagnostic Aids

225

/~

H
E
A
0
E
R

WF1

Key_rd
tabla

Global
vector

V

1

,

V

V

H
E
A
0
E
R

Edited text

MAV'
ENTRY1

s.
Symbol
buckets

Value of

~

Symbol

:>

PETR

Operand
end flag

Operand

,

3

2

V

.HQ.SYMBOL TABLE OVERFLOW OR LAST PASS

:>

PETFLDS

Operand all
except DCs

Operand
flag

1-3

Expression
flags

expression!*'
V

ALL RECORDS
~(-------------------~------------------------~I
Pseudo
opcode

Record
length

Operand
end flag

Operand

Location

Relocation
attribute

L'

Statement
number

counter

V

DC
Value of
Operand duplication

No. constants

Type
flag

Length
'flag

Length
value

3

Scale
flag

Scale
value

Exponent
flag

3

3

Address Constant

DC

Operand
flag

expression

Expression
flag

nJ

1-2
expression
V

Data Constant

*

Expression

,-:l.

~{""

Length
No. relo- Exprassio.
attribute cation
value
ettribute.

-+

Location
attribute

"

""«""

2

DC
value

Length of
'constant

Constant as
coded
V

280

4

2

Object Module IPKNA
MACHINE INSTRUCTIONS

PETR

~

f- P&:T&:I n._;,\

""
Record
length

File
flags

Opcode
extension

Pseudo
opcode

Type
flags

Statement
number

2

2

L'

Relocation
attribute

Location
counter

2

2

3

FI..
AD1

""'"

~

,"

.~

Flag
AD2

Value

...,"

Value

3

Code
fleg

Object
code

3

2·6

DC INSTRUCTIONS

I...

..£E.LB.

Record
length

File
flags

Pseudo
opcode

",'2
Opcode
extension

Type
flags

Statement
number

Length of object code
before duplication

...

..1)
2

2

2

PDCOUT

11

....
Duplication
factor

,.."

3

Not
used·

Switches

3

No. bits
to shift

Not
used

Object
code

3

V

Object Module IPKOA

DC INSTRUCTIONS
(See IPKNA)

Appendix H: Edited Statement Formats

281

Appendix I: Statements Modifying Data Areas

[
When checking the contents of data areas common to more than one module,
it is often necessary to know how other modules modify the area. This
appendix lists all symbols defined in such data areas and named in
operands modified by the following operation codes: AP, CVD, MVC, MVI,
MVN, MVO, MVZ, NC, NI, OC, 01, PACK, ST, STC, STCM, STH, STM, TR, TRT,
UNPK, XC, and XI. In addition, the occurence of such a symbol in the
operand field of an LA instruction is listed.
The following information is given:
Field name - the symbol naming the modified field.
DSECT name - the name of the dummy section in which the field
defined.

is

Displacement - the displacement of the field within the dummy section in
decimal and hexadecimal notation.
CSECT name - the name of the control section containing the instruction
with the field name in a modified operand.
Statement number - the approximate statement number of the modifying
statement.
Operation - the operation code of the instruction in which the field
name appears in an operand that represents a modified storage
address.

(

Code - the following information about the modified operand:
1 - only one term in this operand.
2 - more than one expression in the operand, but the first
expression contains only one term. Unless the operation is type
RX, the second expression is probably a length field.
3 - one multiterm expression in the operand. The field name appears
as one term but the value of the modified address will depend
upon the value of the whole expression.
S - more than one expression in this operandi the first expression
contains more than one term.

Note: This list does not include EQU statements. If a symbol in a DSECT
is equated to another symbol, the appearance of the symbol in a modified
operand will not be entered in the list.

(

',"
"

Appendix I: Statements Modifying Data Areas

283

[-

r

-~

C:

---------MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
DEC
HEX
NAME
NAME
BUFADDR1

PCOMMON

1694

(69E)

BUFADDR2

PCOMMON

1729

(6C 1)

BUFADDR3

PCOMMON

1764

(6E4)

BUFPT

PFCB

3

(3)

CCWS

WORKDTF

96

(60)

CHARC
CHARK
CHITEMK

EPAR
EPAR
EDPMI

3
2
11

(3)
(2)
(B)

CHITEMST

EDPMI

12

(C)

CHITEMT

EDPMI

10

(A)

CORADDR

DIRENTRY

0

(0)

CROSSNP

PCOMMON

1949

(79D)

CURESD

PCOMMON

1977

(7B9)

CURNP

PCOMMON

1955

(7A3)

CURSECT
CURSECTL

PCOMMON
PCOMMON

1927
1926

(787)
(786)

DBCORE

PCOMMON

1946

(79A)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKJAOOO
IPKKA001
IPKBAOOO
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKA001
IPKBAOOO
IPKPAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
IPKAA002
IPKAA002
IPKIAOOO
IPKIAOOO
IPKCCOOO
IPKHAOOO
IPKCCOOO
IPKHAOOO
IPKCCOOO
IPKCCOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO

2030
3137
4794
4857
4463
2217
2020
3132
2536
4260
4783
4868
4471
2232
4096
1923
2022
2035
2395
1520
1562
4925
3627
3210
1550
3226
1552
3202
3208
1547
1557
2394
2431
991
1120
1337
3174
3189
3267
3818
3832
4343
4360
2553
2566
2623
3504
3534
2624
3505
3535
3626
3837
4363
4511
2504
2503
5748
2332

STCM
STCM
STCM
LA
STCM
STCM
STCM
STCM
LA
LA
STCM
LA
STCM
STCM
STCM
MVC
STCM
STH
STCM
MVC
MVC
LA
LA
STC
LA
MVC
LA
MVI
MVI
MVI
MVI
MVI
MVC
STCM
MVC
STCM
LA
MVC
LA
LA
MVC
LA
MVC
LA
MVC
ST
ST
ST
MVC
MVC
MVC
LA
MVC
MVC
MVC
MVC
STC
XC
STH

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1
1
2
2
1
1
1
1
1
1
1
1
2
1
1
2
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
2
1
1
1

285

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
NAME
DEC
HEX

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

CODE
<"

~

DBCORE

PCOMMON

1946

(79A)

DBVSDADR
EAWF2END

PCOMMON
PCOMMON

1995
1915

(7CB)
(77B)

EFLG

MNAENT

2

(2)

ENDBUF
ENDID

PFCB
PCOMMON

11
1996

(B)
(7CC)

ENTRYCNT

PCOMMON

1993

(7C9)

EOFLDPTR

ERRENT

5

(5)

EPARFLAG
EPART
ERRCONST

EPAR
EPAR
ERR BYTES

0
1
0

(0)
( 1)
(0)

ERRCOUNT

PCOMMON

2018

(7E2)

ERR I NFO

ERRENT

0

(0)

ERRLNG

ERRBYTES

2

(2)

ERRSW

ERR BYTES

1

(1)

ERRTXT

ERRBYTES

3

(3)

ESDESDID

ESDENTRY

1

( 1)

ESDHILC

ESDENTRY

5

(5)

ESDIDHI

PCOMMON

1947

(79B)

ESDIDLO

PCOMMON

1997

(7CD)

ESDLCTR

ESDENTRY

2

(2)

286

,IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKDBOOO
IPKFAOOO
IPKHAOOO
IPKCA001
IPKCCOOO
IPKCCOOO
IPKFAOOO
IPKFAOOO
IPKMAOOO
IPKKAOOO
IPKQAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKDAOOO
IPKDBOOO
IPKIAOOO
IPKIAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKLAOOO
IPKLAOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
I PKKA 0 00
IPKLAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKKAOOO
IPKKA001
IPKKAOOO

2445
5364
5655
2870
3212
2699
1123
1741
1767
2756
2818
1098
3531
1213
2537
3972
4513
2364
2661
5079
5093
3040
3046
2419
2425
3625
3762
4607
1446
3059
3126
4474
2438
2505
2370
2388
2663
3050
2429
3042
2421
3043
3051
2422
2430
2539
3521
3978
3986
4179
3519
3642
3596
4097
4178
4497
3589
4498
2540

STH
STH
MVC
STCM
MVC
MVC
MVI
MVI
MVI
MVI
MVI
STCM
MVC
MVC
STH
STH
MVC
STCM
MVC
MVC
MVC
MVC
MVC
MVC
MVC
STC
MVI
MVI
MVI
STC
MVI
MVI
STC
MVI
MVC
MVC
MVC
STC
STC
01
01

MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
STC
MVC
MVC
STC
STC
STC
MVI
STC
MVI
MVC

1
1
1
1
2
2
1

5
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

\~ ... /

1
1

1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1

;(-"

~~.

(-

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
DEC
HEX
NAME

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
(APPROX.)
NAME

ESDLCTR

ESDENTRY

2

(2)

ESDNXT

ESDENTRY

16

( 10)

ESDPTR

PCOMMON

1973

(7B5)

ESDSYM

ESDENTRY

8

(8)

IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKMAOOO
IPKMAOOO
IPKKAOOO
IPKKA001
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKMAOOO
IPKMAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKMAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
I PKJAO 0 0
IPKJAOOO
IPKKA001
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKPAOOO

ESDTYPE

ESDENTRY

0

(0)

EVALUE

EVALSTCK

1

( 1)

EVLENGTH

EVALSTCK

5

(5)

EVNXT

EVALSTCK

9

(9)

EVPLUS

EVALS'+CK

5

(5)

EVRELOC

EVALSTCK

6

(6)

EVVARY

EVALSTCK

7

(7)

FILE1NP

PCOMMON

1875

(753)

r-\

C:

3522
3641
3987
4170
3690
1442
1504
3706
4508
2541
3524
3979
3988
4171
1424
1490
2538
3523
3973
4068
4070
4169
1309
2785
2861
2895
2967
2174
2237
2271
2345
2869
2969
2970
2246
2347
2790
2179
2787
2910
2959
2176
2286
2338
2788
2177
2933
2971
2311
2348
2533
4257
4523
1244
1246
1258
2607
2609
4107

MVC
MVC
MVC
MVC
LA
LA
LA
ST
MVC
MVC
MVC
MVC
MVC
MVC
TR

TR
MVI
MVC
MVI
MVI
MVI
MVI
TRT
ST
ST
ST
ST
ST
ST
ST
ST
LA
MVI
MVI
LA
MVC
LA
LA
MVI
LA
MVC
MVI
LA
MVC
STeM
STeM
LA
LA
LA
LA
MVC
MVC
LA
XC
XC
LA
XC
XC
LA

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
2
1
1
2
1
1
2
1
2
1
2
2
1
2
2
1
2
2
1

287

---------MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
HEX
DEC
NAME
-.NAME

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME

CODE
\"""----

FILE1NPR

PCOMMON

1881

(759)

FILE2NP

PCOMMON

1887

(75F)

FILE2NPR

PCOMMON

1893

(765)

FLAG

DIRENTRY

19

( 13)

GARDIM
GARLEN

GARENT
GARD

4
0

(4)
(0)

GARLGTH
GARTYPE
GSDDIM
GSDFLG

GARENT
GARENT
GSDENTRY
GSDENTRY

3
0
4
3

(3)

GSDLEN
GSDNDX
GSDSYM
GSDTYPE
HASHPTR

GSDENTRY
GSDENTRY
GSDENTRY
GSDENTRY
PHYR

3
1
4
0
0

(3)
( 1)
(4)
(0)
(0)

IF SAVE

PCOMMON

1672

(688)

IJJALSW

IJJCPTAB

44

(2C)

1JJCPCNT

1JJCPTAB

76

(4C)

1JJCPCTR

1JJCPTAB

80

(50)

288

(0)
(4)
(3)

IPKJAOOO
IPKJAOOO
IPKSAOOO
IPKSBOOO
IPKSBOOO
IPKJAOOO
IPKJAOOO
IPKLAOOO
IPKLAOOO
IPKRAOOO
IPKRAOOO
IPKJAOOO
IPKKAOOl
IPKLAOOO
IPKOAOOO
IPKRAOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKFAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKDBOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKABOOO
IPKABOOO
IPKACOOO
IPKAEOOO
IPKAEOOO
IPKAFOOO
IPKAIOOO
IJJCPDO
IJJCPDO
IJJCPD1N
1JJCPD1N
1JJCPD2
IJJCPDO
IJJCPD1N
IJJCPDO
IJJCPD1N

2538
4262
3028
1396
1472
4865
4873
1245
2608
1590
1599
4870
4518
1253
1202
1399
995
1068
1114
1122
1346
2505
1998
1999
2042
2043
1521
1676
2502
2443
2506
2368
2445
3205
2467
2431
2434
2426
2434
3446
3999
4049
4205
774
880
840
595
656
768
657
155
175
1230
1254
148
227
1273
230
1276

MVC
MVC
LA
LA
LA
MVC
LA
XC
XC
LA
LA
MVC
LA
LA
LA
NI
01
01
NI
01.
01
LA
LA
STH
LA
STH
MVC

mc

LA
MVC
LA
MVI
MVI
MVI
MVC
STH
LA
STC
MVC
MVC
MVC
MVC
MVC
STM
STM
STM
STM
STM
STM
STM
01
N1
N1
01
01
MVC
MVC
STC
STC

2
2
1
1
1
2
1
2
2
1
1
2
1

1
1
1
1
1
1
1
1
2
3
1
3
1
1
1
1
2
2
1
1
1
2
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
1

/'.

~,

~/

;(~.,

i".,

~--~

r~

r
t

---------MODIFIED AREA---·-----DISPLACEMENT
FIELD
DSECT
DEC
HEX
NAME
NAME
IJJCPDAT

IJJCPTAB

82

(52)

IJJCPREC

IJJCPTAB

64

(40)

IJJCPSEK

IJJCPTAB

60

(3C)

IJJCP2ND

IJJCPTAB

45

(2D)

IJJFRSTR

IJJCPTAB

73

(49)

INDEX

EDPMI

16

( 10)

INDKEY

INDENTRY

0

(0)

INDNP

INDENTRY

11

(B)

INDXB
INDXC

EPAR
EPAR

1
6

( 1)
(6)

INDXCL

EPAR

5

(5)

INDXFLAG
ITEM

EPAR
EDPMI

0
10

(0)
(A)

ITEMFLAG

EDPMI

8

(8)

ITEML

EDPMI

9

(9)

("

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
NAME
(APPROX.)
IJJCPDO
IJJCPD1N
IJJCPDO
IJJCPDO
IJJCPD1N
IJJCPD1N
1JJCPD2
IJJCPD2
IJJCPDO
IJJCPD1N
1JJCPD2
IJJCPDO
IJJCPD2
IJJCPDO
1JJCPD1N
IPKCCOOO
IPKFAOOO
IPKFAOOO
IPKRAOOO
IPKRBOOO
IPKRBOOO
IPKRAOOO
IPKRBOOO
IPKRBOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKIAOOO
IPK1AOOO
IPKIAOOO
IPKIAOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKDAOOO
IPKHAOOO
IPKIAOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKDAOOO
I PKDA 0 0 0
IPKDAOOO
IPKDAOOO
IPKIAOOO

104
1200
212
226
1256
1272
121
165
223
1268
164
139
135
189
1292
1537
2678
2816
1424
968
1375
1442
954
1374
4483
4486
4487
3606
4488
4484
1795
1787
2372
2375
4538
4650
5084
5152
3216
3223
3363
3372
3378
3385
3395
3425
2527
2434
5186
3211
3265
3512
3611
3650
1815
1816
1861
1862
4902

XC
XC
MVC
MVC
MVC
MVC
STC
MVC
ST
ST
ST
XC
XC
01
01
MVC
STH
STH
MVC
MVI
MVC
MVC
LA
MVC
ST
UNPK
MVZ
LA
~1

MVI
LA
LA
LA
LA
LA
LA
LA
LA

XC
01
XC
01
01
01
01
01
NI
01
NI
STC
STC
STC
STC
STC
LA
LA
LA
LA
LA

CODE

2
2
2
2
2
2
1
2
1
1
1
2
2
1
1
1
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
2
2
1
2
2
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1
5
3

//

Appendix I:

Statements Modifying Data Areas

289

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
NAME
DEC
HEX

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

ITEMT

EDPMI

1

(1)

KEY

DIRENTRY

11

(B)

IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKHAOOO
IPKHAOOO
IPKIAOOO
IPKIAOOO
IPKRAOOO
IPKRAOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKRBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKIAOOO
IPKDBOOO
IPKDBOOO
IPKCCOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO

KITEM
LBARADDR
LCLASIZ
LCLASZ
LCLBSIZ
LCLCSIZ
LMNAME
LOCCNTHI

EDPMI
PCOMMON
PCOMMON
MAC HEAD
PCOMMON
PCOMMON
EDPMI
PCOMMON

10
1989
1921
16
1930
1933
1
2010

(A)
(1C5)
(181)
(10)
(18A)
(18D)
(1)
(1DA)

LOCCNTR

PCOMMON

2001

(1D1)

LOCLATR

PCOMMON

2004

(1D4)

290

1548
3365
3446
3485
3566
3518
3868
4326
1169
1816
1862
1153
2404
2421
4521
4902
1314
1396
1058
1135
1215
1293
1330
1869
2815
2055
5115
2061
2065
1523
1893
3503
3520
3640
1551
1894
2210
2500
2625
3346
3414
3502
3568
4039
4103
4130
4221
4246
1592
1535
1583
1610
1623
1641
1686
1699
1128
2055
2519

LA
MVC
MVC
LA
MVC
MVC
LA
LA
LA
LA
LA
LA
MVI
MVI
LA
LA
MVC
MVI
MVC
MVI
LA
LA
MVC
LA
STCM
STCM
LA
STCM
STCM
MVC
MVC
MVC
MVC
MVC
STCM
STCM
STCM
STCM
MVC
STCM
MVC
MVC
MVC
XC
MVC
MVC
STCM
STCM
STCM
STH
STH
MVC
MVC
MVC
MVC
MVC
MVC
STH
MVC

CODE

1
1
2
1
2
5
1
1
5
5
5
1
1
1
1
3
1
1

2
1
1
1
2
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
1
1
1
1

. t..

[

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
NAME
DEC
HEX
LOCLATR

PCOMMON

2004

(7D4)

LOCRATR

PCOMMON

2006

(7D6)

LOCTYPE

PCOMMON

2013

(7DD)

LPNAME
MAN

EDPMI
MNAENT

7
3

(7)
(3)

MFLAGS

PCOMMON

1917

(77D)

MIB

PCOMMON

1917

(77D)

MIBADDR

PCOMMON

1948

(79C)

MLEVEL

PCOMMON

1944

(798)

MNALEN

MNAENT

2

(2)

MNAMEL
MNANDX

MAC HEAD
MNAENT

7
0

(7)
(0)

NEXT COD E

CODE

2

(2)

NPLITBEG

PCOMMON

1908

(774)

NPMIB

OCSTMH

7

(7)

NPSSDR1
NPSSDWL

PCOMMON
PCOMMON

1958
1965

(7A6)
(7AD)

rl

['

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKEAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKCCOOO
IPKFAOOO
IPKFAOOO
IPKCCOOO
IPKFAOOO
IPKSAOOO
IPKSBOOO
IPKJAOOO
IPKJAOOO
IPKRAOOO
IPKRAOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO

3418
4036
1482
2626
3501
3587
3595
4085
4089
4099
4104
4496
3371
3382
3395
4314
1712
1740
1788
2354
3679
3697
3763
1867
1886
1974
2380
2668
1161
1933
1542
2839
1486
1546
2840
1371
2328
2453
5654
1763
2838
2138
1746
2813
3125
1783
2547
4034
1493
1512
1627
1658
1367
2767
2733
2750
2762
1455
1527

MVC
MVC
MVC
MVC
MVC
STC
STC
MVC
MVC
STC
MVC
XC
MVI
MVI
MVI
MVC
LA
LA
01
01
01
01
01
01
01
01
01
01
01
01
XC
LA
LA
LA
STCM
LA
STH
STH
XC
MVC
MVC
LA
STH
STH
LA
LA
MVC
MVC
LA
MVC
MVC
MVC
LA
MVC
LA
LA
MVC
LA
LA

Appendix I: Statements Modifying Data Areas

CODE

1
1
2
1
1
1
1
1
1
1
1
2
1
1
1
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
2
2
2
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
2
1
1

291

---------MODIFIED
FIELD
DSECT
NAME
NAME

AREA---------~

DISPLACEMENT
DEC
HEX

----MODIF.Y1NG INSTRUCTI0N----CSECT
STMNT NO. OPERATION
NAME
(APPROX. )

CODE
.. ~...

NPSSDWL

PCOMMON

1965

(7AD)

NPVSD
NPVSDR1

PCOMMON
PCOMMON

1942
1982

(796)
(7BE)

NXTENTRY

PCOMMON

1989

(7C5)

NXTRA

EVALSTCK

2

(2)

OFFS

DIRENTRY

3

(3)

OVFLADDR
PABENDC

PCOMMON
PCOMMON

1992
1669

(7C8)
(685)

PAFt.AG2

PETFLDS

0

(0)

PANXT
PASSGNSW

292

PETFLDS
PCOMMON

4
2017

(4)
(7E1)

IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKKA001
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
1PKRAOOO
IPKRBOOO
IPKRBOOO
1PKDBOOO
1PKBAOOO
IPKBAOOO
1PKFAOOO
1PKFAOOO
1PKFAOOO
1PKJAOOO
1PKJAOOO
IPKJAOOO
1PKJAOOO
IPKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKKAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKPAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO

1533
1536
2104
2109
2108
2606
2441
3456
4003
4052
4210
4425
4486
2876
2878
2915
2920
2922
2937
2957
2253
2256
2275
2291
2297
2299
2315
2335
1382
1020
1095
2873
1309
1395
2237
2395
3269
2085
3140
3145
3188
2297
3904
3956
3981
3983
1539
1825
1844
18.57
1860
1912
1929
1975
·2529
3289
3699
3834
4352

mc
mc
mc
LA

MVC
MVC

ST
ST
ST
ST
ST

mc
ST
LA
LA
LA
STH
LA
LA
LA
LA
LA
LA
LA
STH
LA
LA
LA
STH
STH
STH
STCM
MVI
MVl
MV1
MVl
MVl
01
STC

01
STC

Nl
LA
01
Nl
01
01
Nl
01
01
01
01
01
01
LA
01
Nl
01
01

2
1
2
1
1
1
1
1
1
1
1
1
1
1
1

1
1
.1
1

2
1
1
2
1
1
1
1

2
1
1
1
1
1
1
1
1
1
1
1
1
1
1

5
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1

\

... -

---------MOD1F1ED AREA---------DISPLACEMENT
DSECT
FIELD
DEC
HEX
NAME
NAME

[

PASSGNSW

PCOMMON

2017

(7El)

PB1TALGN

PDCED1T

7

(7)

PBLKPTRK

WORKDTF

70

(46)

PBUFLENl

PCOMMON

1697

(6A 1)

PBUFLEN2

PCOMMON

1732

(6C4)

PBUFLEN3
PB1F1SIZ
PB12SIZ
PCBTYPE
PCNXT
PCODE

PCOMMON
PCOMMON
PCOMMON
PETR
PETFLDS
PETFLDS

1767
1885
1887
5
3
1

(6E7)
(75D)
(75F)
(5)
(3)
( 1)

PCSRFLGA

PCSR

6

(6)

rl

('

PCSRHEAD

PCSR

0

(0)

PCSRIOP
PCSRLEN

PCSR
PCSR

2
0

(2)
(0)

----MODIFyING 1NSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
1PKKAOOl
1PKKAOOl
1PKLAOOO
1PKLAOOO
IPKNAOOO
IPKPAOOO
1PKPAOOO
IPKBAOOO
1PKBAOOO
IPKBAOOO
IPKFAOOO
1PKJAOOO
IPKKAOOl
1PKBAOOO
1PKJAOOO
IPKBAOOO
1PKBAOOO
1PKBAOOO
IPKNAOOO
IPKPAOOO
1PKPAOOO
1PKPAOOO
1PKCAOOl
1PKCA001
IPKCAOOl
IPKCA001
1PKCAOOl
IPKCDOOl
IPKCDOOl
IPKDAOOO
1PKDAOOO
IPKDAOOO
1PKDBOOO
1PKDBOOO
IPKEAOOO
1PKGAOOO
1PKIAOOO
IPKIAOOO
1PK1AOOO
1PKJAOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
1PKJAOOO
IPKCA001
IPKCA001
1PKCA001
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCDOOl
IPKDAOOO

4505
4510
1235
2616
1531
2230
2238
1912
2085
1983
3139
4792
4457
1897
4781
1807
2072
2151
1738
2557
2546
2557
1421
1448
1538
1612
1627
1398
1669
1674
2922
2946
1934
2010
1144
1525
2094
2249
2665
4550
1499
1518
4268
4310
1962
1995
2039
4549
1194
1597
1900
1530
1535
1632
1863
3476
4312
1641
2834

CODE

MV1
NI
01
NI
XC
STC
MVI
STC
STC
STH
MVC
STH
MVC
STH
MVC
STH
STH
STH
LA
LA
LA
LA
01
01
01
01
N1

or
01
NI
01
N1
N1
N1
01
01
01
01
01
MVC
XC
XC
XC
XC
XC
XC
XC
MVC
MVC
STCM
MVC
MVC
MVC
MVC
STCM
STH
MVI
MVC
STH

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
5
1
5
1
1
1
1
1
1
1
1
1
1
l'
1
1
1
1
1
1
1
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
3
1
1

W"

Appendix I: Statements Modifying Data Areas

293

r

---------MODIFIED AREA---------DISPLACEMENT
FIELD
DSECT
NAME
DEC
HEX
NAME
PCSROP3

r'

PCSR

5

(5)

PCSRSTRl

PCSR

7

(7)

PDCCODE

PDCOUT

11

(B)

PDCFL
PDCFLAG

PDCOUT
PDCEDIT

6
6

(6)
(6)

PDCFLD

PDCEDIT

2

(2)

PDCLEN

PDCEDIT

1

( 1)

t

('-"
~

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME
IPKCAOOl
IPKCBOOO
IPKCBOOO
IPKDAOOO
IPKDAOOO
IPKGAOOO
IPKICOOO
IPKCCOOO
IPKCCOOO
IPKDAOOO
IPKDAOOO
IPKDAOOO
IPKEAOOO
IPKHAOOO
IPKHAOOO
IPKIAOOO
IPKIAOOO
IPKICOOO
IPKJAOOO
1PKJAOOO
1PKJAOOO
1PKJAOOO
1PKJAOOO
1PKPAOOO
1PKPAOOO
1PKPAOOO
IPKNAOOO
1PKNBOOO
IPKNBOOO
1PKNBOOO
1PKNBOOO
1PKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
1PKNBOOO
IPKNBOOO
1PKNBOOO
1PKOAOOO
IPKOAOOO
IPKOAOOO
1PKOAOOO
1PKOAOOO
1PKOAOOO
1PKOAOOO
I PKOAO 0 0
1PKOAOOO
1PKOAOOO
IPKOAOOO
IPKLAOOO
1PKLAOOO
1PKNAOOO
1PKNAOOO
1PKLAOOO
1PKOAOOO
1PKOAOOO
1PKOAOOO
1PKOAOOO
1PKLAOOO

2167
1054
1064
1872
2244
1390
1033
1574
1962
1856
1873
1880
1269
1293
1652
1999
2495
938
2394
2568
2609
2912
3755
1729
2126
3560
1535
3041
3047
3117
3186
3227
3231
3233
3235
3231
3268
3311
1445
1480
1522
1524
1555
1559
1564
1585
1685
1158
1489
1669
1677
1528
1530
1654
1481
1500
1622
1724
1657

01
MVN

OC
01
01
MVC
01
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
ST
ST
STCM
STCM
STCM
STCM
STCM
ST
ST
LA
LA
STC
LA
STC
STC
XC
LA
MVC

mc

01
NI
01
XC
NI
LA
LA
TR
LA
LA

mc

CODE

1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
5
1
1
1
5
1
5
1
1
1
1
1
1
1
1
1
1
1
5
5
5
5
2
2
2
1
1
1
1
2
1
2
1
2
1
1
1

>'

Appendix I: Statements Modifying Data Areas

295

---------MODIFIED AREA---------FIJn,D
DSECT
DISPLACEMENT
NAME
NAME
DEC
HEX

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

CODE

'_."
PDCLEN

PDCEDIT

1

( 1)

PDTFADR1
PDTFADR2
PDTFADR3
PDUPEXP

PCOMMON
PCOMMON
PCOMMON
PDCEDIT

1688
1123
1758
0

(698)
(6BB)
(6DE)
(0)

PDUPLFAC

PDCOUT

0

(0)

PENDBUFl

PCOMMON

1699

(6A3)

PENDBUF2

PENDBUF3
PENTVAL
PEOF

PCOMMON

PCOMMON
PETFLDS
PFCB

1734

1769
9
18

(6C6)

(6E9)
(9)
( 12)

PEOFADRl
PEOFADR2

PCOMMON
PCOMMON

1706
1741

(6AA)
(6CD)

PEOFADR3

PCOMMON

1776

(6FO)

PERLNG

PETR

6

(6)

296

IPKNBOOO
IPKNBOOO
IPKBAOOO
IPKBAOOO
IPKBAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKNAOOO
IPKNBOOO
IPKBAOOO
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKKA001
IPKBAOOO
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKKA001
IPKBAOOO
IPKPAOOO
IPKLAOOO
IPKDAOOO
IPKEAOOO
IPKJAOOO
IPKMAOOO
IPKOAOOO
IPKSAOOO
IPKSBOOO
IPKSBOOO
IPKPAOOO
I PKHAO 0 0
IPKIAOOO
IPKKA001
IPKLAOOO
IPKLAOOO
IPKHAOOO
IPKPAOOO
IPKDAOOO
IPKDBOOO
IPKFAOOO
IPKFAOOO
IPKGAOOO
IPKGAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNBOOO

3105
3299
1449
.1450
1451
1627
1629
1679
1535
3047
2241
2026
3152
4789
4459
2245
2016
3149
4780
4469
2249
4094
1911
1387
2098
4839
1088
1208
3034
1401
1508
1551
1219
5609
4424
1239
1249
1220
1549
2436
2712
2911
2912
1743
1744
2308
4408
4703
5226
5321
3754
3088
3117
2467
2496
1916
1927
1968
2888

LA
LA
MVC
MVC
MVC
MVC
LA
MVC
LA
LA
STCM
STCM
STeM
STeM
STeM
STCM
STCM
STeM
STCM
STCM
STCM
STeM
MVC
STeM
MVC
MVC
MVC
STCM
STCM
STCM
STCM
STCM
MVC
MVC
STeM
STCM
STCM
MVC
STCM
STe
STC
MVC

mc

MVC
MVC
MVC
MVI
MVC
STC

mc

STe
MVI
STC
MVI
STC
MVI
STC
STe
STC

1
1

1
1
1
3
5
2
5
5
1
1

1
1

1

1
1
1

1
1
1

1
1
3
5
1
1
1
1
1

\

....

1

1
1
1
1
1
1

1
1
1
1
2
2
2
2
2
1
2
1
2
1
1
1
1

1
1
1
1

1

1<

~4..._

r

---------MODIFIED AREA---------DSECT
DISPLACEMENT
FIELD
DEC
HEX
NAME
NAME

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME

PERLNG

PETR

6

(6)

PERREXC

PETR

9

(9)

PERRHD

PERR

0

(0)

PERRLEN
PERRSTNR
PERRSTR

PERR
PERR
PETR

0
6
8

(0)
(6)
(8)

PERSRC

PETR

7

(7)

PETEPX

PETR

4

(4)

IPKNBOOO
IPKNBOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKSAOOO
IPKSBOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKSAOOO
IPKSBOOO
IPKDAOOO
IPKDBOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKCAOOl
IPKCCOOO
IPKCD001
IPKDAOOO
IPKDBOOO
IPKEAOOO
IPKFAOOO
IPKGAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKKAOOO
IPKLAOOO

r

I

('"

2907
2913
1303
1322
1328
3064
1717
4033
4045
4035
4032
3066
1719
2454
2730
4417
5238
3739
3092
3098
3101
3118
2471
2477
2480
2497
1912
1920
1925
2881
2885
2896
2900
2904
1296
1300
1311
1315
1319
2376
4359
1717
2419
2695
1961
2855
1765
2306
2317
2635
2745
4698
4701
5225
5319
5469
3730
3081
2460

STC
LA
STC
STC
LA
LA
LA
MVC
MVC
STH
STH
MVC
MVC
MVC
MVC
LA
MVC
MVC
MVC
MVC
LA
LA
MVC
MVC
LA
LA
LA
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVI
MVI
MVI
STC
MVI
MVI
MVI
MVI
STC
MVC
MVC
MVC

Appendix I: Statements Modifying Data Areas

CODE

1
5
1
1
5
1
1
1
5
1
1
2
2
2
2
5
2
1
2
2
3
5
2
2
3
5
1
2
2
2
2
2
5
5
2
2
2
5
5
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

297

-----·---MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
DEC
HEX
NAME
NAME
PETEPX

PETR

4

(4)

PET HEAD

PETR

0

(0)

PET lOP

PETR

2

(2)

PETLEN

PETR

0

(0)

298

----MODIFyING INSTRUCTION~---STMNT NO. OPERATION
CSECT
(APPROX.)
NAME
IPKNAOOO
IPKNBOOO
IPKOAOOO
IPKCAOO1
IPKCD001
IPKDAOOO
IPKDBOOO
IPKEAOOO
IPKGAOOO
IPKGAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKNBOOO
IPKOAOOO
IPKFAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKCA001
IPKCCOOO
IPKCD001
IPKDAOOO
IPKDBOOO
IPKEAOOO
IPKFAOOO
IPKGAOOO
IPKGAOOO
IPKGAOOO
IPKIAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKNAOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKOAOOO

1949
2917
1332
2370
1711
2416
2692
1958
1706
1764
1570
1820
3118
2497
2913
1328
2854
2604
2908
3694
4487
2372
4360
1713
2444
2720
1960
2901
1713
1731
1776
4418
2228
2746
3696
3756
1648
1670
1821
1897
1919
2155
2242
2590
2596
2646
3089
3119
3514
3542
1611
2468
2498
1891
2914
3048
3053
3462
1329

MVC
STC
STC
XC
XC
XC
XC
XC
MVC
MVC
LA
LA
LA
LA
LA
LA
MVC
MVC
MVC
MVC
MVC
MVC
MVC
MVC
STH
STH
MVC
STH
STH
STH
STH
STH
MVC
STH
MVC
STH
MVC
MVC
STH
MVC
MVC
STH
MVC
MVC
MVC
MVC
MVC
STH
MVC
MVC
STH
MVC
STH
STH
STH
STH
STH
STH
STH

CODE

2
1
1
2
2
2
2
2
1
1
5
5
5
5
5
5
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

,-

;(
\'

....

'--

[

---------MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
DEC
HEX
NAME
NAME
PETLEN

PETR

0

(0)

PETOP

PETR

3

(3)

PETOPO

PETR

2

(2)

f

1.

[~

PETOP3

PETR

5

(5)

PETSTNO

PETR

6

(6)

PEXPFLAG
PFCBSW

PETFLDS
PFCB

1

(1)
(11)

17

----MODIFyING INSTRUCT10N----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
IPKOAOOO
IPKOAOOO
IPKCA001
IPKCCOOO
IPKCD001
IPKDAOOO
IPKDBOOO
IPKEAOOO
IPK1AOOO
IPKJAOOO
IPKKAOOO
IPKLAOOO
IPKNAOOO
IPKFAOOO
IPKIAOOO
IPKJAOOO
1PKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
1PKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNBOOO
IPKSBOOO
IPK1AOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKNAOOO
IPKNAOOO
IPKJAOOO
IPKJAOOO
IPKNAOOO
IPKAAOOO
IPKAAOOO

1452
1459
2371
4358
1712
2418
2694
1959
4412
3729
3080
2459
1948
2870
4413
1562
1783
2047
3728
4629
1453
1541
1542
1706
1707
1738
1739
1977
3079
3100
1238
1369
1667
1675
1746
1757
1854
2458
2479
1521
1907
1909
3016
1725
5559
2227
1569
1669
1845
1918
2241
3567
1659
1664
2729
4591
2182
1925
2004

STH
STH
MV1
MV1
MVI
MV1
MVI
MV1
MV1
MV1
MV1
MV1
MV1
01
XC
NI
01
01
MV1
MV1
N1
NI
OC
N1
OC
N1
OC
OC
MVI
01
01
N1
MVC
01
01
01
N1
MV1
01
01
N1
01
01
01
01
01
01
01
01
01
01
01
01
N1
STH
MVC
01
01
N1

Appendix I: Statements Modyifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1

299

•

r

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
DEC
NAME
HEX

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

PFILE2

PCOMMON

1723

(6BB)

PFILE3

PCOMMON

1758

(6DE)

IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKGAOOO
IPKGAOOO
IPKGAOOO
IPKGAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKA001
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKMAOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKRAOOO
IPKRAOOO
IPKRAOOO
IPKBAOOO
IPKCCOOO
IPKCCOOO
IPKCD001
IPKDAOOO
IPKDAOOO

r

1

(.

1765
1961
2210
2302
2949
2982
3028
3210
3253
3277
3355
1226
1509
1806
1881
1210
1216
1237
2628
2630
2640
2697
2450
2472
2526
5340
5478
5500
5683
5712
5751
1462
3668
3699
3759
4571
4594
4624
4852
4856
1436
4517
1242
1252
1362
2605
1087
1201
1206
1221
1586
1595
1668
1589
1689
1777
1621
2732
2749

LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
XC
XC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
XC
LA
LA
XC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

"'~""-

Appendix I: Statements Modifying Data Areas

301

---------MODIFIED AREA---------DSECT
DISPLACEMENT
FIELD
DEC
NAME
NAME
HEX

----MODIFyING INSTRUCTION----CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

PFILE3

IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKGAOOO
IPKGAOOO
IPKGAOOO
IPKGAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKICOOO
IPKICOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO

302

PCOMMON

1758

(6DE)

3008
3013
1454
1480
1485
1520
1526
1545
1553
2090
2502
2517
2588
1357
1366
1405
1434
1475
1581
1860
1865
1876
1912
2095
2101
2905
3062
3223
3238
3366
1534
1623
1739
1779
1189
1233
2629
2634
2652
2676
2690
2117
2516
2671
4422
4985
5261
5492
5563
5699
1006
1036
1500
4838
4877
3173
3178
3183
3187

LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
XC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

[

r

l

(,'

---------MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
DEC
HEX
NAME
NAME
PFILE3

PCOMMON

1758

(6DE)

PFINDPT

PCOMMON

1891

(763)

PFLDCOL

PSTRINGS

PFLDLEN

PSTRINGS

0

(0)

PFLDSRC

PSTRINGS

2

(2)

PGBLASIZ

PCOMMON

1940

(794)

PGBLBSIZ

PCOMMON

1943

(797)

( 1)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKLAOOO
IPKLAOOO
IPKMAOOO
IPKMAOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKQAOOO
IPKRAOOO
IPKRAOOO
IPKBAOOO
IPKFAOOO
IPKCA001
IPKCAOOl
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKEAOOO
IPKIAOOO
IPKJAOOO
IPKCA001
IPKCA001
IPKCCOOO
IPKCCOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKCAOOl
IPKCA001
IPKCA001
IPKCCOOO
IPKCCOOO
IPKCD001
IPKDAOOO
IPKDAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKJAOOO
IPKFAOOO
IPKIAOOO
IPKFAOOO

3266
3271
3276
3283
3625
3761
3780
3817
3822
4280
4322
4342
4348
4441
2552
2557
1078
1236
2776
3393
3589
1666
2467
4101
1088
1075
1604
2169
3112
1197
2018
1936
1974
2000
1279
2181
4562
1196
1998
1610
1919
2202
2237
4561
1198
2021
2024
1939
1942
1236
2318
2485
2185
2203
2265
4576
2928
5647
2937

LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
MVC
MVC
MVI
STC
STC
LA
LA
LA
LA
MVI
MVI
STC
MVI
STC
STC
MVI
STC
MVC
LA
MVC
LA
MVC
LA
LA
LA
LA
LA
LA
MVC
STCM
LA
STCM

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
2
1
1
1
1
1
1
1
1
2
5
2
5
2
1
1
5
1
1
1
2
1
1
1

303

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
NAME
DEC
HEX
NAME

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME

CODE

,,~

PGBLCSIZ
PGBLSIZ
PGENSW

PCOMMON
PCOMMON
PCOMMON

1946
1940
1921

(79A)
(794)
(781)

PGVENTl

PGVHEAD

7

(7)

PGVHLEN
PH ICORE
PIERCNT

PGVHEAD
PCOMMON
PCOMMON

0
1666
1969

(0)
(682)
(7B 1)

PIERSTK
P1NPUTPT

PCOMMON
PCOMMON

1971
1894

(7B3)
(766)

PITEM

EDPMI

10

(A)

PLA

PETFLDS

2

(2)

PLENATTR

PETR

8

(8)

PLINECNT
PLINENUM

PCOMMON
PCOMMON

1843
1917

(733)
(77D)

PLITBLK

PCOMMON

1904

(770)

IPKFAOOO
IPKFAOOO
IPKFAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPK1AOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKICOOO
IPKIAOOO
IPKIAOOO
IPKFAOOO
IPKBAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKBAOOO
IPKFAOOO
IPKTAOOO
IPKCCOOO
IPKDBOOO
IPKLAOOO
IPKNBOOO
IPKNBOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKNAOOO
IPKNBOOO
1PKNBOOO
IPKNBOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKBAOOO
1PKQAOOO
IPKSAOOO
IPKJAOOO
IPKJAOOO

2941
3344
2959
1918
1942
2375
2416
2452
4461
4707
4977
5256
5326
1009
2615
2617
2569
1299
2000
2028
2755
4393
5750
4390
2165
3108
1013
3676
1853
1579
3252
3256
1536
1582
1644
1687
1700
1818
1861
2056
3513
3541
1457
1527
3038
3094
3289
1441
1681
1716
2077
2226
2247
2345
1339
1098
3143
2493
4030

STCM
XC
N1
N1
NI
01
01
NI
NI
01
01
01
01
01
LA
LA
STH
MVC
XC
XC
XC
STH
XC
STC
MVC
MVC
MVC
MVC
LA
LA
LA
LA
STH
STH
MVC
MVC
MVC
STH
MVC

mc

MVC
MVC
MVC
STH
STH
STCM
STCM
STH
STH
STCM
STH
STH
STH
STH
MVC
MVC

mc

STH
STH

1
1
1

1
1
1
1

1
1
1
1
1
1
1
1
3
1
1
1
1
1

1
1
2
1
1
1
2
1
1
5
5
1
1
2
2
2
1
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
5
1
1
1
1

.1

'~

304

----~----MODIFIED

r

DSECT
NAME

PLITBLK

PCOMMON

1904

(770)

PLITLEN

PCOMMON

1906

(772)

PLOCCNTR

PETR

11

(B)

PLORMIN

EVALSTCK

0

(0)

PLRELATR

PETR

10

(A)

PMAVBSIZ
PMAVNO

PCOMMON
PCOMMON

1936
1938

(790)
(792)

PMAVNP

PCOMMON

1930

(78A)

PM1BLEN
PMODEXP
PMODFLAG

PCOMMON
PDCED1T
PDCEDIT

1951
1
0

(1)

PMOD1FS

PDCED1T

9

(9)

PNAMCOL

PSTR1NGS

( 1)

PNAME

PETFLDS

(1 )

PNAMFLD

(,~

AREA---------DISPLACEMENT
DEC
HEX

FIELD
NAME

PETR

15

(79F)
(0)

(F)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
IPKJAOOO
IPKRAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKPAOOO
1PKPAOOO
1PKPAOOO
IPKPAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKLAOOO
IPKLAOOO
1PKLAOOO
1PKLAOOO
IPKKAOOO
1PKKAOOO
IPKKAOOO
IPKFAOOO
1PKFAOOO
IPKFAOOO
IPKFAOOO
1PK1AOOO
1PKDBOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
IPKNAOOO
1PKNBOOO
IPKOAOOO
IPKCCOOO
1PKHAOOO
1PK1COOO
1PKJAOOO
1PKJAOOO
IPKJAOOO
1PKJAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKLAOOO
1PKLAOOO
1PKJAOOO
1PKJAOOO
1PKJAOOO
1PKJAOOO
IPKJAOOO
1PKJAOOO
1PKJAOOO
IPKKAOOO
1PKKAOOO
1PKKAOOO

4882
1497
4772
4891
1540
1708
1737
1456
1806
1814
2040
2112
2873
2875
2921
2936
2250
2252
2298
2314
1543
1740
2587
3342
2187
3343
2974
5634
2842
1644
1627
1634
1628
1629
1532
3018
1413
1578
1658
942
2398
3569
3558
3561
2279
2351
3322
1766
1770
1568
1570
2608
2834
2911
3695
4490
1554
1646
1709

STH
STH
MVC
STH
STCM
STCM
STCM
MVC
STCM
STCM
STCM
STCM
MV1
MV1
MVC
MVC
MV1
MVI
~VC

MVC
MVC
MVC
MVC
MVC
STH
XC
MVC
LA
STH
LA
MVC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
MVC
LA
LA
LA
LA
01
LA
MV1
LA
LA
LA
LA
MVI
LA
LA
MVC
LA

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
1
1
2
2
1
1
1
1
1
1
2
1
1
1
3
5
1
5
3
1
1
2
2
2
2
2
2
2
2
2
2

1
2
1
5
1
3
1
1
1
1
2
1

305

-------,..-MODIFIED AREA--;..------DSECT
FIELD
DISPLACEMENT
NAME
NAME
DEC
HEX

----MODIFyING INSTRUCTION----;..
CSECT
STMNT NO. OPERATION
NAME
(APPROX.)

CODE
~
',",,-

PNAMFLD

PETR

15

(F)

PNAMLEN

PSTRINGS

0

(0)

PNAMLNG

PETFLDS

0

(0)

PNAMSRC

PSTRINGS

2

(2)

PNEXTNP

PFCB

29

(1D)

PNEXTNP3
PNPMAC1

PCOMMON
PCOMMON

1787
1907

(6FB)
(773)

PNPOCGV

PCOMMON

1922

(782)

PNPOFFS

PFCB

27

(1B)

PNPRW

PFCB

21

( 15)

PNXTBKT

PETFLDS

9

(9)

306

IPKKAOOO
IPKKAOOO
IPKKAOOO
I PKKA 000
IPKKAOOO
I PKKA 00 0
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKJAOOO
IPKPAOOO
IPKPAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKCD001
IPKJAOOO
IPKJAOOO
IPKPAOOO
IPKPAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
I PKAAO 0 0
IPKAAOOO
IPKAAOOO
IPKHAOOO
IPKFAOOO
IPKIAOOO
IPKFAOOO
IPKIAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
IPKAAOOO
IPKEAOOO
IPKEAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
. IPKKAOOO
IPKKAOOO .
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO

1820
1822
1895
2188
2273
2346
2589
3318
3369
3380
3393
3401
3873
4189
1489
1782
1813
1880
1954
4554
2775
3093
3560
3556
3557
1097
2579
3527
2744
3070
1946
2052
2068
2167
2186
2214
2693
3352
4592
1658
5736
2024
2393
1942
2064
2181
1345
1709
3161
3191
2184
2326
2360
2783
2793
2993
3904
1540
1861

LA
LA
STCM
LA
LA
LA
MVC
LA
MVC
MVC
MVC
LA
LA
LA
LA
LA
LA
LA
LA
MVI
LA
LA
STC
MVC
MVC
LA
LA
LA
LA
LA
MVC
LA
MVC
LA
MVC
LA
MVC
MVC
LA
MVC
LA
STH
STH
MVC
MVC
lWC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA

5
1
1
1
1
1
2
1
2
2
2
1
5
1
1
1
1
3
3
1
5
5
1
2
3
1
1
1
1
3
2
1
2
1
2
1
1
2
1
2
1
1
1
2
2
2
1
1
1
1
1
1
1
1
1
1
5
1
1

\

"'= -.-

(f~

.~

[--

r·

t

C

---------MODIFIED AREA---------DISPLACEMENT
FIELD
DSECT
NAME
NAME
DEC
HEX

----MODIFyING INSTRUCTION----STMNT NO. OPERATIOn
CSECT
(APPROX.)
NAME

PNXTBKT

PETFLDS

9

(9)

PNXTMOD

PDCEDIT

4

(4)

POLSTR

PETFLDS

2

(2)

POPCOL
POPDCOL

PSTRINGS
PSTRINGS

1
1

(1)

POPDSRC

PSTRINGS

2

(2)

IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKOAOOO
IPKOAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKJAOOO
IPKCD001
IPKCD001
IPKHAOOO
IPKJAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKJAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKDAOOO
IPKPAOOO
IPKPAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKICOOO
IPKJAOOO
IPKMAOOO
IPKMAOOO
IPKPAOOO
IPKQAOOO
IPKRAOOl
IPKSAOOO
IPKSBOOO
IPKMAOOO
IPKMAOOO
IPKKAOOO
IPKKAOOO
IPKKA001
IPKLAOOO
IPKCD001
IPKCDOOl
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKMAOOO

( 1)

POPFLAG

PETFLDS

0

(0)

POPLEN

PSTRINGS

0

(0)

POPNUMB

PETR

4

(4)

POPSRC

PSTRINGS

2

(2)

PPAGENO

PCOMMON

1919

(77F)

PRECLEN

PFCB

9

(9)

PREFCNT

PCOMMON

1928

(788)

PROGID

PCOMMON

1845

(735)

1930
1979
2171
2183
2375
1633
1634
1704
1710
1609
1758
1780
1870
2578
3329
1667
1320
1937
2402
1159
1412
1322
2403
2786
2887
3115
3245
3396
2741
1577
1599
1606
1980
2777
3095
1567
1786
2050
952
2399
1531
1612
3938
1369
2123
3186
1835
1094
1193
3165
3260
4503
2544
1088
1119
2570
2578
2589
1171

CODE

MVC
MVC
ST
ST
XC
ST
MVC

3
1
1
1
1
1
5
1
1
1
1
1
1
1
1
2
2
2
2
1
1
1
1
1
1
1
1
1
1
2
1
1
2
5
5
1
1
1
1
3
1
1
1
1
1
1
1
1
2
1
1
1
1
1

MVC

2

MVC
LA
MVC

1
1
1
1

LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA

LA
LA
LA

LA
LA
LA
LA
MVI
MVC
MYI
MVI
MVC
LA
LA
STC
MVI
MVI
LA
LA

AP
AP

AP
AP
AP

AP
AP

TR

Appendix I: Statements Modifying Data Areas

307

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
DEC
HEX
NAME
NAME
PSAVPT

PCOMMON

1833

(729)

PSFLAG2
PSIGN

PETFLDS
PETFLDS

0
9

(0)
(9)

( 1)

PSLENATR

PETFLDS

PSPILLA

PCOMMON

1963

(7AB)

PSRELATR

PETFLDS

3

(3)

PSTMCSEQ

PCOMMON

1910

(776)

PSTRCOL

PSTRINGS

PSTRLEN

PSTRINGS

0

(0)

PSTRSRC

PSTRINGS

2

(2)

PSVALUE
PSYMBOL

PETFLDS
PETFLDS

4
1

(4)
( 1)

PSYMNO

PETR

14

(E)

308

( 1)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
IPKCCOOO
IPKDAOOO
IPKFAOOO
IPKIAOOO
IPKJAOOO
IPKNAOOO
IPKTAOOO
IPKKAOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKNBOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKACOOO
IPKGAOOO
IPKCAOOl
IPKCA001
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKHAOOO
IPKCA001
IPKCCOOO
IPKCAOOl
IPKCCOOO
IPKPAOOO
IPKPAOOO
IPKKAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKLAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO

1461
1531
2164
4710
1478
1474
1015
2315
3196
3252
3256
3328
3526
3572
2314
4146
1538
1842
5341
5359
5610
2183
4153
4180
855
1717
1585
1964
1607
1853
3911
1719
1949
3906
1965
3912
3695
3830
2182
3138
3166
3189
3194
1974
1517
2607
2835
2840
1645
1819
1862
2141
2588
2595
2645
1455
1547
1664
1694

XC
XC
XC
XC
XC
XC
XC
01
LA
LA
LA
LA
LA
LA
MVC
MVC
MVC
MVC
LA
MVC
MVC
t<1VI
MVC
STC
AP
AP
LA
STC
LA
LA
STC
LA
STC
STC
LA
LA
LA
LA
XC
MVC
MVC
MVC
MVC
01
MVI
LA
MVI
STC
MVI
MVI
MVI
STC
MVI
MVI
MVI
STCM
LA
LA
LA

CODE

1
1
1
1
1
1
1
1
1

'"

""

5

5
1
1

1
2
5
2
2
1
2
1

1
5
5
1
1
2
1
2
2
1
2
1
1
1
1
5
5
1
1
2
1
2
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

/~

'"

[

r

--------·MODIFIED AREA---------DISPLACEMENT
FIELD
DSECT
HEX
DEC
NAME
NAME
PSYMNO

PETR

14

(E)

PSYMTABL
PSYSNDX

PCOMMON
PCOMMON

2014
1922

(7DE)
(782)

PSYSPSTR

PCOMMON

1876

(754)

PVSDSIZE
PWAADDR

PCOMMON
PFCB

1899
14

(76B)
(E)

PWAADDRl

PCOMMON

1702

(6A6)

PWAADDR2

PCOMMON

1737

(6C9)

PWAADDR3

PCOMMON

1772

(6EC)

l

PO

Pl

('

PCOMMON

PCOMMON

90

90

(SA)

(SA)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX. )
NAME
IPKNAOOO
IPKNAOOO
IPKNBOOO
IPKNBOOO
IPKOAOOO
IPKOAOOO
IPKOAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKPAOOO
IPKKA001
IPKIAOOO
IPKIAOOO
IPKBAOOO
IPKSBOOO
IPKBAOOO
IPKDAOOO
IPKDAOOO
IPKFAOOO
IPKBAOOO
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOl
IPKPAOOO
IPKPAOOO
IPKBAOOO
IPKEAOOO
IPKFAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOl
IPKBAOOO
IPKHAOOO
IPKHAOOO
IPKPAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO

1476
1883
2795
2798
1225
1228
1361
1828
1953
2054
2206
4502
4482
5749
1375
1619
2016
1796
1800
2953
2229
2033
3135
4796
3295
4465
3988
4041
2219
2023
3134
4786
3293
4466
2234
1185
2694
4098
1583
1583
1666
1666
1667
1667
1944
1944
2250
2250
2251
2251
2515
2515
1886
1888
1933
1934
1938
1946
1969

LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
STCM
ST
XC
TR
LA
STH
STCM
STCM
MVC
STCM
STCM
STCM
STCM
MVC
STCM
STCM
STCM
STCM
STCM
STCM
STCM
MVC
STCM
STCM
MVC
MVC
STCM
STH
STH
ST
ST
MVI
MVI
STC
STC
ST
ST
MVC
~VC

MVC
MVC
MVC
LA
UNPK
NI
MVC
LA
LA

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

309

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
DEC
NAME
NAME
HEX

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME

p1

PCOMMON

90

(SA)

P2

PCOMMON

90

(SA)

P4

PCOMMON

90

(5A)

P7

PCOMMON

90

(5A)

P8

PCOMMON

90

(5A)

P9

PCOMMON

90

(5A)

RANR

EVALSTCK

0

(0)

1PKNAOOO
1PKNAOOO
IPKNAOOO
1PKNAOOO
I PKNAO 0 0
1PKNAOOO
1PKNAOOO
1PKNAOOO
IPKNAOOO
IPKNAOOO
IPKNAOOO
1PKNAOOO
IPKNAOOO
1PKNAOOO
1PKNAOOO
1PKNAOOO
IPKJAOOO
1PKNAOOO
IPKNAOOO
1PKNAOOO
1PKNAOOO
1PKKA001
1PKNAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
IPKLAOOO
IPKLAOOO
IPKLAOOO
1PKLAOOO
IPKLAOOO
1PKAA002
1PKAA002
1PKKAOOO
1PKLAOOO
1PKNBOOO
1PKNBOOO
1PKNBOOO
IPKQAOOO
1PKQAOOO
1PKQAOOO
1PKNBOOO
1PKNBOOO
1PKNBOOO
1PKKA001
IPKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKA001
1PKKAOO1
1PKJAOOO
1PKKAOOO

/

(81) .
(86)
(7)

RDATAD
RDATLEN
RELLEN

WORKDTF
WORKDTF
EVALSTCK

1

RLADDR
RLAD1D
RLDNXT

RLDENTRY
RLDENTRY
RLDENTRY

0
6

(3)
(0)
(6)

RLF'LAG

RLDENTRY

2

(2)

RLREF1D
SAVADDR
SAVAR

RLDENTRY
PCOMMON
PCOMMON

1
2027
2030

(7EB)
PEE)

SAVESDNP

PCOMMON

1961

(7A9)

SAVREGl

310

PCOMMON

la9

1134

3

2036

( 1)

(7F4)

1980
2048
2064
2381
1584
1929
1935
1967
1971
1973
2329
2372
2508
1668
2252
2509
1922
2360
1919
1976
2347
4429
1972
2786
2927
2946
2952
2968
2175
2304
2325
2330
2346
1560
1561
2789
2178
3386
3378
3388
1152
1189
1IJ22

3380
3384
3379
4473
1622
1770
3670
3701
3762
3777
3806
4291
4IJ51

4512
1679
1939

LA
LA
LA
T,A
LA
LA
N1
LA
MVC
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
LA
MV1
STC
STC
STC
MVI
MVI
STC
STC
STC
MV1
STCM
MVC
MVC
MVC
STCM
MVC
LA
LA
LA
LA
MVC
01
MVC
STCM
MVC
MVC
MVC
MVC
LA
MVC
MVC
MVC
MVC
MVC
ST
ST

CODE

2
1
2
2
2
1
2
2
2
1
2
2
2

2
2
3
2
2
1
1
1
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1

t

[

r
i

(:

---------MODIFIED AREA---------FIELD
DSECT
DISPLACEMENT
HEX
NAME
NAME
DEC

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
NAME
(APPROX.)

SAVREG1

PCOMMON

2036

(7F4)

SAVREG2

PCOMMON

2040

(7F8)

SDEFC
SDEFITEM
SDEFK
SDITEMB
SDITEMK
SDITEMST

EPAR
EDPMI
EPAR
EDPMI
EDPMI
EDPMI

6
10
5
11
14
15

(6)
(A)
(5)
(B)
(E)
(F)

SDITEMT
SECTCL

EDPMI
EPAR

10
11

(A)
(B)

SECT FLAG
SEQFLD
SMTEFLG

EPAR
EDPMI
SMTENT

10
18
9

(A)
( 12)
(9)

SMTLEN
SMTNAME

SMTENT
SMTENT

9
10

(9)
(A)

SMTNP

SMTENT

1

( 1)

SMTSIZE
SSDADDR

PCOMMON
PCOMMON

1897
1953

(769)
(7A 1)

SSDEND

PCOMMON

2014

(7DE)

SSDFLAG

SSO

3

(3)

IPKKAOOO
IPKLAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKLAOOO
IPKIAOOO
IPKCCOOO
IPKIAOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKCCOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKCCOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKFAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKEAOOO
IPKFAOOO
IPKGAOOO
IPKBAOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKDAOOO
IPKDBOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKGAOOO
IPKGAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKDAOOO
IPKDBOOD
IPKDBOOO
IPKDBOOO
IPKEAOOO
IPKEAOOO
IPKDAOOO
IPKCCOOO
IPKKA001
IPKKA001
IPKKAOOO

SSDINFO
SSDNP

PCOMMON
PCOMMON

1953
1936

(7A 1)
(790)

SSDOFFS
SSDSIZE

SSD
PCOMMON

0
1956

(0)
(7A4)

SSDSYM

SSD

4

(4)

SSDSYML
SSITEMK
STABEND

SSD
EDPMI
PCOMMON

3
10
1985

(3)
(A)
(7Cl)

STARTLOC

PCOMMON

1944

(798)

2274
1578
1794
2098
2280
1640
4930
3260
3644
3309
3267
3260
3315
3266
3619
4493
4494
1528
1730
1766
2042
3178
1193
1675
1765
1761
1837
1227
2043
2737
2754
1460
1531
2859
2057
2726
2084
2725
2746
1449
2083
1680
1681
2661
1469
1472
1521
1406
2723
1451
1465
2857
1546
1892
2771
3510
4487
4493
3347

ST
ST
ST
ST
ST
ST
LA
LA
LA
STCM
STC
LA
MVC
MVI
LA
MVC
MVI
MVC
MVI
MVI
MVI
MVI
MVC
LA
LA
MVC
LA
LA
STH
LA
LA
LA
LA
STCM
STCM
STCM
STCM
MVI
MVI
LA
MVI
MVI
LA
LA
MVC
MVC
LA
LA
MVC
STH
MVC
STH
LA
LA
MVC
STC
MVC
ST
STCM

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
1
1
5
5
1
1
1
5
2
1
1
2
1
1
1
1
1
1
2
5
5
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1

5
5
1
2
1
1
1
1
1
1
1
2
5
2
1
1
1
1

311

---------MODIFIEDAREA~---------

FIELD
NAME

DSECT
NAME

STARTLOC
STLENGTH

PCOMMON
EVALSTCK

1944
0

(798)
(0)

STMTNR

PCOMMON

1914

(77A)

STRPTR

ERRENT

2

(2)

SUBE

EPAR

7

(7)

DISPLACEMENT
DEC
HEX

----MODIFYING INSTRUCTION----CSECT
STMNT NO. OPERATION
(APPROX.)
NAME

CODE
..til<

SUBEFLAG

EPAR

SUBEL
SUBLFLAG
SUBLK
SUBLL
SUBLN
SWMH
SWSMT
SYMADDR
SYMESD1D

EPAR
EPAR
EPAR
EPAR
EPAR
MAC HEAD
SMTENT
PCOMMON
PHYR

SYMFLAGS

PHYR

5

(5)

6

0
4

(6)
(0)
(4)

1

( 1)

3
6
0
1981
5

(3)
(6)
(0)
(7BD)
(5)

2

(2)

/
/'

./

SYMLATTR

PHYR

3

(3)

SYMLENG

PHYR

9

(9)

312

IPKKA001
IPKKAOOO
1PKKAOOO
1PKLAOOO
1PKLAOOO
1PKJAOOO
IPKJAOOO
1PKKAOOO
1PKDAOOO
1PKDBOOO
1PK1AOOO
1PK1AOOO
1PK1AOOO
1PKIAOOO
1PK1AOOO
IPKIAOOO
1PK1AOOO
IPKIAOOO
1PK1AOOO
1PK1AOOO
1PK1AOOO
1PK1AOOO
1PKEAOOO
1PKEAOOO
1PKKA001
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
IPKKAOOO
1PKKAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKLAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1PKKAOOO
1 PKKAO 0 0

4506
2942
2956
2321
2334
2728
4884
1445
2363
2660
3685
3721
3874
3711
3858
4750
4799
4749
4797
4798
4830
4831
1381
1760
4485
2436
3598
4074
4098
1639
2437
2522
2527
3476
3485
3599
3601
3990
4002
4008
4053
4057
4110
4206
4235
4236
4238
1748
1852
1914
1978
2435
2459
3447
3474
4054
4207
4231
2440

MVC
STH
STH
STH
STH
STH

mc

MVC
STCM
STCM
LA
LA
LA
LA
LA
MVI
LA
STC
MV1
MVC
STH

mc

MVC
MVC
ST
MVC
MVC
MVC
STC
01
MVC
MV1
MV1
01
01
MVC
01
01
MVI
01
MV1
01
MVI
MVC
MVC
01
MV1
NI
01
01
MV1
MVC
MVC
MVC
MVC
MVC
MVC
MVC
STC

1
1
2
1
2
1
1
1
1
1

1
1

1
1

1
1
1
1
1
1

1
1
2
1

1
1
1
1
1
1
1

1
1
1

1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
1
2
2
1

~

[

r
l

[:

---------MODIFIED AREA---------DISPLACEMENT
DSECT
FIELD
HEX
DEC
NAME
NAME
SYMLENG

PHYR

9

(9)

SYMSRC

PHYR

10

(A)

SYMVALUE

PHYR

6

(6)

SYM1C
SYM1K
SYM2C
SYM2K
S1ITEMI
S1ITEMK
SlITEMST

EPAR
EPAR
EPAR
EPAR
EDPMI
EDPMI
EDPMI

9
8
5
4
15
17
18

(9)
(8)
(5)
(4)
(F)
(11 )
( 12)

S1ITEMT

EDPMI

10

(A)

S2ITEMK
S2ITEMST
S2ITEMT
THISELEM

EDPMI
EDPMI
EDPMI
PETFLDS

13
14
10
0

(D)
(E)
(A)
(0)

TYPEESD

PCOMMON

1995

(7CB)

VERTYPE
VRDA
VRDAT

ESDENTRY
WORKDTF
WORKDTF

0
128
96

(0)
(80)
(60)

VSDADDR

PCOMMON

1917

(1B9)

VSDDIM
VSDEND

VSD
PCOMMON

4
2011

(4)
(1DB)

VSDFLAG

VSD

3

(3)

VSDINFO
VSDNDX
VSDSIZE

PCOMMON
VSD
PCOMMON

1917
1
1980

(1)

VSDSYM

VSD

4

(4)

(1B9)
(7BC)

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
J
(APPROX.)
NAME
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKIAOOO
IPKHAOOO
IPKHAOOO
IPKCCOOO
IPKHAOOO
IPKIAOOO
IPKCCOOO
IPKHAOOO
IPKIAOOO
IPKHAOOO
IPKHAOOO
IPKHAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKJAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKKAOOO
IPKMAOOO
IPKAA002
IPKAAOOO
IPKAA002
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKGAOOO
IPKGAOOO
IPKDAOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKDAOOO
IPKDAOOO
IPKDBOOO

3455
4001
4051
4209
2452
4121
2438
3453
4055
4915
3653
4920
3680
2411
2406
3198
2438
4880
3198
2405
4880
2423
2439
2422
2381
2388
2411
2437
2447
3370
3381
3389
3394
3560
1349
1557
1930
1700
2095
2852
2410
1580
2423
1579
2076
2422
2479
2584
2636
1619
1620
4133
2406
2078
2100
2853
4153
4155
2458

STC
STC
STC
STC
MVC
MVI
MVC
MVC
MVC
LA
LA
LA
LA
STH
STC
LA
MVC
LA
LA
MVC
LA
STC
MVC
MVC
MVC
MVC
LA
MVC
MVI
MVI
MVI
MVI
MVI
MVI
MVI
MVI
MVI
MVI
LA
STCM
STH
STCM
STCM
MVI
LA
MVI
LA
MVI
LA
MVI
LA
LA
STH
STH
MVC
MVC
LA
LA
LA

Appendix I: Statements Modifying Data Areas

CODE

1
1
1
1
2
1
1
1
1
5
1
5
1
1
1
5
2
5
5
2
5
1
2
2
2
2
3
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
5
1
5
1
5
5
5
1
1
1
1
1
2
5
2

313

---------MODIFIED AREA---------DSECT
DISPLACEMENT
FIELD
HEX
DEC
NAME
NAME
VSDSYM
VSDSYML
VSDTYPE
VWDA
WCC

VSD
VSD
VSD
WORKDTF
WORKDTF

4
3
0
128
56

(4)
(3)
(0)
(80)
(38)

WCCHH
WCCHHR
WCCW
WCCW2
WCNTCH

WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF

56
56
112
120
144

(38)
(38)
(70)
(78)
(90)

WCNTCHR
WCNTDL
WCNTR
WDATAD
WDATLEN
WDEVTYP
WEFFRLEN

WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF
WORKDTF

144
150
148
121
126
29
68

(90)
(96)
(94)
(79)
(7E)
( 1D)
(44)

WH

WORKDTF

59

PB)

WMPCTY
WPCTY

WORKDTF
WORKDTF

62
30

PE)
(1E)

WREC

WORKDTF

60

(3C)

l
WRECLEN

WORKDTF

40

(28)

WTRKPCYL

WORKDTF

71

(47)

XDEFEND

XREFREC

17

( 11)

XRAREND
XREFADDR

PCOMMON ,
PCOMMON

1970
1999

(7B2)
(7CF)

XREFEND

XREFREC

11

(B)

XREFLEN

PCOMMON

2002

(7D2)

XREFPARM

PCOMMON

1998

(7CE)

XREFPTR

PCOMMON

1967

(7AF)

XRFLAG

XREFREC

8

(8)

XRFLSRC
XRFPSEUD
XRFSYM
XRLATTR

XRFENTRY
XRFENTRY
XRFENTRY
XREFREC

12
0
0
11

(C)
(0)
(0)
(B)

XRSN

XREFREC

9

(9)

XRSYMBOL

XREFREC

0

(0)

314

----MODIFyING INSTRUCTION----STMNT NO. OPERATION
CSECT
(APPROX.)
NAME
IPKDBOOO
IPKDBOOO
IPKDBOOO
IPKAA002
IPKAA002
IPKAA002
IPKAA002
I PKAA 0 0 2
IPKBAOOO
IPKBAOOO
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKBAOOO
IPKBAOOO
IPKBAOOO
IPKAA002
IPKAA002
IPKBAOOO
I PKAA 0 0 0
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAA002
IPKAAOOO
IPKAAOOO
IPKBAOOO
IPKBAOOO
IPKKAOOO
IPKLAOOO
I PKKA 0 0 1
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKKA001
IPKKAOOO
IPKKA001
IPKLAOOO
IPKKAOOO
IPK:tAOOO
IPKRA001
IPKRAOOO
IPKRAOOO
IPKKAOOO
IPKLAOOO
IPKKAOOO
IPKLAOOO

2461
2387
2399
' 1592
1530
1706
1724
1576
1524
1534
1541
1571
1716
1519
1540
1516
1518
1517
1904
2077
1531
1707
1519
1934
1545
1573
1714
1725
1536
1579
1726
2270
2435
1917
2090
3209
2586
4478
3179
2558
3214
2590
3163
3255
2542
3272
4482
3210
4480
2587
3204
2581
2017
1102
1100
3208
2585
3199
2576

LA
MVC
MVC
MVI
STCM
MVC
MVC
MVC
MVC
MVI
MVC
STCM
MVC
STH
STC
STCM
STH
MVC
STH
STH
STCM
MVC
MVC
XC
STH
STH
MVC
MVC
STC
MVI
MVI
MVC
MVC
STC
STC
LA
LA
STCM
LA
LA
LA
LA
STH
STH
STH
LA
ST
STCM
STCM
STCM
MVC
MVC
LA
TR
TR
MVC
MVC
MVC
MVC

IPKKAOOO
IPKLAOOO

3200
2577

MVC
MVC

CODE

5
2

1
1
1
1
1
1
1
1
1
1
1

1
1

1
1
2
1
1
1

2
2
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3

1
1
1
1

1
1
1
1
1
2
2
1
1
1
1

(~

Appendix J: APAR Documentation for the Assembler

[
Certain material should be sent to the assembler maintenance group along
with the submission of an APAR. The material is required in order to
successfully recreate the problem. The following information should
accompany an APAR:
•
•
•
•
•
•
•
•
•
•

Information on the CPU model, main storage size, and devices used
DOS release level
Partition size
Source cards or tape with the failing program
User-written macros and COpy code
Main storage dump if applicable
PTFs applied
Output showing the error
Any other material necessary for this particular problem
Cataloged procedures used

Note: APARs concerning errors in system macro definitions should not be
sent to the assembler maintenance group. Only assembler language
errors, including those in which the assembler has failed to expand the
macro instruction correctly according to the language manual, are valid
APARs against the assembler.

Appendix J: APAR Documentation for the Assembler

315

Index

a

COM instruction

entry in ESD table 55
object code for 73
common data area 110
compressed source records,
edited statement format 23,71
conditional assembly 11
editing of 17
perform 33
constants
address 65
3705 assembler 320
control flow between phases 92-93
control information 3
controls statements, list 71
converting reverse Polish notation
expressions 47
COpy code usage by assembler 255-258
COpy library 3
COpy statements 15
cross-reference
directory 79
index table 79
literals 79
sort technique 79
CSECT instruction
enter in ESD table 55
object code for 73
CSR (see compressed source record)
23,71
current location counter 55
current release number, how to
find 218
current statement, how to find 212
CW instruction 321,323

ABEND processing 85
ACTR edited statement format 277
address constants
edited statement format 278,280
processing of 65
AGO edited statement format 278
aids, debugging 212-217
AIF
edited statement format 278
edited text example 214-215
3705 ALIGN Option 321,324
allocation of main storage 94
APAR documentation 315
assembler
data sets 1
instructions 41,73
interface modules 2,93
option switches 83
ASSGN cards 83
attribute
collect 11,31
insert 31
references 31
attribute table 31
overflow 31

b
B (internal sort block size) 79
basic character expression item format
BKEND card 23
buffer areas 83
buffer sizes 83
build object code diagrams 58,69

c

()

CATALS card 23
CCW instruction
information for printing 73
object code for 65
processing of 53
character mode operators 19
character set, internal 270
character string item format
(type attribute) 276
<:NOP instruction
edited statement format 279
editing of 51
object code for 73
processing of 53
3705 assembler 322

276

d
data area/field cross-reference 201-210
data areas 129-200
statements modifying the 283-314
data flow between phases 92-93
data sets used by the assembler
DC instruction
edited formats 278-281
information for printing 73
length calculation 51
literal handling of 49
object code for 65,69
processing of 53
DCL instruction
generation of 49
length calculation 51
object code for 69
processing of 53
debugging aids
program check 212
wrong assembler output 212
de-editing 3
device needs 1
Index

317

diagnostic information 23
diagnostic message number/module
cross-reference 238-242
dictionary block overflow 34
dictionary information block (DIB)
directory, cross-reference 79
DROP instruction 57
processing of 63
DSECT dictionary 67
DSECT instruction 55
DS instruction
length calculation 51
object code for 69
processing of 53
duplication factors calculated for
DC, DS, DCL 51

36.2

e
EDECK
option 11,23
output 2 1,81
edited macro definitions
expansion of 24
formatting for global editing 21
global vector and global value area 29
input from library 11
keyword table 36.2
output for EDECK 23
edited macro instruction 36.1
edited macro instruction record
format 276
edited macro prototype record format 276
edited statement formats 273-286
edited text
examples of 213-217
flags 271-272
records 15,71
editing 17,43
assembler and machine instructions 45
conditional assembly 17
global 11
local 11
macros 13,15
model statements 17
EJECT control statement 71
elements of reverse Polish notation 259-266
end character mode operator 19
END instruction
evaluate expression 51
generation of 49
object code for 73
processing of 53
punching 77
end-of-job command 85
end-of-operand item format 276
ENTRY instruction 55
entry symbol/module cross-reference 243-244
environmental characteristics 1
device needs 1
system configuration 1
system interfaces 2
EQU instruction
edited statement format 278
evaluate expression 51

318

EQU instruction (continued)
object code for 73
processing of 53
3705 EQUR instruction 321,322
error messages (see also diagnostic
messages)
81,85
3705 assembler 324
error record
edited statement format 275
item format 276
processing of 71,81
error table 61
ESD (see external symbol dictionary)
ESDID
entered in symbol table 53
entered in using table 63
evaluate expressions 53
evaluation of reverse Polish notation 39
example for interpreting current
statement 213
examples of symbols buckets 216-217
exceptions to RPN operator processing 19,47
EXIT instruction 321
expressions of reverse Polish notation 19,47
extended description, definition of 5
3705 extended mnemonic codes 319-320
EXTRN instruction 55
EXTRN symbol/module cross-reference 243-244
external symbol dictionary
building of 51
definition 55
table 67

f
file assignments 83
first aid, debugging 212
flags, edited text 271-272
flow of control between phases 91-92
flow of data between phases 91-92
function of assembler 1
functions of phases, summary of 89-90

9
GA (see global array)
generation-time value areas 19,25
global array
building of global vector 25
global definitions entered in 17
global editing 11
global symbol dictionary
definition 29
overflow 26
global symbol value area 25
definition 33
global vector 29
global variable symbols 11
indexes for 29
global vector
building of 29
definition 25
position in MDB 36

GSD (see global symbol dictionary)
GV (see global vector)

local value areas 36.2
local variable symbol declarations
local variable symbols 11
location counter
definition 55
updating of 53
log errors 65,69
LTORG instruction
function of 49
object code for 73
processing of 53

h
hash table 50,52
high location counter

55

.I

m

I/O activity for the phases 279-234
identifier, object module 218
indexes for global symbols 29
index table, cross-reference sort 79
inner macros 25
input
opening files for 83
to assembler 2
in-storage sort 79
instructions
assembler 41,7l
machine 41,53,61,73
3705 assembler 317,322
interface moCJlul~s, assembler 2,93
internal chatacter set 270
internal operation codes 267-268
interpreting current statement 213
item formats for edited macro prototype
and instructions 276
.

k
keyword macro instruction item format
keyword name array
dictionary block overflow 34
function of 36.1
keyword parameters
entered in parameter table 36.1
in prototype records 15
keyword prototype item format 276
keyword table
building of 17
reading 36.1
KT (see keyword table)

I
layouts
I/O activity for phases 219-234
workfile 219-234
length calculated for DC, DCL, DS 51
literal
cross-reference sort 79
pool 43,49,79
processing of 49
symbolic name 49
3705 assembler 321
literal DC instruction 53
local editing 11

23

276

machine instructions 41
edited statement format 281
processing of 53,61,73
3705 assembler 317,322
3705 machine op-code table 317-319
macro address vector
definition 25
overflow 27
macro definition
edited 25
processing of 33
reconstruction of 23
macro dictionary block
building of 33
contents of 36.1
macro dictionary information block 34
macro header 17,36.2
macro information block
building of 17
global editing 21
macro instructions
edited 36.1
editing of 11
expansion of 11
substitution 17
macro library 3
3705 assembler 320
macro name array 15
macro name dictionary
definition 25
overflow 26
macro prototype
edited 13
statements created for 15·
macro usage by assembler 245-253
main storage
allocation 94
layouts for phases 95-109
MAV (see macro address vector)
M blocks (see also cross-reference sort)
MDB (see macro dictionary block)
MDIB ~acro 4ictionary information
block)
34
MEND record 23
message number/module
cross-reference 238-242
method of operation diagrams 8-84
diagnostic message/module crossreference 238-242
how to read 5
symbols used in 7
MIB (see macro information block)
17,21
Index

79

319

MNA (see macro name array)
15
MND (see macro name dictionary)
MNOTE processing 71
model statements 17
module
diagnostic message/diagram crossreference 238-242
entry symbol/EXTRN symbol crossreference 243-244
identifier 218

o
object module identifier 218
OCDIB (open code dictionary information
block)
34
offset table, error records 81
omitted operand outside sublist item
format 276
opcode insert 13,15
open code
attribute references 31
edited text 36
global vector 29
open code dictionary block
contents of 33
processing during overflow 34-35
open code dictionary information block 34
operand edited format 278
operand restriction table 61
operand syntax checked 45
operands, reverse polish notation 259-261
operational considerations
input 2
output 3
operation codes 267-268
operator priority 18,47
operators
character mode 19
reverse polish notation 262-266
option switches 83
ORG instruction
edited statement format 278
evaluating expression 51
high location counter 55
object code for 73
processing of 53
output from assembler 3
output line 323
overflow
attribute table 31
cross-reference directory 79
dictionary block 34
global symbol dictionary 26
macro address vector 26
macro name dictionary 26
source macro table 26
symbol table 51

320

p
parameter pointer vector
contents of 36.1
overflow 34
parameters
keyword 15,36.1
positional 15,23,36.1
parameter table
contents of 36.1
overflow 34
PARPTV (see parameter pointer vector)
PARTBL (see parameter table)
partition sizes 83
phase/control section/object module
directory 88-89
phase functions, summary of 89-90
phase I/O activity 219-234
phase storage layouts 94-110
physical considerations 2
positional parameters
edited prototypes 15
parameter table 36.1
punching of 23
pre-edited macros 23
PRINT control statement 71
program check 212
program identification 218
prototype records 15
pseudo operation codes 267-268
insert 15
PUNCH records 67,71
purpose of the assembler 1

r
record storage area 78
registers changed by interfat:e routines 236
register usage for the assembler 235
release number, finding the current 218
relocation dictionary
print and punch 77
table 65,77
REPRO records 67,71
resolution of symbol references 57
restriction table for operands 61
reverse Polish notation
expression processing 47
element formats 259-266
evaluation of 39
flags 271-272
translate expressions 18
RLD (see relocation dictionary)
RPN (see reverse Polish notation)
RSA (record storage area) 78
3705 R-type constant 321,323

[

r

l

s

t

self-defining term item format 276
sequence,symbol dictionary
entering symbols in 17
punching 23
sequence symbol references
replaced by offsets 17
resolution of 21
size of buffers 83
size of assembler 1
SMT (see source macro table)
sort (see cross-reference)
source macro definitions 15
source macro table
definition 21
overflow 26
function of 23
source statements 15
SPACE control statement 71
special features 3
SSD (see sequence symbol dictionary)
standard register usage 235
start character mode 19
START instruction
entry in ESD 55
object code for 73
statement formats, edited 273-286
statements modifying data areas 283-314
statistics, assembler 81
storage layouts of phases 94-110
S-type address constant 65
example in edited text 215-217
sublist
end item format 276
start item format 276
subheading 323
summary of errors found in assembly 81
summary of functions of phases 90-91
symbol buckets 45
examples of 216-217
symbol definitions collected 51,53
symbol item formats 276
symbolic literal name 49
symbol references, resolution 57
symbol table 51
entries to 53
overflow 51,57
edited statement format 80
syntax check operands 45
system configuration 1
system interfaces 2

TITLE control statement

71

u
updating location counter
USING instruction
object code for 73
processing of 63
using table
definition 63
function of 61
implicit addresses 65

53,55

v
value areas
generation-time 19,25
global 25,29,33
local 36.2
variable symbol dictionary 17
variable symbols 17
VSD (variable symbol dictionary)
17
V-type address constant 55
work areas 83
workfile layouts for phases 219-234
workfiles
closing of 85
opening of 83
wrong assembler output 212
WXTRN instruction 55

x
XREF (cross-reference)

79

3705 assembler 317-324
extended mnemonics 319-320
machine op-code table 317-319

Index

321

Part 2 - ESERV Logic

(

"'--'

"

'

Organization of Part 2
•
•
•
•
•

Introduction
Method of Operation
Program Organization
Data Areas
Diagnostic Aids

i

Contents

r

r

l

INTRODUCTION . . . . . . . . .
Size of the ESERV Program
Purpose and Function of ESERV
Environmental Characteristics
System Configuration
System Interfaces . . .
Physical Considerations
Operational Considerations
Input . . . . . . .
Output . . . . . .
Control Information

1
1
1
1
1
1

METHOD OF OPERATION
Purpose of the Section
How to Read the Diagram and Description
ESERV
. . . .

3
3
3
6

PROGRAM ORGANIZATION
Purpose of the Section
Phase/Control Section/Object Module Directory
Summary of ESERV Phases and Functions
ESERV Control and Data Flow
ESERV Main Storage Allocation
Main Storage Work Area Layout
ESERV Common
COMMONEQ
COMNDATA
COMSTRUC
INTFBRTB

9
9

13

DATA AREAS .
Purpose of the Section
ESERV Data Area Field Cross-Reference

19

2

2
2
2
2

10
11
12

14
16
16
16
17
17

19
26

DIAGNOSTIC AIDS
Purpose of the Section
Program Identification
I/O Activity and Workfile Layouts
Register Usage for ESERV

34

APPENDIXES .

35

APPENDIX A.

29
29
30

31

EDITED STATEMENT FORMATS

37

APPENDIX B. PSEUDO (INTERNAL) OPERATION CODES

47

INDEX

49

iii

/

Figure.

Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure

1.
2.
3.
4.
5.
6.
7.
8.
9.

Phase/Control Section/Object Module Directory • . .
Summary of ESERV Phases and Functions • • •
•
ESERV Control and Data Flow • • • • • . • •
ESERV Main Storage Allocation • • . • • • •
·
Work Area Layout for Phases ESERVE, ESERVF, ESERVG
Work Area Layout for Phase ESERVI • • • • •
I/O Activity for ESERVD, ESERVE, ESERVF, ESERVG •
I/O Activity for ESERVI • •
•
ESERV Register Usage • • • • • • • • • • • • • . .

r

L

v

. . . 10
• • • 11

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

12
13
14
15
32
33
34

"I

/f~"

'\\-,./

Introduction

Three object modules of the ESERV program are written in assembler
language: IPKAD, IPKVA, and IPKVB. All other modules are written in
Programming Language System (PL/S) II. For information on reading and
interpreting PL/S II program listings see Guide to PL/S Generated
Listings, Order NO. GC28-6786.

Size of the ESERV Program
The minimum virtual partition size required by the ESERV program is 24K.

Purpose and Function of ESERV
The ESERV program generates a complete source macro definition from an
edited macro. Several macros can be "de-edited" in one run of ESERV and
macros can be updated in combination with the de-editing. For a
com~lete description of the ESERV program and how to use it see
Guide to the DOS/ySE Assembler.

r
l

Environmental Characteristics
SYSTEM CONFIGURATION
The configuration required is the same as that required by the DOS/VSE
Assembler.

SYSTEM INTERFACES
System-dependent functions and operations of ESERV are centralized in
interface modules to allow relative ease of modification for new
features of the Disk Operating System. The names and functions of these
modules are listed below.
IPKVA
IPKAD

Interface logic, I/O logic, common data area
and initialization code.
SYSSLB logic module (DTFSL)

(CO~MON)

Interface macros used by ESERV to provide service functions and to call
for functions from the interface modules, are described in Part 1,
A~pendix C, 'Macro Usage'.

c
Introduction

1

Physical Considerations
The ESERV program is made up of 7 phases residing on a core image
library. See "Program Organization" for a table showing the phases,
control sections, and otject modules of ESERV.

Operational Considerations
INPUT
Input to ESERV is as follows:
Control statements

(cards, disk, or tape)

Edited macro definitions (sublibrary on a
source statement litr~r~

SYSIPT
SYSRES/SYSSLB

For a complete description of the input see Guide to the DOSIYSE
Assembler.

OUTPUT
Output for ESERV is as follows:
Source format macro definition
if r,equested)

(updated

SYSLST/SYSFCH

If ESERV is run with the UPDATE option, an update survey listing, each
update control statement, and the affected source record(s) are printed
on SYSLST. A statement number is attached to each statement to enable a
list of error references to be printed following the macro definition.
For a complete description of the output see Guide to the DOSIYSE
Assembler.

CONTROL INFORMATION
The user srecifies options of the ESERV program through special control
staterrents. These control statements are fully described in Guide to
the DOSIYSE Asserr.bler.

2

Method of Operation

Purpose of the Section
The purpose of this section is to give a functional description of the
ESERV program and to provide a cross-reference from this description to
other parts of the manual and the program listings.

HOW TO READ THE DIAGRAM AND DESCRIPTION
The following diagram illustrates:
• Input - showing what the data is and where it is from
• Process - describing how the data is processed by ESERV
• Output - showing where the data goes
Data areas are identified on the diagram in two ways: main storage
address (upper case, parentheses), and by PL/S II structure name (upper
case, underlined).

r -,
1

The extended description is related to the diagram by numbered
process steps. In addition, the description supplies the names of
the modules and routines which perform the function. Start reading
the process block and refer to the input and output as you proceed
through the diagram. Use the extended description if you require
more detailed information.

Method of Operation

3

ESERV
INPUT

PROCESS

OUTPUT

EXT. DESCRIPTION

MODULE

ROUTINE

AREA 1
OUTPUT A

D
OUTPUTB

AREA2

3~

The following symbols are used in the diagram.

____-.....>

r

Data flow

Pointer

•

I

Control flow

- -

- -

~

(LlBRBUFF)

STRINGS

Data reference

Main storage address

Structure name

Ci
Method of Operation

5

ESERV
INPUT

PROCESS

OUTPUT

(WORKFILE 2) IP1WKAR)

1

~:'
.~ 2
.,-------

'.

l~~~~'CAi'

,,

,

I

"LI~;~~--

I

Macro header
(L1BRBUFF)
Kevword table

en

IG....

,.~,

l:=

RECORDS IN

UII

3

r;::!>
4

SAVE KEYWORD
TABLE RECORDS;
BUILD SHRUNK
KEYWORD TABLE
BUILD GLOBAL
DECLARATIONS,
BUILD SHRUNK
GLOBAL ARRAY

-

~

~

5

dictionary

DECLARATIONS
IN CSR FORMAT
STRINGS

---..1 EDITED TE~ I
I~

p

i

(CONDITIONAL
ASSEMBLY
STATEMENTS,
MODEL
STATEMENTSI

II
Ii

LOCAL
~
DECLARATIONS
IN CSR FORMAT
STRINGS

MAIN STORAGE
SHRUNK KEYWORD
TABLE SRUKTITM

6

Sequence
symbol

BUILD PROTOTYPE
STATEMENT; INSERT
GLOBAL AND LOCAL
DECLARATIONS

~_-.......~I GLOBAL

Edited text

Variable
symbol
dictionary

8
,r:
r rT"T""""""

EDITED FORMAT
KTITEM ~

READ CONTROL
CARDS AND
__ -1- - -FETCH MACRO

,1

EDITED MACRO_,

rT'"----.../1 KEYWORD TABLE

INITIALIZE

SHRUNK GLOBAL
ARRAY 'l§J1lIEM

7 SAVE SEQUENCE
SYMBOL DICTIONARY

POSiTIONAL
PARAMETER
DICTIONARY
~

LOCAL VARIABLE
DICTIONARY

~

SEQUENCE

1L........
n

9

InP/

10

INSERT NAMES OF
VARIABLES,
PARAMETERS,
SEQUENCE SYMBOL
DEFINITIONS, AND
STATEMENT
NUMBERS
PERFORM UPDATE IF
REQUESTED
(WORKFILE1)

r

UPDATE CONTROL
STATEMENT (SI
MACRO
SOURCE

11

PUNCH AND/OR

12 PRINT ERROR

(3
DEFINITION

PRINT SOURCE
MACRO DEFINITION
AND PRINT UPDATE
CONTROL RECORDS

=~:::>I

STATEMENT
NUMBERS AND
UPDATE CENTRAL
RECORDS

B

SYSPCH

SYSLST

(PRNTADDR)

SYMBOL
DICTIONARY
~

~,
\,

~

n" "
EXTENDED DESCRIPTION

-.J

,...--..,

1---.........,..,

MODULE

ROUTINE

2.

ESERV control records are read in from SYSIPT and the specified macro is fetched
from the macro library. The edited macro records are read in and processed one at
a time. Update control records are kept in the control card buffer for later processing
(see step 10).

IPKVD

MAIN1

3.

Keyword table records are saved in their edited format on workfile 2. A shrunk keyword
table -- containing the length and name of the symbol -- is built and kept in main storage
to resolve any keyword parameter references in the edited text.

IPKVE

KTPROC1
(BLKBLD)

4.

Global declarations are built in compressed source record format and saved on workfile 2.
A shrunk global array -- containing the type, index, length, and name (and dimension if
present) of the symbol -- is built and kept in main storage to resolve any global variable
references in the edited text.

IPKVE

GAPROC
(BLKBLD)

5.

Text written in reverse Polish notation is converted back to the original source order
among operators and operands. References to symbolic variables remain in index number
format. An offset value is placed following the common header of each record to enable
the insertion of sequence symbol definitions (see step 9).

IPKVF

EDTXT
(DEPO)

6.

The variable symbol dictionary is split into two separate dictionaries: the positional
parameter dictionary and the local variable dictionary. Local declarations are built
in compressed source record format from the variable symbol dictionary, immediately
before its division, and they are saved on workfile 2. The positional parameter and local
variable dictionaries are then saved in main storage for later processing (see steps 8 and 9).

IPKVG

VSDPROC
LVDPROC

7.

The sequence symbol dictionary is read from the library and saved in main storage for
later processing (see steps 8 and 9).

IP,KVG

SSDPROC

8.

Keyword parameters are read from the keyword table and positional parameters are read
from the positional parameter dictionary in main storage. The parameters are combined
to build the macro prototype statement. Global and local declarations are read in from
workfile 2 and decompressed.

IPKVI

PROTYP
KTPROC2
DECL

EXTENDED DESCRIPTION (continued)

9.

00

All index references to variables and parameters are replaced by the actual variable names.
Sequence symbol definitions are inserted into their proper locations by means of ANOPs.
A statement number is attached to each statement and any error references are written on
workfile 2.

MODULE

ROUTINE

IPKVI

NAMEINS

10. The sequence number of the record is compared with the sequence number of the current
update control statement in the control card buffer. If the numbers match, the updating
is performed. The update control statement is then saved on workfile 1 for later printing
(see step 11) and the next update control statement is read.

IPKVK

11. The reconstructed source macro definition is printed and/or punched on SYSlST /SYSPCH.
A complete list of all update changes is printed on SYSlST following the MEND statement.

IPKVM

12. A list of error statement numbers from workfile 2 is printed on SYSlST following the
macro definition and update changes.

IPKVI

Overflow and search technique
Each overflow block starts with an entry containing the index number (the offset value in the case
of sequence symbol dictionary entries) of the last variable in the block. This entry is used to help
speed up the searching process. The entry is three bytes long in all dictionaries except the local
variable dictionary which has three separate three-byte entries: one for lClA, one for lClB, and
one for lClC variables. Each of the three types of local variables has its own index series.
If overflow occurs, the dictionary -- shrunk keyword table, shrunk global array, positional parameter
dictionary, local variable dictionary, or sequence symbol dictionary -- overflows onto workfile 1.
After the last entry is made, the dictionary block is written onto workfile 1 in order to free the
dictionary area. Each index or offset searched for (see steps 8 and 9) is compared with the entry
numbers in the dictionary blocks.

I'-~

ERRPROC

r-The purpose of this section is to describe the
structure of the !;SERV program: how it is
divided into ph.ses, how the phases are loaded
into main storage. and how control and data are
passed within the program.
This section contains a
•
•
•
•
•
•

rl

C.'\
./

Phase/control section/object module directory
Summary of ESERV phases and functions
ESERV control and data flow
ESERV main storage allocation
Main storage work area layouts
ESERV cOllllllon

Phase/Control

~ction/Object

Module Directory

Phase

Control
section

Object
module

Description of the object module

ESERV

IPKVMOOO

Ii'KVM

ESERV" identifier, text output with,
statement numbers
SYSLB logic module (DTFSL)

",
;

IPKADOOO
IPKAD100
IPKVAOO3
IJJCPD1

;

',IPKAD
IPKVA
IPKVA

IPKVAOOO

IPKVA

ESERVD

IPKVAOO2
IPKVDOOO

IPKVA
IPKVD

ESERVE

IPKVEOOO

IPKVE

ESERVF
ESERVG

IPKVFOOO
IPKVGOOO

IPKVF
IPKVG

ESERVI

IPKVIOOO

IPKVI

ESERVB

IP:kVKOOO
IPKVBOOO

IPKVK
IPKVB

Figure 1.

10

Initializer
SYSIPT/SYSPCH/SYSLST logic module
(CPMOD)
I " Basic interface routines, common
datCi, area
Workfile loaic module
control record and dictionary
overflow
Process keyword table and global
array
Convert ed1ted text to source
Process variable and sequence
symbol dictionary
Process prototype, symbo11C
variable references, and sequence
symbol definitions
U~date processing (if necessary)
ABEND rout1ne

Phase/Control Section/Object Module Directory.
shows how the phases of the ESERV program are
control sections and object modules.

This figure
into

divide~

Summary of ESERV Ph..es and FunctioN

[

The following figure describes the functions and subfunctions
accomplished in each phase of the ESERV program. For information on the
various control sections and object modules of the phases see Figure 1.
Phase

Function

ESERV

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

ESERVD
ESERVE
ESERVF

ESERVG

ESERVI

Figure 2.

Open workfiles, SYSIPT, and SYSLST
Compute buffer sizes and table addresses
Perform I/O
Check file assignments
Check edited deck for sequence error
Output record and insert statement number
Read and process control records from SYSIPT
Read edited macro from source statement library
Branch to appropriate subroutines
Read and save keyword table
Read global array and build global declarations
Build shrunk keYWord table and alobal array
Determine type of record
Determine field to be de-edited
Reconstruct original source order of operands and
operators

• Build positional parameter and local variable
dictionaries
• Build local declarations
• Build sequence symbol dictionary blocks
• BU1ld prototype statement
• Decompress and insert global and local declarations
• Decompress and insert model statements
• Regenerate conditional assembly and inner macro calls
• Perform update operation (if necessary)
• Output source record
• Output update survey (if update performed)
Summary of ESERV Phases and Functions

Program Organization

11

ESERV Control and Data Flow
ESERV
Input

Source
statement
library

(I nitializel

Edited
macro
definition

WF2
KT records
GBLx inst.
Edited text
LCLx inst.

ESERVD
ESERVE
ESERVF
ESERVG

.

WF1

~ ~p~a!: ~e'!..ue~t~ ___

ESERVI
I-'
tv

Output

Figure 3.

SYSLST

------.

If sequence error

WF2

- -

Update control
records

Error statement
numbers

ESERV control and Data Flow

.~·~··~ff

l

ESERV Main Storage Allocation

The vertical axis of the diagram below represents the amount of main storage available to the partition. The
horizontal axis represents time, the order in which the phases are loaded and executed in main storage. Most
of the ESERV phase is in main storage throughout execution. ESERVD is in main storage during the
execution of phases ESERVE, ESERVF, and ESERVG. The shaded portion of the diagram represents the
work areas, buffers, dictionaries, tables, etc., of the phases. These work areas are illustrated in Figures 5
and 6.

Low address of
partition
ESERV

5.7K

ESERVD

High address of
partition

Figure 4. ESERV Main Storage Allocation

Program Organization

13

Main Storage Work Area Layouts

The following figures illustrate the work areas, buffers, dictionaries, etc., used by the
phases of ESERV while they are in main storage. Figure 5 describes the contents of
the work areas used jointly by phases ESERVE, ESERVF, and ESERVG. Work areas,
etc., generally begin at the high storage address and work downwards using only as
much of the available storage as they require. The information shown on Figures 5
and 6 corresponds with the shaded portion of Figure 4.

End of code
Not used

LlBRBUF

Input buffer and work area for macro block from library
P1WKAR

Work area for workfile 2
BUFFILE2

Output buffer for workfile 2
SSDADDR

Sequence symbol dictionary (SSO)
LVDADDR

/1.:;~c~l4~riable dict!9~y (LVD)
/

PPDADDR

/
/

/

GAADDR

..

Positional par~meter dictionary (PPD)

"Shrunk" global array (GA)
KTADDR

"Shrunk" keyword table (KT)
PRNTADDR

Print area

Figure 5.

Work Area Layout for Phases ESERVE, ESERVF, and ESERVG

.e(

'"
14

/

End of code

ERRNUMBL
P2WKAR2

Error statement number block

Work area 2 for workfile 2

P2WKAR1
Work area 1 for workfile 2

BUFFILE2

I nput buffer for workfile 2

SSDADDR

Sequence symbol dictionary (SSD)

LVDADQR
local variable dictionary (lVD)

PPDADDR
GAADDR

Positional parameter dictionary (PPD)
"Shrunk" global array (GA)

KTADDR
"Shrunk" keyword table (KT)

PRNTADDR
Print area

Figure 6.

Work Area Layout for Phase ESERVI

Program Organization

15

FSERV Common
Information used in common by various phases of ESERV is divided up as
follows:
•
•
•
•

CQMMQNEQ
COMNDATA
COMSTRUC
INTFBRTB

COMMONEQ
All information in .COMMONEQ (basically the same as the assemblerEQU
function) is in the form of CONSTANT declarations in PL/S II code.
COMMONEQ is. compiled as INCLUDE code in each module of the ESERV
program. No storage space is allocated for COMMONEQ. The following
information is contained in COMMONEQ:
•
•
•
•
•

Internal code equates
Pseudo (Internal) operation code equates
Operand and operator equates
Register equates
Miscellaneous equates (print control character,
END flag for dictionaries and continuations cards etc.)

COMNDATA

)

/'

. /. /
All the information in COMNDATA is coded as one based structure. This
is done in order to achieve the same effect as a -DSECT-version- of a
common data area written in assembler language. COMNDATA is complied as
INCLUDE code in each module of the ESERV program. The -CSECT-versionof COMNDATA is contained in the interface module IPKVA and is written in
assembler language.
The following information is contained in COMNDATA:
•
•
•
•
-

Option switches
Buffer sizes
NOTE/POINT values
Parameter tables
Miscellaneous pointers (addresses of various buffers and workareas,
some special pointers to certain based structures, etc.)

16

COMSTRUC
All the information in COMSTRUC is in the form of based structures.
COMSTRUC is compiled as INCLUDE code in each module of the ESERV
program.
The following information is contained in COMSTRUC:
• Declarations of various structures used by more than one phase
of the ESERV program (COMHEAD, KTITEM, STRINGS, etc.)

INTFBRTB

I

I

The INTFBRTB data area is the same as the DOS/VS Assembler branch table
in COMMON except that some symbols have been added (FINDBOK and GETREC)
and some have been deleted (PFETCH, PRETURN, PSAVE, and PPOIN'l'GN). The
DSECT PFCB is also included in the INTFBRTB data area. INTFBRTE is
included in each module as COpy code during assembly time.

I

r

i .

I
I

I

Program Organization

17·

(""
"

.....:..,./

Data Areas

Purpose of the Section
This section shows the contents of the common
data area located in the beginning of the
interface module IPKVA. It contains information
such as parameter tables and NOTE/~OINT value
tables for dictionaries, addresses of workareas,
end-of-file addresses, switches, etc., used by
various modules of ESERV. It is in storage
throughout the execution of ESERV. Workarea
addresses referred to in the method-of-operation
diagram and the workarea layout diagrams, are
defined in this data area. This data area is
accessable through the structure COMNDATA
in all modules except IPKVB.

C'
.. j/

Data Areas

19

DATA AREA:

IPKVA

DISPLMNT
DEC (HEX)

SIZE

o

(0)

FIELD
NAME

DESCRIPTION:
MEANING/USE

CONTENTS

EMBEDDED IDENTIFIER

8

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

*
*
BRANCH TABLE FOR THE INTERFACE MACROS
*
*
*****************************************************************
***************************************************************
**

REGISTER EQUATES

**

*****************************************************************
• •• 1
• • 1.

• • 11
• 1 ••

• 1. 1
• 11.
• 111
1 •••

1 •• 1
1. 1.
1. 11
11 ••
11. 1
111.
1111
• 11.
• 111
1 •••

1 •• 1
1.1.
1. 11
11 ••
11. 1
111.
• • 1.

RO
Rl
R2
R3
R4
R5
R6
R7
R8
R9
R10
R 11
R12
R13
R14
R15
ROFFS
RPARM
RFILE
RINPT
ROUTPT
RBIF
RBB
RBA
RBR
RBRSAVE

PARAMETER REGS
*FOR
*INTERFACE MACROS
PGETL RECORD POINTER
PPUTL RECORD POINTER
INTERFACE BASE REGISTER
*
*
STANDARD BRANCH REGISTER
BRANCH REGISTER FOR PSAVE

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

*
*
BIT EQUATES FOR BIT HANDLING MACROS
*
*
*
*
***************************************************************
1 •••

• 1 ••
• • 1.
• •• 1

1 •••
• 1 ••

• • 1.
20

BITO
BIT1
BIT2
BIT3
BIT4
BIT5
BIT6

DISPLNMT
DEC (HEX)

FIELD
NAME

SIZE

r--

• •• 1

1111 1111

DESCRIPTION:
MEANING/USE

CONTENTS

BIT7
BITFF

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

*

*

MASK EQUATES
*
*
**********************************************************
• 111

1 •••
• •• 1

86

1

(S6)
1 •••
• 1 ••

• • 1.

r-\

ADDR
HIGHBY'IE
LOWBYTE

'ICM MASK' FOR ADDRESS

JSWOOOS

PROGRAM SWITCH

POPSW
PLIST
PI NEOFSW

TELLS PRETURN TO POP STACK
OPTION LIST
END OF FILE ON SYSIPT

87

(S7)

6

NP'IEMP

87
89
90
91

(S7)
(S9)
(SA)
(SB)

2
1
1
2

NPTEMPCC
NPTEMPH
NPTEMPR
NPTEMP'IB

TEMPORARY STORAGE FOR READNEXT
NOTE VALUE
CYLINDER
HEAD
RECORD
REMAINING TRACK CAPACITY

• 1. 1 • 111

PABENDC

CODE FOR ABEND REASON

********************************************************
*
*
FILE CONTROL BLOCKS
*
*
*
*
********************************************************
93
93
96
99
102
104
107
110
111
114
122
128
128
131
14S

(SD)
(SD)
(60)
(63)
(66)
(68)
(6B)
(6E)
(6F)
(72)
(7A)
(80)
(80)
(83)
(91)

3S
3
3
3

2
3
3

PFILE2
PDTFADR2
BUFPT2
BUFADDR2
PBUFLEN2
PENDBUF2
PWAADDR2

1
3

8
6
3
3

14
1

PEOFADR2
PNPOIN'I2
PNEXTNP2
PFILE1
PDTFADR1

FILE CONTROL BLOCK FOR FILE 2
ADDRESS OF DTFSD
POINTER TO NEXT RCD IN BUFFER
ADDRESS OF BUFFER
BUFFER LENGTH
ADDRESS OF LAST BYTE OF BUFFER
ADDRESS OF WORKAREA
SWITCHES (SEE DSECT PFCB)
ADDRESS OF END-OF-FILE ROUTINE
NOTE/POINT VALUE
N/P VALUE FOR NEXT BLOCK
FILE CONTROL BLOCK FOR FILE 1
ADDRESS OF DTFSD
NOT USED FOR FILE1
SWITCHES

Data Areas

21

DISPLMNT
DEC (HEX)

SIZE

FIELD
NAME

DESCRIPTION:
MEANING/USE

CONTENTS

•••••••••• ** •• *•• *.* •••••• ** •••••• *.*.** •••••••••••• *••

•
•
FILE CONTROL BLOCK DSECT
• PFCB:
••
•.** ••••••• ** ••••••••••••••• *•• *.** •• *.**.*.* •••••••••••
0

(0)

3
6

(3)

9
11
14

(9)
(B)
(E)

2

17

( 11)

3
3

PDTFADDR
BUFPT
BUFADDR
PRECLEN
ENDBUF
PWAADDR

ADDRESS OF
POINTER TO
ADDRESS OF
MAX RECORD
ADDRESS OF
ADDRESS OF

1

PFCBSW

PROGRAM SWITCH

OPENSW
READSW
UPDSW
BUF2SW
UPD2SW
FIRSTSW
PFCBSW1
PFCBSW2

IF
IF
IF
IF
IF
IF

PEOF
PNOTEPNT
PNPRW
PCCHR
PTRKBAL
PNPOFFS
PNEXTNP

EOF ADDRESS
NOTE POINT VALUES

3
3
3

(6)

1 •••
.1 ••
• • 1.
••• 1

·...
1 •••

.1 ••
• • 1.
• •• 1

18
21
21
21
25
27
29

22

( 12)
( 15)
( 15)
( 15)
( 19)
(1B)
(1D)

3

8
6

4
2
2
1

•
•

1,
1,
1,
1,
1,
1,

DTF
RECORD IN BUFFER
BUFFER
LENGTH
LAST BYTE OF BUFFER
WORKAREA

FILE OPEN
READ, IF 0, WRITE
WRITE UPDATE
TiID BUFFERS
UPDATE MODE
FIRST I/O OPERATION

CYLINDER, HEAD, RECORD
TRACK BALANCE
RECORD OFFSET FROM BUFFER START
N/P VALUE FOR NEXT BLOCK (LNG=PNPRW)

~/

DISPLMNT
DEC (HEX)

[

SIZE

CONTENTS

(92)

SAVMHFLG

SAVEAREA FOR MAC HEAD FLAG

146

(93)

JSWOO09

PROGRAM SWITCH

GLBVARB
KWPARB

TWO UNUSED BITS
GLOBAL ARRAY PRESENT SW

OFSINCR

KEYWORD TABLE PRESENT
NOT USED YET
LENGTH OF MACRO NAME
MACRO LIBRARY
NAME OF MACRO
NIP VAL TO WRITE ERRNUM BLOCK
NIP VAL TO READ ERRNUM BLOCKS
NIP VAL FOR EDITED TEXT
NIP VAL FOR LCLX RECORDS
NIP VAL FOR UPDATE CONTROL
STATEMENTS
TABLE OF NIP VALUES (LNG=6*5)
NIP VAL FOR PPC
NIP VAL FOR LVD
NIP VAL FOR GA
NIP VAL FOR SSD
NIP VAL FOR K'I
TABLE OF PARAMETER TABLES (LNG=6*5)
FOR PREAD/PWRITE
PARAMETER TABLE FOR PPD
PPD BUFFER ADDRESS
PPD BUFFER LENGTH
PARAMETER TABLE FOR LVD
LVD BUFFER ADDRESS
LVD BUFFER LENGTH

....

•• 1 •

l

DESCRIPTION:
MEANING/USE

146

....

r

FIELD
NAME

.• 1.

147
149
150
151
152
160
166
172
180
188

(95)
(96)
(97)
(98)
(AO)
(A6)
CAC)
(B4)
(BC)

2
1
1
1
8
6
6
8
8
6

194
194
200
206
212
218
224

(C2)
(C2)
(C8)
(CE)
(D4)
(DA)
(EO)

0
6
6
6
6
6
0

224
224
227
229
229
231

(EO)
(EO)
(E3)
(E5)
(E5)
(E8)

5
3
2
5
3
2

(93)

MACLGTH
MACLIB
MAC NAME
ERNPTWR
ERNPTRD
TXTNPT
LCLXNPT
UPDATNPT
NOTVALTB

PRMTABLS
PPDADDR
PPDL
LVDADDR
LVDL

Data Areas

23

it

DISPLMNT
DEC (HEX)

FIELD
NAME

SIZll:.

DESCRIPTION: CONTENTS,
MEANING/USE ,
!

234
234
237
239
239
242
244
244
247
249
249
252

(EA)
(EA)
(ED)
(EF)
(EF)
(F2)
(F4)
(F4)
(F7)
(F9)
(F9)
(FC)

5
3
2
5
3
2
5
3
2
5
3
2

254

(FE)

1
1 •••
• •• 1

1 •••

.1 ••
... 1.
• •• 1

255

1

(FF)

1 •••
• 1 ••
• • 1.
• •• 1 '

(100)

1 •••
• 1 ••

1

··.......

1 •••
.1 ••

JSWOO10

PROGRAM -SWITCH

SWCRDMIS
SWREC
SWLIST
SWPUNCH
SWUPD
SWCOL1
SWPCHOPN
SWPASGND

ON IF GETREC FOUND SEQ ERR
ON IF CONTROL. RECORD IN PROCESS
LIST OPTION REQUESTED
PUNCH OPTION REQUESTED
ON IF UPDATE MODE
ON IF FIRST RCD
ON IF SYSPUNCH OPENED
ON IF SYSPUNCH ASSIGNED

JSW0011

• • 1.
• •• 1

256

ERRNUMBRS
ERRNUMBL BUFFER LENGTH

..

SSDADDR
SSDL

~

• • 1.

ERRNUMBL
ERRL

GAADDR
GAL

··......

• 1 ••

KTADDR
KTL

PARAMETER TABLE FOR GA
GA BUFFER ADDRESS
GA BUFFER LENGTH
PARAMETER TABLE FOR SSD
SSD BUFFER ADDRESS
SSD BUFFER LENGTH
PARAMETER TABLE FOR I:NCATA 16
compressed source records format 43
format for global declarations 41
format for local declarations 42
COMSTRUC 17
control flow 12
control records 7
update 7,8
control section/phase/object module
directory 10
CONSTANT declarations
16
current release number, how to find 30

d
data area/field cross-reference
data area IPKVA 20-25
data flow 12
diagnostic aids 29

26-28

e

keyword parameters 7
keyword table records 7
edited statement format

40

I
local declarations 7
local variable dictionary

7

m
macro block header
edited statement format 38
macro prototype statement 7
main storage allocation 13
main storage work area layouts
method of operation diagram 6
how to read 3
symbols used in 7

14,15

o

edited macro instruction £ormat
edited statement formats 37-46
error statements, listing of 8

44

f
field/data area cross-reference 26-28
function of ESERV program 1
functions of the phases, summary of 11

object module/phas~/control section
directory 10
object module identifier 30
operational considerations
control information 2
input 2
output 2
operation codes 47
overflow technique 7

p

g
global declarations

7

7

phase
control section/object module
directory 10
Index

49

I/O activity 31-33
workfile layouts 32-33
physical considerations 2
positional parameter dictionary
program identification 30
pseudo operation codes 47
purpose of ESERV 1

r

7

statement numbers, insertion of
summary of phases and functions
source macro, printing of 7
system configuration 1
system interfaces 1

11

u

register usage 34
release number, how to find 30
reverse polish notation 7, 41

update changes 8
update control records
UPDATE option 2
survey listing 2

s

v

sequence symbol dictionary 7
record format 42
SETx edited statement format 43
shrunk global array 7
shrunk keyword table 7
size of ESERV 1

variable symbol dictionary
record format 42

7,8

7

w
work area layouts, main storage
workfile layouts 32-33

50

8

14,15

'c'

I)

SY33-8567-1

o

oen

.......

<
en

m

»
~

3

I:::J

en
....
r
o

to

0'

o
oen
.......
<
en

m

International Business Machines Corporation
Data Processing Division
1133 Westchester Avenue, White Plains, New York 10604
(U.S.A. only)
IBM World Trade Corporation
821 United Nations Plaza, New York, New York 10017
(International)

SY33-8567-1

READER'S
COMMENT
FORM

DOS/VSE Assembler Logic

r-Your views about this publication may help improve its usefulness; this form
will be sent to the author's department for appropriate action. Using this
form to request system assistance or additional publications will delay response,
however. For more direct handling of such request, please contact your
IBM representative or the IBM Branch Office serving your locality.

n

c

-i

»

r

o
z
Cl
o
o
~
m
o
C
Z
m

Reply requested:
Yes 0
No
0

Name:
Job Title: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Zip _ _ _ _ _ _ _ __

Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A. (Elsewhere, an IBM office
or representative will be happy to forward your comments.)

SY33-8567-1

DOS/VSE Assembler Logic
Your comments, please ...
This manual is part of a library that serves as a reference source for systems analysts,
programmers, and operators of IBM systems. Your comments on the other side of this
form will be carefully reviewed by the persons responsible for writing and publishing
this material.
IBM may use or distribute any of the information you supply in any way it believes
appropriate without incurring any obligation whatever. You may, of course, continue
to use the information you supply.

(")

C
-i
0
:0
"T1

0

r

Fold

FOld

0

»
r

en
.......

0

<
en

Cl

»

z

r

First Class
Permit 40
Armonk
New York

0

0

z

m

m
II>
II>

CD

3

CT

...

CD
r

0
C:;.


r
0

z

G)

First Class
Permit 40
Armonk
New York

C
z
m

0

a
en
-.
<
en
m

»
en
~

3

t:T

...iD

r

0

tQ

o·

-n
iD

Business Reply Mail

z /--,

91

No postage stamp necessary if mailed in the U.S.A.

en\.
W
.....
9I\)

< ••

-

Postage will be paid by:

0

a
en
-.
<
en

International Business Machines Corporation
Department 813 L
1133 Westchester Avenue
White Plains, New York 10604

m

""C

:::!.

...
::J

CD

Co
::J

C

en
Fold

Fold

~

en

-<

W
W

00

(J1

a>

';-I
....

International Business Machines Corporation
Data Processing Division
1133 Westchester Avenue, White Plains, New York 10604
(U.S.A. only)
IBM World Trade CorporatiOn
821 United Nations Plaza, New York, New York 10017
(International)

j

SY33-8567-1

READER'S
COMMENT
FORM

DOS/VSE Assembler Logic

Your views about this publication may help improve its usefulness; this form
will be sent to the author's department for appropriate action. Using this
form to request system assistance or additional publications will delay response,
however. For more direct handling of such request, please contact your
IBM representative or the IBM Branch Office serving your locality.

n

c

-I

»
r

o
z
o
o

Cl

-I
-I

m
"~

,

(

o

"

!

-j

C
Z

m

Reply requested:
Yes 0
No
D

o

Name:
Job Title: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Zip __________

Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A. (Elsewhere, an IBM office,
or representative will be happy to forward your comments.)

·'·t

SY33-8567-1

DOS/VSE Assembler Logic

"-r"/' >'"

"'-_i)
Your comments, please ...
This manual is part of a library that serves as a reference source for systems analysts,
programmers, and operators of IBM systems. Your comments on the other side of this
form will be carefully reviewed by the persons responsible for writing and publishing
this material.
'
IBM may use or distribute any of the information you supply in any way it believes
appropriate without incurring any obligation whatever. You may, of course, continue
to use the information you supply.

o

C
-I

o

JJ

o"

l>
r

o
o
~
<
Ul

G)

»

r
Fold

Fold

o

....................................................................................................... oz
r

First Class
Permit 40
Armonk
New York

Z

m

m

~

3

0-

m
.,

b
o·

cc

"m

Business Reply Mail

t ',t!"""'\

~\.)
~,-..<

No postage stamp necessary if.mailed in the U.S.A.

<;'

'"

Postage will be paid by:

o

@
«
Ul

--

International Business Machines Corporation
Department 813 L
1133 Westchester Avenue
White Plains, New York 10604

m

"'tI
~.

:J

at
c..

......................................................................................................
Fold

Fold

:J

c

en'
~

Ul

-<.

to)

CfJ

(X)

U'1

....~

International Business Machines Corporation
Data Processing Division
1133 Westchester Avenue, White Plains, New York 10604
(U.S.A. only)
IBM World Trade Corporation
821 United Nations Plaza, New York, New York 10017
.(International)

,--_ _...,0
Translate
Source
Code into
Object
Code

I

2

1

Expand
Macro Inst.
and do
Conditional
Assembly

1.3
Global
Edit

Assemble

1.5

1.4
Collect
and Insert
Attributes

Generate

2.1
Edit
Assembler
and
Machine
Instructions

2.2
Collect
Symbol
Definitions

2.3
Resolve
Symbol
References

2.4
Build
Object
Code 1

•
1.3

]

1.3.1
Build
Global
Vector

1.5.1
Build
Macro
Dictionary
Block

2.1.1

1.5.2
Evaluate
Reverse
Polish
Notation

2.1.2
Handle
Literals

Edit

2.2.1
Build
Symbol
Table

2.6

2.5
Print!
Punch the
External
Symbol
Dictionary

2.2.2
Build
External
S.ymbol
Dictionary
Table

2.8

2.7

Build
Object
Code 2

PostProcess

Output

•
I

2.4.1

Process
Machine
Instructions

I

2.4.2

Process
USING
and
.'
DROP

I

2.4;3

Process
Address
Constants
and CCWs

2.7.1
Process
Edited
Text

2.8.1
Print/
Punch
the
Relocation
Dictionary

2.8.2
Sort and
Print the
CrossReference
Dictionary

2.8.3
Diagnostics
and
Statistics

2.1.1.1
Convert
Assembly
Expressions
to Reverse
Polish

Figure 46.

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

Table of Contents for Method of Operation Diagrams

51

J

,...---..."o
Translate
Source
Code into
Object
Code

I

2

1

Expand
Macro Inst.
and do
Conditional
Assembly

1.1

1.2

Punch
Edited
Macro
Definitions

Local
Edit

1.1.1

Compress
and Edit

1.1.2

Edit Macro
Definitions
and
Conditional
Assembly

1.3

Global
Edit

1.1.3

Resolve
Sequence
Symbol
References

Assemble

1.5

1.4

Collect
and Insert
Attributes

1.3.1

Build
Global
Vector

Generate

1.5.1
Build
Macro
Dictionary
Block

2.2

2.1

Edit
Assembler
and
Machine
Instructions

Collect
Symbol
Definitions

2.1.1

-,

Convert Pre·
Assembly
Expressions
to Reverse
Polish

2.1.2

Handle
Literals

Edit

•

1.1.2.1

Resolve
Symbol
References

2.4

Build
Object
Code 1

•

1.5.2

Evaluate
Reverse
Polish
Notation

2.3

2.2.1

Build
Symbol
Table

Print!
Punch the
External
Symbol
Dictionary

2.2.2
Build
External
Symbol
Dictionary
Table

2.7

2.6

2.5

Build
Object
Code 2

Output

•
I

2.4.1

Process
Machine
Instructions

~2
Process
USING
and
DROP

~.3
Process
Address
Constants
and CCWs

[

2.1.1.1
Convert
Assembly
Expressions
to Reverse
Polish

Figure 46.

Ta

,',"



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
Producer                        : Adobe Acrobat 9.31 Paper Capture Plug-in
Modify Date                     : 2010:03:20 21:51:58-08:00
Create Date                     : 2010:03:20 21:51:58-08:00
Metadata Date                   : 2010:03:20 21:51:58-08:00
Format                          : application/pdf
Document ID                     : uuid:7bc68c30-abbc-4199-992f-6e1c5de301db
Instance ID                     : uuid:99325ff8-c414-4d7b-9b47-10a5317b02e9
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 402
EXIF Metadata provided by EXIF.tools

Navigation menu