Skip to main content

Full text of "ibm :: 370 :: DOS VSE :: SY33-8567-1 DOS VSE Assembler Logic Mar79"

See other formats


( 



SY33-8567-1 



Systems DOS/VSE Assembler Logic 

Program Number 5745-SC-ASM 



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 otherwise 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-I8I 09 Lidingo 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 f 



Preface 



( 



Purpose of the Manual 



The purpose of the manual is to aid Programming Systems Representatives 
locate and circumvent faults in the DOS/VSE Assembler , and to assist 
system programmers with fixing or altering the program design. The 
manual describes the logic, structure, and operation 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 DOS/VSE Assembler. 

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

Each part 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 
and subfunctions; 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. 

"Directory" 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" contains information on debugging the assembler, 
I/O activity and workfile formats for each phase, and register usage. 

"Appendixes" 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" 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 and 
register addressing, and the functions and formats of machine language 
instructions. 

OS/VS-DOS/VSE-VM/370 Assembler La nguage, Order No. GC33-U010, which 
contains information on the functions and formats of assembler language 
instructions, and the coding of macro definitions and instructions. 

Guide to the DOS/VSE 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 



( 



f*\ 



INTRODUCTION 

Size of the Assembler 

Purpose and Function of the Assembler 

Environmental Characteristics 

System Configuration 

Device Needs 

System Interfaces 2 

Physical Considerations 2 

Operational Considerations 2 

Input 2 

Output 3 

Control Information for the Assembler 3 

Special Feature of the Assembler 3 

Macro Library and COPY Library 3 

ESERV (De-edit) Program 3 

METHOD OF OPERATION 5 

Purpose of the Section 5 

How the Section Is Organized 5 

How to Read the Diagrams and Descriptions 5 

Translate Source Code into Object Code 8 

Expand Macro Instructions and Do Conditional Assembly 10 

Local Edit 12 

Compress and Edit 14 

Edit Macro Definitions and Conditional Assembly 16 

Convert Pre-Assembly to Reverse Polish Notation 18 

Resolve Sequence Symbol References 20 

Punch Edited Macro Definitions 22 

Global Edit . . 24 

Build Global Vector 28 

Collect and Insert Attributes 30 

Generate 32 

Build Macro Dictionary Block 36 

Evaluate Reverse Polish Notation 38 

Assemble 40 

Edit for Assembler and Machine Instructions 42 

Edit 44 

Convert Assembly Expressions to Reverse Polish Notation 46 

Handle Literals 48 

Collect Symbol Definitions 50 

Build Symbol Table 52 

Build External Symbol Dictionary Table 54 

Resolve Symbol References . 56 

Build Object Code 1 .58 

Process Machine Instructions • 60 

Process USING and DROP 62 

Process Address Constants and CCWs 64 

Print/Punch the External Symbol Dictionary . . . 66 

Build Object Code 2 68 

Output 70 

Process Edited Text . 72 

Post Process 74 

Print/Punch the Relocation Dictionary 76 



vii 



Sort and Print the Cross- Reference Dictionary 78 

Diagnostics and Statistics . . . • . . . 80 

Initialize . . . . . . ... 82 

ABEND . . 84 

PROGRAM ORGANIZATION ......... 87 

Purpose of the Section . . 87 

Phase/Control Section/Object Module Directory .... ..88 

Summary of the Functions of Each Phase • •.•••........ . 90 

Control and Data Flow Between Phases . . ... . . . . . . ... . .92 

Allocation of Main Storage for the Phases . 94 

Main Storage Layouts of the Phases .......... 95 

Common Data Area for the Assembler . . . . .110 

DIRECTORY.. . . . .111 

Purpose of the Section 1 1 1 

DATA AREAS 1 29 

Purpose of the Section . .... . . . . .129 

Data Area Field Cross- Reference ................ .201 

DIAGNOSTIC AIDS • .211 

Purpose of the Section 21 1 

Debugging Aids ............. .... .212 

Wrong Assembler Output . . . ... . . . . .212 

Program Check . . . . . ... . . . .... . . .212 

Program Identification . . ... .218 

I/O Activity and Workfile Layouts . . . . . . . . . .219 

Register Usage for the Assembler . ... . . . . . . . 235 

APPENDIXES .................. .237 

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



APPENDIX B 

APPENDIX C 

APPENDIX D 

APPENDIX E 

APPENDIX F 

APPENDIX G 

APPENDIX H 

APPENDIX I 

APPENDIX J 



MODULE/ENTRY SYMBOL/EXTRN SYMBOL CROSS-REFERENCE . . . .2 43 

MACRO AND COPY CODE USAGE .............. .245 

ELEMENT FORMATS . . . . ... . . . .259 

PSEUDO (INTERNAL) OPERATION CODES . .267 

INTERNAL CHARACTER SET ................ .269 

EDITED TEXT FLAGS ............ .271 

EDITED STATEMENT FORMATS ............... .273 

STATEMENTS MODIFYING DATA AREAS ..... . . . ... .283 

APAR DOCUMENTATION FOR THE ASSEMBLER .315 



INDEX 317 

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



4 '"• 



Vlll 



Figures 



( 



( 



Figure 1. Phase/Control Section/Object Module Directory (1 of 2) . . 87 

Figure 2. Summary of the Functions of Each Phase 89 

Figure 3. Control and Data Flow Between Phases 92 

Figure 4. Allocation of Main Storage for the Phases 93 

Figure 5. ASSECA Main Storage Layout 96 

Figure 6. ASSEDA Main Storage Layout 96 

Figure 7. ASSEEA Main Storage Layout 97 

Figure 8. ASSEGA Main Storage Layout 98 

Figure 9. ASSEFA Main Storage Layout 99 

Figure 10. ASSEHA Main Storage Layout 100 

Figure 11. ASSE1A Main Storage Layout 101 

Figure 12. ASSEJA Main Storage Layout 102 

Figure 13. ASSEKA Main Storage Layout 103 

Figure 14. ASSELA Main Storage Layout 104 

Figure 15. ASSEMA Main Storage Layout 105 

Figure 16. ASSEOA Main Storage Layout 106 

Figure 17. ASSEQA Main Storage Layout 107 

Figure 18. ASSERA Main Storage Layout 108 

Figure 19. ASSERB and ASSERC Main Storage Layouts 108 

Figure 20. ASSESA Main Storage Layout 109 

Figure 21. I/O Activity for ASSECA 220 

Figure 22. I/O Activity for ASSEDA 221 

Figure 23. I/O Activity for ASSEEA 222 

Figure 24. I/O Activity for ASSEGA 223 

Figure 25. I/O Activity for ASSEFA 224 

Figure 26. I/O Activity for ASSEHA 225 

Figure 27. I/O Activity for ASSEIA . .226 

Figure 28. I/O Activity for ASSEJA 227 

Figure 29. I/O Activity for ASSEKA 228 

Figure 30. I/O Activity for ASSELA 229 

Figure 31. I/O Activity for ASSEMA 230 

Figure 32. I/O Activity for ASSEOA 231 

Figure 33. I/O Activity for ASSEQA 232 

Figure 34. I/O Activity for ASSERA, ASSERB, ASSERC 233 

Figure 35. I/O Activity for ASSESA 234 

Figure 36. Register Usage 235 

Figure 37. Registers Changed by Interface-Routine Operation .... .236 

Figure 38. Diagnostic Message Number/Module/Diagram Cross-Reference 

(1 of 5) 238 

Figure 39. Module/Entry Symbol/EXTRN Symbol Cross-Reference 

(1 of 2) 243 

Figure 40. Macro Usage (1 of 10) 245 

Figure 41. COPY Code Usage (1 of 3) 255 

Figure 42. Element Formats: Part 1. Operands (1 of 2) 260 

Figure 43. Element Formats: Part 2. Operators (1 of 4) 263 

Figure 44. Pseudo (Internal) Operation Codes (1 of 2) 267 

Figure 45. Internal Character Set 269 

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



IX 



4" 



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 - DOS/VSE - 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 Disk 

SYSIPT Card, Tape, or Disk 

SYSSLB (optional) Disk 

SYSLST (optional) Printer, Tape, or Disk 

SYSPCH (optional) Card, Tape, or Disk 

SYSLNK (optional) Disk 

SYS001, SYS002, SYS003 Disk 



DEVICE NEEDS 

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 functions of these interface 
modules are listed below. 

IPKAA Basic system interface routines (workfile I/O 

and subroutine call routines) , common data area 
(COMMON) 

IPKAB SYSSIPT, SYSSLB input routines 

IPKAC SYSPCH routine for EDECK output 

IPKAD SYSSLB logic module (DTFSL) 

IPKAE SYSSLB routines for reading edited macros from SYSSLB 

IPKAF SYSPCH/SYSLNK output routines 

IPKAG SYSIPT logic module (CPMOD) 

IPKAH SYSPCH/SYSLNK/SYSLST logic module (CPMOD) 

IPKAI 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" for a table showing the phases f 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 SYSRES/SYSSLB 

source statement library) 

Edited macro definitions SYSRES/SYSSLB 

(sublibrary E on a source 
statement library) 

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 DOS/VSE Assembler . 



V 



( 



OUTPUT 

Assembler output is as follows: 

Object modules SYSLNK/SYSPCH 

Source macro definitions (in SYSPCH 
edited format) 

Program listing SYSLST 

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



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 Asse m bler . 



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-EDIT) PROGRAM 

The ESERV program translates edited macros back into their source 
format. This "de-editing" may be optionally combined with an update of 
the macro. The logic of the ESERV program is described in Part 2 of 
this manual. For a complete description of how to use the program see 
Guide to the DOS/VSE Asse m bler . 



Introduction 



v_. 



Method of Operation 



( 



C 



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 sub- 
functions 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 subf unction. 



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 output as 
you proceed through the diagram. Use the extended descriptions if you 
require more detailed information. 



INPUT 



AREA 1 



EDIT 
PROCESS 



OUTPUT 



^> 



^> 



OUTPUT A 



fn> 



0> 



EXT. DESCRIPTION MODULE ROUTINE 



( 



The following symbols are used in the diagrams, 



_/ Data flow 



Data reference 



(MNAENT) 



-^ Pointei 



Main storage 
address 




Reference to 
another diagram 




Control flow 



PSTRINGS DSECT name 



Method of Operation 7 



Translate Source Code into Object Code 



INPUT 



SOURCE STATEMENTS 
SOURCE MACRO DEFINITIONS 




(SYS/PT) 



COPY CODE 

EDITED MACRO DEFINITIONS 



(SOURCE STA TEMENT 
LIBRARY) 



PROCESS 



OUTPUT 



1 EXPAND MACRO INSTRUCTIONS 
AND DO CONDITIONAL ASSEMBLY 



2 ASSEMBLE OBJECT CODE FROM 
MACHINE AND ASSEMBLER 
INSTRUCTIONS 




^\ 






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 

PROCESS 



OUTPUT 




f- \ 



1 



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. 

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. 



1.1 



INPUT 



SOURCE 

CODE (SYSfPT) 



' 73 



SOURCE 

CODE (SYSSLB) 



1 COMPRESS AND 
EDIT 




Local Edit 



PROCESS 



^> 




If no conditional 
assembly or macros 



2 CONDITIONAL 
ASSEMBLY 
AND MACRO 
DEFINITIONS 




^> 



3 RESOLVE 
SEQUENCE 
SYMBOL 
REFERENCE 




OUTPUT 




f"\ 



1.1 



2. 



EXTENDED DESCRIPTION 

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

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



MODULE 


ROUTINE 


IPKCC 


MfROUT 


IPKCA 




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 



1.1.1 



INPUT 



SOURCE TEXT (SYSIPT,SYSSLB) 



Source 
macro 
definitions 



Open code 



MACRO 



MEND 
MACRO 



MEND 
MACRO 



MEND 
MACRO 



MEND 

MACRO 

MAC1 &A,&B,&C=C 



MEND 

BEGIN 
MAC1 X,Y 

MAC1 U,V 



END 



<2i 



Compress and Edit 

PROCESS 



c> 






-N 



IPKCA 

1 READ SOURCE 

2 COMPRESS ALL RECORDS 

3 INSERT OP CODESs 

j 

' OPCODE TABLE (IPKCB) 



4 EDIT MACRO 
PROTOTYPES 



5 EDIT MACRO 
INSTRUCTIONS 






BUILD MACRO NAME ARRAY 



OUTPUT 




TEXT FILE (WORKFILE 2) 



(tt> 



®P 



Edited prototype records 



Rest of macro definition 
(compressed) 



Compressed source 
statements 



Edited macro instructions 



Compressed source 



Edited macro instruction 



Compressed source 



EDPMI 



source 
definitions 



PCSR 



PCSR 
EDPMI 



Open 
code 



MACRO NA ME ARRAY (WORK FILE 3) 

MNAENT 




Index 


Name 
length 


Name 









IPKDA 






n 



1.1.1 



EXTENDED DESCRIPTION 



2. 



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. 

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



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". 

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). 

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 workf ile 3 when filled. Before a macro is entered it is checked for previous entry. 



MODULE ROUTINE 

IPKCA DRIVER 

IPKCB 



IPKCC PROROUT 



IPKCC MIROUT 



IPKCC MIROUT 



1.1.2 



Edit Macro Definitions and Conditional Assembly 



INPUT 



TEXT FILE (WORKFILE 3) 



Edited macro 
definitions 



Open code 



<2i 



EDPMI 
PCSR 



PCSR 



PROCESS 



OUTPUT 



IPKDA 



1 BUILD MACRO HEADER AND KEYWORD TABLE 

2 PROCESS VARIABLE SYMBOLS 



Globals 
VARIABLE SYMBOL DICTIONARY 



PI 



TEXT FILE (WORKFILE 1) 



5 ^=> 

O EDIT CONDITIONAL 
ASSEMBLY AND 
MODEL STATEMENTS 



Name 



Type 



Index number 



Dimension 



(VSDADDR) 
VSD 






<£> 



4 COLLECT 
SEQUENCE 
SYMBOL 
DEFINITIONS 



SEQUENCE SYMBOL DICTIONARY 




(SSDADDR) 
SSD 



MACRO INFORMATION BLOCK 



5 BUILD MACRO 
INFORMATION. 
BLOCK 



z> 



Name 



N/P to SSD 



Attribute switch 



Global switch 



In 



r macro switch 



Error switch 



(MIB) 



Site of local 
work areas 



<Zy> 



11.1.3 



IPKEA 




Macro header 



Keyword table 



Global array 



Edited conditional 
and model statements 



Macro header 



Open code header 




Open code 



OCSTMH 




Macro information 
block 



Variable symbol 
dictionary 



Sequence symbol 
dictionary 



Macro information 
block 



Open code information 
block 



Open code dictionaries 



Open code 



t • 

X J 



1.1.2 



EXTENDED DESCRIPTION 






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

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. 

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 Polish notation (see Diagram 1.1.2.1). 
At this point macro instructions requiring substitution in their operand fields are fully 
edited. 

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. 

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



MODULE 
IPKDA 



ROUTINE 
NEWST 



IPKDA 



VSDLKP 



IPKDA 



INTERPR 



IPKDA 



SSDENT 



IPKDA 



1.1.2.1 



INPUT 



Operand of 

SETxorAIF 

statement 



*■ Operator Priorities 



Convert Pre-Assembly to Reverse Polish Notation 




PROCESS 



OUTPUT 



:> 



SCAN EXPRESSION 



PASS OPERANDS DIRECTLY 
TO OUTPUT STRING 



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




Expression in 
reverse Polish 
notation 



generate, ( 

1 AIF,AGO,SETx,ACTR 

2 OR 

3 AND 

4 NOT 

5 GT, LT, EQ, NE, LE, GE 

6 +,- 

7 * ,/ 

8 unary minus 

9 attributes 

10 concatentation of quoted strings 

1 1 concatentation, substrings 

12 binary or character parameter, conversion 
(arithmetic-character, binary character, 
character-arithmetic, binary-arithmetic) 

13 index, subscript, suboperand 
15 ) 



jfc ^ 



1.1.2.1 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



Conditional assembly expressions are translated into reverse Polish notation, 
form which makes it easier for the assembler to evaluate the expression. 



This is a 



1. Expressions are scanned. 

2. Operands are assigned identifying flags and are inserted immediately in the output 
string. Variable symbols are processed as described in Diagram 1.1.2 and pointers 
to generation-time value areas (dictionaries) entered. 

3. Operators are put into 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. All succeeding operators are entered 
in the stack after a comparision to the previous entered operator. If the priority 
is lower than the previous entry, the operator is placed in the stack and the next 
operator is compared. If the priority is higher than or equal to that of the previous 
entry, the previous operator is removed and placed in the output string; the 
comparision is then continued with the next operator in the stack. 

"Start character mode" and "end character mode" operators are placed immediately 
into the string. 

There are several exceptions to the processing method: 

Unary plus . Not entered in the stack. 

Unary minus . Before entering in the stack, the previous stack operator is checked. 

If it is a unary minus, both operators are discarded. Otherwise, the unary minus 

is entered as normal. 

Left parenthesis . Placed in the stack without comparison of priority. 

Right parenthesis . Causes the stack to be emptied until a left parenthesis is found 

in the stack. The left parenthesis is also removed. 

For evaluation of reverse Polish notation, see Appendix D and Diagram 1.5.2. 
For examples of expressions in reverse Polish, see Diagnostic Aids. 
For flags, see Appendix G. 



IPKDA 



INTERPR 



to 

o 



1.1.3 



Resolve Sequence Symbol References 

PROCESS 



(WORKFILE 1) 











Macro header 


OCSTMH 


Keyword table 


KTAB 


Global array 


GARD 


Edited conditional 
assembly and 
model statements 








Macro header 




• 





1.1 



(WORKFILE 3) 



Macro information block 



Variable symbol 
dictionary 



Sequence symbol 
dictionary 



:> 



(1> 



VSD 



SSD 



FORMAT MACRO DEFINITIONS 



2 RESOLVE SEQUENCE SYMBOL 
REFERENCES 



3 SEPARATE COMPRESSED SOURCE 
AND EDITED TEXT FOR SOURCE 
MACROS 



BUILD SOURCE MACRO TABLE 



1.2 




$ 



t> 



^> 



OUTPUT 



(WORKFILE 2) 



Macro header 



Keyword table 



Global array 



Edited text 



Edited MEND record 



(WORKFILE 3) 



Macro information block 



Variable symbol 
dictionary 



Sequence symbol dictionary 



Macro information block 



Compressed source records 



^ 



SOURCE MACRO TABLEfWORKFILE 1) 

(SMTADDR) 



Name 



Flags 



N/P to def in. 



SMTENT 



1.3 y IP KG A 

IPKFA 



f 



1.1.3 



EXTENDED DESCRIPTION 



1. The edited macro definitions are put in a form suitable for global editing and/or 
EDECK output. This involves adding flags (attribute collection required, inner 
macro instructions present, keyword parameters present, global variables present) 
and the size of the local value areas to the macro header. The information is 
obtained from the macro information block(s) on workfile 3. An edited MEND 
record is also added to the macro definition. 

2. Sequence symbol references are resolved by reading the macro definition together 
with the sequence symbol dictionary. References are replaced by the byte offset 
from the beginning of the edited definition. 

3. At this point compressed source records, which have been mixed with the edited 
records on workfile 1, are separated from the edited text for later printing on the 
listing. They are written on workfile 3 directly after the macro information blocks, 
variable symbol dictionaries, and sequence symbol dictionaries for all the macro 
definitions. 

4. A source macro table is built for use by Global Edit (and EDECK) (see Diagrams 
1.3 and 1.2). It contains the names of all source macro definitions and their N/P 
addresses. 

Note : The macro information block is kept on workfile 3, but is no longer needed 
after step 1 . The variable symbol and sequence symbol dictionaries are kept for possible 
use in punching edited macro definitions (EDECK). 



MODULE ROUTINE 

IPKEA 



IPKEA 



IPKEA 



SSDLKP 



MOVEPUT 



IPKEA 



SMTENTR 



to 
to 



1.2 



Punch Edited Macro Definitions 



SOURCE MACRO 
TABLE (WORKFIL 



N/P 






PROCESS 



SMTENT 



MACRO 

DEFINITIONS (WORKFILE 2) ' 



N/P to SSD and VSD 



A. 



DICTIONARIES 
AND COMPRESSED 
SOURCE (WORKFILE 3) 



Variable symbol 
dictionary 



Sequence symbol 
dictionary 



VSD 



SSD 



5 



O 



b 



IPKGA 



i GET N/P ADDRESS OF 
DEFINITION, VARIABLE 
SYMBOL DICTIONARY, AND 
SEQUENCE SYMBOL 
DICTIONARY 

2 PUNCH CATALS AND BKEND 
CARDS r^Wv 






PUNCH DEFINITION 



&^ 



4 PUNCH POSITIONAL 
PARAMETERS AND LCLx 
DEFINITIONS FROM 
VARIABLE SYMBOL 
DICTIONARY f^) — "N 

5 PUNCH SEQUENCE SYMBOL 
DICTIONARY 



PUNCH BKEND CARDS 



©^ 



WRITE DIAGNOSTIC INFORMATION 



T^rj 



™. ..__ ..,..„.„. 



OUTPUT 



•^^^^^■■^^^■^ss^^^^s^^m&^m 




DIAGNOSTIC INFORMATION (WORKFILE 3) 



3 




i' 

V. 



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 



to 

U) 



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

3. The edited definition is copied from workfile 2. 



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. 

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



6. A BKEND card is punched. 

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



IPKGA 


CATALBK 


;e 


IPKGA 


MPUNCH 
STGET 




IPKGA 


MPUNCH 
STGET 




IPKGA 


MPUNCH 
STGET 




IPKGA 






IPKGA 


STDIAG 





Global Edit 



4^ 




f ; 

V 



1.3 



EXTENDED DESCRIPTION 



The two main functions of global edit are 

• Build a global vector for each macro definition and open code 

• Build the macro address vector 

The global vector is a series of indexes used by Generate (ASSEIA) to compute the address of the 

global symbol's value in the generation-time global symbol value area (see Diagram 1.3.1). 

The macro address vector is a series of offsets used by Generate (ASSEIA) to find a macro definition. 



MODULE 



ROUTINE 



A workarea -- the macro name dictionary -- is used to account for all macro instructions used in 
the source program. Initially the macro name dictionary is identical to the macro name array 
built during the first pass (see Diagram 1.1.1). Thus at first it contains only names of those 
macro instructions in open code and not the names of those occuring within macro definitions 
("inner" macros). 



IPKFA 



GEINIT 



2. The macro name dictionary is scanned and the corresponding macro definition looked for, first 
in the source macro table (which contains pointers to source definitions) and then in SYSSLB. 



IPKFA 



SMTSRCH 
MLIBSRCH 



to 



3. The global array of each macro definiton is used to build the global vector (see Diagram 1.3.1) 



The global vector is then written, along with the macro definition, onto workfile 1. The N/P 
address (in byte-offset form) of the macro definiton is entered in the macro address vector. 
The macro address vector is later used to locate the edited macro definition for expansion 
(see Diagram 1.5). 



IPKFA 



IPKFA 



FINDGS 
GSDENT 
GVENT 
CHECKGS 



MAVENTRY 



If a macro instruction is present within a macro definition, its name is entered at the end of 
the macro name dictionary (if not already there). Processing then continues from step 2. 
Inner macro instructions are given some editing and are assigned index numbers. 



IPKFA 



MNDENT 
MNDSRCH 



All names in the macro name dictionary are written on workfile 3. They will be printed later 
(see Diagram 2.8.3). 



IPKFA 



GEFIN 






A 7 EXTENDED DESCRIPTION (continued) 

Overflow and search techniques 

The following techniques are used when there is not enough space in the partition for the macro name dictionary, the source macro table, and 
the global symbol dictionary. 

Macro Name Dictionary (MNP) 

The MND is operated on in three ways: 

1. MNDGET reads macro names from the MND sequentially. 

2. MNDSRCH searches the MND for the names of inner macro instructions. 

3. MNDENT makes new entries in the MND. 

MNDGET reads macro names from MND blocks (overflow blocks on workfile 2). When it has taken all the entries from a block, it reads in 
the next block. 

MNDSRCH searches the MND blocks as follows: if MNDGET is reading block C and the MND is made up of blocks A,B,C, and D, MNDSRCH 

searches C, reads and searches A, reads and searches B, reads and searches C, reads and searches D. If the name is found, MNDSRCH inserts the 

index to the macro instruction in the edited text and returns control to the main program. If the name is not found. MNDSRCH calls MNDENT. 

MNDENT will always have the last MND block in main storage at MNDENT start. If there is space on this block, MNDENT makes the new 
entry. If the MND buffer is full, MNDENT writes the last block, creates a new block where it places the new entry, and writes the new block. 
If necessary, MNDENT then reads into main storage the block that MNDGET was reading. 

Source Macro Table (SMT) 

The assembler reads the first block of the SMT into main storage at ASSEFA initialization. The SMTSRCH routine searches the block for a 
macro name corresponding to the entry taken from the MND. If the name is not found, SMTSRCH reads the next block of the SMT and continues 
the search until the name is found or all the blocks have been read. For example, if SMT block C is in main storage and the SMT is made up of 
blocks A, B, C, and D, SMTSRCH searches C, reads and searches D, reads and searches A, and reads and searches B. If the macro name is found, 
SMTSRCH returns to the main program with a pointer to the SMT entry. If the macro name is not found, SMTSRCH returns to the main program 
with the pointer set to zero. 

Global Symbol Dictionary (GSD) 

The GSD is handled in almost the same way as the MND except that there is no counterpart to MNDGET for the GSD. Therefore, it is not 
necessary to read back the block that was in main storage at the beginning of the search. 



to 



"I 2 EXTENDED DESCRIPTION (continued) 

Macro Address Vector (MAV) 

MAV blocks are written on workfile 2 among the MND and GSD blocks. At the end of ASSEFA, the blocks are copied from workfile 2 to 
workfile 1 in order to make them contiguous. 

Note : It is necessary to have a note/point table for the MND, GSD, and MAV in order to keep track of the blocks. 



1.3.1 



INPUT 



oo 



(WORK FILE 2 OR SYSSL B) 
EDITED MACRO 
DEFINITIONS 



Global 
array 



Header 



Keyword table 



Type 



Index 



Name 



Dim. 



Edited text 



Edited MEND 



Header 



Keyword table 



Global array 



Edited text 



Edited MEND 






GARENT 



Global array 



Open code 



Global array 



Build Global Vector 



PROCESS 



GSDENTRY 
(GSDBUFAD) 
GLOBAL SYMBOL DICTIONARY 



1 BUILD GLOBAL 
SYMBOL 
DICTIONARY 



:> 



Type 


Index 


Name 


Dim. 











































BUILD GLOBAL 
VECTOR FOR 
DEFINITION 



GOTO 



Q7J 



, STEP 4 



OUTPUT 



GLOBAL VECTOR (WORKFILE 7) 



*$ 







Index 


Index 


index 


Index 



PGVHEAD 



V 



1.3.1 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



Each macro definition with GBLx declarations (and open code, if it contains global symbols) has a global 
vector (GV). The relation among global symbol references, global vectors, and the global value area is 
shown below: 



Edited definition 1 






Global vector for definition 1 




Global value area 



&A value 



&B value 



&C value 



&D value 



Global vector for definition 2 



1. The global symbol dictionary, a workarea used to assign index numbers (positions in the global dictionary), 
is first built from the global array of the macro definition being edited. For each new declaration a check 
for type and dimension is made if the symbol is already present. Contradictory information gives an error 
message. 

2. The global vector is then built from the index numbers assigned in the global symbol dictionary. The 
position in the global vector reflects the order of occurrence of the symbol in the definition (and thus the 
index number in the reference). The value at that position in the vector gives the index of the symbol's 
value in the global value area. There is a separate series of indexes for GBLA, GBLB, and GBLC symbols. 



IPKFA 



FINDGS 
GSENT 
CHECKGS 
GEERR 

GVENT 



A global vector for open code is built from the open code global array. 



IPKFA 



GEOC 



CO 

o 



1.4 



INPUT 



PCSR 
PSTRINGS 

(PASS1: WORK FILE 1) 
EDITED TEXTf PASS 2: WORKFILE 2) 



Collect and Insert Attributes 



I \ IPK 

^2j 



r^> 



PROCESS 



^> 



;=> 



^> 



IPKHA 
PASS1: COLLECTION 



1 INSERT SYMBOLS REQUIRING ATTRIBUTES 
IN ATTRIBUTE TABLES 



2 COMPUTE ALL ATTRIBUTES POSSIBLE 
AND INSERT IN TABLE 



PASS 2: INSERTION 



COMPUTE ATTRIBUTES AND INSERT IN TABLE 



INSERT ATTRIBUTES IN TEXT 



TAB E NT 
ATTRIBUTE TABLE (TABSTART) 



0, 



Symbol 



^ + 



t> 



EDITED TEXT (WORKFILE 1) 



t> 



PCSR 
PSTRINGS 



t^ 



IPKIA 






1.4 



EXTENDED DESCRIPTION 



MODULE ROUTINE 



1. In the first pass over the edited text file, ordinary symbols are collected from operands 
of macro instructions and conditional assembly statements with attribute references 
in open code, and placed in the attribute table. 



IPKHA 



MACINS 
CAED 



2. Attributes of those symbols defined after the macro instruction or conditional assembly 
statements are collected and placed in the table. 

3. In the second pass, attributes of symbols defined before the macro instruction or 
conditional assembly statement are placed in the table. 



IPKHA 



NAMSCAN 
ATSCAN 



Attributes are inserted into the macro instruction or conditional assembly statement 
with the help of the attribute table. 



IPKHA 



INSERT1 
INSERT2 



Overflow technique : If the attribute table overflows, no more symbols are collected in either 
of the passes. The attributes for all symbols in the table are computed and then inserted into 
the macro instructions and conditional assembly statements where required. A new attribute 
table can now be built up from text, starting where the old table overflowed. Two more 
text passes are needed for each overflow. 

Workfile usage : Pass 1: read file 1, write file 2 
Pass 2: read file 2, write file 1 



u> 
to 



1.5 



INPUT 



MACRO ADDRESS 

VECTOR (WORK FILE 1) 



I IPKHA 
\/ IPKIA 



Generate 

PROCESS 



MAV 
SIZE OF GLOBAL VALUE AREA 



(PGBLSIZ) 



(WORKFILE 1) 
OPEN CODE GLOBAL VECTOR 



PGVHEAD 



$ 



4 



EDITED TEXT (WORKFILE 2) 



Edited macro instruction 







MACRO 

DEFINITIONS (WORKFILE 1) 



Macro definition 



5 






READ MACRO ADDRESS *N 

VECTOR y 



- 2 BUILD GLOBAL VALUE AREA— N 
AREA —>/ 



3 BUILD OPEN CODE 
DICTIONARY BLOCK 



4 READ EDITED TEXT; 
BUILD MACRO 
DICTIONARY | 1.5.1 
BLOCK(S) FOR 
MACRO 




5 EXPAND MACRO. 

PERFORM CONDITIONAL 
ASSEMBLY (ALSO FOR 
OPEN CODE) 




1.5.2 



L 



CH 



*#£ 



3 



(ICENDf 



Macro address vector 



Global value area 



Open code dictionary 
information block 



Local value areas 



Global vector 



Macro dictionary 
information block 



Parameter table 



Parameter pointer vector 



Local value area 



Global vector 



Register RDIBBASE points: ■*■##■ here if inner macro is 

■Jf here if in open code ; being expanded 

■JHf here if outer macro is being 
expanded; 



DIB 



DIB 



OUTPUT 



(WORKFILE 3) 
GENERATED 
TEXT 



^ 



c> 



Compressed 

source 

records 



Statements 
generated 
from 
macro 



Compressed 

source 

records 



IPKJA 



r* 



1.5 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



u> 
to 



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. The macro definition is processed instruction by instruction and 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. 



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. 



IPKIA 



INIT 



IPKIA 


DRIVER 


IPKIA 


IMIEDIT 


IPKIA 


DRIVER 


IPKIA 


CAEVAL 



Dictionary Block Overflow 



Overflow in parameter table (outer macro) 
dictionary start 



outer macro — ► 



end of dictionary area ^ 



OCDIB 



MAC1 MDIB 



PARTBL 




Error message IPK101 "DICTIONARY SPACE FOR VARIABLES EXHAUSTED" 

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. 






Overflow after parameter table complete* 


pouter macro) 


WORKFILE 2 dictionary 




dictionary 




open code 






OCDIB 


start 


MAC1 MDIB 




start 


OCDIB 






OCDIB 


- 


• 
• 
• 


PARTBL 


• 
• 
• 


• 
• 
• 


PARPTV 


LCLX value area 


outer macro— •*- 
end of dictionary area -» 


MAC1 MDIB 








• 








PARTBL 




When MEND for MAC1 is encountered, 
dictionary block is read into dictionary 


PARPTV 


Outer macro is moved to dictionary start 


LCLX value area 




and processing 


continues. 






start and processing continues. 



Overflow in parameter table (inner macro) 


WORKFILE 2 dictionary 




dictionary 






OCDIB 


start 


MAC1 MDIB 




start *" 


OCDIB 




dictionary start — *- 


OCDIB 




• 
• 
• 


• 
• 
• 


• 
• 
• 


• 
• 

• 


MAC2 MDIB 










MAC1 MDIB 








PARTBL 


At MEND to MAC2, MAC1 is read into dictionary 


• 
• 
• 




• 
• 
• 


end of dictionary area r 


MAC2 MDIB 


Open code dictionary block written on workfile 2. 


PARTBL 


Outer macro is moved to dictionary 
MAC1 dictionary block contains inf 
necessary for MAC2 PARTBL build. 


start, 
ormation 




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 



r 



Overflow after parameter table complete*"*1inner macro) 
dictionary start 



outer macro - 

inner macro to MAC1 
outer macro to MAC2 

inner macro ■ 
end of dictionary area - 





OCDIB 




• 

• - 

• - 




MAC1 MDIB 


I . 


• 
• 
• 


I 


MAC2 MDIB 




• 
• 




MAC3 MDIB 




PARTBL 




PARPTV 



WORKFILE2 


dictionary 






dictionary 




OCDIB 


start 


MAC3 MDIB 




start 


OCDIB 


• 
• 
• 


PARTBL 


• 
• 


PARPTV 


MAC1 MDIB 


• 
• 




• 
• 
• 




MAC2 MDIB 






• 

• 
• 





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



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. 



en 



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






1.5.1 



INPUT 



1.5 



OPEN CODE 

EDITED TEXT (WORKFILE 2) 



( 



Macro instruction header 



Index 



XYZ 



KW2 



Pos. 
parm. 



Key- 
word 



LEMON 




Attr. 



Attr. 



Keyword 
parameter 



Attr. 



rt> 



MACRO ADDRESS 

VECTOR (WORKFILE 1) 



Off -[Off- 
set J set 









PMAV 



/EDITED 



MACRO 
/ DEFINITIONS (WORKFIL±1) 



'■ Macro i 



Macro definition header 



«- ■ - 



KW1 keyword 



SAM default 



KW2 keyword 



ORANGE default 



Global vector 



Text 



MEND 



^ 



n> 



Keyword 
> table 
KTAB 



PGVHEAD 



^> 



Build Macro Dictionary Block 

PROCESS 



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



ee& 



2 ENTER KEYWORD OPERANDS 
IN PARAMETER TABLE; 
OFFSET AND KEYWORD IN 
KEYWORD NAME ARRAY 

KEYWORD NAME ARRAY 



£fc> 



Li 



o 



(KNAPT) PKNA 



KW2 



L=3 



LEMON 



3 READ KEYWORD TABLE, 
SEARCH FOR KEYWORD IN 
KEYWORD NAME ARRAY. NOT 
FOUND . ENTER DEFAULT AND 
OFFSET 



GX^> 



FOUND . MOVE OFFSET 



Gfc* 



5 FIND VALUE AREA SIZES AND 
RESERVE SPACE 



6 



READ GLOBAL VECTOR 



0=> 



^ 



OUTPUT 



MACRO DICTIONARY 
BLOCK (RDIBBASE) 




am 



Macro dictionary 
information block 



XYZ entry 



LEMON entry 



SAM entry 



XYZ's offset 



SAM's offset 



LEMON'S offset 



LC LA value area 



LCLB value area 



LCLC value area 



Global vector 



*Built in (PARPTVBA) 



Parameter 
> table 
EPAR 



Parameter 
pointer 
vector* 
PARPTV 



t 'X 



^ 






1.5.1 



EXTENDED DESCRIPTION MODULE ROUTINE 



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 
andSYSECT) 

• 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,&KW1=SAM,&KW2=ORANGE 
and that the macro instruction being expanded is 

MAC1 XYZ,KW2=LEMON 

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

1. The edited macro instruction is read and the positional parameter operand (XYZ) placed in IPKIA MAIN10 
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.) 

2. Keyword parameters are then read in from the edited macro instruction and entered in the IPKIA MAINK 
parameter table. At this point only "LEMON" is entered, since the first keyword 

parameter has been omitted. The offset is not entered in the parameter pointer vector, but 
in the keyword name array, along with the keyword's name and the length of the parameter. 



1.5.1 



EXTENDED DESCRIPTION (continued) 



(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.) 

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. 



MODULE 



IPKIA 



ROUTINE 



MAIN30 






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. 

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



IPKIA 



IPKIA 



IMIEDIT 



IMIEDIT 



K J 



c 



( 






-p 

4-1 



>1 



o 

-H 
-P 

0) 

p 
c 

■H 
(U 

rd 

0) 
•H 

(H 



37 



00 




Evaluate Reverse Polish Notation 



PROCESS 



OUTPUT 



1 ENTER FIRST 
ELEMENT IN 
STACK 



2 READ SECOND 
ELEMENT; 
LOCATE 
ADDRESS OF &P 



3 SUBSTITUTE 
VALUE OF &P 



LOCATE &GA 



J S 5 



ADD &P (7) 
TO&GA3(31); 
PUT VALUE IN 
LOCAL VALUE 
AREA 



STACK 



la 2 L=4 



la 


2 


L=4 


PP 


address 
&P 



la 


2 


L=4 


M 


7 


L=6 



la 


2 


L=4 


M 


7 


L=6 


ga 


5 


L=4 



L=4 



b4 



38 



L=6 



LCLA VALUE 
AREA 



h 



38 



r^j 



^ : % 



1.5.2 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



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. 



IPKIA 



CAEVAL 



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, 
"la", "pp", etc., stand for flags (see Diagram 1.1.2.1 and Appendix D). 



u> 



o 



INPUT 



ASSEMBLER AND 
MACHINE INSTRUCTIONS 




1.5 



7$ 



^> 



Assemble 

PROCESS 



EDIT FOR ASSEMBLY 



^ 



SYMBOL TABLE 



2 COLLECT 
SYMBOL 
DEFINITI ONS 

2.2 



3 




3 RESOLVE SYMBOL REFERENCES I 2.3 




BUILD OBJECT 24 R 

CODE I 24 Jl 2.6 



OUTPUT OBJECT CODE AND ESD 




POST PROCESS 




2.8 



OUTPUT 



OBJECT DECK (SYSPCH) 



LISTING 

(ESD) (SYSLST) 



i> 



RLD, XREF, 
DIAGNOSTICS (SYSPCH) 



XREF, 

DIAGNOSTICS (SYSLST) 



$ 






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 
mam function of the assembler is to translate these statements into object code and to 
produce a listing and other related information. 

1. Editing of statements is done (see Diagram 2.1). 



IPKIC 
IPKJA 



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

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

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



IPKKA 

IPKLA 

IPKNA 
IPKOA 



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

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



IPKMA 
IPKPA 

IPKQA 

IPKRA-RC 

IPKSA-SB 



2.1 



INPUT 



SOURCE TEXT (WORKFILE 3) 






PCSR 



Edit for Assembler and Machine Instructions 

PROCESS 



7J 



$ 



IPKJA 



PRODUCE EDITED TEXT 



2 PROCESS PUNCH AND 
REPRO RECORDS 



3 PROCESS LITERALS [ 2.1.2 J j / A J 



^ 



OUTPUT 




PUNCH AND 

REPRO RECORDS (WORKFILE 1) 



IPKKA 



£■ -^ 






4*> 



o 



<-** 



2.1 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



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 



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 



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 

LITDRV 

LITMN 

LITSRCE 



2.1.1 



INPUT 



4^ 



SOURCE TEXT (WORK FILE 3) 



(SEE APPENDIX H) 



(£, 



PCSR 



PSTRINGS 



Edit 

PROCESS 







1 

2 
3 


CHECK NAME FIELD AND SYNTAX OF OPERAND 
COLLECT SYMBOLS IN SYMBOL BUCKETS 
CONVERT EXPRESSIONS TO REVERSE 


POLISH NOTATION ( I 
I2.I.I.1J 



L(7r] 



OUTPUT 





EDITED TEXT (WORKFILE 2) 




(SEE APPENDIX H) 


PETR 
PETFLDS 





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). 

1. The name field and operand syntax are checked. 

2. AS) 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). 

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



IPKJA 
IPKJA 

IPKJA 



CHKNAME 
OPERAND 

POLIFY 






2.1.1.1 



Convert Assembly Expressions to Reverse Polish Notation 



INPUT 



Expression 







PROCESS 



o 



SCAN EXPRESSION 



2 PASS OPERANDS DIRECTLY TO 
OUTPUT STRING 



3 SEND OPERATORS TO STACK; 
MOVE TO OUTPUT AS 
OPERATORS PRIORITY 
DICTATES 




OUTPUT 



o 



Expression in 
reverse Polish 
notation 



^^ 



4^ 



Alii 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 + - 

3 / * 

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



MODULE 
IPKJA 



ROUTINE 
POLIFY 



2.1.2 



INPUT 



SOURCE TEXT (WORK FILE 3) 



PCSR 



00 



<a 



Handle Literals 

PROCESS 



OUTPUT 



^> 



CHECK THAT LITERAL IS VALID 



SEARCH LITERAL POOL FOR EQUALS 



3 IF NO DUPLICATE ENTRY, 
ASSIGN PSEUDONAME AND 
ENTER IN POOL 



LITERAL POOL (WORKFILE 1) LITTBL 



REPLACE LITERAL WITH 
PSEUDONAME IN EDITED 
TEXT 



| END OR LTORG | 



5 WHEN END OR LTORG ENCOUNTERED, 
GENERATE LITERAL RECORD 



6 



CREATE DCL RECORD 



I^J 






Chain 
ptr. 



Pseudo- 
symbol 



Literal 



Symbol 



PETR, 
EDITED TEXT (WORKFILE 2) PETFLDS 







t> 



i> 



LTORG 



# : : *K 



X 



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 LTORG. 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 DG instructions: when a LTORG 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). 

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

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

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

5. When a LTORG 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 


OCR 


IPKJA 


OCR 


IPKJA 


LITERAL 


IPKJA 


LITMN 


IPKJA 


LITSRCE 



4*. 



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



*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 

• a 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 if 
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 



IPKJA 



OCR 

FIXUP 

DRIVER 



O 



2.2 



INPUT 



(WORKFILE 2 OR 1F 
EDITED TEXT 



PETR,PETFLDS 



I I IPKJA 

I 21 J I— 
XX IPKKA 



* Depending on number of 
symbol-table overflows 



Collect Symbol Definitions 

PROCESS 



"> i 



BUILD SYMBOL TABLE 2.2.1 



2 CREATE CROSS-REFERENCE 
RECORDS 



BUILD ESD TABLE 2.2.2 




4 PUT OUT EDITED TEXT 
AND ERROR RECORDS 



^ 



OUTPUT 




IPKLA 



SYMBOL TABLE (SYMADDR) 

PHYR 



XREF RECORDS (WORKFILE 3) 



XREFREC 



$ 



ESD TABLE (WORKFILE 3) 

ESDENTRY 



EDITED TEXT (WORKFILE 1 OR 2)' 



i* 



t> 




2.2 



EXTENDED DESCRIPTION 



1. Symbol definitions are collected in a symbol table for later use in resolving symbol 
references. 

Overflow technique : 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. 

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). 

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

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, DS, 
and DCL instructions. 



MODULE 
IPKKA 



ROUTINE 



IPKKA 

IPKKA 
IPKKA 



CROSSREF 



2.2.1 



INPUT 






(WORK FILE 2 OR 1)* 
EDITED TEXT 



PETR 
PETFLDS 



* Depending on number of 
symbol-table overflows 



<? 



^ 



Build Symbol Table 

PROCESS 



1 PROCESS STATEMENTS ACCORDING 
TO TYPE: 

CNOP I ALIGN ON 

MACHINE f HALFWORD 

INSTRUCTION! BOUNDARY 



DC/DS 

11TCnA1 ^ I ALIGN ACCORDING 

LITERAL DC > JO TYPE 



ccw 

LTORG 

CNOP 

ORG 

EQU 

DC/DS 

LITERAL DC 

DC/DS 

LITERAL DC 

CCW 

MACHINE 
INSTRUCTION 

CNOP 



> 



ALIGN ON 

DOUBLEWORD 

BOUNDARY 



EVALUATE 
EXPRESSION 



S COMPUTE LENGTH 



2 ENTER SYMBOL VALUE IN 
SYMBOL TABLE 



UPDATE LOCATION COUNTER 



OUTPUT 



HIT) 



HASH TABLE 



(PSYMTABL) 



- ► 

/ 



SYMBOL TABLE 



(SYMADDR) 



0* 

















Hash 
ptr. 


Flags 


Length 
attr. 


ESDID 


Value 


Length 


Symbol 































LOCATION COUNTER 



(LOCCNTR) 



r£> 



{ All three in main storage. ) 



A-> 



2.2.1 



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. 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: 

Machine instructions 

EQU 

CNOP 

ORG 

DC 

DS 

DCL 

CCW 

LTORG 

END 

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



MODULE 
IPKKA 



ROUTINE 



IPKKA 



MACHINOP 

EQUR 

CNOPR 

ORGPROC 

DCR 

DCR 

DCR 

CCWR 

LTORGR 

ENDR 



3. The location counter is updated for those instructions requiring it. 



IPKKA 



en 



2.2.2 



INPUT 



EDITED 

TEXT (W0RKFILE2) 



¥i 



Build External Symbol Dictionary Table 



PROCESS 



CSECT 
DSECT 
COM 
START 



ENTRY 
EXTRN 
WXTRN 
V-CON 



PETR 
PETFLDS 



t> 



$ 



1 CLOSE ENTRY FOR 
PREVIOUS CONTROL" 
SECTION 



SEARCH ESD TABLE FOR NAME— .- 



50© 



CURRENT LOCATION 
COUNTER (LOCCNTR) 



38 FOUND: UPDATE LOCATION 
COUNTER FROM ESD 
TABLE (RENEWED 
CSECT) 



Wl 




HIGH LOCATION 
COUNTER (LOCCNTHI) 



3b N2I FOUND: SET LOCATION 
COUNTER TO ZERO (NEW^. 



CSECT) 



50 




MAKE NEW ENTRY IN ESD TABLE 



^G 



T^ 











OUTPUT 








ESD TABLE (WORKFILE 3) ESDENTRY 




,fc 








~V 












>» 








Curr. 


High 










Type 


ESDID 


toe. 
ctr. 


loc. 
ctr. 


Symbol 








<ffi 












Curr. 


High 










Type 


ESDID 


loc. 
ctr. 


loc. 
ctr. 


Symbol 








df 




s~\ 


_JV 








High 






0] 


P 


Type 


ESDID 





loc. 
ctr. 


Symbol 









^ % 



2.2.2 



EXTENDED DESCRIPTION 



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. 

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. 



MODULE 



IPKKA 



ROUTINE 



CSECTR 
DSECTR 
COMR 
STARTR 



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



IPKKA 



en 



3 a. If found, the symbol has been entered before, and the CSECT is a resumed CSECT. The IPKKA 

current location counter value is retrieved from the entry (ESDLCTR) and inserted in the 
current location counter value (LOCCNTR). 

3 b. If not 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, E-XTRN, WXTRN, or V-type address constant causes an entry to be made in IPKKA 

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. 



PEEX 






2.3 



INPUT 



EDITED TEXT (WORKFILE 1 OR 2) 



PETR. PETFLDS 



I l IPKKA 

XX IPKLA 



HASH TABLE (PSYMTABL) 



SYMBOL TABLE (SYMADDR) 




* Depending on number of symbol-table overflows 



Resolve Symbol References 



PROCESS 











READ EDITED TEXT 



2 REPLACE ALL SYMBOL REFERENCES 
WITH SYMBOL TABLE VALUES 

3d SYMBOL TABLE OVERFLOW 



MAKE XREF ENTRIES 



3b NO SYMBOL TABLE OVERFLOW 
EVALUATE EXPRESSIONS 



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



WRITE EDITED TEXT 



IPKKA 




IPKNA 



X//P/CM>4 



OUTPUT 



XREF RECORDS (WORKFILE 3) 



^> 



XREFREC 



(WORKFILE 1 OR 2)* 
EDITED TEXT 



C> 



PETR,PETFLDS 



i : 

V J 



2.3 



EXTENDED DESCRIPTION 



en 



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. 

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. 

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 DS instructions, 
have already been evaluated (see Diagram 2.2.1)). 

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. 



MODULE ROUTINE 
IPKLA 



IPKKA 



IPKKA 



CROSSREF 



EVALUATE 



2.4 



00 



INPUT 



IPKLA 



Build Object Code 1 

PROCESS 



(WORKFILE 1 OR 2)* 


\C 




EDITED RECORDS 




■■1 








i» 


^ 




PETR, | 


W 


PETFLDS 


PDCEDIT 












/ 




/ 




/ 




/ 




* 


■ 


USING TABLE (NUSTAB 


) / 


*r 






/ 








/ * 








V 








♦ - . 


— — -. 











IPKNA 

DETERMINE RECORD TYPE. PROCESS ACCORDINGLY: 



MACHINE INSTRUCTIONS 




USING, DROP 



IPKNB.IPKNA 




— ADDRESS CONSTANTS AND CCW 2.4.3 




* Depending on overflow 



t^ 



IPKLA 



OUTPUT 



EDITED TEXT (WORKFILE 2 OR 1) 







RLD TABLE (WORKFILE 3) 



s 



RLDENTRY 



o 



2.4 



EXTENDED DESCRIPTION 



Input: edited records from IPKLA 

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



MODULE 



ROUTINE 



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 pseudo- 
opcode). 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. 



IPKNA 



IPKNA 



NMACHOP 



NUSING 
NDROP 



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. 



IPKNA 
IPKNB 



NSADDR 



en 



(7\ 
O 



2.4.1 





INPUT 




,4 I 




EDITED RECORDS FROM IPKLA 


IV 




PETR, PETFLDS 






I — ^ 




OPERAND RESTRICTION 








TABLE (NPARTAB) 


y 












y 










/ 
/ 

/ 

/ 










/ 




USING TABLE (NUS 


TAB) / 








/ 






* 











Process Machine Instructions 

PROCESS 



1 GET RECORD AND ENTRY TO OPERAND 
RESTRICTION TABLE 



ERROR 

TABLE (NERRSTCK) 



2 CHECK VALUE OF 

' OPERANDS; IF ERROR 



=> 



NTABFMT 



3 CHANGE IMPLICIT ADDRESSES TO 
BASE-DISPLACEMENT FORM 



BUILD EDITED TEXT OUTPUT RECORD 



5 WRITE OUTPUT TEXT AND ERROR 
RECORDS 



T^ 



OUTPUT 



(WORKFILE2 0R 1) 
EDITED TEXT 







PETR, PETFLDS 



&- ^ 



2.4.1 



EXTENDED DESCRIPTION 



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. 

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. 

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. 

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



MODULE 
IPKNA 

IPKNA 
IPKNA 

IPKNA 



ROUTINE 
NMACHOP 



NTESTST1 
NTESTST2 

NADDRSPL 



NMACHEND 



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



IPKNA 



NMACHEND 



2.4.2 







Process Using and Drop 

PROCESS 



■> i 



UPDATE THE USING TABLE 



BUILD EDITED TEXT OUTPUT 
RECORD 



I WRITE OUTPUT TEXT 



t^ 



OUTPUT 



USING TABLE (NUSTAB) 



i> 



ESDID 


Base address 


Switch 









EDITED TEXT (WORKFILE 2 OR 1) 



t> 



USING 



DROP 



PETR 
PETFLDS 



^ 






n 



EXTENDED DESCRIPTION 



2.4.2 

The using table has 17 entries. There is one entry each for registers 1-15 and two for 
register (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. 

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



MODULE 



ROUTINE 



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 
IPKNA 



NUSING 
NDROP 






2.4.3 



CT4 



INPUT 



Process Address Constants and CCWs 

PROCESS 



EDITED RECORDS FROM IPKLA 



PETR,PETFLDS 



^ 



USING TABLE (NUSTAB) , 




^> 



CHECK OPERAND 



IF DC OR CCW. GENERATE CODE 



MAKE RLD ENTRY (ALL EXCEPT S-TYPE) 



LOG ERRORS 



5 WRITE OUTPUT TEXT AND ERROR 
RECORDS 



t^j 



OUTPUT 



RLD TABLE (WORKFILE 3) 



$ 



RLDENTRY 



t> 



EDITED TEXT FILE (WORKF ILE 1 OR 2) 

PETR 
PETFLDS 



* Depending on overflow 



r 



2.4.3 



EXTENDED DESCRIPTION 



1. In the case of an implicit address, the using table is used to split the address into base- 
displacement 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. 

CCW 

S-type address constant. 

Other address constant. 

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

4. Errors are logged. 

5. Output records and error records are written. 



MODULE 

IPKNA 
IPKNB 



ROUTINE 

NSADDR 
DCPROC 



IPKNB 


CCWPROC 


IPKNA 




IPKNB 


DCPROC 


IPKNB 


WRITERLD 


IPKOA 


ERRLOG 


IPKOA 


ERRPUT 


IPKNA 








2.5 



Print/Punch the External Symbol Dictionary 






INPUT 



PUNCH AND 

REPRO RECORDS (WORKFILE 1) 



( I IPKLA 

XX IPKMA 



PROCESS 



ESD TABLE (WORKFILE 3) 



ESDENTRY 



o * 



PUNCH PRE-OBJECT PUNCH AND 
REPRO CARDS 



PUNCH ESD OBJECT CARDS 



PRINT ESD 



OUTPUT 



(SYSPCH) 
PUNCH, REPRO, AND ESD CARDS 




n 



2.5 



EXTENDED DESCRIPTION 



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

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

4. The DSECT dictionary is printed after the external symbol dictionary. 



MODULE 


ROUTINE 


IPKMA 




IPKMA 


ESDROUT 


IPKMA 


DSROUT 



<5\ 



2.6 



INPUT 



EDITED TEXT (WORKFILE 2) 



PETR 
PETFLDS 



CO 



Build Object Code 2 




PROCESS 



^> 



IPKOA 



PROCESS ACCORDING TO TYPE : 



DC, LITERAL DC 



GENERATE OBJECT CODE 



DS 



CHECK OPERAND 



DETECT AND LOG ERRORS 



PASS ON OTHER*STATEMENTS 



* Those processed in I 




OUTPUT 



OBJECT CODE, ERROR RECORDS 



k) 



t> 



(Passed to IPKPA) 



IPKPA 



\ J 



n fi EXTENDED DESCRIPTION 

1. Object code is built for DC and DS instructions 



MODULE ROUTINE 



DC A LITERAL DC 



Object code is generated. 



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



IPKOA 



IPKOA 



IPKOA 



DCPROC 



DCPROC 



ERRLOG 
ERRPUT 






o 



2.7 



INPUT 



COMPRESSED SOURCE AND 
ERROR RECORDS (WORKFILE 3) 



I — | IP KOA 



PCSR 



EDITED TEXT AND 

ERROR RECORDS (FROM IPKOA) 



PETR 
PETFLDS 



Output 

PROCESS 



t> 



c^> 



READ COMPRESSED SOURCE 



2 PROCESS CORRESPONDING I 27 1 
EDITED TEXT 




3 PUNCH AND PRINT 
OBJECT CODE 



;>©© 



4 PROCESS LISTING 
CONTROL RECORDS 



o© 



PROCESS MNOTE 



o© 



PUNCH AND REPRO 



^>0© 



6 



PROCESS ERROR RECORDS 



OUTPUT 



OBJECT CODE (SYSPCH) 



&=> 



0^> 



in 



^> 



LISTING^ (SYSLST) 



ERROR 

RECORDS (WORKFILE 1) 



PERR 



f-S 



ft 7 EXTENDED DESCRIPTION 

1. Compressed source records are read from workfile 3. 

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. 

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.* The symbol name is 
inserted if it appears on the first title statement. 

EJECT. The page eject control character is set * 

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 encountered. The PRINT statement itself is always 
printed regardless of the status of the print switches. 

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. 

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. 

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. 

* 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 proceeded by one or two extra blank lines. 



MODULE 


ROUTINE 


IPKPA 


GETSRC 


IPKPA 





IPKPA 



IPKPA 



IPKPA 



IPKPA 



EDTEXT 

PUNCHOUT 

DUMP 

PRINTER 

TITLEOP 

EJECTOP 
SPACEOP 

PRINTOP 
WRTERROR 



MNOTEOP 
PUNCHOP 
REPROOP 

COPERROR 



2.7.1 



INPUT 



EDITED RECORDS 



^1 



PETR 
PETFLDS 






-A 



Process Edited Text 

PROCESS 



PROCESS BY TYPE: 

1 MACHINE INSTRUCTIONS] 

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



OD 



=i© 



© 



DC, CCW 



INSERT LOCATION COUNTER AND OBJECT CODE 
FIELDS. APPLY DUPLICATION FACTOR IF 
PRESENT. (LITERALS PROCESSED SIMILARLY) 

| CSECT, DSECT, START, COM, LTORG,*PS | 

=^© 



LOCATION FIELD ONLY 



© 



ORG 



LOCATION AND ADDR2 FIELDS 



EQU, USING 



ADDR2 FIELD ONLY 



CNOP 



LOCATION AND OBJECT CODE FIELDS 
1* 



5© 
^© 



ADDR2 FIELD, IF PRESENT 



* PROCESS LITERALS IF PRESENT 



^© 



^ 



OUTPUT 



PRINT LINE (SYSLST)(PRNTLINE) 



^ 



(SYSPCH) 
OBJECT CODE (TXTCARD) 







o 



2.7.1 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



MACHINE INSTRUCTIONS 

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

Object code is punched. 

ALL OTHER INSTRUCTION TYPES 

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

Object code is punched for some instructions. 



IPKOA 
IPKPA 



IPKOA 
IPKOA 

IPKPA 



MACHOPS 
DUMP 



PSEUTBL 
LITCOPE 

DUMP 






2.8 



4^ 



RLD TABLE (WORKFILE 3) 



RLDENTRY 



rRY 

:=0 



Post Process 

PROCESS 



XREF RECORDS (W ORKF ILE 3) 

XREFREC 



LITERALPOOL (WORKFILE 1) 

LITTBL 



rV 



ERROR RECORDS (WORKFILE 1) 



PETR | 
PETFLDS 



IPKQA 
IPKRA 
IPKSA 



1 PUT OUT RELOCATION DICTIONARY 2.8.1 A A K B 



2 SORT AND PRINT CROSS-REFERENCE 
DICTIONARY 



PROCESS ERROR MESSAGES 





^ 



OUTPUT 



LISTING (SYSLST) 




OBJECT DECK 



®^ 



(SYSPCH) 









2.8 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



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

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

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



IPKQA 


RLDROUT 


IPKRA 




IPKSA 


DECODE 




PRINTER 






2.8.1 



INPUT 



Print /Punch the Relocation Dictionary 

2.8 | PROCESS 



RLD TABLE (WORK FILE 3) 



Addr. 

con. 

ID 


Ref. 
sym. 
ID 


Flag 


Addr. 




















RLDENTRY 



END INFORMATION 



(PENDID) 
(PEN DAD) 



t> 



IPKQA 



PRINT RELOCATION DICTIONARY 



2 PUNCH RELOCATION 
DICTIONARY 



PUNCH END CARD 



5© 



o© 




OUTPUT 



RELOCATION DICTIONARY (SYSLST) 



c> 



RELOCATION 
DICTIONARY 

(SYSPCH) 



0^> 



END CARD (SYSPCH) 





&$ 



f- -\ 



•^1 



n 



2.8.1 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



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

2. The RLD object cards are punched. 

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



IPKQA 


RLDROUT 


IPKQA 


RLDPCH 


IPKQA 





00 



2.8.2 



INPUT 



LITERAL 

POOL (WORKFILE 1) 



LITTAB 



XREF 

RECORDS (WORKFILE 3) 



XRF ENTRY 



Sort and Print the Cross-Reference Dictionary 




PROCESS 




IPKRA-RC 



I OPTIMIZE PARAMETERS 

■Al 2 READ RECORDS 

INTO STORAGE AREA 

3 SORT RECORDS - " 



RECORD STORAGE 

AREA (SRTINIT, RSA) 



NO 

MORE 

RECORDS 



MORE 
RECORDS 




INDEX TABLE 

77* 



INDENTRY 
(DIREND) 



J WRITE SUBSTRING(S) 
4 AND DIRECTOR Y(S) 
IF NECESSARY 



DIRENTRY 
DIRECTORY \ (DIRADDR) 



5 MERGE SUBSTRINGS 
BY GETTING WINNERS 
VIA DIRECTORY 



Add- 
ress 


Offset 


N/P 


Key 



























6 



PRINT RECORDS 



OUTPUT 



XREF 

SUBSTRINGS (WORKFILE 2) 



If 



OVERFLOWED 
y DIRECTORIES (WORKFILE 1) 




IPKSA 



\ J 



2.8.2 



EXTENDED DESCRIPTION 



MODULE ROUTINE 



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. 



IPKRA 



SRTINIT 






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 pseudoname is built and concatenated with each actual 
literal. 

3. The internal sort technique used is Shell's sort. 

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. 

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. 

6. The records are put out. 



IPKRA 



SRTLIT 



IPKRA 


SRTRSA 


IPKRA 


SRTOUT 




SRTDIR 



IPKRB 



IPKRA, RB 
or RC 



MRGMAIN 

MRGDIR 
MRGPRT 



2.8.5 



Diagnostics and Statistics 



00 

o 



OUTPUT 




^^, 



2.8.3 



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 contain 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. 

4. Statistics are printed. A summary of errors found in the assembly is printed from workfile 1; 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. 



IPKSA 
IPKSB 



PRINTER 



to 





DOS SUPERVISOR 










COMREG 






















<* 


b— — 


■— * """" 








V 


s. 














\ 








\ 








LIBs 




> 










\ 




















\ .— ■ -- * ~~ 








** 






^ 


* \ 






PUBs 


<* 




A 








\ 
\ 














\ 








\ 








\ 




SYSIPT 














\ 















Initialize 

PROCESS 



IPKBA 



SET OPTION SWITCHES 



2 CHECK FILE ASSIGNMENTS 
AND PARTITION SIZE 

3 OPEN SYS001,-2,-3, SYSIPT 



4 



COMPUTE BUFFER SIZES 



READ A RECORD 



6 



INITIALIZE BUFFER AND WORK AREA 



OUTPUT 



OPTION SWITCHES* 



t> 



DTFSD* 






BUFFER SIZES* 



S 



iPDECK) 

(PL 1ST) 

(PXREF) 

(PL INK) 

(PALIGN) 

(PEDECK) 

(PDF) 

(PRLD) 

(PSYSPARM) 

(IJSYS01) 
(IJSYS02) 
(IJSYS03) 

in IPKAA 



(PBUFFLEN1) 

(PBUFFLEN2) 

(PBUFFLEN3) 

(PMNABSIZ) 

(PVSDSIZE) 

(SMTSIZE) 

(PB1FISIZ) 

(PB12SIZ) 



FILE CONTROL BLOCKS* 



S 



(PBFILE) 

(PBFILE1) 

(PBFILE2) 

(PBFILE3) 

PFCB 



* In COMMON 



f 



^ 



00 



n 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



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. 



IPKBA 



INOPT 



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



INFILE 
INPARSIZ 



3. The workf iles and the input files are opened. 

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

5. The first record is read from SYSIPT. 

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



INOPEN 
INBUFSZ 

INREC 
INITCDE 



K 




1 f 


1 — 1 




D 




I 


I 




Q. 


C3 


V i- 


V 




D 
O 


O 


^ 1 


N 






V) 


1 s 





/\ 



/\ 



CD 
< 
C/) 






DC 

o 

5 



DC 



CM 



to 



7Y 



D 



CJ 

Q 
Uj 

2 



Q 
O 
O 



CO 

< 






84 



f^ 



EXTENDED DESCRIPTION 



MODULE 



ROUTINE 



The ABEND function is called when any of the following have been detected: 

• Workfile I/O error 

• End of workfile extent 

• Too many macros or global symbols for the partition 

• I/O unit required but not assigned 

• Incorrect workfile unit type 

• Too small a partition 

1. The ABEND routine writes the appropriate error message on SYSLST and SYSLOG 
before terminating the job. 

2. Further input is flushed. 

3. All workfiles are closed. 

4. An end-of-job command is issued. 



IPKTA 



IPKTA 



BADASGN 



MESSROUT 



00 



X. 



( 



Program Organization 



Purpose 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 
section 


Object 
module 


Description of the object module 


ASSEMBLY 


IPKADOOO 
IPKAJOOO 
IPKBAOOO 
IPKABOOO 
IPKAGOOO 
IPKAAOOO 

IPKAA002 


IPKAD 
IPKAJ 
IPKBA 
IPKAB 
IPKAG 
IPKAA 

IPKAA 


SYSSLB logic module (PTFSL) 

Assembler identifier 

Initializer 

SYSIPT and SYSSLB input 

SYSIPT logic module (CPMOD) 

Basic interface routines and common 

data area 

Workfile logic module 


ASSECA 


IPKCAOO 1 
IPKCBOOO 
IPKCCOOO 

IPKCDOO 1 


IPKCA 
IPKCB 
IPKCC 

IPKCD 


Input for assembler 

Op- code table and op-code look-up 

Macro instruction and macro 

prototype editor 

Overlay for TITLE , ISEQ, COPY, BKEND r 

and EOF on SYSSLB 


ASSEDA 


IPKDA000 
IPKDB000 


IPKDA 
IPKDB 


Conditional assembly editor 

Variable symbol declaration processor 


ASSEEA 


IPKEA000 


IPKEA 


Sequence symbol resolution 


ASSEGA 


IPKGA000 
IPKAC000 
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) 



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



88 



( 



i 



Phase 


Control 
section 


Object 
module 


Description of the object module 


ASSEHA 


IPKHA000 


IPKHA 


Attribute collection 


ASSEIA 


IPKIAOOO 
IPKAA001 
IPKAA003 
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 


IPKJA000 


IPKJA 


Assembler pre-processor and literal 
processor 


ASSEKA 


IPKKA001 
IPKKA000 


IPKKA 
IPKKA 


Assignment initializer 
Assignment 


ASSELA 


IPKLA000 
IPKNA000 

IPKNB000 


IPKLA 
IPKNA 

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 


IPKOA000 
IPKPAOOO 


IPKOA 
IPKPA 


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


ASSEQA 


IPKQA000 


IPKQA 


Relocation dictionary output (RLD) 


ASSERA 


IPKRAOOO 


IPKRA 


Cross-reference sort and print (XREF) 


ASSERB 


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 

subf unctions. For a description of how the phases work see "Method of 

Operation". 



Phase 


Diagram 


Function 


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 declarations 

• 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.4 


• 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 


• 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 f and duplicates 



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






90 



( 



Phase 


Diagram 


Function 


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. 



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



Program Organization 91 



Control and Data Flow Between Phases 



INPUT 



SYSiPT 




f INITIALIZE "J 



If no macros or conditional- 
assembly in open code 



ASSECA 

Edit macro 
instructions 






INPUT 



SYSSLB 



Macro 
Library 



WF1 



Source Macro 



KT, GAR, 
source and 

edited records 



Open Code 



GAR, 
source and 
edited records 



WF2 



WF3 



Source Macro 



Source 



Open Code 



Source 



i 



Open Code 



Macro name 
array 




WF3 



ASSEDA 
Edit macro def. 
and conditional 

assembly 



WF1 



ASSEEA 

Resolve sequence 
symbol references 



Source macro 
table 



ZJ^Z 



Source Macro 



Mac.info.block 
variable sym. diet, 
sequence sym. diet 



Open Code 



OC info, block 
variable sym. diet, 
sequence sym. diet. 



WF3 



->! ASSEGA J- 

1 EDECK I 

i H 

I 



GHtt 



WF1 



Source & Lib. Mac 



Keyword table 
global vector 
edited text 



ASSEFA 
Global edit 



Macro address 
vector 



OC Global Vector 



Open code 
attribute table 



Source Macro 



Macro header 
KT, GAR, 
edited records 



Open Code 



OC header, GAR, 
source and 
edited records 



Source Macro 



Source and 
error records 



WF3 



| EDECK 
I diagnostic 



KD0 



WF3 



ASSEHA 

Collect 
attributes 



•0 



Global edit 
errors 



WF3 



ASSEIA 
Generate 



♦0 



Generated 
source text and 
error records 



r 
\ 



<D 



O 




r§ 






WF1 



OUTPUT 



PUNCH file 
Pre-ESD PUNCH 
& REPRO, 
ESD records 



PRINT.file 
ESD records 



Object file 
Pre-ESD PUNCH 
& REPRO, 
ESD records 



PUNCH file 
Post-ESD PUNCH 
& REPRO, 
text records 



PRINT file 
Assembled source 
program 



Object file 
Post-ESD PUNCH 
& REPRO, 
text records 



PUNCH file 
RLD records, 
END record 



PRINT file 
RLD records 



Object file 
RLD records, 
END record 



PRINT file 
XREF listing 



PRINT file 
Error records and 
statistics^ 



HPUNCH & REPRO 
before first 
CSECT 



Literal pool 



WF1 




Edited text 
and error 
records 



W*=1 



Error records 





WF1 



ASSEKA 
Collect 
symbol 
defintions 



I 



ASSELA 

Resolve symbol 
references and 
build code 1 



WF2 



Edited text 
and error 
records 



ASSEMA 

External symbol 
dictionary output 



<D 



ASSEOA 
Build code 2 
and text 
output 



*0 



ASSEQA 
Relocation 
dictionary 
output 



XREF 
directory 



©i 



C ■ WF2 



ASSERA 

Cross-reference 
output 



XREF strings 
to be merged 



ASSESA 

Diagnostic and 
statistics output 



O 



WF3 



ESD table 



f*l?*3 




XREF del r t^^ns 
XREF reference | 
XREF duplicates 



-0 



WF3 



RLD 
information 



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



■■■ indicates optional information. 



Figure 3. Control and Data Flow Between Phases 






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 workf ile 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. 




1 
2 
3 

I 4 

2 5 

CO 

i: 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 



4K 



7.2K 



Assembly 
10K 



ASSECA 
12.7K 



ASSEDA 
9K 



ASSEEA 
2K 



ASSEGA 
3K 



ASSEFA 
5.3K 



ASSEHA 
3.3K 



IA 
11.1K 



JA 
8.8K 



KA 
9K 



LA 
6.2K 



1.1K 



1.5K 



MA 
4.1 K 



OA 
11. 5K 



QA 
1.9K 



RA 
3.1 K 



RB 
2.2K 



RC 
1.1K 



SA 
9K 



Low address 
of partition 



High address 
of partition 



Time 



Figure 4. Allocation of Main Storage for the Phases 



^^ 



f 



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 



IPKCA 
code 



IPKCB 
code 



IPKCC 
code 



IPKCD 
code 



ri KAnnR fc 


• 


w 
PWAADDR2- ^ 


Macro name array (MNA) buffer 


BUFADDR2 ^ 


Work area for workf ile 2 




Buffer for workfile 2 



Figure 5. ASSECA Main Storage Layout. 



Program Organization 95 



VSDADDR 



SSDADDR 
(only in IPKDA) 



PWAADDR1 



BUFADDR1 



PWAADDR2 



BUFADDR2 



COMMON 
interface 



IPKDA 
code 



IPKDB 
code 



fe 


« • 


fc 


Variable symbol dictionary 
(VSD) 


fe 


Sequence symbol dictionary 
(SSD) 


fc 


Work area for workfile 1 




Buffer for workfile 1 


__^ 


Work area for workfile 2 




Buffer for workfile 2 



> * 



* This area is overlaid by the VSD in module IPKDB 



Figure 6. ASSEDA Main Storage Layout, 






96 



f 



( 



COMMON 
interface 



IPKEA 
code 



Q-QHAnnR 


fe 








Sequence symbol dictionary 
(SSD) buffer 


QMTAnnR 


fc 








Source macro table 




fc 


(SMT) buffer 


PWAADDRl 




Work area for workf ile 1 


RiiPAnnRi - 


fe 






W 


Buffer for workf ile 1 


PWAADDR2 










Work area for workf ile 2 


BUFADDR2 - 


fe 








Buffer for workf ile 2 


PWAADDR3 ^ 


*- 






Work area for workf ile 3 


oUrADDRj 




Buffer for workf ile 3 



Figure 7. ASSEEA Main Storage Layout, 



Program Organization 97 



SMTADDR 



SSVSDAD 



COMMON 
interface 



IPKAH 
code 



IPKAC 
code 



IPKGA 
code 



Source macro table buffer 



Sequence symbol dictionary 
variable symbol dictionary 
buffer 



PWAADDR2 — ♦ 



BUFADDR2 ► 



PWAADDR3 . ^ 



BUFADDR3 ► 



Work area for workfile 2 



Buffer for workfile 2 



Work area for workfile 3 



Buffer for workfile 3 



Figure 8. ASSEGA Main Storage Layout. 






98 



I 



{ 



COMMON 
interface 



IPKFA 
code 



IPKAC 
code 



IPKAH 
code 



GSDBUFAD 



SMTADDR — 
(only if there are 
source macros) 



MNABUFAD 



BUFADDR1 



PWAADDR1 



BUFADDR2 



PWAADDR3 



BUFADDR3 



Global symbol dictionary (GSD) buffer 



Source macro table buffer 



Macro name dictionary 
(MND) buffer 



Buffer for workfile 1 



Work area for workf iles 1 and 2 



Buffer for workfile 2 



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 



TABSTART ► 



BUFADDR2 ^ 



PWAADDR2 > 



BUFADDR3 ► 



COMMON 
interface 



IPKHA 
code 



Hash table (HASHTABL) 



Attribute table 
(ATTABLE) 



Buffer for workfile 2 



Work area for workfiles 2 and 3 



Buffer for workfile 3 



Figure 10. ASSEHA Main Storage Layout. 



100 



( 



AMAV ► 

GAVAPT p 

RDIBBASE ► 

RDIBBASE ^ 



COMMON 
interface 



IPKIA 
code 



IPKAA 
code 



IPKCB 
code 



IPKIC 
code 



Macro address vector (MAV) 



Value area for global set symbols 



Open code dictionary block 



Macro dictionary block 



DAFSEND 



PWAADDR1 



BUFADDR1 



PWAADDR2 



BUFADDR2 



PWAADDR3 



BUFADDR3 











Global SSA 




Work area for workf ile 1 




Buffer for workf ile 1 




Work area for workf ile 2 




Buffer for workf ile 2 




Work area for workf ile 3 






Buffer for workf ile 3 



Figure 11. ASSEIA Main Storage Layout, 



Program Organization 101 







COMMON 
interface 


- — 






IPKJA 
code 




UTTABLS - 


— ► 






PWAADDR1 - 


— ► 


Work area for workfile 1 




BUFADDR1 ~ 




Buffer for workfile 1 




PWAADDR2 


fr. 










Work area for workfile 2 




micAnnR9 — 


fc 










Buffer for workfile 2 




PWAADDR3 


fc- 








Work area for workfile 3 


BUFA0DR3 " 




Buffer for workfile 3 





* If there are PUNCH and/or REPRO records before the first control section, this area is first used by 
workfile 1, as shown here, and then overlaid by the Literal pool. If there are no PUNCH or REPRO 
records before the first control section, workfile 1 is not used and this area is only used by the 
Literal pool. 



Figure 12. AS SE J A Main Storage Layout* 



102 



f 



( 



ADESDTAB ► 



STABEND ^ 

(end oi symbol 
table) 



XREFPTR ^ 



BUFADDR2 ► 



PWAADDRK2) ^ 



BUFADDR1 ^ 



PHICORE 



COMMON 
interface 



IPKKA 
code 



External symbol dictionary 
table buffer 



Hash table (HASHTABL) 



Symbol table 



Cross-reference buffer 



Buffer for workf ile 2 



Work area for workf iles 1 and 2 



Buffer for workf ile 1 



4 ESDEND 



4 SYMADDR 

(start of symbol table) 



4 XRAREND 



Figure 13, ASSEKA Main Storage Layout • 



Program Organization 103 



STABEND » 

(end of symbol table) 



XREFPTR 



BUFADDR2 ► 



PWAADDRK2) ► 



BUFADDR1 



Symbol table overflow 



COMMON 
interface 



IPKLA 
code 



IPKNA 
code 



Symbol table 



No symbol table overflow 



Cross-reference buffer 



Buffer for workf He 2 



Work area for 
workf iles 1 and 2 



Buffer for workf ile 1 



STABEND - 
(end of symbol 
table) 



*~~SYMADDR ► 

(Start of symbol table) 



* — XRAREND 



COMMON 
interface 



IPKLA 
code 



IPKNA 
code 



Symbol table 



Work area for workf ile 2 



Buffer for workf ile 2 



Work area for workf ile 1 



Buffer for workf ile 1 



"PWAADDR2 



"BUFADDR2 



< — PWAADDR1 



' BUFADDR1 



Figure 14. ASSELA Main Storage Layout. 



X, 



104 



f 



( 



PARTAB 



PWAADDR1 



BUFADDR1 



PHICORE 



COMMON 
interface 



IPKMA 
code 



IPKAF 
code 



IPKAI 
code 



IPKAH 
code 



External symbol dictionary 
buffer 



External symbol dictionary 
buffer 



Work area for workfile 1 



Buffer for workfile 1 



* 



* The maximum number of ESD buffers is seven. 



Figure 15* ASSEMA Main Storage Layout. 



Program Organization 105 



PWAADDR3 



BUFADDR3 



PWAADDR2 



BUFADDR2 



PWAADDR1 



BUFADDR1 



COMMON 
interface 



IPKOA 
code 



IPKPA 
code 



Work area for workfile 3 



Buffer for workfile 3 



Work area for workfile 2 



Buffer for workfile 2 



Work area for workfile 1 



Buffer for workfile 1 



Figure 16. ASSEOA Main Storage Layout. 



,4 
\ 



106 



I 



BUFPOINT 



ENDSAVE 



fe 


COMMON 
interface 

IPKQA 
code 




Relocation dictionary (RLD) 
buffer 


^ 


PRSAVE (saved RLDs)* 


<r 


** x 



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



Figure 17, ASSEQA Main Storage Layout. 



Program Organization 107 



ASSERA 
r ln-storage" sort 



ASSERA 
Sort not "in-storage" 



COMMON 
interface 



IPKRA 
code 



Initialization 
routine 



Print routine 
(CSECT=IPKRA001) 



Record storage area 
(RSA) 



Input buffer 



XREF directory 



XREF index table 



4-SRTINITfr 



>* 



COMMON 
interface 



IPKRA 
code 



Record storage area 
(RSA) 



Output buffer 



Input buffer 



XREF directory 



XREF index table 



ASSERB 



ASSERC 



COMMON 
interface 



Print routine 
(CSECT^IPKRAOOU 



IPKRB 
code 



XREF sort block 1 



XREF sort block 2 



COMMON 
interface 



Print routine 
(CSECT = IPKRA001) 



IPKRC code 



\ 






XREF sort block "M" 



XREF directory 



XREF index table 



/ 



Record storage area 



* If the record storage area starts at label SRTINIT, 
then both the initialization and print routines are 
overlaid by the RSA and the output printing is 
handled by ASSERC. 



*The number of XREF sort blocks is 2<M <19. 



Figure 18. ASSERA. Main Storage 
Layout. 



Figure 19. ASSERB and ASSERC Main 
Storage Layout. 






108 



( 



PWAADDR1 



BUFADDR1 



COMMON 
interface 



IPKSA 
code 



IPKSB 
code 



Work area for workfile 1 



Buffer for workfile 1 



C 



Figure 20. ASSESA Main Storage Layout. 



Program Organization 109 



Common Data Area for the Assembler 

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: 

IBRTAB Branch table (branches to interface routines) 

PCOM1 Equates and data areas used by the assembler 

PCOM2,3,5,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. 
PC0M1*2, 3,5, 6, 7 overlay each other by means of ORGs. For example: 

PCOM2 starts with 0RG7 EQU * 

then 

PCOM3 starts with ORG 0RG7 

See "Data Areas" for a complete description of the DSECT PCOMMON. 



V. 



110 



c 



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. 



Directory 111 



c 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF** 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


BEC 


DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT 




BEC 


IPKPA 


CAED 


COL. MODE AND OVERFLOW ?, ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


CAEDIT 


DSECT NAME; ATTRIBUTE PHASE 




CAEDIT 


IPKHA 


CAEVAL 


SAVE REGISTERS , PHKGEN 


1.5,1.5.2 


IPKIA000 


IPKIA 


CATALBKE 


EDECK OUTPUT 


1.2 


IPKGA000 


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 


IPKKA000 


IPKKA 


CHECKGS 


GLOBAL EDIT 


1.3,1.3.1 


IPKFA000 


IPKFA 


CHKNAME 


PRE- PROCESSOR PHASE TO THE ASSEMBLER PHASES 


2.1.1 


IPKJA000 


IPKJA 


CNOPR 


PUT VALUES IN SYMBOL BUCKETS, ASSIGNMENT 
PHASE 


2.2.1 


IPKKA000 


IPKKA 


CODE 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




CODE 




COMR 


GIVE IT A NAME, ASSIGNMENT PHASE 


2.2.2 


IPKKA000 


IPKKA 


COMREG 


DSECT NAME; ONE TIME INITIALIZER 




COMREG 


IPKBA 


CONXXXX 


DSECT NAME; ONE TIME INITIALIZER 




CONXXXX 


IPKBA 


COPERROR 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


CROSSREF 


XREF LISTING ?, ASSIGNMENT PHASE 


2.3,2.2 


IPKKA000 


IPKKA 


CROSSREF 


XREF LISTING ?, SUBSTITUTION PHASE 


2.3 


IPKLA000 


IPKLA 


CSECTR 


INDICATE THAT IN CSECT, ASSIGNMENT FHASE 


2.2.2 


IPKKA000 


IPKKA 


DCEDIT 


DSECT NAME; *** THIS DSECT, ASSIGNMENT PHASE 




DCEDIT 


IPKKA 


DCPROC 


DC AND DS CODE BUILD 


2.6 


IPKOA000 


IPKOA 


DCR 


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


2.1.2 


IPKJA000 


IPKJA 


DCR 


ASSIGNMENT PHASE 


2.2.1 


IPKKA000 


IPKKA 


DIB 


DSECT NAME; OC OR MACRO DIB, PHKGEN 


1.5.1,1-5 


DIB 


IPKIA 


DICTINFO 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




DICTINFO 




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 


DRIVER 


OP-CODE LOOKUP AND STMT COMPRESS 


4 


IPKCA001 


IPKCA 



*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 113 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 

REF*^ 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


DRIVER 


PHKGEN 


1.5 


IPKIA000 


IPKIA 


DRIVER 


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


2.1.2 


IPKJA000 


IPKJA 


DSECTR 


WAS THERE A NAME ?, ASSIGNMENT PHASE 


2.2.2 


IPKKA000 


IPKKA 


DSROUT 


SAVE RETURN REG, ESD INTERLUDE PHASE 


2.5 


IPKMA000 


IPKMA 


DUMP 


SAVE, SOURCE AND OBJECT TEXT OUTPUT 


2.7,2.7.1 


IPKPA000 


IPKPA 


♦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 


*EDPMI 


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 


EDTEXT 


ENTRY POINT; SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


EINFO 


DSECT NAME; ERROR ITEM DESCRIPTOR, EXTERNAL 
SYMBOL DICTIONARY 




EINFO 




EJECTOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


ENDCARD 


DSECT NAME; ♦♦♦, RLD OUTPUT PHASE 




ENDCARD 


IPKQA 


ENDR 


PUT VALUES IN SYMBOL BUCKETS, ASSIGNMENT 
PHASE 


2.2.1 


IPKKA000 


IPKKA 


♦EPAR 


DSECT NAME; ENTRY IN PARAMETER TABLE, PHKGEN 


1.5.1 


EPAR 


IPKrA 


EQUR 


EQUR (3705) 3DL29301, 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 


ERRCALL 


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 


ERRLOG 


DC AND DS CODE BUILD 


2.4.3,2.6 


IPKOA000 


IPKOA 


FRRPUT 


ENTRY POINT; DC AND DS CODE BUILD 


2.6,2.4.3 


IPKOA000 


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 METHOD OF OPERATIONS SECTION. 
•F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION. 



114 



r 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF** 


CSECT/ 
DSECT 


MODULE/ 
MCPOFCH 


ESDCOL17 


DSECT NAME; ♦♦♦, ESD INTERLUDE PHASE 




FSDCOL17 


IPKMA 


♦ESDENTRY 


DSECT NAME; THIS DSECT DESCRIBES AN ENTRY, 
ASSIGNMENT PHASE 


2,2,2.2.2 


ESDENTRY 


1PKKA 


♦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 


IPKKA000 


IPKMA 


ESDTAB 


DSECT NAME; ***, ESD INTERLUDE PHASE 




ESDTAB 


IPKMA 


♦EVALSTCK 


DSECT NAME; ENTRY IN THE EVAL ROUT STACK, 
ASSIGNMENT PHASE 




EVALSTCK 


IPKKA 


♦EVALSTCK 


DSECT NAME; ENTRY IN THE EVAL ROUT STACK, 
SUBSTITUTION PHASE 




FVALSTCK 


IPKLA 


EVALUATE 


SAVE RETURN REGISTER, ASSIGNMENT PHASE 


2.3 


IPKKA000 


IPKKA 


EVALUATE 


SUBSTITUTION PHASE 


2.3 


IPKLA000 


IPKLA 


F1NDGS 


GLOBAL EDIT 


1.3.1,1.3 


IPKFA000 


IPKFA 


FIXUP 


INSERT END OF OPERAND FLAG, PRE-PROCESSOR 
PHASE TO THE ASSEMBLER PHASES 


2. 1.2 


IPKJA000 


IPKJA 


♦GARD 


DSECT NAME; GLOBAL ARRAY RECORD DSECT, 
VARIABLE SYMBOL DECLARATION PROCESSOR 




GARD 


IPKDB 


♦GARD 


DSECT NAME; GLOBAL ARRAY RECORD DSECT, 
GLOBAL EDIT 




GARD 


IPKFA 


♦GARENT 


DSECT NAME; GLOBAL ARRAY ENTRY DSECT, 
VARIABLE SYMBOL DECLARATION PROCESSOR 




GARENT 


IPKDB 


♦GARENT 


DSECT NAME; GLOBAL ARRAY ENTRY DSECT, 
GLOBAL EDIT 


1.3.1 


GARENT 


IPKFA 


GEERR 


GLOBAL EDIT 


1.3.1 


1PKFA000 


IPKFA 


GEFIN 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


GEINIT 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


GEOC 


GLOBAL EDIT 


1.3.1 


IPKFA000 


IPKFA 


GETSRC 


GET A SOURCE RECORD, SOURCE AND OBJECT TEXT 
OUTPUT 


2.7 


IPKPA000 


IPKPA 


GSDBUFAD 


ADDRESS OF GSD BUFFER, GLOBAL EDIT 


1.3,1.3.1 


IPKFA000 


IPKFA 


GSDENT 


GLOBAL EDIT 


1.3.1,1.3 


IPKFA000 


IPKFA 


♦GSDENTRY 


DSECT NAME; GSD ENTRY DSECT, GLOBAL EDIT 


1.3.1,1.3 


GSDENTRY 


IPKFA 


GSDNPDST 


DSECT NAME; DSECT FOR GSD N/P TABLE, GLOBAL 
EDIT 




GSDNPDST 


IPKFA 


GVENT 


GLOBAL EDIT 


1.3,1.3.1 


IPKFA000 


IPKFA 


ICEND 


ALIAS FOR IPKIC999. PHKGEN 


1.5 


IPKIA000 


IPKIA 


IELEM 


DSECT NAME; INPUT ELEMENT FORMAT, PHKGEN 




IELEM 


IPKIA 


IJJCPDV2 


CSECT NAME; SYSIPT LOGIC MODULE 




IJJCPDV2 


IPKAG 



♦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 115 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF + + 


CSECT/ 

DSECT 


MODULE/ 
MCROFCH 


IJJCPDO 


CSECT NAME; SYSPCH/SYSLNK/SYSLST LOGIC 
MODULE 




IJJCPDO 


IPKAH 


IJJCPD1N 


CSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IJJCPD1N 




IJJCPD2 


CSECT NAME; 3-3, SYSIPT LOGIC MODULE 




IJJCPD2 


IPKAG 


♦IJJCPTAB 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IJJCPTAB 




♦IJJCPTAB 


DSECT NAME; SYSIPT LOGIC MODULE 




IJJCPTAB 


IPKAG 


♦IJJCPTAB 


DSECT NAME; SYSPCH/SYSLNK/SYSLST LOGIC 
MODULE 




IJJCPTAB 


IPKAH 


IJSYS01 


BASIC INTERFACE ROUTINES AND PCOMMON 


1.1 


IPKAA000 


IPKAA 


IJSYS02 


BASIC INTERFACE ROUTINES AND PCOMMON 


1.1 


IPKAA000 


IPKAA 


IJSYS03 


BASIC INTERFACE ROUTINES AND PCOMMON 


1.1 


IPKAA000 


IPKAA 


IJ2M0074 


CSECT NAME; 3-3, EXTERNAL SYMBOL DICTIONARY 




IJ2M0074 




IJ2T0074 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IJ2T0074 




IMIEDIT 


EDITED M-I, PHKGEN 


1.5. 1,1.5 


IPKIA000 


IPKIA 


INBUFSZ 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


♦INDENTRY 


DSECT NAME; ENTRY IN INDEX TABLE, POST 
PROCESSOR? XREF SORTING AND PRINTING 


2.8.2 


INDENTRY 


IPKRA 


♦INDENTRY 


DSECT NAME; DESCRIBES ENTRY IN INDEX TABLE, 
POST PROCESSOR; XREF SORTING 




INDENTRY 


IPKRB 


INFILE 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INIT 


PHKGEN 


1.5 


IPKIA000 


IPKIA 


INITCDE 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INOPEN 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INOPT 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INPARSIZ 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INREC 


ONE TIME INITIALIZER 


3 


IPKBA000 


IPKBA 


INSERT 1 


SAVE RETURN REG, ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


INSERT 2 


ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


IPKAA000 


CSECT NAME; BASIC INTERFACE ROUTINES AND 
PCOMMON 




IPKAA000 


IPKAA 


IPKAA001 


CSECT NAME; INTERFACE ROUTINE FOR MACRO 
PROCESSING 




IPKAA001 


IPKAA 


IPKAA002 


CSECT NAME; BASIC INTERFACE ROUTINES AND 
SDMODW 




IPKAA002 


IPKAA 


IPKAA003 


CSECT NAME; INTERFACE ROUTINE FOR MACRO 
PROCESSING (FBA VERSION) 




IPKAA003 


IPKAA 


I PK ABO 00 


CSECT NAME; SYSIPT AND SYSSLB ROUTINES 




IPKAB000 


IPKAB 


IPKAC000 


CSECT NAME; PUNCH ROUTINE FOR EDECK 




IPKAC000 


IPKAC 


I PK ADO 00 


CSECT NAME; DTFSL 




IPKAD000 


IPKAD 



♦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. 



4 



116 



( 



SYMBOLIC 

NAME 


DESCRIPTION 


: NAME AND USE 


PLM 
REF** 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


IPKAD100 


CSECT NAME; 


DTFSL 




IPKAD100 


IPKAD 


IPKAE000 


CSECT NAME; 


SYSSLB ROUTINES FOR GLOBAL EDIT 




IPKAE000 


IPKAE 


IPKAF000 


CSECT NAME; 


SYSPCH/SYSLNK OUTPUT 




IPKAF000 


IPKAF 


I PK AGO 00 


CSECT NAME; 


SYSIPT LOGIC MODULE 




IPKAG000 


IPKAG 


IPKAHOOO 


CSECT NAME; 
MODULE 


SYSPCH/SYSLNK/SYSLST LOGIC 




IPKAHOOO 


IPKAH 


IPKAIOOO 


CSECT NAME; 


PRINT ROUTINE 




IPKAIOOO 


IPKAI 


I PK A JO 00 


CSECT NAME; 


EMBEDDED IDENTIFIER 




IPKAJ000 


IPKAJ 


IPKBAOOO 


CSECT NAME; 


ONE TIME INITIALIZER 




IPKBAOOO 


IPKBA 


IPKCA001 


CSECT NAME; 


OP-CODE LOOKUP AND STMT COMPRESS 




IPKCA001 


IPKCA 


IPKCBOOO 


CSECT NAME; 


EXTERNAL SYMBOL DICTIONARY 




IPKCBOOO 




IPKCCOOO 


CSECT NAME; 


M-I AND PROTOTYPE EDITOR 




IPKCCOOO 


IPKCC 


IPKCD001 


CSECT NAME; OVERLAY FOR 

ICTL, ISEQ, TITLE , COPY, BKEND r EOF 




IPKCD001 


IPKCD 


IPKDAOOO 


CSECT NAME; 


EXTERNAL SYMBOL DICTIONARY 




IPKDAOOO 




IPKDBOOO 


CSECT NAME; 
PROCESSOR 


VARIABLE SYMBOL DECLARATION 




IPKDBOOO 


IPKDB 


IPKEAOOO 


CSECT NAME; 


SEQ SYM REFERENCE PROCESSOR 




IPKEAOOO 


IPKEA 


IPKFAOOO 


CSECT NAME; 


GLOBAL EDIT 




IPKFAOOO 


IPKFA 


IPKGAOOO 


CSECT NAME; 


EDECK OUTPUT 




IPKGAOOO 


IPKGA 


IPKHAOOO 


CSECT NAME; 


ATTRIBUTE PHASE 




IPKHAOOO 


IPKHA 


IPKIAOOO 


CSECT NAME; 


PHKGEN 




IPKIAOOO 


IPKIA 


IPKICOOO 


CSECT NAME; 
OPCODES 


LOOKUP AND CHECK OF GENERATED 




IPKICOOO 


IPKIC 


IPKJAOOO 


CSECT NAME; PRE- PROCESSOR PHASE TO THE 
ASSEMBLER PHASES 




IPKJAOOO 


IPKJA 


IPKKAOOO 


CSECT NAME; 


ASSIGNMENT PHASE 




IPKKAOOO 


IPKKA 


IPKKA0 01 


CSECT NAME; 


ASSIGNMENT PHASE 




IPKKA001 


IPKKA 


IPKLAOOO 


CSECT NAME; 


SUBSTITUTION PHASE 




IPKLAOOO 


IPKLA 


IPKMAOOO 


CSECT NAME; 


ESD INTERLUDE PHASE 




IPKMAOOO 


IPKMA 


IPKNAOOO 


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




IPKNAOOO 


IPKNA 


IPKNBOOO 


CSECT NAME; 
BUILD 


ADDRESS CONSTANT AND CCW CODE 




IPKNBOOO 


IPKNA 


IPKOAOOO 


CSECT NAME; 


DC AND DS CODE BUILD 




IPKOAOOO 


IPKOA 


IPKPAOOO 


CSECT NAME; 


SOURCE AND OBJECT TEXT OUTPUT 




IPKPAOOO 


IPKPA 


IPKQAOOO 


CSECT NAME; 


RLD OUTPUT PHASE 




IPKQAOOO 


IPKQA 



♦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 117 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF** 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


IPKRA000 


CSECT NAME; POST PROCESSOR; XREF SORTING 
AND PRINTING 




IPKRA000 


IPKRA 


IPKRA001 


CSECT NAME; POST PROCESSOR; XREF SORTING 
AND PRINTING 




IPKRA001 


IPKRA 


IPKRB000 


CSECT NAME; POST PROCESSOR; XREF SORTING 




IPKRB000 


IPKRB 


IPKRC000 


CSECT NAME; POST PROCESSOR; XREF PRINTING 




IPKRCOOO 


IPKRC 


IPKSAOOO 


CSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IPKSAOOO 




IPKSBOOO 


CSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IPKSBOOO 




IPKTAOOO 


CSECT NAME; EXTERNAL SYMBOL DICTIONARY 




IPKTAOOO 




♦KEYTAB 


DSECT NAME; KEYWORD TABLE DSECT, VARIABLE 
SYMBOL DECLARATION PROCESSOR 


1. 1.2 


KEYTAB 


IPKDB 


♦KEYTAB 


DSECT NAME; KEYWORD TABLE DSECT, GLOBAL EDIT 




KEYTAB 


IPKFA 


♦KEYTAB 


DSECT NAME; KEYWORD TABLE DSECT, PHKGEN 




KEYTAB 


IPKIA 


KNAPT 


-> ENTRY IN KNA, PHKGEN 


1.5.1 


IPKIA000 


IPKIA 


LBUF 


DSECT NAME; DESCRIBES EDECK CARD IMAGE, 
GLOBAL EDIT 




LBUF 


IPKFA 


LITCOPE 


ENTRY POINT; SOURCE AND OBJECT TEXT OUTPUT 


2.7.1 


IPKPA000 


IPKPA 


LITDRV 


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


2.1 


IPKJA000 


IPKJA 


LITERAL 


PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES 


2.1.2,2.1 


IPKJA000 


IPKJA 


LITMN 


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


2.1.2,2.1 


IPKJA000 


IPKJA 


LITSRCE 


PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES 


2.1,2.1.2 


IPKJA000 


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 


IPKKA 


LOCCNTR 


LOCATION COUNTER, ASSIGNMENT PHASE 


2.2.2 


PCOMMON 


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 


IPKJA000 


IPKJA 


LTORGR 


INSERT LENGTH ATTRIBUTE, ASSIGNMENT PHASE 


2.2.1 


IPKKA00O 


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 



♦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. 



,4 



118 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF^ + 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


♦MACHEAD 


DSECT NAME; MACRO HEADER DSECT , EDECK OUTPUT 




MACHEAD 


IPKGA 


♦MACHEAD 


DSECT NAME; MACRO HEADER DSECT , PHKGEN 




MACHEAD 


IPKIA 


MACHINOP 


PUT RIGHT VALUES, ASSIGNMENT PHASE 


2.2. 1 


IPKKA000 


IPKKA 


MACHOPS 


ENTRY POINT; DC AND DS CODE BUILD 


2.7.1 


IPKOA000 


IPKOA 


MACINS 


TEST IF COLLECTION MODE, ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


MAINK 


PHKGEN 


1.5. 1 


IPKIA000 


IPKIA 


MAIN10 


GET OPERAND RECORD, PHKGEN 


1.5.1 


IPKIA00O 


IPKIA 


MAIN30 


READ KT RECORD, PHKGEN 


1.5.1 


IPKIA000 


IPKIA 


MAVENTRY 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


MESSAGE 


DSECT NAME; MESSAGE LAYOUT IN POOL, 
EXTERNAL SYMBOL DICTIONARY 




MESSAGE 




MIB 


VARIABLE SYMBOL DECLARATION PROCESSOR 


1.1.2 


PCOMMON 


IPKDB 


MIROUT 


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


1. 1,4 


IPKCC000 


IPKCC 


MLIBSRCH 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


MNABUFAD 


ADDRESS OF MND BUFFER, GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


♦MNAENT 


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


4 


MNAENT 


IPKCA 


♦MNAENT 


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




MNAENT 


IPKCC 


♦MNAENT 


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




MNAENT 


IPKCD 


♦MNAENT 


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


1.3 


MNAENT 


IPKFA 


MNDENT 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


MNDNPDST 


DSECT NAME; DSECT FOR MND N/P TABLE, GLOBAL 
EDIT 




MNDNPDST 


IPKFA 


MNDSRCH 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


MNOTEOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


MOVEPUT 


FROM FIELD, SEQ SYM REFERENCE PROCESSOR 


1.1.3 


IPKEA000 


IPKEA 


MPUNCH 


SAVE RETURN ADDRESS, EDECK OUTPUT 


1.2 


IPKGA000 


IPKGA 


MRGDIR 


POST PROCESSOR; XREF SORTING 


2.8.2 


IPKRB000 


IPKRB 


MRGMAIN 


POST PROCESSOR; XREF SORTING 


2.8.2 


IPKRB000 


IPKRB 


MRGPRT 


ENTRY POINT, POST PROCESSOR; XREF SORTING 
AND PRINTING 


2.8.2 


IPKRA001 


IPKRA 


NADDRSPL 


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


2.4. 1 


IPKNA000 


IPKNA 


NAMSCAN 


CLEAR WORK REGISTER, ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


NDROP 


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


2.4,2.4.2 


IPKNA000 


IPKNA 



♦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 


ERROR NUMBER STACK, USING, DROP, MACHIN OP 
AND S-CONST CODE BUILD 


2.4. 1 


1PKNA000 


IPKNA 


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


2.4.1 


IPKNA000 


IPKNA 


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


2.4,2.4.1 


IPKNA000 


IPKNA 


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


2.4. 1 


IPKNA000 


IPKNA 


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


2.4,2.4.3 


IPKNA000 


IPKNA 


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


2.4.1 


NTABFMT 


IPKNA 


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


2.4. 1 


IPKNA000 


IPKNA 


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


2.4.1 


IPKNA000 


IPKNA 


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


2.4,2.4.2 


IPKNA000 


IPKNA 


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


2.4.3 


IPKNA000 


IPKNA 


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


1.1.2 


OCSTMH 


IPKDB 


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


1.1.3 


OCSTMH 


IPKEA 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




OPENTRY 




PRE-PROCESSOR PHASE TO THE ASSEMBLER PHASES 


2.1.1 


IPKJA000 


IPKJA 


ZERO WORKREGISTER, SUBSTITUTION PHASE 


2.3 


IPKLA000 


IPKLA 


DSECT NAME; PRE-PROCESSOR PHASE TO THE 
ASSEMBLER PHASES 




OPSTACKM 


IPKJA 


INSERT CUR VALUES IN STMT, ASSIGNMENT PHASE 


2.2.1 


IPKKA000 


IPKKA 


ALIAS FOR BIT1. ONE TIME INITIALIZER 


1.1 


PCOMMON 


IPKBA 


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




PARM 


IPKAA 


DSECT NAME; PARAMETER POINTER VECTOR DSECT, 
PHKGEN 


1.5.1 


PARPTV 


IPKIA 


BUFFER LENGTH, ONE TIME INITIALIZER 


1.1 


PCOMMON 


IPKBA 


BUFFER LENGTH, ONE TIME INITIALIZER 


1 . 1 


PCOMMON 


IPKBA 


BUFFER LENGTH, ONE TIME INITIALIZER 


1 . 1 


PCOMMON 


IPKBA 


WF1 BUFSIZE IN F AND I, ONE TIME INITIALIZER 


3 


PCOMMON 


IPKBA 


WF1,WF2 BUFSIZ, ONE TIME INITIALIZER 


1.1 


PCOMMON 


IPKBA 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




PCOMMON 




DSECT NAME; SYSIPT AND SYSSLB ROUTINES 




PCOMMON 


IPKAB 



NERRSTCK 

NMACHEND 

NMACHOP 

NPARTAB 

NSADDR 
♦NTABFMT 

NTESTST1 

NTESTST2 

NUSING 

NUSTAB 

♦OCSTMH 

♦OCSTMH 

OPENTRY 
OPERAND 
OPERANDS 
OPSTACKM 

ORGPROC 

PALIGN 

PARM 

PARPTV 

PBUFLEN1 

PBUFLEN2 

PBUFLEN3 

PB1FISIZ 

PB12SIZ 

♦PCOMMON 

♦PCOMMON 

♦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. 
•FV FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION. 



X... 



120 



[,,...,.. _ 



SYMBOLIC 

NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF^ 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


*P COMMON 


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 


a 


PCSR 


IPKCA 


♦PCSR 


DSECT NAME; M-I AND PROTOTYPE EDITOR 




PCSR 


IPKCC 


♦PCSR 


DSECT NAME; OVERLAY FOR 

ICTL , ISEQ, TITLE, COPY ,BKEND, EOF 




PCSR 


IPKCD 



♦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 121 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF* + 


CSECT/ 
DSECT 


MODULE/ 
I^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 


IPXFA 


♦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 


2. 1.2,2.1 


PCSR 


IPKJA 


♦PCSR 


DSECT NAME; ASSIGNMENT PHASE 




PCSR 


IPKKA 


♦PCSR 


DSECT NAME; SUBSTITUTION PHASE 




PCSR 


IPKLA 


♦PCSR 


DSECT NAME; SOURCE AND OBJECT TEXT OUTPUT 


2.7 


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 


2.2 


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 


2.4 


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 




PDCOUT 


IPKNA 


♦PDCOUT 


DSECT NAME; DC OUTPUT, DC AND DS CODE BUILD 




PDCOUT 


IPKOA 


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 


IPKKA000 


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 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. 



4 ' 
"\ 



122 



i 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF+ + 


CSECT/ 

DSECT 


MODULE/ 
MCROFCH 


♦PETFLDS 


DSECT NAME; OVERLAY FOR 

ICTL , ISEQ, TITLE, COPY ,BKEND r 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, MACH IN OP AND 
S- CONST CODE BUILD 


2. a. 3, 2. a 


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 


1.3 


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, MACH IN OP AND 
S- CONST CODE BUILD 


2.4.2,2.4 


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 


PEVOPND 


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




PEVOPND 


IPKLA 


♦PFCB 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




PFCB 





♦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 123 



SYMBOLIC 

NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF+^ 


CSECT/ 
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, MACH IN 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 1 , FOLLOWED BY A NUMERAL , REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION. 



4 ' " 



124 



c 



( 



SYMBOLIC 

NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF* + 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


♦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 


PCOMMON 


IPKBA 


♦ PMAV 


DSECT NAME; MACRO ADDRESS VECTOR DSECT f 
PHKGEN 


1.5. 1, 1.5 


PMAV 


IPKIA 


PMNABSIZ 


LENGTH OF MNA BLOCK, ONE TIME INITIALIZER 


1. 1 


PCOMMON 


IPKBA 


PNPVAL 


DSECT NAME; DESCRIBES N/P VALUE, BASIC 
INTERFACE ROUTINES AND PCOMMON 




PNPVAL 


IPKAA 


POINTBCK 


DSECT NAME; BASIC INTERFACE ROUTINES AND 
PCOMMON 




POINTBCK 


IPKAA 


POL EXP 


DSECT NAME; ATTRIBUTE PHASE 




POLEXP 


IPKHA 


POLIFY 


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


2.1.1 


IPKJA000 


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 


IPKPA000 


IPKPA 


PRINTOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


1PKPA000 


IPKPA 


PRLINE 


DSECT NAME; ♦♦♦, RLD OUTPUT PHASE 




PRLINE 


IPKQA 


PRNTLINE 


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


2.8.2 


IPKRA001 


IPKRA 


PROROUT 


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


1. 1,4 


IPKCC000 


IPKCC 


PSEUTBL 


SOURCE AND OBJECT TEXT OUTPUT 


2.7. 1 


IPKPA000 


IPKPA 


♦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 


1.4 


PSTRINGS 


IPKHA 


♦PSTRINGS 


DSECT NAME; PHKGEN 




PSTRINGS 


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. 



Directory 125 



SYMBOLIC 




PLM 


CSECT/ 


MODULE/ 


NAME 


DESCRIPTION: NAME AND USE 


REF+ + 


DSECT 


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 


IPKPA000 


IPKPA 


PUNCHOUT 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


PUNCHR 


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


2. 1 


IPKJA000 


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 


IPKIA000 


IPKIA 


REPROEDR 


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


2.1 


IPKJA000 


IPKJA 


REPROOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


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 


IPKQA000 


IPKQA 


RLDROUT 


SAVE RETURN VALUE, RLD OUTPUT PHASE 


2.8,2.8.1 


IPKQA000 


IPKQA 


RLDTAB 


DSECT NAME; ♦♦♦, RLD OUTPUT PHASE 




RLDTAB 


IPKQA 


RSA 


POST PROCESSOR; XREF SORTING AND PRINTING 


2.8.2 


IPKRA001 


IPKRA 


RTBL 


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


1.5.1 


IPKIA000 


IPKIA 


SEQENT 


DSECT NAME; SEQ SYM REFERENCE PROCESSOR 




SEQENT 


IPKEA 


SMTADDR 


ADDR OF SMT, SEQ SYM REFERENCE PROCESSOR 


1.1.3 


IPKEA000 


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 r , FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION. 



126 



SYMBOLIC 
NAME 


DESCRIPTION: NAME AND USE 


PLM 
REF** 


CSECT/ 
DSECT 


MODULE/ 
MCROFCH 


♦SMTENT 


DSECT NAME; SOURCE MACRO TABLE ENTRY DSECT, 
EDECK OUTPUT 




SMTENT 


IPKGA 


SMTENTR 


SEQ SYM REFERENCE PROCESSOR 


1.1.3 


IPKEA000 


IPKEA 


SMTSIZE 


SIZE OF SMT BLOCK, ONE TIME INITIALIZER 


1. 1 


PCOMMON 


IPKBA 


SMTSRCH 


GLOBAL EDIT 


1.3 


IPKFA000 


IPKFA 


SPACEOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


SRTDIR 


POST PROCESSOR; XREF SORTING AND PRINTING 


2.8.2 


IPKRA000 


IPKRA 


SRTINIT 


ENTRY POINT; POST PROCESSOR; XREF SORTING 
AND PRINTING 


2.8.2 


IPKRA000 


IPKRA 


SRTLIT 


ENTRY POINT, POST PROCESSOR; XREF SORTING 
AND PRINTING 


2.8.2 


IPKRA000 


IPKRA 


SRTOUT 


ENTRY POINT, POST PROCESSOR; XREF SORTING 
AND PRINTING 


2.8.2 


IPKRA000 


IPKRA 


SRTRSA 


POST PROCESSOR; XREF SORTING AND PRINTING 


2.8.2 


IPKRA000 


IPKRA 


♦SSD 


DSECT NAME; EXTERNAL SYMBOL DICTIONARY 




SSD 




♦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 


SSDADDR 


DA ADDR OF SSD, VARIABLE SYMBOL DECLARATION 
PROCESSOR 


1. 1.2 


PCOMMON 


IPKDB 


SS DLKP 


SEQ SYM REFERENCE PROCESSOR 


1. 1.3 


IPKEA000 


IPKEA 


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 


IPKKA000 


IPKKA 


STDIAG 


EDECK OUTPUT 


1.2 


IPKGA000 


IPKGA 


STGET 


EDECK OUTPUT 


1.2 


IPKGA000 


IPKGA 


STSMTGET 


EDECK OUTPUT 


1.2 


IPKGA000 


IPKGA 


SYMADDR 


POINTER TO START OF SYMBOL TAB, ASSIGNMENT 
PHASE 


2.2.1 


PCOMMON 


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 




TABOP 




TABSTART 


START OF ATTRIBUTE TABLE, ATTRIBUTE PHASE 


1.4 


IPKHA000 


IPKHA 


TITLEOP 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPA000 


IPKPA 


TXTCARD 


SOURCE AND OBJECT TEXT OUTPUT 


2.7.1 


IPKPA000 


IPKPA 



♦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 



SYMBOLIC 




PLM 


CSECT/ 


MODULE/ 


NAME 


DESCRIPTION: NAME AND USE 


REF** 


DSECT 


MCROFCH 


VASIZE 


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 NAME; DSECT FOR VSD ITEM, EDECK OUTPUT 




VSD 


IPKGA 


VSDADDR 


DA ADDR OF VSD IN CORE, VARIABLE SYMBOL 
DECLARATION PROCESSOR 


1.1.2 


PCOMMON 


IPKDB 


WORKAREA 


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




WORKAREA 


IPKJA 


♦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 


WRT ERROR 


SOURCE AND OBJECT TEXT OUTPUT 


2.7 


IPKPAOOO 


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 


XRFTAB 


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




XRFTAB 


IPKRA 






128 



f 



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 cross- 
reference 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: CODE 

SIZE: 2 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the error message table. 



IPKSA,IPKSB 



DISP 


LMNT 




FIELD 


DEC 


(HEX) 


SIZE 


NAME 





(0) 


2 


CODEHWD 





(0) 


1 


CODES W 
SFLAG 






»■•• •••• 


COMMAFLG 






» • i • • • • • 


EDFLAG 






• • • 1 • • • • 


UNFLAG 






► • • • . xxxx 




1 


(D 


1 




2 


(2) 


2 


NEXTCODE 



DESCRIPTION : CONTENTS, 
MEANING/USE 



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

FOUR FLAG BITS ♦ FOUR OFFSET BITS 

1=S MODIFIER 
1=COMMA MODIFIER 
1-ED MODIFIER 
1=UN MODIFIER 
OFFSET 

OFFSET 



FIELD 
NAME 



DISPLACEMENT 
DECIMAL (HEX) 



CODEHWD 

CODESW 

COMMAFLG 

EDFLAG 

NEXTCODE 

SFLAG 

UNFLAG 

♦POINTER 







2 





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



,f 



130 



( 



DATA AREA: DBRENTRY 

SIZE: 26 

CREATED BY:1 

>IPKRA,IPKRB 
UPDATED BY: J 

FUNCTION: Description of an entry in the directory table. 



DISPLMNT 


DEC 


(HEX) 





(0) 





(0) 


3 


(3) 


5 


(5) 


11 


(B) 


11 


(B) 


17 


(11) 



19 



20 



(13) 



(14) 



SIZE 



22 

3 

2 

6 

11 

6 

2 

1 

. 1... 



FIELD 
NAME 



DIRENT 

CORADDR 

OFFS 

BLKNP1 

KEY 

BLKNP2 

FILL 

FLAG 

BLKINSW 

DEFVAL 



DESCRIPTION: CONTENTS , 
MEANING/USE 



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 

PROGRAM SWITCH 

1=BLOCK IS IN MAIN STORAGE 

BLOCK INFORMATION 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


BLKINSW 


19 


(13) 


BLKINSW 


19 


(13) 


BLKNP1 


5 


(5) 


BLKNP2 


11 


(B) 


♦CORADDR 





(0) 


DIRENT 





(0) 


FILL 


17 


(11) 


FLAG 


19 


(13) 


KEY 


11 


(B) 


OFFS 


3 


(3) 


♦POINTER 







Data Areas 131 



DATA AREA: EPDMI 

SIZE: Variable (depending upon different types of records) 

CREATED BY: 

UPDATED BY: J 

FUNCTION: Description of an edited prototype or a macro instruction. 



►IPKCC,IPKDA,IPKDB,IPKFA,IPKHA,IPKIA 



DISPLMNT 
DEC (HEX) 


SIZE 





(0) 


1 


6 


(6) 


1 

1... 

.1 

• •1. 

.... .111 


7 

8 


(7) 
(8) 


1 

8 



7 (7) 

8 (8) 
16 (10) 



1 ., 



1 
8 
2 



FIELD DESCRIPTION: CONTENTS , 
NAME MEANING/USE 



COMMON HEADER (LNG=PCSRHEAD) 

JSW0023 PROGRAM SWITCH 

SWPMI1 1:ST RECORD OF PROTO OR M-I 

SWATRINS ATTRIBUTES TO BE INSERTED {M-I) 

SWSUBST SUBSTITUTION IN RECORD (M-I) 

EDPMIORG ONE OF THE FOLLOWING 

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



LEDPROT1 



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 ..1, 



LOMIED 1 



LENGTH OF 1 : ST OUTER M-I REC 



18 


(12) 




8 






...1 1.1. 


7 


(7) 


1 


8 


(8) 


1 






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

• • • « 


■ .... 

> .... 
. 1... 






• • • « 


» . . i . 
. 1 



(9) 



10 (A) 



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



LIMIED 1 



LENGTH OF 1:ST INNER M-I REC 



SUBSEQUENT PROTO AND M-I RECORDS 
BACK LOCATION COUNTER 

ITEMT TYPE FLAG 

ITEMFLAG PROGRAM SWITCH 

NALTSRC NEW OPD AFTER ALT STMT FORM 

ITEM 1ST 1ST ITEM OF MI OR PROTOTYPE 

ITEMLISW END ITEM SINGLE ON NEXT RCD 

ITEMLONG ITEM LONGER THAN 255 

ITEMATSW ATTRIBUTES INSERTED (HA) 

ITEMKWSW KEYWORD OPERAND SWITCH 

ITEMSLSW SUBLIST OPERAND SWITCH 

ITEML ITEM LENGTH MODULO ITEMLADD 

ITEMLADD LENGTH TO BE ADDED IF ITEMLONG 

ITEM ITEM CONTENT 



4 



132 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 



1.1. 



ITEMORG 



IS ONE OF THE FOLLOWING 



TYPES 1 



10 


(A) 


10 


(A) 


11 


(B) 


13 


(D) 


15 


(F) 


17 


(11) 


18 


(12) 


10 


(A) 


10 


(A) 


11 


(B) 


13 


(D) 


14 


(E) 


10 


(A) 


10 


(A) 


11 


(B) 


12 


(C) 


10 


(A) 


10 


(A) 


11 


(B) 


14 


(E) 


15 


(F) 


10 


(A) 


10 


(A) 



11 



(B) 



10 
10 


(A) 
(A) 


10 
10 


(A) 
(A) 


10 


(A) 


10 


(A) 


10 


(A) 



1111 



10 



(A) 



SYMBOL WITH T^L^S* AND I* ATTRIBUTE 

BACK LOCATION COUNTER 

SYM 1 ITEM 

TYPE ATTRIBUTE 

LENGTH ATTRIBUTE 

SCALE ATTRIBUTE 

INTEGER ATTRIBUTE 

COUNT ATTRIBUTE (STRING LEN) 

STRING 
SYMBOL WITH T f AND L 1 ATTRIBUTE 

BACK LOCATION COUNTER 

SYM2ITEM 

TYPE ATTRIBUTE 

LENGTH ATTRIBUTE 

COUNT ATTRIBUTE (STRING LEN) 

STRING 
SYMBOL/CHARACTER STRING WITH 

T f ATTRIBUTE ONLY 

BACK LOCATION COUNTER 

CHAR STRING ITEM AFTER ATTR 

TYPE ATTRIBUTE 

COUNT ATTRIBUTE 

STRING 
SELFDEFINING TERM 

BACK LOCATION COUNTER 

SELF-DEFINING TERM ITEM 

TYPE ATTRIBUTE 

BINARY VALUE 

COUNT ATTRIBUTE (STRING LEN) 

STRING 
BASIC CHARACTER EXPRESSION 

(STRING WITH SUBSTITUTION) 

BACK LOCATION COUNTER 
BCITEM BASIC CHARACTERITEM 
BCDUMMY DUMMY BYTE 



SYM 1 ITEM 
S1ITEMT 
S 1 ITEML 
S1 ITEMS 
S1ITEMI 
S1ITEMK 
S1ITEMST 
TYPES 2 

SYM2ITEM 
S2ITEMT 
S2ITEML 
S2ITEMK 
S2ITEMST 
TYPECHAR 



CHARITEM 
CHITEMT 
CHITEMK 
CH ITEM ST 
TYPESDEF 

SDEFITEM 
SDITEMT 
SDITEMB 
SDITEMK 
SD ITEM ST 
TYPEBC 



1111 



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 SUBLIST END 

BACK LOCATION COUNTER 
SUBEITEM SUBLIST END ITEM 
SEITEMN NO OF SUBOPERANDS (N f ) 
TYPEOM OMITTED OPERAND OUTSIDE SUBLIST 

BACK LOCATION COUNTER 
OMITTED OPERAND ITEM 
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 



OMITEM 
TYPEER ERROR. 



(CQ 



Data Areas 133 



DISPLMNT SIZE 


FIELD 


DEC 


(HEX) 




NAME 






TYPEEND END 


10 


(A) 


2 


ENDITEM 


10 


(A) 


1 


EITEMNP 


11 


(B) 


1 


EITEMNK 
ITEM « 






. ...1 


TYPEPP 






. ..1. 


TYPEKP 






. ..11 


TYPES1 






. .1.. 


TYPES2 






. .1.1 


TYPECHAR 






. .11. 


TYPESDEF 






. .111 


TYPESUBS 






. 1... 


TYPESUBE 






. 1..1 


TYPEBC 






.1.1. 


TYPEOM 






1.11 


TYPEER 






. 11.. 


TYPEK 






.-' 11.1 


TYPEEND 



DESCRI PTION : CONTENTS , 
MEANING/USE 



PERAND ITEMS 
BACK LOCATION COUNTER 
END ITEM 

NO OF POSITIONAL OPERANDS 
NO OF KEYWORD OPERANDS 



POSITIONAL PROTOTYPE ITEM 
KEYWORD PROTOTYPE ITEM 
SYMBOL WITH ALL ATTRIBUTES 
SYMBOL WITH T' AND L f ATTR 
CHARACTER STRING (T 9 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 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


BCCOLUMN 


10 


(A) 


BCDUMMY 


10 


(A) 


BCITEM 


10 


(A) 


BCITEMST 


11 


(B) 


CHARITEM 


10 


(A) 


CHITEMK 


11 


(B) 


CHITEMST 


12 


(Q 


CHITEMT 


10 


(A) 


EITEMNK 


11 


(B) 


EITEMNP 


10 


(A) 


ENDITEM 


10 


(A) 


ERITEM 


10 


(A) 


INDEX 


16 


(10) 


ITEM 


10 


(A) 


ITEMATSW 


8 


(8) 


ITEMFLAG 


8 


(8) 


ITEMKWSW 


8 


(8) 


ITEML 


9 


(9) 


ITEMLISW 


8 


(8) 


ITEMLONG 


8 


(8) 


ITEMSLSW 


8 


(8) 


ITEMT 


7 


(7) 


ITEM1ST 


8 


(8) 


KITEM 


10 


(A) 


LMNAME 


7 


(7) 


LPNAME 


7 


(7) 


MACNAM 


8 


(8) 


NALTSRC 


8 


(8) 


OMITEM 


10 


(A) 


PITEM 


10 


(A) 


PRONAME 


8 


(8) 


SDEFITEM 


10 


(A) 


SDITEMB 


11 


(B) 



4 



134 



( 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


SDITEMK 


14 


(E) 


SDITEMST 


15 


(F) 


SDITEMT 


10 


(A) 


SEITEMN 


10 


(A) 


SEQFLD 


18 


(12) 


SSITEMK 


10 


(A) 


SUBEITEM 


10 


(A) 


SUBS ITEM 


10 


(A) 


SWATRINS 


6 


(6) 


SWPMI1 


6 


(6) 


SWSUBST 


6 


(6) 


SYM1ITEM 


10 


(A) 


SYM2ITEM 


10 


(A) 


S1ITEMI 


15 


(F) 


S1ITEMK 


17 


(11) 


S1ITEML 


11 


(B) 


SI ITEMS 


13 


(D) 


S1ITEMST 


18 


(12) 


S1ITEMT 


10 


(A) 


S2ITEMK 


13 


(D) 


S2ITEML 


11 


(B) 


S2ITEMST 


14 


(E) 


S2ITEMT 


10 


(A) 


TYPEBC 


11 


(B) 


TYPECHAR 


11 


(B) 


TYPEEND 


11 


(B) 


TYPEER 


11 


(B) 


TYPEK 


11 


(B) 


TYPEKP 


11 


(B) 


TYPEOM 


11 


(B) 


TYPEPP 


11 


(B) 


TYPESDEF 


11 


(B) 


TYPESUBE 


11 


(B) 


TYPESUBS 


11 


(B) 


TYPES 1 


11 


(B) 


TYPES2 


11 


(B) 


*POINTER 







Data Areas 135 



DISPLMNT 
DEC (HEX) 


SIZE 




FIELD 
NAME 





(0) 


1 




EPARFLAG 






• • • • « 


Ml 


FLAGPMSK 


1 
2 


(D 
(2) 


1 
1 




EPART 
EPARREST 



DATA AREA: EPAR 

SIZE: Variable (depending upon different parameters) 

CREATED BY:1 

> IPKIA 
UPDATED BY: J 

FUNCTION: Description of an entry in the parameter table • 

DESCRIPTION: CONTENTS , 
MEANING/USE 

ENTRY FLAG 

SIGNIFICANT BITS OF EPARFLAG 

TYPE ATTRIBUTE 

REST OF ENTRY (LNG=VARIABLE) 

NEW TYPE OF ENTRY 

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

* FLAG * BINARY VALUE * LENGTH * STRING * SYSINDEX 
****************************************** 

(0) 1 INDXENT SYSNDX ENTRY 

(0) 1 INDXFLAG ENTRY FLAG A1 

1 (1) 4 INDXB BINARY VALUE 

5 (5) 1 INDXCL LENGTH OF CHARACTER STRING 

6 (6) 4 INDXC CHARACTER STRING 

.... 1.1. INDXLEN ENTRY LENGTH 

it**************************************** 

* FLAG * T* * K f ♦ STRING * SYSECT 
****************************************** 

10 (A) 1 SECTENT SYSECT ENTRY 

10 (A) 1 SECTFLAG ENTRY FLAG A5 

11 (B) 1 SECTCT TYPE ATTRIBUTE 

12 (C) 1 SECTCL LENGTH OF CHARACTER STRING 

13 (D) 8 SECTC CHARACTER STRING 

SECTLEN ENTRY LENGTH 
NAMEENT NAME ENTRY FOLLOWS 
NEW TYPE OF ENTRY 

4c ** ******* *♦♦* ♦*♦* ******** ************ ******* ******* 

* FLAG * T f * L 1 * S f * I 1 * K* * STRING* SYMBOL WITH 
**************************************************** all ATTRIBUTES 

(0) 1 SYM1ENT SYMBOL WITH ALL ATTRIBUTES 

(0) 1 SYM1FLAG ENTRY FLAG A3 



1 
1 
1 
1 

8 


. 1.1. 
1 .1.. 






136 



t 



DISPLMNT 


SIZE 


FIELD 


DEC 


(HEX) 




NAME 


1 


(D 


1 


SYM1T 


2 


(2) 


2 


SYM1L 


a 


W 


2 


SYM1S 


6 


(6) 


2 


SYM1I 


8 


(8) 


1 


SYM1K 


9 


(9) 


1 


SYM1C 



DESCRIPTION: 
MEANING/USE 



CONTENTS, 



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

* FLAG * T f * L - * K f * STRING * 
***************************************** 



TYPE ATTRIBUTE 

L 9 ATTRIBUTE 

S 9 ATTRIBUTE 

I f ATTRIBUTE 

K § ATTRIBUTE 

CHARACTER STRING (LMG=K f ) 

(LNG=VARIABLE) 

NEW TYPE OF ENTRY 



SYMBOL WITHOUT S 9 
AND !• ATTRIBUTES 






(0) 


1 


SYM2ENT 





(0) 


1 


SYM2FLAG 


1 


(1) 


1 


SYM2T 


2 


(2) 


2 


SYM2L 


4 


<") 


1 


SYM2K 


5 


(5) 


1 


SYM2C 



SYMBOL WITH SOME ATTRIBUTES 

ENTRY FLAG A4 

TYPE ATTRIBUTE 

L» ATTRIBUTE 

K 9 ATTRIBUTE 

CHARACTER STRING (LNG=K f ) 

(LNG=VARIABLE) 

NEW TYPE OF ENTRY 



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

* FLAG * T f * K f * STRING * 
************************************** 



CHARACTER STRING 



l 






(0) 


I CHARENT 





(0) 


I CHARFLAG 


1 


(1) 


I CHART 


2 


(2) 


I CHARK 


3 


(3) 


I CHARC 



CHARACTER STRING 

ENTRY FLAG A5 

TYPE ATTRIBUTE 

K 1 ATTRIBUTE 

CHARACTER STRING (LNG = K f ) 

(LNG=VARIABLE) 
NEW TYPE OF ENTRY 
*********************************************** 

* FLAG * T f * BINARY VALUE * K - * STRING * SELFDEFINING TERM 
*********************************************** 






(0) 


1 


SDEFENT 





(0) 


1 


SDEFFLAG 


1 


(1) 


1 


SDEFT 


2 


(2) 


3 


SDEFB 


5 


(5) 


1 


SDEFK 


6 


(6) 


1 


SDEFC 



SELFDEFINING TERM ENTRY 

ENTRY FLAG A6 

TYPE ATTRIBUTE 

BINARY VALUE 

K f ATTRIBUTE 

CHARACTER STRING (LNG = K*) 

(LNG=VARIABLE) 

NEW TYPE OF ENTRY 



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

* FLAG * ENTRY LENGTH * N f * K f * START FLAG * SUBENTRY * SUBEFLAG * 
******************************************************************** 

* 

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

* SUBENTRY * * SUBEFLAG * SUBENTRY * END FLAG * SUBLIST 
************* ********************************** 






(0) 


1 


SUBLENT 


SUBLIST ENTRIES 





(0) 


6 


SUBLHEAD 


HEADER 





(0) 


1 


SUBLFLAG 


ENTRY FLAG A7 



Data Areas 137 



DISPLMNT 




SIZE 


FIELD DESCRIPTION: CONTENTS , 


DEC (hex; 


) 






NAME MEANING/USE 


3 (3) 




1 




SUBLN N f ATTRIBUTE 


4 (4) 




1 




SUBLK K f ATTRIBUTE 


5 (5) 




1 




SUBEFLAG SUBENTRY FLAG 


6 (6) 




1 




SUBEL SUBENTRY LENGTH 


7 (7) 




1 




SUBE SUB ENTRY TYPE A3,A4,A5,A6 
(LNG=VARIABLE) 


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


* SUBEFLAG 


DS 


CL1 




NEXT * 


* SUBEL DS 


CL1 




SUB * 


* SUBE DS 
* 


XL (VARIABLE) 


ENTRY (LNG=VARIABLE) * 

* 


* ETC 








* 


* 








* ' ' 


* SUBLEND DS 


CL1 




SUBLIST END FLAG (A8) * 


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


FIELD 


DISPLACEMENT 




NAME 


DECIMAL 


(HEX) 




CHARC 


3 




(3) 




CHARFLAG 


"0 




(0) 




CHARK 


2 




(2) 




CHART 


1 




(1) 




EPARFLAG 







(0) 




EPARREST 


2 




(2) 




EPART 


1 




(1) 




FLAGPMSK 







(0) 




INDXB 


1 




(1) 




INDXC 


6 




(6) 




INDXCL 


5 




(5) 




INDXFLAG 







(0) 




SDEFB 


2 




(2) 




SDEFC 


6 




(6) 




SDEFFLAG 







(0) 




SDEFK 


5 




(5) 




SDEFT 


1 




(D 




SECTC 


12 




(Q 




SECTCL 


11 




(B) 




SECTFLAG 


10 




(A) 




SUBE 


7 




(7) 




SUBEFLAG 


5 




(5) 




SUBEL 


6 




(6) 




SUBLFLAG 







(0) 




SUBLHEAD 







(0) 




SUBLK 


4 




<<»). 




SUBLL 


1 




(1) 




SUBLN 


3 




(3) 




SYM1C 


9 




(9) 




SYM1FLAG 







(0) 




SYM1I 


6 




(6) 




SYM1K 


8 




(8) 




SYM1L 


2 




(2) 




SYM1S 


4 




(4) 




SYM1T 


1 




(1) 




SYM2C 


5 




(5) 




SYM2FLAG 







(0) 




SYM2K 


4 




(4) 




SYM2L 


2 




(2) 




SYM2T 


1 




(D 




♦POINTER 











4"' 



138 



( 



DATA AREA: ERRBYTES 
SIZE: 11 

CREATED BY:\ 

IPKKA,IPKLA 
UPDATED BY: 



FUNCTION: Description of an entry in the error stack- 



DISPLMNT 




FIELD 


DEC 


(HEX) 


SIZE 


NAME 





(0) 


11 


ERRAREA 





(0) 


2 


ERRCONST 





(0) 


1 


ERRNO 


1 


(1) 


1 


ERRSW 






i • • • •••• 


TEXT 






• 1 • • •••• 


OPND 


2 


(2) 


1 


ERRLNG 


3 


(3) 


8 


ERRTXT 



DESCRIPTION: CONTENTS, 
MEANING/USE 



ERROR NUMBER 

PROGRAM SWITCH 

TAKE STRING FROM SAVE AREA 
TAKE OPERAND NUMBER 

RINPT OR RWJA 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


ERRAREA 





(0) 


ERRCONST 





(0) 


ERRLNG 


2 


(2) 


ERRNO 





(0) 


ERRSW 


1 


(1) 


ERRTXT 


3 


(3) 


OPND 


1 


(1) 


TEXT 


1 


(1) 


♦POINTER 







Data Areas 139 



DATA AREA: ERRENT 

SIZE: 8 

CREATED BY: 1 

} IPKDA,IPKDB 
UPDATED BY: J 

FUNCTION: Description of an entry in the error stack/ 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 








(0) 
(0) 



(0) 
2 (2) 
5 (5) 



2 ERRINFO 

1 JSW0025 PROGRAM SWITCH 

.. ^..I SWSTR STRING WANTED XSWITCH 

1 ERRNO ERROR NUMBER 

3 STRPTR STRING POINTER (RINPT) 

3 EOFLDPTR CURRENT END OF FIELD (EOPPTR) 

.. !•-• ERRENTL STACK ENTRY LENGTH 

.. •. •• NOSTR OMITTED STRING IN ERROR RECORD 

STRING REQUIRED/NOT REQUIRED INDICATORS IN ERROR CALL 

1 STRING STRING REQUIRED 

NOSTRING STRING NOT REQUIRED 



FIELD 
NAME 

EOFLDPTR 
ERRINFO 
| ERRNO 
NOSTRING 
STRING 
STRPTR 
SWSTR 



DISPLACEMENT 
DECIMAL (HEX) 



5 


5 
5 
2 




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



♦POINTER 



4 
^ 



140 



( 



DATA AREA: ESDENTRY 

SIZE: 16 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the ESD table. 



IPKKA,IPKMA 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


DESCRIPTION: CONTENTS r 
MEANING/USE 







(0) 




ESDTYPE 
SDTYPE 


IN THE ESD TABLE 







(0) 


« . * . • • • 1 


VSDTYPE 
LDTYPE 









(0) 


1. 


VLDTYPE 
ERTYPE 









(0) 


,_ 


VERTYPE 
PCTYPE 









(0) 


• • • • • 1 • 1 


VPCTYPE 
CMTYPE 









(0) 


1... 


VCMTYPE 
DSTYPE 









(0) 


1..1 


VDSTYPE 
VCTYPE 









(0) 


1.1. 


WCTYPE 
WXTYPE 








1 

3 
6 
9 
17 


(0) 
(0) 

(1) 

(3) 
(6) 
(9) 
(11) 


2 
3 
3 
8 
1 


VWXTYPE 

ESDESDID 

ESDLCTR 

ESDHILC 

ESDSYM 

ESDNXT 


* ESDID 

* CURRENT LOCCNTR OF CONT. 

* HIGHEST LOCCNTR OF CONT. 

* SYMBOL 

* NEXT ENTRY 


SEC 
SEC 



Data Areas 141 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


CMTYPE 





(0) 


DSTYPE 





(0) 


ERTYPE 





(0) 


ESDESDID 


1 


(1) 


♦ESDHILC 


6 


(6) 


♦ESDLCTR 


3 


(3) 


ESDNXT 


17 


(11) 


ESDSYM 


9 


(9) 


ESDTYPE 





(0) 


LDTYPE 





(0) 


PCTYPE 





(0) 


SDTYPE 





(0) 


VCMTYPE 





(0) 


VCTYPE 





(0) 


VDSTYPE 





(0) 


VERTYPE 





(0) 


VLDTYPE 





(0) 


VPCTYPE 





(0) 


VSDTYPE 





(0) 


WCTYPE 





(0) 


VWXTYPE 





(0) 


WXTYPE 





(0) 



♦POINTER 



4 

v. 



142 



DATA AREA: EVALSTCK 

SIZE: 7-9 

CREATED BY:1 

I IPKKA,IPKLA 
UPDATED BY: J 

FUNCTION: Description of an entry in the evaluate routine stack. 



DISPLMNT 


DEC 


(HEX) 





(0) 


1 


<D 


5 


(5) 


7 


(7) 


5 


(5) 


6 


(6) 


8 


(8) 


10 


(A) 





(0) 


1 


(1) 


3 


(3) 



SIZE 



1 
4 
2 
1 

1 

2 
2 
1 

1 

2 
1 



(0) 



FIELD DESCRIPTION: CONTENTS , 
NAME MEANING/USE 



RANR NUMBER OF REL ATTR 0=ABSOLUTE 

EVALUE VALUE 

EVLENGTH LENGTH OF ABSOLUTE ENTRY 
EVVARY END OF ABSOLUTE ENTRY 

ORG BEFORE LENGTH FOR VAR ENTRY 
EVPLUS SIGN 

EVRELOC RELOCATION ATTRIBUTE 
RELLEN LENGTH OF ENTRY IN STACK 
EVNXT NEXT ENTRY IN STACK 

SAME BUT WITH DISPLACEMENTS 
PLORMIN SIGN 

RAONE RELOCATION ATTRIBUTE 
NXTRA NEXT PAIR OF SIGN AND RELATTR 

DISPLACEMENT = 
STLENGTH LENGTH OF STACK ENTRY 

AT END OF ENTRY 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


EVALUE 


1 


(D 


EVLENGTH 


5 


(5) 


EVNXT 


10 


(A) 


EVPLUS 


5 


(5) 


EVRELOC 


6 


(6) 


EWARY 


7 


(7) 


NXTRA 


3 


(3) 


PLORMIN 





(0) 


RANR 





(0) 


RAONE 


1 


(D 


RELLEN 


8 


(8) 


STLENGTH 





(0) 


♦POINTER 







Data Areas 14 3 



DATA AREA: GARD 

SIZE: 7 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the global array. 



IPKDB,IPKFA 



DISPLMNT 
DEC (HEX) 


SIZE 




FIELD 
NAME 


DESCRIPTION: CONTENTS, 
MEANING/USE 



2 
6 


(0) 
(2) 
(6) 


2 
1 
1 




GARLEN 
GARFLAG 


RECORD LENGTH 

GLOBAL ARRAY IOP (LNG=PCSRIOP) 

NOT USED 






• • • • • 


111 


GARITEM 


DESCRIBED BY DSECT GARENT 



FIELD 
NAME 

GARFLAG 
GARLEN 

♦POINTER 



DISPLACEMENT 
DECIMAL (HEX) 



(6) 
(0) 



/if"" 



144 



( 



DATA AREA: GARENT 

SIZE: 4-6 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of a global array item. 



IPKDB f IPKFA 



DISPLMNT 
DEC (HEX) 




SIZE 


FIELD 
NAME 


DESCRIPTION: CONTENTS , 
MEANING/USE 


(0) 

1 (1) 
3 (3) 




1 
2 
1 


GARTYPE 

GARNDX 

GARLGTH 


TYPE OF GLOBAL SYMBOL 
GLOBAL SYMBOL INDEX 
LENGTH OF SYMBOL NAME 






• ••• • i • • 


GARSYM 


SYMBOL NAME, VARIABLE LENGTH 


<* W 




2 


GARDIM 


DIMENSION 






1111 1111 


GAREND 


INDICATES LAST GAR 


FIELD 
NAME 


DISPLACEMENT 
DECIMAL (HEX) 






GARDIM 

GAREND 

GARLGTH 

GARNDX 

GARTYPE 


4 

a 

3 
1 




w 

(3) 
(1) 
(0) 






♦POINTER 











Data Areas 145 



DATA AREA: GSDENTRY 

SIZE: 5-11 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the global symbol dictionary. 



IPKFA 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 




1 
3 

4 
4 



(0) 
(1) 
(3) 
<*) 
■<•).. 

(3) 



1 
2 
1 
7 
2 

1 



1111 
1111 



1111 
1.1. 
..1. 



GSDTYPE SYMBOL TYPE 

GSDNDX INDEX NUMBER 

GSDLEN LENGTH OF SYMBOL NAME 

GSDSYM SYMBOL NAME 

GSDDIM DIMENSION 

LENGTH AND FLAG HAVE SAME ADDR. 

GSDFLG ENDFLAG 

EGSD END OF GSD 

EGSDB END OF GSD BLOCK 

DIMBIT BIT6 IN GSDTYPE IS ON IF 

SYMBOL DIMENSIONED 



FIELD 
NAME 

DIMBIT 

EGSD 

EGSDB 

GSDDIM 

GSDFLG 

GSDLEN 

GSDNDX 

GSDSYM 

GSDTYPE 

♦POINTER 



DISPLACEMENT 
DECIMAL (HEX) 



3 
3 
3 
4 
3 
3 
1 
4 




(3) 
(3) 
(3) 

(»).' 

(3) 

(3) 

(D 

(<0 

(0) 



% \ 



146 



DATA AREA: UJCPTAB 

SIZE: 232 

CREATED BY: 

UPDATED BY: 

FUNCTION: Table used by CPMOD, 






IPKAF , IPKAG , IPKTA 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 



(0) 



30 



IJJCPCCB 



( 







• ••• • • 1 . 


IJJCOMBT 






.... ..11 


IJJCMBT2 






• ••• . 1 • • 


IJJCPCB4 






.... 1... 


IJJCPTCB 






...1 .11. 


IJJFLNME 


30 


(1E) 


10 


IJ JCPF 1 






• • 1 • . « . « 


IJJCPLD2 


40 


(28) 


2 


IJJCPXTN 






..1. 1... 


IJJCPHCD 


42 


(2A) 


1 


IJJCPSWS 


43 


(2B) 


1 


IJJC2NSW 


44 


<2C) 


1 


IJJALSW 


45 


(2D) 


3 


IJJCP2ND 


48 


(30) 


4 


IJJCPSCW 


52 


(34) 


2 


IJJLOHED 


54 


(36) 


6 


IJJCPMAX 






..11 1... 


IJJCCWE1 


60 


(3C) 


4 


IJJCPSEK 


64 


(40) 


4 


IJJCPREC 






• 1 • • •••• 


IJJCCWE2 






• X • • •••• 


IJJCPREAD 


68 


(44) 


a 


IJJCPUPP 


72 


(48) 


1 


IJJCPRMX 






• i • • i . « . 


IJJCPSV1 



CCB, ADDR OF LOGIC, DTF TYPE, 

OPEN SW, FILE NAME 

1ST COMMUNICATION BYTE 

2ND COMMUNICATION BYTE 

CSW STATUS 

CCW ADDR 

FILE NAME 

Ft ADDR, WORK AREA OR FLAG t 

SEQ. NO. & OPEN SW 

LOAD INSTRUCTION FOR SYSTEM UNIT 

XTNT SEQ. NO. OF LAST XTNT S 

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 



PUNCH ERROR CCW2 IF DEVICE IS 

2540 PUNCH 
EOF ADD 

UPPER LIMIT 

NO. OF RECORDS/TRACK 

80 BYTE CARD IMAGE SAVEAREA 



Data Areas 147 



DISPLMNT 


SIZE 


FIELD 


DESCRIPTION: CONTENTS r 


DEC 


(HEX) 




NAME 


MEANING/USE 


73 


(49) 


1 


IJJFRSTR 


1 FIRST REC FOR INPUT OR OUTPUT 


74 


(4A) 


2 


IJJCPADJ 


ADJUSTMENT FOR CCW ADDRESS 


76 


(4C) 


4 


IJJCPCNT 


CCHH COUNT FIELD 


80 


(50) 


2 


IJJCPCTR 


RECORD S KEY LENGTH 


82 


(52) 


2 


IJJCPDAT 


DATA LENGTH 


84 


(54) 


4 


IJJLOAD 




88 


(58) 


24 


IJJCPSST 


SEEK, SEARCH, TIC CCW - S 


112 


(70) 


16 


IJJCPCCW 


CCW'S FOR INPUT AND OUTPUT 


128 


(80) 


24 


IJJCPVER 


VERIFY CCW f S 


152 


(98) 


8 


IJJECCW1 


2540 PUNCH ERROR CCW1 






1..1 i... 


IJJCPSV2 


80 BYTE CARD IMAGE SAVEAREA 


160 


(A0) 


8 


IJJECCW2 


2540 PUNCH ERROR CCW2 


168 


(A8) 


64 


IJJSAVEA 


RESERVED FOR SAVE AREA 


FIELD 




DISPLACEMENT 






NAME 




DECIMAL (HEX) 







IJJALSW 

IJJCPADJ 

IJJCPCCB 

IJJCPCCW 

IJJCPCNT 

IJJCPCTR 

IJJCPDAT 

IJJCPF1 

IJJCPMAX 

IJJCPREC 

IJJCPRMX 

IJJCPSCW 

IJJCPSEK 

IJJCPSST 

I JJCPSWS 

IJJCPUPP 

IJJCPVER 

IJJCPXTN 

IJJCP2ND 

IJJC2NSW 

IJJECCW1 

IJJECCW2 

IJJFRSTR 

IJJLOAD 

IJJLOHED 

IJJSAVEA 



44 

74 



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) 

(70) 

(4C) 

(50) 

(52) 

(1E) 

(36) 

(40) 

(48) 

(30) 

(3C) 

(58) 

(2A) 

(44) 

(80) 

(28) 

(2D) 

(2B) 

(9.8). 

(A0) 

my. 

(54) 
(34) 
(A8) 



♦POINTER 



4 



148 



DATA AREA: INDENTRY 

SIZE: 17 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in an index table. 



IPKRA,IPKRB 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 





11 



(0) 
(0) 
(B) 



17 
11 

6 



INDENT 
INDKEY 
INDNP 



LOWEST KEY IN A DIRECTORY BLK 
NOTE VALUE TO DIR BLOCK 



t 



FIELD 
NAME 


DISPLACEMENT 
DECIMAL (HEX) 


INDENT 
INDKEY 
INDNP 


(0) 
(0) 
11 (B) 


♦POINTER 





Data Areas 149 



DATA AREA: KEYTAB 

SIZE: 7 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the keyword table. 



IPKDB , IPKFA , IPKIA 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


DESCRIPTION: CONTENTS, 
MEANING/USE 



2 

6 


(0) 
(2) 

(6) 


2 
1 

1 


KWTLEN 
JSW0032 


RECORD LENGTH 
KEYWORD TABLE IOP 
(LNG=PCSRIOP) 
PROGRAM SWITCH 






1.. 

..... .111 


SWLASTKW 
KWTITEM 


INDICATES LAST RECORD 
DESCRIBED BY DSECT KWTENT 


FIELD 
NAME 




DISPLACEMENT 
DECIMAL (HEX) 






KWTLEN 
SWLASTKW 


■0 (0) 
6 (6) 






♦POINTER 









150 



(This page intentionally left blank. 

r 



Data Areas 151 



DATA AREA: MNAENT 

SIZE: 4-11 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the macro name array. 



IPKCA,IPKCC,IPKCD,IPKFA 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 




2 
3 



(0) 
(2) 
(3) 

(2) 



2 
1 

8 

1 

111. 

1111 1111 
1111 1.1. 



MNANDX INDEX NUMBER OF MACRO 

MNALEN LENGTH OF NAME 

MAN NAME 1-8 CHARS 
BACK TO LENGTH 

EFLG END OF BLOCK END OF ARRAY FLAG 

MAXENTL MAX ENTRY PLUS END FLAG 

EMNA END OF MNA FLAG 

EMNAB END OF MNA BLOCK FLAG 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL (HEX) 


EFLG 


2 (2) 


EMNA 


2 (2) 


EMNAB 


2 (2) 


MAN 


3 (3) 


MNALEN 


2 (2) 


MNANDX 


(0) 


♦POINTER 





V. 



152 



DATA AREA: NTABFMT 

SIZE: 2 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in an error table* 



IPKNA 



DISPLMNT 
DEC (HEX) 



(0) 



(D 



SIZE 



FIELD 


DESCRIPTION: CONTENTS , 


NAME 


MEANING/USE 


NENTRY 1 


FIRST ENTRY 


NERNUMB 


ERROR NUMBER 


NENTRY 2 


SECOND ENTRY 


NOPRNUMB 


OPERAND NUMBER 



r: 



FIELD 
NAME 

NERNUMB 
NOPRNUMB 

♦POINTER 



DISPLACEMENT 
DECIMAL (HEX) 




1 



(0) 
(1) 



Data Areas 153 



DATA AREA: OCSTMH 

SIZE: 13 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the open code start record. 



IPKDB,IPKEA 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


DESCRIPTION: CONTENTS, 
MEANING/USE 


(0) 
7 (7) 


1 
1 


NPMIB 


HEADER AND FLAG A (LNG= 

N/P TO INFO-BLOCK (LNG=PNPRW) 




..1. .1.1 


LOCSTMH 


EA LENGTH OF OCST MHR 



FIELD 
NAME 

LOCSTMH 
NPMIB 

♦POINTER 



DISPLACEMENT 
DECIMAL (HEX) 



7 
7 



(7) 
(7) 






154 



c 



DATA AREA: PCOMMON 
SIZE: Variable 
CREATED BY: 
UPDATED BY: 



All modules except: IPKAC,IPKAF,IPKAG,IPKAJ 



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 * 

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



( 



84 



(54) 



1.1 1.1. 



CODE FOR LINKAGE TO TRACE PROGRAM 

NO COMMENTS 

PABEND 

BYPASS INTERFACE ROUTINES 



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

* * 

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

* WORK AREA FOR FILE $ IN PHASE X * 

* ♦ 
*************************************************************** 



COMPRESSED SOURCE RECORDS 
CSR AND EDITED TEXT RCDS 
CSR FROM C 

CSR AND EDITED TXT FROM D 
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 



..1. 11.. 


PWA2C 


PUT 


1..1 


PWA1D 


PUT 


• • 1 • 1 1. , 


PWA2D 


GET 


1..1 


PWA1E 


GET 


1..1 


PWA2E 


PUT 


• • 1 • 11., 


PWA3E 


PUT 


1..1 


PWA2F 


GET 


..1. 11.4 


PWA3F 


PUT 


L.1 


PWA1I 


GET 


L.1 


PWA2I 


GET 


..1. I". . 


PWA3I 


PUT 


...1 LI, 


PWA2J 


PUT 


..1. 11. 4 


PWA3J 


GET 


...1 LI. 


PWA1K 




...1 LI. 


PWA1L 


TRAl 


...1 LI. 


PWA2L 


GET 


...1 LI, 


PWA1N 


REC] 



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



%*&< 



Data Areas 155 



DISPLMNT 
DEC 



SIZE 



FIELD 
NAME 



DESCRIPTION: 
MEANING/USE 



CONTENTS , 



1. 



PWA2N 
PWA10 
PWA20 
PWA1P 
PWA2P 
PWA3P 



TRANSFER RCD FROM TO P 
GET RCD WRITTEN BY N 
RECEIVE RCD FROM 

GET COMPRESSED SOURCE RCD 



* * 

* INTERNAL CODE EQUATES * 

* * 





PO 


NUMBER 




• .1 P1 


1 




.1. P2 


2 




• 11 P3 


3 




1.. pa 


a 




1.1 P5 


5 




11, P6 


6 




111 P7 


7 




... P8 


8 




..1 P9 


9 




. 1. A 


LETTER A 




. 11 B 


B 




1.. C 


C 




1.1 D 


D 




11. E 


E 




111 F 


F 




... G 


G 




.. 1 H 


H 




.1. I 


I 




.11 J 


J 




1.. K 


K 




1.1 L 


L 




11. M 


M 




111 N 


N 




. .. 







..1 P 


P 




-.1. Q 


Q 




.11 R 


R 




1.. S 


S 




1. 1 T 


T 




11. U 


U 




11.1 V 


V 


.•1. • 


. .. w 


W 


• • 1 • ■ . 


..1 X 


X 


.•1. . 


. 1. Y 


Y 


• •1. • 


.11 Z 


Z 


..1. . 


1.. DOLLAR 


$ 


• •1.. . 


1.1 NUMBER 


# 


..1. . 


11. AT 


a 


• .1. . 


111 EQUAL 


SPEC. = 


• •1. 1 


. .. LPARN 


( 


.. 1. 1 


. . 1 PLUS 


+ 


..1. 1 


. 1. MINUS 


- 


..1. 1 


.11 ASTER 


♦ 


..1. 1 


1.. SLASH 


/ 


..1. 1 


1 . 1 RPARN 


) 






156 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 



..1. 1 


• .1. 1 


• .11 . 


• •11 • 


• •11 . 



11. 
111 

!!*i 
.1. 



COMMA 
BLANK 
QUOTE 
AMPER 
DOT 



BLANK 



• • • « 


• « « • • 


!!!! 


! il"i. 


!!i« 


. .11. 


• .i< 


» 1 • • 1 


..i. 


» 1 1 • • 



NUMMIN 

NUMMAX 

ALFAMIN 

ALFAMAX 

OPERMIN 

OPERMAX 



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 * 

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



• • • • • • • « 


SUBST 


SUBSTITUTED OP- CODE 




1 REPROED 


REPROED 


STATEMENT 




PUNCH 


PUNCH 






1 CNOP 


CNOP 






ORG 


ORG 






1 END 


END 






ENTRY 


ENTRY 






1 EXTRN 


EXTRN 






WXTRN 


WXTRN 






1 USING 


USING 






DROP 


DROP 






1 DC 


DC 






DS 


DS 






1 DCL 


LITERAL 


DC 




EQU 


EQU 






! EQUL 


LITERAL 


EQU 




CCW 


CCW 






1 START 


START 






CSECT1ST 


START OF 1ST CSECT 




! LTORG 


LTORG 






CSECT 


CSECT 






1 DSECT 


DSECT 






COM 


COM 






1 REPRO 


REPRO 






EJECT 


EJECT 






! PRINT 


PRINT 






SPACE 


SPACE 






1 TITLE 


TITLE 





Data Areas 157 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 


DESCRIPTION: CONTENTS , 


NAME 


MEANING/USE 


ICTL 


ICTL 


ISEQ 


ISEQ 


CMENT 


* COMMENT 


COPY 


COPY 


MI 


M-I SOURCE 1ST CARD 


ERROR 


ERROR RECORD 


MIC 


MACRO INSTR. SOURCE CONT. CARDS 


MNOTE 


MNOTE 


MIED 


M-I EDITED RECORD 


MCMENT 


.* COMMENT 


MACRO 


MACRO 


MEND 


MEND 


MEXIT 


MEXIT 


ANOP 


ANOP 


SETA 


SETA 


SETB 


SETB 


SETC 


SETC 


ACTR 


ACTR 


AIF 


ACTR 


AIFB 


AIFB 


AGO 


AGO 


AGOB 


AGOB 


GBLA 


GBLA 


GBLB 


GBLB 


GBLC 


GBLC 


LCLA 


LCLA 


LCLB 


LCLB 


LCLC 


LCLC 


PROTO 


PROTOTYPE SOURCE 


PROTOED 


PROTOTYPE EDITED REC 


MHR 


MACRO HEADER RECORD 


KT 


KEYWORD TABLE RECORD 


GAR 


GLOBAL ARRAY RECORD 


MNA 


MAC NAME ARRAY RECORD 


OCST 


OPEN CODE START RECORD 


UNDEF 


UNDEFINED OPCODE 


LITSRC 


LITERAL SOURCE RECORD 



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

* * 

* REGISTER EQUATES * 

* * 

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



RO 


REGISTER 


R1 


1 


R2 


2 


R3 


3 


R4 


4 


R5 


5 


R6 


6 


R7 


7 


R8 


8 


R9 


9 


R10 


10 


R11 


11 


R12 


12 


R13 


13 



■4 



158 



DISPLMNT 


SIZE 


FIELD 


DESCRIPTION: CONTENTS , 


DEC (HEX) 




NAME 


MEANING/USE 






1. R14 


14 








11 R15 


15 








1 • ROFFS 


PARAMETER REGS 








1 1 RPARM 


♦FOR 








RFILE 


♦INTERFACE MACROS 








. 1 RINPT 


PGETL RECORD POINTER 








1. ROUTPT 


PPUTL RECORD POINTER 








11 RBA 


BASE REGISTERS 








. 1 RBIF 


INTERFACE BASE REGISTER 








1. RBR 


STANDARD BRANCH REGISTER 






. 1 


1. RBRSAVE 


BRANCH REGISTER FOR PSAVE 



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

* * 

♦ BIT EQUATES FOR BIT HANDLING MACROS ♦ 

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



1 


BITO 


1000 0000 


.1.- .. 


BIT1 


0100 0000 


..1. .. 


BIT2 


0010 0000 


...1 .. 


BIT3 


0001 0000 


• • • • 1 • 


BIT4 


0000 1000 


• • • • . 1 


BIT5 


0000 0100 


• • • • • • 


1. BIT6 


0000 0010 


• • .• • • • 


. 1 BIT7 


0000 0001 


1111 11 


1 1 BITFF 


1111 1111 



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

* 



* 
♦ 
* 
********* 



MASK EQUATES 



* 
* 



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



. • .. • .111 ADDR • ICM MASK • FOR ADDRESS 

.... 1... HIGHBYTE HIGH ORDER BYTE OF REGISTER 

.... ...1 LOWBYTE LOW ORDER BYTE OF REGISTER 



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

* * 

* MISCELLANEOUS * 

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



1658 (67A) 



1 



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



JSW0005 PROGRAM SWITCH 

PNWTRKSW NEXT PWRITE STARTS ON A NEW TRK 

POPSW TELLS PRETURN TO POP THE SAVE 

PEOBSW 9 V MEANS END OF BOOK ON SYSSLB 



Data Areas 159 



DISPLMNT 


SIZE 


FIELD 


DESCRIPTION: CONTENTS, 


DEC 


(HEX) 




NAME 


MEANING/USE 






• • • 1 • • • 


PLBEOFSW 


•1 1 MEANS EOF ON SYSSLB 






• • • • 1 • • 


PNOBKSW 


•V MEANS BOOK NOT FND 






» • • • • X • 


PRLD 


OPTION RLD 






1 


PSXREF 


OPTION SXREF 


1659 


(67B) 


1 


JSW0006 


PROGRAM SWITCH 






!••• 


PINEOFSW 


■• 1i MEANS EOF ON SYSIPT 






.1... 


PALIGN 

PDECK 

PLINK 

PLIST 

PXREF 


OPTION ALIGN 

OPTION DECK 

OPTION LINK OR CATALS 

OPTION LIST 

OPTION XREF 






... 


I PDF 


OPTION SUBLIB. 


1660 


(67C) 


6 


NPTEMP 
** 


TEMPORARY STORAGE FOR READNEXT 

NOTE VALUE 


1660 


(67C) 


2 


NPTEMPCC 


CYLINDER 


1662 


(67E) 


1 


NPTEMPH 


HEAD 


1663 


(67F) 


1 


NPTEMPR 


RECORD 


1664 


(680) 


2 


NPTEMPTB 


REMAINING TRACK CAPACITY 


1666 


(682) 


3 


PHI CORE 


ADDRESS OF HIGHEST BYTE, THAT 

IS NOT USED FOR BUFFERS 


1669 


(685) 


1 


PABENDC 


ABEND CODE 


1670 


(686) 


2 






1670 


(686) 


2 


PLRECLN 


LENGTH OF RECORD LENGTH 


1672 


(688) 


4 






1672 


(688) 


16 


IFSAVE 


INTERFACE ROUTINE SAVE AREA 



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

* * 

* ASSEMBLER FLAGS * 

* ■ * 
***** **************************************** ****************** 



• •11 •• 


1 1 UNMINUS 


.•11 -1 


LATTR 


.^11 .1 


• 1 SYMFLAG 


••11 ,1 


1 . LOCCTR 


••11 •! 


11 SELFLAGL 


••11 1. 


SELFLAGS 


••11 1. 


• 1 ENDEXPR 


••11 1. 


1 • EFLOPD 


• •11 1 . 


1 1 OPRDFLAG 


••11 11 


ERROPND 


••11 11 


•1 AD1FLAG 


••11 11 


1 . AD2FLAG 


••11 11 


1 1 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 * 

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



X. 



160 



( 



DISPLMNT 


SIZE 


FIELD 


DEC 


(HEX) 




NAME 


1688 


(698) 


35 


PFILE1 


1688 


(698) 


3 


PDTFADR1 


1691 


(69B) 


3 


BUFPT1 


1694 


(69E) 


3 


BUFADDR1 


1697 


(6A1) 


2 


PBUFLEN1 


1699 


(6A3) 


3 


PENDBUF1 


1702 


(6A6) 


3 


PWAADDR1 


1705 


(6A9) 


1 




1706 


(6AA) 


3 


PEOFADR1 


1709 


(6AD) 


8 


PNPOINT1 


1717 


(6B5) 


6 


PNEXTNP1 


1723 


(6BB) 


35 


PFILE2 


1723 


(6BB) 


3 


PDTFADR2 


1726 


(6BE) 


3 


BUFPT2 


1729 


(6C1) 


3 


BUFADDR2 


1732 


(6C4) 


2 


PBUFLEN2 


1734 


(6C6) 


3 


PENDBUF2 


1737 


(6C9) 


3 


PWAADDR2 


1740 


(6CC) 


1 




1741 


(6CD) 


3 


PEOFADR2 


1744 


(6D0) 


8 


PNPOINT2 


1752 


(6D8) 


6 


PNEXTNP2 


1758 


(6DE) 


35 


PFILE3 


1758 


(6DE) 


3 


PDTFADR3 


1761 


(6E1) 


3 


BUFPT3 


1764 


(6E4) 


3 


BUFADDR3 


1767 


(6E7) 


2 


PBUFLEN3 


1769 


(6E9) 


3 


PENDBUF3 


1772 


(6EC) 


3 


PWAADDR3 


1775 


(6EF) 


1 




1776 


(6F0) 


3 


PEOFADR3 


1779 


(6F3) 


8 


PNPOINT3 


1787 


(6FB) 


6 


PNEXTNP3 






••11 111. 


PMAXBSIZ 



DESCRIPTION : CONTENTS , 
MEANING/USE 



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 

MAX BLOCK LENGTH OFFSET IN DTF 



EQUATES FOR CONTROL NUMBERS FOR PRINT 



1111 


...1 


PEJ 


.1.. 


• • • • 


PSS 


1111 


* • • • 


PDS 


.11. 


• • • • 


PTS 



EJECT. THEN PRINT 
SINGLE SPACE , THEN PRINT 
DOUBLE SPACE , THEN PRINT 
TRIPLE SPACE , THEN PRINT 



PUSH-DOWN SAVE-AREA DEFINITION 



* 
* 







1.1. 

• • • • • 1 • • 


PSAVELVL 
PSAVESZ 


1796 
1796 


(704) 
(704) 


4 



PSAVETBL 






••1. 1..1 


PSAVEND 


1836 
1836 


(72C) 
(72C) 


2 
2 


PSAVPT 



MAXIMUM NUMBER OF LEVELS 
SIZE OF EACH LEVEL 



END OF SAVE AREA 



CURRENT SAVE AREA INDEX 



Data Areas 161 



DISPLMNT 




FIELD 


DEC 


(HEX) 


SIZE 


NAME 


1840 


(730) 


4 




1840 


(730) 


4 


PSAVTEMP 


1844 


(734) 


4 


STEP 


1848 


(738) 


2 




1848 


(738) 


2 


PLINECNT 


1850 


(73A, 


4 


PROGID 


1850 


(73A) 


4 





DESCRI PTION : CONTENTS , 
MEANING/USE 



SAVES RWAA FOR PSAVE S PRETURN 
USED BY TRACE PROGRAM 

LINE COUNT 

PROGRAM IDENTIFICATION 
FROM FIRST TITLE STMNT 

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

* C - P * 
************************************************************** 

* I CTL CONSTANTS * 

1854 (73E) 3 PICTL 

1854 (73E) 1 PICTLST START COLUMN 

1855 (73F) 1 PICTLEND END COLUMN 

1856 (740) 1 PICTLCNT CONTINUE COLUMN 

• .11 11.. ORG1 * 



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

* E - P * 
************************************************************** 

1857 (741) 8 NPTXT3 N/P TO WF3 TEXT 

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

* G - S * 
************************************************************** 

1865 (749) 3 PPUNCHPT ADDRESS OF PUNCH ROUTINE 

1868 (74C) 1 JSW0007 PROGRAM SWITCH 

1-.... • . *. PNOSEQSW 1 INDICATES NO CARD SEQUENCING 
• 1 • . • • . . PGFMSGSW 1 MEANS MESSAGE FROM GA OR FA 

ON FILE 3 
************************************************************** 

* E - J * 
************************************************************** 

1869 (74D) 2 OCSTMTNO AT ENTRY OF JA CONTAINS NUMBER 

OF LAST STMT OUTPUT ON SOURCE 
FILE (WF3) BY THE EDITOR 

•1i. 1.1. ORG101 DELIMITS AREA THAT IS OVERLAID 

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

* C - K * 
************************************************************** 



162 



c 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


DESCRIPTION: CO 
MEANING/USE 


1871 (74F) 


1 


POVLSW 


PROGRAM SWITCH 




1 

• i • • . * * « 

• • i • . . « « 

• ..1 

.... 1.., 
.1.. 1.1 


PCSWOVL 
PDSWOVL 
PISWOVL 
PJSWOVL 
PKSWOVL 
1 ORG2 


OVERLAY SWITCHES 



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

* C - J * 

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



1872 



(750) 



.1.1 ..11 



NPOCST 
ORG 3 



N/P TO OPEN CODE TEXT ON WF2 



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

* C - I * 

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



1880 
1880 
1881 


(758) 
(758) 
(759) 


9 
1 

8 


1889 


(761) 


1 

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


1890 
1892 


(762) 
(764) 


. . 1 . . . 

2 
2 



11. 



PSYSPARM 
PSYSPLEN 
PSYSPSTR 

JSW0009 

SWCAOC 

SWSM 

SWMIOC 

SWCAFT 

PB1FISIZ 
PB12SIZ 

ORG4 



LENGTH OF FIELD 
FIELD 

PROGRAM SWITCH 

C/A IN OPEN CODE 
SOURCE MACROS PRESENT 
M-I:S IN OPEN CODE 
C/A IN FIRST TITLE STMT 

WF1 BUFSIZE IN F AND I 
WF1,WF2 BUFSIZ 



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

* C - F * 

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

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



1894 


(766) 


2 


PMNABSIZ 


1896 


(768) 


3 


PFINDPT 


1899 


(76B) 


3 


PINPUTPT 


1902 


(76E) 


2 


SMTSIZE 


1904 


(770) 


2 


PVSDSIZE 



.11. 11.1 



ORG5 



Data Areas 163 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANING/USE 



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

* E - F * 

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



1906 (772) 6 NPSMT 

.111 ..11 ORG6 



N/P TO SMT START 



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

* C - E., * 

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



1912 


(778) 


8 


NPEOTXT2 


1920 


(780) 


1 


JSW0010 






... • . « 


SWREPRO 






1 • . . . . 


SWPROTO 






. 1. ... 


SWMACRO 






• • 1 • • « 


SWOC 






... 1., 


SWCOPY 






... . 1 « 


SWFLUSH 



NP TO CA END OF TXT WF2 

PROGRAM SWITCH 

PROCESS NEXT AS REPROED 
PROTOTYPE EXPECTED 
PROCESSING MACRO DEF 
PROCESSING OPEN CODE 
PROCESSING COPY CODE 
FLUSHUSHING AFTER END STMT 



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

* C. - D. * 

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



1921 



(781) 



11111.1 



CCCALL 
0RG7 



TYPE OF CALL TO OVLY CC 
* 



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

* C * 

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



1922 


(782) 


3 


BLKADDR 


1925 


(785) 


2 


CMNASIZE 






1... .111 


ORGSAVE 1 


1857 


(741) 


1 


PFETCHDF 



ADDRESS OF MNA BUFFER 



SAVE LOCATION COUNTER 

OVERLAY AREA NOT USED ANY MORE 

PFETCH SWITCH FOR CD 



164 



DISPLMNT 




FIELD 


DEC 


(HEX) 


SIZE 


NAME 


1858 


(742) 


1 


JSW0011 






1 .. 


SWCMARK 






.1 


SWCC 






• •1 


SWCILL 






• ••1 


SWNOBLK 






1... 


SWCARD 1 






• • • • • i . • 


SWMNA1 






• • • • • • 1 • 


SWILICTL 






1 


SWCC 2 


1859 


(743) 


1 


JSW0012 






i . • . •••• 


SWQM 






• I • • • • <• • 


SWAMP 


1860 


(744) 


6 


NPLASTW 


1866 


(74A) 


2 




1866 


(74A) 


2 


NDXCNT 






.1., .11. 


PCHECK 1 



1927 (787) 

THE PRECEDING INSTRUCTION IS FLAGGED IF THE OVERLAY ORG IS IN ERROR 



DESCRIPTION: CONTENTS, 
MEANING/USE 

PROGRAM SWITCH 

CARD HAS CONTINUE MARK 
LEGAL CONTINUE CARD 
CONTINUE CARD IS EXCESSIVE 
NONBLANKS BEFORE CONT COL- 
1ST GET IN IDENT 
FIRST CALL TO CC 
ICTL NOW ILLEGAL 
2ND CONT CARD IN PROCESS 



PROGRAM SWITCH 

IN QUOTE MODE 

POSSIBLE VARIABLE SYMBOL 

WRITE NP FOR LAST BLOCK 

M-I INDEX COUNTER 

ORGCHECK 

RESTORE LOCATION COUNTER 

1-ORG1- (PCHECK 1- ORG SAVE 1) , (R0) ) 



1928 


(788) 


2 






1928 


(788) 


2 




CURBEG 


1930 


(7 8 A) 


2 




CURCNT 






1... . 


11. 


ORGSAVE2 


1906 


(772) 


2 






1906 


(772) 


2 




CUREND 


1908 


(774) 


2 




CONTEND 


1910 


(776) 


2 




ENDCNT 


1912 


(778) 


4 






1912 


(778) 


4 




EOCARD 1 






.111 . 


11. 


PCHECK 2 


1916 


(77C) 











THE PRECEDING 


INSTRUCTION IS FL 


1932 


(78C) 


4 






1932 


(78C) 


4 




BASESAVE 


1936 


(790) 


4 




SCNEND 


1940 


(794) 


4 




STREND 


1944 


(798) 


4 




SCNBEG 


1948 


(79C) 


3 




BLANKS 


1951 


(79F) 


264 


INPWRKAR 


2216 


(8A8) 


4 






2216 


(8A8) 


4 




STRAR 


2220 


(8AC) 


80 




CC 1 AREA 



CURRENT BEG COL 
CURRENT CONTINUE COL 

SAVE LOCATION COUNTER 
* 

CURRENT END COL 

END COL OF 1ST CONT CARD 

NO OF COL CUREND TO CURCNT 

END OF 1ST CARD STMT FIELD 



ORG5- (PCHECK2-ORGSAVE2) , (R0) ) 

Z> IF THE OVERLAY ORG IS IN ERROR 
RESTORE LOCATION COUNTER 

SAVE AREA FOR 1 BASEREG 
END OF STMT FIELD IN WORKAREA 
END OF STRING FIELDS IN WRKAREA 
SAVE AREA FOR BEGIN OF SCAN 
BLANKS FOR WORKING PURPOSE 
3-CARD WORKAREA 

BEGIN OF STRING FIELDS 
SAVE 1ST CONT CARD OF MACRO 



PHASE C ERROR STACK 



1.. 



MAXERRNO MAX ERRORS THAT IS LOGGED 
NO STRING STRING NOT REQUIRED 



Data Areas 165 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


2300 
2304 


(8FC) 
(900) 


1 

2 


ERRST 
ERRCNT 

ISEQ P 


2306 
2307 
2308 


(902) 
(903) 
(904) 


1 
1 
39 


PISEQST 

PISEQEND 

PISEQAR 


2347 


(92B) 


1 


JSW0013 






1 . • « •••• 

• 1 • • • • •• • 

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


SWISEQ 

SWTITLE1 

SWISEQER 

SWISEQE1 

SWISEQE2 



DESCRIPTION: CONTENTS , 
MEANING/USE 



ERROR STACK (LNG*MAXERRNO) 
ERROR COUNTER 



ISEQ START COL 
ISEQ END COL 
ISEQ FIELD AREA 

PROGRAM SWITCH 

ISEQ CHECK REQUIRED 

1ST TITLE SWITCH 

ON IF 1ST CARD HAS ISEQ ERROR 

ON IF 1ST CONT CARD HAS ISEQ ERROR 

ON IF 2ND CONT CARD HAS ISEQ ERROR 



AREAS FOR COPY 







• • • • • 


.11 


MAXCNEST 


2348 


(92C) 


1 




MACSTAT 






1111 . 


111 


MACON 
MACOFF 


2349 


(92D) 


1 




STATSTK 


2352 


(930) 


1 




JSW0014 






1... » 

. 1 • • . 


.... 


SWMSEAR 1 

SWMOVFL 

PIPT 


2353 
2355 
2360 


(931) 
(933) 
(938) 


2 

1 
2 




PCOPY 

PRESCNT 

CLINK 



MAX NEST LEVEL FOR COPY 

MACRO STATUS IN COPY BOOOK 

MACRO STM READ IN THE BOOK 

NO MACRO STMT READ IN THE BOOK 

STACK FOR MACRO STATUS 

(LNG=MAXCNEST) 
PROGRAM SWITCH 

1ST SEARCH 
MNA OVERFLOW 
INPUT FROM SYSIPT 

COPY NESTING DEPTH. IF ZERO, 
SYSIPT RESIDUAL COUNT. IS 
LINK ADDRESS FOR C 



i 



166 



c 



[ 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


ASSGNSW 


1922 


(782) 


BEGOFIN 


2044 


(7FC) 


BEGOFOUT 


2040 


(7F8) 


BLKINCNO 


1995 


(7D3) 


BO TT HALF 


2035 


(7F3) 


♦BUFADDR1 


1694 


(69E) 


♦BUFADDR2 


1729 


(6C1) 


♦BUFADDR3 


1764 


(6E4) 


♦BUFPT1 


1691 


(69B) 


♦BUFPT2 


1726 


(6BE) 


♦BUFPT3 


1761 


(6E1) 


♦BYTEOFFS 


1953 


(7A1) 


COMMODSW 


1926 


(786) 


CROSSNP 


1961 


(7A9) 


CROSSW 


1922 


(782) 


*CURESD 


1992 


(7C8) 


CURNP 


1967 


(7AF) 


CURSECT 


1932 


(78C) 


CURSECTL 


1931 


(78B) 


DBCORE 


1951 


(79F) 


DBFULLSW 


1926 


(786) 


DBVSDADR 


2000 


(7D0) 


DLINK 


2024 


(7E8) 


DSCOMSW 


2031 


(7EF) 


EAWF2END 


1920 


(780) 


EL INK 


1976 


(7B8) 


ENDID 


2011 


(7DB) 


ENDSW 


1963 


(7AB) 


ENTRYCNT 


2008 


(7D8) 


EQORGSW 


1922 


(782) 


ERRCOUNT 


2036 


(7F4) 


ERRINOPD 


1926 


(782) 


ESDIDHI 


1955 


(743) 


ESDIDLO 


2013 


(7DD) 


♦ESDPTR 


1987 


(7C4) 


ESDTABSW 


1963 


(7AB) 


FILE1NP 


1880 


(758) 


FILE1NPR 


1886 


(75E) 


FILE12EX 


1904 


(770) 


FILE2NP 


1892 


(764) 


FILE2NPR 


1898 


(76A) 


FLINK 


1960 


(7A8) 


♦GAVAPT 


1940 


(794) 


♦GBVAPT 


1943 


(797) 


♦GCVAPT 


1946 


(79A) 


GLINK 


1913 


(779) 


HLINK 


1949 


(79D) 


IATESTSW 


1926 


(786) 


IFSAVE 


1672 


(688) 


ILINK 


1984 


(760) 


JLINK 


1928 


(788) 


KLINK 


2072 


(818) 


LBARADDR 


1994 


(76A) 


LCLASIZ 


1932 


(78C) 


LCLBSIZ 


1935 


(78F) 


LCLCSIZ 


1935 


(792) 


LITSW 


1963 


(7AB) 


LLINK 


2072 


(818) 


♦LOCCNTHI 


2028 


(7EC) 


♦LOCCNTR 


2025 


(7E9) 


LOCLATR 


2021 


(7E5) 


LOCRATR 


2023 


(7E7) 


♦POINTER 







Data Areas 167 



FIELD DISPLACEMENT 
NAME DECIMAL (HEX) 



LOCTYPE 
MOCROSW 
MFLAGS 
MIB 
♦MIBADDR 
MLEVEL 
MNAM 
NLINK 
NPLITBEG 
NPSSDR1 
NPSSDWL 
NPTEMP 
NPTEMPCC 
NPTEMP H 
NPTEMPR 
NPTEMPTB 
NPVSD 
NPVSDR1 
♦NXTENTRY 
OLINK 
OVFLADDR 
PABENDC 
PALIGN 
PASSGNSW 
♦PBUFLEN1 
♦PBUFLEN2 
♦PBUFLEN3 
PB1FISIZ 
PB12SIZ 
PCONTSW 
PCSWOVL 
PDECK 
PDF 

PDSWOVL 
♦PDTFADRl 
♦PDTFADR2 
♦PDTFADR3 

PEDECK 
♦PENDBUF1 
♦PENDBUF2 
♦PENDBUF3 
PENTDEF 
PEOBSW 
♦PEOFADR1 
♦PEOFADR2 
♦PEOFADR3 
♦PFETCHDA 
♦PFETCHDB 
*P FETCH IA 
*P FETCH IB 
*P FETCH IC 
PFILE1 
PFILE2 
PFILE3 
♦PFINDPT 
PFRSTASG 
PFRSTOV 
PGBLASIZ 
PGBLBSIZ 
PGBLCSIZ 
♦POINTER 



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) 
(6A1) 
(6C4) 
(6E7) 
(762) 
(764) 
(770) 
(74F) 
(67B) 
(67B) 
(74F) 
(698) 
(6BB) 
(6DE) 
(67B) 
(6A3) 
(6C6) 
(6E9) 
(782) 
(67A) 
(6AA) 
(6CD) 
(6F0) 
(7D8) 
(7DC) 
(7A4) 
(7A8) 
(7A7) 
(698) 
(6BB) 
(6DE) 
(768) 
(782) 
(7F3) 
(799) 
(79C) 
(79F) 



168 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


PGBLSIZ 


1945 


(799) 


PGENSW 


1926 


(786) 


PGEN5SW 


1926 


(786) 


PGFMSGSW 


1863 


(747) 


♦PHICORE 


1666 


(682) 


PIBSW 


1926 


(786) 


PICSW 


1926 


(786) 


♦PICTLCNT 


1856 


(740) 


♦PICTLEND 


1855 


(73F) 


*PICTLST 


1854 


(73E) 


PIERCNT 


1974 


(7B6) 


PIERSTK 


1976 


(7B8) 


PINEOFSW 


1650 


(67B) 


♦PITPUTPT 


1899 


(76B) 


PISWOVL 


1871 


(74F) 


PJSWOVL 


1871 


(74F) 


PKSWOVL 


1871 


(74F) 


PLASTSUB 


2035 


(7F3) 


PLBEOFSW 


1658 


(67A) 


PLINECNT 


1848 


(738) 


PLINENUM 


1923 


(783) 


PL INK 


1659 


(67B) 


PLIST 


1659 


(67B) 


PLITBLK 


1909 


(775) 


PLITLEN 


1911 


(777) 


PLRECLN 


1670 


(686) 


♦PMAVBSIZ 


1941 


(795) 


♦PMAVNO 


1943 


(797) 


PMAVNP 


1935 


(78F) 


PMAXBSIZ 


1787 


(6FB) 


♦PMIBLEN 


1956 


(7A4) 


PNEXTNP1 


1717 


(6B5) 


PNEXTNP2 


1752 


(6D8) 


PNEXTNP3 


1787 


(6FB) 


PNOBKSW 


1658 


(67A) 


PNOSEQSW 


1863 


(747) 


PNPMAC 1 


1912 


(778) 


PNPOCGV 


1927 


(787) 


PNPOINT1 


1709 


(6AD) 


PNPOINT2 


1744 


(6D0) 


PNPOINT3 


1779 


(6F3) 


PNWTRKSW 


1658 


(67A) 


POPSW 


1658 


(67A) 


PPAGENO 


1925 


(785) 


PREFCNT 


1936 


(790) 


PRLD 


1658 


(67A) 


PROG ID 


1850 


(73A) 


PSAVETBL 


1796 


(704) 


PSAVPT 


1836 


(72C) 


PSAVTEMP 


1840 


(730) 


P SPILL A 


1968 


(7B0) 


PSTCNAM 


1912 


(778) 


PSTMCSEQ 


1915 


(77B) 


PSXREF 


1658 


(67A) 


♦PSYMTABL 


2032 


(7F0) 


PSYSNDX 


1927 


(787) 


PSYSPLEN 


1880 


(758) 


PSYSPSTR 


1881 


(759) 


PUNDEFSW 


1926 


(786) 


PVSDSIZE 


1904 


(770) 


♦PWAADDR1 


1702 


(6A6) 


♦POINTER 







Data Areas 169 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


♦PWAADDR2 


1737 


(6C9) 


*PWAADDR3 


1772 


(6EC) 


PXREF 


1659 


(67B) 


P3705SW 


1658 


(67A) 


*SAVADDR 


2048 


(800) 


SAVAR 


2051 


(803) 


SAVESDNP 


1967 


(7B5) 


SAVREG1 


2060 


(80C) 


SAVREG2 


2064 


(810) 


SECTSW 


1963 


(7AB) 


SELFLAGL 


1672 


(688) 


SEL FLAGS 


1672 


(688) 


SMTSIZE 


1902 


(76E) 


SSDADDR 


1953 


(7A1) 


SSDBLK 1 


1969 


(7B1) 


*SSDEND 


2019 


(7E3) 


SSDINFO 


1958 


(7A6) 


SSDNP 


1941 


(795) 


SSDSIZE 


1961 


(7A9) 


♦STABEND 


2000 


(7D0) 


♦STARTLOC 


1952 


(7A0) 


STARTSW 


1922 


(782) 


STEP 


1844 


(734) 


STMTNR 


1921 


(781) 


SWATTR 


1922 


(782) 


SWCAFT 


1889 


(761) 


SWCAOC 


1889 


(761) 


SWCOPY 


1920 


(780) 


SWDS 


1922 


(782) 


SWFLUSH 


1920 


(780) 


SWGBLX 


1922 


(782) 


SWINM 


1922 


(782) 


SWKT 


1922 


(782) 


SWLA 


1922 


(782) 


SWMACRO 


1920 


(780) 


SWMIGC 


1889 


(761) 


SWNOED 


1922 


(782) 


SWNOGEN 


1922 


(782) 


SWNOSTOR 


1922 


(782) 


SWOC 


1920 


(780) 


SWPROTO 


1920 


(780) 


SWREPRO 


1920 


(780) 


SWSM 


1889 


(761) 


SWSTART 


1963 


(7AB) 


SW2 


1963 


(7AB) 


♦SYMADDR 


1996 


(7CC) 


VSADDR 


1982 


(7BE) 


VSDBLK 1 


1993 


(7C9) 


*VSDEND 


2016 


(7E0) 


VSDINFO 


1982 


(7BE) 


VSDSIZE 


1985 


(7C1) 


♦XRAREND 


1982 


(7BE) 


♦XREFADDR 


2016 


(7E0) 


XREFLEN 


2019 


(7E3) 


XREFPARM 


2013 


(7DF) 


♦XREFPTR 


1979 


(7BB) 



4 

X. 



170 



(This page intentionally left blank.) 



Data Areas 171 



(This page intentionally left blank.) 



v> 



172 



(This page intentionally left blank.) 

t 



Data Areas 173 



DATA AREA: PCSR 
SIZE: 7 

CREATED BY: ^ 

I IPKCA,IPKCB, IPKCC, IPKCD, IPKDA, IPKDB, IPKEA, IPKGA, 

f IPKFA,IPKHA,IPKIA,IPKIC,IPKJA,IPKKA,IPKLA,IPKPA 

UPDATED BY: J 

FUNCTION: Description of a compressed source record* 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 



(0) 
(0) 
2 (2) 



6 
2 

4 



PCSRHEAD 

PCSRLEN 

PCSRIOP 



2 4 
************* 

* LEN * IOP * 
************* 



(2) 



(3) 
<*) 

(5) 



1... 


.... 


.1.. 


• • • • 


..1. 


• • '• • 


...1 


«... 


• • • • 


1... 


• • « • 


.1.. 


• • • • 


,.1. 


• 1... 


• • • • 



1.., 



PCSROP0 

PCSRMCOP 

PCSRLIT1 

PCSRLIT2 

PCSRLIT3 

SWSFILE 

SWEFILE 

PNOSTNO 

PCSRCOM 

PCSROP 
PCSROPX 

PCSROP 3 

PCSRDEAD 



PROGRAM SWITCH 

THREE IOP BYTEO FLAGS 

SOURCE FILE DESTINATION 
EDITED FILE DESTINATION 

COMMENTS BEFORE MACRO TEXT 

IOP BYTE1 MCOP 

IOP BYTE2 OP EXTENSIONS 

PROGRAM SWITCH 

IOP BYTE3 FLAGS, 



(6) 



PCSRFLGA 



PROGRAM SWITCH 



(7) 



1 • • • •••• 


PCASRC 


.1.. •..• 


PCAEDTXT 


..1. •.... 


PGENSTMT 


...1 .... 


PFROMLIB 


.... 1... 


PSMACDEF 


— .1.. 


PSBSTOPD 


.... ..1. 


PSBSTOP 


.... ...1 


PSBSTNAM 



PCSRSTR1 

SOURCE CODE STRINGS 
THEY ALL LOOK LIKE THIS 

* 1 BYTE * 1 BYTE *LENGTH-1* 
**************************** 

* LENGTH * COLUMN * SOURCE * 
**************************** 



4 



174 



f 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


PCAEDTXT 


6 


(6) 


PCASRC 


6 


(6) 


PCSRDEAD 


5 


(5) 


PCSRFLGA 


6 


(6) 


PCSRHEAD 





(0) 


PCSRIOP 


2 


(2) 


PCSRLEN 





(0) 


PCSRLIT1 


2 


(2) 


PCSRLIT2 


2 


(2) 


PCSRLIT3 


2 


(2) 


PCSRMCOP 


2 


(2) 


PCSROP 


3 


(3) 


PCSROPX 


a 


(<0 


PCSROPO 


2 


(2) 


PCSROP3 


5 


(5) 


PCSRSTR1 


7 


(7) 


PFROMLIB 


6 


(6) 


PGENSTMT 


6 


(6) 


PNOSTNO 


2 


(2) 


PSBSTNAM 


6 


(6) 


PSBSTOP 


6 


(6) 


PSBSTOPD 


6 


(6) 


PSMACDEF 


6 


(6) 


SWEFILE 


2 


(2) 


SWSFILE 


2 


(2) 


♦POINTER 







Data Areas 175 



DATA AREA: 
SIZE: 10 
CREATED BY: 
UPDATED BY: 



PDCEDIT 



IPKJA, IPKKA, IPKLA, IPKNA, IPKOA, IPKPA 



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



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 




3 

a 



5 
5 



8 
9 



(0) 
(3) 
00 



(5) 



(0) 





• •II ■■• • • • 


(5) 


1 




• 1 • .• •••• 


(5) 


1 




.1,. ...1 


(5) 
(5) 


1 
1 


(6) 


1 
1 


(7) 


• 1 • • •••• 

1 


(8) 
(9) 


1 
1 



.1.. ..1. 



PDUPEXP 

PNOCONST 

PDCTYPE 

CTYPE 
XTYPE 
BTYPE 
PTYPE 
ZTYPE 
FTYPE 
HTYPE 
LTYPE 
DTYPE 
ETYPE 
ATYPE 
VTYPE 
YTYPE 
STYPE 

PLENFLAG 

BITLEN 

VBITLEN 

EXPLEN 

VEXPLEN 

IMPLEN 

VIMPLEN 

PDCFLAG 

PDUPCONT 
PTRUNRHT 

PBITALGN 

PMODIFS 

PMODFLAG 

SCALE 



DUPLICATION FACTOR 
NUMBER OF CONSTANTS 
TYPE BYTE 

CHARACTER CONSTANT 
HEXADECIMAL CONSTANT 
BINARY CONSTANT 
PACKED DECIMAL CONSTANT 
ZONED DECIMAL CONSTANT 
FIXED POINT FULLWORD 
FIXED POINT HALFWORD 
FLOATING POINT LONG CONSTANT 
FLOATING POINT DOUBLE WORD 
FLOATING POINT FULL WORD 
A-TYPE ADDRESS CONSTANT 
V-TYPE ADDRESS CONSTANT 
Y-TYPE ADDRESS CONSTANT 
S-TYPE ADDRESS CONSTANT 



PROGRAM SWITCH 

ADDR CONST CONT 
TRUNCATE RIGHT I 

NUMBER OF BITS TO SHIFT OR 
TRUNCATE 

NOT USED 

START OF MODIFIER FIELDS 

* 



.4, f ' 



176 



DISPLMNT 








FIELD 


DESCRI PTION : CONTENTS , 


DEC (HEX] 


I 


SIZE 


NAME 


MEANING/USE 


(0) 




1 




VSCALE 








.1.. 


.•11 


EXPON 




(0) 




1 




VEXPON 






m 


1... 


• 1.. 


DCEXP 




(0) 




1 




VDCEXP 






m 


1.. 


.1.1 


DCVAL 




(0) 




1 




VDCVAL 




(0) 




1 








1 (1) 




3 




PMODEXP 


MODIFIER EXPRESSION 


4 (4) 




1 




PNXTMOD 


£ 


1 (D 




1 




PDCLEN 


LENGTH OF CONSTANT FIELD 


2 (2) 




1 




PDCFLD 


BEGINNING OF CONSTANT FIELD 


FIELD 


DISPLACEMENT 






NAME 


DECIMAL 


(HEX) 






ATYPE 


4 




<<0 






BITLEN 


5 




(5) 






BTYPE 


4 




<<»> 






CTYPE 


4 




(4) 






DCEXP 







(0) 






DCVAL 







(0) 






DTYPE 


4 




(*) 






ETYPE 


4 




W 






EXPLEN 


5 




(5) 






EXPON 







(0) 






FTYPE 


4 




W 






HTYPE 


4 




(4) 






IMPLEN 


5 




(5) 






LTYPE 


4 




<») 






PBITALGN 


7 




(7) 






PDCFLAG 


6 




(6) 






PDCFLD 


2 




(2) 






PDCLEN 


1 




(1) 






PDCTYPE 


4 




W 






PDUPCONT 


6 




(6) 






PDUPEXP 







(0) 






PLENFLAG 


5 




(5) 






PMODEXP 


1 




(1) 






PMODFLAG 







(0) 






PMODIFS 


9 




(9) 






PNOCONST 


3 




(3) 






PNXTMOD 


4 




(«) 






PTRUNRHT 


6 




(6) 






PTYPE 


4 




(<*) 






SCALE 







(0) 






STYPE 


4 




0) 






VBITLEN 


5 




(5) 






VDCEXP 







(0) 






VDCVAL 







(0) 






♦POINTER 













Data Areas 177 



FIELD 


DISPLACE 


2MENT 


NAME 


DECIMAL 


(HEX) 


VEXPLEN 


5 


(5) 


VEXPON 





(0) 


VIMPLEN 


5 


(5) 


VSCALE 





(0) 


VTYPE 


a 


(«) 


XTYPE 


a 


W 


YTYPE 


4 


W 


ZTYPE 


a 


w 


* POINTER 







178 



(This page intentionally left blank.) 



r 



Data Areas 179 



DATA AREA: PERR 

SIZE: Variable (depending upon different error text) 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an error record • 



IPKPA 



DEC 


(HEX) 





(0) 





(0) 


2 


(2) 


2 


(2) 


3 


(3) 


a 


W 


5 


(5) 


6 


(6) 


8 


(8) 


9 


(9) 



SIZE 



FIELD 


DESCRIPTION: CONTENTS , 


NAME 


MEANING/USE 


PERRHD 


RECORD HEADER (LNG=PERLEN-PE' 


PERRLEN 


RECORD LENGTH 


PERRIOP 


IOP (LNG=PETIOP) 


PERRIOP0 


FLAGS 


PERRIOP 1 


ERROR ID 


PERRIOP 2 


ERROR NUMBER 




NOT USED 


PERRSTNR 


STMNT NO, INSERTED BY OUTPUT 


PERRSTRL 


LENGTH OF TEXT 


PERREXPT 


TEXT EXCERPT 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


PERREXPT 


9 


(9) 


PERRHD 





(0) 


PERRIOP 


2 


(2) 


PERRIOP0 


2 


(2) 


PERRIOP 1 


3 


(3) 


PERRIOP2 


4 


W 


PERRLEN 





(0) 


PERRSTNR 


6 


(6) 


PERRSTRL 


8 


(8) 


♦POINTER 







180 



DATA AREA: PETFLDS 

SIZE: Variable 

CREATED BY: 1 IPKCA,IPKCC, IPKCD,IPKDA,IPKDB,IPKEA,IPKGA,IPKFA, 
} IPKIA,IPKJA,IPKKA,IPKLA,IPKNA,IPKOA,IPKPA,IPKSA, 
UPDATED BY: IPKSB 



FUNCTION : 



Description of the variable fields of edited text records. 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD DESCRIPTION: CONTENTS , 
NAME MEANING/USE 



(0) 
(D 



(0) 



PNAMLNG 
PNAME 



PAFLAG2 







1... . 
.1.. . 
..1. . 
1111 . 

• • • • • 


111 


DONESYM 

ENTVALUE 

ERDSCOM 

PSYMFLAG 

PSYMLEN 


1 

I 9 
9 


(D 
(9) 
(9) 


8 

5 
9 




PSYMBOL 
PENTVAL 
PNXTBKT 


I 


1 

I 3 

I 5 


(0) 
(1) 
(3) 
(5) 


1 
2 
2 
3 




PSFLAG2 
PSLENATR 
PSRELATR 
PSVALUE 





(0) 


1 




POPFLAG 


1 


(1) 


1 




PEXPFLAG 






• • • • • 


1.. 
.1. 
..1 


NEXPF 1 
NEXPF 2 
NEXPF 3 



THE NAME FIELD LENGTH 
NAME 

THE SYMBOL WORK BUCKETS 
BEFORE SUBSTITUTION: 
PROGRAM SWITCH 

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

* FLAG * LEN * SYMBOL * 
*********************** 

BUCKET EXTENSION FOR ENTRY VALUE 

AFTER SUBSTITUTION: 

12 2 3 2 

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

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

OPERAND FIELDS LOOK LIKE: 
OPERAND FLAG 

PROGRAM SWITCH 

EXPRESSION FLAG 



Data Areas 181 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 



(2) 



POLSTR 



2 
4 
5 
9 

10 


(2) 
(<0 
(5) 
(9) 
(A) 


2 
1 

4 
1 
1 


PLA 

PRA 

PEXPVAL 

PSIGN 

PRATT 



1 

a 


(0) 
(1) 
<<0 


1 

3 

1 


PAFLG 
PAFLD 
PANXT 


1 

3 




(1) 
(3) 
(0) 


2 
2 
1 


PCODE 
PCNXT 
THISELEM 






,1 

1.1 


NXTELEM 
ERROPLEN 



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 



FIELD 


DISPLACE 


MEN! 


NAME 


DECIMAL 


(HEJ 


DONESYM 





(0) 


ENTVALUE 





(0) 


ERDSCOM 





(0) 


NEXPF1 


1 


(1) 


NEXPF2 


1 


(1) 


NEXPF3 


1 


(1) 


PAFLAG2 





(0) 


♦PAFLD 


1 


(1) 


PXFLG 





(0) 


PANXT 


4 


(4) 


PCNXT 


3 


(3) 


PCODE 


1 


(1) 


PENTVAL 


9 


(9) 


PEXPFLAG 


1 


(1) 


PEXPVAL 


5 


(5) 


PLA 


2 


(2) 


PNAME 


1 


(1) 


PNAMLNG 





(0) 


PNXTBKT 


9 


(9) 


POLSTR 


2 


(2) 


POPFLAG 





(0) 


PRA 


4 


CO 


PRATT 


10 


(A) 


PSFLAG2 





(0) 


PSIGN 


9 


(9) 


PSLENATR 


1 


(1) 


PSRELATR 


3 


(3) 


♦PSVALUE 


4 


(<*) 


PSYMBOL 


1 


(1) 


PSYMFLAG 





(0) 


PSYMLEN 





(0) 


SREG 





(0) 


THISELEM 





(0) 


♦POINTER 







4 



182 



DATA AREA: PETR 

SIZE: Variable 

CREATED BY: 

UPDATED BY: 

FUNCTION: Decription of an edited text record 



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



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 






2 

2 



(0) 
(0) 

(2) 

(2) 



6 
2 

a 
1 



1. 

• 1 

• .1 
...1 



PETHEAD 
PETLEN 

PETIOP 

PETOP0 

PETMCOP 

PER2STR 

PERNOQ 

PDCSTYPE 

PDCCONT 

PDUPSYM 

PDEFENT 



2 4 
************* 

* LEN * IOP * 
************* 

PROGRAM SWITCH 

IOP 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 



PDCSTYPE ALSO USED TO INDICATE OVERFLOW POINT IN SUBSTITUTION 
.111 .... PALGNBIT NUMBER OF ALGN BYTES 



3 


(3) 


1 


PETOP 


IOP BYTE1 MAGHINEOP 


a 


<*) 


1 


PETEPX 


IOP BYTE2 OP EXTENSIONS 
ALSO USED AS 


a 


(*) 


1 


POPNUMB 


OPERAND NUMBER IN A DC/DS 


5 


(5) 


1 


PETOP3 


PROGRAM SWITCH 






1 


PETDEAD 


IOP BYTE3 FLAGS 






.111 


PINSTRLN 


INSTRUCTION LENGTH 






.111 


PCBTYPE 


INSTRUCTION TYPE 


6 


(6) 


2 


PETSTNO 


STATEMENT NUMBER 


8 


(8) 


2 


PLENATTR 


LENGTH ATTRIBUTE 


10 


(A) 


2 


PLRELATR 


2 3 1 


12 


(C) 


3 


PLOCCNTR 


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


15 


(F) 




PSYMNO 


* RA * LC * S# * 


16 


(10) 




PNAMFLD 


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

AN ERROR RECORD 

ONLY CONSISTS 


6 


(6) 




PERLNG 


OF 6 BYTE HEADER AND A 


7 


(?) 




PERSRC 

A STMT NUMBER IS 


VARIABLE STRING FIELD 

INSERTED BY THE OUTPUT PHASE. 
USED BY OUTPUT 


6 


(6) 


2 


PERRSTNO 


STMNT NO. INSERTED BY OUTPUT 


8 


(8) 




PERRSTR 


LENGTH OF TEXT 


9 


(9) 




PERREXC 


TEXT EXCERPT 



Data Areas 183 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


PALGNBIT 


2 


(2) 


PCBTYPE 


5 


(5) 


PDCCONT 


2 


(2) 


PDCSTYPE 


2 


(2) 


PDEPENT 


2 


(2) 


PDUPSYM 


2 


(2) 


PERLNG 


6 


(6) 


PERNOQ 


2 


(2) 


PERREXC 


9 


(9) 


PERRSTNO 


6 


(6) 


PERRSTR 


8 


(8) 


PERSRC 


7 


(7) 


PER2STR 


2 


(2) 


PETDEAD 


5 


(5) 


PETEPX 


a 


W 


PETHEAD 





(0) 


PETIOP 


2 


(2) 


PETLEN 





(0) 


PETMCOP 


2 


(2) 


PETOP 


3 


(3) 


PETOPO 


2 


(2) 


PETOP3 


5 


(5) 


PETSTNO 


6 


(6) 


PINSTRLN 


5 


(5) 


PLENATTR 


8 


(8) 


♦PLOCCNTR 


11 


(B) 


PLRELATR 


10 


(A) 


PNAMFLD 


16 


(10) 


POPNUMB 


4 


W 


PSYMNO 


15 


(F) 


♦POINTER 










184 



r 



DATA AREA: PFCB 

SIZE: 35 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of a file control block. 



All modules except: IPKAB-AJ,IPKCB, IPKTA 



DISPLMNT 








FIELD 


DESCRI PTI ON : CONTENTS , 


DEC { 


[HEX) 




SIZE 




NAME 


MEANING/USE 





(0) 




3 




PDTFADDR 


ADDRESS OF DTF 


3 


(3) 




3 




BUFPT 


POINTER TO RECORD IN BUFFER 


6 


(6) 




3 




BUFADDR 


ADDRESS OF BUFFER 


9 


(9) 




2 




PRECLEN 


MAX RECORD LENGTH 


11 


(B) 




3 




ENDBUF 


ADDRESS OF LAST BYTE OF BUFFER 


14 


(E) 




3 




PWAADDR 


ADDRESS OF WORKAREA 


17 


(11) 




1 




PFCBSW 
OPENSW 


PROGRAM SWITCH 
IF 1, FILE OPEN 








ll! V. 


» • • 


READSW 


IF 1, READ, IF 0, WRITE 








.1. .. 


i • • 


UPDSW 


IF 1, WRITE UPDATE 








.•1 •, 


» • • 


BUF2SW 


IF 1, TWO BUFFERS 








..• 1. 


» • • 


UPD2SW 


IF 1, UPDATE MODE 








» • • • 


1 • • 


FIRSTSW 


IF 1, FIRST I/O OPERATION 








» • • • 4 


. 1. 
,.1 


PFCBSW 1 
PFCBSW2 


* 


18 


(12) 




3 




PEOF 


EOF ADDRESS 


21 


(15) 




8 




PNOTEPNT 


NOTE POINT VALUES 


21 


(15) 




6 




PNPRW 




21 


(15) 




4 




PCCHR 


CYLINDER, HEAD, RECORD 


25 


(19) 




2 




PTRKBAL 


TRACK BALANCE 


27 


(1B) 




2 




PNPOFFS 


RECORD OFFSET FROM BUFFER START 


29 


(1D) 




1 




PNEXTNP 


N/P VALUE FOR NEXT BLOCK 
(LNG=PNPRW) 


FIELD 


I 


DISPI 


.ACEMI 


:nt 






NAME 


DECIiy 


IAL {I 


IEX) 






*BUFADDR 


6 




[6) 






♦BUFPT 




3 




(3) 






BUF2SW 




17 




(11) 






♦ENDBUF 




11 




(B) 






FIRSTSW 


17 




(11) 






OPENSW 




17 




(11) 






PCCHR 




21 




(15) 






♦PDTFADDR 







(0) 






♦PEOF 




18 




(12) 






PFCBSW 




17 




(11) 






PFCBSW1 


17 




(11) 






PFCBSW2 


17 




(11) 







* POINTER 



Data Areas 185 



FIELD 


DISPLACE 


JMENT 


NAME 


DECIMAL 


(HEX) 


PNEXTNP 


29 


(1D) 


PNOTEPNT 


21 


(15) 


PNPOFFS 


27 


(1B) 


PNPRW 


21 


(15) 


PRECLEN 


9 


(9) 


PTRKBAL 


25 


(19) 


♦PWAADDR 


14 


(E) 


READSW 


17 


(11) 


UPDSW 


17 


(11) 


UPD2SW 


17 


(11) 



V 



186 



DATA AREA: PGVHEAD 

SIZE: 9 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the global vector header. 



IPKFA,IPKIA 



DISPLMNT 
DEC (HEX) 




SIZE 


i 


FIELD 
NAME 


DESCRIPTION: CONTENTS , 
MEANING/USE 



2 


(0) 
(2) 




2 
1 




PGVHLEN 
PGVHIOP 


RECORD LENGTH 

GLOBAL VECTOR IOP (LNG=PCSRIOP) 


6 


(6) 




1 




JSW0028 


PROGRAM SWITCH 






1, 


• • • * 


... 


SWGVLST 


LAST RECORD SWITCH 


7 


(7) 




2 




PGVENT1 


GLOBAL VECTOR ITEM 


FIELD 
NAME 




DISPLACEMENT 
DECIMAL (HEX) 






PGVENT1 
PGVHIOP 
PGVHLEN 
SWGVLST 


7 
2 

6 




(7) 
(2) 
(0) 
(6) 






*POINTER 













Data Areas 187 



DATA AREA: PHYR 

SIZE: 11^18 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the symbol table. 



IPKKA,IPKLA 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 





(0) 


2 


HASHPTR 


2 


(2) 


1 


SYMFLAGS 






1.-. .... 

.1 

..1 

...1 . 


ENTESD 
LXFLAG 
ENTRYER 
LDNAME 


3 
5 

7 

10 
11 
19 


(3) 
(5) 
(7) 
(A) 
(B) 
(13) 


2 
2 
3 
1 
8 
1 


SYMLATTR 

SYMESDID 

SYMVALUE 

SYMLENG 

SYMSRC 

SYMNXT 



DESCRIPTION: CONTENTS, 
MEANING/USE 



HASH PINTER 

PROGRAM SWITCH 

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

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 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


ENTESD 


2 


(2) 


ENTRYER 


2 


(2) 


HASHPTR 





(0) 


LDNAME 


2 


(2) 


LXFLAG 


2 


(2) 


SYMBREG 


2 


(2) 


SYMESDID 


5 


(5) 


SYMFLAGS 


2 


(2) 


SYMLATTR 


3 


(3) 


SYMLENG 


10 


(A) 


SYMNXT 


19 


(13) 


SYMSRC 


11 


(B) 


♦SYMVALUE 


7 


(7) 


♦POINTER 







/f- 



188 



DATA AREA: PSTRINGS 

SIZE: Variable 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the different fields in source records • 



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



DISPLMNT 






FIELD 


DESCRIPTION: CONTENTS, 


DEC (HEX) 


SIZE 


NAME 


MEANING/USE 


(0) 






PNAMLEN 


LENGTH OF NAME 


1 (1) 






PNAMCOL 


START COLUMN OF NAME 


2 (2) 






PNAMSRC 


NAME 
OP-CODE 


(0) 






POPLEN 


LENGTH OF OP-CODE 


1 (D 






POPCOL 


START COLUMN OF OP- CODE 


2 (2) 






POPSRC 


OP-CODE 
OPERAND 


(0) 






POPDLEN 


LENGTH OF OPERAND 


1 (1) 






POPDCOL 


START COLUMN OF OPERAND 


2 (2) 






POPDSRC 


OPERAND 
STRING 


(0) 






PSTRLEN 


STRING LENGTH 


1 (1) 






PSTRCOL 


START COLUMN OF STRING 


2 (2) 






PSTRSRC 


STRING 

FIELD (ANY OF ABOVE TYPES) 


(0) 






PFLDLEN 


FIELD LENGTH 


1 (1) 






PFLDCOL 


START COLUMN OF FIELD 


2 (2) 






PFLDSRC 
THISCHAR 


FIELD 

* 

EQUATES FOR 






IM i 


NXTCHAR 


SCANNING 


FIELD 


DISPLACE 


WENT 






NAME 


DECIMAL 


(HEX) 






PFLDCOL 


1 


(1) 






PFLDLEN 





(0) 






PFLDSRC 


2 


(2) 






PNAMCOL 


1 


O) 






PNAMLEN 





(0) 






PNAMSRC 


2 


(2) 






POPCOL 


1 


(1) 






POPDCOL 


1 


(1) 






POPDLEN 





(0) 






POPDSRC 


2 


(2) 






POPLEN 





(0) 






POPSRC 


2 


(2) 






PSTRCOL 


1 


(1) 






PSTRLEN 





(0) 






PSTRSRC 


2 


(2) 






♦POINTER 











Data Areas 189 



DATA AREA: RLDENTRY 

SIZE: 6 

CREATED BY: ) 

> IPKOA, IPKQA 
UPDATED BY: J 

FUNCTION: Description of an entry in the relocation dictionary table. 



DISPLMNT 




FIELD 


DECSRIPTION: CONTENTS, 


DEC 


(HEX) 


SIZE 


NAME 


MEANING/USE 





(0) 


2 


RLADID 


ID OF CONSTANT 


2 


(2) 


2 


RLREFID 


ID OF REFERENCE 


4 


(4) 


1 


RLFLAG 


PROGRAM SWITCH 






1... .... 


ACONSW 


A CONSTANT 






.1.. 


YCONSW 


Y CONSTANT 






. .1 


CCWSW 


CCW CONSTANT 






. ..1 


VCONSW 


V CONSTANT 






1... 


LEN1SW 


BIT 4 USED AS LENGTH 






1. 


LEN2SW 


BIT 5 USED AS LENGTH 






1 


SIGNSW 


0-POS. REL. FAC. 1-NEG 


5 


(5) 


3 


RLADDR 


RELOCATION ADDRESS 


8 


(8) 


1 


RLDNXT 


NEXT ENTRY 



REL. FAC, 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


ACONSW 


4 


(4) 


CCWSW 


4 


(4) 


LEN1SW 


4 


(4) 


LEN2SW 


4 


(4) 


* RLADDR 


5 


(5) 


RLADID 





(0) 


RLDNXT 


8 


(8) 


RLFLAG 


4 


(4) 


RLREFID 


2 


(2) 


SIGNSW 


4 


(4) 


VCONSW 


4 


(4) 


YCONSW 


4 


(4) 


* POINTER 










190 



DATA AREA: SMTENT 

SIZE: 10 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the source macro table. 



IPKEA , IPKGA, IPKFA 



DISPLMNT 

DEC (HEX) SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS , 
MEANINg/USE 



(0) 



SWSMT 



PROGRAM SWITCH 





i • • • 


. « . . 


SWSMTATR 


ATTRIBUTES 






• • • • 


SWSMTINM 


INNER MACROS 






. . . « 


SWSMTGBL 


GLOBAL VARIABLES 






• • • • 


SWSMTNST 


DONT STORE 






1..* 


SWSMTNED 


DONT EDIT 






.1.. 


SWSMTNGN 


DONT GENERATE 


1 (1) 


1 




SMTNP 


N/P TO MACRO HEADER (LNG=PNOTEPNT) 


9 (9) 


1 




SMTLEN 


LENGTH OF MACRO NAME 


10 (A) 


8 




SMTNAME 


MACRO NAME 







• 1.1 


SMTENTL 


OR INSTEAD OF LENGTH BYTE 


9 (9) 


1 




SMTEFLG 


END FLAG 




1111 


.111 


ESMT 


END OF TABLE FLAG 




1111 


.1.1 


ESMTB 


END OF BLOCK FLAG 


FIELD 


DISPLACEMENT 






NAME 


DECIMAL 


(HEX) 






ESMT 


9 


(9) 






ESMTB 


9 


(9) 






SMTEFLG 


9 


(9) 






SMTLEN 


9 


O) 






SMTNAME 


10 


(A) 






SMTNP 


1 


0) 






SWSMT 





(0) 






SWSMTATR 





(0) 






SWSMTGBL 





(0) 






SWSMTINM 





(0) 






SWSMTNED 





(0) 






SWSMTNGN 





(0) 






SWSMTNST 





(0) 






♦POINTER 











Data Areas 191 



DATA AREA: SSD 

SIZE: 4 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the sequence symbol dictionary • 



IPKDA , IPKDB , IPKEA , IPKGA 



DISPLMNT 

DEC (HEX) SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 




3 
4 



(0) 
(3) 
W 

(3) 



1111 .111 
1111 .1.1' 
.... .111 



EDITED TEXT 
SYMBOL 



SSDOFFS OFFSET IN 
SSDSYML LENGTH OF 
SSDSYM SYMBOL 

OR INSTEAD OF LENGTH BYTE 
SSDFLAG EO BLOCK/EO DICTIONARY FLAG 

ESSD END OF DICTIONARY 

ESSDB END OF BLOCK 
SSDMAXL MAX ENTRY LENGTH 

VSD AND SSD INFO BLOCKS 



FIELD 
NAME 

ESSD 

ESSDB 

SSDFLAG 

SSDOFFS 

SSDSYM 

SSDSYML 

♦POINTER 



DISPLACEMENT 
DECIMAL (HEX) 



3 
3 
3 

4 
3 



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

W 
(3) 



192 



[ 



DATA AREA: VSD 

SIZE: 4 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the variable symbol dictionary. 



IPKDA,IPKDB,IPKGA 



DISPLMNT 
DEC (HEX) 


SIZE 




FIELD 
NAME 



1 
3 

4 

4 


(0) 
(D 
(3) 


1 
2 
1 
1 
2 




VSDTYPE 

VSDNDX 

VSDSYML 

VSDSYM 

VSDDIM 


3 


(3) 


1 




VSDFLAG 






1111 • 
1111 . 


111 
1.1 


EVSD 
EVSDB 



DESCRIPTION: CONTENTS , 
MEANING/USE 



TYPE 

INDEX NUMBER 

LENGTH OF SYMBOL 

SYMBOL 

MAX DIM, ONLY SUBSCRIPTEDS 

OR INSTEAD OF LENGTH BYTE 

END SEGMENT/END DICTIONARY 

END OF DICTIONARY 
END OF SEGMENT 



SSD ENTRY FORMAT 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


EVSD 


3 


(3) 


EVSDB 


3 


(3) 


VSDDIM 


4 


(«) 


VSDFLAG 


3 


(3) 


VSDNDX 


1 


(1) 


VSDSYM 


4 


(*) 


VSDSYML 


3 


(3) 


VSDTYPE 





(0) 


♦POINTER 







Data Areas 193 



DATA AREA: WORKDTF 

SIZE: 152 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of the DTFSD- 



IPKAA,IPKBA 



DISPLMNT 






DEC (HEX) 




SIZE 


(0) 




2 


2 (2) 


1. 


1 



FIELD 
NAME 



DESCRIPTION: CONTENTS* 
MEANING/USE 



61 



(3) 



(•) 



(3D) 



..1 



.1. 



5 


(5) 


11 


16 


(10) 


4 


20 


(14) 


9 


29 


(1D) 


1 


30 


(IE) 


2 


32 


(20) 


6 


38 


(26) 


1 


39 


(27) 


1 


40 


(28) 


2 


42 


(2A) 


4 


46 


(2E) 


4 


50 


(32) 


4 


50 


(32) 


4 


54 


(36) 


2 


56 


(38) 


5 


56 


(38) 


4 


56 


(38) 


2 


56 


(38) 


4 


58 


(3A) 


1 


59 


(3B) 


1 


60 


(3C) 


1 





RESIDUAL COUNT 




JSW0049 


PROGRAM SWITCH 




WIOCOMPL 


THE COMPLETION BI 


JSW0050 


PROGRAM SWITCH 




W1 


I/O ERROR BITS 




W2 






W3 






WCSW 


PROGRAM SWITCH 




WEOF 


CSW STATUS BYTE 


1 



1... 

...1 



WMODAD 

WDEVTYP 
WPCTY 

WLOWHEAD 

WUPHEAD 

WRECLEN 

WILOWEXT 
WCLOWEXT 
WCHIEXT 

WEXTLIM 

WCCHHR 

WCCHH 

WCC 

WCURBLK 



WH 
WREC 

SWITCH BYTE 
JSW0052 

WFRST 

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 IO 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 
HEAD , FOLLOWED BY 
RECORD 

TO INDICATE 
PROGRAM SWITCH 

FIRST REC ON TRACK WRITTEN 
TRACK LIMIT REACHED AT READ 
POINT 






194 



DISPLMNT 
DEC (HEX) 


SIZE 


FIELD 
NAME 


DESCRIPTION: CONTENTS , 
MEANING/USE 


62 

64 


(3E) 

(40) 


2 

8 


WMPCTY 
CHANNEL 


TRACK CAPACITY CONSTANT 
RESERVED SPACE FOR RPS 

PROGRAM 


72 
96 
96 


(48) 
(60) 
(60) 


6 

16 

2 

.... .11. 


CCWS 
CCWS1 

RDAT 


SEEK- SEARCH-TIC CCW 

2 CCWS FOR READ , WRITE OR WRUPD 

1 


96 


(60) 


1 
.1.1 


VRDAT 
WDAT 




96 


(60) 


1 
•..1 .11. 


VWDAT 
WCKD 




96 
96 
97 
104 


(60) 
(60) 
(61) 
(68) 


1 
1 
7 
2 


VWCKD 
CCWS2 


REST OF 1ST CCW 
2 



112 


(70) 


120 


(78) 


120 


(78) 


121 


(79) 


124 


(7C) 


126 


(7E) 



128 



128 



(80) 



(80) 



128 
128 
129 
132 
134 


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


136 


(88) 


144 
144 
144 
148 


(90) 
(90) 
(90) 
(94) 


149 
150 


(95) 
(96) 



2 
2 
1 
3 
2 
2 



11. 



.... .1.1 

1 
1 
3 
2 
2 



2 
5 
4 
1 



11 



WCCW 
WCCW2 

WDATAD 

WDATLEN 

RCCW 

RDA 

VRDA 

WDA 

VWDA 

RDATAD 

RDATLEN 

RCCW1 

WCOUNT 
WCNTCHR 
WCNTCH 
WCNTR 

WCNTH 
WCNTDL 



THE ASSEMBLED CCW:S IN DTF:S 

HAVE BEEN ADJUSTED BY INIT TO- 

CCW: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 



DATA ADDRESS 
CHAIN BYTE AND 
RECORD LENGTH 

CCW TO READ COUNT BUCKET 

COUNT BUCKET 

DISK ADDRESS - CCHHR 

CCHH 

R 

(TO ADDRESS HEAD NR) 

RECORD LENGTH 1ST BYTE,0 
RECORD LENGTH 



Data Areas 195 



DISPLMNT 




DEC 


(HEX) 


SIZE 


152 


(98) 


1 


153 


(99) 


3 


156 


(9C) 


4 
0000 1001 


160 


(A0) 


2 


16 2 


(A2) 


2 


THE 


FOLLOWING CONSTAN r 


164 


(A4) 


2 


166 


(A6) 


1 


166 


(A6) 


1 


167 


(A7) 


1 


168 


(A8) 


2 


170 


(AA) 


2 


172 


(AC) 


2 


174 


(AE) 


1 


175 


(AF) 


1 


176 


(BO) 


1 
0000 0000 
1001 0000 



FIELD DESCRIPTION: CONTENTS , 

NAME MEANING/USE 

WVER3FL1 VERSION 3 FLAGS 

WVER3FL2 VERSION 3 FLAGS 

WCISIZE CISIZE IF PRESENT 

WSHCON CONSTANTS FOR 

WMCOM EFFECTIVE RECORD LENGTH 

WADCON CALCULATION 

E INIT FOR AND USED BY PPOINTGN ONLY 

WEFRLEN EFFECTIVE RECORD LENGTH 

PBLKPTRK BLOCKS/TRACK 

PBLKPCI BLOCKS/CONTROL INTERVAL 

WTRKPCYL TRACKS/CYL FOR POINTGN ROUT 

CIMAXCAP CI MAX CAPACITY 

WRECLEN1 LENGTHS OF TWO PRECEDING BLOCKS 

WRECLEN2 LENGTHS OF TWO PRECEDING BLOCKS 

NOTESW SWITCH FOR CONTR. PNOTE 

NOTESW1 SWITCH FOR CONTR. PNOTE 

CKDEBASW CKD/FBA SWITCH 

CKDTYPE CODE FOR CKD DEVICE 

FBATYPE CODE FOR FBA DEVICE 



FIELD 


DISPLACE 


IMENT 


NAME 


DECIMAL 


(HEX) 


CCWS 


96 


(60) 


CCWS1 


96 


(60) 


CCWS2 


104 


(68) 


CIMAXCAP 


168 


(A8) 


CKDFBASW 


176 


(B0) 


NOTESW 


174 


(AE) 


NOTESW1 


175 


(AF) 


PBLKPCI 


166 


(A6) 


PBLKPTRK 


166 


(A6) 


RCCW 


128 


(80) 


RCCW1 


136 


(88) 


RDA 


128 


(80) 


RDAT 


96 


(60) 


♦RDATAD 


129 


(81) 


♦RDATLEN 


134 


(86) 


VRDA 


128 


(80) 


VRDAT 


96 


(60) 


VWCKD 


96 


(60) 


VWDA 


128 


(80) 


VWDAT 


96 


(60) 


WADCON 


162 


(A2) 


WCC 


56 


(38) 


WCCHH 


56 


(38) 


WCCHHR 


56 


(38) 


WCCW 


112 


(70) 


WCCW2 


120 


(78) 


WCHIEXT 


50 


(32) 


WCKD 


96 


(60) 


WCLOWEXT 


46 


(2E) 


WCNTCH 


144 


(90) 


WCNTCHR 


144 


(90) 


WCNTDL 


150 


(96) 


*POINTER 







H. 



196 



f 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


WCNTR 


148 


(94) 


WCOUNT 


144 


(90) 


WCSW 


4 


(**) 


WCURBLK 


56 


(38) 


WDA 


128 


(80) 


WDAT 


96 


(60) 


♦WDATAD 


121 


(79) 


♦WDATLEN 


126 


(7E) 


WDEVTYP 


29 


(1D) 


WEFFRLEN 


164 


(A4) 


WEOF 


4 


(«) 


WEXTLIM 


50 


(32) 


WFRST 


61 


(3D) 


WH 


59 


(3B) 


WILOWEXT 


42 


(2A) 


WIOCOMPL 


2 


(2) 


WLOWHEAD 


38 


(26) 


WMCON 


160 


(A0) 


WMODAD 


16 


(10) 


WMPCTY 


62 


(3E) 


WPCTY 


30 


(1E) 


WPNT 


61 


(3D) 


WREC 


60 


(3C) 


WRECLEN 


40 


(28) 


WRECLEN1 


170 


(AA) 


WRECLEN 2 


172 


(AC) 


WTRKLM 


61 


(3D) 


WTRKPCYL 


167 


(A7) 


WUPHEAD 


39 


(27) 


WVER3FL1 


152 


(98) 


WVER3FL2 


153 


(99) 


W1 


3 


(3) 


W2 


3 


(3) 


W3 


3 


(3) 


♦POINTER 







Data Areas 197 



DATA AREA: 

SIZE: 11-17 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of an entry in the cross-reference table. 






v 



IPKKA,IPKLA 



DISPLMNT 




FIELD 


DESCRIPTION: CONTENTS, 


DEC 


(HEX) 


SIZE 


NAME 


MEANING/USE 





(0) 


8 


XRSYMBOL 


XREF ENTRIES FOR DEFN AND 


8 


(8) 


1 


XRFLAG 


CROSSREF FLAG 






1 • 1 • •••• 


DUPL 


DUPLICATE 






• ■ 1 • • • • • • 


REF 


REFERENCE 






•••!• •••• 


DEFIN 


DEFINITION 


9 


(9) 


2 


XRSN 


STATEMENT NUMBER 


11 


(B) 


1 


XREFEND 


END OF REFERENCE RECORD 


11 


(B) 


2 


XRLATTR 


LENGTH ATTRIBUTE 


13 


(D) 


2 


XRESDID 


ESDID 


15 


(F) 


3 


XRVALUE 


SYMBOL VALUE 


18 


(12) 


1 


XDEFEND 


END OF DEF OR DUPL RECORD 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


DEPIN 


8 


(8) 


DUPL 


8 


(8) 


REF 


8 


(8) 


| XDEFEND 


18 


(12) 


XREFEND 


11 


(B) 


XRESDID 


13 


(D) 


XRFLAG 


8 


(8) 


XRLATTR 


11 


(B) 


XRSN 


9 


(9) 


XRSYMBOL 





(0) 


|*XRVALUE 


15 


(F) 


♦POINTER 







4 



198 



DATA AREA: XRFENTRY 

SIZE: Variable (depending upon the literal source) 

CREATED BY: 

UPDATED BY: 

FUNCTION: Description of a cross-reference record. 



IPKRA,IPKRB,IPKRC 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION: CONTENTS, 
MEANING/USE 











8 



9 
|11 
11 
13 

15 

11 
12 



(0) 



(0) 



(0) 
(0) 

(0) 
(0) 

(0) 

(8) 



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

(B) 
(C) 



1111 .111 

1 

1..1 

1 
1 

11 
6 

8 

1 

1 ,. 

• 1 

• •1 

2 

7 
2 
2 
3 

1 
1 



XRFBYTE1 

XRFEOB 

VXRFEOB 

XRFLIT 

VXRFLIT 



XRFREF 
XRFPSEUD 

XRFSYM 

XRFLAG 

DUPSW 
REFSW 
DEFSW 

XRFSN 
XRF^AL 

XRFLATTR 
XRFESDID 
XRFVALUE 

XRFLITLN 
XRFLSRC 



XREF END OF BLOCK 



LITERAL RECORD IF NUMERIC 



FIRST BYTE IN XREF RECORD 

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

PROGRAM SWITCH 

DUPLICATE DEFINITION RECORD 

REFERENCE RECORD 

LITERAL DEFINITION RECORD 

XREF STATEMENT NUMBER 

LENGTH ATTR OF SYMBOL 

ESD ID 

VALUE OF SYMBOL 

DEFINITION RECORD FIELD 

LENGTH OF LIT XREF 

BEGINNING OF LITERAL SOURCE 



FIELD 
NAME 

DEFSW 

DUPSW 

REFSW 

VXRFEOB 

VXRFLIT 

XRFBYTE1 

XRFEOB 

XRFESDID 



DISPLACEMENT 
DECIMAL (HEX) 



8 
8 
8 




13 



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



"POINTER 



Data Areas 199 



FIELD 


DISPLACEMENT 


NAME 


DECIMAL 


(HEX) 


XRFLAG 


8 


(8) 


XRPLATTR 


11 


(B) 


XRFLIT 





(0) 


XRFLITLN 


11 


(B) 


XRFLSRC 


12 


(Q 


XRFPSEUD 





(0) 


XRFREF 





(0) 


XRFSN 


9 


(9) 


XRFSYM 





(0) 


XRFVAL 


11 


(B) 


XRFVALUE 
♦POINTER. 


15 


(F) 



V 



200 



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. 



Data Areas 201 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


ASSGNSW 


PCOMMON 


1922 


(782) 


BCCOLUMN 


EDPNI 


10 


(A) 


BCDUMMY 


EDPMI 


10 


(A) 


BCITEM 


EDPMI 


10 


(A) 


BC ITEM ST 


EDPMI 


11 


(B) 


BEGOFIN 


PCOMMON 


2044 


(7FC) 


BEGOFOUT 


PCOMMON 


2040 


(7F8) 


BITLEM 


PDCEDIT 


5 


(5) 


BLKINCNO 


PCOMMON 


1995 


(7D3) 


BLKINSW 


DIRENTRY 


19 


(13) 


BLKNP1 


DIRENTRY 


5 


(5) 


BLKNP2 


DIRENTRY 


11 


(B) 


BOTTHALF 


PCOMMON 


2035 


(7F3) 


BTYPE 


PDCEDIT 


4 


W 


♦BUFADDR 


PFCB 


6 


(6) 


♦BUFADDR1 


PCOMMON 


1694 


(69E) 


♦BUFADDR2 


PCOMMON 


1729 


(6C1) 


♦BUFADDR3 


PCOMMON 


1764 


(6E4) 


♦BUFPT 


PFCB 


3 


(3) 


♦ BUFPT1 


PCOMMON 


1691 


(69B) 


♦BUFPT2 


PCOMMON 


1726 


(6BE) 


♦BUFPT3 


PCOMMON 


1761 


(6E1) 


BUF2SW 


PFCB 


17 


(11) 


♦BYTEOFFS 


PCOMMON 


1953 


(7A1) 


CCWS 


WORKDTF 


96 


(60) 


CCWSW 


RLDENTRY 


4 


(4) 


CCWS1 


WORKDTF 


9 6 


(60) 


CCWS2 


WORKDTF 


104 


(68) 


CHARC 


EPAR 


3 


(3) 


CHAR FLAG 


EPAR 





(0) 


CHAR ITEM 


EDPMI 


10 


(A) 


CHARK 


EPAR 


2 


(2) 


CHART 


EPAR 


1 


(1) 


CHITEMK 


EDPMI 


11 


(B) 


CH ITEM ST 


EDPMI 


12 


(C) 


CHITEMT 


EDPMI 


10 


(A) 


CIMAXCAP 


WORKDTF 


168 


(A8) 


CKDFBASW 


WORKDTF 


172 


(AC) 


CMTYPE 


ESDENTRY 





(0) 


CODEHWD 


CODE 





(0) 


CODESW 


CODE 





(0) 


COMMAFLAG 


CODE 





(0) 


COMMODSW 


PCOMMON 


1926 


(786) 


♦CORADDR 


DIRENTRY 





(0) 


CROSSNP 


PCOMMON 


1961 


(7A9) 


CROSSW 


PCOMMON 


1922 


(782) 


CTYPE 


PDCEDIT 


4 


W 


♦CURESD 


PCOMMON 


1992 


(7C8) 


CURNP 


PCOMMON 


1967 


(7AF) 


CURSECT 


PCOMMON 


1932 


(78C) 


CURSECTL 


PCOMMON 


1931 


(78B) 


DBCORE 


PCOMMON 


1951 


(79F) 


DBFULLSW 


PCOMMON 


1926 


(786) 


DBVSDADR 


PCOMMON 


2000 


(7D0) 


DCEXP 


PDCEDIT 





(0) 


DCVAL 


PDCEDIT 





(0) 


D 1MB IT 


GSDENTRY 


3 


(3) 


DEFIN 


XREFREC 


8 


(8) 


DEFSW 


XRFENTRY 


8 


(8) 


DIRENT 


DIRENTRY 





(0) 


PL INK 


PCOMMON 


2024 


(7E8) 


♦POINTER. 









FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


DONESYM 


PETFLDS 





(0) 


DSCOMSW 


PCOMMON 


2031 


(7EF) 


DSTYPE 


ESDENTRY 





(0) 


DTYPE 


PDCEDIT 


4 


W 


DUPL 


XREFREC 


8 


(8) 


DUPSW 


XRFENTRY 


8 


(8) 


EAWF2END 


PCOMMON 


1920 


(780) 


EDFLAG 


CODE 





(0) 


EDPMIORG 


EDPMI 


6 


(6) 


EFLG 


MNAENT 


2 


(2) 


EGSD 


GSDENTRY 


3 


(3) 


EGSDB 


GSDENTRY 


3 


(3) 


EITEMNK 


EDPMI 


11 


(B) 


EITEMNP 


EDPMI 


10 


(A) 


EL INK 


PCOMMON 


1976 


(7B8) 


EMNA 


MNAENT 


2 


(2) 


EMNAB 


MNAENT 


2 


(2) 


♦ENDBUF 


PFCB 


11 


(B) 


ENDID 


PCOMMON 


2011 


(7DB) 


ENDITEM 


EDPMI 


10 


(A) 


ENDSW 


PCOMMON 


1963 


(7AB) 


ENTESD 


PHYR 


2 


(2) 


ENTRYCNT 


PCOMMON 


2008 


(7D8) 


ENTRYER 


PHYR 


2 


(2) 


ENTVALUE 


PETFLDS 





(0) 


EOFLDPTR 


ERRENT 


5 


(5) 


EPAR FLAG 


EPAR 





(0) 


EP ARREST 


EPAR 


2 


(2) 


EPART 


EPAR 


1 


(1) 


EQORGSW 


PCOMMON 


1922 


(782) 


ERDSCOM 


PETFLDS 





(0.) 


ERITEM 


EDPMI 


10 


(A) 


ERRAREA 


ERRBYTES 





(0) 


ERRCONST 


ERRBYTES 





(0) 


ERRCOUNT 


PCOMMON 


2036 


(7F4) 


ERR INFO 


ERRENT 





(0) 


ERRINOPD 


PCOMMON 


1926 


(782) 


ERRLNG 


ERRBYTES 


2 


(2) 


ERRNO 


ERRBYTES 





(0) 


ERRNO 


ERRENT 





(0) 


ERRSW 


ERRBYTES 


1 


(1) 


ERRTXT 


ERRBYTES 


3 


<3) 


ERTYPE 


ESDENTRY 





(0) 


ESDESDID 


ESDENTRY 


1 


(1) 


♦ESDHILC 


ESDENTRY 


6 


(6) 


ESDIDHI 


PCOMMON 


1955 


(7A3) 


ESDIDLO 


PCOMMON 


2013 


(7DD) 


* ESDLCTR 


ESDENTRY 


3 


(3) 


ESDNXT 


ESDENTRY 


17 


(11) 


♦ESDPTR 


PCOMMON 


1987 


(7C4) 


ESDSYM 


ESDENTRY 


9 


(9) 


ESDTABSW 


PCOMMON 


1963 


(7AB) 


ESDTYPE 


ESDENTRY 





(0) 


ESMT 


SMTENT 


9 


(9) 


ESMTB 


SMTENT 


9 


(9) 


ESSD 


SSD 


3 


(3) 


ESSDB 


SSD 


3 


(3) 


ETYPE 


PDCEDIT 


4 


■(*) 


EVALUE 


EVALSTCK 


1 


(1) 


EVLENGTH 


EVALSTCK 


5 


(5) 


EVNXT 


EVALSTCK 


10 


(A) 


EVPLUS 


EVALSTCK 


5 


(5) 



4 



202 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


EVRELOC 


EVALSTCK 


6 


(6) 


EVSD 


VSD 


3 


(3) 


EVSDB 


VSD 


3 


(3) 


EVVARY 


EVALSTCK 


7 


(7) 


EXPLEN 


PDCEDIT 


5 


(5) 


EXPON 


PDCEDIT 





(0) 


FILE1NP 


PCOMMON 


1880 


(758) 


FILE1NPR 


PCOMMON 


1886 


(75E) 


FILE12EX 


PCOMMON 


1904 


(770) 


FILE2NP 


PCOMMON 


1892 


(764) 


FILE2NPR 


PCOMMON 


1898 


(76A) 


FILL 


DIRENTRY 


17 


(11) 


FIRSTSW 


PFCB 


17 


(11) 


FLAG 


DIRENTRY 


19 


(13) 


FLAGPMSK 


EPAR 





(0) 


FLINK 


PCOMMON 


1960 


(7A8) 


FTYPE 


PDCEDIT 


4 


W 


GARDIM 


GARENT 


4 


W 


GAR END 


GARENT 


4 


CO 


GARFLAG 


GARD 


6 


(6) 


GARLEN 


GARD 





(0) 


GARLGTH 


GARENT 


3 


(3) 


GARNDX 


GARENT 


1 


(1) 


GARTYPE 


GARENT 


C 


(0) 


♦GAVAPT 


PCOMMON 


1940 


(794) 


* GBVAPT 


PCOMMON 


1943 


(797) 


♦GCVAPT 


PCOMMON 


1946 


(79A) 


GLINK 


PCOMMON 


1913 


(779) 


GSDDIM 


GSDENTRY 


4 


W 


GS DFLG 


GSDENTRY 


3 


(3) 


GSDLEN 


GSDENTRY 


3 


(3) 


GS DNDX 


GSDENTRY 


1 


(1) 


GSDSYM 


GSDENTRY 


4 


W 


GSDTYPE 


GSDENTRY 





(0) 


HASHPTR 


PHYR 





(0) 


HLINK 


PCOMMON 


1949 


(79D) 


HTYPE 


PDCEDIT 


4 


W 


IATESTSW 


PCOMMON 


1926 


(786) 


IFSAVE 


PCOMMON 


1672 


(688) 


IJJALSW 


IJJCPTAB 


44 


(2C) 


IJJCPADJ 


IJJCPTAB 


74 


(4A) 


IJJCPCCB 


IJJCPTAB 





(0) 


IJJCPCCW 


IJJCPTAB 


112 


(70) 


IJJCPCNT 


IJJCPTAB 


76 


(4C) 


IJJCPCTR 


IJJCPTAB 


80 


(50) 


IJJCPDAT 


IJJCPTAB 


82 


(52) 


IJJCPF1 


IJJCPTAB 


30 


(1E) 


IJJCPMAX 


IJJCPTAB 


54 


(36) 


IJJCPREC 


IJJCPTAB 


64 


(40) 


IJJCPRMX 


IJJCPTAB 


72 


(48) 


IJJCPSCW 


IJJCPTAB 


48 


(30) 


IJJCPSEK 


IJJCPTAB 


60 


(3C) 


IJJCPSST 


IJJCPTAB 


88 


(58) 


IJJCPSWS 


IJJCPTAB 


42 


(2A) 


IJJCPUPP 


IJJCPTAB 


68 


(44) 


IJJCPVER 


IJJCPTAB 


128 


(80) 


IJJCPXTN 


IJJCPTAB 


40 


(28) 


IJJCP2ND 


IJJCPTAB 


45 


(2D) 


IJJC2NSW 


IJJCPTAB 


43 


(2B) 


IJJECCW1 


IJJCPTAB 


152 


(98) 


IJJECCW2 


IJJCPTAB 


160 


(A0) 


IJJFRSTR 


IJJCPTAB 


73 


(49) 


INTER- 









FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


IJJLOAD 


IJJCPTAB 


84 


(54) 


IJJLOHED 


IJJCPTAB 


52 


(34) 


IJJSAVEA 


IJJCPTAB 


168 


(A8) 


ILINK 


PCOMMON 


1984 


(760) 


IMPLEN 


PDCEDIT 


5 


(5) 


INDENT 


INDENTRY 





(0) 


INDEX 


EDPMI 


16 


(10) 


INDKEY 


INDENTRY 





(0) 


INDNP 


INDENTRY 


11 


(B) 


INDXB 


EPAR 


1 


(n 


INDXC 


EPAR 


6 


(6) 


INDXCL 


EPAR 


5 


(5) 


INDXFLAG 


EPAR 





(0) 


ITEM 


EDPMI 


10 


(A) 


IT EM AT SW 


EDPMI 


8 


(8) 


ITEM FLAG 


EDPMI 


8 


(8) 


ITEMKWSW 


EDPMI 


8 


(8) 


ITEML 


EDPMI 


9 


(9) 


ITEMLISW 


EDPMI 


8 


(8) 


ITEMLONG 


EDPMI 


8 


(8) 


ITEMSLSW 


EDPMI 


8 


(8) 


ITEMT 


EDPMI 


7 


(7) 


ITEM 1ST 


EDPMI 


8 


(8) 


JLINK 


PCOMMON 


1928 


(788) 


KEY 


DIRENTRY 


11 


(B) 


KITEM 


EDPMI 


10 


(A) 


KLINK 


PCOMMON 


2072 


(818) 


KWTLEN 


KEYTAB 





(0) 


LBARADDR 


PCOMMON 


1994 


(76A) 


LCLASIZ 


PCOMMON 


1932 


(78C) 


LCLASZ 


MACHEAD 


16 


(10) 


LCLBSIZ 


PCOMMON 


1935 


(78F) 


LCLBSZ 


MACHEAD 


19 


(13) 


LCLCSIZ 


PCOMMON 


1935 


(792) 


LCLCSZ 


MACHEAD 


22 


(16) 


LDNAME 


PHYR 


2 


(2) 


LDTYPE 


ESDENTRY 





(0) 


LEN1SW 


RLDENTRY 


4 


W 


LEN2SW 


RLDENTRY 


4 


W 


LITSW 


PCOMMON 


1963 


(7AB) 


LLINK 


PCOMMON 


2072 


(818) 


LMNAME 


EDPMI 


7 


(7) 


♦LOCCNTHI 


PCOMMON 


2028 


(7EC) 


♦LOCCNTR 


PCOMMON 


2025 


(7E9) 


LOCLATR 


PCOMMON 


2021 


(7E5) 


LOCRATR 


PCOMMON 


2C23 


(7E7) 


LOCSTMH 


OCSTMH 


7 


(7) 


LOCTYPE 


PCOMMON 


2031 


(7EF) 


LPNAME 


EDPMI 


7 


(7) 


LTYPE 


PDCEDIT 


4 


W 


LXFLAG 


PHYR 


2 


(2) 


MACNAM 


EDPMI 


8 


(8) 


MACROSW 


PCOMMON 


1926 


(786) 


MAN 


MNAENT 


3 


(3) 


MFLAGS 


PCOMMON 


1922 


(782) 


MIB 


PCOMMON 


1922 


(782) 


♦MIBADDR 


PCOMMON 


1948 


(79C) 


MLEVEL 


PCOMMON 


1951 


(79D) 


MNALEN 


MNAENT 


2 


(2) 


MNAM 


PCOMMON 


1924 


(784) 


MNAME 


MACHEAD 


8 


(8) 


MNAM EL 


MACHEAD 


7 


(7) 



Data Areas 203 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


MNANDX 


MNAENT 





(0) 


NALTSRC 


EDPMI 


8 


(8) 


NERNUMB 


NTABFMT 





(0) 


NEXPF1 


PETFLDS 


1 


(1) 


NEXPF2 


PETFLDS 


1 


(1) 


NEXPF3 


PETFLDS 


1 


(1) 


NEXT CODE 


CODE 


2 


(2) 


NLINK 


PCOMMON 


1960 


(7A8) 


NOPRNUMB 


NTABFMT 


1 


(1) 


NOSTRING 


ERRENT 


5 


(5) 


NO.TESW 


WORKDTF 


170 


(AA) 


NOTESW1 


WORKDTF 


171 


(AB) 


NPLITBEG 


PCOMMON 


1913 


(779) 


NPMIB 


OCSTMH 


7 


(7) 


NPSSDR1 


PCOMMON 


1963 


(7AB) 


NPSSDWL 


PCOMMON 


1970 


(7B2) 


NPTEMP 


PCOMMON 


1660 


(67C) 


NPTEMPCC 


PCOMMON 


1660 


(67C) 


NPTEMP H 


PCOMMON 


1662 


(67E) 


NPTEMPR 


PCOMMON 


1663 


(67F) 


NPTEMP TB 


PCOMMON 


1664 


(680) 


NPVSD 


PCOMMON 


1947 


(79B) 


NPVSDR1 


PCOMMON 


1987 


(7C3) 


♦NXTENTRY 


PCOMMON 


2004 


(7D4) 


NXTRA 


EVALSTCK 


3 


(3) 


OFFS 


DIRENTRY 


3 


(3) 


OLINK 


PCOMMON 


1960 


(7A-.8) 


OMITEM 


EDPMI 


10 


(A) 


OPENSW 


PFCB 


17 


(11) 


OPND 


ERRBYTES 


1 


(1) 


OVFLADDR 


PCOMMON 


1997 


(7CD) 


PABENDC 


PCOMMON 


1669 


(685) 


PAFLAG2 


PETFLDS 





(0) 


♦PAFLD 


PETFLDS 


1 


(1) 


PAFLG 


PETFLDS 





(0) 


PALGNBIT 


PETR 


2 


(2) 


P ALIGN 


PCOMMON 


1659 


(67B) 


PANXT 


PETFLDS 


4 


W 


PASSGNSW 


PCOMMON 


2035 


(7F3) 


PBITAL 


PDCOUT 


7 


(7) 


PBITALGN 


PDCEDIT 


7 


(7) 


PBLKPCI 


WORKDTF 


166 


(A6) 


PBLKPTRK 


WORKDTF 


166 


(A6) 


♦PBUFLEN1 


PCOMMON 


1697 


(6A1) 


♦PBUFLEN2 


PCOMMON 


1732 


(6C4) 


♦PBUFLEN3 


PCOMMON 


1767 


(6E7) 


PB1FISIZ 


PCOMMON 


1890 


(762) 


PB12SIZ 


PCOMMON 


1892 


(764) 


PCAEDTXT 


PCSR 


6 


(6) 


PCASRC 


PCSR 


6 


(6) 


PCBTYPE 


PETR 


5 


(5) 


PCCHR 


PFCB 


21 


(15) 


PCI 


PFCB 


21 


(15) 


PCIBAL 


PFCB 


25 


(1?) 


PCNXT 


PETFLDS 


3 


(3) 


PCODE 


PETFLDS 


1 


(1) 


PCONTSW 


PCOMMON 


1904 


(770) 


PCSREAD 


PCSR 


5 


(5) 


PCSRFLGA 


PCSR 


6 


(6) 


PCSR HEAD 


PCSR 





(0) 


PCSRIOP 


PCSR 


2 


(2) 


PCSRLEN 


PCSR 





(0) 


♦POINTER. 









FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


PCSRLIT1 


PCSR 


2 


(2) 


PCSRLIT2 


PCSR 


2 


(2) 


PCSRLIT3 


PCSR 


2 


(2) 


PCSRMCOP 


PCSR 


2 


(2) 


PCSROP 


PCSR 


3 


(3) 


PCSROPX 


PCSR 


4 


W 


PCSROP 


PCSR 


2 


(2) 


PCSROP 3 


PCSR 


5 


(5) 


PCSRSTR1 


PCSR 


7 


(7) 


PCSWOVL 


PCOMMON 


1871 


(74F) 


PCTYPE 


ESDENTRY 





(0) 


PDCCODE 


PDCOUT 


11 


(B) 


PDCCONT 


PETR 


2 


(2) 


PDCED 


PDCOUT 


3 


(3) 


PDCFL 


PDCOUT 


6 


(6) 


PDCFLAG 


PDCEDIT 


6 


(6) 


PDCFLD 


PDCEDIT 


2 


(2) 


PDCLEN 


PDCEDIT 


1 


(1) 


PDCSTYPE 


PETR 


2 


(2) 


PDCTYPE 


PDCEDIT 


4 


W 


PDECK 


PCOMMON 


1659 


(67B) 


PDEFENT 


pETR 


2 


(2) 


PDF 


PCOMMON 


1659 


(67B) 


PDSWOVL 


PCOMMON 


1871 


(74F) 


♦PDTFADDR 


PFCB 





(0) 


*PDTFADR1 


PCOMMON 


1688 


(698) 


♦PDTFADR2 


PCOMMON 


1723 


(6BB) 


♦PDTFADR3 


PCOMMON 


1758 


(6DE) 


PDUPC 


PDCOUT 


6 


(6) 


PDCUPCONT 


PDCEDIT 


6 


(6) 


PDUPEXP 


PDCEDIT 





(0) 


PDUPLFAC 


PDCOUT 





(0) 


PDUPSYM 


PETR 


2 


(2) 


PEDECK 


PCOMMON 


1659 


(67B) 


♦PENDBUF1 


PCOMMON 


1699 


(6A3) 


*PENDBUF2 


PCOMMON 


1734 


(6C6) 


♦PENDBUF3 


PCOMMON 


1769 


(6E9) 


PENTDEF 


PCOMMON 


1922 


(782) 


PENTVAL 


PETFLDS 


9 


(9) 


PEOBSW 


PCOMMON 


1658 


(67A) 


*PEOF 


PFCB 


18 


(12) 


♦PEOFADR1 


PCOMMON 


1706 


(6AA) 


+PEOFADR2 


PCOMMON 


1741 


(6CD) 


♦PEOFADR3 


PCOMMON 


1776 


(6F0) 


PERLNG 


PETR 


6 


(6) 


PERNOQ 


PETR 


2 


(2) 


PERREXC 


PETR 


9 


(9) 


PERREXPT 


PERR 


9 


(9) 


PERRHD 


PERR 





(0) 


PERRIOP 


PERR 


2 


(2) 


PERRIOPC 


PERR 


2 


(2) 


PERRIOP1 


PERR 


3 


(3) 


PERRIOP2 


PERR 


4 


C) 


PERRLEN 


PERR 





(0) 


PERRSTNO 


PETR 


6 


(6) 


PERRSTNR 


PERR 


6 


(6) 


PERRSTR 


PETR 


8 


(8) 


PERRSTRL 


PERR 


8 


(8) 


PERSRC 


PETR 


7 


(7) 


PER2STR 


PETR 


2 


(2) 


PETDEAD 


PETR 


5 


(5) 


PETEPX 


PETR 


4 


<*> 



204 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


PETHEAD 


PETR 





(0) 


PETIOP 


PETR 


2 


(2) 


PETLEN 


PETR 





(0) 


PETMCOP 


PETR 


2 


(2) 


PETOP 


PETR 


3 


(3) 


PETOPO 


PETR 


2 


(2) 


PETOP3 


PETR 


5 


(5) 


PETSTNO 


PETR 


6 


(6) 


P EXP FLAG 


PETFLDS 


1 


(D 


PEXPVAL 


PETFLDS 


5 


(5) 


PFCBSW 


PFCB 


17 


(11) 


PFCBSW1 


PFCB 


17 


(11) 


PFCBSW2 


PFCB 


17 


(11) 


♦PFETCHDA 


PCOMMON 


2C08 


(7D8) 


♦PFETCHDB 


PCOMMON 


2C12 


(7DC) 


*P FETCH IA 


PCOMMON 


1956 


(7A4) 


♦PFETCHIB 


PCOMMON 


1960 


(7A8) 


*P FETCH IC 


PCOMMON 


1964 


(7AC) 


PFILE1 


PCOMMON 


1688 


(698) 


PFILE2 


PCOMMON 


1723 


(6BB) 


PFILE3 


PCOMMON 


1758 


(6DE) 


♦PFINDPT 


PCOMMON 


1896 


(768) 


PFLDCOL 


PSTRINGS 


1 


(1) 


PFLDLEN 


PSTRINGS 





(0) 


PFLDSRC 


PSTRINGS 


2 


(2) 


P FRO ML IB 


PCSR 


6 


(6) 


PFRSTASG 


PCOMMON 


1922 


(782) 


PFRSTOV 


PCOMMON 


2035 


(7F3) 


PGBLASIZ 


PCOMMON 


1945 


(799) 


PGBLBSIZ 


PCOMMON 


1948 


(79C) 


PGBLCSIZ 


PCOMMON 


1951 


(79F) 


PGBLSIZ 


PCOMMON 


1945 


(799) 


P GEN STMT 


PCSR 


6 


(6) 


PGENSW 


PCOMMON 


1926 


(786) 


PGEN5SW 


PCOMMON 


1926 


(786) 


PGFMSGSW 


PCOMMON 


1863 


(747) 


PGVENT1 


PGVHEAD 


7 


(7) 


PGVHIOP 


PGVHEAD 


2 


(2) 


PGVHLEN 


PGVHEAD 





(0) 


♦PHICORE 


PCOMMON 


1666 


(682) 


PIBSW 


PCOMMON 


1926 


(786) 


PICSW 


PCOMMON 


1926 


(786) 


*PICTLCNT 


PCOMMON 


1856 


(740) 


*PICTLEND 


PCOMMON 


1855 


(73F) 


♦PICTLST 


PCOMMON 


1854 


(73E) 


PIERCNT 


PCOMMON 


1974 


(7B6) 


PIERSTK 


PCOMMON 


1976 


(7B8) 


PINEOFSW 


PCOMMON 


1659 


(67B) 


*PINPUTPT 


PCOMMON 


1899 


(76B) 


PINSTRLN 


PETR 


5 


(5) 


PISWOVL 


PCOMMON 


1871 


(74F) 


PITEM 


EDPMI 


1C 


(A) 


PJSWOVL 


PCOMMON 


1871 


(74F) 


PKSWOVL 


PCOMMON 


1871 


(74F) 


PLA 


PETFLDS 


2 


(2) 


PLASTSUB 


PCOMMON 


2035 


(7F3) 


PLBEOFSW 


PCOMMON 


1658 


(67A) 


PLENATTR 


PETR 


8 


(8) 


PL EN FLAG 


PCEDIT 


5 


(5) 


PLINECNT 


PCOMMON 


1848 


(738) 


♦POINTER 









FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


PLINENUM 


PCOMMON 


1923 


(783) 


PL INK 


PCOMMON 


1659 


(67B) 


PLIST 


PCOMMON 


1659 


(67B) 


PLITBLK 


PCOMMON 


1909 


(775) 


PLITLEN 


PCOMMON 


1911 


(777) 


*PLOCCNTR 


PETR 


12 


(C) 


PLORMIN 


EVALSTCK 





(0) 


PLRECLN 


PCOMMON 


1670 


(686) 


PLRELATR 


PETR 


10 


(A) 


*PMAVBSIZ 


PCOMMON 


1941 


(795) 


* PMAVNO 


PCOMMON 


1943 


(797) 


PMAVNP 


PCOMMON 


1935 


(78F) 


PMAXBSIZ 


PCOMMON 


1787 


(6FB) 


*PMIBLEN 


PCOMMON 


1956 


(7A4) 


PMODEXP 


PCEDIT 


1 


(1) 


PMODFLAG 


PCEDIT 





(0) 


PMODIFS 


PCEDIT 


9 


(9) 


PNAMCOL 


PSTRINGS 


1 


(1) 


PNAME 


PETFLDS 


1 


(1) 


PNAMFLD 


PETR 


16 


(10) 


PNAMLEN 


PSTRINGS 





(0). 


PNAMLNG 


PETFLDS 





(0) 


PNAMSRC 


PSTRINGS 


2 


(2) 


PNEXTNP 


PFCB 


29 


<1D) 


PNEXTNP1 


PCOMMON 


1717 


(6B5) 


PNEXTNP2 


PCOMMON 


1752 


(6D8) 


PNEXTNP3 


PCOMMON 


1787 


(6FB) 


PNOBKSW 


PCOMMON 


1658 


(67A) 


PNOCONST 


PCEDIT 


3 


(3) 


PNOSEQSW 


PCOMMON 


1863 


(747) 


PNOSTNO 


PCSR 


2 


(2) 


PNOTEPNT 


PFCB 


21 


(15) 


PNPMAC1 


PCOMMON 


1912 


(778) 


PNPOCGV 


PCOMMON 


1927 


(787) 


PNPOFFS 


PFCB 


27 


(1B) 


PNPOINT1 


PCOMMON 


1709 


(6AD) 


PNPOINT2 


PCOMMON 


1744 


(6D0) 


PNPOINT3 


PCOMMON 


1779 


(6F3) 


PNPRW 


PFCB 


21 


(15) 


PNWTRKSW 


PCOMMON 


1658 


(67A) 


PNXTBKT 


PETFLDS 


9 


(9) 


PNXTMOD 


PCEDIT 


4 


(<*) 


POLSTR 


PETFLDS 


2 


(2) 


POPCOL 


PSTRINGS 


1 


(1) 


POPDCOL 


PSTRINGS 


1 


(1) 


POPDLEN 


PSTRINGS 





(0) 


POPDSRC 


PSTRINGS 


2 


(2) 


POP FLAG 


PETFLDS 





(0) 


POPLEN 


PSTRINGS 





(0) 


POPNUMB 


PETR 


4 


m 


POPSRC 


PSTRINGS 


2 


(2) 


POPSW 


PCOMMON 


1658 


<67 A) 


POVLSW 


PCOMMON 


1871 


(74F) 


PPAGENO 


PCOMMON 


1925 


(785) 


PRA 


PETFLDS 


4 


(«) 


PRATT 


PETFLDS 


10 


(A) 


PR EC 


PFCB 


24 


(18) 


PRECLEN 


PFCB 


9 


(9) 


PREFCNT 


PCOMMON 


1936 


(790) 


PRLD 


PCOMMON 


1658 


(67A) 


PROGID 


PCOMMON 


1850 


(73A) 



Data Areas 205 



FIELD 



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 

RANR 

RAONE 

RCCW 

RCCW1 

RDA 

RDAT 
*RDATAD 
♦RDATLEN 

READSW 

REF 

REFSW 

RELLEN 
♦RLADDR 

RLADID 

RLDNXT 

RLFLAG 

RLREFID 
♦SAVADDR 

SAVAR 

SAVESDNP 

SAVREG1 

♦ POINTER 



DSECT 



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 

EVALSTCK 

EVALSTCK 

WORKDTF 

WORKDTF 

WORKDTF 

WORKDTF 

WORKDTF 

WORKDTF 

PFCB 

XREFREC 

XRFENTRY 

EVALSTCK 

RLDENTRY 

RLDENTRY 

RLDENTRY 

RLDENTRY 

RLDENTRY 

PCOMMON 

PCOMMON 

PCOMMON 

PCOMMON 



DISPLACEMENT 
DECIMAL (HEX) 



8 

1796 

1836 

1840 

6 

6 

6 



9 

1 

6 

1968 

3 

1912 

1915 

1 



2 

5 

1658 

1 





15 

2032 

1927 

1880 

1881 

25 

6 

6 

4 

1926 

1904 

14 

1702 

1737 

1772 

1659 



1 

128 

136 

128 

96 

129 

134 

17 

8 

8 

8 

5 



8 

4 

2 

2048 

2051 

1967 

2060 



(8) 

(704) 

(72C) 

(730) 

(6) 

(6) 

(6) 

(0) 

(9) 

0) 

(6) 

(7B0) 

(3) 

(778) 

(77B) 

(1) 

(0) 

(2) 

(5) 

(67A) 

(D 

(0) 

(0) 

<F) 

(7F0) 

(787) 

(758) 

(759) 

(19) 

(6) 

(6) 

(4) 

(786) 

(770) 

(E) 

(6A6) 

(6C9) 

(6EC) 

(67B) 

(0) 

(1) 

(80) 

(88) 

(80) 

(60) 

(81) 

(86) 

(11) 

(8) 

(8) 

(8) 

(5) 

(0) 

(8) 

W 

(2) 

(800) 

(80 3) 

(7B5) 

(80C) 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


SAVREG2 


PCOMMON 


2064 


(810) 


SCALE 


PCEDIT 





(0) 


SDEFB 


EPAR 


2 


(2) 


SDEFC 


EPAR 


6 


(6) 


SDEFFLAG 


EPAR 





(0) 


SDEFITEM 


EDPMI 


10 


(A) 


SDEFK 


EPAR 


5 


(5) 


SDEFT 


EPAR 


1 


(1) 


SDITEMB 


EDPMI 


11 


(B) 


SDITEMK 


EDPMI 


14 


(E) 


SDIEMST 


EDPMI 


15 


(F) 


SDITEMT 


EDPMI 


1.0 


(A) 


SDTYPE 


ESDENTRY 





(0) 


SECTC 


EPAR 


12 


(C) 


SECTCL 


EPAR 


11 


(B) 


SECT FLAG 


EPAR 


10 


(A) 


SECTSW 


PCOMMON 


1963 


(7AB) 


SEITEM 


EDPMI 


10 


(A) 


SEQFLD 


EDPMI 


18 


(12) 


SFLAG 


CODE 





(0) 


SIGNSW 


RLDENTRY 


4 


(0) 


SMTEFLG 


SMTENT 


9 


(9) 


SMTLEN 


SMTENT 


9 


(9) 


SMTNAME 


SMTENT 


10 


(A) 


SMTNP 


SMTENT 


1 


(1) 


SMTSIZE 


PCOMMON 


1902 


(76E) 


SREG 


PETFLDS 





(0) 


SSDADDR 


PCOMMON 


1953 


(7A1) 


SSDBLK1 


PCOMMON 


1969 


(7B1) 


*SSDEND 


PCOMMON 


2019 


(7E3) 


SSDFLAG 


SSD 


3 


(3) 


SSDINFO 


PCOMMON 


1958 


(7A6) 


SSDNP 


PCOMMON 


1941 


(79 5) 


SSDNPT 


MACHEAD 


25 


(19) 


SSDOFFS 


SSD 





(0) 


SSDSIZE 


PCOMMON 


1961 


(7A9) 


SSDSYM 


SSD 


4 


W 


SSDSYML 


SSD 


3 


(3) 


SSITEMK 


EDPMI 


10 


(A) 


♦STABEND 


PCOMMON 


2000 


(7D0) 


♦STARTLOC 


PCOMMON 


1952 


(7A0) 


STARTSW 


PCOMMON 


1922 


(782) 


STEP 


PCOMMON 


1844 


(734) 


STLENGTH 


EVALSTCK 





(0) 


STMTNR 


PCOMMON 


1921 


(781) 


STRING 


ERRENT 


5 


(5) 


STRPTR 


ERRENT 


2 


(2) 


STYPE 


PDCEDIT 


4 


{*) 


SUBE 


EPAR 


7 


(7) 


SUBEFLAG 


EPAR 


5 


(5) 


SUBITEM 


EDPMI 


10 


(A) 


SUBEL 


EPAR 


6 


(6) 


SUBLFLAG 


EPAR 





(0) 


SUBLHEAD 


EPAR 





(0) 


SUBLK 


EPAR 


4 


(4) 


SUBLL 


EPAR 


1 


(1) 


SUBLN 


EPAR 


3 


(3) 


SUBSITEM 


EDPMI 


10 


(A) 


SWATRINS 


EDPMI 


6 


(6) 


SWATTR 


PCOMMON 


1922 


(782) 


SWCAFT 


PCOMMON 


1889 


(761) 



i 



206 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


SWCAOC 


PCOMMON 


1389 


(761) 


SWCOPY 


PCOMMON 


1920 


(780) 


SWDS 


PCOMMON 


1922 


(782) 


SWEFILE 


PCSR 


2 


(2) 


SW FLUSH 


PCOMMON 


1920 


(780) 


SWGBLX 


PCOMMON 


1922 


(782) 


SWGVLST 


PGVHEAD 


6 


(6) 


SWINM 


PCOMMON 


1922 


(782) 


SWKT 


PCOMMON 


1922 


(782) 


SWLA 


PCOMMON 


1922 


(782) 


SWLASTKW 


KEYTAB 


6 


(6) 


SWMACRO 


PCOMMON 


1920 


(780) 


SWMATR 


MAC HEAD 


6 


(6) 


SWMGBL 


MACHEAD 


6 


(6) 


SWMH 


MACHEAD 


6 


(6) 


SWMINM 


MACHEAD 


6 


(6) 


SWMIOC 


PCOMMON 


1889 


(761) 


SWMKEYW 


MACHEAD 


6 


(6) 


SWN.OED 


PCOMMON 


1922 


(782) 


SWNOGEN 


PCOMMON 


1922 


(782) 


SWNOSTOR 


PCOMMON 


1922 


(782) 


SWOC 


PCOMMON 


1920 


(780) 


SWPMI1 


EDPMI 


6 


(6) 


SWPROTO 


PCOMMON 


1920 


(780) 


SWREPRO 


PCOMMON 


1920 


(780) 


SWSFILE 


PCSR 


2 


(2) 


SWSM 


PCOMMON 


1889 


(761) 


SWSMT 


SMTENT 





(0) 


SWSMTATR 


SMTENT 





(0) 


SWSMTGBL 


SMTENT 





(0) 


SWSMT INM 


SMTENT 





(0) 


SWSMTNED 


SMTENT 





(0) 


SWSMTNGN 


SMTENT 





(0) 


SWSMTNST 


SMTENT 





(0) 


SWSTART 


PCOMMON 


1963 


(7AB) 


SWSTR 


ERRENT 





(0) 


SWSUBST 


EDPMI 


6 


(6) 


SW2 


PCOMMON 


1963 


(7AB) 


* SYMADDR 


PCOMMON 


1996 


(7CC) 


SYMBREG 


PHYR 


2 


(2) 


SYMESDID 


PHYR 


5 


(5) 


SYM FLAGS 


PHYR 


2 


(2) 


SYMLATTR 


PHYR 


3 


(3) 


SYMLENG 


PHYR 


10 


(A) 


SYMNXT 


PHYR 


19 


(13) 


SYMSRC 


PHYR 


11 


(B) 


♦SYMVALUE 


PHYR 


7 


(7) 


SYM1C 


EPAR 


9 


(9) 


SYM1FLAG 


EPAR 





(0) 


SYM 11 


EPAR 


6 


(6) 


SYM1ITEM 


EDPMI 


10 


(A) 


SYM1K 


EPAR 


8 


(8) 


SYM1L 


EPAR 


2 


(2) 


SYM1S 


EPAR 


4 


<<*) 


SYM1T 


EPAR 


1 


(1) 


SYM2C 


EPAR 


5 


(5) I 


SYM2 FLAG 


EPAR 





(0) 


SYM2 ITEM 


EDPMI 


10 


(A) I 


SYM2K 


EPAR 


4 


W 


SYM2L 


EPAR 


2 


(2) 


SYM2T 


EPAR 


1 


(1) 


♦POINTER 









FIELD 



S1ITEMI 
S1 ITEMK 
S1ITEML 
S1 ITEMS 
S1 ITEM ST 
S1 ITEMT 
S2 ITEMK 
S2ITEML 
S2ITEMST 
S2 ITEMT 
TEXT 

THISELEM 
TYPEBC 
TYPECHAR 
TYPEEND 
TYPEER 
TYPEESD 
TYPEK 
TYPEKP 
TYPEOM 
TYPEPP 
TYPESDEF 
TYPESUBE 
TYPESUBS 
TYPES1 
TYPES2 
UN FLAG 
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 
WCTYPE 
VWCKD 



DSECT 



EDPMI 

EDPMI 

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 

MACHEAD 

PCOMMON 

VSD 

VSD 

ESDENTRY 

VSD 

PDCEDIT 

ESDENTRY 

WORKDTF 



DISPLACEMENT 
DECIMAL (HEX) 



15 

17 

11 

13 

18 

1C 

13 

1 1 

14 

10 

1 



1 1 

11 

11 

1 1 

2010 

11 

1 1 

11 

11 

1 1 

11 

11 

1 1 

11 



17 

17 

5 



4 











5 



5 





128 

96 



1982 

1993 

4 

2016 

3 

1982 

1 

31 

1985 

4 

3 





4 



96 



(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) 

(11) 

(11) 

(5) 

(0) 

(0) 

(0) 

(0) 

(0) 

(0) 

(5) 

(0) 

(5) 

(0) 

(0) 

(80) 

(60) 

(0) 

(7BE) 

(7C9) 

W 

(7E0) 
(3) 
(7BE) 

(1) 

(1F) 

(7C1) 

W 
(3) 
(0) 
(0) 

(0) 
(60) 



Data Areas 207 



FIELD 


DSECT 


DISPLACEMENT 






DECIMAL 


(HEX) 


VWDA 


WORKDTF 


128 


(80) 


VWDAT 


WORKDTF 


96 


(60) 


VWXTYPE 


ESDENTRY 





(0) 


VXRFEOB 


XRFENTRY 





(0) 


VXRFLIT 


XRFENTRY 





(0) 


WADCON 


WORKDTF 


162 


(A2) 


WCC 


WORKDTF 


56 


(38) 


WCCHH 


WORKDTF 


56 


(38) 


WCCHHR 


WORKDTF 


56 


(38) 


WCCW 


WORKDTF 


112 


(70) 


WCCW2 


WORKDTF 


120 


(78) 


WCHIEXT 


WORKDTF 


50 


(32) 


WCKD 


WORKDTF 


96 


(60) 


WCLOWEXT 


WORKDTF 


46 


(2E) 


WCNTCH 


WORKDTF 


144 


(90) 


WCNTCHR 


WORKDTF 


144 


(90) 


WCNTDL 


WORKDTF 


150 


(96) 


WCNTR 


WORKDTF 


148 


(94) 


WCOUNT 


WORKDTF 


144 


(90) 


WCSW 


WORKDTF 


4 


W 


WCURBLK 


WORKDTF 


56 


(38) 


WDA 


WORKDTF 


128 


(80) 


WDAT 


WORKDTF 


96 


(60) 


♦WDATAD 


WORKDTF 


121 


(79) 


♦WDATLEN 


WORKDTF 


126 


(7E) 


WDEVTYP 


WORKDTF 


29 


(1D) 


WEFFRLEN 


WORKDTF 


164 


(A4) 


WEOF 


WORKDTF 


4 


m 


WEXTLIM 


WORKDTF 


50 


(32) 


WFRST 


WORKDTF 


61 


(3D) 


WH 


WORKDTF 


59 


(3B) 


WILOWEXT 


WORKDTF 


42 


(2A) 


WIOCOMPL 


WORKDTF 


2 


(2) 


WLOWHEAD 


WORKDTF 


38 


(26) 


WMCOM 


WORKDTF 


160 


(A0) 


WMODAD 


WORKDTF 


16 


00) 


WMPCTY 


WORKDTF 


62 


(3E) 


WPCTY 


WORKDTF 


30 


(1E) 


WPNT 


WORKDTF 


61 


(3D) 


WREC 


WORKDTF 


60 


(3C) 


WRECLEN 


WORKDTF 


40 


(28) 


WTRKLM 


WORKDTF 


61 


(3D) 


WTRKPCYL 


WORKDTF 


167 


(A7) 


WUPHEAD 


WORKDTF 


39 


(27) 


WVER3FL1 


WORKDTF 


152 


(98) 


WVER3FL3 


WORKDTF 


153 


(99) 


WXTYPE 


ESDENTRY 





(0) 


W1 


WORKDTF 


3 


(3) 


W2 


WORKDTF 


3 


(3) 


W3 


WORKDTF 


3 


(3) 


♦POINTER 









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 



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 



DISPLACEMENT 
DECIMAL (HEX) 



18 

1982 

2016 

11 

2019 

2013 

1979 

13 





13 

8 

8 

11 



11 

12 





9 



11 

15 

11 

9 



15 

4 

4 

4 

4 



(12) 

(7BE) 

(7E0) 

(B) 

(7E3) 

(7DF) 

(7BB) 

(D) 

(0) 

(0) 

(D) 

(8) 

(8) 

(B) 

(0) 

(B) 

(C) 

(0) 

(0) 

(9) 

(0) 

(B) 

(F) 

(B) 

(9) 

(0) 

(F) 

(<U 

m 



n 



208 



(This page intentionally left blank*) 



^p*N, 



Data Areas 209 



(This page intentionally left blank.) 






210 



Diagnostic Aids 



Purpose of the Section 



This section contains information that may be 
useful in diagnosing problems within the 
assembler. The section includes the following 
information: 

• Debugging aids 

• 1/0 activity and workf ile 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 1 ' 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 main- 
tenance group. 



PROGRAM CHECK 

If the "First 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: 



4 



212 



Workfile 

1 
2 
3 



Workarea offset 

6A6 
6C9 
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: 



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. AIF statement , object module IPKDA. 



The AIF statement is part of the following macro definition: 





MACRO 






MAC1 


&PARM1 , &PARM2 , &PARM3 




LCLA 


&X,&Y,&Z,&A 




LCLB 


&M,&N,&B 




LCLC 


&QV&C, (50) 


&A 


SETA 


5 


&B 


SETB 


1 




AIF 


('ABC EQ ■ &C(&A)' AND &A*&B+1 LT &PARM2) .SEQSYM 


. SEQSYM 


ANOP 
MEND 





Following the instructions given in the previous section, we can 
find the record as it was written out by object module IPKDA: 



003904 2E240000 00040B0A 120F3811 
14030A0B 0C0A0001 00320000 03382900 00030400 021F1810 01160C00 0534241B 
12061C0E 1A1C2216 2F3A 



214 



We can interpret the record with the help of the record format for 
an AIF statement (see Appendix H f "Object Module IPKDA") . 



0039 

04 

2E 

24 

00 

00 

00040B0A120F3811 

14 

03 

0A0B0C "ABC" 

0A 

0001 

0032 

00 

0003 

38 

29 

00 

0003 

04 

0002 

1F 

18 

10 

01 

16 

0C 

0005 

34 

24 

1B 

12 

06 

1C0E1A1C22162F 

3A 



record length 
file flag 

pseudo opcode ("AIF") DSECT pcsr 
opcode extension (dummy) 
type flag 
flag A 

sequence field 

character string (see Appendix H) 
length 

(see Appendix H) 
LCLC dimensioned ("SC") 
SCs index 

maximum dimension of SA 
LCLA ("SA") 
"SA"s index 
subscript 
character EQ 
LCLA ("SA") 
"SA"s index 
LCLB ("SB") 
"SB"s index 
Boolean to arithmetic conversion 

* (multiplication) 
1-byte binary value 
value ("1") 

♦ (addition) 

positional parameter ("SPARM2") 

"SPARM2"s index 

binary parameter value 

arithmetic LT 

AND 

3-byte binary value 

length of sequence symbol 

"SEQSYM" 

AIF 



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 IPKJA. 
The constant is defined in the following coding: 

USING*, 5 
A DC F'0' 
SCON EQU* 
XYZ DC (SCON-A)SL(2*(L'A-3)) ( (SCON-A) /2 (L^+L 1 SCON) ) 

The statement is shown below as it is read in by object module 
IPKJA: 

003F 000B1300 00040121 2223030A 0D0C2E0E 281C0C18 
172A0A2D 1C152802 2B281530 0A2A032D 2D28281C 0C18172A 0A2D2C02 2815302B 
2915301C 0C18172D 2D 



Diagnostic Aids 215 



The record can be interpreted as follows 

003F record length 

00 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 

0A column pointer (source) 

0D0C -DC" 

2E length of operand field 

0E column pointer (source) 

281C0., . 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 6A000B00 00000400 
2F2F2F40 0A2F2F2F 2F2F2F2F 400A2F2F 
2F2F2F2F 2F2F2F03 1C0C1817 2F2F2F2F 
443B0635 352A3802 2C393634 35342939 



00000000 00060321 2223431C 0C18172F 
2F2F2F2F 2F031C0C 18172F2F 2F2F000A 
010D3535 2A394038 02353438 032A2B39 
3A 



The record can be interpreted as follows: 

006A record length 

00 file flag 

0B pseudo opcode (DC) 

00 opcode extension 

00 flag A 

0004 statement number 

0000 length attribute (not filled in until IPKKA) 

00 relocation attribute (not filled in until IPKKA) 

000000 location counter value (not filled in until IPKKA) 

06 number of symbol buckets 

03 length of name field 

212223 "XYZ" 



4 flag (symbol must be previously defined) 

3 length -1 of symbol 

1C0C1817 "SCON" 

2F2F2F2F four blanks 



symbol bucket 1 



4 flag (symbol must be previously defined) 

length -1 of symbol 

0A "A" 

2F2F2F2F2F2F2F blanks 



V symbol bucket 2 



4 flag (symbol must be previously defined 

length - 1 of symbol 

0A "A" 

2F2F2F2F2F2F2F blanks 



V symbol bucket 3 





3 

1C0C1817 

2F2F2F2F 



length -1 of symbol 

"SCON" 

blanks 



I symbol bucket 4 






216 



I 








length - 1 of symbol \ symbol bucket 5 
OA "A" 
2F2F2F2F2F2F2F blanks 



3 length - 1 of symbol \ symbol bucket 6 

1C0C1817 "SCON" 

2F2F2F2F blanks 

01 number of constant 

0D type flag (S-type address constant) 

35 symbol flag ("SCON") 

35 symbol flag ("A" — second bucket) 

2A - (subtraction) 

39 end of expression 

40 explicit length flag 

38 self-defining term <256 bytes 

02 "2" 

35 symbol flag ("A" — third bucket) 

34 length attribute 

38 self-defining term <256 bytes 

03 "3" 

2 A - (subtraction) 

2B * (multiplication) 

39 end 

44 DC exponent 

3B start of operand 

06 

35 symbol flag ("SCON" — fourth bucket) 

35 symbol flag ("A" — fifth bucket) 
2A - (subtraction) 

38 self-defining term <256 bytes 
02 "2" 

2C / (division) 

39 end of expression 

36 location counter value 

34 length attribute 

35 symbol flag ("SCON" — sixth bucket) 
34 length attribute 

29 ♦ (addition) 

39 end of expression 

3A end of operand 

Note that the expressions have been translated into reverse Polish 
notation and are of the form 

SCON A- 
2AL'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: v 



/"identifier 1 current 

/ ! release 

blank blank 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: 



PT 

module current 
name release 
number 



/ / 

/ . 






218 



I/O Activity and Workfile Layouts 



c 



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 :• 



y^ a note/point address 



v 

A 



A 
V 



an input operation 



an output operation 



both an input and output operation 



Diagnostic Aids 219 



MNA blocks 



WF3 



A 



PWRITE (IPKCC) 
\f PRE AD (IPKCC) 



Text output 

/\ 



WF2 



A 
D 

E 
R 


Source macros 


6 
c 

* 

A 


Open code 


| 




R 




\ 



A 



NPOCST 



NPEOTXT 2 



PPUTL (IPKCA, IPKCC, IPKCD) 



Figure 21. I/O Activity for ASSECA. 



■■'? 



220 



f 



WF3 



MNA 

blocks 1) 

» </- 



I 



I L 



First 

source 

macro 



A 



PWRITE f/PKDB) 
P\NR\TE/UPDATE(IPKDB) 



VSD SSD 

blocks blocks 

A KJ * 



MIB 



VSD 
blocks 



SSD 
blocks 



i i 



A 



r i 



-tt- 



A 



V 

PWRITE f/PKDB) 
PRE AD (IPKDA, 
IPKDB) 



V 

PWRITE (IPKDA) 
PRE AD (IPKDA) 



-it- 



Open 
code 



A 



A 



V 



I i 



A 



V 



PWRITE (IPKDB) PWRITE (IPKDB) P\NR\1E(IPKDA) 

PWRITE/UPDATE (IPKDB) PRE AD (IPKDA, PREAD(IPKDA) 

IPKDB) 



WF2 



V 





Text input 
















/ 




2) 


X 


H 

E 
A 
D 

E 


Source 



C 
S 

T 




Open 


> 


macros 


A 




code 


/^ 


R 




R 

T 






< 



NPOCSTART 



PGETL (IPKDAJPKDB) 



WF1 



A 



Text output 



PPUTL (IPKDAJPKDB) 



/ 




2) 




\ 


H 




O 
C 






/ 


E 
A 


Source macro source 


s 


Open code source 




\^ 


D 

E 
R 


and edited text 


T 
A 
R 

T 


and edited text 




$ 



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. 

Open code is processed only if conditional assembly statements are detected by IPKCA. 



Figure 22. I/O Activity for ASSEDA- 



Diagnostic Aids 221 



WF3 



MNA 
blocks 


MIB 


VSD 
blocks 




SSD 
blocks 


MIB 
r— f( 1) 


VSD 
blocks 




SSD 
blocks 




1 l 

1 i 
l i 
i i 


First 

source 

macro 


1 l 
l i 
i i 
1 i 




1 1 
1 1 

1 1 

1 1 


// 


Open 
code 


I I 
i i 

l i 




I I 
I I 
I I 
I I 


Source 
macros 












>> 








/A 


V 




V 


V 




, f NPTXT3 


J 


PREAD 




PREAD 


PREAD 




PREAD PPUTL 



WF2 



Source macros 
edited text 



Open code source 
and edited text 



t 



PPUTL 



SG 



NPOCST 



PPUTL 



WF2 



WF3 



2) 














Source macros 
(source) 


O 
C 
S 

T 
A 
R 

T 


Open code 
source 


H 

E 
A 
D 
E 
R 


Source macros 
edited text 


| 



V 



'V . 



A 



A 



NPOCST 



NPEOTXT2 



\ 



PPUTL 



Source macros 
(source) and edited text 



SMT 
blocks 

/ * v 



Open code source 
and edited text 



V 



NPSMT 




PGETL 



PGETL 



PREAD 
PWRITE 



1. If conditional assembly in open code. 

2. If no conditional assembly in open code. 

Figure 23. I/O Activity for ASSEEA. 






222 



( 



WF3 



MNA 



MIBs (not used) 
VSDs and SSDs 



Source macro source 




1) Edited source macros 



WF2 



I I 



I I I 

I ' I 



y 



Open code edited 
and source records 



V 



PGETL 



WF2 





Source macros 
(source) 






Edited source macros 




y ■" 




V 






i i i 

1 i i 

1 i i 
i i i 


Open code 


1 1 1 

1 1 1 

1 1 1 
1 1 1 








./I 







WF1 



V 



SMT blocks 
A. 



PREAD 



PGETL 




EDECK (optional) 



SYSPCH 



A 



PPUNCH 



1. If conditional assembly in open code. 

2. If no conditional assembly in open code. 

3. Note/point value from SMT. 

4. Note/point value from macro header. 

Figure 24. I/O Activity for ASSEGA. 



Diagnostic Aids 223 



MNA 
blocks 

A— 



Source macros (source) 



WF3 



Not used by 
ASSEFA 



ASSEGA error and 
statistics records 



ASSEFA error and 
statistics records 



PREAD 



NPTXT3 






PPUTL 



WF2 



1 ) Edited source macros 




PGETL 



Open code 
global array 



PGETL 



GSD,MND, MAV, blocks 



Open code edited 
and source records 



PREAD 
PWRITE 



2) 



Edited source macros GSD, MND, MAV blocks 



WF2 



Not used by 
ASSEFA 



/ 



Open 
code 
global 
array 



NPOCST 



1 



PGETL 



Open code 
edited and 
source records 




WF1 




PREAD 
Edited macros 



PPUTL 



PPUTL 



PWRITE 



SYSSLB 




PINPUT 



1. If conditional assembly in open code. 

2. If no conditional assembly in open code. 

3. Note/point value from SMT. 



PFIND 



Figure 25 • I/O Activity for ASSEFA/ 



/0 



224 



WF2 









Text input and output 






2) 


/" 




V 




Not used by 
ASSEHA 


O 
C 

S 
T 
A 
R 

T 


Open code source 
and edited text 


Not used 
by ASSEHA 



NPOCST 



/T 



PGETL. PPUTL 



WF3 



Not used by 
ASSEHA 


Source 
macros 
(source) 


ASSEGA 
error and 
statistics 
(source) 


ASSEFA 

error and 

statistics 

records 


O 
C 
S 
T 
A 
R 
T 


Open code source 
and edited text 


Not used 
by ASSEHA 



NPATTR 




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. 



Diagnostic Aids 225 



/- 



First edited macro 



Second.. 



MAV blocks 



WF1 



MAV 
ENTRY1 



Keyword 
table 



Global 
vector 



Edited text 



Open code 
global vector 



y v v v 



MAV 
ENTRY2 



PNPOCGV 



& 



"% 



-55- 



PGETL (IPKIA) 



^ wPMAVNP - y 

PGETL PGETL 

(IPKIA) (IPKIA) 



Source macros 



/~ 



WF2 



-Jf- 



Not used 

by 

ASSEIA 

s*- 



NPOCST 



Open code 
source and 
edited text 



»n 



% u 



-*5- 



2) 



-s* 



V 

PGETL #P/C/A> 



y 



NPOCST 



ss 



Open code 
source and 
edited text 



\ AT 



No source macros 



V 

PGETL(IPKIA) 



Open code 
source and 
edited text 



V 

PQEXLilPKIA) 



Sf 



5JU 



8* 



Open code 
source and 
edited text 



5$U 



V 

PGETUIPKIA) 



frf 



VF2 (continued) ajj cases 



Open 
'code 



Overflow dictionary blocks 



First i Second 



macro , macro 



i*7 

I I 



\..> I 



"V 



nth 



7 — 4 / / 7 

/ NPOUTER ' I NPOUTER / / Nl 



NPOUTER/ NPOUTER 

1st macro 2nd macro J I 3rd macro 

PREAD (IPKIA) 
PWRITE (IPKIA) 



NPOUTER 
nth + 1 



NPOUTER 
4th macro 



4S- 



WF3 



Not used 

by 
ASSEIA 



49 



Generated text 



7 



NPOCST 



t 



PPUTL (IPKIA, IPKIC) 

1. If conditional assembly in open code. 

2. If no conditional assembly in open code. 



Figure 27. I/O Activity for ASSEIA. 



■i 



226 



WF1 





/~~ 


Literal table blocks 










\ 




PUNCH and 

REPRO 

records 


1 1 1 1 1 1 

1 | 1 1 1 1 

1 1 1 > 1 1 
1 1 1 1 1 1 


Not used 
by ASSEJA 



It 



NPLITBEG 



PPUTL 



PREAD 
PWRITE 



FILE1NP 
FILE1NPR 



/ 



WF2 



PPUTL 



WF3 



PGETL 



Edited text output 




Source text input 




Figure 28. I/O Activity for ASSEJA. 



Diagnostic Aids 227 



WF1 



PUNCH and 

REPRO 

records 



Edited text, error 
and statistics 
records 



A 



PPUTL 



WF2 



Edited text, error 
and statistics 
records 



V 



PGETL 



WF3 







ASSEGA and 










ASSEFA 


Open 




Not used by 


Source 


error and 


code source 


ESDTABLE and 


ASSEKA 


macros 


statistics 
records 


and error 
records 


XREF records 



A 



V 

PREAD 
PWRITE 



1. If symbol table overflow occurs, workfile 1 and workfile 2 will exchange. 



Figure 29* I/O Activity for ASSEKA. 



^4 



228 



WF1 



PUNCH and 

REPRO 

records 



Edited text and 
error records 



V 

PGETL 



WF2 



Edited text and 
error records 



A 



PPUTL 



WF1 



Not used by 
ASSELA 



Source 
macros 



ASSEGA and 
ASSEFA 
error and 
statistics 
records 



Open code 
source and 
error records 



ESD table and 
XREF records 



A 



(XREF references if 
■-* overflow has occurred) 
PREAD 



1. If symbol table overflow occurred, workfile 1 and workfile 2 will be exchanged. 



Figure 30, I/O Activity for ASSELA, 



Diagnostic Aids 229 



-A*. 



WF1 



PUNCH and 
REPRO 



Literal pool overflow 
and litoral XREF 
references 



PGETL 



Input 



WF3 



by ASSEMA 



Sourea 
macros 
(tourca) 



ASSEGA and 
ASSEFA arror 
and statistics 
records 



Open coda 
source and 
error records 



ESD table 
and XREF 
Records 



/ 



ESDNP 



V 



PREAD 



Figure 31. I/O Activity for ASSEMA, 






230 



Error record output 
A 



WF1 



Not used by 
ASSEOA 



FILE1NPR 



1 



PPUTL 



dE 



Edited text input 



WF2 



Edited text and error records ; 



V 



PGETL 



RLD information 
(to ASSEQA) 



-at- 



WF3 



Not used by 
ASSEOA 



Source records and 
source error records 



RLD 
block 1 



RLD 
blocks 2 



-a- 



NPTXT3 



y 



V 



RLDNP 



PGETL 



ft 



PWRITE 



1. The statement in error is followed by one or more error records (if present). 



Figifre 32. I/O Activity for ASSEOA, 



Diagnostic Aids 231 



Input 



WF3 



Not used by 
ASSEQA 


Source 
macros 

(source) 


ASSEGA and 
ASSEFA error 
and statistics 
records 


Open code 
source and 
error records 


ESD table 
and XREF 
records 


RLD 
table 










/ 

RLDNP' 





V 



PREAD 



Figure 33. I/O Activity for ASSEQA. 



232 



WF1 



Literal pool 



NPLITBEG 



PREAD 



WF2 



BLKNP1 



/ft 



v 



PREAD 
PWRITE 



Not used by 
ASSERA, RB, RC 



Directory blocks 
(only if not an "in-storage" sort) 



INDNP 



A 



PWRITE 
PREAD 



XREF sorted substrings 
(only if not an "in-storage" sort) 



WF3 



Not used by 
ASSERA, RB, RC 



XREF records (from ASSEKA) 



XREFNP/ 



V 

PREAD 



Figure 34. I/O Activity for ASSERA, ASSERB, ASSERC. 



Diagnostic Aids 233 



Error record input 



WF1 




FILE1NP 



PGETL 



Figure 35. I/O Activity for ASSESA. 






234 



Register Usage for the Assembler 

The following table shows the standard register usage for the assembler. 
Check the program listings for deviations from standard usage. 



Register 


Name 


Usage 


o-i 








Work registers 


6 




RBRSAVE 




Used by interface routine PSAVE as a 
branch register 


7 




RPARM 




Used by some interface routines 


8 




RFILE 




Used by interface routines , points to 
the file control block 


9 




RINPT 




Input record pointer 


10 




ROUTPT 




Output record pointer 


11 




RBA 




First base register 


12 




RBB 




Second base register 


13 




RBIF 




Interface base register 


14 




RBR 




Branch register 


15 








Work register 


Note: 


Registers 0-15 


are equated to R0-R15. All register names 




are equated to 


a second register name or to R0-R15; thus 




all references 


to a specific register can be found by using 




the cross-reference dictionary. 



Figure 36. Register Usage. 



Diagnostic Aids 235 



^^Registers 

RoutinesN. 


RBRSAVE 


RPARM 


1 
RFILE 


RINPT 


ROUTPT 


RBR 


R15,R0,Rl 


PCALL 












X 




PCHECK 


X 




X 






X 




PCLOSI 






X 










PCLOSO 


X 


X 


X 




X 


X 




PFETCH 












X 




PFIND 


X 


X 3 








X 




PGETL 


X 




X 


X 




X 




PINPUT 


X 






X 




X 




PLOAD 












X 


X 


PNOTE 


X 2 


x 2 


X 






x 2 




POPSAVE 












x 




PPOINT 


X 


y 


X 






X 




PPRINT 


X 


X 








X 




PPUNCH 


X 


X 








X 




PPUTL 


X 




X 




X 


X 




PREAD 


X 


X 3 


X 






X 




PRETURN 












x 4 




PSAVE 


X 














PWRITE 


X 


X 3 


X 






X 




1 RFILE is not changed if the FILE parameter is not specified 

2 Not changed if the USE=GET parameter is specified 

3 Not changed if neither the PARM nor the ADDR parameter is 

specified 
4 Not changed if the NOPOP parameter is specified 



Figure 37, Registers Changed by Interface Routine Operation, 



% 



236 



Appendixes 



This section contains the following information: 

Appendix A* Diagnostic Message Number/Module/Diagram 
Cross-Reference 

Appendix B. Module/Entry Symbol/EXTRN Symbol Cross- 
Reference 

Appendix C. Macro and COPY Code Usage 

Appendix D. Element Formats 

Appendix E, Pseudo (Internal) Operation Codes 

Appendix F. Internal Character Set 

Appendix G. Edited Text Flags 

Appendix H„ Edited Statement Formats 

Appendix I. Statements Modifying Data Areas 

Appendix J- APAR Documentation for the Assembler 



Appendixes 2 37 



Appendix A: Diagnostic Message Number/Module/ 

Diagram Cross-Reference 



The following cross-reference list contains all the message numbers for 
the assembler (those marked "not used" are reserved for future use by 
the assembler). The list also contains the module (s) in which these 
messages might appear and the method-of-operation diagram (s) for the 
module (s) . For more detailed information about the messages see Guide 
to the DOS/VS Assembler . ~ 



Message 


Module 


Method of Operation 


Number 




Diagram 


IPK001 


IPKCA 


1.1.1 


IPK002 


IPKCA 


it 


IPK003 


IPKCA 


m 


IPK004 


IPKCA 


m 


IPK006 


IPKCA, IPKDA 


1.1.1, 1.1.2 


IPK005 


IPKCA, IPKDA, IPKDB 


1.1.1, 1.1.2 


IPK007 


IPKCA, IPKCC 




IPK008 


IPKCA, IPKDA 


lllll, 1.1.2 


IPK009 


IPKCA 




IPK010 


IPKCA 




IPKO 1 1 


IPKCA 


If 


IPKO 12 


IPKCA 


m 


IPKO 13 


IPKCA 


ft 


IPKO 14 


IPKCC 


n 


IPKO 15 


IPKCC 


ft 


IPKO 16 


IPKCC 


ft 


IPKO 17 


IPKCC 


*> 


IPKO 18 


IPKCC 


ft 


IPKO 19 


IPKCC 


if 


IPK020 


IPKCC 


ft 


IPK021 


IPKCC 


n 


IPK022 


IPKCC 


•f 


IPK023 


IPKCC 


ft 


IPK024 


IPKCC 


ft 


IPK025 


IPKCC 


N 


IPK026 


IPKCC 


ft 


IPK027 


IPKCC 


If 


IPK028 


IPKCC 


If 


IPK029 


IPKCC 


II 


IPK030 


not used 




IPK031 


IPKCD, IPKDB 


1-1.1, 1.1.2 


IPK032 


IPKCD 


1.1.1 


IPKO 3 3 


IPKCD 




IPK034 


IPKCD 




IPK035 


IPKCD 




IPK036 


IPKCD 




IPK037 


IPKCD 




IPK038 


IPKCD 




IPK039 


IPKCD 




IPK040 


IPKCD 




IPK041 


IPKCD 




IPKO 4 2 


IPKDA 


1.1.2 


IPK043 


IPKDA 




IPK044 


IPKDA 





Figure 38. Diagnostic Message Number/Module/Diagram Cross-Reference 
(Part 1 of 5) 






238 



( 



Message 


Module 


Method of 


Operation 


Number 




Diagram 




IPK045 


IPKDA 


1.1.2 




IPK046 


IPKDA 


n 




IPK047 


IPKDA 


m 




IPK048 


IPKDA 


N 




IPK049 


IPKDA 


M 




IPK050 


IPKDA 


ti 




IPK051 


IPKDA 


n 




IPK052 


IPKDA 


If 




IPK053 


IPKDA 


« 




IPK054 


IPKDA 


« 




IPK055 


IPKDA 


n 




IPK056 


IPKDA 


n 




IPK057 


IPKDA 


N 




IPK058 


IPKDA 


N 




IPK059 


IPKDA 


N 




IPK060 


IPKDA 


n 




IPK061 


IPKDA 


n 




IPK062 


IPKDA 


n 




IPK063 


IPKDA 


n 




1PK064 


IPKDA 


N 




IPK065 


IPKDA 


« 




IPK066 


IPKDA 


If 




IPK067 


IPKDA 


If 




IPK068 


IPKDA 


If 




IPK069 


IPKEA 


1.1.3 




IPK070 


IPKEA 


1.1.3 




IPK071 


IPKHA 


1.4 




IPK072 


IPKHA 


1.4 




IPK073 


IPKHA 


1.4 




IPK074 


IPKIA 


1.5 




IPK075 


IPKIA 


n 




IPK076 


IPKIA 


« 




IPK077 


IPKIA 


if 




IPK078 


IPKIA 


•f 




IPK079 


IPKIA 


ft 




IPK080 


IPKIA 


ft 




IPK081 


IPKIA 


« 




IPK082 


IPKIA 


M 




IPK083 


IPKIA 


m 




IPK084 


IPKIA 


n 




IPK085 


IPKIA 


n 




IPK086 


IPKIA 


M 




IPK087 


IPKIA 


m 




IPK088 


IPKIA 


N 




IPK089 


IPKIA 


If 




IPK090 


IPKIA 


If 




IPK091 


IPKIA 


" 




IPK092 


IPKIA 


If 




IPK093 


IPKIA 


If 




IPK094 


IPKIA 


If 




IPK095 


IPKIA 


If 




IPK096 


IPKIA 


ff 




IPK097 


IPKIA 


If 




IPK098 


IPKIA 


If 




IPK099 


IPKIA 


If 




IPK100 


IPKIA 


ff 




IPK101 


IPKIA 


m 




IPK102 


IPKIA 


n 





Figure 38. Diagnostic Message Number /Module/Diagram Cross-Reference 
(Part 2 of 5) 



Appendix A: Diagnostic Message Number/Module/Diagram XREF 2 39 



Message 


Module 


Method of 


Operation 


Number 




Diagram 




IPK103 


IPKIA 


1,5 




IPK104 


IPKIC 


N 




IPK105 


IPKIC 


« 




IPK106 


IPKIG 


N 




IPK107 


IPKIA 


N 




IPK108 


IPKIA 


m 




IPK109 


IPKJA 


M 




IPK110 


IPKJA 


m 




IPK111 


IPKJA 


« 




IPK112 


IPKJA 


N 




IPK113 


IPKJA 


M 




IPK114 


IPKJA 


Ml 




IPK115 


IPKJA 


M 




IPK116 


IPKJA 


« 




IPK117 


IPKJA 


n 




IPK118 


IPKJA 


N 




IPK119 


IPKJA 


N 




IPK120 


IPKJA 


N 




IPK121 


IPKJA 


If 




IPK122 


IPKJA 


H 




IPK123 


IPKJA 


n 




IPK124 


IPKJA 


N 




IPK125 


IPKJA 


n 




IPK126 


IPKJA 


n 




IPK127 


IPKJA 


n 




IPK128 


IPKJA 


n 




IPK129 


IPKJA 


n 




IPK130 


IPKJA 


n 




IPK131 


IPKJA 


N 




IPK132 


IPKJA 


m 




IPK133 


IPKJA 


N 




IPK134 


IPKJA 


fl 




IPK135 


IPKKA, IPKLA 


2.2 # 2.3 




IPK136 


IPKKA,IPKLA 


2.2, 2.3 




IPK137 


IPKKA 


2.2 




IPK138 


IPKKA 


2.2 




IPK139 


IPKKA 


M 




IPK140 


IPKKA 


* 




IPK141 


IPKKA 


« 




IPK142 


IPKKA 


fl 




IPK143 


IPKKA 


fl 




IPK144 


IPKKA, IPKLA 


2.2, 2.3 




IPK145 


IPKKA, IPKLA 


2.2, 2.3 




IPK146 


IPKKA 


2.2 




IPK147 


IPKKA 


•f 




IPK148 


IPKKA, IPKLA 


£••/+§ /* . J 




IPK149 


IPKKA 


2.2 




IPK150 


IPKKA 


N 




IPK151 


IPKKA 


M 




IPK152 


IPKKA 


fl 




IPK153 


IPKKA 


W 




IPK154 


IPKKA 


•I 




IPK155 


IPKKA 


N 




IPK156 


IPKLA 


2.3 




IPK157 


IPKLA 


2.3 




IPK158 


IPKNA 


2.4 




IPK159 


IPKNA 


If 




IPK160 


IPKNA 


2.4 





Figure 38. Diagnostic Message Number/Module/Diagram Cross-Reference 
(Part 3 of 5) 



4 



240 



Message 


Module 


Method of Operation 


Number 




Diagram 


IPK161 


IPKNA 


2.4 


IPK162 


IPKNA 


ft 


IPK163 


IPKNA 


ff 


IPK164 


IPKNA 


H 


IPK165 


IPKNA 


N 


IPK166 


IPKNA 


If 


IPK167 


IPKNA 


tt 


IPK168 


IPKNA 


ft 


IPK169 


IPKNA 


ft 


IPK170 


IPKNA 


tt 


IPK171 


IPKNA 


tt 


IPK172 


IPKNA 


If 


IPK173 


IPKNA 


If 


IPK174 


IPKNA 


ft 


IPK175 


IPKNA 


M 


IPK176 


IPKNA 


If 


IPK177 


IPKNA 


ft 


IPK178 


IPKNA 


If 


IPK179 


IPKNA 


ff 


IPK180 


IPKNA 


If 


IPK181 


IPKNA 


If 


IPK182 


IPKNA 


ft 


IPK183 


IPKNA 


ft 


IPK184 


IPKOA 


2.6, 2.7.1 


IPK185 


IPKOA 


2.6, 2.7.1 


IPK186 


IPKOA 


2.6, 2.7.1 


IPK187 


IPKOA 


2.6, 2.7.1 


IPK188 


IPKOA 


2.6, 2.7.1, 2.4.3 


IPK189 


IPKOA, IPKNB 


2.6, 2.7.1, 2.4.3 


IPK190 


IPKNA 


2.4.3 


IPK191 


IPKNB 


tt 


IPK192 


IPKNB 


ti 


IPK193 


IPKNB 


tt 


IPK194 


IPKNB 


tt 


IPK195 


IPKNB 


tt 


IPK196 


IPKNB 


tt 


IPK197 


IPKNB 


it 


IPK198 


IPKNB 


tt 


IPK199 


IPKNB 


ft 


IPK200 


IPKPA 


2.7 


IPK201 


IPKPA 


tt 


IPK202 


IPKPA 


n 


IPK203 


IPKPA 


n 


IPK204 


IPKPA 


tt 


IPK205 


IPKPA 


tt 


IPK206 


IPKPA 


tt 


IPK207 


IPKPA 


tt 


IPK208 


IPKPA 


tt 


IPK209 


IPKPA 


ft 


IPK210 


not used 


ft 


IPK211 


IPKPA 


ft 


IPK212 


IPKPA 


ft 


IPK213 


IPKPA 


tt 


IPK214 


IPKPA 


ff 


IPK215 


IPKPA 


ft 


IPK216 


IPKPA 


ft 


IPK217 


IPKPA 


ft 



Figure 38. Diagnostic Message Number/Module/Diagram Cross -Reference 
(Part 4 of 5) 



Appendix A: Diagnostic Message Number /Module/Diagram 241 



Message 


Module 


Method of 


Operation 


Number 




Diagram 




IPK218 


IPKPA 


2.7 




IPK219 


not used 






IPK220 


not used 






IPK221 


not used 






IPK222 


not used 






irK223 


not used 






IPK22U 


not used 






IPK225 


not used 






IPK226 


not used 






IPK227 


not used 






IPK228 


not used 






IPK229 


not used 






IPK230 


IPKBA 


3 




IPK231 


IP KB A 


3 




IPK232 


IPKBA 


3 




IPK233 


IPKBA 


3 




IPK234 


IPKBA 


3 




IPK235 


IPKBA 


3 




IPK236 


IPKBA 


3 




IPK237 


not used 






IPK238 


not used 






IPK239 


not used 






IPK2U0 


IPKFA 


.1.3 




IPK241 


IPKFA 


n 




IPK242 


IPKFA 


N 




IPK243 


IPKFA 


it 




IPK244 


IPKFA 


•• 




IPK2 45 


IPKFA 


M 




IPK2 46 


IPKFA 


If 




IPK247 


IPKFA 


** 




IPK2U8 


IPKFA 


II 




IPK2 49 


not used 






IPK2 50 


IPKGA 


1.2 




IPK251 


not used 






IPK252 


not used 






IPK253 


not used 






IPK2 54 


not used 






IPK255 


not used 







Figure 38. Diagnostic Message Number/Module/Diagram Cross-Reference 
(Part 5 of 5) 



4 
X... 



242 



Appendix B: Module/Entry Symbol/EXTRN Symbol 

Cross-Reference 



The following cross-reference list contains all the Entry symbol numbers 
and EXTRN symbol numbers used by the modules of the assembler. 



I 



Module 


Entry Symbol 


EXTRN Symbol 


IPKAA 


IPKAA101-103 


IPKBG001 




IPKAA50 1-509 


IPKAA002 




IPKAA5 11-12 


IPKAI101 


IPKAB 


IPKAB101-103 


IJJCPDV2 
IPKAD100 


IPKAC 


IPKAC100-101 


IJJCPDV 


IPKAD 


IPKAD101 


IJJCPD3 
IPKAB103 


IPKAE 


IPKAE101-103 


IPKAD100 


IPKAF 


IPKAF 100- 102 


IJJCPDV 
IJJCPDV1 


IPKAH 


IJJCPDV1 




IPKAI 


IPKAI 100- 101 


IJJCPDV1 


IPKBA 




IPKCD999 

IPKDB999 

IPKEA999 

IPKFA999 

IPKIC999 

IPKJA999 

IPKKA999 

IPKNA999 

IPKPA999 

IPKAAOOO 

IPKAA101-103 

IPKAB100-102 

IPKAD101 


IPKCA 


IPKCA998 


IPKCB001 




IPKCA210 


IPKCC203 
IPKCD203 


IPKCB 


IPKCB001 
IPKCB999 




IPKCC 


IPKCC203 


IPKCA998 




IPKCC999 


IPKCA210 
IPKCD203 


IPKCD 


IPKCD203 


IPKCA998 




IPKCD999 


IPKCA210 


IPKDA 


IPKDA203 
IPKDA999 


IPKDB203 


IPKDB 


IPKDB203 
IPKDB999 


IPKDA203 


IPKEA 


IPKEA999 




IPKFA 


IPKFA999 


IPKAE101-103 


IPKGA 




IPKAC100-101 


IPKIA 


IPKIA201 


IPKIC201 




IPKIA999 


IPKIC999 


IPKIC 


IPKIC201 


IPKCB001 




IPKIC999 


IPKIA201 


IPKJA 


IPKJA001 
IPKJA999 




IPKKA 


IPKKA999 




IPKLA 


IPKLA001 


IPKNA001 




IPKLA002 


IPKNB100 
IPKNB200 



Figure 39 • Module/Entry Symbol/EXTRN Symbol Cross-Reference (Part 1 of 2) 

Appendix B: Module/Entry/EXTRN XREF 243 



Module 


Entry Symbol 


EXTRN Symbol 


IPKNA 


IPKNA001 
IPKNA999 
IPKNB100 
IPKNB200 


IPKLA002 


IPKMA 




IPKAF100-102 
IPKAI100 


IPKOA 


IPKOA100 


IPKPA100 




IPKOA200 


IPKPA200 




IPKOA999 


IPKPA250 
IPKPA300 
IPKPA350 


IPKPA 


IPKPA 100 


IPKOA100 




IPKPA200 


IPKOA200 




IPKPA250 






IPKPA300 






IPKPA350 






IPKPA999 




IPKQA 




IPKAF101-102 


IPKRA 


IPKRA100 


IPKRA001 




IPKRA200 


IPKRA100 




IPKRA999 


IPKRA200 
IPKRA999 


IPKRB 


IPKRB 100 


IPKRA001 




IPKRB200 


IPKRA100 




IPKRB999 


IPKRA200 


IPKRC 


IPKRC 100 


IPKRA001 




IPKRC200 


IPKRA 100 




IPKRC 999 


IPKRA200 


IPKSA 


IPKSA999 


IPKSB 100 


IPKSB 


IPKSB 100 


IPKAI100 




IPKSB999 


IPKAJ0O0 


IPKTA 




IPKAA101-103 

IPKAB100 

IJJCPD1N 



Figure 39. Module/Entry Symbol/EXTRN Symbol Cross-Reference 
(Part 2 of 2) 



4~ 



244 



[ 



Appendix C: Macro and COPY Code Usage 



This appendix describes the internal macro instructions and COPY code 
used by the assembler. The figure describing macro usage lists the 
object modules in which the instructions appear , gives a short 
functional description of the macro , and illustrates the instruction 
formats. The figure showing COPY code usage contains the object modules 
using the COPY books and a short description of the COPY book's 
contents. 



Macro Name 


Used By 


Description 


BACK 


IPKCA 
IPKCC 


Decrements a register by one. 
Format: [namel BACK oondl 
where opndl specif ies a register 


BUMPP 


All modules 

except 

IPKAC-AI 

IPKRA-RC 

IPKNA IPKPA 

IPKOA 

IPKSA-SB 


Adds to opndl the value specified in expn. 

Format: fnamel BUMP opndl, expn 

where opndl specifies a register 

expn is any valid expression allowed in the 
operand field of an EQU statement 


CHECK* 


IPKAA 


Waits (if necessary) for the completion of a READ or 
WRITE operation and detects any errors or exceptional 
conditions. 


CLOSE* 


IPKGA IPKSB 
IPKQA IPKTA 


Deactivates any file that was previously opened in any 
input/output unit in the system. 


COMRG* 


IPKBA 
IPKFA 
IPKPA IPKSB 


Allows the problem program to communicate with the 
supervisor by placing the address of the appropriate region 
in register 1. 


CPMOD* 


IPKAG IPKTA 
IPKAH 


Device-independent logic module. For a description of this 
macro see DOS/VS LIOCS Vol. 2 SAM Logic, Order No. 
SY33-8560. 


* system macro 



Figure 40. Macro Usage (Part 1 of 10) 



Appendix C: Macro and Copy Code Usage 245 



Macro Name 


Used By 


Description 


DBV 


IPKKA 


Symbols declared by a DBV macro may be set and interrogated 
with the SET and GOIF macros. DBV is used to reserve one byte 
of storage and to assign symbolic values with that byte. 

Format: fnamel DBV fsyml(expl)l |,sym2(exp2)l 

where symn is any valid symbol up to seven characters 

expn is any valid expression allowed in the operand 

field of an EQU statement 


DEFSTACK 


IPKJA 


Defines an error stack. 

Format: fnamel DEFSTACK opndl, opnd2,opnd3=n3,opnd4=n4 

where opndl defines the name of the generated stack 

opnd2 defines the register used as base register for the 

stack 

opnd3=n3 where n3 specifies the length of each entry 

in the stack 

opnd4=n4 where n4 specifies the number of entries in 

the stack 


DSW 


all modules 

except 

IPKAD 

IPKAG 

IPKAH 


A switch must be declared with a DSW macro prior to its use in 
a GOIF or SET macro. If no name is specified/ a name is 
generated internally. The resulting code is a one byte DC X'OO' 
with equates for the declared switches. 
Format: [name] DSW [swl] [,sw2] ... [,sw8] 
where swn is from 1 to 8 switches; omitted operands result 
in unused bytes 


DTFCP* 


IPKAB IPKAI 
IPKAC IPKTA 
IPKAF 


DTF for device-independent files. For a description of this 
macra see DOS/VS LIOCS Vol. 2 SAM Logic, Order No. 
SY33-8560. 


DTFSD* 


IPKAA 


Defines central processing for a file contained on a DASD. 


DTFSL* 


IPKAD 


Retrieves books (macros or COPY code) from the system and/or 
private source statement library (SYSSLB). 


EOJ* 


IPKSB 
IPKTA 


Informs the system that a job step is finished. 


EXCP* 


IPKAA 


Requests physical IOCS to start an I/O operation for a 
particular device. 


FIMDSL* 


IPKAB 
IPKAE 


Searches the system and private library directories for a 
specif ied book name. 


GET* 


IPKAB 
IPKAE 


Reads logical records. 


GETIME* 


IPKPA 


Obtains the time of day during program execution. 


GETSL* 


IPKAE 


Reads a block of books and expands compressed core image. 


GOEOP** 


IPKDA 


If the end of the input string is encountered, a branch is made in 
the pseudo-op table to the entry designated by opndl. Otherwise, 
the next sequential pseudo-op entry is read. Generates 
a two-byte DC in the pseudo-op table. 
Format: [name] GOEOP opndl 


* system macro 
** source macro 






Figure 40. Macro Usage (Part 2 of 10) 
246 



Macro Name 


Used By 


Description 


GOIF 


all modules 

except 

IPKAD 

IPKAE 

IPKAG 

IPKAH 


Generates conditional branch logic. 
Format: [namel GOIF opndl [,opnd21 f,condl=locll 
[,cond2=loc2] ... MODE^iA) 

where opndl may be a switch or a sublist of switches declared 
in a DSW macro; a symbolic value defined by a DBV 
macro; a register (in parentheses); or a storage address. 
opnd2 may be a value that can be used as an immediate 
operand in an SI instruction; a register (in parenthesis); 
or a storage address 

condn may be one or more keywords of appropriate 
type 

locn may be a register (in parenthesis); or a 
storage address 


GOIFCAR** 


IPKDA 


Compares the current character in the input string (pointed to 
by register 9) with the character designated by opndl. If they 
match, a branch is made in the pseudo-op table to the entry 
designated by opnd2. On a mismatch, the next sequential 
pseudo-op entry is read. Generates a two-byte DC in the pseudo- 
op table. 
Format: [name] GOIFCAR opndl, opnd2 


GOIFCAT** 


IPKDA 


Compares the input string category (pointed to by register 9) 
with the string designated by opndl. If they match, a branch 
is made in the pseudo-op table to the entry designated by opnd2. 
On a mismatch, the next sequential pseudo-op entry is read. 
Generates a two-byte DC in the pseudo-op table. 
Format: [namel GOIFCAT opndl f opnd2 


GOSYNGT** 


IPKDA 


Compares the current operand syntax code with the syntax code 
designated by opndl. If the current syntax code is the greater 
of the two, a branch is made in the pseudo-op table to the entry 
designated by opnd2. Otherwise, the next sequential pseudo-op 
entry is read. Generates a two-byte DC in the pseudo-op table. 
Format: f namel GOSYNGT opndl ,opnd2 


LOAD* 


IPKBA IPKJA 
IPKDB IPKKA 
IPKIA 


Loads a phase or program segment and returns control to the 
caller. 


NOTE* 


IPKAA 


Obtains the relative position of the last physical record that was 
read or written from a specific file. 


IMTSL* 


IPKAB 


Computes record displacement in a block and disk address of the 
last block read; it then stores the data in a specified register. 


OPDEF** 


IPKCB 


Generates entries in the opcode table. 
Format: f namel OPDEF [parameter list] 


OPEN* 


IPKBA IPKMA 
IPKGA IPKTA 


Activates files for processing. 


♦system macro 
♦♦source macro 



Figure 40. Macro Usage (Part 3 of 10) 



Appendix C: Macro and Copy Code Usage 247 



Macro Name 



PCALL 



PCHECK 



PCLOSI 



PCLOSO 



PCSECT 



PENTRY 



PEXTRN 



Used By 



all modules 
except 
IPKAB-AH 
IPKTA 



all modules 
except 

IPKAB-AI IPKNA 

IPKBA IPKOA 

IPKHA IPKPA 

IPKKA IPKSA 

IPKLA IPKSB 



IPKFA 
IPKGA 
IPKHA 
IPKSB 



all modules 

except 

IPKAA-AH IPKKA 

IPKBA IPKCC 

IPKGA IPKMA 

IPKRA-RC IPKIC 

IP'KQA 



all modules 



all modules 

except 

IPKAG IPKMA 

IPKAH IPKHA 

IPKGA IPKTA 

IPKQA 



all modules 

except 

IPKAC 

IPKAF-AI 

IPKHA 

IPKNA 



IPKOA 
IPKSA 
IPKSB 



Description 



Generates a BAL or BALR with RBR as a return register. 
Format : [name] PCALLf symbol \ 
((register) J 



Waits for completion of a PRE AD or PWRITE operation. If the 
operation completed without error, PCHECK returns control to 
the next instruction. 

Format : [name] PCHECK [FILE= iFILEn \ 

uregister)> 
L l( RFILE )) 

where FILE is either FILEn (where n=1,2, or 3) or a register 
containing the address of PF I LEn 



Sets a switch which indicates that the file is closed. PCLOSI 
must be used when an input file is not read to end-of-file. 
Format : [name] PCLOSI [FILE= i FILEn f 

< (register) > 
L (( RFILE )) 

where FILE is the same as for PCHECK 



Issues an end-of-file record (a field with a record !ength=2) and 

closes the file. A corresponding OPEN does not exist; the file 

is opened with the first PPUTL. 

Format: [name] PCLOSO fFILE= |FILEn |" 

< (register) > 
( (RFILE )) 

where FILE is the same as for PCHECK 



Defines a control section. 

Format : PCSECT ((xxnnn=sym)V 

l(xxnnn) J 

where xxnnn are the five characters that will be concatena- 
ted to the component identification to form an 
entry point name, xx must be the same as the 
PH ASE ID specified in the PHEAD macro, nnn is a 
three-digit number. 

sym is any symbol which the user wishes to equate to 

the entry point name 
The alternate form "xxnnn" can be used to resume control 
sections or to define a control section without an equated name 



Defines an entry point. 

Format : PENTRY (xxnnn=sym) 

where xxnnn and sym are the same as for PCSECT 



Defines an external reference. 

Format : PEXTRN (xxnnn=sym) 

where xxnnn and sym are the same as for PCSECT 



Figure 40. 
248 



Macro Usage (Part 4 of 10) 



X, 



Macro Name 


Used By 


Description 


PFETCH 


all modules 
except 

IPKAA-AI IPKTA 
IPKSB 


Loads the phase into core and then branches to its entry point. 

All registers, except RBR, are saved. 

Format: fnamel PFETCH xy 

where xy is the name of the phase to be fetched 


PFIND 


IPKCD 
IPKFA 


Finds a macro or COPY code in SYSSLB. If the book is not 
found, switch PNOPKSW is turned on. 
Format: [name] PFIND [ADDR=/addr VI 

/(register) > 
1 ((RPARM)) 
where ADDR is a nine-byte field made up of a sub library 
initial or a left adjusted name padded with blanks; it 
is in.EBCDIC 


PGETL 


all modules 

except 

IPKAA-AI IPKQA 

IPKBA IPKKA 

IPKRA-RC 


Returns the address of the next logical record in register RINPT. 
When end-of-file is encountered, PGETL branches to the address 
of the file control block with offset PEOF. 
Format: [namel PGETL [FILE=/FILEn fl 

< (register); 
L ((RFILE)) 
where FILE is the same as for PCHECK 


PHEAD 


all modules 


Generates a control section statement, a PUNCH statement, a 

TITLE statement, and a status MNOTE. 

Format: PHEAD ((xxnnn=sym) ) , 'heading' 
((xxnnn) / 

where xxnnn and sym are the same as for PCSECT. xx is the 
two-character identification assigned to the module 
heading is the information that is to appear in the 
TITLE statement, excluding the module identification. 


PINPUT 


IPKBA IPKCC 
IPKCA IPKFA 
IPKCD IPKTA 


Reads a record from SYSIPT or SYSSLB and points a register 

(RINPT) to the location of that record. PINPUT keeps track of 

the COPY nesting depth: 

If the depth is zero (no nesting) , PINPUT reads records from 
SYSIPT. When EOF is read, PINPUT sets the PINEOFSW 
switch. When end-of-book is read, PINPUT sets PEOBSW. 
If the depth is not zero, PINPUT reads from SYSSLB. 
When EOF is read, PINPUT sets both PLBEOFSW and 
PEOBSW. 

Format: [namel PINPUT 


PMODID 


all modules 


Generates an embedded identifier consisting of eight characters: 
module name and release. 
Format: PMODID 



Figure 40. Macro Usage (Part 5 of 10) 



Appendix C: Macro and Copy Code Usage 24 9 



Macro Name 


Used By 


Description 


PNOTE 


all modules 


Notes the address of a logical record. It may only be executed 




except 


after a PPUTL, PGETL, PCHECK, or PCLOSO. _ 




IPKAB-AI IPKNA 


Format: [namel PNOTE 


FILE= pILEn V 






IPKBA IPKPA 




uregisters)> , 






IPKSA-SB 




l(RFILE) ) 








NOTEVAL=sym, 


USE 


= GET \ 
PUT 1 
READ 
WRITE \ 








readnext/ 








, PARM= (address 1 










< (register) > 










L ((RPARM)j 








where FILE is the same as for PCH EG K 






NOTEVAL is the location where the assembler service 






routines shall position the workfile for the next read 






or write. 






USE specifies the operation to be performed. 






USE=READNEXT is used after a PWRITE in order to 






read the block that is to be written next. 






PARM must be used with USE=READNEXT and 






must specify a field containing the block length of the 






next block to be written. This field has the same 






layout as the field used by PRE AD. 


POINTR* 


IPKAA 


Repositions a file so that the next reading operation involves a 
record previously identified by a NOTE macro instruction. 


POINTS* 


IPKAA 


Repositions a file to the first record. 


POPP 


IPKAA 


Moves the top entry from a stack into a specified area. 




IPKLA 


Format: [name] POPPopndl,opnd2 

where opndl specifies the name of a stack defined by a 

DEFSTACK statement 

opnd2 specifies the address to which the top element 

of the stack should be moved 




IPKAA IPKKA 




POPSAVE 


IPKDA IPKNA 


Removes the top element from the save stack. 




-IPKFA IPKOA 


Format: [namel POPSAVE [RESET] 




IPKJA IPKRA 


where RESET initializes the stack 


PPATCH 


all modules 


Generates a DS constant with a length computed with the 
parameters specified. If neither PERCENT nor MIN is specif ied, 
the default is PERCENT=5. 
Format: [name] CSECT name, CSECT length 
[*,PERCENT= ( p V~| [MIN=m] 

where CSECT name is the name of the CSECT that will 
contain the patch area 

CSECT length is the length of the CSECT in bytes 
PERCENT=p is the size of the patch area in percent 
of the CSECT length 
MIN=m is the size of the patch area in bytes 


* system macro 



Figure 40. Macro Usage (Part 6 of 10) 



^ 



250 



[ 



Macro Name 


Used By 


Description 


PPOINT 


all modules 


Causes an assembler service routine to position the file to the 




except 


location specified on the workf ile. 




IPKAB-AI 


Format: [namel PPOINT 


FILE=(FILEn \ 
< (register) > i 
((RFILE)) 

ADDR=/ address y 
/(register) \ 
((RPARM)) 










OFFSET= /address \ " 










) (register) > , 










((ROFFS)) 








NEXT= / GET \ 






I PUT 1 






READ 






WRITE! 






1 start) 






where FILE is the same as for PCHECK 






ADDR is the address of the NOTE value 






OFFSET is the number of bytes from the NOTE value 






NEXT specifies the operation to be performed. If 






NEXT=START / the file is positioned to the beginning 






and ADDR is not necessary 


PPRINT 


IPKMA IPKRA 


Operates in move mode and prints a line with the control 




IPKPA IPKSA 


number in the first byte. 




IPKQA IPKSB 


Format: f namel PPRINT 


ADDR= (address \~ 
J (register) > 
((RPARM)) 








where ADDR is the address of the line to be printed 


PPUNCH 


IPKMA IPKQA 


Operates in move mode and punches a card and/or writes on the 




IPKPA 


link file. 






Format: [name] PPUNCH 


SEQ= (YES) ,| 
INO /J 














ADDR= (address )1 








< (register) > 








((RPARM)) J 






where SEQ=YES columns 1-72 are in external format and 






columns 73-80 are to be sequenced 






SEQ=NO columns 1-80 are in external format and no 






sequencing is done 






ADDR is the address of the card image 


PPUTL 


all modules 


Returns an address (in ROUTPT) pointing to the location where 




except 


the next physical record can be built. The record is considered 




IPKAA-AI 


complete when another request is made for that file (another 




IPKBA 


PPUTL or PCLOSO). 


_ 






IPKKA 


Format: [namel PPUTL 


FILE=(FILEn ) 






IPKRA-RC 




< (register) ; 






IPKMA 




((RFILE)) 






IPKQA 




L J 






IPKSA 


[,NEWTRK=YESJ 




IPKSB 


where FILE is the same as for PCHECK 

NEWTRK makes the file start on a new track 



Figure 40. Macro Usage (Part 7 of 10) 



Macro and Copy Code Usage 251 



Macro Name 



PREAD 



PRETURN 



PSAVE 



PTSL* 



PUSHP 



pirn 



PWRITE 



Used By 



all modules 

except 

IPKAB-AI 

IPKBA 

IPKHA 

IPKKA 

IPKLA 



IPKNA 
IPKOA 
IPKPA 
IPKSA 
IPKSB 



all modules 
except 

IPKAD IPKAH 
IPKAG IPKTA 



all modules 
except 

IPKAD IPKAH 
IPKAG IPKTA 



IPKAB 



IPKKA 
IPKLA 



IPKAC 


IPKAI 


IPKAF 


IPKTA 


all modules 


except 




IPKAB-AI IPKMA 


IPKBA 


IPKQA 


IPKGA 


IPKNA 


IPKHA 


IPKPA 


IPKKA 


IPKSA 


IPKLA 


IPKSB 



Description 



Causes an assembler service routine to read a physical record 

from a file. 

Format: [name] PREAD FILE= (FILEn ) 

< (register) V, 

( (RFILE )) 

PARM= /address V 
/(register) > 
f( RPARM )). 

where FILE is the same as for PCHECK 

PARM is the address of a parameter table in which the 
first three bytes specify the location of the buffer and 
the following two bytes specify the number of bytes 
to be read 



Loads the branch register (RBR) from the push-down save area 
and then branches on RBR. 
Format : [name] PRETURN [NOPOP] 
where NOPOP causes PRETURN to generate a branch on 
RBR 



Saves the branch register (RBR) of the calling program in a 
push-down save area and returns control to the caller. 
Format: [name] PSAVE 



Restores the disk address of the last block read, reads the block, 
and then computes the address of the record to be processed in 
the block. 



Moves information into the stack. 

Format : [name] PUSHP opndl,opnd2 

where opndl specifies the name of a stack defined by a 

DEFSTACK statement 

opnd2 points to the area containing the information 

which should be moved to the stack 



Writes logical records onto a file. 



Causes an assembler service routine to write a physical record 
on the file. 

Format : [name] PWRITE pFILE= (FILEn 1 ' 

< (register) V , 
( (RFILE )) - 
PARM= /address Y 
1 (register) \ 
( ( RPARM )j, 

where FILE is the same as for PCHECK 

PARM is the address of a parameter table in which the 
first three bytes specify the location of the buffer and 
the following two bytes specify the length of the record 



* system macro 



Figure 40. Macro Usage (Part 8 of 10) 



4 



252 



Macro Name 


Used By 


Description 


READ* 


IPKAA 


Reads the next sequential physical record from a file. 


RESTSECT 


all modules 
except 

IPKAD IPKAH 
IPKAG 


Restores the control section name. RESTSECT generates a 
CSECT statement. The name field is generated from a global 
variable set symbol by SAVESECT. 
Format: RESTSECT 


SAVESECT 


all modules 
except 

IPKAD IPKAH 
IPKAG 


Saves the current control section name. SAVESECT stores a 
&SYSECT in a global SETC variable. D indicates that the 
control section is a DSECT. 
Format: SAVESECT fDI 


SEGM** 


IPKCB 


Generates start and end of opcode table segments and creates 
an offset table to the various segments. 
Format: SEGM (a character) 

J END > 

(SEGTAB ) 
where SEGTAB is the offset table 


SET 


all modules 
except 

IPKAD IPKAI 
IPKAG IPKSA 
IPKAH 


The second operand specifies that the switch (es) should be 

turned ON, OFF, or FLIP. 

Format: fnamel SETopndl, (ON ) 

I OFF > 

I FLIP ) 

where FLIP is used to change the status of the switch (es) 


SETSYN** 


IPKDA 


Sets the current syntax code to the value designated by opndl. 
Generates a two-byte DC in the pseudo-op table. 
Format: [label] SETSYN opndl 


STACKER** 


IPKDA 


Sends an operator and its priority to a routine which handles 
the stacking and unstacking of operators. Both the operator 
and priority are assembled into the pseudo-op table entry. 
Generates a two-byte DC in the pseudo-op table. 
Format: [1^1] STAflKF.R npndl 


TABGO** 


IPKDA 


Makes an unconditional branch in the pseudo-op table. 
Generates a two-byte DC in the pseudo-op table. 
Format: flabell TABGO opndl 


TCALL** 


IPKDA 


Stacks the address of the next sequential pseudo-op table entry 
and branches to the entry designated by opndl. Generates a 
two-byte DC in the pseudo-op table. 
Format: flabell TCALL opndl 


TERROR** 


IPKDA 


Sends the error code and string indicator to an error logging 
routine. Generates a two-byte DC in the pseudo-op table. 
Format: flabell TERROR opndl r,STRING= \ YES J 1 


* system macro 
**source macro 



^P**"-.; 
%*&.» 



Figure 40. Macro Usage (Part 9 of 10) 



Macro and Copy Code Usage 253 



Macro Name 


Used By 


Description 


TEXEC** 


IPKDA 


Gives control to the routine designated by opndl . Generates 
a two-byte DC in the pseudo-op table. 
Format: flabell TEXEC opndl 

where opndl is the name of a routine written in assembler 
language 


TRETURN** 


IPKDA 


Returns to the pseudo-op table at the entry following the most 

recent TCALL. Generates a two-byte DC in the pseudo-op 

table. 

Format: [labell TRETURN 


WAIT* 


IPKAA 


Issued whenever a program requires that an operation (started 
by an EXCP instruction) be completed before the excution of 
the program continues. 


WRITE* 


IPKAA 


Writes a physical record, or part of a physical record, onto a 
file. 


* system macro 
** source macro 



Figure 40. Macro Usage (Part 10 of 10) 



254 



COPY Book 


Used by 


Contains 


EDPMI 


IPKCC 


DSECT describing an edited prototype 




IPKDA 


or a macro instruction 




IPKDB 






IPKFA 






IPKHA 




EDPMITEM 


IPKIA 
IPKCC 


DSECT describing operands in edited 




IPKIA 


prototype or macro instruction 


GARD 


IPKDB 
IPKFA 


DSECT describing the global array 


GARENT 


IPKDB 
IPKFA 


DSECT describing a global array item 


IBRTAB 


all modules 

except: 

IPKAA 

IPKAD 

IPKAG 

IPKAH 

IPKAJ 


Branch table in PCOMMON 


KEYTAB 


IPKDB 
IPKFA 
IPKIA 


DSECT describing the keyword table 


MACHEAD 


IPKEA 
IPKGA 
IPKFA 
IPKIA 


DSECT describing the macro header 


PC0M1 


all modules 

except: 

IPKAD 

IPKAG 

IPKAH 

IPKAJ 


Basic part of PCOMMON 


PC0M2 


IPKAA 
IPKBA 
IPKCA 
IPKCB 
IPKCC 
IPKCD 
IPKTA 


PCOMMON for IPKCA 


PC0M3 


all modules 

except: 

IPKAB 

IPKAD 

IPKAE 

IPKAF 

IPKAG 

IPKAH 

IPKAJ 

IPKTA 


Part of PCOMMON 


PC0M4 


IPKAA 
IPKJA 


PCOMMON for IPKJA 


PC0M5 


IPKAA 
IPKKA 
IPKLA 
IPKMA 
IPKNA 
IPKOA 
IPKPA 
IPKQA 
IPKRA 


PCOMMON for IPKKA- IPKRC 



Figure 41. 



COPY Code Usage 
(Part 1 of 3) 



Macro and Copy Code Usage 255 



COPY Book 


Used by 


Contains 




IPKRB 




PC0M5 (cont.) 


IPKRC 




PC0M6 


IPKAA 
IPKKA 
IPKLA 


PCOMMON for IPKKA-IPKLA 


PC0M7 


IPKAA 
IPKPA 
IPKQA 
IPKRA 
IPKRB 
IPKRC 
IPKSA 
IPKSB 


PCOMMON for IPKPA-IPKSB 


PCSR 


IPKCA 


DSECT for a compressed source 




IPKCB 


record 




IPKCC 






IPKCD 






IPKDA 






IPKDB 






IPKEA 






IPKFA 






IPKGA 






IPKHA 






IPKIA 






IPKIC 






IPKJA 






IPKKA 






IPKLA 






IPKPA 




PDCEDIT 


IPKJA 


DSECT for the operand part of the 




IPKKA 


edited text for DC, DS, and literal 




IPKLA 


DC statements 




IPKNA 






IPKOA 






IPKPA 




PETR 


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


DSECT for an edited text record 



v.- 



Figure 41. 



COPY Code Usage 
(Part 2 of 3) 






256 



COPY Book 


Used by 


Contains 


PFCB 


all modules 


DSECT for a file control block and 




except: 


DSECT for PFETCH 




IPKAB 






IPKAC 






IPKAD 






IPKAE 






IPKAF 






IPKAG 






IPKAH 






IPKAI 






IPKAJ 




PGVHEAD 


IPKFA 
IPKIA 


DSECT describing the global vector 


PHYR 


IPKKA 


DSECT describing a symbol table 




IPKLA 


entry 


PTRTAB 


IPKBA 


Translate table EBCDIC- internal 




IPKCA 


code 




IPKCC 






IPKCD 






IPKDA 






IPKFA 






IPKGA 






IPKIA 






IPKOA 






IPKPA 






IPKRA 






IPKSA 






IPKSB 




RPNFLAGS 


IPKIA 


Flags for reverse Polish notation 


SMTENT 


IPKEA 


DSECT for describing the source 




IPKFA 


macro table 




IPKGA 




SSD 


IPKDA 


DSECT for describing the sequence 




IPKDB 


symbol dictionary 




IPKEA 






IPKGA 




VSD 


IPKDA 


DSECT for describing the variable 




IPKDB 


symbol dictionary 




IPKGA 




WORKDTF 


IPKAA 
IPKBA 


DSECT for describing the DTFSD 



Figure 41. COPY Code Usage 
(Part 3 of 3) 



Macro and Copy Code Usage 257 



Appendix D: Element Formats 



Reverse Polish notation expression elements , operands and operators - 
each starting with a type flag, are scanned from left to right by the 
evaluation routine CAEVAL. Operands, each with a length byte, are 
pushed into the stack by the IPUSH routine. Operators are one- byte 
elements which act upon zero to three stack elements and give a result 
in the stack or an exit from the evaluation routine. 

The following table is divided into two parts: the first part lists 
the operands and their formats; the second part lists the operators and 
their formats. 



Appendix D: Element Formats 259 



Part 1. Operands 



to 

o 



Type of Operand 


Input Format 
(DSECT=IELEM) 


Action Taken 
(Routine=IPUSH) 


Stack Format 
(DSECT=SELEM) 


Local arithmetic 
dimensioned variable 
symbol 






Element is pushed into the stack with a 
length byte (length of the element) 
added 








X'02' 


pointer to 
value area 


maximum 
dimension 






X'02' 


pointer to 
value area 


maximum 
dimension 


L=6 




1 2 2 




1 2 2 1 


Local binary 
dimensioned variable 
symbol 






Same as above 








XW 


pointer to 
value area 


maximum 
dimension 






XW 


pointer to 
value area 


maximum 
dimension 


L=6 






2 2 




1 2 2 1 


Local character 
dimensioned variable 
symbol 






Element is pushed into the stack with 
a length byte and two "dummy bytes" 
added 








X'OA' 


pointer to 
value area 


maximum 
dimension 






X'OA' 


pointer to 
value area 


maximum 
dimension 


dummy 
bytes 


L=8 


1 


1 


2 : 


I 




' 


1 2 2 2 


Global arithmetic 
dimensioned variable 
symbol 






The value in the number field is replaced with a 
value from global vector. The element is pushed 
into stack with length byte 








XW 


pointer 
toGV 


maximum 
dimension 






XW 


pointer to 
value area 


maximum 
dimension 


L=6 




1 2 2 




1 2 2 1 




Global binary 
dimensioned variable 
symbol 






Same as above 








X'07' 


pointer 
toGV 


maximum 
dimension 






X'07' 


pointer to 
value area 


maximum 
dimension 


L=6 




1 2 2 






2 2 1 


Global character 
dimensioned variable 
symbol 






The value in the number field is replaced with value 
from GV. Element is pushed into stack with length 
byte and two "dummy bytes" 








X'OB' 


pointer 
to GV 


maximum 
dimension 






X'OB' 


pointer to 
value area 


maximum 
dimension 


dummy bytes 


L=8 




1 2 2 


) 




1 2 2 2 1 




Local arithmetic 
variable symbol 




Element is pushed into the stack with a 
length byte (length of the element) 
added 








XW 


pointer to* 
value area 






XW 


pointer to 
value area 


L=4 




1 


2 




1 2 1 




Local binary 
variable symbol 




Same as above 








X'04' 


pointer to 
value area 






X'04' 


pointer to 
value area 


L=4 








2 




2 


Local character 
variable symbol 




Element is pushed into the stack with a 
length byte and four "dummy bytes" 
added 








XW 


pointer to 
value area 






XW 


pointer to 
value area 


dummy bytes 


L=8 




1 


2 




1 2 4 1 


Global arithmetic 
variable symbol 


XW 


pointer 
toGV 




The value in the number field is replaced with a 
value from the global vector. The element is 
pushed into stack with length byte 




X'01' 


pointer to 
value area 


L=4 




1 2 


I 








1 2 1 





















Figure 42, Element Formats: Part 1. Operands (Part 1 of 2) 



/-' A 



to 



Type of Operand 


Input Format 
(DSECT=IELEM) 


Action Taken 
(Routine=IPUSH) 


Stack Format 
(DSECT=SELEM) 


Global binary 
variable symbol 








The value in the number field is replaced with a 
value from the global vector. The element is 
pushed into stack with length byte 










X'05' 


pointer 
toGV 






X'05' 


pointer to 
value area 


L=4 








2 






1 


2 1 




Global character 
variable symbol 








The value in the number field is replaced with value 
from GV. Element is pushed into stack with length 
byte and four "dummy bytes" added 










X'09' 


pointer 
toGV 






XW 


pointer to 
value area 


dummy bytes 


L=8 






1 2 






1 2 


4 




Positional Parameter 








The value in the number field is replaced with 
a value from PARPTV. Element is pushed into 
stack with length byte added 










X'OC 


pointer to 
PARPTV 




X'OC 


address of entry 
in PARTBL 


L=5 






1 2 




1 3 1 




Keyword Parameter 








Same as above 










X'OD' 


pointer to 
PARPTV 




X'OD' 


address of entry 
in PARTBL 


L=5 






1 2 






3 1 




SYSPARM 








Element is pushed into stack with the format 
of global character variable symbol 










X'OE' 






X'OE' 


# o 


dummy bytes 


L=8 






1 






12 4 1 




SYSLIST 








Element is pushed into stack with a length byte 
added* 










X'OF' 






X'OF' 


L=2 






1 






1 


I 


Character string 






Element is pushed into stack with a length byte 
(length of character string) added 










X'14' 


L=0-127 


string 




X'14' 


string 


L=2-129 








1 0-' 27 






0-127 


1 byte binary value 








Element is pushed into stack with a length byte 
added 










X'10' 


value 






X'10' 


value 


L=3 






1 1 






1 1 


1 


2 byte binary value 








Same as above 










X"1V 


value 






X'11' | value 


L=4 








z 




1 5 


1 


3 byte binary value 








Same as above 










X"I2' 


value 






X'12' 


value 


L=5 






1 3 






1 3 1 




4 byte binary value 






Same as above 










X"13' 


value 




X'13' 


value 


L=6 






1 4 




1 4 1 




Attribute error 






Default value is pushed into stack with a length 
byte added 


4 byte binary value 




X'41' 


error 
number 


error default 
value 




1 1 2 


* If the input element following SYSLST is an N' attribute operator, then the stack format is that of a 4 byte binary value. 



Figure 42. Element Formats: Part 1. Operands (Part 2 of 2) 



Below is a list of the abbreviations used in the following table. 



Local arithmetic dimensioned variable symbol 


lad 


Local binary dimensioned variable symbol 


Ibd 


Local character dimensioned variable symbol 


led 


Global arithmetic dimensioned variable symbol 


gad 


Global binary dimensioned variable symbol 


gbd 


Global character dimensioned variable symbol 


gcd 


Local arithmetic variable symbol 


la 


Local binary variable symbol 


lb 


Local character variable symbol 


Ic 


Global arithmetic variable symbol 


ga 


Global binary variable symbol 


9b 


Global character variable symbol 


gc 


Positional parameter 


PP 


Keyword parameter 


kp 


SYSLIST 


si 


Character string 


ch 


1 byte binary value 


b1 


2 byte binary value 


b2 


3 byte binary value 


b3 


4 byte binary value 


b4 



■•4 



262 



f^ 



Part 2. Operators 



U) 



Operator 
type 


Flag 


Operand 1 in the stack 


Operand 2 in the stack* 


Operation performed 


Result in stack 


+ 
(plus) 


X'16' 








Operand 2 is added to operand 1 


4 byte binary 
value 


lad, gad, la, ga, b1,b2, 
b3, or b4 


lad, gad, la, ga, b1,b2, 
b3, or b4 




(minus) 


X'17' 


Same options as above 


Same options as above 




Operand 2 is subtracted from operand 1 


4 byte binary 
value 








* 
(multiply) 


X'18' 








Operand 1 is multiplied by operand 2 


4 byte binary 
value 


Same options as above 


Same options as above 










/ 
(divide) 


X'19' 








Operand 1 is divided by operand 2 


4 byte binary 
value 


Same options as above 


Same options as above 










UMIN 


X'1A' 


Same options as above 


None 


Reverse the sign of the operand (unary 
minus) 


4 byte binary 
value 




AND 


X'1B' 








Compare the logical value of operand 1 with 
operand 2 (logical AND) 


4 byte binary 
value 


Ibd, gbd, lb, gb, or b4 


Ibd, gbd, lb, gb, or b4 










OR 


X'1C 








Compare the logical value of operand 1 with 
operand 2 (logical OR) 


4 byte binary 
value 


Same options as above 


Same options as above 










NOT 


X'1D' 




None 


Reverse the logical value of the operand 
(logical NOT) 


4 byte binary 
value 


Same options as above 




CBA 


X'1F' 




None 


Convert Boolean to arithmetic 


4 byte binary 
value 


Ibd, gbd, lb, or gb 




CAC 


X'1E' 




None 


Convert arithmetic to character 


character 
string 


Same options as above 




CBC 


X'20' 




None 


Convert Boolean to character 


character 
string 


Same options as above 




CCA 


X'21' 




None 


Convert character to arithmetic 


4 byte binary 
value 


led, gcd, Ic, or gc 




* Any one 


of the oper 


ands listed. 





Figure 43. Element Formats: Part 2. Operators {Part 1 of 4) 



to 



Operator 
type 


Flag 


Operand 1 in the stack 


* 
Operand 2 in the stack 


Operation performed 


Result in stack 


AGT 


X'22' 








Compare the character value of operand 1 
with that of operand 2 (character greater 
than) 


4 byte binary 
value 




lad, gad, la, ga,b1,b2, 
b3,orb4 


lad, gad, la, ga, b1,b2, 
b3, or b4 








ALT 


X'24' 








Same operation as above 
(arithmetic less than) 


4 byte binary 
value 




Same options as above 


Same options as above 








ANE 


X'26' 








Same operation as above 
(arithmetic not equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








AEQ 


X'28' 








Same operation as above 
(arithmetic equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








AGE 


X'2A' 








Same operation as above 
(arithmetic greater than or equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








ALE 


X'2C 








Compare the arithmetic value of operand 1 
with that of operand 2 (arithmetic less than 
or equal) 


4 byte binary 
value 




led, gcd, Ic, gc, or ch 


led, gcd, Ic, gc, or ch 








CGT 


X'23' 








Same operation as above 
(character less than) 


4 byte binary 
value 




Same options as above 


Same options as above 








CLT 


X'25' 








Same operation as above 
(character less than) 


4 byte binary 
value 




Same options as above 


Same options as above 








CNE 


X'27' 








Same operation as above 
(character not equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








CEQ 


X'29' 








Same operation as above 
(character equal) 


4 byte binary 
valuer 




Same options as above 


Same options as above 








CGE 


X'2B' 








Same operation as above 
(character greater than or equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








CLE 


X'2D' 








Same operation as above 
(character less than or equal) 


4 byte binary 
value 




Same options as above 


Same options as above 








Any one of the operands listed. 



Figure 43 • Element Formats: Part 2. Operators (Part 2 of 4) 






Operator 
type 


Flag 


Operand 1 in stack 


Operand 2 in stack* 


Operand 3 in stack 


Operation performed 


Result in stack 


SST 


X'2E' 


led, gcd, lc, gc, or ch 


lad, gad, la, ga, b1,b2, 
b3, or b4 


lad, gad, la, ga, b1,b2, 
b3, or b4 




Build a substring 


character 
string 


(start character) (length of substring) 




CAT 


X'2F' 


led, gcd f lc, gc, or ch 


led, gcd, lc, gc, or ch 




Concatenate the string of operand 1 
to the string of operand 2 


character 
string 






V 


X'30' 






Find the Type attribute in PARTBL 


4 byte binary 
value 


pp or kp 




L' 


X'3V 






Find the Length attribute in PARTBL 


4 byte binary 
value 


Same options as above 




S' 


X'32' 






Find the Scale attribute in PARTBL 


4 byte binary 
value 


Same options as above 




r 


X'33' 






Find the Integer attribute in PARTBL 


4 byte binary 
value 


Same options as above 




N' 


X'35' 






Find the Number attribute in PARTBL 


4 byte binary 
value 


pp, kp, or si, ■ 




K' 


X'36' 






Find the Count attribute in PARTBL 


4 byte binary 
value 


pp or kp 




BP 


X'34' 






Find the binary value of the parameter 
in PARTBL 


4 byte binary 
value 


Same options as above 




CP 


X'37' 






Find the character value of the parameter 
in PARTBL 


character 
string 


Same options as above 




*Any one of the operands listed. 



Figure 43. Element Formats: Part 2. Operators (Part 3 of 4) 



to 

cv 



Operator 
type 


Flag 


Operand 1 in the stack * 


Operand 2 in the stack* 


Operation performed 


Result in stack 


SSC 


X'38' 


lad, Ibd, led, gad, gbd, or gcd 


lad, gad, la, ga, b1,b2, b3, 
or b4 


Adjust the pointer to the value area 
(operand 1 ) with the subscript (operand 2) 


* lad, Ibd, la, gad, 
gbd, or gcd 






SOP 


X'39' 






Adjust operand 1 (the address of the 
subiist operand in PARTBL) to point to the 
sub-operand entry defined by operand 2 


Positional 
parameter 


pp, kp, orsl, 


Same options as above 






AIF 


X'3A' 






If operand 1 is 1, go to the start of the macro 
+ the offset (operand 2). In open code, go 
to START + offset (operand 2) 


Exit from 
the evaluation 
routine 


Ibd, gbd, lb, gb, or b4 


b3 






AGO 


X'3B' 






None 


Go to the start of the macro + the offset 
(operandi). In open code, go to open code 
START + offset (operand 1) 


Exit from 
the evaluation 
routine 


b3 








SETA 


X'3C' 






Put the value of operand 2 in the address 
of operand 1 


Exit from 
the evaluation 
routine 


lad, gad, la, or ga 


lad, gad, la, ga, b1,b2, 
b3, or b4 






SETB 


X'3D' 


Ibd, gbd, lb, or gb 


Ibd, gbd, lb, gb, b1, 
or b4 


Same operation as above 


Exit from 
the evaluation 
routine 






SETC 


X'3E' 






Same operation as above 


Exit from 
the evaluation 
routine 


led, gcd, Ic, or gc 


led, gcd, Ic, gc, or ch 






ACTR 


X'3F 






None 


Move the value of the operand to the 
ACTR counter field 


Exit from 
the evaluation 
routine 


lad, gad, la, ga, b1,b2, 
b3, or b4 




GEN 


X'40' 






None 


Build a generated statement field 


Exit from 
the evaluation 
routine 


led, gcd, Ic, gc, or ch 








Sequence 

symbol 

error 


X'43' 






Output error record 


Exit from 
the evaluation 
routine 


NOOP 


X'44' 






No operation 


Exit from 
the evaluation 
routine 


* Any one of the operands listed 



Figure 43. Element Formats: Part 2. Operators (Part 4 of 4) 



•^ 



Appendix E: Pseudo (Interned) Operation Codes 



Hex 


Mnemonic 


Description 


00 


SUBST 


Substituted op code 




01 


REPROED 


Reproed statement 




02 


PUNCH 


Assembler instruction 




03 


CNOP 


Assembler instruction 




04 


ORG 


N 




05 


END 


n 




06 


ENTRY 


n 




07 


EXTRN 


n 




08 


WXTRN 


n 




09 


USING 


n 




0A 


DROP 


n 




0B 


DC 


« 




OC 


DS 


N 




0D 


DCL 


Literal DC assembler instruction 




0E 


EQU 


Assembler instruction 




OF 


EQUL 


Literal EQU assembler instruction 




10 


CCW 


Assembler instruction 




11 


START 


w 




12 


CSECT1ST 


Start of the first CSECT 




13 


LTORG 


Assembler instruction 




14 


CSECT 


m 




15 


DSECT 


M 




16 


COM 


M 




17 


REPRO 


m 




18 


EJECT 


w 




19 


PRINT 


«■ 




1A 


SPACE 


•a 




1B 


TITLE 


N 




1C 


ICTL 


n 




1D 


ISEQ 


« 




1E 


CMENT 


Comment statement 




1F 


COPY 


Assembler instruction 




20 


MI 


Macro instruction 




21 


ERROR 


Error record 




22 


MIC 


Macro instruction continuation card 


(source) 


23 


MNOTE 


Macro processing instruction 




24 


MIED 


Macro instruction edited record 




25 


MCMENT 


Internal macro comment statement 




26 


MACRO 


Macro processing instruction 




27 


MEND 


M 




28 


MEXIT 


N 




29 


ANOP 


Conditional assembly instruction 




2A 


SETA 


« 




2B 


SETB 


N 




2C 


SETC 


h 




2D 


ACTR 


« 




2E 


AIF 


N 






AIFB 


n 




2F 


AGO 


N 






AGOB 


«• 




30 


GBLA 


N 




31 


GBLB 


n 




32 


GBLC 


«• 





Figure 44. Pseudo (Internal) Operation Codes 
(Part 1 of 2) 



Appendix E: Pseudo (Internal) Operation Codes 26 7 



Hex 


Mnemonic 


Description 


33 


LCLA 


Conditional assembly instruction 


34 


LCLB 


« 


35 


LCLC 


n 


36 


PROTO 


Prototype statement (source) 


37 


PROTOED 


Prototype edited record 


38 


MHR 


Macro header record 


39 


KT 


Keyword table record 


3A 


GAR 


Global array record 


3B 


MNA 


Macro name array record 


3C 


OCST 


Open code start record 


3D 


UNDEF 


Undefined operation code 


3E 


LITSRC 


Literal source record 


Note : 


The DOS/VS Assembler is dependent upon the organisation of 




the op- codes. 


Any changes made to this organisation may 




affect the program code. 



Figure 44. 



Pseudo (Internal) 
(Part 2 of 2) 



Operation Codes 



/f" 



268 



Appendix F: Internal Character Set 



( 



Character 


Internal 


External 


Punch 





00 


FO 





1 


01 


Fl 


1 


2 


02 


F2 


2 


3 


03 


F3 


3 


4 


04 


F4 


4 


5 


05 


F5 


5 


6 


06 


F6 


6 


7 


07 


F7 


7 


8 


08 


F8 


8 


9 


09 


F9 


9 


A 


0A 


CI 


12.1 


B 


OB 


C2 


12.2 


C 


OC 


C3 


12.3 


D 


0D 


C4 


12.4 


E 


OE 


C5 


12.5 


F 


OF 


C6 


12.6 


G 


10 


C7 


12.7 


H 


11 


C8 


12.8 


1 


12 


C9 


12.9 


J 


13 


Dl 


11.1 


K 


14 


D2 


11.2 


L. 


15 


D3 


11.3 


M 


16 


D4 


11.4 


N 


17 


D5 


11.5 


O 


18 


D6 


11.6 


P 


19 


D7 


11.7 


Q 


1A 


D8 


11.8 


R 


IB 


D9 


11.9 


S 


1C 


E2 


0.2 


T 


ID 


E3 


0.3 


U 


IE 


E4 


0.4 


V 


IF 


E5 


0.5 


W 


20 


E6 


0.6 


X 


21 


E7 


0.7 


Y 


22 


E8 


0.8 


Z 


23 


E9 


0.9 


$ 


24 


5B 


11.3.8 


# 


25 


7B 


3.8 


T) 


26 


7C 


4.8 


= 


27 


7E 


6.8 


( 


28 


4D 


12.5.8 


+ 


29 


4E 


12.6.8 


- 


2A 


60 


11 


* 


2B 


5C 


11.4.8 


/ 


2C 


61 


0.1 


) 


2D 


5D 


11.5.8 


/ 


2E 


6B 


0.3.8 


b 


2F 


40 




/ 


30 


7D 


5.8 


& 


31 


50 


12 


• 


32 


4B 


12.3.8 



Figure 45. Internal Character Set 



Appendix F: Internal Character Set 269 



4 
\ 



Appendix G: Edited Text Flags 



Phases ASSEMBLY - ASSEIA 
Flag (hex) Meaning 



00 


LCLA 


29 


01 


GBLA 


2A 


02 


LCLA (dimensioned) 


2B 


03 


GBLA (dimensioned) 


2C 


04 


LCLB 


2D 


05 


GBLB 


2E 


06 


LCLB (dimensioned) 


2F 


07 


GBLB (dimensioned) 


30 


08 


LCLC 


31 


09 


GBLC 


32 


0A 


LCLC (dimensioned) 


33 


OB 


GBLC (dimensioned) 


34 


OC 


positional parameter 


35 


OD 


keyword parameter 


36 


OE 


SSYSPARM 


37 


OF 


SSYSLIST 




10 


1-byte binary value 


38 


11 


2-byte binary value 


39 


12 


3-byte binary value 


40 


13 


4-byte binary value 


41 


14 


character string 




15 


sequence symbol 


42 


16 


+ (addition) 


A1 


17 


- (subtraction) 




18 


* (multiplication) 


A2 


19 


/ (division) 




1A 


unary minus 


A3 


1B 


AND 




1C 


OR 


A4 


1D 


NOT 




1E 


arithmetic to character 
conversion 


A5 


1F 


boolean to arithmetic 
conversion 


A6 


20 


boolean to character 


A7 




conversion 


A8 


21 


character to arithmetic 
conversion 


A9 


22 


arithmetic GT 




23 


character GT 


AA 


24 


arithmetic LT 




25 


character LT 


AB 


26 


arithmetic NE 


AC 


27 


character NE 




28 


arithmetic EQ 


AD 



Phases ASSEMBLY - ASSEIA 
Flag (hex) Meaning 



character EQ 
arithmetic GE 
character GE 
arithmetic LE 
character LE 
substring 
concatenation 
type attribute 
length attribute 
scaling attribute 
integer attribute 
binary parameter value 
number attribute 
count attribute 
character parameter 
value 
subscript 
suboperand 
generate field 
( r open code relevant 
symbol 

) 

positional prototype 
item 

keyword prototype 
item 

symbol with all 
attributes 

symbol with type and 
length attributes 
character string 
(type attribute only) 
self-defining terra 
item 

sublist start item 
sublist end item 
basic character 
expression , macro 
instruction item 
omitted operand 
outside sublist 
error record item 
keyword macro 
instruction 
end-of-operand item 



Appendix G: Edited Text Flags 2 71 



Phases ASSEJA - ASSEQA 
Flag (hex) Meaning 

00 character constant 

01 hexadecimal constant 

02 binary constant 

03 packed decimal constant 

04 zoned decimal constant 

05 fixed-point fullword 

06 fixed-point half word 

07 floating-point long constant 

08 floating-point doubleword 

09 floating point fullword 
0A A-type address constant 
0B V-type address constant 
0C Y-type address constant 
0D S-type address constant 

29 + (addition) 

2A - (subtraction) 

2B * (multiplication) 

2C / (division) 

30 explicit bit length 

33 unary minus 

34 length attribute 

35 symbol flag 

36 location counter value 

37 self-defining term J> 256 bytes 

38 self-defining term < 256 bytes 

39 end of expression 
3A end of operand 

3B start of operand 

3C error flag 

3D ADDR1 field 

3E ADDR2 field 

3F object code field 

40 explicit length 

41 implicit length 

42 scale modifier 

43 exponent modifier 

44 address constant 

45 data constant 



272 



Appendix H: Edited Statement Formats 



This section shows statement formats at different stages in assembler 
processing. The diagrams should be used in conjunction with the 
applicable dummy control section which maps the record; these DSECTs 
are shown on the diagrams in upper-case letters, underlined. 
Field lengths in bytes are shown under the field; "V" means a field 
of variable length. 



Object Module EPKCA 



COMPRESSED SOURCE RECORD (ALL RECORDS) 



PCSR 



-\r 



PSTR/NGS 



Record 
length 


File 
flags 


Pseudo 
opcode 


Opcode 
extension 


Type 
flags 


Flag 
A 


Name 
length 


Col. 


Name 
source 


Opcode 
length 


Col. 



"» 






















it 






















V) 


Opcode 
source 


Operand 
length 


Col. 


Operand 
source 


Remarks 
length 


Col. 


Remarks 
source 


String 
length 


Col. 


String 
source 


(t 


V 


1 


1 


V 


2 


1 


V 


1 


1 


V 



Object Modules IPKCC through DPKIC 



COMPRESSED SOURCE RECORD (NON-MACRO OR CONDITIONAL ASSEMBLY) 



PCSR 



P STRINGS 



-a 



Record 


File 


Pseudo 


Opcode 


Type 


Flag 


Name 


Col. 


Name 


Opcode 


Col. 


length 


flags 


opcode 


extension 


flags 


A 


length 




source 


length 





-8 



8- 



fc 



Opcode 
source 



Operand 
length 



Col. 



Operand 
source 



Remarks 
length 



Col. 



Remarks 
source 



String 
length 



Col. 



String 
source 



Appendix H: Edited Statement Formats 2 73 



EDITED MACRO PROTOTYPE RECORDS 
First Record 



EDPMI 



Record 


File 


Pseudo 


Opcode 


Type 


Flag 


Name 


Macro 


length 


flags 


opcode 
X'37' 


extension 


flags 


A 


length 


name 



Subsequent Records 



EDPMI 



Record 
length 



File 
flags 



Pseudo 
opcode 
X'37' 



Opcode 
extension 



Type 
flags 



Flag 
A 



ltem(s)... 



EDITED MACRO INSTRUCTION RECORDS 



First Record 



EDPMI 



Record 
length 


File 
flags 


Pseudo 
opcode 
X'24' 


Opcode 
extension 


Type 
flags 


Flag 
A 


Name 
length 


Macro 
name 


Index 


Sequence 



Subsequent Records 



EDPMI 



Record 
length 



File 
flags 



Pseudo 
opcode 
X'24' 



Opcode 
extension 



Type 
flags 



Flag 
A 



l'tem(s).?.. 



See item formats below 
2 Inner macros only 



.4' 
\ 



274 



ERROR RECORD' 



■PETR 



Record 
length 



Switch 



X'2V 



Error 



String 
length 



String 



Appendix H: Edited Statement Formats 275 



ITEM FORMATS FOR EDITED MACRO PROTOTYPES AND INSTRUCTIONS 



Positional Prototype 



X'AI' 


Item 
flag 


Length 


String 



2-8 



Keyword Prototype 



X'A2' 


Item 
flag 


Length 


String 



2-8 



Symbo 


1 with a 


II attribi 


ites 














Item 
















X'A3' 


flag 


Length 


T 


L' 


S' 


r 


K' 


String 



Symbo 


with Type and 


Length Attributes 












Item 
















X'A4' 


flag 


Length 


T' 


L' 


K' 


String 


- 


- 



1-8 



Charac 


er Strin 
Item 


3 (type c 


ttribute 


>nly) 










X'A5' 


flag 


Length 


V 


K' 


String 


- 


- 


- 



0-255 



Self-Defir 
X'A6' 


ling Term 
Item 
flag 


Length 


T' 


Binary 
value 


K' 


String 



1-27 



Sublist Start 
X'A7' 


Item 
flag 


Length 


K' 



Sublist End 
X'A8' 


Item 
flag 


Length 


N' 



Basic Character Expression, Macro Instruction 



X'A9' 


Item 
flag 


Length 


X'FF' 


I reverse 
String/ Polish 



Omitted operand outside sublist 



X'AA' 


Item 
flag 


.Length 



Error Record 



X'AB' 



Item 
flag 



Length 



Record 
length 



Pseudo 
op 



Length 



String 



0-8 



Keyword Macro Instruction 
Item 
flag 



Length 



String 



1-7 



End of Operand 

X'AD' ,tem 

flag 



No positional 
parameters 



No keyword 
parameters 



Processed by 



IPKDA 



IPKHA 
IPKIA 



IPKHA 
IPKIA 



(IPKHA) 
IPKIA 



IPKIA 



IPKIA 



IPKIA 



IPKDA 
IPKIA 



IPKIA 



IPKDA 
IPKIA 



Notes 



Not needed after IPKDA 



Entered in keyword table 
in same format 



Originates as type A5 in IPKCC; 
attributes added in IPKHA 



Originates as type A5 in IPKCC; 
attributes added in IPKHA 



Can be transformed to type 
A3 or A4 in iPKHA 



Expressions translated to 
reverse Polish notation in 
IPKDA 



IPKIA 






2 76 



Object Module IPKDA 



AIF/AGO/SETx/ACTR 

















Expression 


Record 
length i 


File 
flags 


Pseudo 
opcode 


Opcode 
extension 


Type 
flags 


Flag A 


Sequence 
field 


in reverse 

Polish 

notation 



Appendix H: Edited Statement Formats 277 



Object Module IPKJA 



ALL RECORDS 



PETR 



PGTFLQS 



-K 



Record 
length 



File 
flags 



Pseudo 
opcode 



Opcode 
extension 



Type 
Flags 



Statement 
number 



L' 
* 



Relocation 
attribute* 



Location 



No. symbol 
work buckets 



Name 
length 



Name 



■tf 



0-8 



Operand all 
except DCs 



Operand 
flag 


Expression 
flag 


0-3 

a 
expressions 


1 


1 


V 




* Field created but not filled until IPKKA. 

** Four-byte field for ENTRY. Filled in IPKKA. 

a ln reverse Polish 

b BITLEN(X'30') bit length 
EXPLEN (X'40') explicit length; IMPLEN (X'4V) implied length. 

C SCALE (X'42') 



d EXPON(X'43) 
e DCEXP(X'44) 
f DCVAL (X'45') 



,4 



278 



Object Module IPKKA 



CNOP RECORDS 


DC TO 








*■ 














Record 
length i 


Pseudo 
opcode 


Statement 
number 


L' 


Relocation 
attribute 


Location 
counter 


Code 
flag 


X'0700' 


X'0700' 


X'0700' 


End 
flag 



EQU, ORG RECORDS 

< 


- PETR - 




> 


l^* 


PETFLDS- 


•^ 




s 


Record 
length 


Pseudo 
opcode 


Statement 
number 


L' 


Relocation 
attribute 


Location 
counter 


AD1 
flag 


Value 


End 
flag 



DC RECORDS 

< 



2 2 

PETR 



-* <- 



PETFLDS - 

-a 



Record 
length 



Pseudo 
opcode 



Statement 
number 



Relocation 
attribute 



Location 
counter 



No. symbol 
work buckets 



Name 
length 



-* 




Scale f Rest of record 

flag unchanged from 

I IPKJA 

I 



ALL OTHER RECORDS 

fe 



PETR ■ 



-> <r 



PETFLDS • 



* 



Record 
length 



Pseudo 
opcode 



Statement 
number 



Relocation 
attribute 



Location 
counter 



No. symbol 
'work buckets 



Name 
length 



-a 



& 



* 



Name 



Flags 



Symbol 
length -1 



Symbol 



-it- 



Operand 



Operand 
end flag 



Appendix H: Edited Statement Formats 279 



Object Module IPKLA 



SYMBOL TABLE OVERFLOW, ALL RECORDS 

< -PETR 



Record 
length 



Pseudo 
opcode 



Statement 
number 



!_' 



Relocation 
(attribute 



Location 
counter 



^K PET FLD^ 



Symbol 



No. symbol 
work buckets 



Name 
length 



Flags 



Relocation 
attribute 



-9 



■% 



v.. 



Bucket 



fr 



*■ 



Value of 
symbol 



Not 
Used 



-IT: 



Symbol 
buckets 



■**- 



Operand 



Operand 
end flag 



J^jQ. SYMBOL TABLE OVERFLOW OR LAST PASS 



Operand all 
except DCs 



PETFLDS 



Operand 
flag 


Expression 
flags 


1 - 3 * 

expressions 



ALL RECORDS 



• 




- PETR 






\ 






V, 






Record 
length 


Pseudo 
opcode 


Statement 
number 


L' 


Relocation 
attribute 


Location 
counter 


Operand 


Operand 
end flag 


2 


4 


2 


2 


2 




V 


1 




Address Constant 



DC 
expression 


Operand 
flag 


Expression 
flag 


1-2 * 
expressions 



Data Constant 



DC 
value 



Length of 
constant 



Constant as 
coded 



Expression 



Length 
attribute 



No. relo- 
cation 
attributes 



Expression) + 
value 



Location 
attribute 



»- 



-KC 



-a- 



,4' 



280 



Object Module IPKNA 



MACHINE INSTRUCTIONS 



■ PETR 



f-P£TFtDf-* 



Record 
length 



File 
flags 



Pseudo 
opcode 



Opcode 
extension 



Type 
flags 



Statement 
number 



Relocation 
attribute 



Location 
counter 



Flag 
AD1 



«- 



Value 



Ih 



Flag 
AD2 



Code 
flag 



Object 
code 



2-6 



DC INSTRUCTIONS 



PETR- 



•* 



Record 
length 



File 
flags 



Pseudo 
opcode 



Opcode 
extension 



Type 
flags 



Statement 
number 



Length of object code 
before duplication 



■* 



** 



PDCOUT. 



Duplication 
factor 



* 



Not 
used 



No. bits 
to shift 



Not 
used 



Object 
code 



Object Module IPKOA 



DC INSTRUCTIONS 



(See IPKNA) 



Appendix H: Edited Statement Formats 281 



,f 



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 r MVO, MVZ, NC, NI r 0C r 01 r 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 is 
defined. 

Displacement - the displacement of the field within the dummy section in 
decimal and hexadecimal notation. 

CSBCT 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. 
5 - more than one expression in this operand; 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* 



Wjfcx.:- 



Appendix I: Statements Modifying Data Areas 283 



FIELD 


-MODIFIED AREA 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






ASSGNSW 


PCOMMON 


1916 


(77C) 


IPKJAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 


4886 
1418 
1448 
1452 
1612 
1748 
1873 
2223 
2229 
2235 
2253 
2458 
2545 
2566 
2594 
2990 
3195 
3287 
3349 
3417 
1371 
1373 
1554 
1623 
2371 
2572 


NI 
01 
NI 
01 
01 
01 
01 
01 
01 
01 
01 
01 
NI 
01 
01 
01 
01 
01 
01 
NI 
01 
NI 
NI 
NI 
01 
01 




BCDUMMY 


EDPMI 


10 


(A) 


IPKCCOOO 


3613 


MVI 




BCITEM 


EDPMI 


10 


(A) 


IPKHAOOO 


1588 


LA 


2 


BCITEMST 


EDPMI 


11 


(B) 


IPKCCOOO 
IPKHAOOO 
IPKIAOOO 


3616 
1590 
4865 


MVC 

LA 

LA 


2 


BEGOFIN 


PCOMMON 


20123 


(7E7) 


/IPKJAOOO 
IPKKAOOO 


1502 


ST 








/ 




1546 


ST 








/ 


/ 


IPKKAOOO 


1932 


ST 








/ 


IPKKAOOO 


3310 


ST 










/ ■ 


IPKLAOOO 


1381 


ST 




BEGOFOUT 


PCOMMON 


2019 


(7i3) 


IPKJAOOO 


1464 


ST 








/ ■ 


IPKJAOOO 


2507 


ST 












IPKJAOOO 


4573 


ST 












IPKLAOOO 


1382 


ST 




BITO 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1741 


LA 


3 










IPKNAOOO 


1741 


LA 


3 


BIT1 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1741 


LA 


3 


BIT2 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1766 


LA 


1 










IPKNAOOO 


1774 


LA 


3 


BIT5 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1774 


LA 


3 


BLANK 


PCOMMON 


90 


(5A) 


IPKCA001 


2089 


MVI 


3 










IPKCA001 


2102 


MVI 


3 


BLKINCNO 


PCOMMON 


1998 


(7CE) 


IPKDBOOO 


2877 


STH 


1 


BLKNP1 


DIRENTRY 


5 


(5) 


IPKRAOOO 


1380 


MVC 


2 










IPKRBOOO 


1093 


MVC 


2 










IPKRBOOO 


1 1 77 


LA 


1 


BLKNP2 


DIRENTRY 


11 


(B) 


IPKRBOOO 


1190 


MVC 


2 


BUFADDR 


PFCB 


6 


(6) 


IPKAAOOO 


1940 


LA 


1 










IPKAAOOO 


2056 


LA 


1 










IPKAAOOO 


2171 


LA 


1 










IPKAAOOO 


2184 


LA 


1 










IPKAAOOO 


2221 


LA 


1 


BUFADDR1 


PCOMMON 


1694 


(69E) 


IPKBAOOO 


2227 


STCM 


1 



284 



c 



FIELD 


MODIFIED i 
DSECT 


kREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






BUFADDR1 


PCOMMON 


1694 


(69E) 


IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKJAOOO 
IPKKA001 


2030 
3137 
4794 
4857 
4463 


STCM 

STCM 

STCM 

LA 

STCM 




BUFADDR2 


PCOMMON 


1729 


(6C1) 


IPKBAOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKKA001 


2217 
2020 
3132 
2536 
4260 
4783 
4868 
4471 


STCM 

STCM 

STCM 

LA 

LA 

STCM 

LA 

STCM 




BUFADDR3 


PCOMMON 


1764 


(6E4) 


IPKBAOOO 
IPKPA000 


2232 
4096 


STCM 
STCM 




BUFPT 


PFCB 


3 


(3) 


IPKAA000 
IPKAA000 
IPKAAOOO 
IPKAA000 


1923 
2022 
2035 
2395 


MVC 
STCM 
STH 
STCM 




CCWS 


WORKDTF 


96 


(60) 


IPKAA002 
IPKAA002 


1520 
1562 


MVC 
MVC 




CHARC 


EPAR 


3 


(3) 


IPKIA000 


4925 


LA 




CHARK 


EPAR 


2 


(2) 


IPKIA000 


3627 


LA 




CHITEMK 


EDPMI 


11 


(B) 


IPKCCOOO 
IPKHAOOO 


3210 
1550 


STC 
LA 




CHITEMST 


EDPMI 


12 


(C) 


IPKCCOOO 
IPKHAOOO 


3226 
1552 


MVC 
LA 




CHITEMT 


EDPMI 


10 


(A) 


IPKCCOOO 
IPKCCOOO 
IPKHAOOO 
IPKHAOOO 
IPKHAOOO 
IPKHAOOO 


3202 
3208 
1547 
1557 
2394 
2431 


MVI 
MVI 
MVI 
MVI 
MVI 
MVC 




CORADDR 


DIRENTRY 





(0) 


IPKRB000 
IPKRB000 
IPKRB000 


991 
1120 
1337 


STCM 

MVC 

STCM 




CROSSNP 


PCOMMON 


1949 


(79D) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 


3174 
3189 
3267 
3818 
3832 
4343 
4360 
2553 
2566 


LA 

MVC 

LA 

LA 

MVC 

LA 

MVC 

LA 

MVC 




CURESD 


PCOMMON 


1977 


(7B9) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


2623 
3504 
3534 


ST 
ST 
ST 




CURNP 


PCOMMON 


1955 


(7A3) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKA001 


2624 
3505 
3535 
3626 
3837 
4363 
4511 


MVC 

MVC 

MVC 

LA 

MVC 

MVC 

MVC 




CURSECT 


PCOMMON 


1927 


(787) 


IPKIAOOO 


2504 


MVC 




CURSECTL 


PCOMMON 


1926 


(786) 


IPKIA000 
IPKIAOOO 


2503 
5748 


STC 
XC 




DBCORE 


PCOMMON 


1946 


(7 9 A) 


IPKIAOOO 


2332 


STH 





Appendix I: Statements Modifying Data Areas 285 





•MODIFIED AREA 




MODIFYING INSTRUCTION- - 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






DBCORE 


PCOMMON 


1946 


(79A) 


IPKIA000 
IPKIA000 
IPKIA000 


2445 
5364 
5655 


STH 
STH 
MVC 




DBVSDADR 


PCOMMON 


1995 


(7CB) 


IPKDB000 


2870 


STCM 




EAWF2END 


PCOMMON 


1915 


(77B) 


IPKFAOOO 
IPKHA000 


3212 
2699 


MVC 
MVC 




EFLG 


MNAENT 


2 


(2) 


IPKCA001 
IPKCCOOO 
IPKCCOOO 
IPKFAOOO 
IPKFAOOO 


1123 
1741 
1767 
2756 
2818 


MVI 
MVI 
MVI 
MVI 
MVI 




ENDBUF 


PFCB 


11 


(B) 


IPKMA000 


1098 


STCM 




ENDID 


PCOMMON 


1996 


(7CC) 


IPKKAOOO 
IPKQAOOO 


3531 
1213 


MVC 
MVC 




ENTRYCNT 


PCOMMON 


1993 


(7C9) 


IPKKAOOO 
IPKKAOOO 
IPKKA001 


2537 
3972 
4513 


STH 
STH 
MVC 




EOFLDPTR 


ERRENT 


5 


(5) 


IPKDA000 
IPKDB000 


2364 
2661 


STCM 
MVC 




EPARFLAG 


EPAR 





(0) 


IPKIA000 


5079 


MVC 




EPART 


EPAR 


1 


(D 


IPKIA000 


5093 


MVC 




ERRCONST 


ERRBYTES 





(0) 


IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 


3040 
3046 
2419 
2425 


MVC 
MVC 
MVC 
MVC 




ERRCOUNT 


PCOMMON 


2018 


(7E2) 


IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKA001 
IPKLAOOO 
IPKLAOOO 


3625 
3762 
4607 
1446 
3059 
3126 
4474 
2438 
2505 


STC 
MVI 
MVI 
MVI 
STC 
MVI 
MVI 
STC 
MVI 




ERRINFO 


ERRENT 





(0) 


IPKDA000 
IPKDA000 
IPKDB000 


2370 
2388 
2663 


MVC 
MVC 
MVC 




ERRLNG 


ERRBYTES 


2 


(2) 


IPKKAOOO 
IPKLAOOO 


3050 
2429 


STC 
STC 




ERRSW 


ERRBYTES 


1 


(1) 


IPKKAOOO 
IPKLAOOO 


3042 
2421 


01 
01 




ERRTXT 


ERRBYTES 


3 


(3) 


IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 


3043 
3051 
2422 
2430 


MVC 
MVC 
MVC 
MVC 




ESDESDID 


ESDENTRY 


1 


(D 


IPKKAOOO 
IPKKAOOO 


2539 
3521 


MVC 
MVC 












IPKKAOOO 


3978 


MVC 


2 










IPKKAOOO 


3986 


MVC 












IPKKAOOO 


4179 


STC 




ESDHILC 


ESDENTRY 


5 


(5) 


IPKKAOOO 
IPKKAOOO 


3519 
3642 


MVC 
MVC 




ESDIDHI 


PCOMMON 


1947 


(79B) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKA001 


3596 
4097 
4178 
4497 


STC 
STC 
STC 
MVI 




ESDIDLO 


PCOMMON 


1997 


(7CD) 


IPKKAOOO 
IPKKA001 


3589 
4498 


STC 
MVI 




ESDLCTR 


ESDENTRY 


2 


(2) 


IPKKAOOO 


2540 


MVC 








286 





-MODIFIED AREA 




MODIFYING INSTRUCTION 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






ESDLCTR 


ESDENTRY 


2 


(2) 


IPKKA000 


3522 


MVC 


1 










IPKKA000 


3641 


MVC 


1 










IPKKA000 


3987 


MVC 


1 










IPKKA000 


4170 


MVC 


1 


ESDNXT 


ESDENTRY 


16 


(10) 


IPKKA000 


3690 


LA 


1 










IPKMA000 


1442 


LA 


1 










IPKMA000 


1504 


LA 


1 


ESDPTR 


PCOMMON 


1973 


(7B5) 


IPKKA000 


3706 


ST 


1 










IPKKA001 


4508 


MVC 


1 


ESDSYM 


ESDENTRY 


8 


(8) 


IPKKA000 


2541 


MVC 


1 










IPKKA000 


3524 


MVC 


1 










IPKKA000 


3979 


MVC 


1 










IPKKA000 


3988 


MVC 


1 










IPKKA000 


4171 


MVC 


1 










IPKMA000 


1424 


TR 


1 










IPKMA000 


1490 


TR 


1 


ESDTYPE 


ESDENTRY 





(0) 


IPKKA000 


2538 


MVI 


1 










IPKKA000 


3523 


MVC 


1 










IPKKA000 


3973 


MVI 


1 










IPKKAOOO 


4068 


MVI 


1 










IPKKAOOO 


4070 


MVI 


1 










IPKKAOOO 


4169 


MVI 


1 










IPKMAOOO 


1309 


TRT 


1 


EVALUE 


EVALSTCK 


1 


(D 


IPKKAOOO 


2785 


ST 


1 










IPKKAOOO 


2861 


ST 


1 










IPKKAOOO 


2895 


ST 


1 










IPKKAOOO 


2967 


ST 


1 










IPKLAOOO 


2174 


ST 


1 










IPKLAOOO 


2237 


ST 


1 










IPKLAOOO 


2271 


ST 


1 










IPKLAOOO 


2345 


ST 


1 


EVLENGTH 


EVALSTCK 


5 


(5) 


IPKKAOOO 


2869 


LA 


1 










IPKKAOOO 


2969 


MVI 


1 










IPKKAOOO 


2970 


MVI 


3 










IPKLAOOO 


2246 


LA 


1 










IPKLAOOO 


2347 


MVC 


1 


EVNXT 


EVALSTCK 


9 


(9) 


IPKKAOOO 


2790 


LA 


1 










IPKLAOOO 


2179 


LA 


1 


EVPLUS 


EVALSTCK 


5 


(5) 


IPKKAOOO 


2787 


MVI 


1 










IPKKAOOO 


2910 


LA 


1 










IPKKAOOO 


2959 


MVC 


2 










IPKLAOOO 


2176 


MVI 


1 










IPKLAOOO 


2286 


LA 


1 










IPKLAOOO 


2338 


MVC 


2 


EVRELOC 


EVALSTCK 


6 


(6) 


IPKKAOOO 


2788 


STCM 


1 










IPKLAOOO 


2177 


STCM 


1 


EWARY 


EVALSTCK 


7 


(7) 


IPKKAOOO 


2933 


LA 


2 










IPKKAOOO 


2971 


LA 


1 










IPKLAOOO 


2311 


LA 


2 










IPKLAOOO 


2348 


LA 


1 


FILE1NP 


PCOMMON 


1875 


(753) 


IPKJAOOO 


2533 


MVC 


2 










IPKJAOOO 


4257 


MVC 


2 










IPKKA001 


4523 


LA 


1 










IPKLAOOO 


1244 


XC 


2 










IPKLAOOO 


1246 


XC 


2 










IPKLAOOO 


1258 


LA 


1 










IPKLAOOO 


2607 


XC 


2 










IPKLAOOO 


2609 


XC 


2 










IPKPAOOO 


4107 


LA 


1 



Appendix I: Statements Modifying Data Areas 287 






•MODIFIED AREA 





MODIFYING INSTRU 


fCTION 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO* 


OPERATION 


CODE 


NAME 


JNAME 


DEC 


HEX 


NAME 


(APPROX.) 






FILE1NPR 


PCOMMON 


1881 


(759) 


IPKJA000 


2538 


MVC 


2 










IPKJA000 


4262 


MVC 


2 










IPKSA000 


3028 


LA 


1 










IPKSB000 


1396 


LA 


1 










IPKSB000 


1472 


LA 


1 


FILE2NP 


PCOMMON 


1887 


(75F) 


IPKJA000 


4865 


MVC 


2 










IPKJA000 


4873 


LA 


1 










IPKLA000 


1245 


XC 


2 










IPKLA000 


2608 


xc 


2 










IPKRA000 


1590 


LA 


1 










IPKRA000 


1599 


LA 


1 


FILE2NPR 


PCOMMON 


1893 


(765) 


IPKJA000 


4870 


MVC 


2 










IPKKA001 


4518 


LA 


1 










IPKLAOOO 


1253 


LA 


1 










IPKOA000 


1202 


LA 


1 


FLAG 


DIRENTRY 


19 


(13) 


IPKRA000 


1399 


NI 


1 










IPKRB000 


995 


01 


1 










IPKRB000 


1068 


01 


1 










IPKRB000 


1114 


NI 


1 










IPKRB000 


1122 


01 


1 










IPKRB000 


1346 


01 


1 


GARDIM 


GARENT 


4 


W 


IPKFA000 


2505 


LA 


2 


GARLEN 


GARD 





(0) 


IPKDB000 


1998 


LA 


3 










IPKDB000 


1999 


STH 


1 










IPKDBOOO 


2042 


LA 


3 










IPKDBOOO 


2043 


STH 


1 










IPKFAOOO 


1521 


MVC 


1 










IPKFAOOO 


1676 


MVC 


1 


GARLGTH 


GARENT 


3 


(3) 


IPKFAOOO 


2502 


LA 


1 


GARTYPE 


GARENT 





(0) 


IPKDBOOO 


2443 


MVC 


2 


GSDDIM 


GSDENTRY 


4 


(«) 


IPKFAOOO 


2506 


LA 


2 


GSDFLG 


GSD ENTRY 


3 


(3) 


IPKFAOOO 


2368 


MVI 


1 










IPKFAOOO 


2445 


MVI 


1 










IPKFAOOO 


3205 


MVI 


1 


GS DLEN 


GSDENTRY 


3 


(3) 


IPKFAOOO 


2467 


MVC 


2 


GS DNDX 


GSDENTRY 


1 


(D 


IPKFAOOO 


2431 


STH 


1 


GSDSYM 


GSDENTRY 


4 


(«) 


IPKFAOOO 


2434 


LA 


2 


GSDTYPE 


GSDENTRY 





(0) 


IPKFAOOO 


2426 


STC 


1 


HASHPTR 


PHYR 





(0) 


IPKKAOOO 


2434 


MVC 


1 










IPKKAOOO 


3446 


MVC 


1 










IPKKAOOO 


3999 


MVC 


1 










IPKKAOOO 


4049 


MVC 


1 










IPKKAOOO 


4205 


MVC 


1 


IFSAVE 


PCOMMON 


1672 


(688) 


IPKABOOO 


774 


STM 


1 










IPKABOOO 


880 


STM 


1 










IPKACOOO 


840 


STM 


1 










IPKAEOOO 


595 


STM 


1 










IPKAEOOO 


656 


STM 


1 










IPKAFOOO 


768 


STM 


1 










IPKAIOOO 


657 


STM 


1 


IJJALSW 


IJJCPTAB 


44 


(2C) 


IJJCPDO 


155 


01 


1 










IJJCPDO 


175 


NI 


1 










IJJCPD1N 


1230 


NI 


1 










IJJCPD1N 


1254 


01 


1 










IJJCPD2 


148 


01 


1 


IJJCPCNT 


IJJCPTAB 


76 


(4C) 


IJJCPDO 


227 


MVC 


2 










IJJCPD1N 


1273 


MVC 


2 


IJJCPCTR 


IJJCPTAB 


80 


(50) 


IJJCPDO 


230 


STC 


1 










IJJCPD1N 


1276 


STC 


1 



4" 



288 



[ 



c 



FIELD 


MODIFIED AREA k 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






IJJCPDAT 


IJJCPTAB 


82 


(52) 


IJJCPD0 


104 


XC 


2 










IJJCPD1N 


1200 


XC 


2 


IJJCPREC 


IJJCPTAB 


64 


(40) 


IJJCPD0 


212 


MVC 


2 










IJJCPD0 


226 


MVC 


2 










IJJCPD1N 


1256 


MVC 


2 










IJJCPD1N 


1272 


MVC 


2 










IJJCPD2 


121 


STC 


1 










IJJCPD2 


165 


MVC 


2 


IJJCPSEK 


IJJCPTAB 


60 


(3C) 


IJJCPDO 


223 


ST 


1 










IJJCPD1N 


1268 


ST 


1 










IJJCPD2 


164 


ST 


1 


IJJCP2ND 


IJJCPTAB 


45 


(2D) 


IJJCPDO 


139 


XC 


2 










IJJCPD2 


135 


XC 


2 


IJJFRSTR 


IJJCPTAB 


73 


(<*9) 


IJJCPDO 


189 


01 


1 










IJJCPD1N 


1292 


01 


1 


INDEX 


EDPMI 


16 


(10) 


IPKCC000 


1537 


MVC 


1 










IPKFA000 


2678 


STH 


1 










IPKFA000 


2816 


STH 


1 


INDKEY 


INDENTRY 





(0) 


IPKRA000 


1424 


MVC 


1 










IPKRB000 


968 


MVI 


1 










IPKRB000 


1375 


MVC 


2 


INDNP 


INDENTRY 


11 


(B) 


IPKRA000 


1442 


MVC 


2 










IPKRB000 


954 


LA 


1 










IPKRB000 


1374 


MVC 


2 


INDXB 


EPAR 


1 


(D 


IPKIA000 


4483 


ST 


1 


INDXC 


EPAR 


6 


(6) 


IPKIA000 


4486 


UNPK 


1 










IPKIA000 


4487 


MVZ 


1 


INDXCL 


EPAR 


5 


(5) 


IPKIAOOO 


3606 


LA 


1 










IPKIAOOO 


4488 


MVI 


1 


INDXFLAG 


EPAR 





(0) 


IPKIAOOO 


4484 


MVI 


1 


ITEM 


EDPMI 


10 


(A) 


IPKDAOOO 


1795 


LA 


1 










IPKDBOOO 


1787 


LA 


2 










IPKDBOOO 


2372 


LA 


2 










IPKDBOOO 


2375 


LA 


1 










IPKIAOOO 


4538 


LA 


2 










IPKIAOOO 


4650 


LA 


2 










IPKIAOOO 


5084 


LA 


1 










IPKIAOOO 


5152 


LA 


2 


ITEMFLAG 


EDPMI 


8 


(8) 


IPKCCOOO 


3216 


XC 


1 










IPKCCOOO 


3223 


01 


1 










IPKCCOOO 


3363 


XC 


1 










IPKCCOOO 


3372 


01 


1 










IPKCCOOO 


3378 


01 


1 










IPKCCOOO 


3385 


01 


1 










IPKCCOOO 


3395 


01 


1 










IPKCCOOO 


3425 


01 


1 










IPKDAOOO 


2527 


NI 


1 










IPKHAOOO 


2434 


01 


1 










IPKIAOOO 


5186 


NI 


1 


ITEML 


EDPMI 


9 


(9) 


IPKCCOOO 


3211 


STC 


1 










IPKCCOOO 


3265 


STC 


1 










IPKCCOOO 


3512 


STC 


1 










IPKCCOOO 


3611 


STC 


1 










IPKCCOOO 


3650 


STC 


1 










IPKDAOOO 


1815 


LA 


1 










IPKDAOOO 


1816 


LA 


5 










IPKDAOOO 


1861 


LA 


1 










IPKDAOOO 


1862 


LA 


5 










IPKIAOOO 


4902 


LA 


3 



Appendix I: Statements Modifying Data Areas 289 





-MODIFIED 


AREA 




MODIFYING INSTRUCTION- 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






ITEMT 


EDPMI 


7 


( 7 > 


IPKCC000 


1548 


LA 


1 










IPKCC000 


3365 


MVC 


1 










IPKCC000 


3446 


MVC 


2 










IPKCC000 


3485 


LA 


1 










IPKCC000 


3566 


MVC 


2 










IPKCC000 


3578 


MVC 


5 










IPKCC000 


3868 


LA 


1 










IPKCC000 


4326 


LA 


1 










IPKDA000 


1769 


LA 


5 










IPKDA000 


1816 


LA 


5 










IPKDAOOO 


1862 


LA 


5 










IPKDB000 


1753 


LA 












IPKHA000 


2404 


MVI 












IPKHA000 


2421 


MVI 












IPKIA000 


4527 


LA 












IPKIA000 


4902 


LA 




KEY 


DIRENTRY 


11 


(B) 


IPKRAOOO 
IPKRAOOO 
IPKRBOOO 
IPKRBOOO 
IPKRBOOO 
IPKRBOOO 
IPKRBOOO 


1374 
1396 
1058 
1135 
1215 
1293 
1330 


MVC 

MVI 

MVC 

MVI 

LA 

LA 

MVC 




KITEM 


EDPMI 


10 


(A) 


IPKDB000 


1869 


LA 




LBARADDR 


PCOMMON 


1989 


(7C5) 


IPKDB000 


2875 


STCM 




LCLASIZ 


PCOMMON 


1927 


(787) 


IPKDBO00 


2055 


STCM 




LCLASZ 


MACHEAD 


16 


(10) 


IPKIA000 


5715 


LA 




LCLBSIZ 


PCOMMON 


1930 


(78A) 


IPKDB000 


2061 


STCM 




LCLCSIZ 


PCOMMON 


1933 


(78D) 


IPKDB000 


2065 


STCM 




LMNAME 


EDPMI 


7 


(7) 


IPKCCOOO 


1523 


MVC 




LOCCNTHI 


PCOMMON 


2010 


(7DA) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


1893 
3503 
3520 
3640 


MVC 
MVC 
MVC 
MVC 




LOCCNTR 


PCOMMON 


2007 


(7D7) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 


1557 
1894 
2210 
2500 
2625 
3346 
3414 
3502 
3568 
4039 
4103 
4130 
4221 
4246 
1592 


STCM 

STCM 

STCM 

STCM 

MVC 

STCM 

MVC 

MVC 

MVC 

XC 

MVC 

MVC 

STCM 

STCM 

STCM 




LOCLATR 


PCOMMON 


2004 


(7D4) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


1535 
1583 
1610 


STH 
STH 
MVC 












IPKKAOOO 


1623 


MVC 


2 










IPKKAOOO 


1647 


MVC 


2 










IPKKAOOO 


1686 


MVC 












IPKKAOOO 


1699 


MVC 












IPKKAOOO 


1728 


MVC 












IPKKAOOO 


2055 


STH 












IPKKAOOO 


2579 


MVC 








290 



FIELD 


-MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






LOCLATR 


PCOMMON 


2004 


(7D4) 


IPKKAOOO 
IPKKAOOO 


3418 
4036 


MVC 
MVC 












IPKLA000 


1482 


MVC 


2 


LOCRATR 


PCOMMON 


2006 


(7D6) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


2626 
3501 
3587 
3595 
4085 
4089 
4099 
4104 


MVC 
MVC 
STC 
STC 
MVC 
MVC 
STC 
MVC 












IPKKA001 


4496 


XC 


2 


LOCTYPE 


PCOMMON 


2013 


(7DD) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


3371 
3382 
3395 


MVI 
MVI 
MVI 




LPNAME 


EDPMI 


7 


(7) 


IPKCC000 


4314 


MVC 


2 


MAN 


MNAENT 


3 


(3) 


IPKCC000 


1712 


LA 


2 










IPKCC000 


1740 


LA 


2 


MFLAGS 


PCOMMON 


1917 


(77D) 


IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKEAOOO 
IPKEAOOO 


1788 
2354 
3679 
3697 
3763 
1867 
1886 
1974 
2380 
2668 
1161 
1933 


01 
01 
01 
01 
01 
01 
01 
01 
01 
01 
01 
01 




MIB 


PCOMMON 


1917 


(77D) 


IPKDBOOO 
IPKDBOOO 


1542 
2839 


XC 

LA 


2 


MIBADDR 


PCOMMON 


1948 


(79C) 


IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKEAOOO 


1486 
1546 
2840 
1371 


LA 
LA 
STCM 
LA 




MLEVEL 


PCOMMON 


1944 


(798) 


IPKIAOOO 
IPKIAOOO 


2328 
2453 


STH 
STH 












IPKIAOOO 


5654 


XC 


2 


MNALEN 


MNAENT 


2 


(2) 


IPKCCOOO 


1763 


MVC 


2 










IPKFAOOO 


2838 


MVC 


2 


MNAMEL 


MACHEAD 


7 


(7) 


IPKFAOOO 


2138 


LA 




MNANDX 


MNAENT 





(0) 


IPKCCOOO 
IPKFAOOO 


1746 
2813 


STH 
STH 




NEXTCODE 


CODE 


2 


(2) 


IPKSAOOO 
IPKSBOOO 


3125 
1783 


LA 
LA 




NPLITBEG 


PCOMMON 


1908 


(774) 


IPKJAOOO 
IPKJAOOO 
IPKRAOOO 


2547 
4034 
1493 


MVC 
MVC 
LA 












IPKRAOOO 


1512 


MVC 


2 


NPMIB 


OCSTMH 


7 


(7) 


IPKDBOOO 
IPKDBOOO 
IPKEAOOO 


1627 
1658 
1367 


MVC 
MVC 
LA 




NPSSDR1 


PCOMMON 


1958 


(7A6) 


IPKDAOOO 


2767 


MVC 




NPSSDWL 


PCOMMON 


1965 


(7AD) 


IPKDAOOO 
IPKDAOOO 


2733 
2750 


LA 
LA 












IPKDAOOO 


2762 


MVC 


2 










IPKDBOOO 


1455 


LA 












IPKDBOOO 


1527 


LA 





Appendix I: Statements Modifying Data Areas 291 





MODIFIED AREA— 




MODIF 


YING INSTRUCTION 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






NPSSDWL 


PCOMMON 


1965 


(7AD) 


IPKDB000 


1533 


MVC 


2 










IPKDB000 


1536 


LA 


1 










IPKDB000 


2104 


MVC 


2 


NPVSD 


PCOMMON 


1942 


(796) 


IPKDBOOO 


2109 


MVC 




NPVSDR1 


PCOMMON 


1982 


(7BE) 


IPKDBOOO 
IPKDB000 


2108 
2606 


MVC 
MVC 




NXTENTRY 


PCOMMON 


1989 


(7C5) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKA001 
IPKKAOO 1 


2441 
3456 
4003 
4052 
4210 
4425 
4486 


ST 

ST 

ST 

ST 

ST 

MVC 

ST 




NXTRA 


EVALSTCK 


2 


(2) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


2876 
2878 
2915 
2920 
2922 
2937 


LA 

LA 

LA 

STH 

LA 

LA 












IPKKAOOO 


2957 


LA 


2 










IPKLAOOO 


2253 


LA 












IPKLAOOO 


2256 


LA 












IPKLA000 


2275 


LA 


2 










IPKLA000 


2291 


LA 












IPKLA000 


2297 


STH 












IPKLAOOO 


2299 


LA 












IPKLA000 


2315 


LA 












IPKLA000 


2335 


LA 


2 


OFFS 


DIRENTRY 


3 


(3) 


IPKRA000 
IPKRB000 
IPKRB000 


1382 
1020 
1095 


STH 
STH 
STH 




OVFLADDR 


PCOMMON 


1992 


(7C8) 


IPKDBOOO 


2873 


STCM 




PABENDC 


PCOMMON 


1669 


(685) 


IPKBAOOO 
IPKBAOOO 
IPKFAOOO 
IPKFAOOO 
IPKFAOOO 


1309 
1395 
2237 
2395 
3269 


MVI 
MVI 
MVI 
MVI 
MVI 




PAFLAG2 


PETFLDS 





(0) 


IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKKAOOO 


2085 
3140 
3145 
3188 
2297 


01 

STC 

01 

STC 

NI 












IPKKAOOO 


3904 


LA 


5 










IPKKAOOO 


3956 


01 












IPKKAOOO 


3981 


NI 












IPKKAOOO 


3983 


01 












IPKLAOOO 


1539 


01 












IPKLAOOO 


1825 


NI 












IPKLAOOO 


1844 


01 












IPKLAOOO 


1857 


01 












IPKLAOOO 


1860 


01 












IPKLAOOO 


1912 


01 












IPKLAOOO 


1929 


01 












IPKLAOOO 


1975 


01 




PANXT 


PETFLDS 


4 


W 


IPKPAOOO 


2529 


LA 




PASSGNSW 


PCOMMON 


2017 


(7E1) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


3289 
3699 
3834 
4352 


01 
NI 
01 
01 





<" 



292 



FIELD 


MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO . OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PASSGNSW 


PCOMMON 


2017 


(7E1) 


IPKKA001 
IPKKA001 
IPKLA000 
IPKLA000 


4505 
4510 
1235 
2616 


MVI 
NI 
01 
NI 




PBITALGN 


PDCEDIT 


7 


(7) 


IPKNA000 
IPKPA000 
IPKPA000 


1531 
2230 
2238 


XC 

STC 

MVI 




PBLKPTRK 


WORKDTF 


70 


(46) 


IPKBAOOO 
IPKBAOOO 


1912 

2085 


STC 
STC 




PBUFLEN1 


PCOMMON 


1697 


(6A1) 


IPKBAOOO 
IPKFAOOO 
IPKJAOOO 
IPKKA001 


1983 
3139 
4792 
4457 


STH 
MVC 
STH 
MVC 




PBUFLEN2 


PCOMMON 


1732 


(6C4) 


IPKBAOOO 
IPKJAOOO 


1897 
4781 


STH 
MVC 




PBUFLEN3 


PCOMMON 


1767 


(6E7) 


IPKBAOOO 


1807 


STH 




PB1FISIZ 


PCOMMON 


1885 


(75D) 


IPKBAOOO 


2072 


STH 




PB12SIZ 


PCOMMON 


1887 


(75F) 


IPKBAOOO 


2151 


STH 




PCBTYPE 


PETR 


5 


(5) 


IPKNA000 


1738 


LA 




PCNXT 


PETFLDS 


3 


(3) 


IPKPA000 


2557 


LA 


5 


PCODE 


PETFLDS 


1 


(1) 


IPKPA000 


2546 


LA 












IPKPA000 


2557 


LA 


5 


PCSRFLGA 


PCSR 


6 


(6) 


IPKCA001 
IPKCA001 
IPKCA001 
IPKCA001 
IPKCA001 
IPKCD001 
IPKCD001 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDBOOO 
IPKDBOOO 
IPKEAOOO 
IPKGAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKJAOOO 


1421 
1448 
1538 
1612 
1627 
1398 
1669 
1674 
2922 
2946 
1934 
2010 
1144 
1525 
2094 
2249 
2665 
4550 


01 
01 
01 
01 
NI 
01 
01 
NI 
01 
NI 
NI 
NI 
01 
01 
01 
01 
01 
MVC 




PCSRHEAD 


PCSR 





(0) 


IPKCCOOO 


1499 


XC 


2 










IPKCCOOO 


1518 


XC 


2 










IPKCCOOO 


4268 


XC 


2 










IPKCCOOO 


4310 


XC 


2 










IPKDBOOO 


1962 


XC 


2 










IPKDBOOO 


1995 


XC 


2 










IPKDBOOO 


2039 


XC 


2 


PCSRIOP 


PCSR 


2 


(2) 


IPKJAOOO 


4549 


MVC 




PCSRLEN 


PCSR 





(0) 


IPKCA001 
IPKCA001 
IPKCA001 
IPKCCOOO 
IPKCCOOO 
IPKCCOOO 
IPKCCOOO 
IPKCCOOO 


1194 
1597 
1900 
1530 
1535 
1632 
1863 
3476 


MVC 

STCM 

MVC 

MVC 

MVC 

MVC 

STCM 

STH 












IPKCCOOO 


4312 


MVI 


3 










IPKCD001 


1641 


MVC 












IPKDAOOO 


2834 


STH 





Appendix I: Statements Modifying Data Areas 293 



FIELD 


-MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


. MODIFYING INSTRUCTION 

CSECT STMNT NO . OPERATION 


CODE 


NAME 


NAME 


DEC HEX 


NAME 


(APPROX.) 






PCSRLEN 


PCSR 


(0) 


IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKEAOOO 
IPKFAOOO 
IPKGAOOO 
IPKIAOOO 
IPKPAOOO 


1623 
1656 
1817 
1978 
1383 
2063 
1389 
2085 
3783 


MVC 

MVC 

STH 

STH 

MVC 

MVC 

STCM 

STH 

MVC 




PCSROP 


PCSR 


3 (3) 


IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 


1193 
1393 
1401 
1446 
1457 
1901 


MVI 
MVI 
MVI 
MVI 
MVI 
MVI 










IPKCBOOO 


1067 


MVC 


2 








IPKCCOOO 


1500 


MVI 










IPKCCOOO 


1519 


MVI 










IPKCCOOO 


1633 


MVI 










IPKCCOOO 


3840 


MVI 










IPKCCOOO 


3843 


MVI 










IPKCCOOO 


3863 


MVI 










IPKCCOOO 


3866 


MVI 










IPKCCOOO 


4269 


MVI 










IPKCCOOO 


4311 


MVI 










IPKCDOO 1 


1642 


MVI 










IPKDBOOO 


1655 


MVI 










IPKDBOOO 


1802 


MVI 










IPKDBOOO 


1963 


MVI 










IPKDBOOO 


1996 


MVI 










IPKDBOOO 


2040 


MVI 










IPKEAOOO 


1384 


MVC 










IPKFAOOO 


2026 


STCM 










IPKPAOOO 


3175 


MVI 










IPKPAOOO 


3520 


MVI 




PCSROPX 


PCSR 


4 (4) 


IPKFAOOO 
IPKJAOOO 


2065 
1613 


XC 
MVI 


2 


PCSROPO 


PCSR 


2 (2) 


IPKCAOO 1 
IPKCBOOO 
IPKCCOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKDBOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKPAOOO 


1352 
1053 
3835 
2284 
2899 
2901 
2925 
2927 
2771 
2773 
2778 
2780 
1573 
2064 
1509 
3806 


01 

MVZ 

01 

01 

NI 

01 

NI 

01 

NI 

01 

NI 

01 

NI 

XC 

NI 

01 




PCSROP3 


PCSR 


5 (5) 


IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 
IPKCAOO 1 


1350 
1729 
1760 
1805 
1822 
1868 


01 
01 
01 
01 
01 
01 





^ 



294 



FIELD 


-MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC HEX 


NAME 


(APPROX.) 






PCSR0P3 


PCSR 


5 (5) 


IPKCA001 
IPKCBOOO 
IPKCBOOO 
IPKDAOOO 
IPKDAOOO 


2167 
1054 
1064 
1872 
2244 


01 

MVN 

OC 

01 

01 










IPKGA000 


1390 


MVC 


2 








IPKICOOO 


1033 


01 




PCSRSTR 1 


PCSR 


7 (7) 


IPKCCOOO 
IPKCCOOO 
IPKDAOOO 
IPKDAOOO 
IPKDAOOO 
IPKEAOOO 
IPKHAOOO 
IPKHAOOO 
IPKIAOOO 
IPKIAOOO 
IPKICOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 


1574 
1962 
1856 
1873 
1880 
1269 
1293 
1652 
1999 
2495 
938 
2394 
2568 
2609 
2912 
3755 
1729 
2726 
3560 


LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 




PDCCODE 


PDCOUT 


11 (B) 


IPKNAOOO 
IPKNBOOO 


1535 
3041 


LA 
LA 


5 








IPKNBOOO 


3047 


LA 


5 








IPKNBOOO 


3117 


ST 










IPKNBOOO 


3186 


ST 










IPKNBOOO 


3227 


STCM 










IPKNBOOO 


3231 


STCM 










IPKNBOOO 


3233 


STCM 










IPKNBOOO 


3235 


STCM 










IPKNBOOO 


3237 


STCM 










IPKNBOOO 


3268 


ST 










IPKNBOOO 


3311 


ST 










IPKOAOOO 


1445 


LA 










IPKOAOOO 


1480 


LA 










IPKOAOOO 


1522 


STC 


5 








IPKOAOOO 


1524 


LA 


5 








IPKOAOOO 


1555 


STC 


5 








IPKOAOOO 


1559 


STC 


5 








IPKOAOOO 


1564 


XC 


2 








IPKOAOOO 


1585 


LA 


2 








IPKOAOOO 


1685 


MVC 


2 








IPKOAOOO 


1758 


MVC 


1 


PDCFL 


PDCOUT 


6 (6) 


IPKOAOOO 


1489 


01 


1 


PDCFLAG 


PDCEDIT 


6 (6) 


IPKLAOOO 


1669 


NI 


1 








IPKLAOOO 


1677 


01 


1 








IPKNAOOO 


1528 


XC 


2 








IPKNAOOO 


1530 


NI 


1 


PDCFLD 


PDCEDIT 


2 (2) 


IPKLAOOO 


1654 


LA 


2 








IPKOAOOO 


1481 


LA 


1 








IPKOAOOO 


1500 


TR 


2 








IPKOAOOO 


1622 


LA 


1 








IPKOAOOO 


1724 


LA 


1 


PDCLEN 


PDCEDIT 


1 (D 


IPKLAOOO 


1657 


MVC 


1 



Appendix I: Statements Modifying Data Areas 295 





•MODIFIED 


AREA 




-—-MODIFYING INSTRUCTION -- 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PDCLEN 


PDCEDIT 


1 


0) 


IPKNB000 
IPKNB000 


3105 
3299 


LA 
LA 




PDTFADR 1 


PCOMMON 


1688 


(698) 


IPKBAOOO 


1449 


MVC 




PDTFADR2 


PCOMMON 


1723 


(6BB) 


IPKBAOOO 


1450 


MVC 




PDTFADR 3 


PCOMMON 


1758 


(6DE) 


IPKBAOOO 


1451 


MVC 




PDUPEXP 


PDCEDIT 





(0) 


IPKLAOOO 


1627 


MVC 


3 










IPKLAOOO 


1629 


LA 


5 










IPKLAOOO 


1679 


MVC 


2 


PDUPLFAC 


PDCOUT 





(0) 


IPKNA000 


1535 


LA 


5 










IPKNB000 


3047 


LA 


5 


PENDBUF1 


PCOMMON 


1699 


(6A3) 


IPKBAOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKKA001 


2241 
2026 
3152 
4789 
4459 


STCM 
STCM 
STCM 
STCM 
STCM 




PENDBUF2 


PCOMMON 


1734 


(6C6) 


IPKBAOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKKA001 


2245 
2016 
3149 
4780 
4469 


STCM 
STCM 
STCM 
STCM 
STCM 




PENDBUF3 


PCOMMON 


1769 


(6E9) 


IPKBAOOO 
IPKPA000 


2249 
4094 


STCM 
STCM 




PENTVAL 


PETFLDS 


9 


(9) 


IPKLAOOO 


1911 


MVC 




PEOF 


PFCB 


18 


(12) 


IPKDA000 


1387 


STCM 


3 










IPKEAOOO 


2098 


MVC 


5 










IPKJAOOO 


4839 


MVC 












IPKMAOOO 


1088 


MVC 












IPKOA000 


1208 


STCM 












IPKSA000 


3034 


STCM 












IPKSB000 


1401 


STCM 












IPKSB000 


1508 


STCM 




PEOFADR1 


PCOMMON 


1706 


(6AA) 


IPKPA000 


1551 


STCM 




PEOFADR2 


PCOMMON 


1741 


(6CD) 


IPKHAOOO 
IPKIAOOO 
IPKKA001 
IPKLAOOO 
IPKLAOOO 


1219 
5609 
4424 
1239 
1249 


MVC 

MVC 

STCM 

STCM 

STCM 




PEOFADR3 


PCOMMON 


1776 


(6F0) 


IPKHAOOO 
IPKPA000 


1220 
1549 


MVC 
STCM 




PERLNG 


PETR 


6 


(6) 


IPKDAOOO 
IPKDB000 


2436 
2712 


STC 
STC 












IPKFAOOO 


2911 


MVC 


2 










IPKFAOOO 


2912 


MVC 


2 










IPKGA000 


1743 


MVC 


2 










IPKGAOOO 


1744 


MVC 


2 










IPKIAOOO 


2308 


MVC 


2 










IPKIAOOO 


4408 


MVI 












IPKIAOOO 


4703 


MVC 


2 










IPKIAOOO 


5226 


STC 












IPKIAOOO 


5321 


MVC 


2 










IPKJAOOO 


3754 


STC 












IPKKAOOO 


3088 


MVI 












IPKKAOOO 


3117 


STC 












IPKLAOOO 


2467 


MVI 












IPKLAOOO 


2496 


STC 












IPKNAOOO 


1916 


MVI 












IPKNAOOO 


1927 


STC 












IPKNAOOO 


1968 


STC 












IPKNBOOO 


2888 


STC 





4 



296 



FIELD 


-MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRU 

CSECT STMNT NO. 


fCTION 

OPERATION 


CODE 


NAME 


NAME 


DEC HEX 


NAME 


(APPROX.) 






PERLNG 


PETR 


6 (6) 


IPKNB000 


2907 


STC 


1 








IPKNB000 


2913 


LA 


5 








IPKOA000 


1303 


STC 










IPKOA000 


1322 


STC 










IPKOA000 


1328 


LA 


5 


PERREXC 


PETR 


9 (9) 


IPKSA000 
IPKSB000 


3064 
1717 


LA 
LA 




PERRHD 


PERR 


(0) 


IPKPA000 


4033 


MVC 










IPKPA000 


4045 


MVC 


5 


PERRLEN 


PERR 


(0) 


IPKPA000 


4035 


STH 




PERRSTNR 


PERR 


6 (6) 


IPKPA000 


4032 


STH 




PERRSTR 


PETR 


8 (8) 


IPKSA000 


3066 


MVC 


2 








IPKSB000 


1719 


MVC 


2 


PERSRC 


PETR 


7 (7) 


IPKDAOOO 


2454 


MVC 


2 








IPKDBOOO 


2730 


MVC 


2 








IPKIAOOO 


4417 


LA 


5 








IPKIAOOO 


5238 


MVC 


2 








IPKJAOOO 


3739 


MVC 


1 








IPKKAOOO 


3092 


MVC 


2 








IPKKAOOO 


3098 


MVC 


2 








IPKKAOOO 


3101 


LA 


3 








IPKKAOOO 


3118 


LA 


5 








IPKLAOOO 


2471 


MVC 


2 








IPKLAOOO 


2477 


MVC 


2 








IPKLAOOO 


2480 


LA 


3 








IPKLAOOO 


2497 


LA 


5 








IPKNAOOO 


1912 


LA 


1 








IPKNAOOO 


1920 


MVC 


2 








IPKNAOOO 


1925 


MVC 


2 








IPKNBOOO 


2881 


MVC 


2 








IPKNBOOO 


2885 


MVC 


2 








IPKNBOOO 


2896 


MVC 


2 








IPKNBOOO 


2900 


MVC 


5 








IPKNBOOO 


2904 


MVC 


5 








IPKOAOOO 


1296 


MVC 


2 








IPKOAOOO 


1300 


MVC 


2 








IPKOAOOO 


1311 


MVC 


2 








IPKOAOOO 


1315 


MVC 


5 








IPKOAOOO 


1319 


MVC 


5 


PETEPX 


PETR 


4 (4) 


IPKCA001 
IPKCCOOO 
IPKCD001 
IPKDAOOO 
IPKDBOOO 
IPKEAOOO 
IPKFAOOO 
IPKGAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKJAOOO 
IPKKAOOO 
IPKLAOOO 


2376 
4359 
1717 
2419 
2695 
1961 
2855 
1765 
2306 
2317 
2635 
2745 
4698 
4701 
5225 
5319 
5469 
3730 
3081 
2460 


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 297 



MODIFIED 

FIELD DSECT 


AREA™ — 

DISPLACEMENT 


—MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME NAME 


DEC HEX 


NAME 


(APPROX.) 






PETEPX PETR 


4 (4) 


IPKNA000 


1949 


MVC 


2 






IPKNB000 


2917 


STC 


1 






IPKOA000 


1332 


STC 


1 


PETHEAD PETR 


(0) 


IPKCAOO 1 


2370 


XC 


2 






IPKCD001 


1711 


XC 


2 






IPKDA000 


2416 


XC 


2 






IPKDB000 


2692 


XC 


2 






IPKEA000 


1958 


XC 


2 






IPKGAOOO 


1706 


MVC 


1 






IPKGA000 


1764 


MVC 


1 






IPKJAOOO 


1570 


LA 


5 






IPKKA000 


1820 


LA 


5 






IPKKAOOO 


3118 


LA 


5 






IPKLAOOO 


2497 


LA 


5 






IPKNB000 


2913 


LA 


5 






IPKOA000 


1328 


LA 


5 


PETIOP PETR 


2 (2) 


IPKFA000 


2854 


MVC 








IPKJAOOO 


2604 


MVC 








IPKJAOOO 


2908 


MVC 








IPKJAOOO 


3694 


MVC 








IPKJAOOO 


4487 


MVC 




PETLEN PETR 


(0) 


IPKCAOO 1 


2372 


MVC 








IPKCCOOO 


4360 


MVC 








IPKCD001 


1713 


MVC 








IPKDAOOO 


2444 


STH 








IPKDBOOO 


2720 


STH 








IPKEAOOO 


1960 


MVC 








IPKFAOOO 


2901 


STH 








IPKGAOOO 


1713 


STH 








IPKGAOOO 


1731 


STH 








IPKGAOOO 


1776 


STH 








IPKIAOOO 


4418 


STH 








IPKJAOOO 


2228 


MVC 








IPKJAOOO 


2746 


STH 








IPKJAOOO 


3696 


MVC 








IPKJAOOO 


3756 


STH 








IPKKAOOO 


1648 


MVC 








IPKKAOOO 


1670 


MVC 








IPKKAOOO 


1821 


STH 








IPKKAOOO 


1897 


MVC 








IPKKAOOO 


1919 


MVC 








IPKKAOOO 


2155 


STH 








IPKKAOOO 


2242 


MVC 








IPKKAOOO 


2590 


MVC 








IPKKAOOO 


2596 


MVC 








IPKKAOOO 


2646 


MVC 








IPKKAOOO 


3089 


MVC 








IPKKAOOO 


3119 


STH 








IPKKAOOO 


3514 


MVC 








IPKKAOOO 


3542 


MVC 








IPKLAOOO 


1611 


STH 








IPKLAOOO 


2468 


MVC 








IPKLAOOO 


2498 


STH 








IPKNAOOO 


1891 


STH 








IPKNBOOO 


2914 


STH 








IPKNBOOO 


3048 


STH 








IPKNBOOO 


3053 


STH 








IPKNBOOO 


3462 


STH 








IPKOAOOO 


1329 


STH 








298 



f 



FIELD 


-MODIFIED 
DSECT 


AREA * — 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC HEX 


NAME 


(APPROX-) 






PETLEN 


PETR 


(0) 


IPKOA000 
IPKOA000 


1452 
1459 


STH 
STH 




PETOP 


PETR 


3 (3) 


IPKCA001 
IPKCCOOO 
IPKCD001 
IPKDAOOO 
IPKDBOOO 
IPKEAOOO 
IPKIAOOO 
IPKJAOOO 
IPKKAOOO 
IPKLAOOO 
IPKNAOOO 


2371 
4358 
1712 
2418 
2694 
1959 
4412 
3729 
3080 
2459 
1948 


MVI 
MVI 
MVI 
MVI 
MVI 
MVI 
MVI 
MVI 
MVI 
MVI 
MVI 




PETOPO 


PETR 


2 (2) 


IPKFAOOO 
IPKIAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKJAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 


2870 
4413 
1562 
1783 
2047 
3728 
4629 
1453 
1541 
1542 
1706 
1707 
1738 
1739 
1977 
3079 
3100 
1238 
1369 


01 

XC 

NI 

01 

01 

MVI 

MVI 

NI 

NI 

OC 

NI 

OC 

NI 

OC 

OC 

MVI 

01 

01 

NI 










IPKLAOOO 


1667 


MVC 


2 








IPKLAOOO 


1675 


01 










IPKLAOOO 


1746 


01 










IPKLAOOO 


1757 


01 










IPKLAOOO 


1854 


NI 










IPKLAOOO 


2458 


MVI 










IPKLAOOO 


2479 


01 










IPKNAOOO 


1521 


01 










IPKNAOOO 


1907 


NI 










IPKNAOOO 


1909 


01 










IPKNBOOO 


3016 


01 










IPKSBOOO 


1725 


01 




PETOP3 


PETR 


5 (5) 


IPKIAOOO 
IPKJAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKNAOOO 
IPKNAOOO 


5559 
2227 
1569 
1669 
1845 
1918 
2241 
3567 
1659 
1664 


01 
01 
01 
01 
01 
01 
01 
01 
01 
NI 




PETSTNO 


PETR 


6 (6) 


IPKJAOOO 
IPKJAOOO 


2729 
4591 


STH 
MVC 




PEXPFLAG 


PETFLDS 


1 (1) 


IPKNAOOO 


2182 


01 




PFCBSW 


PFCB 


17 (11) 


IPKAAOOO 
IPKAAOOO 


1925 
2004 


01 
NI 





Appendix I: Statements Modyifying Data Areas 299 



MODIFIED AREA 


MODIF 


YING INSTRU 


fCTION 




FIELD DSECT DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME NAME DEC HEX 


NAME 


(APPROX.) 






PFCBSW PFCB 17 (11) 


IPKAA000 


2174 


01 






IPKAAOOO 


2227 


NI 






IPKAA000 


2239 


01 






IPKAA000 


2249 


NI 






IPKAAOOO 


2296 


NI 






IPKAAOOO 


2385 


NI 






IPKAAOOO 


2397 


01 






IPKDBOOO 


1488 


01 






IPKDBOOO 


1643 


NI 






IPKFA000 


2345 


01 






IPKFAOOO 


2349 


NI 






IPKFAOOO 


2721 


01 






IPKFAOOO 


2725 


NI 






IPKFAOOO 


2951 


NI 






IPKHAOOO 


2636 


NI 






IPKIAOOO 


2522 


NI 






IPKIAOOO 


2528 


NI 






IPKJAOOO 


4287 


01 






IPKKAOOO 


3653 


01 






IPKKAOOO 


3768 


01 






IPKKAOOO 


4079 


01 






IPKKAOOO 


4329 


01 






IPKRBOOO 


1383 


01 






IPKSBOOO 


1468 


NI 




PFILE2 PCOMMON 1723 (6BB) 


IPKBAOOO 


1585 


LA 






IPKCA001 


1131 


LA 






IPKCA001 


1904 


LA 






IPKCA001 


2379 


LA 






IPKCCOOO 


1414 


LA 






IPKCCOOO 


1541 


LA 






IPKCCOOO 


1636 


LA 






IPKCCOOO 


1640 


LA 






IPKCCOOO 


1866 


LA 






IPKCCOOO 


3479 


LA 






IPKCCOOO 


4320 


LA 






IPKCCOOO 


4369 


LA 






IPKCD001 


1072 


LA 






IPKCD001 


1325 


LA 






IPKCD001 


1373 


LA 






IPKCD001 


1546 


LA 






IPKCD001 


1550 


LA 






IPKCD001 


1645 


LA 






IPKCD001 


1672 


LA 






IPKCD001 


1720 


LA 






IPKDAOOO 


1387 


STCM 


3 




IPKDAOOO 


1540 


LA 






IPKDBOOO 


1594 


LA 






IPKDBOOO 


1641 


LA 






IPKDBOOO 


1707 


LA 






IPKDBOOO 


2863 


LA 






IPKEAOOO 


1390 


LA 






IPKEAOOO 


1490 


LA 






IPKEAOOO 


1615 


LA 






IPKEAOOO 


2079 


LA 






IPKEAOOO 


2085 


LA 






IPKEAOOO 


2090 


LA 






IPKFAOOO 


1456 


LA 






IPKFAOOO 


1639 


LA 






IPKFAOOO 


1667 


LA 





■i ' 
% 



300 



%8h*- / 



MODIFIED AREA 


MODIFYING INSTRUCTION 




FIELD DSECT DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME NAME DEC HEX 


NAME 


(APPROX.) 






PFILE2 PCOMMON 1723 (6BB) 


IPKFA000 


1765 


LA 






IPKFA000 


1961 


LA 






IPKFA000 


2210 


LA 






IPKFA000 


2302 


LA 






IPKFA000 


2949 


LA 






IPKFA000 


2982 


LA 






IPKFAOOO 


3028 


LA 






IPKFA000 


3210 


LA 






IPKFAOOO 


3253 


LA 






IPKFAOOO 


3277 


LA 






IPKFAOOO 


3355 


LA 






IPKGA000 


1226 


LA 






IPKGAOOO 


1509 


LA 






IPKGAOOO 


1806 


LA 






IPKGAOOO 


1881 


LA 






IPKHAOOO 


1210 


LA 






IPKHAOOO 


1216 


LA 






IPKHAOOO 


1237 


LA 






IPKHAOOO 


2628 


XC 






IPKHAOOO 


2630 


XC 






IPKHAOOO 


2640 


LA 






IPKHAOOO 


2697 


LA 






IPKIAOOO 


2450 


LA 






IPKIAOOO 


2472 


LA 






IPKIAOOO 


2526 


LA 






IPKIAOOO 


5340 


LA 






IPKIAOOO 


5478 


LA 






IPKIAOOO 


5500 


LA 






IPKIAOOO 


5683 


LA 






IPKIAOOO 


5712 


LA 






IPKIAOOO 


5751 


LA 






IPKJAOOO 


1462 


LA 






IPKJAOOO 


3668 


LA 






IPKJAOOO 


3699 


LA 






IPKJAOOO 


3759 


LA 






IPKJAOOO 


4571 


LA 






IPKJAOOO 


4594 


LA 






IPKJAOOO 


4624 


LA 






IPKJAOOO 


4852 


LA 






IPKJAOOO 


4856 


LA 






IPKKAOOO 


1436 


LA 






IPKKA001 


4517 


LA 






IPKLAOOO 


1242 


XC 






IPKLAOOO 


1252 


LA 






IPKLAOOO 


1362 


LA 






IPKLAOOO 


2605 


XC 






IPKMAOOO 


1087 


LA 






IPKOAOOO 


1201 


LA 






IPKOAOOO 


1206 


LA 






IPKOAOOO 


1221 


LA 






IPKRAOOO 


1586 


LA 






IPKRAOOO 


1595 


LA 






IPKRAOOO 


1668 


LA 




PFILE3 PCOMMON 1758 (6DE) 


IPKBAOOO 


1589 


LA 






IPKCCOOO 


1689 


LA 






IPKCCOOO 


1777 


LA 






IPKCD0O1 


1621 


LA 






IPKDAOOO 


2732 


LA 






IPKDAOOO 


2749 


LA 





Appendix I: Statements Modifying Data Areas 301 



MODIFIED AREA- — 


MODIFYING INSTRUCTION 




FIELD DSECT DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME NAME DEC HEX 


NAME 


(APPROX.) 






PFILE3 PCOMMON 1758 (6DE) 


IPKDA000 


3008 


LA 






IPKDA000 


3013 


LA 






IPKDB000 


1454 


LA 






IPKDB000 


1480 


LA 






IPKDB000 


1485 


LA 






IPKDB000 


1520 


LA 






IPKDB000 


1526 


LA 






IPKDB000 


1545 


LA 






IPKDBOOO 


1553 


LA 






IPKDB000 


2090 


LA 






IPKDB000 


2502 


LA 






IPKDB000 


2517 


LA 






IPKDBOOO 


2588 


LA 






IPKEAOOO 


1357 


LA 






IPKEAOOO 


1366 


LA 






IPKEAOOO 


1405 


LA 






IPKEAOOO 


1434 


LA 






IPKEAOOO 


1475 


LA 






IPKEAOOO 


1581 


LA 






IPKEAOOO 


1860 


LA 






IPKEAOOO 


1865 


LA 






IPKEAOOO 


1876 


LA 






IPKEAOOO 


1912 


LA 






IPKEAOOO 


2095 


LA 






IPKEAOOO 


2101 


LA 






IPKFAOOO 


2905 


LA 






IPKFAOOO 


3062 


LA 






IPKFAOOO 


3223 


LA 






IPKFAOOO 


3238 


LA 






IPKFAOOO 


3366 


LA 






IPKGAOOO 


1534 


LA 






IPKGAOOO 


1623 


LA 






IPKGAOOO 


1739 


LA 






IPKGAOOO 


1779 


LA 






IPKHAOOO 


1189 


LA 






IPKHAOOO 


1233 


LA 






IPKHAOOO 


2629 


XC 






IPKHAOOO 


2634 


LA 






IPKHAOOO 


2652 


LA 






IPKHAOOO 


2676 


LA 






IPKHAOOO 


2690 


LA 






IPKIAOOO 


2117 


LA 






IPKIAOOO 


2516 


LA 






IPKIAOOO 


2671 


LA 






IPKIAOOO 


4422 


LA 






IPKIAOOO 


4985 


LA 






IPKIAOOO 


5261 


LA 






IPKIAOOO 


5492 


LA 






IPKIAOOO 


5563 


LA 






IPKIAOOO 


5699 


LA 






IPKICOOO 


1006 


LA 






IPKICOOO 


1036 


LA 






IPKJAOOO 


1500 


LA 






IPKJAOOO 


4838 


LA 






IPKJAOOO 


4877 


LA 






IPKKAOOO 


3173 


LA 






IPKKAOOO 


3178 


LA 






IPKKAOOO 


3183 


LA 






IPKKAOOO 


3187 


LA 





* 
A 



302 



FIELD 


-MODIFIED AREA 

DSECT DI SPLACEMENT 


-MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME DEC 


HEX 


NAME 


(APPROX.) 






PFILE3 


PCOMMON 1758 


(6DE) 


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 


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 


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 




PFINDPT 


PCOMMON 1891 


(763) 


IPKBAOOO 
IPKFAOOO 


2169 
3112 


MVC 
MVC 




PFLDCOL 


PSTRINGS 1 


(1) 


IPKCA001 
IPKCA001 
IPKCCOOO 


1197 
2018 
1936 


MVI 
STC 
STC 










IPKCCOOO 


1974 


LA 


2 








IPKCCOOO 


2000 


LA 










IPKEAOOO 


1279 


LA 


2 








IPKIAOOO 


2181 


LA 


2 








IPKJAOOO 


4562 


MVI 




PFLDLEN 


PSTRINGS 


(0) 


IPKCA001 
IPKCA001 
IPKCCOOO 
IPKCCOOO 
IPKIAOOO 
IPKIAOOO 
IPKJAOOO 


1196 
1998 
1610 
1919 
2202 
2237 
4561 


MVI 
STC 
MVI 
STC 
STC 
MVI 
STC 




PFLDSRC 


PSTRINGS 2 


(2) 


IPKCA001 


1198 


MVC 


2 








IPKCA001 


2021 


LA 


5 








IPKCA001 


2024 


MVC 


2 








IPKCCOOO 


1939 


LA 


5 








IPKCCOOO 


1942 


MVC 


2 








IPKCD001 


1236 


LA 










IPKDAOOO 


2318 


LA 










IPKDAOOO 


2485 


LA 


5 








IPKIAOOO 


2185 


LA 










IPKIAOOO 


2203 


LA 










IPKIAOOO 


2265 


LA 










IPKJAOOO 


4576 


MVC 


2 


PGBLASIZ 


PCOMMON 1940 


(794) 


IPKFAOOO 
IPKIAOOO 


2928 
5647 


STCM 
LA 




PGBLBSIZ 


PCOMMON 1943 


(797) 


IPKFAOOO 


2937 


STCM 





Appendix I: Statements Modifying Data Areas 303 



FIELD 


■MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PGBLCSIZ 


PCOMMON 


1946 


(79A) 


IPKFAOOO 


2941 


STCM 




PGBLSIZ 


PCOMMON 


1940 


(794) 


IPKFAOOO 


3344 


XC 




PGENSW 


PCOMMON 


1921 


(781) 


IPKFAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKICOOO 


2959 
1918 
1942 
2375 
2416 
2452 
4461 
4707 
4977 
5256 
5326 
1009 


NI 
NI 
NI 
01 
01 
NI 
NI 
01 
01 
01 
01 
01 




PGVENT1 


PGVHEAD 


7 


(7) 


IPKIAOOO 


2615 


LA 












IPKIAOOO 


2617 


LA 


3 


PGVHLEN 


PGVHEAD 





(0) 


IPKFAOOO 


2569 


STH 




PHICORE 


PCOMMON 


1666 


(682) 


IPKBAOOO 


1299 


MVC 




PIERCNT 


PCOMMON 


1969 


(7B1) 


IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 


2000 
2028 
2755 
4393 
5750 


XC 

XC 

XC 

STH 

XC 




PIERSTK 


PCOMMON 


1971 


(7B3) 


IPKIAOOO 


4390 


STC 


2 


PINPUTPT 


PCOMMON 


1894 


(766) 


IPKBAOOO 
IPKFAOOO 
IPKTAOOO 


2165 
3108 
1013 


MVC 
MVC 
MVC 




PITEM 


EDPMI 


10 


(A) 


IPKCCOOO 
IPKDBOOO 


3676 
1853 


MVC 
LA 


2 


PLA 


PETFLDS 


2 


(2) 


IPKLAOOO 


1579 


LA 












IPKNBOOO 


3252 


LA 


5 










IPKNBOOO 


3256 


LA 


5 


PLENATTR 


PETR 


8 


(8) 


IPKKAOOO 
IPKKAOOO 


1536 
1582 


STH 
STH 












IPKKAOOO 


1644 


MVC 


2 










IPKKAOOO 


1687 


MVC 


2 










IPKKAOOO 


1700 


MVC 


2 










IPKKAOOO 


1818 


STH 


1 










IPKKAOOO 


1861 


MVC 


2 










IPKKAOOO 


2056 


MVC 


2 










IPKKAOOO 


3513 


MVC 


2 










IPKKAOOO 


3541 


MVC 


2 










IPKLAOOO 


1457 


MVC 












IPKNAOOO 


1527 


STH 












IPKNBOOO 


3038 


STH 












IPKNBOOO 


3094 


STCM 












IPKNBOOO 


3289 


STCM 












IPKOAOOO 


1441 


STH 












IPKOAOOO 


1681 


STH 












IPKOAOOO 


1716 


STCM 












IPKPAOOO 


2077 


STH 












IPKPAOOO 


2226 


STH 












IPKPAOOO 


2247 


STH 












IPKPAOOO 


2345 


STH 




PLINECNT 


PCOMMON 


1843 


(733) 


IPKBAOOO 


1339 


MVC 


5 


PLINENUM 


PCOMMON 


1917 


(77D) 


IPKQAOOO 
IPKSAOOO 


1098 
3143 


MVC 
MVC 




PLITBLK 


PCOMMON 


1904 


(770) 


IPKJAOOO 
IPKJAOOO 


2493 
4030 


STH • 
STH 





4 



304 



FIELD 


•MODIFIED AREA 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PLITBLK 


PCOMMON 


1904 


(770) 


IPKJA000 


4882 


STH 


1 










IPKRA000 


1497 


STH 


1 


PLITLEN 


PCOMMON 


1906 


(772) 


IPKJA000 


4772 


MVC 


1 










IPKJA000 


4891 


STH 


1 


PLOCCNTR 


PETR 


11 


(B) 


IPKKA000 


1540 


STCM 


1 










IPKKA000 


1708 


STCM 


1 










IPKKA000 


1737 


STCM 


1 










IPKLA000 


1456 


MVC 


1 










IPKPA000 


1806 


STCM 


1 










IPKPA000 


1814 


STCM 


1 










IPKPA000 


2040 


STCM 


1 










IPKPA000 


2112 


STCM 


1 


PLORMIN 


EVALSTCK 





(0) 


IPKKA000 


2873 


MVI 


1 










IPKKA000 


2875 


MVI 


1 










IPKKA000 


2921 


MVC 


2 










IPKKA000 


2936 


MVC 


2 










IPKLA000 


2250 


MVI 


1 










IPKLA000 


2252 


MVI 


1 










IPKLA000 


2298 


MVC 


2 










IPKLA000 


2314 


MVC 


2 


PLRELATR 


PETR 


10 


(A) 


IPKKA000 


1543 


MVC 


1 










IPKKA000 


1740 


MVC 


1 










IPKKA000 


2587 


MVC 


1 


PMAVBSIZ 


PCOMMON 


1936 


(790) 


IPKFA000 


3342 


MVC 


1 


PMAVNO 


PCOMMON 


1938 


(792) 


IPKFA000 


2187 


STH 


1 










IPKFA000 


3343 


XC 


1 


PMAVNP 


PCOMMON 


1930 


(78A) 


IPKFA000 


2974 


MVC 


2 










IPKIA000 


5634 


LA 


1 


PMIBLEN 


PCOMMON 


1951 


(79F) 


IPKDBOOO 


2842 


STH 


1 


PMODEXP 


PDCEDIT 


1 


(D 


IPKLAOOO 


1644 


LA 


1 


PMODFLAG 


PDCEDIT 





(0) 


IPKLAOOO 


1627 


MVC 


3 










IPKLAOOO 


1634 


LA 


5 


PMODIFS 


PDCEDIT 


9 


(9) 


IPKLAOOO 


1628 


LA 


1 










IPKLAOOO 


1629 


LA 


5 










IPKNAOOO 


1532 


LA 


3 










IPKNBOOO 


3018 


LA 


1 










IPKOAOOO 


1413 


LA 


1 


PNAMCOL 


PSTRINGS 


1 


(D 


IPKCCOOO 


1578 


LA 


2 










IPKHAOOO 


1658 


LA 


2 










IPKICOOO 


942 


LA 


2 










IPKJAOOO 


2398 


LA 


2 










IPKJAOOO 


3569 


LA 


2 


PNAME 


PETFLDS 


1 


(D 


IPKJAOOO 


3558 


MVC 


2 










IPKJAOOO 


3561 


LA 


2 










IPKKAOOO 


2279 


LA 


2 










IPKKAOOO 


2351 


LA 


2 










IPKKAOOO 


3322 


LA 


2 










IPKLAOOO 


1766 


01 


1 










IPKLAOOO 


1770 


LA 


2 


PNAMFLD 


PETR 


15 


(F) 


IPKJAOOO 


1568 


MVI 


1 










IPKJAOOO 


1570 


LA 


5 










IPKJAOOO 


2608 


LA 


1 










IPKJAOOO 


2834 


LA 


3 










IPKJAOOO 


2911 


LA 


1 










IPKJAOOO 


3695 


MVI 


1 










IPKJAOOO 


4490 


LA 


1 










IPKKAOOO 


1554 


LA 


1 










IPKKAOOO 


1646 


MVC 


2 










IPKKAOOO 


1709 


LA 


1 



Appendix I: Statements Modifying Data Areas 305 



FIELD 


-MODIFIED AREA — 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PNAMFLD 


PETR 


15 


(F) 


IPKKAOOO 


1820 


LA 


5 










IPKKAOOO 


1822 


LA 


1 










IPKKAOOO 


1895 


STCM 


1 










IPKKAOOO 


2188 


LA 


1 










IPKKA000 


2273 


LA 


1 










IPKKA000 


2346 


LA 


1 










IPKKA000 


2589 


MVC 


2 










IPKKA000 


3318 


LA 


1 










IPKKA000 


3369 


MVC 


2 










IPKKA000 


3380 


MVC 


2 










IPKKAOOO 


3393 


MVC 


2 










IPKKAOOO 


3401 


LA 


1 










IPKKA000 


3873 


LA 


5 










IPKKAOOO 


4189 


LA 


1 










IPKLAOOO 


1489 


LA 


1 










IPKLAOOO 


1782 


LA 


1 










IPKLAOOO 


1813 


LA 


1 










IPKLAOOO 


1880 


LA 


3 










IPKLAOOO 


1954 


LA 


3 


PNAMLEN 


PSTRINGS 





(0) 


IPKJAOOO 


4554 


MVI 


1 










IPKPAOOO 


2775 


LA 


5 










IPKPAOOO 


3093 


LA 


5 


PNAMLNG 


PETFLDS 





(0) 


IPKJAOOO 


3560 


STC 


1 










IPKKAOOO 


3556 


MVC 


2 










IPKKAOOO 


3557 


MVC 


3 


PNAMSRC 


PSTRINGS 


2 


(2) 


IPKCD001 


1097 


LA 


1 










IPKJAOOO 


2579 


LA 


1 










IPKJAOOO 


3527 


LA 


1 










IPKPAOOO 


2744 


LA 


1 










IPKPAOOO 


3070 


LA 


3 


PNEXTNP 


PFCB 


29 


(1D) 


IPKAAOOO 


1946 


MVC 


2 










IPKAAOOO 


2052 


LA 


1 










IPKAAOOO 


2068 


MVC 


2 










IPKAAOOO 


2167 


LA 


1 










IPKAAOOO 


2186 


MVC 


2 










IPKAAOOO 


2214 


LA 


1 


PNEXTNP3 


PCOMMON 


1787 


(6FB) 


IPKHAOOO 


2693 


MVC 


1 


PNPMAC1 


PCOMMON 


1907 


(773) 


IPKFAOOO 


3352 


MVC 


2 










IPKIAOOO 


4592 


LA 


1 


PNPOCGV 


PCOMMON 


1922 


(782) 


IPKFAOOO 


1658 


MVC 


2 










IPKIAOOO 


5736 


LA 


1 


PNPGFFS 


PFCB 


27 


(1B) 


IPKAAOOO 


2024 


STH 


1 










IPKAAOOO 


2393 


STH 


1 


PNPRW 


PFCB 


21 


(15) 


IPKAAOOO 


1942 


MVC 


2 










IPKAAOOO 


2064 


MVC 


2 










IPKAAOOO 


2181 


MVC 


2 










IPKEAOOO 


1345 


LA 


1 










IPKEAOOO 


1709 


LA 


1 


PNXTBKT 


PETFLDS 


9 


(9) 


IPKJAOOO 


3161 


LA 


1 










IPKJAOOO 


3191 


LA 


1 










IPKKAOOO 


2184 


LA 


1 










IPKKAOOO 


2326 


LA 


1 










IPKKAOOO 


2360 


LA 


1 










IPKKAOOO 


2783 


LA 


1 










IPKKAOOO 


2793 


LA 


1 










IPKKAOOO 


2993 


LA 


1 










IPKKAOOO 


3904 


LA 


5 










IPKLAOOO 


1540 


LA 


1 










IPKLAOOO 


1861 


LA 


1 






306 



FIELD 


-MODIFIED AREA 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PNXTBKT 


PETFLDS 


9 


(9) 


IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 


1930 
1979 
2171 
2183 
2375 


LA 
LA 
LA 
LA 
LA 


3 


PNXTMOD 


PDCEDIT 


4 


W 


IPKLAOOO 


1633 


LA 












IPKLAOOO 


1634 


LA 


5 










IPKOA000 


1704 


LA 












IPKOA000 


1710 


LA 




POLSTR 


PETFLDS 


2 


(2) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


1609 
1758 
1780 
1870 
2578 
3329 


LA 
LA 
LA 
LA 
LA 
LA 




POPCOL 


PSTRINGS 


1 


(1) 


IPKHAOOO 


1667 


LA 


2 


POPDCOL 


PSTRINGS 


1 


(1) 


IPKHAOOO 


1320 


LA 


2 










IPKHAOOO 


1937 


LA 


2 










IPKJAOOO 


2402 


LA 


2 


POPDSRC 


PSTRINGS 


2 


(2) 


IPKCD001 
IPKCD001 
IPKHAOOO 
IPKJAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 


1159 
1412 
1322 
2403 
2786 
2887 
3115 
3245 
3396 


LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 




POPFLAG 


PETFLDS 





(0) 


IPKJAOOO 


2741 


MVI 












IPKLAOOO 


1577 


MVC 


2 










IPKLAOOO 


1599 


MVI 












IPKLAOOO 


1606 


MVI 




POPLEN 


PSTRINGS 





(0) 


IPKDA000 


1980 


MVC 


2 










IPKPAOOO 


2777 


LA 


5 










IPKPAOOO 


3095 


LA 


5 


POPNUMB 


PETR 


4 


(0) 


IPKJAOOO 
IPKJAOOO 
IPKJAOOO 


1567 
1786 
2050 


STC 
MVI 
MVI 




POPSRC 


PSTRINGS 


2 


(2) 


IPKICOOO 
IPKJAOOO 


952 
2399 


LA 
LA 




PPAGENO 


PCOMMON 


1919 


(77F) 


IPKMAOOO 
IPKMAOOO 
IPKPAOOO 
IPKQAOOO 
IPKRA001 
IPKSAOOO 
IPKSBOOO 


1531 
1612 
3938 
1369 
2123 
3186 
1835 


AP 
AP 
AP 
AP 
AP 
AP 
AP 




PRECLEN 


PFCB 


9 


(9) 


IPKMAOOO 


1094 


MVC 












IPKMAOOO 


1193 


MVC 


2 


PREFCNT 


PCOMMON 


1928 


(788) 


IPKKAOOO 
IPKKAOOO 
IPKKA001 
IPKLAOOO 


3165 
3260 
4503 
2544 


ST 
ST 
XC 
ST 




PROGID 


PCOMMON 


1845 


(735) 


IPKCD001 


1088 


MVC 












IPKCD001 


1119 


MVC 


2 










IPKJAOOO 


2570 


MVC 












IPKJAOOO 


2578 


LA 












IPKJAOOO 


2589 


MVC 












IPKMAOOO 


1171 


TR 





Appendix I: Statements Modifying Data Areas 307 



FIELD 


-MODIFIED i 
DSECT 


^REA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO . OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PSAVPT 


PCOMMON 


1833 


(729) 


IPKCC000 


1461 


XC 


1 










IPKDA000 


1531 


XC 


1 










IPKFA000 


2164 


XC 


1 










IPKIA000 


4710 


XC 


1 










IPKJAOOO 


1478 


XC 


1 










IPKNA000 


1474 


XC 


1 










IPKTA000 


1015 


XC 


1 


PSFLAG2 


PETFLDS 





(0) 


IPKKA000 


2315 


01 


1 


PSIGN 


PETFLDS 


9 


(9) 


IPKNB000 


3196 


LA 


1 










IPKNB000 


3252 


LA 


5 










IPKNB000 


3256 


LA 


5 










IPKNB000 


3328 


LA 


1 










IPKNB000 


3526 


LA 


1 










IPKNB000 


3572 


LA 


1 


PSLENATR 


PETFLDS 


1 


d) 


IPKKA000 


2314 


MVC 


2 










IPKKAOOO 


4146 


MVC 


5 










IPKLAOOO 


1538 


MVC 


2 










IPKLA000 


1842 


MVC 


2 


PSPILLA 


PCOMMON 


1963 


(7AB) 


IPKIA000 


5341 


LA 


1 










IPKIA000 


5359 


MVC 


2 










IPKIA000 


5610 


MVC 


1 


PSRELATR 


PETFLDS 


3 


(3) 


IPKKAOOO 


2183 


MVI 


1 










IPKKA000 


4153 


MVC 


5 










IPKKAOOO 


4180 


STC 


5 


PSTMCSEQ 


PCOMMON 


1910 


(776) 


IPKAC000 


855 


AP 


1 










IPKGA000 


1717 


AP 


1 


PSTRCOL 


PSTRINGS 


1 


(D 


IPKCA001 


1585 


LA 


2 










IPKCA001 


1964 


STC 


1 










IPKCC000 


1607 


LA 


2 










IPKCC000 


1853 


LA 


2 










IPKCC000 


3911 


STC 


1 










IPKHA000 


1719 


LA 


2 


PSTRLEN 


PSTRINGS 





(0) 


IPKCA001 


1949 


STC 


1 










IPKCC000 


3906 


STC 


1 


PSTRSRC 


PSTRINGS 


2 


(2) 


IPKCA001 


1965 


LA 


1 










IPKCC000 


3912 


LA 


1 










IPKPA000 


3695 


LA 


5 










IPKPA000 


3830 


LA 


5 


PSVALUE 


PETFLDS 


4 


<<0 


IPKKA000 


2182 


XC 


1 


PSYMBOL 


PETFLDS 


1 


(1) 


IPKJA000 


3138 


MVC 


1 










IPKJA000 


3166 


MVC 


2 










IPKJA000 


3189 


MVC 


1 










IPKJA000 


3194 


MVC 


2 










IPKLA000 


1974 


01 


1 


PSYMNO 


PETR 


14 


(E) 


IPKJA000 


1517 


MVI 


1 










IPKJA000 


2607 


LA 


1 










IPKJAOOO 


2835 


MVI 


1 










IPKJAOOO 


2840 


STC 


1 










IPKKAOOO 


1645 


MVI 


1 










IPKKAOOO 


1819 


MVI 


1 










IPKKAOOO 


1862 


MVI 


1 










IPKKAOOO 


2141 


STC 


1 










IPKKAOOO 


2588 


MVI 


1 










IPKKAOOO 


2595 


MVI 


1 










IPKKAOOO 


2645 


MVI 


1 










IPKLAOOO 


1455 


STCM 


1 










IPKLAOOO 


1547 


LA 


1 










IPKLAOOO 


1664 


LA 


1 










IPKLAOOO 


1694 


LA 


1 






308 






——-. — — —— — J. 

FIELD 


MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRU 

CSECT STMNT NO. 


rCTION 

OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






PSYMNO 


PETR 


14 


(E) 


IPKNAOOO 
IPKNAOOO 
IPKNBOOO 
IPKNBOOO 
IPKOAOOO 
IPKOAOOO 
IPKOAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 
IPKPAOOO 


1476 
1883 
2795 
2798 
1225 
1228 
1361 
1828 
1953 
2054 
2206 


LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 
LA 




PSYMTABL 


PCOMMON 


2014 


(7DE) 


IPKKA001 


4502 


STCM 




PSYSNDX 


PCOMMON 


1922 


(782) 


IPKIA000 
IPKIA000 


4482 
5749 


ST 
XC 




PSYSPSTR 


PCOMMON 


1876 


(754) 


IPKBAOOO 
IPKSB000 


1375 
1619 


TR 
LA 




PVSDSIZE 


PCOMMON 


1899 


(76B) 


IPKBAOOO 


2016 


STH 




PWAADDR 


PFCB 


14 


(E) 


IPKDA000 


1796 


STCM 


3 










IPKDA000 


1800 


STCM 


3 










IPKFAOOO 


2953 


MVC 


5 


PWAADDR 1 


PCOMMON 


1702 


(6A6) 


IPKBAOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKKAOOO 
IPKKA001 
IPKPAOOO 
IPKPAOOO 


2229 
2033 
3135 
4796 
3295 
4465 
3988 
4041 


STCM 

STCM 

STCM 

STCM 

MVC 

STCM 

STCM 

STCM 




PWAADDR2 


PCOMMON 


1737 


(6C9) 


IPKBAOOO 
IPKEAOOO 
IPKFAOOO 
IPKJAOOO 
IPKKAOOO 
IPKKA001 


2219 
2023 
3134 
4786 
3293 
4466 


STCM 

STCM 

STCM 

STCM 

MVC 

STCM 




PWAADDR 3 


PCOMMON 


1772 


(6EC) 


IPKBAOOO 
IPKHA000 
IPKHA000 
IPKPAOOO 


2234 
1185 
2694 
4098 


STCM 
MVC 
MVC 
STCM 




PO 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1583 


STH 


2 










IPKNAOOO 


1583 


STH 


2 










IPKNAOOO 


1666 


ST 


2 










IPKNAOOO 


1666 


ST 


2 










IPKNAOOO 


1667 


MVI 


2 










IPKNAOOO 


1667 


MVI 


2 










IPKNAOOO 


1944 


STC 


2 










IPKNAOOO 


1944 


STC 


2 










IPKNAOOO 


2250 


ST 


2 










IPKNAOOO 


2250 


ST 


2 










IPKNAOOO 


2251 


MVC 


2 










IPKNAOOO 


2251 


MVC 


2 










IPKNAOOO 


2515 


MVC 


2 










IPKNAOOO 


2515 


MVC 


2 


P1 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1886 


MVC 


2 










IPKNAOOO 


1888 


LA 


2 










IPKNAOOO 


1933 


UNPK 


2 










IPKNAOOO 


1934 


NI 


2 










IPKNAOOO 


1938 


MVC 


2 










IPKNAOOO 


1946 


LA 


2 










IPKNAOOO 


1969 


LA 


2 



Appendix I: Statements Modifying Data Areas 309 





-MODIFIED AREA— 




—MODIFYING INSTRUCTION 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






P1 


PCOMMON 


90 


(5A) 


IPKNA000 


1980 


LA 


2 










IPKNA000 


2048 


LA 


1 










IPKNAOOO 


2064 


LA 


2 










IPKNA000 


2381 


LA 


2 


P2 


PCOMMON 


90 


(5A) 


IPKNA000 


1584 


LA 


2 










IPKNA000 


1929 


LA 


1 










IPKNAOOO 


1935 


NI 


2 










IPKNA000 


1967 


LA 


2 










IPKNA00O 


1971 


MVC 


2 










IPKNA000 


1973 


LA 


1 










IPKNAOOO 


2329 


LA 


2 










IPKNAOOO 


2372 


LA 


2 










IPKNAOOO 


2508 


LA 


2 


P4 


PCOMMON 


90 


(5A) 


IPKNAOOO 


1668 


LA 


2 










IPKNAOOO 


2252 


LA 


2 










IPKNAOOO 


2509 


LA 


3 


P7 


PCOMMON 


90 


(5A) 


IPKJA000 


1922 


LA 


2 










IPKNAOOO 


2360 


LA 


2 


P8 


PCOMMON 


90 


(5A) 


IPKNAOOO 
IPKNAOOO 
IPKNAOOO 


1919 
1976 
2347 


LA 
LA 
LA 




P9 


PCOMMON 


90 


(5A) 


IPKKA001 


4429 


LA 


2 










IPKNAOOO 


1972 


LA 


2 


RANR 


EVALSTCK 





<0>, 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 


2786 
2927 
2946 
2952 
2968 
2175 


MVI 
STC 
STC 
STC 
MVI 
MVI 










/ 


IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 


2304 
2325 
2330 
2346 


STC 
STC 
STC 
MVI 




RDATAD 


WORKDTF 


1^9 

1134 


(81) 


IPKAA002 


1560 


STCM 




RDATLEN 


WORKDTF 


(86) 


IPKAA002 


1561 


MVC 




RELLEN 


EVALSTCK 


1 


(7) 


IPKKAOOO 
IPKLAOOO 


2789 
2178 


MVC 
MVC 




RLADDR 


RLD ENTRY 


3 


(3) 


IPKNBOOO 


3386 


STCM 




RLADID 


RLDENTRY 





(0) 


IPKNBOOO 


3378 


MVC 




RLDNXT 


RLDENTRY 


6 


(6) 


IPKNBOOO 
IPKQAOOO 
IPKQAOOO 
IPKQAOOO 


3388 
1152 
1189 
1422 


LA 
LA 
LA 
LA 




RLFLAG 


RLDENTRY 


2 


(2) 


IPKNBOOO 
IPKNBOOO 


3380 
3384 


MVC 
01 




RLREFID 


RLDENTRY 


1 


(D 


IPKNBOOO 


3379 


MVC 




SAVADDR 


PCOMMON 


2027 


(7EB) 


IPKKA001 


4473 


STCM 




SAVAR 


PCOMMON 


2030 


(7EE) 


IPKKAOOO 


1622 


MVC 












IPKKAOOO 


1770 


MVC 


2 


SAVESDNP 


PCOMMON 


1961 


(7A9) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKA001 
IPKKA001 


3670 
3701 
3762 
3777 
3806 
4291 
4451 
4512 


MVC 

MVC 

LA 

MVC 

MVC 

MVC 

MVC 

MVC 




SAVREG1 


PCOMMON 


2036 


(7F4) 


IPKJAOOO 
IPKKAOOO 


1679 
1939 


ST 
ST 





(f 



310 



FIELD 


MODIFIED 
DSECT 


AREA --— 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






SAVREG1 


PCOMMON 


2036 


(7F4) 


IPKKA000 


2274 


ST 


1 










IPKLA000 


1578 


ST 


1 


SAVREG2 


PCOMMON 


2040 


(7F8) 


IPKJA000 


1794 


ST 


1 










IPKJA000 


2098 


ST 


1 










IPKKA000 


2280 


ST 


1 










IPKLA000 


1640 


ST 


1 


SDEFC 


EPAR 


6 


(6) 


IPKIA000 


4930 


LA 


5 


SDEFITEM 


EDPMI 


10 


(A) 


IPKCC000 


3260 


LA 


5 


SDEFK 


EPAR 


5 


(5) 


IPKIA000 


3644 


LA 


1 


SDITEMB 


EDPMI 


11 


(B) 


IPKCC000 


3309 


STCM 


1 


SDITEMK 


EDPMI 


14 


(E) 


IPKCC000 


3267 


STC 


1 


SDITEMST 


EDPMI 


15 


(F) 


IPKCC000 


3260 


LA 


5 










IPKCC000 


3315 


MVC 


2 


SDITEMT 


EDPMI 


10 


(A) 


IPKCC000 


3266 


MVI 


1 


SECTCL 


EPAR 


11 


(B) 


IPKIA000 


3619 


LA 


1 










IPKIA000 


4493 


MVC 


2 


SECTFLAG 


EPAR 


10 


(A) 


IPKIA000 


4494 


MVI 


1 


SEQFLD 


EDPMI 


18 


(12) 


IPKCC000 


1528 


MVC 


1 


SMTEFLG 


SMTENT 


9 


(9) 


IPKEA000 


1730 


MVI 


1 










IPKEA000 


1766 


MVI 


1 










IPKEA000 


2042 


MVI 


1 










IPKFA000 


3178 


MVI 


1 


SMTLEN 


SMTENT 


9 


(9) 


IPKEA000 


1793 


MVC 


2 


SMTNAME 


SMTENT 


10 


(A) 


IPKEA000 


1675 


LA 


5 










IPKEA000 


1765 


LA 


5 


SMTNP 


SMTENT 


1 


(D 


IPKEA000 


1761 


MVC 


1 










IPKFA000 


1837 


LA 


1 










IPKGA000 


1227 


LA 


1 


SMTSIZE 


PCOMMON 


1897 


(769) 


IPKBA000 


2043 


STH 


1 


SSDADDR 


PCOMMON 


1953 


(7A1) 


IPKDA000 


2737 


LA 


1 










IPKDA000 


2754 


LA 


1 










IPKDB000 


1460 


LA 


1 










IPKDB00O 


1531 


LA 


1 










IPKDBOOO 


2859 


STCM 


1 










IPKEA000 


2057 


STCM 


1 


SSDEND 


PCOMMON 


2014 


(7DE) 


IPKDA000 


2726 


STCM 


1 










IPKDB000 


2084 


STCM 


1 


SS DFLAG 


SSD 


3 


(3) 


IPKDA000 


2725 


MVI 


1 










IPKDAOOO 


2746 


MVI 


1 










IPKDBOOO 


1449 


LA 


5 










IPKDBOOO 


2083 


MVI 


1 










IPKGAOOO 


1680 


MVI 


5 










IPKGAOOO 


1681 


LA 


5 


SSDINFO 


PCOMMON 


1953 


(7A1) 


IPKDAOOO 


2661 


LA 


1 


SSDNP 


PCOMMON 


1936 


(790) 


IPKDBOOO 


1469 


MVC 


2 










IPKDBOOO 


1472 


MVC 


1 










IPKDBOOO 


1521 


LA 


1 










IPKEAOOO 


1406 


LA 


1 


SSDOFFS 


SSD 





(0) 


IPKDAOOO 


2723 


MVC 


1 


SSDSIZE 


PCOMMON 


1956 


(7A4) 


IPKDBOOO 


1451 


STH 


1 










IPKDBOOO 


1465 


MVC 


1 










IPKDBOOO 


2857 


STH 


1 


SSDSYM 


SSD 


4 


W 


IPKEAOOO 


1546 


LA 


2 










IPKEAOOO 


1892 


LA 


5 


SSDSYML 


SSD 


3 


(3) 


IPKDAOOO 


2771 


MVC 


2 


SS ITEMK 


EDPMI 


10 


(A) 


IPKCCOOO 


3510 


STC 


1 


ST ABEND 


PCOMMON 


1985 


(7C1) 


IPKKA001 


4487 


MVC 


1 










IPKKA001 


4493 


ST 


1 


STARTLOC 


PCOMMON 


1944 


(798) 


IPKKAOOO 


3347 


STCM 


1 



Appendix I: Statements Modifying Data Areas 311 





MODIFIED 


AREA- — 




—MODIFYING INSTRUCTION- 




FIELD 


DSECT 


DISPLACEMENT 


CSECT 


STMNT NO. 


OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






STARTLOC 


PCOMMON 


1944 


(798) 


IPKKA001 


4506 


MVC 




STLENGTH 


EVALSTCK 





(0) 


IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 


2942 
2956 
2321 
2334 


STH 
STH 
STH 
STH 




STMTNR 


PCOMMON 


1914 


(77A) 


IPKJA000 
IPKJA000 
IPKKAOOO 


2728 
4884 
1445 


STH 
MVC 
MVC 




STRPTR 


ERRENT 


2 


(2) 


IPKDAOOO 
IPKDB000 


2363 
2660 


STCM 
STCM 




SUBE 


EPAR 


7 


(7) 


IPKIAOOO 
IPKIAOOO 
IPKIAOOO 


3685 
3721 
3874 


LA 
LA 
LA 




SUBEFLAG 


EPAR 


5 


(5) 


IPKIAOOO 
IPKIAOOO 
IPKIAOOO 
IPKIAOOO 


3711 
3858 
4750 
4799 


LA 
LA 
MVI 
LA 




SUBEL 


EPAR 


6 


(6) 


IPKIAOOO 


4749 


STC 




SUBLFLAG 


EPAR 





(0) 


IPKIAOOO 


4797 


MVI 




SUBLK 


EPAR 


4 


w- 


IPKIAOOO 


4798 


MVC 




SUBLL 


EPAR 


1 


(1) 


IPKIAOOO 


4830 


STH 




SUBLN 


EPAR 


3 


(3) 


IPKIAOOO 


4831 


MVC 




SWMH 


MACHEAD 


6 


(6) 


IPKEAOOO 


1381 


MVC 


2 


SWSMT 


SMTENT 





(0) 


IPKEAOOO 


1760 


MVC 




SYMADDR 


PCOMMON 


1981 


(7BD) 


IPKKA001 


4485 


ST 




SYMESDID 


PHYR 


5 


(5) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


2436 
3598 
4074 
4098 


MVC 
MVC 
MVC 
STC 




SYMFLAGS 


PHYR 


2 


(2) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


1639 
2437 
2522 


01 

MVC 

MVI 










/ 


IPKKAOOO 


2527 


MVI 










IPKKAOOO 


3476 


01 












IPKKAOOO 


3485 


01 










/ 


IPKKAOOO 
IPKKAOOO 


3599 
3601 


MVC 
01 












IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 
IPKLAOOO 


3990 
4002 
4008 
4053 
4057 
4110 
4206 
4235 
4236 
4238 
1748 
1852 
1914 
1978 


01 

MVI 

01 

MVI 

01 

MVI 

MVC 

MVC 

01 

MVI 

NI 

01 

01 

MVI 




SYMLATTR 


PHYR 


3 


(3) 


IPKKAOOO 


2435 


MVC 












IPKKAOOO 


2459 


MVC 


2 










IPKKAOOO 


3447 


MVC 












IPKKAOOO 


3474 


MVC 


2 










IPKKAOOO 


4054 


MVC 












IPKKAOOO 


4207 


MVC 


2 










IPKKAOOO 


4231 


MVC 


2 


SYMLENG 


PHYR 


9 


(9) 


IPKKAOOO 


2440 


STC 





,4 



312 



FIELD 


•MODIFIED 
DSECT 


AREA 

DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 


<* 




SYMLENG 


PHYR 


9 


(9) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


3455 
4001 
4051 
4209 


STC 
STC 
STC 
STC 




SYMSRC 


PHYR 


10 


(A) 


IPKKAOOO 
IPKKAOOO 


2452 
4121 


MVC 
MVI 


2 


SYMVALUE 


PHYR 


6 


(6) 


IPKKAOOO 
IPKKAOOO 
IPKKAOOO 


2438 
3453 
4055 


MVC 
MVC 
MVC 




SYM1C 


EPAR 


9 


(9) 


IPKIA000 


4915 


LA 


5 


SYM1K 


EPAR 


8 


(8) 


IPKIA000 


3653 


LA 




SYM2C 


EPAR 


5 


(5) 


IPKIA000 


4920 


LA 


5 


SYM2K 


EPAR 


4 


(<0 


IPKIA000 


3680 


LA 




S1ITEMI 


EDPMI 


15 


(F) 


IPKHA000 


2411 


STH 




S1ITEMK 


EDPMI 


17 


(11) 


IPKHA000 


2406 


STC 




S1ITEMST 


EDPMI 


18 


(12) 


IPKCC000 


3198 


LA 


5 










IPKHA000 


2438 


MVC 


2 










IPKIA000 


4880 


LA 


5 


S1ITEMT 


EDPMI 


10 


(A) 


IPKCC000 


3198 


LA 


5 










IPKHA000 


2405 


MVC 


2 










IPKIA000 


4880 


LA 


5 


S2ITEMK 


EDPMI 


13 


(D) 


IPKHA000 


2423 


STC 


1 


S2ITEMST 


EDPMI 


14 


(E) 


IPKHA000 


2439 


MVC 


2 


S2ITEMT 


EDPMI 


10 


(A) 


IPKHA000 


2422 


MVC 


2 


THISELEM 


PETFLDS 





(0) 


IPKJA000 


2381 


MVC 


2 










IPKJA000 


2388 


MVC 


2 










IPKJA000 


2411 


LA 


3 










IPKJA000 


2437 


MVC 


1 










IPKJA000 


2447 


MVI 


1 


TYPEESD 


PCOMMON 


1995 


(7CB) 


IPKKAOOO 


3370 


MVI 


1 










IPKKAOOO 


3381 


MVI 


1 










IPKKAOOO 


3389 


MVI 


1 










IPKKAOOO 


3394 


MVI 


1 










IPKKAOOO 


3560 


MVI 


1 


VERTYPE 


ESDENTRY 





(0) 


IPKMA000 


1349 


MVI 


1 


VRDA 


WORKDTF 


128 


(80) 


IPKAA002 


1557 


MVI 


1 


VRDAT 


WORKDTF 


96 


(60) 


IPKAA000 


1930 


MVI 


1 










IPKAA002 


1700 


MVI 


1 


VSDADDR 


PCOMMON 


1977 


(7B9) 


IPKDB000 


2095 


LA 


1 










IPKDBOOO 


2852 


STCM 


1 


VSDDIM 


VSD 


4 


W 


IPKDBOOO 


2410 


STH 


2 


VSDEND 


PCOMMON 


2011 


(7DB) 


IPKDBOOO 


1580 


STCM 


1 










IPKDBOOO 


2423 


STCM 


1 


VSDFLAG 


VSD 


3 


(3) 


IPKDBOOO 


1579 


MVI 


1 










IPKDBOOO 


2076 


LA 


5 










IPKDBOOO 


2422 


MVI 


1 










IPKDBOOO 


2479 


LA 


5 










IPKDBOOO 


2584 


MVI 


1 










IPKDBOOO 


2636 


LA 


5 










IPKGAOOO 


1619 


MVI 


5 










IPKGAOOO 


1620 


LA 


5 


VSDINFO 


PCOMMON 


1977 


(7B9) 


IPKDAOOO 


4133 


LA 


1 


VSDNDX 


VSD 


1 


(D 


IPKDBOOO 


2406 


STH 


1 


VSDSIZE 


PCOMMON 


1980 


(7BC) 


IPKDBOOO 


2078 


STH 


1 










IPKDBOOO 


2100 


MVC 


1 










IPKDBOOO 


2853 


MVC 


1 


VSDSYM 


VSD 


4 


(*») 


IPKDAOOO 


4153 


LA 


2 










IPKDAOOO 


4155 


LA 


5 








I 


IPKDBOOO 


2458 


LA 


2 



Appendix I: Statements Modifying Data Areas 313 



FIELD 


•MODIFIED AREA 

DSECT DISPLACEMENT 


MODIFYING INSTRUCTION 

CSECT STMNT NO. OPERATION 


CODE 


NAME 


NAME 


DEC 


HEX 


NAME 


(APPROX.) 






VSDSYM 


VSD 


4 


(4) 


IPKDB000 


2461 


LA 


5 


VSDSYML 


VSD 


3 


(3) 


IPKDB000 


2387 


MVC 


2 


VSDTYPE 


VSD 





(0) 


IPKDB000 


2399 


MVC 




VWDA 


WORKDTF 


128 


(80) 


IPKAA002 


1592 


MVI 




WCC 


WORKDTF 


56 


(38) 


IPKAA002 
IPKAA002 


1530 
1706 


STCM 
MVC 




WCCHH 


WORKDTF 


56 


(3B) 


IPKAA002 


1724 


MVC 




WCCHHR 


WORKDTF 


56 


(38) 


IPKAA002 


1576 


MVC 




WCCW 


WORKDTF 


112 


(70) 


IPKBA000 


1524 


MVC 




WCCW2 


WORKDTF 


120 


(78) 


IPKBA000 


1534 


MVI 




WCNTCH 


WORKDTF 


144 


(90) 


IPKAA002 
IPKAA002 


1541 
1571 


MVC 
STCM 




WCNTCHR 


WORKDTF 


144 


(90) 


IPKAA002 


1716 


MVC 




WCNTDL 


WORKDTF 


150 


(96) 


IPKAA002 


1519 


STH 




WCNTR 


WORKDTF 


148 


(94) 


IPKAA002 


1540 


STC 




WDATAD 


WORKDTF 


121 


(79) 


IPKAA002 


1516 


STCM 




WDATLEN 


WORKDTF 


126 


(7E) 


IPKAA002 


1518 


STH 




WDEVTYP 


WORKDTF 


29 


(1D) 


IPKBA000 


1517 


MVC 


2 


WEFFRLEN 


WORKDTF 


68 


(44) 


IPKBA000 
IPKBA000 


1904 
2077 


STH 
STH 




WH 


WORKDTF 


59 


(3B) 


IPKAA002 


1531 


STCM 












IPKAA002 


1707 


MVC 


2 


WMPCTY 


WORKDTF 


62 


(3E) 


IPKBA000 


1519 


MVC 


2 


WPCTY 


WORKDTF 


30 


(1E) 


IPKAAOOO 
IPKAA002 
IPKAA002 
IPKAA002 
IPKAA002 


1934 
1545 
1573 
1714 
1725 


XC 

STH 
STH 
MVC 
MVC 




WREC 


WORKDTF 


60 

I 


(3C) 


IPKAA002 
IPKAA002 
IPKAA002 


1536 
1579 
1726 


STC 
MVI 
MVI 




WRECLEN 


WORKDTF 


40 


(28) 


IPKAAOOO 
IPKAAOOO 


2270 
2435 


MVC 
MVC 




WTRKPCYL 


WORKDTF 


71 


(47) 


IPKBA000 
IPKBA000 


1917 
2090 


STC 
STC 




XDEFEND 


XREFREC 


17 


(H) 


IPKKAOOO 
IPKLAOOO 


3209 
2586 


LA 
LA 




XRAREND 


PCOMMON 


1970 


(7B2) 


IPKKA001 


4478 


STCM 




XREFADDR 


PCOMMON 


1999 


(7CF) 


IPKKAOOO 
IPKLAOOO 


3179 
2558 


LA 
LA 




XREFEND 


XREFREC 


11 


(B) 


IPKKAOOO 
IPKLAOOO 


3214 
2590 


LA 
LA 




XREFLEN 


PCOMMON 


2002 


(7D2) 


IPKKAOOO 
IPKKAOOO 
IPKLAOOO 


3163 
3255 
2542 


STH 
STH 
STH 




XREFPARM 


PCOMMON 


1998 


(7CE) 


IPKKAOOO 
IPKKA001 


3272 
4482 


LA 
ST 




XREFPTR 


PCOMMON 


1967 


(7AF) 


IPKKAOOO 
IPKKA001 
IPKLAOOO 


3210 
4480 
2587 


STCM 
STCM 
STCM 




XRFLAG 


XREFREC 


8 


(8) 


IPKKAOOO 
IPKLAOOO 


3204 
2581 


MVC 
MVC 




XRFLSRC 


XRFENTRY 


12 


(C) 


IPKRA001 


2017 


LA 




XRFPSEUD 


XRFENTRY 





(0) 


IPKRA000 


1102 


TR 




XRFSYM 


XRFENTRY 





(0) 


IPKRA000 


1100 


TR 




XRLATTR 


XREFREC 


11 


(B) 


IPKKAOOO 
IPKLAOOO 


3208 
2585 


MVC 
MVC 




XRSN 


XREFREC 


9 


(9) 


IPKKAOOO 
IPKLAOOO 


3199 
2576 


MVC 
MVC 




XRSYMBOL 


XREFREC 





(0) 


IPKKAOOO 
IPKLAOOO 


3200 
2577 


MVC 
MVC 




314 

















[ 



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 



4 



Index 



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 (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 



276 



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 
CNOP instruction 

edited statement format 279 

editing of 51 

object code for 73 

processing of 53 

3705 assembler 322 



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 1 1 

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 



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 1 
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) 36.2 
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 



EDECK 

option 1 1 #23 

output 21,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 1 1 

local 1 1 

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 5 1 

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 



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 



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 



GA (see global array) 

generation- time value areas 19,25 

global array 

building of global vector 25 

global definitions entered in 17 
global editing 1 1 
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 



V. 



318 



GSD (see global symbol dictionary) 
GV (see global vector) 



hash table 50,52 
high location counter 



I 



55 



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,73 

machine 41,53,61,73 

3705 assembler 317,322 
interface modules, assembler 2,93 
internal character set 270 
internal operation codes 267-268 
interpreting current statement 213 
item formats for edited macro prototype 
and instructions 276 



keyword macro instruction item format 276 
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) 



layouts 

I/O activity for phases 219-234 

workfile 219-234 
length calculated for DG, 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 



local value areas 36.2 

local variable symbol declarations 23 

local variable symbols 1 1 

location counter 

definition 55 

updating of 53 
log errors 65,69 
LTORG instruction 

function of 49 

object code for 73 

processing of 53 

m 

machine instructions 4 1 

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 (macro dictionary information 

block) 34 
MEND record 23 
message number/module 
cross-reference 238-242 
method of operation diagrams 8-84 

diagnostic message/module cross- 
reference 238-242 

how to read 5 

symbols used in 7 
MIB (see macro information block) 17,21 



79 



Index 319 



MNA (see macro name array) 15 
MND (see macro name dictionary) 
MNOTE processing 71 
model statements 17 
module 

diagnostic message/diagram cross- 
reference 238-242 

entry symbol/EXTRN symbol cross- 
reference 243-244 

identifier 218 



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 



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 



record storage area 78 

registers changed by interface 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 
KLD (see relocation dictionary) 
RPN (see reverse Polish notation) 
RSA (record storage area) 78 
3705 R-type constant 321,323 



4 



/ST 



If 



320 



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 53,55 
USING instruction 

object code for 73 

processing of 63 
using table 

definition 63 

function of 61 

implicit addresses 65 



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 



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 



'V... 



f 



Contents 



^Wt*^' 



INTRODUCTION 1 

Size of the ESERV Program 1 

Purpose and Function of ESERV 1 

Environmental Characteristics 1 

System Configuration 1 

System Interfaces 1 

Physical Considerations 2 

Operational Considerations 2 

Input 2 

Output 2 

Control Information 2 

METHOD OF OPERATION . 3 

Purpose of the Section 3 

How to Read the Diagram and Description 3 

ESERV 6 

PROGRAM ORGANIZATION 9 

Purpose of the Section 9 

Phase/Control Section/Object Module Directory 10 

Summary of ESERV Phases and Functions 11 

ESERV Control and Data Flow 12 

ESERV Main Storage Allocation 13 

Main Storage Work Area Layout « 14 

ESERV Common 16 

COMMONEQ 16 

COMNDATA 16 

COMSTRUC 17 

INTFBRTB . . . . . 17 

DATA AREAS 19 

Purpose of the Section 1# 

ESERV Data Area Field Cross-Reference 26 

DIAGNOSTIC AIDS . 29 

Purpose of the Section 29 

Program Identification 30 

I/O Activity and Workfile Layouts 31 

Register Usage for ESERV 34 

APPENDIXES 35 

APPENDIX A. EDITED STATEMENT FORMATS 37 

APPENDIX B. PSEUDO (INTERNAL) OPERATION CODES 47 

INDEX 4 9 



ill 



< 



Figures 



Figure 1. Phase/Control Section/Object Module Directory . 10 

Figure 2. Summary of ESERV Phases and Functions 11 

Figure 3. ESERV Control and Data Flow 12 

Figure 4. ESERV Main Storage Allocation 13 

Figure 5. Work Area Layout for Phases ESERVE, ESERVF, ESERVG ... 14 

Figure 6. Work Area Layout for Phase ESERVI 15 

Figure 7. I/O Activity for ESERVD, ESERVE, ESERVF, ESERVG 32 

Figure 8. I/O Activity for ESERVI 33 

Figure 9. ESERV Register Usage 34 



A. 



Introduction 



Three object modules of the ESERV program are written in assembler 
language: IPKAD, IPKVA, and 1PKVB. 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 
complete description of the ESERV program and how to use it see 
Guide to the DQS/VSE Assembler. 



f ■■■-.. 

[ 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 Interface logic , I/O logic , common data area (COMMON) 

and initialization code. 
IPKAD SYSSLB logic module (DTFSL) 

Interface macros used by ESERV to provide service functions and to call 
for functions from the interface modules , are described in Part 1 , 
Appendix C, f Macro Usage". 



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 object modules of ESERV. 



Operational Considerations 



INPUT 



Input to ESERV is as follows: 

Control statements (cards , disk, or tape) SYSIPT 

Edited macro definitions (sublibrary on a SYSRES/SYSSLB 
source statement library) 

For a complete description of the input see Guide to the DQS/VSE 
Assembler. 



OUTPUT 



Output for ESERV is as follows: 

Source format macro definition (updated SYSLST/SYSFCH 
if requested) 

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 DQS/VSE 
Assembler. 



CONTROL INFORMATION 

The user specifies options of the ESERV program through special control 
statements. These control statements are fully described in Guide to 
the DQS/VSE Assembler . 



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) . 

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 

I more detailed information. 



Method of Operation 






4 






INPUT 



ESERV 
PROCESS 



OUTPUT 



AREA1 



AREA 2 



^ 



OUTPUT A 



n? 



OUTPUT B 



C> 



EXT. DESCRIPTION MODULE ROUTINE 



The following symbols are used in the diagram. 



Z^> Data flow ^ Data reference 



Pointer 



(LIBRBUFF) Main storage address 




Control flow 



STRINGS Structure name 



Method of Operation 5 



ESERV 



INPUT 



PROCESS 



OUTPUT 




INITIALIZE 



READ CONTROL 
CARDS AND 
-FETCH MACRO 



(WORKFILE2) 



t> 



3 SAVE KEYWORD ~ 

TABLE RECORDS; ^.^ 

BUILD SHRUNK (AT^> 

KEYWORD TABLE V-^H 



4 BUILD GLOBAL 
DECLARATIONS; 



BUILD SHRUNK 
GLOBAL ARRAY 



: g^ 



z> 



5 CONVERT REVERSE 
POLISH NOTATION - 
TEXT TO ORIGINAL " 
SOURCE ORDER 

6 SAVE DICTIONARIES; 
BUILD LOCAL __ 
DECLARATIONS — 



©}o 



7 SAVE SEQUENCE 

SYMBOL DICTIONARY 



r> 



(P1WKAR) 
3 



KEYWORD TABLE . 
RECORDS IN 
EDITED FORMAT 

KTITEM 



GLOBAL ~ 

DECLARATIONS 
IN CSR FORMAT 

STRINGS 



S 



EDITED TEXT 

(CONDITIONAL 

ASSEMBLY 

STATEMENTS, 

MODEL 

STATEMENTS) 



> 



LOCAL - 

DECLARATIONS 
IN CSR FORMAT 

STR/NGS 






x> 



MAIN STORAGE 



^> 



SHRUNK KEYWORD-—... 
TABLE SRUKTITM | | II 

SHRUNK GLOBAL 
ARRAY VSDITEM 



POSITIONAL 
PARAMETER 
DICTIONARY 

VSDITEM 



01 



LOCAL VARIABLE Z 
DICTIONARY 

VSDITEM 



SEQUENCE 

SYMBOL 

DICTIONARY 

SSDITEM 



10 



BUILD PROTOTYPE 
STATEMENT; INSERT 
GLOBAL AND LOCAL 
DECLARATIONS 



INSERT NAMES OF 

VARIABLES, 

PARAMETERS, 

SEQUENCE SYMBOL 

DEFINITIONS, AND 

STATEMENT 

NUMBERS 

PERFORM UPDATE IF 
REQUESTED 



(WORK FILED 



UPDATE CONTROL 
STATEMENT (S) 



11 



12 



PUNCH AND/OR 
PRINT SOURCE 
MACRO DEFINITION 
AND PRINT UPDATE 
CONTROL RECORDS 



PRINT ERROR 

STATEMENT 
NUMBERS AND 
UPDATE CENTRAL 
RECORDS 



MACRO 
SOURCE 
DEFINITION 



SYSPCH 



SYSLST 

(PRNTADDR) 



^^ 



D 



EXTENDED DESCRIPTION 

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). 

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. 

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. 

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). 

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). 

7. The sequence symbol dictionary is read from the library and saved in main storage for 
later processing (see steps 8 and 9). 

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. 



MODULE ROUTINE 

IPKVD MAIN1 



IPKVE 



IPKVE 



IPKVF 



IPKVG 



IRKVG 



IPKVI 



KTPROC1 
(BLKBLD) 



GAPROC 
(BLKBLD) 



EDTXT 
(DEPO) 



VSDPROC 
LVDPROC 



SSDPROC 



PROTYP 

KTPROC2 

DECL 



EXTENDED DESCRIPTION (continued) 



MODULE ROUTINE 



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. 



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. 

11. The reconstructed source macro definition is printed and/or punched on SYSLST/SYSPCH. 
A complete list of all update changes is printed on SYS LST following the MEND statement. 

12. A list of error statement numbers from workfile 2 is printed on SYSLST following the 
macro definition and update changes. 



IPKVK 



IPKVM 



IPKVI ERRPROC 



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. 



/^ 



Program Organization 



PurpoM of th# S#ction 



The purpose of this section is to describe the 
structure of the ESERV program: how it is 
divided into phases r how the phases are loaded 
into main storage, and how control and data are 
passed within the program. 

This section contains: 

• 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 common 



Program Organisation 9 



Phase/Control Section/Object Module Directory 



Phase 


Control 


Object 


Description of the object module 




section 


module 




ESERV 


IPKVW000 


IPKVM 


ESERV identifier, text output with 
statement numbers 




IPKAD000 


IPKAD 


SYSLB logic module (DTFSL) 




IPKAD100 








IPKVA003 


IPKVA 


Initializer 




IJJCPD1 


IPKVA 


SYSIPT/SYSPCH/SYSLST logic module 
(CPMOD) 




IPKVAOOO 


IPKVA 


Basic interface routines , common 
data area 




IPKVA002 


IPKVA 


Workfile loqic module 


ESERVD 


IPKVD000 


IPKVD 


Control record and dictionary 
overflow 


ESERVE 


IPKVE000 


IPKVE 


Process keyword table and global 
array 


ESERVF 


IPKVF000 


IPKVF 


Convert edited text to source 


ESERVG 


IPKVG000 


IPKVG 


Process variable and sequence 
symbol dictionary 


ESERVI 


IPKVI0O0 


IPKVI 


Process prototype, symbolic 
variable references, and sequence 
symbol definitions 




IPKVK000 


IPKVK 


Update processing (if necessary) 


ESERVB 


IPKVBOOO 


IPKVB 


ABEND routine 



Figure 1. Phase/Control Section/Object Module Directory, This figure 
shows how the phases of the ESERV program are divided into 
control sections and object modules. 






10 



Summary of ESERV Phases and Functions 

The following figure describes the functions and subf unctions 
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 


• 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 


ESERVD 


• Read and process control records from SYSIPT 

• Read edited macro from source statement library 

• Branch to appropriate subroutines 


ESERVE 


• Read and save keyword table 

• Read global array and build global declarations 

• Build shrunk keyword table and qlobal array 


ESERVF 


• Determine type of record 

• Determine field to be de-edited 

• Reconstruct original source order of operands and 
operators 


ESERVG 


• Build positional parameter and local variable 
dictionaries 

• Build local declarations 

• Build sequence symbol dictionary blocks 


ESERVI 


• Build 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) 



Figure 2. Summary of ESERV Phases and Functions 



Program Organization 11 



ESERV Control and Data Flow 



Input 



Source 

statement 

library 




Edited 
macro 
definition 



Output 



SYSLST fCZ 



Macro definition 
and diagnostics \ 



SYSPCH 



Macro source 
deck 




ESERV 
(Initialize) 



WF2 



-> 
-+ 



ESERVD 
ESERVE 
ESERVF 
ESERVG 



If update requested 



KT records 
GBLx inst. 
Edited text 
LCLxinst. 




ESERVI 



If update requested 
WF2 



WF1 

Update control 
records 



If sequence error 



Error statement 
numbers 



Figure 3. ESERV Control and Data Flow 



f~\ 



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. 



0) 
O) 
(0 

X- 

o 

+■» 

c 


ESERV 
6.4K 


5.7K 










1 


ESERVD 






ESERVB 
<1K 










* 




f 


HHHHI 


3.3K 






HMHM 






ESERVE 




ESERVG 








1K 


ESERVF 


1K 






















3.8K 


















MHBHI 


ESERVI 


^s^^^^^^ft 






NRBBBBi 






liBflBi 


15K 


^^^^B 


































BilSi^^Bil 


BHHN 







Low address of 
partition 



Time 



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 * 

LIBRBUF 


Not used 


P1WKAR 


Input buffer and work area for macro block from library 


BUFFILE2 


Work area for workf ile 2 


SSDADDR 


Output buffer for workf ile 2 


LVDADDR w 


Sequence symbol dictionary (SSD) 


PPDADDR m 


Local variable dictionary (LVD) 

7 . 


GAADDR ^ 


■ : ' /. 

Positional parameter dictionary (PPD) 


KTADDR 


"Shrunk" global array (GA) 


PRNTADDR 7 


"Shrunk" keyword table (KT) 




Print area 



Figure 5. Work Area Layout for Phases ESERVE, ESERVF, ana ESERVG 






14 



End of code 



ERRNUMBL 



P2WKAR2 




Error statement number block 


P2WKAR1 




Work area 2 for workf ile 2 


BUFFI LE2 




Work area 1 for workf ile 2 


SSDADDR 


Input buffer for workf ile 2 


LVDADQR 




Sequence symbol dictionary (SSD) 


PPDADDR 


Local variable dictionary (LVD) 


GAADDR 




Positional parameter dictionary (PPD) 


KTADDR 




"Shrunk" global array (GA) 


PRNTADDR 


"Shrunk" keyword table (KT) 






Print area 



Figure 6. Work Area Layout for Phase ESERVI 



Program Organization 15 



ESERV Common 

Information used in common by various phases of ESERV is divided up as 
follows: 

• COMMONEQ 
•COMNDATA 

• COMSTRUC 

• INTFBRTB 



COMMONEQ 

All information in COMMONEQ (basically the same as the assembler EQU 
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-version" 
of 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.) 



c 



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 



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 PPOINTGN) . The 
DSECT PFCB is also included in the INTFBRTB data area. INTFBRTB is 
included in each module as COPY code during assembly time. 






Program Organization 17 



v.. 



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/POINT 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. 



Data Areas 19 



DATA AREA: IPKVA 



DISPLMNT 
DEC (HEX) 



SIZE 



FIELD DESCRIPTION: CONTENTS 
NAME MEANING/USE 



(0) 



EMBEDDED IDENTIFIER 



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

* * 

* BRANCH TABLE FOR THE INTERFACE MACROS * 

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



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

* ■ ■ * 

* REGISTER EQUATES * 

* ■ * 
*************************************************************** 



R0 

R1 

R2 

R3 

R4 

R5 

R6 

R7 

R8 

R9 

R10 

R11 

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 PS AVE 



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

* * 

* BIT EQUATES FOR BIT HANDLING MACROS * 

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



1 


BITO 


.1.. .. 


BIT1 


..1. .. 


BIT2 


...1 •• 


BIT3 


• • • • 1 • 


BIT4 


• • • • • 1 


BIT5 


• • • • • • 


1. BIT6 



4 



20 



I 



DISPLNMT 
DEC (HEX) 



SIZE 



FIELD 
NAME 



DESCRIPTION : CONTENTS 
MEANING/USE 



1111 1111 



BIT7 
BITFF 



* * 

* MASK EQUATES * 

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



111 



ADDR 

HIGHBYTE 

LOWBYTE 



•ICM MASK 1 FOR ADDRESS 



86 


(56) 


1 


JSW0005 






!••• • • • • 


POPSW 
PL I ST 
PINEOFSW 


87 


(57) 


6 


NPTEMP 


87 
89 
90 
91 


(57) 
(59) 
(5A) 
(5B) 


2 
1 
1 
2 


NPTEMPCC 
NPTEMPH 
NPTEMPR 
NPTEMPTB 






.1.1 .111 


PABENDC 



PROGRAM SWITCH 

TELLS PRETURN TO POP STACK 

OPTION LIST 

END OF FILE ON SYSIPT 



TEMPORARY STORAGE FOR READNEXT 

NOTE VALUE 

CYLINDER 

HEAD 

RECORD 

REMAINING TRACK CAPACITY 

CODE FOR ABEND REASON 



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

* FILE CONTROL BLOCKS * 

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



93 


(5D) 


35 


PFILE2 


93 


(5D) 


3 


PDTFADR2 


96 


(60) 


3 


BUFPT2 


99 


(63) 


3 


BUFADDR2 


102 


(66) 


2 


PBUFLEN2 


104 


(68) 


3 


PENDBUF2 


107 


(6B) 


3 


PWAADDR2 


110 


(6E) 


1 




111 


(6F) 


3 


PEOFADR2 


114 


(72) 


8 


PNPOINT2 


122 


(7A) 


6 


PNEXTNP2 


128 


(80) 


3 


PFILE1 


128 


(80) 


3 


PDTFADR 1 


131 


(83) 


14 




145 


(91) 


1 





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 : CONTENTS 
MEANING/USE 






(0) 


3 


PDTFADDR 


3 


(3) 


3 


BUFPT 


6 


(6) 


3 


BUFADDR 


9 


(9) 


2 


PRECLEN 


11 


(B) 


3 


ENDBUF 


14 


(E) 


3 


PWAADDR 



17 



(11) 



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

* * 

* PFCB: FILE CONTROL BLOCK DSECT * 

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

ADDRESS OF DTF 

POINTER TO RECORD IN BUFFER 

ADDRESS OF BUFFER 

MAX RECORD LENGTH 

ADDRESS OF LAST BYTE OF BUFFER 

ADDRESS OF WORKAREA 



PFCBSW 





1 




OPENSW 






1 


READSW 






.1. ... 


UPDSW 






..1 ... 


BUF2SW 






. . . 1 . . 


UPD2SW 






... .1. 


FIRSTSW 






• • • • • 1 


PFCBSW 1 
1 PFCBSW2 


18 


(12) 


3 


PEOF 


21 


(15) 


8 


PNOTEPNT 


21 


(15) 


6 


PNPRW 


21 


(15) 


a 


PCCHR 


25 


(19) 


2 


PTRKBAL 


27 


(1B) 


2 


PNPOFFS 


29 


(1D) 


1 


PNEXTNP 



PROGRAM SWITCH 

IF 1, FILE OPEN 

IF 1, READ, IF 0, WRITE 

IF 1, WRITE UPDATE 

IF 1, TWO BUFFERS 

IF 1, UPDATE MODE 

IF 1, FIRST I/O OPERATION 

* 

* 

EOF ADDRESS 

NOTE POINT VALUES 

CYLINDER , HEAD r RECORD 

TRACK BALANCE 

RECORD OFFSET FROM BUFFER START 

N/P VALUE FOR NEXT BLOCK (LNG=PNPRW) 



■•v 



22 





DISPLMNT 




FIELD 




DEC 


(HEX) 


SIZE 


NAME 


[ 


146 


(92) 


1 


SAVMHFLG 


146 


(93) 


1 


JSW0009 


i 






..1 


GLBVARB 








1 - 


KWPARB 


1 


147 


(93) 


2 


OFSINCR 


1 


149 


(95) 


1 






150 


(96) 


1 


MACLGTH 




151 


(97) 


1 


MACLIB 




152 


(98) 


8 


MACNAME 




160 


(A0) 


6 


ERNPTWR 




166 


(A6) 


6 


ERNPTRD 




172 


(AC) 


8 


TXTNPT 




180 


(B4) 


8 


LCLXNPT 




188 


(BC) 


6 


UPDATNPT 




194 


(C2) 





NOTVALTB 




194 


(C2) 


6 






200 


(C8) 


6 






206 


(CE) 


6 






212 


(D4) 


6 






218 


(DA) 


6 






224 


(EO) 





PRMTABLS 


1 


224 


(EO) 


5 






224 


(EO) 


3 


PPDADDR 




227 


(E3) 


2 


PPDL 




229 


(E5) 


5 




f '^ 


229 


(E5) 


3 


LVDADDR 


; 


231 


(E8) 


2 


LVDL 



DESCRIPTION: CONTENTS 
MEANING/USE 

SAVEAREA FOR MAC HEAD FLAG 

PROGRAM SWITCH 

TWO UNUSED BITS 

GLOBAL ARRAY PRESENT SW 

KEYWORD TABLE PRESENT 

NOT USED YET 

LENGTH OF MACRO NAME 

MACRO LIBRARY 

NAME OF MACRO 

N/P VAL TO WRITE ERRNUM BLOCK 

N/P VAL TO READ ERRNUM BLOCKS 

N/P VAL FOR EDITED TEXT 

N/P VAL FOR LCLX RECORDS 

N/p VAL FOR UPDATE CONTROL 

STATEMENTS 

TABLE OF N/P VALUES (LNG=6*5) 

N/P VAL FOR PPC 

N/P VAL FOR LVD 

N/P VAL FOR GA 

N/P VAL FOR SSD 

N/P VAL FOR KT 

TABLE OF PARAMETER TABLES (LNG=6*5) 

FOR PREAD/P WRITE 

PARAMETER TABLE FOR PPD 

PPD BUFFER ADDRESS 

PPD BUFFER LENGTH 

PARAMETER TABLE FOR LVD 

LVD BUFFER ADDRESS 

LVD BUFFER LENGTH 



Data Areas 23 



DISPLMNT 






FIELD 


DEC 


(HEX) 


SIZE 


NAME 


234 


(EA) 


5 




234 


(EA) 


3 


GAADDR 


237 


(ED) 


2 


GAL 


239 


(EF) 


5 




239 


(EF) 


3 


SSDADDR 


242 


(F2) 


2 


SSDL 


244 


(F4) 


5 




244 


(F4) 


3 


KTADDR 


247 


(F7) 


2 


KTL 


249 


(F9) 


5 




249 


(F9) 


3 


ERRNUMBL 


252 


(FC) 


2 


ERRL 


254 


(FE) 


1 


JSW0010 






1... .. 


SWCRDMIS 






.1.- 


» • . « 


.. SWREC 






..1, 


» • • 


SWLIST 






• • • 


I • • 


SWPUNCH 






• • • « 


. 1. 


SWUPD 






. . • , 


» • 1 


SWCOL1 






• • • . 


» • • 


1. SWPCHOPN 








► . . 


. 1 SWPASGND 


255 


(FF) 


1 


JSW001 1 






1... .. 


SWSURVEY 






.1.. 


• • . 


SWGENEND 






.•1. 


• • « 


SWLCLX 






• • • i 


I • • < 


SWEOMAC 






• • • « 


1.. 


SWLSTNA1V 






• • • « 


• 1 « 


. . SWMACHED 






• • • « 




1 . SWCANCEL 










. 1 SWCOLERR 


256 


(100) 


1 


JSW0012 






1 , 


SWCOLCRD 






• * • • • • « 


PDF 


257 


(101) 


4 


DAQOFSET 


261 


(105) 


3 


NPT 


264 


(108) 


3 


PRMTBPTR 


267 


(10B) 


3 


CTRLPTR 


270 


(10E) 


3 


SEQPTR 


273 


(111) 


4 


EOFADDR 


276 


(114) 


3 


EOFIPT^ 


279 


(117) 


3 


PRNTADDR 


282 


(11A) 


3 


P1WKAR 


285 


(11D) 


3 


P2WKAR2 


288 


(120) 


3 


INPTR 






1111 • 1 , 


P2WKAR1L 






1111 .1; 


P2WKAR2L 






1111 .1, 


BUF2LEN 






...1 .1. 


. 1 P2WKAR 1 






.••1 


.r 


1. LIBRBUF 



DESCRIPTION: CONTENTS , 
MEANING/USE 



PARAMETER TABLE FOR GA 
GA BUFFER ADDRESS 
GA BUFFER LENGTH 
PARAMETER TABLE FOR SSD 
SSD BUFFER ADDRESS 
SSD BUFFER LENGTH 
PARAMETER TABLE FOR KT 
KT BUFFER ADDRESS 
KT BUFFER LENGTH 

ERRNUMBRS 

ERRNUMBL BUFFER LENGTH 

PROGRAM SWITCH 

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 



PROGRAM SWITCH 

ON IF UPDATE SURVEY 

ON IF END TO BE GENERATED 

ON IF LCLX PRESENT 

ON WHEN MEND PROCESSED 

ON IF LAST NAME MET 

ON WHEN MAC HEAD RCD EXPECTED 

ON IF JOB TO BE CANCELLED 

ON IF ERROR IN ) COL CARD 



PROGRAM SWITCH 

ON IF ) COL CARD PRESENT 
ON IF SUBLIB OPTION 

ACCUMULATED OFFSET VALUE 
PTR TO N/P TABLE NOTVALTB 
PTR TO PARAMETER TABLE 
POINTS TO NEXT MAC NAME 
PTS TO FIRST COLUMN USED BY 
♦SEQ. NUMB. WITHIN RANGE 73-80 
ADDR FOR ENJb OF BOOK 
ADDR FOR EOF ON SYSIPT 
ADDR OF PRINT AREA 
ADDR OF WK AR FOR FILE2 IN PS1 
ADDR OF WK AR 2 FOR FILE2 PS2 
PTS TO FIRST NON-CTRL BYTE IN 
CONTROL RECORD BUFFER 

LENGTH OF WORK AREA 1 
LENGTH OF WORK AREA 2 
LENGTH OF BUFFER 2 

ADDR OF BUFFER FOR MACRO BLOCK 






,4 
X, 



24 



DISPLMNT 




FIELD 


DEC 


(HEX) SIZE 


NAME 


291 


(123) 


2 


LINCOUNT 


293 


(125) 




DATEFLD 


293 


(125) 




SHEADYR 


295 


(127) 






296 


(128) 




SHEADMON 


298 


(12A) 






299 


C12B) 




SHEDDAY 


301 


(12D) 


2 


SEQLEN 


303 


(12F) 


8 


PROTMCNM 


321 


(137) 


81 


PINPBUF 1 


392 


(188) 


3 


PHI CORE 


395 


(18B) 


2 


PLRECLN 


397 


(18D) 


16 


IFSAVE 

PUSH- DOWN 




• • • « 


. 1.1 


PSAVELVL 




• • • i 


. .1. 


PSAVESZ 


413 


(19D) 





PSAVETBL 




(1C5) 1.11 .11 


PSAVEND 


453 


(1C5) 


2 


PSAVPT 


455 


(1C7) 


2 


PRESCNT 


457 


(tC9) 


4 


PSAVTEMP 




08B) mmmt 




LPHNAME 
1 HW 

REVEN1 
1 RODD1 

RBUFPT 
1 RRECLEN 
1 RWAA 

RWAB 
1 RWAC 

RWAD 

RWAE 


461 


(1CD) 


16 


PHSAVE 


477 


( 1PD) 


1 


JSW0013 




1 . . « 




PUTSW 


478 


(1DE) 


a 


SRPARM 




(1E2) 


2 


PPROGCHK 



DESCRIPTION: CONTENTS , 
MEANING/USE 



NO. OF LINES PER PAGE 

DATEFIELD (YY/MM/DD) 
YEAR 

/ 
MONTH 

/ 

DAY 

LENGTH OF SEQUENCE NUMBER FLD 
NAME FOR PROTOTYPE STMNT 
SYSIPT BUFFER 

ADDRESS OF HIGHEST BYTE, THAT 
LENGTH OF RECORD LENGTH 
INTERFACE ROUTINE SAVE AREA 
SAVE-AREA DEFINITION 



MAXIMUM NUMBER OF LEVELS 
SIZE OF EACH LEVEL 

SAVE AREA 

END OF SAVE AREA 

CURRENT SAVE AREA INDEX 

SYSIPT RESIDUAL COUNT 

SAVES RWAA FOR PSAVE g PRETURN 

LENGTH OF PHASE NAME 
•ICM MASK* FOR HALFWORDS 
EVEN/ODD REGISTER 
♦PAIR FOR MVCL 

POINTS AT RECORD *EVEN/ 
CONTAINS RECORD LENGTH *ODD 
INTERFACE WORK REGISTER 
INTERFACE WORK REGISTER 
INTERFACE WORK REGISTER 
INTERFACE WORK REGISTER 
INTERFACE WORK REGISTER 

PREAD/PWRITE/PCHECK SAVE AREA 

PROGRAM SWITCH 

1 MEANS PPUTL, MEANS PGETL 

RPARM SAVE AREA 

EMERGENCY EXIT 






Data Areas 25 



ESERV 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/CSECT name, and the field displacement in decimal and hexadecimal. 



4" 



26 



FIELD 


DSECT/ 


DISPLACEMENT 




CSECT 


DECIMAL (HEX) 


ADDR 


IPKVA000 


84 


(54) 


ABDR 


IPKVA000 


84 


(5C) 


BITFF 


IPKVA000 


84 


(54) 


BITO 


IPKVA000 


84 


(54) 


BITO 


IPKVA000 


84 


(54) 


BIT1 


IPKVA000 


84 


(54) 


BIT2 


IPKVA000 


84 


(54) 


BIT3 


IPKVAOOO 


84 


(54) 


BIT4 


IPKVA000 


84 


(54) 


BIT5 


IPKVAOOO 


84 


(54) 


BIT6 


IPKVAOOO 


84 


(54) 


BIT7 


IPKVAOOO 


84 


(54) 


♦BUFADDR 


PFCB 


6 


(6) 


♦BUFAEDR2 


IPKVAOOO 


99 


(63) 


♦BUFPT 


PFCB 


3 


(3) 


♦BUFPT2 


IPKVAOOO 


96 


(60) 


BUF2SW 


PFCB 


17 


(11) 


♦CTRLPTR 


IPKVAOOO 


267 


(10B) 


DAQOFSET 


IPKVAOOO 


257 


(101) 


DATEFLD 


IPKVAOOO 


293 


(125) 


♦ENDBUF 


PFCB 


11 


(B) 


♦EOFABDR 


IPKVAOOO 


273 


(111) 


♦EOFIPT 


IPKVAOOO 


276 


(114) 


ERNPTRD 


IPKVAOOO 


166 


(A6) 


ERNPTWR 


IPKVAOOO 


160 


(AO) 


♦ERRL 


IPKVAOOO 


252 


(FC) 


ERRNUMBL 


IPKVAOOO 


249 


(F9) 


FIRSTSW 


PFCB 


17 


(11) 


GAADDR 


IPKVAOOO 


234 


(EA) 


♦GAL 


IPKVAOOO 


237 


(ED) 


GLBVARB 


IPKVAOOO 


146 


(92) 


HIGHBYTE 


IPKVAOOO 


84 


(54) 


HW 


IPKVAOOO 


457 


(1C9) 


IFSAVE 


IPKVAOOO 


397 


(78D) 


♦INPTR 


IPKVAOOO 


288 


(120) 


KTADDR 


IPKVAOOO 


244 


(F4) 


*KTL 


IPKVAOOO 


247 


(F7) 


KWPARB 


IPKVAOOO 


146 


(92) 


KWPARB 


IPKVAOOO 


146 


(92) 


LCLXNPT 


IPKVAOOO 


180 


(B4) 


LINCOUNT 


IPKVAOOO 


291 


(123) 


LOWBYTE 


IPKVAOOO 


84 


(54) 


LVDAEDR 


IPKVAOOO 


229 


(E5) 


♦LVDL 


IPKVAOOO 


232 


(E8) 


MACLGTH 


IPKVAOOO 


150 


(96) 


M ACL IB 


IPKVAOOO 


151 


(97) 


MACNAME 


IPKVAOOO 


152 


(98) 


NOTVALTB 


IPKVAOOO 


194 


(C2) 


*NPT 


IPKVAOOO 


261 


(105) 


NPTEMP 


IPKVAOOO 


87 


(57) 


NPTEMPCC 


IPKVAOOO 


87 


(57) 


NPTEMPH 


IPKVAOOO 


89 


(59) 


NPTEMPR 


IPKVAOOO 


90 


(5A) 


NPTEMPTB 


IPKVAOOO 


91 


(5B) 


OPENSW 


PFCB 


17 


(11) 


♦PBUFLEN2 


IPKVAOOO 


102 


(66) 


PCCHR 


PFCB 


21 


(15) 


♦PDTFADDR 


PFCB 





(0) 


♦PDTFADR1 


IPKVAOOO 


128 


(80) 


♦POINTER. 









FIELD 


DSECT/ 


DISPLACEMENT 




CSECT 


DECIMAL 


(HEX) 


PDF 


IPKVAOOO 


256 


(100) 


♦PDTFADR2 


IPKVAOOO 


93 


(5D) 


♦PENDBUF2 


IPKVAOOO 


104 


(68) i 


♦ PEOF 


PFCB 


18 


(12) 


♦PE0FADR2 


IPKVAOOO 


111 


(6F) 


PFCBSW 


PFCB 


17 


(11) 


PFCBSW 1 


PFCB 


17 


(11) 


PFCBSW2 


PFCB 


17 


(11) 


PFILE 1 


IPKVAOOO 


128 


(80) 


♦PHICORE 


IPKVAOOO 


392 


(188) 


PHSAVE 


IPKVAOOO 


461 


(1CD) 


PINEOFSW 


IPKVAOOO 


86 


(56) 


PINPBUF1 


IPKVAOOO 


303 


(137) 


PLIST 


IPKVAOOO 


86 


(56) 


PLRECLN 


IPKVAOOO 


395 


(18B) 


PNEXTNP 


PFCB 


29 


(1D) 


PNEXTNP2 


IPKVAOOO 


122 


(7A) 


PNOTEPNT 


PFCB 


21 


(15) 


PNPOFFS 


PFCB 


27 


(1B) 


PNP0INT2 


IPKVAOOO 


114 


(72) 


PNPRW 


PFCB 


21 


(15) 


POPSW 


IPKVAOOO 


86 


(56) 


PPDADDR 


IPKVAOOO 


224 


(EO) 


♦PPDL 


IPKVAOOO 


227 


(E3) 


PRECLEN 


PFCB 


9 


(9) 


PRESCNT 


IPKVAOOO 


455 


(1C7) 


PRMTABLS 


IPKVAOOO 


224 


(EO) 


♦PRMTBPTR 


IPKVAOOO 


264 


(108) 


♦PRNTADDR 


IPKVAOOO 


279 


(117) 


PROTMCNM 


IPKVAOOO 


295 


(12F) 


PSAVETBL 


IPKVAOOO 


413 


(19D) 


PSAVPT 


IPKVAOOO 


453 


(1C5) 


PSAVTEMP 


IPKVAOOO 


457 


(1C9) 


PTRKBAL 


PFCB 


25 


(19) 


PUTSW 


IPKVAOOO 


477 


(100) 


♦PWAADDR 


PFCB 


14 


(E) 


♦PWAADDR2 


IPKVAOOO 


107 


(6B) 


♦P1WKAR 


IPKVAOOO 


282 


(11A) 


♦P2WKAR2 


IPKVAOOO 


285 


(11D) 


READSW 


PFCB 


17 


(11) 


SAVMHFLG 


IPKVAOOO 


146 


(92) 


SEQLEN 


IPKVAOOO 


293 


(120) 


♦SEQPTR 


IPKVAOOO 


270 


(10E) 


SHEADDAY 


IPKVAOOO 


299 


(12B) 


SHEADMON 


IPKVAOOO 


296 


(128) 


SHEAD YR 


IPKVAOOO 


293 


(125) 


♦SRPARM 


IPKVAOOO 


478 


(IDE) 


SSDADDR 


IPKVAOOO 


239 


(EF) 


♦SSDL 


IPKVAOOO 


242 


(F2) 


SWCANCEL 


IPKVAOOO 


255 


(FF) 


SWCOLCRD 


IPKVAOOO 


256 


(100) 


SWCOLERR 


IPKVAOOO 


255 


(FF) 


SWC0L1 


IPKVAOOO 


254 


(FE) 


SWCRDMIS 


IPKVAOOO 


254 


(FE) 


SWEOMAC 


IPKVAOOO 


255 


(FF) 


SWGENEND 


IPKVAOOO 


255 


(FF) 


SWLCLX 


IPKVAOOO 


255 


(FF) 


SWLIST 


IPKVAOOO 


254 


(FE) 



Data Areas 



27 



FIELD 


DSECT/ 


DISPLACEMENT 




CSECT 


DECIMAL (HEX) 


SWLSTNAM 


IPKVAOOO 


255 


(FF) 


SWMACHED 


IPKVAOOO 


255 


(FF) 


SWPASGND 


IPKVAOOO 


254 


(FE) 


SWPCHOPN 


IPKVAOOO 


254 


(FE) 


SWPUNCH 


IPKVAOOO 


254 


(FE) 


SWREC 


IPKVAOOO 


254 


(FE) 


SWSURVEY 


IPKVAOOO 


255 


(FF) 


SWUPD 


IPKVAOOO 


254 


(FE) 


TXTNPT 


IPKVAOOO 


172 


(AC) 


UPDATNPT 


IPKVAOOO 


188 


(BC) 


UPDSW 


PFCB 


17 


(11) 


UPD2SW 


PFCB 


17 


(11) 



^.. 



V 



28 



Diagnostic Aids 



Purpose of the Section 



This section contains information that may be 
useful in diagnosing problems within ESEFV. The 
section is comprised of the following: 

• Program identification 

• I/O activity and workfile layouts 

• ESERV register usage 



Diagnostic Aids 29 



Program Identification 

The current release number of the ESERV program can be found starting at 
the first byte of the object code in a program dump. For example: 



C5E2C5D9E5F2F8F0 




identifier current 
release 
number 



Every ESERV 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 current 
name release 

number 



30 



I/O Activity and Workfile Layouts 

The following diagrams show the I/O activity for the phases of ESERV and 
the layouts of the workfiles during processing* The following symbols 
are used in the diagram: 



/ 



a NOTE/POINT address 



V 



an input operation 



A 



an output operation 



A 



V 



both and input and output operation 



Diagnostic Aids 31 



WF2 



Global 

declarations in 
CSR format 



Edited text 



ft 



Local 

declarations in 
CSR format 



TXTNPT 



PPUTL (IPKVE) 



PPUTL (IPKVF) 



LCLXNPT 



*?> 



PPUTL (IPKVG) 



Jernptwr 

\ ERNPTRD 



Shrunk KT blocks 



WP1 



\ /" 



Shrunk GA blocks PPD blocks 



LVD blocks 
A 



SSD blocks 

-A— 



79 



NOTVALTB(S) 



NOTVALTBO) 



f\F\ 



NOTVALTBO ) NOTVALTB(2) 



NOTVALTB<4) 



PWRITE (IPKVD) PWRITE (IPKVD) PWRITE (IPKVD) PWRITE (IPKVD) 

...... || 

PWRITE (IPKVD) 

Figure 7. I/O Activity for ESERVD/ESERVE/ESERVF/ESERVG. 






32 



WF2 



Keyword 
table records 



Global 
declarations 
in GSR 
format 



Edited text 



Local 

declarations in 
CSR format 




PGETL (IPKVI) 



PGETL (IPKVI) 



V 

PGETL (IPKVI) 



PGETL (IPKVI) 



V 

PWRITE (IPKVI) 

PREAD (IPKVI) 



-22- 



■Vr 



Shrunk KT 
blocks 



Shrunk GA 
blocks 



PPO 
blocks 



LVD blocks 
A- 



I blocks 
-A— 



Update 
control 
stmnts 



HI 



WF1 



-£Z 



v V V V V 

PREAD (IPKVI) PREAD 0PICW PREAD PREAD (IPKVI) PREAD 0PKW 



A 



V 

PWRITE (IPKVK) 
PREAD (IPKVK) 



Figure 8. I/O Activity for ESERVI. 



%*,(*H^' 



Diagnostic Aids 33 



Register Usage for ESERV 

The PL/S II compiler assigns work registers for the ESERV program as the 
need arises. For more information on PL/S II register assignment see 
Guide to PL/S-Gene rated Listings . The following registers have 
restricted usage for ESERV: 



Register 


Name 


Usage 


5 


RECPTR 


Pointer for VSDITEM; used by IPKVE, 
IPKVG r and IPKVI. 


6 


RGET 


Input register for the macro block 
read by the GETREC routine . 


7-10 


Same as for the DOS/VS Assembler. 


11 


RBIF 


Interface base register. 


14 


Same as for the DOS/VS Assembler. 



Figure 9. ESERV Register Usage 



x. 






34 



Appendixes 



This section contains the following information: 

• Appendix A. ESERV Edited Statement Formats 

• Appendix B. Pseudo (Internal) Operation Codes 



c 



Appendixes 35 



c 



Appendix A. Edited Statement Formats 



This appendix shows statement formats at different stages in ESERV 
processing. Field lengths , in bytes , are shown under the field; "V" 
means a field of variable length. 



Object Module IPKVA 



PHYSICAL RECORDS IN AN EEITED MACRO BLOCK 



CRDSTRUC 



Column 


Edited text 


Blanks 


Sequence number 



2-70 



71-76 



77-80 



NOTES 

"Column" points to the 
first column in the header 
of the first logical record 
in this physical record. 



Appendix A. Edited Statement Formats 37 



Object Module IPKVD 



MACRO BLOCK HEADER 



Common header 




Name of macro 



Not used by ESERV 



21 







Pseudo 




Record 




OP 




length 




code 
MHR 




2 


1 \l 


2 




PCSRM 










COP 









Bitl Bits2-8 



ITEM FORMAT OF SHRUNK KEYWORD TABLE 



Name 
length 


Name 



1-7 



ITEM FORMAT OF SHRUNK GLOBAL ARRAY 



VSDITEM 



Type 


Index number 


Name 
length 


Name 


1 >v 2 




1 


1-7 


7th bit turned 
on if dimensioned 







I 

I 
Dimension I 

(if dimensioned variable) • 



NOTES 



Taken from 
keyword table 
records in IPKVE 



Taken from 
global array 
records in IPKVE 



38 






ITEM FORMAT OF POSITIONAL PARAMETER DICTIONARY 



Same as shrunk global array; no dimension bytes allowed. 



ITEM FORMAT OF LOCAL VARIABLE DICTIONARY 



Same as shrunk global array. 



ITEM FORMAT OF SEQUENCE SYMBOL DICTIONARY 





SSDITEM 






/ 






\ 


Offset value 


Name 
length 


Name 



1 7 



Appendix A. Edited Statement Formats 39 



Object Module IPKVE 



KEYWORD TABLE RECORDS 



Common header 



Flag 
A 



Item 



Record 
length 




Pseudo 
opcode 





1 1 



Item 




-1-7. 




Default value 
•tern 



Default 

value 

type 


Fl«9 


Length 


Item* 



1 v 



* These items are the same as those described in this 
section under IPKVI edited macro instructions 
item formats 



4"' " 



40 



COMPRESSED SOURCE RECORDS FOR GLOBAL DECLARATIONS 



Common toad* 


Flag 
A 


Compressed source* 


6 


1 


V 



Record 
length 




Pseudo 
opcode 





* As described in the Appendix H 
of POS/VS Assembler Logic. 



Object Module DPKVF 



REVERSE POLISH NOTATION 



The original order among operands and operators is retrieved but some 
operators require special treatment as follows: 



TCAC, 


TCBC 


TSST 




TCAT 




TCARPAR 


TIND 




TSUP 


• , 


TAIF, 


TSETB 



The operand is enclosed within apostrophes 

A comma is inserted and the operand is 
enclosed within parentheses 

A concatenation character (period) is inserted where 
necessary 

The operand is enclosed within apostrophes 

The subscript operand is enclosed within 
parentheses 

A comma is inserted and the operand is 
enclosed within parentheses 

The operand is enclosed within parentheses 



RECORD FORMATS 



Record formats for IPKVF are the same as those described in this 
section under IPKVI. 



Appendix A. Edited Statement Formats 41 



Object Module IPKVG 



INPUT: VARIABLE SYMBOL DICTIONARY RECORDS 



Common header 



Flag 



Item* 



Item* 



■ih 



Ih 



Item 5 * 











Record 
length 




Pseudo 
opcode 





* See items described earlier in this 
section under IPKVD item formats 



SEQUENCE SYMBOL DICTIONARY RECORDS 



Same as variable symbol dictionary . 



OUTPUT: COMPRESSED SOURCE RECORDS FOR LOCAL DECLARATIONS 



Same as shrunk global array items described earlier in this section 
under IPKVD, Item formats. 



■ ; 



42 



Object Module IPKVI 



COMPRESSED SOURCE RECORCS 



STRINGS 



"\/" 



STRINGS 
A 



^/- 



STRINGS 



"N/" 



STRINGS 

A 



Common header 


Flag 
A 


Offset 
value 


Name 
length 


Col- 
umn 


Name 
source 


°P«"fc Column 
length 


Opcode 
source 


Operand Column 
length 


Operand 
source 


String 
length 


Column 


String 
source 


6 \1 3 


1 1 V 1 1 V 1 1 V 1 1 V 


Record 
length 


File 
flags 


Pteudo 
opcode 


Opcode 
extension 


Type 
flags 





AGO/SETX/ACTR RECORDS 







Record 
length 




Pseudo 
opcode 





Appendix A. Edited Statement Formats 43 



EDITED MACRO INSTRUCTION RECORDS 



First record 



Common header 


Flag 


Offset 


Name 


Name 
of 




Sequence 




A 


value 


length 


macro 




field 


6 


1 


3 


1 


8 


2 


8 



Record 
length 



Pseudo 
opcode 



Subsequent Records 



Common header 



Record 
length 



Flag A 



Offset 
value 



Pseudo 
opcode 



Item* 



Item'* 



-12- 



Item* 



■ih 



*See the following item formats 



A 



44 



ITEM FORMATS 



Some of the following item formats are valid also for items in keyword 
table records (see IPKVE) . 



I 



Item format of keyword prototype 



X'A2' 


Item* 
flag 


Length 


Name 



1 1 



1 -7 



Item format of character string 



-22- 



Item" 1 
flag 



Length 



String 



1111 



Ih 



0-255 



Item format of self -def ining term 



X'A6' 



flag 



Length 



K' 



-It 



String 



1 1 1 



Item format of sublist start 



■ih 



X'A7' 


Item* 
flag 


Length 





1 1 1 

* Eight-bit flag 



NALTSRC 


ITEM1ST 


ITEMLISW 




ITEMLONG 









NOTES 

This item in the 
keyword table only. 



This item in both the 
keyword table and macro 
instructions. 



This item in both the 
keyword table and macro 
instructions. 



This item in both the 
keyword table and macro 
instruction. 



Appendix B. Edited Statement Formats 45 



Item format of sublist 



X'A8' 


Item* 
flag 


Length 





1 1 



Item format of basic character expression 

u 



X'A9' 



Item 
flag 



Length 



String in reverse Polish notation 



■ih 



1 -255 



Item format of omitted operand outside sublist 



X'AA' 


Item* 
flag 


Length 



11 1 



Item format of keyword in macro instruction 



X'AC 


•fa 
Item 

flag 


Length 


Name 



1 1 1 



Item format of end-of -operand 



X'AD' 


Item 
flag 





NOTES 

This item in both the 
keyword table and macro 
instructions. 



This item in macro 
instructions only. 



This item in both the 
keyword table and macro 
instructions. 



This item in macro 
instructions only. 



This item in both the 
keyword table and macro 
instructions. 



* Eight-bit flag 



NALTSRC 



ITEM1ST 



ITEMLISW 



ITEMLONG 



V 



46 



Appendix B. Pseudo (Internal) Operation Codes 



C 



Hexadecimal 


Mnemonic 


Description 


00 


SUBST 


Substituted opcode 


01 


REPROED 


Reproed statement 


1E 


CMENT 


Comment statement 


24 


MI ED 


Macro instruction edited record 


27 


MEND 


Macro processing instruction 


28 


MEXIT 


n 


29 


ANOP 


Conditional assembly instruction 


2A 


SETA 


N 


2B 


SETB 


N 


2C 


SETC 


n 


2D 


ACTR 


n 


2E 


AIF 


n 


2E 


AIFB 


w 


2F 


AGO 


n 


2F 


AGOB 


w 


30 


GBLA 


n 


31 


GBLB 


M 


32 


GBLC 


n 


33 


LCLA 


N 


34 


LCLB 


ft 


35 


LCLC 


M 


37 


PROTOED 


Prototype edited record 


38 


MHR 


Macro header record 


39 


KT 


Keyword table record 


3A 


GAR 


Global array record 


3B 


VSDR 


Positional parameter dictionary 

or local variable dictionary record 


3C 


SSDR 


Sequence symbol dictionary record 


40 


GX 


GBLx compressed source record 


41 


LX 


LCLx compressed source record 


Note: The ESI 


:RV code is dependent on the organization of the 


opcodes. Any 


changes made 


» to this organization may effect the 


program code. 







Appendix B. Pseudo (Internal) Operation Codes 47 



Index 



I 



ACTR edited statement format 43 
AGO edited statement format 4 3 
allocation of main storage 13 



based structures 16,17 



I/O activity for the phases 31-33 

identification, program 30 

identifier, object module 30 

INCLUDE code 16, 17 

index number for symbolic variables 

interface module IPKVA 20-25 

interface modules 1 

internal operation codes 4 7 

INTFBRTB 1 7 

IPKVA, data area 20-25 



common data area 16,17 

COWMONEQ 1 6 

COKNDATA 1 6 

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 



keyword parameters 7 
keyword table records 7 

edited statement format 40 



local declarations 7 

local variable dictionary 7 



m 



data area/field cross-reference 
data area IPKVA 20-25 
data flow 12 
diagnostic aids 29 



26-28 



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 



edited macro instruction format 44 
edited statement formats 37-46 
error statements, listing of 8 



field/data area cross-reference 26-28 

function of ESERV program 1 

functions of the phases, summary of 11 



object module/phase/control section 

directory 10 
object module identifier 30 
operational considerations 

control information 2 

input 2 

output 2 
operation codes 47 
overflow technique 7 



C 



g 



global declarations 7 



phase 

control section/object module 
directory 10 



Index 4 9 



I/O activity 31-33 
workf ile layouts 32-33 
physical considerations 2 
positional parameter dictionary 
program identification 30 
pseudo operation codes 47 
purpose of ESERV 1 



statement numbers, insertion of 8 
summary of phases and functions 1 1 
source macro, printing of 7 
system configuration 1 
system interfaces 1 



u 



register usage 34 

release number, how to find 30 

reverse Polish notation 7, 41 



update changes 8 

update control records 7,8 

UPDATE option 2 

survey listing 2 



sequence symbol dictionary 1 

record format 42 
SETx edited statement format 
shrunk global array 7 
shrunk keyword table 7 
size of ESERV 1 



43 



variable symbol dictionary 7 
record format 42 



w 



work area layouts, main storage 14,15 
workfile layouts 32-33 



50 



( 



SY33-8567-1 



o 
o 

CO 

< 

CO 



<T> 

3 



o 
o" 



CD 

G 

C/k 
CO 

9 

M 



o 
o 

CO 

< 

CO 



CD 
Q. 

5' 

c 

CO 

■>. 



CO 

-< 

CO 
CO 
00 

en 



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 

DOS/VSE Assembler Logic 



READER'S 
COMMENT 
FORM 



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. 



o 

c 

H 
> 
O 



D 
O 

H 
H 
rn 
D 



Reply requested: 
Yes □ 

No □ 



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. 



Fold 



Fold 



o 

c 

H 

O 

J3 

-n 
O 

i- 
O 

> 

r 
O 
z 
o 



o 

O 
CO 

< 

oo 
m 

> 
</> 

CD 

3 



First Class 
Permit 40 
Armonk 
New York 



Business Reply Mail 

No postage stamp necessary if mailed in the U.S.A. 



Postage will be paid by: 

International Business Machines Corporation 

Department 813 L 

1 133 Westchester Avenue 

White Plains, New York 10604 




CO 

9 



O 
O 

00 

< 

00 



CD 
Q. 

5' 
c 

00 

> 



00 

-< 

CO 
CO 
00 

en 
o> 
^i 



Fold 



Fold 



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 

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. 



READER'S 
COMMENT 
FORM 



o 

c 

H 
> 
O 



D 
O 



H 
m 
D 



Reply requested: 
Yes □ 
No □ 



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. 



Fold 



Fold 



First Class 
Permit 40 
Armonk 
New York 



o 

c 

H 
O 

30 
Tl 
O 

r 
D 



O 

Z 



z 
m 



Business Reply Mail 

No postage stamp necessary if mailed in the U.S.A. 



Postage will be paid by: 

International Business Machines Corporation 

Department 813 L 

1 1 33 Westchester Avenue 

White Plains, New York 10604 




o 
o 

CO 

< 

CO 

m 
> 



o 

CO 



o 



O 
O 

CO 

< 

C/) 

m 



CD 
Q. 

5' 

c 

CO 

> 



CO 

-< 

CO 
CO 

do 

C71 

ay 



Fold 



Fold 



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) 



4 ■ 



c 



SY33-8567-1 

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. 



READER'S 
COMMENT 
FORM 



o 

c 

H 

> 

r - 
O 

z 

o 

O 
O 



z 
m 



Reply requested: 
Yes □ 

No □ 



Name: 

Job Title:. 
Address: . 



Zip. 



*v 



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. 



Fold 



Fold 



First Class 
Permit 40 
Armonk 
New York 



o 

c 

H 

O 

J) 

■71 
O 

n 
D 

> 

r 
O 

z 
o 



z 
m 



Business Reply Mail 

No postage stamp necessary if mailed in the U.S.A. 



Postage will be paid by: 

International Business Machines Corporation 

Department 813 L 

1 1 33 Westchester Avenue 

White Plains, New York 10604 




Fold 



Fold 



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) 



o 
o 

CO 

< 

CO 



CD 

3 



o 
o" 



p / 

CO 

9 



D 
O 

CO 

< 

CO 

m 



CD 
Q. 

5' 
<Z 

CO 

> 



CO 

-< 

CO 
CO 
00 

Ul 
O) 



■f s \ 




2.8.3 



Figure 46. Table of Contents for Method of Operation Diagrams 51 



> 



) 



























































Translate 




































Source 
















Code into 
















Object 
















Code 
















i 




2 




i 


1 












1 






Expand 














Macro Inst. 




















i 


and do 














Assemble 






< 


Conditional 




















i 


Assembly 

1 














1 










1.1 


i 


1.2 




1.3 


1.4 




1.5 


i 


2.1 


1 2.2 


i , 


2.3 


i - 


i - 


J 2.6 


u 










Punch 
















Edit 
















Print/ 














Local 






Edited 




Global 




Collect 








Assembler 




Collect 




Resolve 




Build 




Punch the 




Build 










Edit 






Macro 
Definitions 




Edit 




and Insert 
Attributes 




Generate 




and 

Machine 
Instructions 




Symbol 
Definitions 




Symbol 
References 




Object 
Code 1 




External 

Symbol 

Dictionary 




Object 
Code 2 




Output 




1 


I 


















i 




i 




i 










■ 












1 








I 
















2.2.1 




I 






1 


1.1 






1.5 












\ 




1 1.1 


.1 


1 1.1.2 




3 




1.3. 


1 


1 1.5.1 




2 




2.1.1 


1 2.1.2 


2.2.2 


1 2.4.1 


| 2.4.2 


i 


2.4.3 


Compress 
and Edit 




Edit Macro 
Definitions 
and 




Resolve 
Sequence 
Symbol 
References 




Build 
Global 




Build 

Macro 

Dictionary 




Evaluate 

Reverse 

Polish 




Edit 




Handle 
Literals 




Build 
Symbol 




Build 

External 

Symbol 




Process 
Machine 




Process 
USING 
and 
DROP 




Process 
Address 
Constants 










Conditional 
Assembly 






Vector 




Block 




Notation 












Table 




Dictionary 
Table 




Instructions 






and CCWs 










I 1.1.2 


.1 


















I 2.1.1.1 




























Convert Pre- 




Convert 
















Assembly 




Assembly 
















Expressions 




Expressions 
















to Reverse 




to Reverse 




















Polish 
































Polish 











































Figure 46. Ta