SY33 8041 0_OS_VS_Assembler_Logic_Jul72 0 OS VS Assembler Logic Jul72

User Manual: SY33-8041-0_OS_VS_Assembler_Logic_Jul72

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

DownloadSY33-8041-0_OS_VS_Assembler_Logic_Jul72 SY33-8041-0 OS VS Assembler Logic Jul72
Open PDF In BrowserView PDF
SY33-8041-0

Systems

,OS/VS Assembler logic
Release 1

First Edition

(July, 1972)

This edition applies to release 1 of as/vs 1 and to all subsequent releases until otherwise indicated in new editions or
Technical Newsletters. Changes are continually made to the
specifications herein; before using' this publication in
connection with the operation of IBM systems, consult the IBM
System/360 and System/370 Bibliography (GA22-6822) and the-current SRL Newsletter for the editions that are applicable
and current.
Requests for copies of IBM publications should be made to your
IBM representa~ive or to the IBM branch office serving your
locality.
A form is provided at the
comments. If th~ form has
to IBM Nordic Laboratory,
S-18l 09 Lidingo, Sweden.

back of this publication for reader's
been removed, comments may be addressed
Publications Development, Box 962,
Comments become the property of IBM.

CCopyrightlnternationa1 Business Machines Corporation 1972

2

Preface

This program logic manual is written for customer engineers and
programmers maintaining the OS/VS Assembler. The manual describes the
structure, logic, and operation of the assembler.

Prerequisites
This manual was written with the assumption that the reader has:
•

a good knowledge of the assembler language, including its macro and
conditional assembly facilities.
This language is covered in
OS/VS and DOS/VS Assembler Language, Order Number GC33-40l0.

o

a good knowledge of System/370 and System/360 machine instructions.
Machine instructions are described in IBM System/370 Principles of
Operation, Order Number GA22-7000, and IBM System/360 Principles of
Operation, Order Number GA22-682l.

o

a good knowledge of how to use the assembler. This is covered in the
OS/VS Assembler Programmer's Guide, Order Number GC33-402l.

How this Manual is Organized
The "Introduction" contains a summary of general information about the
program.
"Method of Operation" describes the functional objectives of the assembler. Method of Operation diagrams highlight the inputs, processing,
and outputs of the assembler functions.
The diagrams are accompanied
by text describing the functions in more detail and cross-references
to the program elements that perform the functions.
"Program Organization" describes how the program is devided into units.
The section contains detailed charts of how the assembler phases use
main storage and diagrams ~howing the flow of data and control between
assembler phases.
The "Directory" serves as a cross-reference between items in the "Method
of Operation" and IIProgram Organization" sections and to the microfiche
listings.
"Data Areas ll contains detailed layouts of data areas to help in interpreting storage dumps.
"Diagnostic Aids" contains information designed to be helpful in debugging.
The appendixes contain information about error message origin, macro
and copy code usage, met"a text flags, internal operation codes, entry
points and EXTRN symbols, record formats, and the internal character
set.

3

Additional Literature
OS!VS Supervisor Services & Macros, Order Number GC28-6646.
OS!VS Data Management Macro Instructions, Order Number GC26-3793.
OS!VS Data Management for System Programmers, Order Number GC28-6550.

4

Contents

INTRODUCTION . . . . . .
Purpose and Function . . . . . . . . . . .
Compatibility
...•.
Language Supported .
....... .
Environmental Characteristics
. • . . .
System Configuration . . . . . . . . .
System Interface
. . ..
....
Physical Characteristics
. . . .
Operational Considerations .
Input and Output
. • . .
Control Information

9
9
9
9
9
9
9

10
10
10
10

METHOD OF OPERATION
Purpose
. . . . ..
....
How this Section is Organized
How to Read the Diagrams and Descriptions
Relation of the Diagrams to Program Phases
Generate Object Code from Source Code (11 .
Expand Macro Instructions and Do Conditional Assembly (21 .
Edi t (31.. . . . . . .
....... .
Process ICTL, OPSYN, and COpy (41.. . . . .
Process Symbols (51. . . . • . . . . . . .
Process Macros and Build MDD(61. . . . . .
. ...... .
Convert Expressions to Postfix Notation (7}
... .
Build Generation-Time Dictionaries (81 . . . . . . . . . .
Build Ordinary Symbol Attribute Reference Dictionary(91 . .
Build Skeleton Dictionary and Macro Definition Vector (101.
Generate Assembler and Machine Instructions (IlL . . . . . . .
Build Parameter Table and Initialize Skeleton Dictionary (121 .
Do Conditional Assembly and Substitution (131. . • . .
Assemble Object Code from Machine, Data, and Assembler
Instructions (14)
. . • .
. ...... .
Process Symbols (15} . . . .
,Collect Symbols (161 . . . .
Define Symbols (Pass 1)(171.
Build Adjustment Table; Print/Punch ESD{181 . . . . . . . . . .
Resolve Symbol References (Pass 2); Adjust Records (191 .
Handle Symbol-Table Overflow (201
. • . .
Generate Object Code (211 . . . . .
. ..••....
Process Machine Instructions (22)..
.. • •
Process Data Instructions (231.
. .•.
Process Assembler Instructions (241
Update Location Counter (251 . .
Sort RLD and XREF(261.
Initialize (27) . . . .

. .

PROGRAM ORGANIZATION .
Logical Flow of Control
. . . .
Module Directory . . . . .
. • . .
Main Storage Layout
. . . .
Edit Phase (IFOXll) Main Storage Work Area
Dictionary Interlude Phase (IFOX2l) Main Storage Work Area:
Process Skeleton Dictionaries . . . . .... . • • . . . . .
Dictionary Interlude Phase (IFOX2l) Main Storage Work Area:
Build Ordinary Symbol Attribute Reference Dictionary . .
Dictionary Interlude Phase (IFOX2l) Main Storage Work Area:
Unchain Opsyn Table . . . . . . . . . . . . • . . . . . .

11
11
11
11
12
14
16
18
22
24
28
30
32
34
36
40
42
44
46
48
50
52
56
58
60
62
66
68
70
74
76
78
81
82
83
84
85

1 of 3,
. . .
2 of 3,
. .' .
3 of 3,
. . .

86
87
88

5

89
90
91
92
93

Generation Phase (IFOX31) Main storage Work Area . . . .
Symbol Resolution Phase (IFOX41) Main Storage Work Area
Assembly Phase (IFOX51) Main Storage Work Area . . . . .
Post Processor Phase (IFOX61) Main Storage Work Area . .
Assembler Data Flow . . . .
..... .
DATA AREA
ED SECT
ENDFIL .
ENDSEG .
ERRIN
ERRMESS
FARENT .
GBLDEF . .
GBLNTRY
GDNTRY .
J

JERRCD .
JFLEBLK
JINCOM . .
JOUTCOM
JTEXT
JTEXTA
LCLNTRY
MDDNTRY
MDVNTRY
OPNTRY . .
OPSTBL . . . . . . .
OPSYNTRY . . . . . .
OSDIR
. . . .
OSRDNTRY
....
OSREF
OSRTNTRY . . . . . .

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

.

.

.

.

DIRECTORY
DIAGNOSTIC AIDS
. . . ..
Eyecatchers: Object Module and
Data Set Activity Summary
Edit Phase
. . . . ..
Dictionary Interlude Phase
Generate Phase . . . .
Symbol Resolution Phase . .
Assembly Phase . . . . . .
Post-Processor Phase
Register Usage Tables
.
IFOXOA Driver Routines

6

. III

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

· . . . . . . .

· . . . . . . .

P

PPIN . .
PRMNTRY
RCARD
RLDIN
RPRINT . .
RSYMCRD
SKDCTHRD . . . . .
SSDEF . . . . • .
SSDIR
SSDTNTRY . . . . . . .
SSREF . . . .
UDSECT .
........ .
VSDENTRY . .
XRFIN
. . . . .
X5COM
. . . .
Data Area Directory

.

95
96
105
106
107
108
109
110

. . .

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

. . . . .

112
. . 113
· . 118
. . . 119
· 120
· 121
122
126
. . . 127
· . . 128
· . 129
· . . 130
· . . 131
· 132
. . . 133
· . . 134
135
· 136
137
· 138
· . 139
140
141
· 142
. . . 144
· . 146
· . 147
· . 148
. . . 149
. . . 150
· 151
· . . 152
· . . 153
154
. . . 160
169

........
. . . 189
Control Section (CSECT) Identifiers 190
191
....
. 191
. . 193
. . . . .
. . . . . . . ~ 194
. . .
. . . .
. . 196
. .
. . . . . . . . . . . . 197
. . . .
. 198
. . .
. 199
. 199

IFOXOB
IFOXOD
IFOXOF
IFOXOH
IFOXOI
IFNX1A
IFNX1I
IFNX1S
IFNX2A
IFNX3A
IFNX3B
IFNX3N
IFNX4D
IFNX4E
IFNX4M
IFNX4S
IFNX4V
IFNX5A
IFNX5C
IFNX5D
IFNX5F
IFNX5L
~FNX5M

IFNX5P
IFNX5V
IFNX6A
IFNX6B

Workfile I/O and Storage Mavagement Routines
.
Master Common Area Initialization Routines . .
.
Input Routines . . . . .
........
. .
Output Routines
. . . . .
.
Abort Routines . . . . . . . • . . .
....
.
Edit Phase (Mainline)
.
Edit Dictionary Routines .
. . . .
.
Postfix • . . . . . . .
. .
Dictionary Interlude . . .
. • ..
.....
Generate Phase (Mainline)
. . . . . . . .
Generate Phase (Symbol Resolution Preprocessor)
.
Generate Phase Dictionary Routines . • . . • . . .
•
Symbol Resolution Phase (DC/DS Evaluation Routines)
Symbol Resolution (ESD Routines) . . . . . .
Symbol Resolution (Mainline)
o.
•
Symbol Resolution (Symbol Table Routines)
..
Symbol Resolution (Expression Evaluation)
Assembler Opcode Processor .
Assembler Initialization . . . .
DC Evaluation Routine ........ . .
.
Floating Point Conversion Routine . . . .
.
Error Logging Routine
. .
Machine OP Processor .
. . . . . .
Print Routine
. . • . . . . . .
.
Evaluation Routine . . . . .
•
Post Processor .
. . . .
.
Diagnostic Phase . .

APPENDIXES
Appendix A:
Appendix B:
Appendix C:
Appendix D:
Appendix E:
Appendix F:
Appendix G:

0

0

0

0

0

0

0

0

0

0

•

00

0

•

•

0

0

•

•

0

0

0

•

0

0

•

•

•

•

•

0

0

. • . . . . . . . .
. . • .
Error Message/Module Cross-Reference • .
Macro & Copy Code/Module Cross-Reference • .
Internal Operation Codes . . . . . . . .
Meta Text Flags . . . . .
Entry Point & EXTRN Symbol/Module Cross-Reference
Internal Character Set. . . . . .
. ..
ESD, TXT, RLD, SYM Record Format . .
0

• • • • • • •

FOLDOUT: GUIDE TO METHOD OF OPERATION DIAGRAMS .
INDEX

0

0

200
201
202
203
204
205
207
208
209
210
211
212
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229

·
·
·
·

231
232
237
246
248
249
· 251
• 252
o

· 257
259

7

Illustrations

14
Generate Object Code From Source.Code (1) . . . . . .
Expand Macro Instructions and Do Conditional Assembly (2) . . . . 16
Edit (3)
.•......
. ... .
18
Process ICTL, OPSYN, and COpy (4) . . . . . . . . .
22
Process Symbols (5) . . . . . . . . . . . . . . . .
24
Process Macros and Build Macro Definition Directory (6)
28
Convert Expressions to Postfix Notation (7) . . . .
30
Build Generation-Time Dictionaries (8)
..... .
32
Build Ordinary Symbol Attribute Feference Dictionary (9)
34
Build Skeleton Dictionary and Macro Defin·ition Vector (10)
36
Generate Assembler and Machine Instructions (11)
.....
40
Build Parameter Table and Initialize Skeleton Dictionary (12)
42
44
Do Conditional Assembly and Substitution (13) . . . . . . .
Assemble Object Code from Machine, Data, and Assembler
Instructions (14)
. . . .
. ........ .
46
Process Symbols (15)
......... .
48
Collect Symbols (16)
....
. .•.
50
Define Symbol~ (Pass 1) (17)
............. .
52
Build Adjustment Table; Print/Punch ESD (18) . .
56
Resolve Symbol References (Pass 2); Adjust Records (19)
58
Handle Symbol-Table Overflow (20)
..... .
60
Generate Object Code (21) . . . . .
62
Process Machine Instructions (22)
66
Process Data Instructions (23)
... .
68
Process Assembler Instructions (24) . . . . .
70
Update Location Counter (25)
74
Sort RLD and XREF (26)
...... .
76
Initialize (27) . . . . . . . . . .
78
Figure 1. Logical Flow of Control
....... .
82
Figure 2. Module Directory. . . .
. .. .
83
Figure 3. Main Storage Layout
. . . . . . . . . 84
Figure 4. Edit Phase (IFOXlll Main Storage Work Area.
85
Figure 5. Dictionary Interlude Phase (IFOX21) Main Storage Work
Area: 1 of 3, Process Skeleton Dictionaries . . . . . . .
86
Figure 6. Dictionary Interlude Phase (IFOX21) Main Storage Work
Area: 2 of 3, Build Ordinary Symbol Attribute Reference
87
Dic tionary . . . . . . . . . . . . . . . . . . . . . . . .
Figure 7. Dictionary Interlude Phase (IFOX21) Main Storage Work
Area: 3 of 3, Unchain Opsyn Table . . . . . . . . . . . .
88
Figure 8. Generation Phase (IFOX31) Main Storage Work Area.
89
Figure 9. Symbol Resolution Phase (IFOX41) Main Storage Work
Area . . . . . . . ..... . . . . . . . . .. . . . . • . . . .
90
Figure 10. Assembly Phase (IFOX51) Main Storage Work Area . .
91
Figure 11. Post Processor Phase (IFOX61) Main Storage Work Area . 92
Figure 12. Assembler Data Flow . . . . . . . . .
. .. .
93
Figure 13. SYM Record Format . . . . . . . . . .
. . . . . . 256
Figure 14. Guide to Method of Operation Diagrams . . . .
. . 257

8

Introduction

The OS/VS Assembler is the OS/VS assembler language processor.
It is
a three-pass assembler, with one pass over the source deck for editing,
one pass for macro-generation and symbol resolution, and a third pass
for final assembly.

Purpose and Function
The assembler translates a source program coded in assembler language
into a relocatable machine language object program. The assembler
assigns relative storage locations to instructions and other program
elements and performs auxiliary assembler functions specified by the
programmer. The object modules produced by the assembler are in the
format required by the linkage editor. They can be link-edited with
object modules produced by other language processors.

Compatibility
The language supported by the OS/VS Assembler is compatible with the
language of Assembler F. All programs which assemble error free on
Assembler F will also assemble error free on the OS/VS Assembler.
Because the language supported by the OS/VS Assembler has more capacity than that supported by Assembler F, some attribute values which
are undefined in F will be replaced by the true values. These
extensions and the extended SETC facility might, in odd cases, produce
different results.

Language Supporled
The language supported by the assembler is defined in the publication:
OS!VS and DOS!VS Assembler Language, Order Number GC33-4010.

Environmental Characteristics
SYSTEM CONFIGURATION
The OS/VS Assembler will operate on the minimum system configuration
required for OS/VS.
SYSTEM INTERFACE
All system dependent functions and operations are handled by the
assembler's interface modules. The interface modules are:
IFOXOA
IFOXOB
IFOXOC
IFOXOD
IFOXOE
IFOXOF
IFOXOG
IFOXOH
IFOXOI

Driver routines
Workfile I/O and core management
Master common work area
Assembler initialization
Input common work area
Input I/O module
Outuut common work area
Output I/O module
Abort routines

Introduction

9

PHYSICAL CHARACTERISTICS
The assembler is made up of 16 reentrant load modules which reside on
the link library.

Operational Considerations
INPUT AND OUTPUT
Input to the assembler is source code from SYSIN, SYSLIB, or a private
library. Output is an object module and an optional deck and/or listing.

INPUT

OUTPUT

~
SOURCE
STATEMENTS

SYSGO
OBJECT
MODULE
ASSEMBLER

>

or

( SYSPUNCH

I

SYSLIB

EJ

LISTING

Control Information
As the assembler is a processing program operating under OS/VS, control
information is passed to the operating system by means of job control
statements. The assembler options are specified in the PARM field of
the EXEC job control statement. For and explanation of these options,
see OS/VS Assembler Programmer's Guide, Order Number GC33-4021.

10

Method of Operation

Purpose
The purpose of this section is:
• To give a functional description of the assembler .
• To provide a cross reference from any given description to the
listing and to other parts of the manual.

How this Section is Organized
This section consists of diagrams which are arranged in a hierarchy as
shown in the foldout located at the back of the manual.
With each diagram is an "extended description" which contains
detailed information about the function or subfunction shown in the
diagram.

How to Read the Diagrams and Descriptions
Each diagram is divided into three parts: input, process, and output.
The input part shows the data before it is processed; the process part
shows, in abbreviated form, what is done to the data; and the output
part shows what the data is after it has been processed.

EDIT
INPUT

EDIT

PROCESS

OUTPUT

MOD

RTN

MOD

~

D

1

2

3~

1::
"-

..

~

"

-,

-.. -

--...

~

3~

z:;--

Diagram

~

D

-------==
~

2'

-----

.

------

Extended Description

Data areas are identified on the diagrams in two ways: by main-storage
address and by DSECT name. Data areas as shown on the diagrams are
highly schematic. For complete and accurate data area layouts, see the
section "Data Areas".

Method of Operation 11

RTN

Many of the data areas and routines are mentioned in two or more
diagrams. For a cross-reference of these items to the diagrams in this
section, use the "Directory" section of the manual. The Directory also
cross references the appropriate microfiche card if you wish to go
directly to the listing.
The extended descriptions are keyed by process step to the diagrams
and describe the process in more detail.
In addition, the extended
descriptions give the names of th~ module and routine that perform the
function.
The following symbols are used in the diagrams:

______>
______

>~

Data flow

----~

Data reference

Reference to another diagram

Pointer

Relation of the Diagrams to Program Phases
Since the diagrams are broken down by function of the assembler, they
are not organized exactly like the phases of the assembler.
Below is
a table showing which diagrams cover which phases.

12

Phase

Diag:ram

Initialization
Edit
Dictionary Interlude
Generation
Symbol Resolution
Assembly
Post Processor
Diagnostic

27
3, 4, 5, 6, 7
8, 9, 10
11, 12, 13
15, 16, 17, 18, 19, 20
21, 22, 23, 24, 25
26
21

This page intentionally left blank

Method of Operation 13

Generate Object Code from Source Code

D

PROCESS

;--/1.

Source macros

C J , A s s e m b l e r and
machine instructions

u

• Copy members

I-'

~

Data flow

-- ~

Data reference

~

Pointer

Q

Reference to
another diagram

LEGEND

OUTPUT

SYSPUNCH
Expand macro instructions
and do conditional assembly

CD
Assemble object code from
machine, data, and assembler
instructions

cv

~

U

SYSGOA·object
modulet=J!

SYSPRINT

D.

Listing

Generate Object Code from Source Code (cont.)

o
I--'
lJ1

Input to the assembler is source statements in the
following forms: SYSIN: source macro definitions
and machine and assembler instructions; SYSLlB:
COpy members (which may also contain macro
definitions) and library macro definitions (either
IBM-supplied or installation-written).
Source statements are read and macro instructions
expanded according to their definitions and the

results of the conditional assembly. Conditional
assembly in open code is also performed.

•

When all macro instructions have been expanded
and all conditional assembly performed, the source
statements are assembled into object code. Output
is an object module (either on SY.SGO or SYSPUNCH)
and a listing.

Expand Macro Instructions and Do Conditional Assembly

I

f

INPUT

OUTPUT/INPUT

$YS1N

FILE 1

Text segment

~

1

-------Text segment

-------- ~ ~r~i~i::cro

'di"d ""'~
macros

OUTPUT/INPUT

2

~ O~"=oo
Edited library

-------

Text segment

---~----

1~Open

fiLE 2

macros

Fr=51


--)

~

V

PROCESS
•

Text segment
dictionary
file

::)

I--

Data flow

Pointer

Reference to
another diagram

LEGEND

~

~

Macro defintion
directory
Ord symb.
definition
file
Opsyn table

~

----,/

\

BUILD
GENERATION
DICTIONARIES

...

FILE 3

Data reference

-

FILE 2.

CD

I
I

.J-..

~

~

I
I

PROCESS

I

Ordinary
symbol
attribute
ref. diet.

~

-,

--

.GENERATE
ASSEMBLER AND
MACHINE
INSTRUCTIONS

A

Opsyn
table

~

CV

~~

FILE 1

Skeleton
dictionaries
(one for
each text
segmentl

rV

r--r------'
Generated
statements

OUTPUT
FILE 2

Expand Macro Instructions and Do Conditional Assembly (cont.)
MODULE

o

Source statements are read from SYSIN and SYSLIB.
They are formatted, and expressions are translated
to postfix notation. Positions for symbol values in
in generation -time dictionaries are computed and
pointers to the positions inserted in the records.

IFNX1A
IFNXlJ
IFNX1S

MODULE
-•

The edited records are written on the edited text
file (file I) which is passed to Generate Assembler
and Machine Instructions (Diagram 11).

I--'
~

Another editing function is to collect information
needed to build generation-time dictionaries. The
sizes of the dictionaries ore calculated and in some
cases data is collected to fill them. This information is collected in the text segment dictionary
file and in the macro definition directory (files 2
and 3).

e

Information collected in the text segment
dictionary file and the macro definition directory
is used to build (and in some cases fill) the
dictionaries to be used during generation. The
macro definition vector, which serves as a link
between a macro call, its definition, and the
dictionaries necessary to expand the macro, is also
built.

The edited text file is read and the dictionaries
are used to produce assembler and mach ine
instructions from the macro instructions and
conditional assembly instructions. The output
contains no macros or conditional assembly
statements.

IFNX2A

IFNX3A

Edit

II

INPUT

PROCESS

UTPUT
(MDDSTRT) (FILE 3)

0
-8

Open code

Read statements

DSECT =OPSYNTRY

OPSYN table
Classify by operation code

•

Macro definition directory

Process ICTL, OPSYN, COPY

Edi~ ~am~, opcode, and operand: compute

•

positions

In

see

6

generation-time dictionaries

SYSLIB
(HANDLE ACCORDING TO OPCODE)

Library macro
definitions

EDITED TEXT FILE (FILE 1)

MACRO DEFINITION HEADER
FIRST STATEMENT OPEN CODE

I

Source macro
defintions

I

Copy
members

I

Initialize directories

,I
t-'

00

OPCODE TABLE

I

(FFNX1K)

I
I
I

Make MOD entry

I~- I

System macro definitions
CONDITIONAL ASSEMBLY
STATEMENTS
ASSEMBLER INSTRUCTIONS
MACHINE INSTRUCTIONS

(FILE2)
Text segment header

l3J

Process symbols
~
Translate expressions to post-fix. ~

MACRO
INSTRUCTIONS
Search MOD and make entry if needed
Insert pointer in metatext

~

CV

C9

~

MEND STATEMENT

Close text segment dictionary file

e

Close MOD entry

C9

Edit remarks and strings

~
~

~

~

Text segment(s)

End of segment
Text segment header
Text segment

Write edit record and parameter records

I

Text segment

End of text segment
Text segment header

~

Write records

see

End of segment

ORDINARY SYMBOL DEFINITION FILE (FILE 3)
see

8

Edit (cont.)

MODULE

ROUTINE
(LABEL)

G

Editing consists of converting records into an internal format
suitable for processing; inserting pointers to generationtime dictionaries for variable symbols, sequence symbols,
and ordinary symbol attribute references; and translating
expressions into postfix notation. Each record is split into
"virtual" text (a copy of the input record separated by
fields) and "metatext" (either a pointer to where a symbol's
value will be found at generation time or an expression
translated into postfix notation for generation-time
evaluation). The order of editing is opcode, name, operand,
and remarks and strings.

The variable symbol definition directory, the sequence
symbol reference directory, the ordinary symbol attribute reference directory, and the text segment directory
. file are initialized (see Diagram 5).

IFNX1A

tions). Edit scans past the name field to the opcode

•

The opcode is checked against the OPSYN and
. OPC ODE tables. Errors in opcode or a statement's
position in the source file cause error messages to be
generated. If the opcode is a variable symbol, the
statement is processed as a machine instruction (see
below).
ICTL, OPSYN, and COPY statements are processed
(see Diagram 4).

TBLOPS

IFNX1A
IFNXlJ
IFNX1A
IFNXlJ

MACRO
(MAC RENT}
STMTSEQ
(OPENENT)

•

Make MDD Entry (see Diagram 6).

IFNX1A

PROTOIN

•

Variable symbols (positioned and keyword parameters)
in the operand are processed (see Diagram 5).

IFNX1A
IFNX1J

VARSYM
(VARSYMD)

•

The prototype record is then wri tten on the edi ted
text file. Also, one parameter record is written for
each keyword parameter followed by an "end of all
parameters" record.

IFNX1A

NEXTPM

VARSYMD
VARSYMR
SEQSYMBD
SEQSYMBR
CRDSYMBR

READNEXT
(RDSRC)
(GSCAN)

field (but saves the name field). If the statement is
a comment, the complete record is written immediately.
•

IFNX1A

IMacro Definition Prototype I

~

Statements are read from SYSIN or from SYSLIB (in
the case of COpy code and library macro defini-

ROUTINE
(LABEL)

Macro Definition Header
First Statement of Open Code

I-'

o

The statements are handled according to their
opcode:

MODULE

Conditional Assembly Statements
Assembler Instructions
Machine Instructions
IFNX1A
IFNXlJ

TBLOPS
(OPERCODE)

•

Variable symbols, sequence symbols, and ordinary
symbol attributes are processed (see Diagram 5).

IFNXlJ

IFNX1A

TBLOPS
(lCTL)
(OPSYN)
(COPY)

•

Expressions are translated into postfix notation
(see Diagram 7).

IFNX1S

•

Edit records are written on the edited text file.

EDIT (cont.)

MODULE

IMacro Instructions

N

o

MODULE

ROUTINE
(LABEL)

ROUTINE
(LABEL)

IMEND Statement I

•

Process according to Diagram 6.

IFNX1A

MCALLIN

•

lhe record is put to the edited text file; also one parameter record for each parameter specified is written on
the edited text file. Each ordinary symbol used as a
parameter causes an ordinary symbol attribute reference
to be logged (see Diagram 5). If a positional parameter
is omitted, an "omitted parameter" record is written on
the edited text file. An "end of all parameters" record
follows the parameter records.

IFNX1A
IFNXlJ

NEXTPARM
(ORDSYMBR)
•

•

The text segment dictionary file is closed.

•

The MDD entry for the text segment is closed (see
Diagram 6).
The rest of the record (remarks and strings) is edited.

IFNX1A
IFNXlJ

MEND
(MACREND)

IFNX1A

WRAPFLD

~
~

co

..--l
.Q

+J
4-1
Q)

..--l

!>1

..--l
..--l

co
~

0

.r-!

+J

~
Q)

+J
~

'r-!
Q)

01
CO
0.,

Ul

.r-!

..c
E-t

21

Process ICTL, COPY, and OPSYN

II

OUTPUT
IMDDSTRT)
OI'SYN TABLE

J-~;-----l===::;t'-c-:--~-.::::=;)1 ~
I

(FItE 3)

DSECT ~
OPSYNTRY

Change begin, end, and continue
columns for source input

Make entry in opsyn table
OPSYN TABLE

Properties
of old
"delete"
Opcode
EDITED TEXT fl LE
N
N

1. Save present position in source input file
or SYSLIB in COpy nest stack

Icn
OPSYN
COpy

D
Copy
switch
status

IN/P
of discontinued
text

2. Reposition edit input to member
from system library

3. At end of member reposition to
interrupted text

=:)

Doto flow

---~

Data reference

~

Pointer

v

Reference to
another diagram

LEGEND

Up to 5

levels

(edited form)
(edited form)
(edited form)

(F IL€ I}

DSECT" JTEXT

Process ICTL, COPY, and OPSYN (cont.)

MODULE

ROUTI NE
(LABEL)

IFNX1A

Icn

[!ill]
An ICTL statement changes the beginning, end, and
continue columns for source input. The (edited) ICTL
record is put on the edited text fi Ie.

l\.)

w

I

For every valid OPSYN an entry is made in the OPSYN
table. Entries may be two forms: either the user wants
to give a standard opcode a duplicate name and keep
both opcode names as valid; or he wants to replace
a standard opcode name with one of his own and wants
the standard name to be invalid. The two types of
entries are shown in the table. The OPSYN table is

IFNX1A
IFNXlJ

OPSYN
OPSYNBID

ROUTINE
(LABEL)

IFNX1A
IFNX1A
IFNX1A

COpy
CSTKENT
CSTKEXT

complete when a statement other than ICTL, OPSYN,
print control, or comments is read. The (edited) OPSYN
statements are written on the edited text fi Ie. The
OPSYN table is built and kept in core during editing;
it is then written onto file 3.

leopy
IOPSYN

MODULE

I

Up to five levels of COPY nesting are allowed. When
a COpy statement is encountered, the present position
in the source input file (or in the system library) is
saved in the COpy nest stack. Each entry in the stack
consists of the copy level status switch and the NIP
address of the discontinued text. The input is repositio ned to edit the copy member from SYSLIB. At the end
of the member, the input is repositioned to the interrupted location. The (edited) COPY statement itself
is written on the edited text fi Ie.

Process Symbols
PROCESS
OUTPUT

DSECT=VSDENTRY
system variable symbols
I
&A loffset

LCLA

&.

Ir===7
I '~UI

A

Local Definition
Compute offset in generation-time dictionary
Log symbol and offset; insert offset in metatext,,' (--1')
Local Reference
,,' I ~

AIF

Find symbol and insert offset in metatext
Global Definition
GBLC &. G - _.........&..''\. 1.Calculate offset in global vector
2. Log symbol and offset; insert offset in metatext
3.Enter global definition
~
record
~
Global
Reference
AIF (& G EQ 'FF').X
Find symbol and insert offset in metatext
_____....·L'\. Macro Parameters (from Prototype)
MAC! &X
Compute offset in parameter vector;
log symbol and offset
Macro Parameter Reference
AR
3, & X
Find parameter and insert offset in metatext

N
~

~:

&~ffset_

..

glebal
OSteT"

GBLDEf
DSECT=SSDIR
SEQUENCE SYMBOL REFERENCE DIRECTORY

I
I

.X

I~:-I
(max. 10 entries)

I

.X

ANOP

AGO

SAM
ABC

~

SR
OS

'.'

MVC

L' ABC ....

F

I

Reference
/ "
1. Search for symbol. If found, insert offset in metatext, I
2. Not found, compute offset in sequ~nce symbol refl'!rence dictionary,
enter symbol and offset. Enter offset In metatext.
Enter sequence symbol reference record
(OSRDSTRT)
~
I ORDINARY SYMBOL I
ORDINARY SYMBOL ATTRIBUTE REFERENCE

X

,

DIRECTORY

0";";';0"

Copy record

8=>

Attribute Reference

&G

definltian

I SEQUENCE SYMBOL!
DefinItion
Enter definition record~

c:;;;:Toff-1
~

It

II

(max. 10 entries)

.

Process Symbols (cont.)

N
U1

To edit statements containing symbols, it is necessary to:

Symbols are processed according to type:

•

IVARIABLE SYMBOL

Compute the positions in generation-time dictionaries
of variable symbols (including macro parameters),
sequence symbols, and ordinary symbols with attribute
references.
'

MODULE

I

Local Definition

Insert the offset of the symbol value (in the dictionary)
in the record's metatext.

1. The offset of the symbol's value in the generationtime local dictionary is computed from the symbol
type and specified dimension.

IFNXlJ

•

•

Construct the text segment dictionary file, from which
the generation-time dictionaries and vectors are
built later.

2. The symbol and its offset are then entered in the
variable symbol definition directory; the offset is
entered in the metatext of the edit record.

IFNXlJ

Note: Only symbols needed for macro expansion and
conditional assembly (variable symbols, sequence
symbols, and ordinary symbols with attribute references) are processed at this stage. See Diagram 15
for processing of ordinary symbols for assembly.

Loca I Reference

Three internal work areas are used: The variable symbol
definition directory serves to keep track of which variable
symbols have been defined. It contains system variable
symbols, local and global variable symbols (and their offsets in generation-time di ctionaries), and macro parameters (with their offsets in the macro parameter vector).
The sequence symbol reference directory keeps track of
references to sequence symbols and where their definition positions will be in the generation-time dictionary.
The ordinary symbol attribute directory serves an exactly
analogous role for ordinary symbols whose attributes
have been referenced.

ROUTINE
(lABEL)

The symbol is found in the variable symbol definition
directory and its offset inserted in the edit record's
metatext.

IFNXlJ

VARSYMBD
(VSLOOKUP)

VARSYMBR
(VSLOOKUP)

Global Definition

1. The offset of the symbol's pointer in the global vector
is calculated (each entry in the global vector is
three bytes long).

IFNX1J

VARSYMBR
(VSLOOKUP)

2. The global vector offset is then entered in the record's IFNXlJ

metatext.
3. A global definition record (consisting of the symbol, its
dimension, type, and offset in the global vector) is
written on the text segment dictionary file.
Global Reference

Note: Both the sequence symbol reference dictionary
and the ordinary attribute, reference di ctionary contain only 10 entries at a time; thus a given symbol
may appear more than once in the corresponding
dictionary.

The symbol is found in the variable symbol definition
directory and its offset in the global vector inserted in
the meta text •

IFNXlJ

VARSYMBR
VSLOOKUP)

PROCESS SYMBOLS (cont.)

MODULE

MODULE

ROUTINE
(LABEL)

Macro Parameters (from Prototype)
The symbol's offset in the generation-time parameter vector
(see Diagram i2) is computed. The symbol and its vector
offset are logged in the variable symbol definition directory
and the offset i nser.ted in the parameter record metatext.

2. If not found, (a) the symbol's offset in the sequence symbol
I FNX1 J
reference dictionary is computed and the symbol and its
offset entered in the sequence symbol reference directory;
(b) the offset is entered in the record metatext; (c) a sequence
symbol reference record is written on the text segment
dictionary fi Ie.

IFNXlJ

Macro Parameter Reference
The symbol is found in the variable symbol definition
directory and its parameter vector offset placed in the
edit record's metatext.

IO-RDI NARY SYMBOLI
IFNXlJ

Definition
The record is copied onto the ordinary symbol definition file.

ISEQUENCE SYMBOLI
I\)
~

Attribute Reference

Definition
A sequence symbol definition record (with NIP v~lue of
edit record) is written on the text segment dictionary fi Ie.

IFNXlJ

SEQSYMBD

IFNX1J

SEQSYMBR

1.

The ordinary symbol attribute reference directory
is searched. If the symbol is found, its offset in
ordinary symbol attribute reference dictionary is inserted in the record's metatext.

2.

If the symbol is 'not found, its offset in the ordinary
symbol attribute reference dictionary is computed and
the symbol and offset entered in the ordinary symbol
attribute reference directory. The offset is entered
into the record's m etatext. An "ordinary symbol
attribute reference record" is written on the text segment dictionary file.

I

Reference
1. The sequence symbol reference directory (first 10
entries) is searched. If the definition is found, its offset
(in the sequence symbol reference dictionary) is inserted
in the record's metatext.

ROUTINE
(LABEL)

IFNX1J

ORDSYMBR

Ul

.r-t

..c:
8

27

Process Macros and Build Macro Definition Directory

Make MOO entry (with MOV offset and NIP address)
(if entry has not been made as ~'macro instruction")

~

1. Mark MOO entry "edited"

2. Enter sizes of global vector, sequence symbol
reference dictionary, and local

dictionary~

1. Search MOO - - - - - - - - 2. If found, insert MOV offset in
metatext

tv
OJ

C0====>

3. If not found, make MOO entry, insert MOV
offset in metatext, mark "not edited"

IEND OF FILE ON SYSIN/LiBRARY MACROS I
1. At EOF on SYSIN search MACLIB for MOD
entries marked "not edited"
2. Not found, mark entry "undefined ~
opcode"
~

Data flow

Data reference

Pointer

Ref erence to

(Jnother diagram

Process Macros and Build Macro Definition Directory (cont.)

MODULE

ROUTINE
(LABEL)

Macro prototypes, macro instructions, end-of-fi Ie on
SYSI N, and MEND all cause entries to be made in the
MDD.

IMACRO PROTOTYPE}
\!)

•
•

The MDD is searched for a corresponding entry.

2.

The sizes of the global vector, the sequence symbol
reference dictiona'ry, and the local dictionary for
the text segment are placed in the entry.

When a macro instruction is encountered
(either within a macro definition
code), the MDD is searched for a corresponding entry.

IFNX1J

MACRNAME

2.

If found, the MDV offset is inserted in the metatext of the macro instruction's edit record.

IFNXlJ

MSCANA

3.

If it is not found, the macro name and the next
calculated MDV offset are entered in a MDD entry
for the macro. Its MDV offset is inserted in the
metatext. The MDD entry is marked "not edited".

IFNXlJ

MACENTRY

I END OF FI LE on SYSI N (Librarz: Macros) I

If found, the NIP address on the edit text fi leis
IFNXlJ
added to the MDD entry. If not found, the macro
name, its calculated offset in the MDV, and its Nip
address on the edited text file are entered in the
MDD.

At the end of a macro definition (either source
or library) the MDD entry is marked "edited".

1.

I

MACRENT

IME N D Statement I
l.

ROUTINE
(LABEL)

IMACRO Instructionl

The macro definition directory (MDD) serves roughly the
same function for macros as the variable symbol definition
directory does for variable symbols: it keeps track of which
macros have been defined and helps in assigning pointers
to their generation-time definitions. Information from the
MDD is later used to bui Id the macro definition vector
(MDV) (see Diagram 10).

t\J

MODULE

IFNXlJ

MACREND

COMNEND

l.

At EOF on SYSI N each entry in the MDD marked
"not edited" is found. These entries are either
library macros or undefined opcodes. SYSLIB is
searched for corresponding entries.

IFNX1A
IFNX1J
IFNX1J
IFNX1A
IFNXlJ

NEOFRTN
OPEN END
COMNEND
ESYSMAC
EDITSYSM

2.

If not found, the MDD entry is marked "undefined
opcode".

IFNXlJ

MACREND

3.

If the macro is found on SYSLI B, the prototype is
edited as above and its NIP address on the edited
text file placed in the MDD entry (the entry will
be eventually marked "edited" by the MEND
statement processi ng).

IFNX1J

MACREND

Convert Expressions to Postfix Notation

D

INPUT

Ooerand of
SETx or AIF
statement

PROCESS

--:>1:

e

Scan expression
Pass tenns directly to metatext

Send operators to postfixer. Move to
metatext as binding factor dictates

OUTPUT

------.:>

Expression in postfix notation

MACRO

w
o

THIS META TEXT

MACI

& PARM 1 , &PARM2,&PARM3

LCLA

&X,&Y,&Z,&A

LCLB

&~,&N,&B

lClC

&Q,&C(SO}

&A

SETA

5

&B

SETB

i§
'\::01

THIS EXPRESSION
AIF
. LABEL

ANOP
MEND

::::I"~':""" """""""""""""""}~i:;::!~~~s~:~J:~':';':'>""""""""""""""""""""""",::,,',"':':':}""'::'::}}}}}":'{""

I

AND &A*&B+l LT &PARM2} .LABEL

GIVES

--->

'iiil

E0029

~!.-: ~32

:L 000019
t 0000
m: 17

""; 01
': OE
~'22
::000019
;'0000
~:24

r'

:::~

",:::/.

end character mode

:~:~tc~:rl:::: ::i~a~

~~~;nsion

for &C

of &C

offset in local dictionary for &A
0 (&A undimensioned)
dimension operator ( )
end character mode
EQ operator
setA
offset in local dictionary for &A
0 (&A undimensioned)
setB

1,:~:~1 F

~f~~~ ~~~~~~~s~:t~~ary for

:/08

*<>perator
self-defining term
1 (value of self-defining term)

ii2C

~tOOOOOOOl

I

&8

~ ~f~~;:~~~rom.". ."~ f~ &PA~ ~
L ff~~'~~;r~~&~f' d;".J

Convert Expressions to Postfix Notation (cont.)
MODULE

MODULE

ROUTINE
(LABEL)
7

Expressions are translated into postfix notation (also called
reverse Polish notation). This is a form easier for the
assembler to interpret during generation.

o

8

9
10

•
•

IFNX1A

Expressions are scanned

Elements (that is, non-operators) are assigned identifiers
are are inserted immediately into the metatext. VariIFNX1J
able symbols are processed as described in Diagram 5
and dictionary pointers entered.

W

o
1
2
3
4

5
6

GT, GE, LT, LE, EQ, NE
NOT
AND
OR
), END CHARACTER MODE, COMMA
(, START CHARACTER MODE
STATEMENT TERMINATOR

The first operator encountered is always entered in the stack.
For all other operators, the operator's binding factor value
is compared with that of the last operator entered into the
stack. If the value being compared is lower than that of the
last operator in the stack, the operator is placed in the stack.
If the value being compared is higher than or equal to that of
the last operator in the stack, the operator is removed from the
stack and placed in the metatext. The value is then compared
with the next element in the stack and so forth.

Operators are sent to the postfix routine, where they are IFNX1S
put into a stack according to their "binding factor".
This is a value assigned to each operator: the lower the
binding factor, the earlier the operator is inserted into
the metatext. Operators are assigned the following
binding factors:

I--'

11
12
13

META SCAN

ROUTINE
(LABEL)

DIMENSION OPERATOR
STRI NG OPERATOR
DUPLICATION OPERATOR
PERIOD (CONCATENATION)
UNARY PLUS AND MI NUS, TYPE, LENGTH,
SCALE, INTEGER, COUNT AND NUMBER
ATTRIBUTES
MULTIPLY, DIVIDE
ADD, SUBTRACT

"Start character mode" and "end character mode" operators
are placed immediately into the metatext, bypassing the
stack. When the end of the expression is reached, the edit
phase passes an "expression end" operator to the stack.
This operator has avery high binding factor and forces the
remaining operators in the stack into the metatext. The
"expression end" operator is placed last in the metatext to
serve as a term inator.

Processi.ng of the expression shown on Diagram 7 proceeds as follows:
('ABC'

1

EQ

2

'&C (&\)'

3

4

AND
5

&A*&B + 1 LT &PARM2). LABEL
678 9 10 11
12 13
METATEXT

ABC is placed immediately in
meta text

ABC

2

EQ is entered in the operator stack

ABC

3

&C&A placed in metatext

ABC&C&A

4 0 ' s binding factor compared to EQ's
binding factor; () is put in the stack

ABC&C&A

5

AND's binding factor> O's binding
factor. AND replaces 0 in stack;
goes to metatext. AND also
replaces EQ in the stack; EQ goes
to metatext.

ABC&C&A () EQ

&A goes to meta text

ABC&C&A 0 EQ&A

7
OPERATOR
STACK

UgJ
lE9J

lkJ
EQ

IANDI

*'s binding factor < AND's binding
factor. Enter'" in stack

ABC&C&A 0 EQ&A

8

&B goes to metatext

ABC&C&A 0 EQ&A&B

9

+'s binding factor> * 's binding
factor. * goes to metatext, + into
stack. +'s binding factor  +'s binding
factor. + out, LT in. LT's binding
factor < AN D's; no change

ABC&C&A 0 EQ&A&B* 1+

12

&PARM2 into metatext

ABC&C&A () EQ&A&B*1+PARM2

13

END empties stack

ABC&C&A 0 EQ&A&B* 1+PARM2LTANDEND

o

6

ABC&C&A 0 EQ&A&B*

IA~DI

I LT I

lM!QJ

I

LT

I

~

Build Generation-Time Dictionaries
PROCESS

INPUT
ORDINARY SYMBOL

("'NIlION FILE ~IL")

OUTPUT

~

TEXT SEGMENT
,DICTIONARY filE (FILE 2)

ORDINARY SYMBOL
ATTRIBUTE REFERENCE
DICTIONARY (FILE 1)

CD

O

Build ordinary symbol attribute
reference dictionary

A
V

Build skeleton dictionaries and compute
size and layout of global dictionary

~
•

OSEe! '"

OSRTNTRY

SKELETON DICTIONARIES

DSECT =
SKDCTHD

Convert macro definition directory to
macro definition vector

.

(FILE I)

~

MACRO DEFINITION VECTOR (FILE 1)
W

tv

oseCT '"
MDVNTRY

OPSYN TABLE (generation formal) (FIL£, 2

(unchained entries)

Data flow

'---~

Data reference

---7

Pointer

Q

Reference to
another diagram

UGENo

DSEC! '"

0l'5T8L

Build Generation-Time Dictionaries (cont.)
Selected information collected during editing is used to set up
the dictionaries for use during generation.
MODULE
•

•

LV
LV

The ordinary symbol attribute reference dictionary
is bui It by matching entries in the ordinary symbol
definition file with corresponding entr ies in the
text segment di cti onary file (see Diagram 9).
Skeleton dictionaries are set up for each text segment. Because each skeleton dictionary contains
a global vector pointing to entries in a common
(for all text segments) global dictionary, it is
necessary to set up the global dictionary at the same
time. See Diagram 10.

IFNX2A

IFNX2A

ROUTINE
(lABEL)
ORDREF
ORDSYMBR
SEQREF
SEQDEF
GBLDEF

•
•

MODULE
Information in the macro definition directory is
split at this point. Part goes to the skeleton dictionary
headers, and part goes to make up the macro
definition vector. See Diagram 10.
IFNX2A

The OPSYN table is passed on for generation.
Entries are unchained and the size and location
of the table saved in COMMON.

IFNX2A

ROUTINE
(lABEL)

ENDSEGB

OPSYNBLD
PUTOPSYN

Build Ordinary Symbol Attribute Reference Dictionary

ORO INARY SYMBOL ATTRIBUTE
REFERENCE DICTIONARY
{FILE 2)

e

Scan text segment dictionary file for
ordinary symbol attribute references

8

Build ordinary symbol attribute reference
tc:.ble

DSECT '"
OSRDNTRY

scale I default
ORDINARY SYMBOL ATTRIBUTE
REFERENCE TABLE

e

w
~

O

=>

Data flow

---~

Data reference

-----+

Pointer

Q

Reference to
another diagram

LEGEND

Read ordinary symbol definition file
Get pointer to corresponding entry in
~
ordinary symbol attribute reference dictionary'

Build Ordinary Symbol Attribute Reference Dictionary (cont.)

MODULE

ROUTINE
(LABEL)

Attributes of ordinary symbols are collected and placed
in a dictionary to be used at generation.
•

The text segment dictionary file is scanned and type
"OC" (ordinary symbol attribute required) records
read •

•

The symbol is hashed and inserted in the ordinary
symbol reference table, along with a pointer to
its eventual position in the ordinary symbol attribute reference dictionary. Entries in the table
are chained.

•
W
lJ1

When all the "OC" records for a given text segment are read, the ordinary symbol definition fi Ie
containing the definition records for all ordinary
symbols, is read.

IFNX2A

ORDREF

IFNX2A

HASH

IFNX2A

ORDSYMBR

•
•

MODULE ROUTINE
(LABEL)
The symbol from the ordinary symbol definition
fi Ie is hashed and the ordinary symbol attribute
reference table searched for a corresponding entry.
If found (that is, if attributes are required), the
symbol's position in the ordinary symbol attribute
reference dictionary is obtained.

IFNX2A

The opcode and operand are then scanned to determine,
determine the attributes, which are inserted in the
dictionary at the positions given by the symbol's
hash-table chain. Pointers to dictionary locations
I FNX2A
have already been placed in the metatext of edit
records that require them (see Diagram 5). Note
that one symbol may have several identical entries
in the ordinary symbol attribute reference dictionary
because of the lO-entry limitation of the edit-time
ordinary symbol attribute reference directory.

HASH
OSLUKUP

BRONTYP

Build Skeleton Dictionary and Macro Definition Vector

GLOBAL DEFINITION
1. Search for global definitions ..
DIRECTORY (GDSTRT)
2. Compute global dictionary position,
i
make global directory entry ~
3. insert dictionary pointer in
~
global vector
I~~:~o goa

o

HEADER

DSECT = GDNTRY

o ptr. to seq.sym.ref.dict
o ptr. to local diet.
o length local diet.

i

>!.n!!!a~m~e"-,",,d<.Cic,..,..-/L"~_L.-_ _-,

I BUILD SEQUENCE SYMBOL REFERENCE DICTIONARY I
1. Scan 1: Make entries for ,sequence'
(one directory for all
symbol definitions
~ text se ments)

2. Scan 2: Make sequence
sym!><> I ref. dictionaryfB\
entries
\::..J

SEQUENCE SYMBOL
DEFINITION TABLE (SSDTSTRT) DSECT = SSDTNTRY

SEQUENCE SYMBOL REFERENCE
DICTIONARY

w

m

I MAKE SKELETON DIcTIONARY HEADE~

~
(one table for each
text segment)

11/

1. Insert pointer to sequence symbol
~
reference dictionary
2. Insert local dictionary pointer
and length

IMAKEMACRO DEFINITION VECTOR ENTRY]
1. Get offset into macro definition vector from
macro definition directory for this macr~
Enter text file NIP and skeleton
~
diction.ary location and size at that offset

text file NIP}
skel diet N7p
1st macro
skel.dict.size

}

I
J

2nd macro

1
1
':"

,

Build Skeleton Dictionary and Macro Definition Vector (cont.)
A skeleton dictionary for a text segment consists of a header, a global vector, and a
sequence symbol reference dictionary.

I

I

BUILD GLOBAL VECTOR
There is a global vector for each text segment. The relationship among global symbols,
global vectors, and the global dictionary is shown below:

Global vector for segment I

Edited text for segment I

I ~\ I ~:~
I -5}- I X '3' I &B I Z I. X'9
X '6
'I--V:j6-rlX~'6:-:-,1
1&-c-'-I-5"""""'S-I

'--75 I x'o' I
~

W
-.....J

Metatext

&A

~
Vi rtua I text

n_

"*

5$

I X '0' I &C

X'O'

X'9'
X'9'

X'12'

X'I2'

X'IB'
X '24'

&A*
&B*
&C*
&D*

D

Global vector for segment 2

Edited text for segment 2

I

Global Dictionary

X'O'

55

)}

I X '3' I

&A

I 55

55

I X '6' I

&D

I 55

X '0'
X'3'
X'6'

X "IB'

[J

The symbol itself does not appear in the dictionary. It is shown here only to indicate
which locations are assigned to which symbols. &A, &B, &C and &D are assumed in this
example to be GBLC variables, each of which takes up 9 bytes in the global dictionary.
(If the symbols are longer than 9 bytes, a dictionary extension is used.)

IFNX2A

GBLDEF
(GSHASHER)

IFNX2A

GBLDEF

IFNX2A

SEQDEF
(SSHASHER)

2. For each new definition (that is, one not defined in
a previous text segment) a position in the global
dictionary is computed and the symbol with its position entered in the global definition directory (an
in-core work area). The global definition directory
is used to keep track of which global symbols have
previously been defined and thus to insure that the
global dictionary contains only one entry per symbol.
The entries are accumulated from ~ text segments •
3. The global vector offset for this symbol is obtained
from the definition record. At that offset in the
global vector an entry is made giving the position
in the global dictionary.

IBUILD SEQUENCE

SYMBOL REFERENCE DICTIONARY

I

-

X '9

ROUTINE
(LABEL)

(global symbol definition) records.

Two passes over the text segment dictionary file are
needed to build the sequence symbol reference dictionary.

X'I2'
X'O'

1. The text segment dictionary file is read for type "00"

MODULE

I. On the first pass, the file is scanned for type "04"
(sequence symbol definition) reccrds. An entry for
each such record is made in the sequence symbol
definition table (an in-core work area).
2. On the second pass, type "08" records are read to
obtain the offset in the sequence symbol reference
di cti onary for each sequence symbol that has been
referenced. The NIP address of the symbol definition
is then inserted, at the offset given in the type "08"
record, in the sequence symbol reference dictionary.
Note that only sequence symbols which are referenced
are entered in the dictionary.

BUILD SKELETON DICTIONARY AND MACRO DEFINITION VECTOR (cont.)

MODULE
IMAKE SKELETON DICTIONARY HEADER ENTRIES

ROUTINE
(LABEL)

I

The skeleton dictionary header contains a pointer to the
sequence symbol ref~rence dictionary and a pointer to,
and the size of, the local dictionary.

IFNX2A

ENDSEGB

MODULE
IBUILD MACRO DEFINITI6N VECTOR

I

The macro definition vector (MDV) contains entries (one
for each macro) consisting of the text file NIP address
of the macro definition, the text fi Ie NIP address of the
skeleton dictionary for that segment, and the size of the

skeleton dictionary.
1. The pointer to the sequence symbol reference
dictionary for the text segment is taken from the MDD
and inserted in the skeleton dictionary header.
2. The size and location of the local dictionary for the
text segment are also placed in the header.

w

ex>

1. The offset in the MDV for the macro is obtained from
the MDD.
2. The NIP address of the macro definition, the NiP
address of the local dictionary, and the size of the
local dictionary are entered in the MDV.

IFNX2A

ROUTINE
(LABEL)

ENDSEGB

~
~

rcl

..--{

..0
.j..J

4-1
OJ
..--{

~
..--{
..--{

rcl
~

0

•.-1
.j..J
~

OJ

.j..J
~

•.-1

OJ
b'l
rcl
~

U)

•.-1

..c:
8

39

Generate Assembler and Machine Instructions
INPUT
-t
DlCnONAlUES
I

PROCESS
(fILES 1 cnd 2)
,

o

OUTPUT/INPUT

SKELETON DICT.
FOR OPEN CODE

(IN MAIN
STORAGE)

Initialize dictionaries
GLOBAL
DICTIONARY

,EDITED TEXT FILE

ORDINARY SYMBOL
ATTRIBUTE REF.
DICTIONARY

(FILE 1)

A

Macro definition

Macro instruction

V

OUTPUT
(fILE 3)

(for each text segment)
Build parameter table
and initialize skeleton
dictionary

cv

OPSYN TABLE
PROCESS
ASSEMBLER AND
MACHINE
INSTRUCTIO NS

PARAMETER TABLE
(FOR TEXT SEGMENT)

A

V
.f;>

Do conditional
assembly and
substi tuti on

o
SKELETON DICTIONARY
(FOR TEXT SEGMENT)

~

••
•
Skeleton dictionary
for text segment 1
Skel. dict. text seg. 2

=>

Data flow

---)

Data reference

-----7

Pointer

Q

Reference to
another diagram

Generate Assembler and Machine Instructions (cont.)

o
•

~

I--'

MODULE
The macro definition, the ordinary symbol
attribute reference dictionary, and the OPSYN
table are read into main storage from fi Ie 2.
The length of the global dictionary is retrieved
from COMMON and it is initialized. The
skeleton dictionary for open code is read from
file 1. The local dictionary for open code is
initialized.
As macro instructions are encountered, the pointer
to the corresponding entry in the MDV is retrieved.
The MDV entries consist of NIP addresses of the
macro definition and of the skeleton dictionary for
the text segment. Parts of the parameter table are
built. The text file is repositioned to the macro
definition.

ROUTINE
(LABEL)
The parameter table for the text segment is then
built. This table contains values for both positional
and keyword parameters. (See Diagram 12.)

IFNX3N

IFNX3N

MODULE

ROUTINE
(LABEL)

IFNX3N

PROTOKWD

IFNX3N

PROTOEND

PHASENTR

MACRCALL
MACRPOST
MACRKWRD
CALLEND

•

The skeleton dictionary for the text segment is then
read into main storage from file 1. Everything is
now ready for expanding the macro instruction and
performing the conditional assembly •

Macro definition (or conditional assembly) records
from the edited text fi Ie are read and their pointers
I FNX3A
to dictionary entries used to fill and reference
dictionaries. Expressions are evaluated and subI FNX3N
stitution performed. See Diagram 13. The output from this function is source statements free from
macro instructions or conditional assembly statements.

Build Parameter Table and Initialize Skeleton Dictionary

III

I
ADD A,B,Z = 3
each macro instruction

A

Enter parameters in
parameter table

B
Z=3

Make positional vector

.j:>.

N

paramo table for
Kwords from definition.
If not found, enter default
SKELETON DICTIONARY
(CURRDICT)

e
Skeleton
dictionary

.

Make keyword vector entries
for keyword parameters

Header
Global vector

(CURRGLBL)

r~~~r~~~e dSi~~bOI

(CU R RSEQS)

Local dictionary

(CURRLOCL)

Build Parameter Table and Initialize Skeleton Dictionary (cont.)

MODULE

o
•

•

•

.I:>.
W

ROUTINE
(LABEL)
MODULE

The edit file is read.
For each macro instruction encountered, entries are IFNX3N
made in the parameter table for each parameter record
following the macro instruction. Keyword parameter
values are chained.
An entry is made in the positional vector for every
I FNX3N
positional parameter entered in the parameter table.
The entries in the positional vector are addresses
of the parameter value in the parameter table.

MACRKWRD
MACRPOST

The text fi Ie is repositioned (using pointers to and
from the MDV) to read the macro definition.
The parameter table is searched (via the chained

CALLEND
PROTOKWD

IFNX3N

MACRPOST

ROUTINE
(LABEL)

keyword entries) for keyword entries corresponding
to the keyword parameter records in the definition.
If they are not found, the default value is entered
in the parameter table •

•

Entries are made in the keyword vector in the same
way as for the positional vector.

O

IFNX3N

PROTOKWD

The MDV also contains the NIP address of the
I FNX3N
skeleton dictionary for the text segment. This dictionary is read into main storage and the local dictionary
initialized.

PROTOEND

Do Conditional Assembly and Substitution

1m

Ir··

..

PROCESS

INPUT

1\ •. . EOJT!EXT FILE
L\

I

I
!
I
I

Local SETA ref.
28 I ptr. to °
local dlct.

t::J

Isl;lbscriptl
dlmen.

LOCAl DICTIONARY (CURRLOCl)·

Global SETB ref.
ptr. to
.lsubscriPtl
25 global vector dimen.

I

Global SETC ref.
............ ,
.27 I! ptr. to
.1 subscript!
global vector dim.

GL08AL
VECTOR
(CUltItGlal)

Self-defined term

1 2C I value

,

I

padding

GLOBAL DICTIONARY (G05TRT)"

~

"":i

l

v

Process according to type
Type

Processing

12E ,.

r:rii;t~

Evaluate expressions
Store [new] value in or
global dictionaries

ANOP

Process next statement

ACTR

Evaluate expression
Evaluate expression
~

~

I

Go to address given in
seq. symb. ref. dict.
False:
Read next record
GENERATED tEXT RECORDS (FILE 2)

, string

.

I

KEYWORD
VECTOR
(CURRKEYD)

I kword
ptr. to
rr~boperan
vector number
l

_k-'l

PARAMETER TARLE (CURRPAItM)

~

Positional paramo ref
ptr. to
32 pOSe vector rUboperan4
number

I

.....

Branch to address specifiec
in seq. symb. ref. dict.

AGO

Keyword paramo ref.
32

SETA
SETB
SETe

AIF

Character string

"'"'""

..

\.

l
...

II

OUTPUT

Retrieve value
from parameter
table or dictionary
Obtain dictionary
pointer from metatext;
Variable
build new record with
~mbol
substituted value. Check
substitution substituted operators
Variable
symbol
reference

.

=>
...

l

.....

Ordinary symb. attr. ref.
28 o.s.a.
ptr. to
dict.
. pa ddomg

I

I'

t

I

l

Seauence symbol ref.
~
ptr.ref.
to diet. pa ddomg
2A s.s.

I

)
Ii~'
~ .•.

.1

~IT~~!

~

SETA
SETS
SETe

ORDINARY SVMaDL ATTRIBUTE
REfERENCE DICTIONARY (OSRDSTRT)

r •.

Ii
I·····

..;~

system global
variables
I::iystem local
variables

........

...

"DSECT, '"

Ie. "OOENCESYMlI. REF, DICT, (CO"''''')

~...

....

VECTOR
(CURRPOST)

SETANTRY
SETBNTRY
SETC NT RY

..

GSYSVALS
LSYSVALS

=>
--

- -)

.

..

----'>

Q
..

....

Data flow

.:

Data reference
!>

......

..

..

Pointer
Reference to
another diagram

.....
I

lEGfND

. ....~

.

Do Conditional Assembly and Substitution (cont.)
MODULE

When a macro instruction or conditional assembly statements are encountered, it is necessary to do substitution
for variable symbols and to perform the conditional
assembly. In the case of a macro instruction, the input
file is repositioned to the macro definition. Values of
variable ~ymb.)ls are computed (in the case of expressions)
from SETx statements and inserted in their dictionaries
according to the dictionary pointers. These values can
then be used either in substitution or in conditional
assembly.

ROUTINE
(LABEL)

MODULE

ROUT!NE
(LABEL)

IFNX3A

IFNX3N

MAIF
EVAL
GENSTRNG
RESOLVE
GBLDICTR
LCLDICTR
PARMTBLR
ORDSYMBR
SEQSYMBR

IAGol

IFNX3A

MBRANCHl

The text file is repositioned to the address given in the
sequence symbol reference dictionary for the sequence
symbol •

IFNX3N

SEQSYMBR

IFNX3N

PARMTBLR

~

IFNX3A

The expression is evaluated. If truei the text file is
repositioned to the NIP address given in the sequence
symbol reference dictionary for the sequence symbol.
If fa Ise, the next statement is processed.

IFNX3N

The records are processed according to type:

ISETx
.f:>.

Ul

I

The value of the operand is placed in the proper dictionary (local or global). If the operand is an expression,
it is first evaluated.

I FNX3A

MSETA
MSETB
MSETC
EVAL
GENSTRNG
RESOLVE

IFNX3N

GBLDICTR
LCLDICTR
PARMTBLR
ORDSYMBR
GBLDICTS
LCLDICTS

IVARIABLESYMBOL REFERENCE

I

If a reference to a macro parameter, the value is retrieved from the parameter table. If a reference to a
variable symbol, it is retrieved from the relevant
di ctionary.

LCLDICTR
GBLDICTR

IANOpl
No processing; the next instruction is processed.

IVARIABLE SYMBOL SUBSTITUTION I

IACTRI
The operand is evaluated and the value kept during processing of the current text segment.

IFNX3A

IFWX3N

MACTR
EVAL
RESOLVE
GBLDICTR
LCLDICTR
PARMTBLR
ORDSYMBR

Evaluate as a SETC operand and move the value into
the generated text record. If substitution is performed
in the operator field, check against the OPSYN and
opcode tables for validity.

IFNX3A

IFNX3N

GENFLD
GENSTRNG
EVAL
RESOLVE
GBLDICTR
LCLDICTR
PARMTBLR
ORDSYMBR

Assemble Object Code hom Machine, Data, and Assembler

Instructio~s

SYSLIST

GENERATE
OBJECT CODE

cv

,::,..

m

SYSPUNCH
SYSGO

Data flow
Data reference
Pointer
Reference to
another diagram

Assemble Object Code from Machine, Data, and Assembler Instructions (cent.)

MODULE

MODULE

After all macro instructions have been expanded and
conditional assembly in open code performed, the
assembler is ready to generate object code from the
assembler and machine instructions.
•

~
-.]

The generated text fil.e is read. Symbols are defined
{that is, given addresses} and their definitions {and
resolved references} collected in a symbol file.

Information for each control section is collected
in the external symbol dictionary, which is passed
directly to be printed.

IFNX3B

•

The generated text file is read once again, this
time with the symbol fi Ie , to generate the object
code. Output is object code, put to either SYSGO
or SYSPUNCH, and a listing.

IFNX41

IFNX51

Process Symbols

PROCt~S

OUTPUt/INPUT

l'ROCE$S

OUTPUT
EXTE~NAL

SYMBOL

DICTIONARY

~

co

Data flow
___ ~

Dato reference

~

Pointer
Reference to

another diagram

Process Symbols (cont.)

MODULE

•

•

.t>.
1.0

The edited text is scanned and a sequential symbol
fi Ie (" symbol fi Ie I") of all records necessary for
symbol resolution produced. The fi Ie consists of
symbol definitions, symbol references, literals,
and other assembler operations affecting the ESD
or location counter.

IFNX3B

Symbol file I is scanned and the ESDID and
location counter updated for all symbol definitions
and references. Symbol definitions (ESDI D and
location counter values) are entered in the symbol table. External symbol dictionary entries
are made for control sections, dummy control
sections, external dummy sections, external
symbols and entry-point symbols. The symbol
table is searched for all references and the reference resolved if possible. A literal pool is built.

IFNX41
IFNX4M
IFNX4D
IFNX4E
IFNX4S
IFNX4V

ROUTI NE
(LABEL)

MODULE

(8

G

e

The adjustment table is used to add the start value
IFNX4E
of a control section to a symbol's location counter
value (for symbols defined in a control section that
does not start at 0). It is also used to change the
ESDI D for all symbols defined in a DSEeT referenced
by a Q-type address constant.
Symbol fi Ie II is scanned and symbol references resolved with the help of the symbol table. Literal
references are resolved. Resolved symbol records
are written on symbol file III. All ESDIDs and
location-counter values are adjusted, if necessary.
Special handling is necessary if the symbol table
overflows. See Diagram 20.

IFNX4M
IFNX4S

IFNX41
IFNX4M
IFNX4D
IFNX4E
IFNX4S
IFNX4V

ROUTINE
(LABEL)

MAKESD

Collect Symbols
PROCESS

OUTPUT
SYMBOL FILE I (FILE 1)

DSECT"RSYMRCD

Build definition records
• Labeled machine
instructions

operand

• Labeled and unlabeled
machine instructions
• Assembler instructions
(except ENTRY,
EXTRN, WXTRN)

• Machine instructions
(labeled and unlabeled)
containing literals

Ul

o

operand

=>

Data flow

---~

Data reference

~

Pointer

CJ

Reference to
another diagram

LEGEND

Collect Symbols (cont.)

MODULE

The edited text fi Ie (output from Generate) is read
and all symbol definitions and references logged in
symbol file I.

O
U1

I--'

A definition record is bui It for each assembler
instruction and labeled machine instruction.
The relative (that is, relative to the last definition or literal record) location counter value
and length attribute are placed in the output
record.

ROUTI NE
(LABEL)

MODULE

IFNX3B
•

Symbol reference records are built for all machine
and assembler instructions that have symbols in
their operands, except for ENTRY, EXTRN, and
WXTRN.

IFNX3B

Machine instructions are scanned for literals
and literal records built. The relative location
counter value is placed in the record.

IFNX3B

LTORG records are built when LTORG statements
are encountered.

IFNX3B

IFNX3B
•
. "

ROUTI NE
(LABEL)

Define Symbols (Pass 1)

II!I.~~~~~~--~-----

PR.OCESS

OUTPUT

DEFINE SYMBOLS (PASS 1)

DSECT=DSECT 14

Definition records

SYMBOL TABLE (SYMDIMEN)

flag

• Labels
• V-type constants
• ENTRY,XTRN,
WXTRN operands
• V-, Q.tvoe constants

•

~~~~~,~~~'~~:~IfRON~"

DSECT
• All tyJ)!ls

•

.

v

~

'1J... "'-,-",,--:------,

thers*
DXD

Scan symbol table
~
Found: Write adjustment record ~
Not found: Write reference record

G:t=:>

[Uteral r;cords

I

:;

;>1

Literal record

I

NO DSECT

(LTO-RG

:;

~dsl

;>1

LITERAL POOL (LATEND)

csr=::::>

Build literal pool
Write record on symbol file II
lJl
N

aCON

GI=)

I

LTORG
Write adjustment records for literal
~
pool entries
~
Write symbol reference records ~
Build literal adjustment ta~~

ll'

-

Symbol
{ef.

I

Literal

NO DSECT

=>

I (," ~ ,
Data flow

--7

Data reference

--7

Pointer

v

LITERAL ADJUSTMENT TABLE (lATADD)

Reference to

another diagram

LEGEND

*mT~,C~~'R~~~Tr~;CJcJ~,MsrART

Define Symbols (Pass 1) (cont.)

MODULE

Records are read from symbol fi Ie I and processed as follows:

I DEFINITION

RECORDS]

Make Symbol Table Entry.
A symbol-table entry is made for all symbols defined
in the name field of statements or in the operand field
of EXTRN, WXTRN, and ENTRY statements.
Update Locati on Counter.
The relative location counter value in the symbol
definition record is added to the current location
counter in the ESD. If a DS or DC statement,
the operand is evaluated and the location counter
updated by the length of the constant.

IFNX4S

ENTER

Make ESD Entry.
ESD entries are made for each unique START,
CSECT, DSECT, DXD, COM, ENTRY,
WTRN, and EXTRN symbol and Q- and
V- type address constants. ESDI D and ESD
numbers are assigned in ascending sequence from
for all entries.
There are two series of ESDID numbers, both assigned
in ascending sequence from 1. One set is assigned to DSECTs, the other to other entries of
all types.

IFNX4D

IFNX4E

ROUTINE
(LABEL)

IFNX4M

WRITE

I FNX4E

EXTRN

ENTRY statements receive special handling: if the symbol
IFNX4E
is not found in the symbol table, the ESDID and location
counter value can be passed to the record and it needs only
to be adjusted. If found, the type is changed to symbol reference and the symbol is resolved in pass 2.

ENTRY

Write Adjustment Records.
All labeled definition records and unlabeled
START, CSECT, DSECT, COM, DC and DS records
are changed to "adjustment records" (that is,
marked for later adjustment -- see Diagram 19)
and written on symbol file II. Current ESDID and
location counter values are moved into the adjustment record, as are the length attributes of the
symbols.
EXTRN and WTRN records, since they are not processed in pass 2, are changed to JTPASS (not needing
adjustment) records.

IFNX4M

U1

W

MODULE

ROUTI NE
(LABEL)

BLDESD
ENTRY
EXTRN
VCON
QCON

I REFERENCE RECORDSI
The symbol table is searched for the symbol in the reference record. If the name is found, the reference can
be resolved. Location counter value, ESDID, and length
attribute are moved from the symbol table into the symbol
record. Record type is changed to "adjustment" and the
record written on symbol file II. If the name is not found,
the record is written unchanged on symbol fi Ie II to be
resolved in the next pass.

IFNX4M

SYMBOL

I FNX4S

FIND

DEFINE SYMBOLS (PASS 1) (cont.)

MODULE

I LITERAL

I

RECORDS
Literal definitions are collected and the length of the
generated constant computed. Each unigue literal is
then hashed 'and entered int 0 one of the chains in the
literal pool. When the literal is entered, or if it
already is in the. pool, its chain identification and the
displacement of the literal within that chain are noted
and written in the record. (The literal pool is a table
containing a hash table and four chains of all the
unigue literals that have been defined since the start
of the assembly or since the last LTORG statement.
The hash table consists of four pointers, each the
address of one of the chains. Each chain is terminated by a zero chain pointer.)
Literal records are written on symbol file II.

U1
,J:::..

MODULE

ROUTINE
LABEL

ROUTINE
LABEL

I LTORG 1
IFNX4M
IFNX4D

LITERAL

Write Adjustment Record.
The literal pool is scanned and an adjustment record
written on symbol file 11 for each entry. The
location counter is updated for each entry.
Write Symbol Reference Record.
A symbol reference record is written on symbol file II
for each symbol in the literal statement.
Build Literal Adjustment Table.
The literal adjustment table is built by adding the
current location counter value to the chain lengths to
get the starting addresses of the literal chains.

IFNX4M

LTORG
LTDUMP

IFNX4D

IFNX4E

REFER

IFNX4D

LTORG

~
~

co

....-i

..Q
..jJ

4-l
Q)

....-i

>,
....-i
....-i

co
~

0

or-{

..jJ

r::

Q)
..jJ
~

.r-{

Q)

01

CO

~

til
or-{

..c:
E-t

55

Build Adiustment Table; Print
PROCEsS

INPUT

o
CSECTentry
Private code entry

~

•

Make adjustment table ent~ry~_ _ _~_ __

•

Enter start address and l e n = = u g t
in ESD

COMMON

DSECT
DXD
o.constant reference
Label definition
External reference

ADJUSTMENT TAStE (LATEND) NO DSECT

Read ESD table, process by type:

.

target

(ESDBlK I, ESDBLK '2) DSECT=DSECT 6
UPDATED ESD TABLE

[§J

CSECTentry
Private code entry
COMMON
DSECT
DXD

~n~e;~lignment and len~gth
Q-TYPE ADDRESS
CONSTANT REFERENCE

Make adjustment table. ~
entry
\J--v'
•

Label definition
External reference

~n~e;~lignment an~d
length

Doto flow

- - - ) Data reference

~

v

Pointer
Ref erence to
onother diogrom

LEGEND

AScan ESD table
Vand punch/print
ESD records

OUTPUT

Sv5PRtNT

LABEL DEFINITIONS
EXTERNAL REFS

=)

PROCESS
PRINT/PUNCH ESD

SYSPUNCH or

Change ESD type to DXD

Pass on unchanged

Q-con

artument \

~
• Enter start address and l e n l l g t h
in ESD

V1
0'1

o for

IESDID IESDI9 adjustmntl

h

rcoMI

•

IESDID I ESDID I

"

Build Adjustment Table; Print/Punch ESD (cont.)
MODULE ROUTINE
(LABEL)

•

The adjustment table consists of two kinds of entries:

U1

-.....J

1.

Those used to adjust location-counter values for symbols defined in a given CSECT or private code.

2.

Those used to change the ESDI D for all symbols
defined in a DSECT and all references to these symbols if the DSECT is referenced by a Q-type address
constant.

COM
DSECT

IDXD

I
SUMCST

I
SUMDXD

The alignment and length are entered into the ESD entry.
for DXD, the alignment factor and the length are obtained
from the ESD entry and the fields re-ordered {reversed}.

IQ-typ;-Add-ress Constant Reference I
The alignment factor is set to 7. The length of the
referenced DSECT is obtained from its ESD entry.
The alignment factor and length are stored in the
Q-type address constant reference ESD entry.

Read the ESD table and process by type:

The start address of the C SECT or private code is
computed from the lengths of the previous control
sections or the start value of private code. If the
START address of theCSECT or private code is nonzero, the start address is entered into the adjustment factor and the ESDI D moved from the ESD entry
to both argument and target ESDI D.

ROUTINE
(LABEL)

SUMCST

Same as step 2, above, except that the start address is O.

IFNX4E

•

The start address and the length are entered in the
ESD table. The length of the section is retrieved
from the original ESD entry.

i

An entry consists of three parts: an argument ESDI D, a target
ESDID, and an adjustment factor. For (1), above, both the
argument and the target ESDI D are the ESDI D of the C SECT
or private code. The adjustment factor is the start address
of the CSECT or private code. For (2) the adjustment
factor is O. The argument ESDI D is the ESDI D for the
DSECT. The target ESDI D is the ESDI D for the Q-type
constant reference.
•

MODULE

MAKESD
SUMESD

SUMCST

SUMDSD

Label Definitions
External References
SUMGET

These are passed from the old to the updated ESD
table without change.

. T h e updated ESD table is scanned and a record
printed or punched for all entries except DSECTs.

IFNX4E

MAKGET

Resolve Symbol References (Pass 2); Adjust Records

Resolve symbol
references

Vl

co

Resolve literals

Data flow

Data reference
Pointer

Reference to
another diagram

Resolve Symbol References (Pass 2); Adjust Records (cont.)
MODULE

ROUTI NE

MODULE ROUTI NE
(LABEL)

(LABEL)

o
•

Resolve symbol references. The symbol referenced in
symbol file II is searched for in the symbol table. If
IFNX4M
it is not found, the record is transferred urchanged
to symbol fi Ie III as an "undefined symbol record".
IFNX4S
If found, the location counter value, the ESDI D,
and the length attribute are moved from the symbol
table entry to the symbol reference record and it is
adjusted (see step 3, below).

SYMBL
FIND

Resolve literals.
o

The pointer to the corresponding entry in the literal
adjustment table isobtained from the literal record.

o

The location-counter value to the start of the
appropriate literal chain is obtained from the
literal adjustment table.

•

The displacement into the literal chain (obtained
from the literal record) is added to the location
counter value obtained in the previous step. The
result is the resolved location-counter value for the
literal.

I FNX4M

I

0

•
0

The ESDI D for the literal is obtained from the
literal adjustment table and stored in the literal
record.
The record is adjusted (see step 3, below).
Adjust all records.

0

The ESDI D is obtained from the record.

0

The adjustment table is searched for a corresponding
orgument ESDID. If a match is not found, the record
is transferred to symbol file III.

0

If a match is found, the ESDI D in the corresponding
target ESDI D is stored in the symbol record.

0

The corresponding adjustment factor is added to the
location counter value in the symbol record.

0

The record is written on symbol file III.

SYMBL

Ul
~

LlTRII

ADJUST
I FNX4M ADJUST

Handle Symbol Table Overflow
OUTPUT

SYMBOL TABLE
(NEW}

SYMBOL
TASlE(Ot.D)

Dif---"--------------:UTP;,:P:---'l
1,
'.1
II
I \

t \

I
I
I
\
PROCESS

'-

~~--------------------~
Scan literal pool
and build JTSYMII
records

en
o

Read rest of symbol
file I; resolve all possible ~/
references

SYMBOL FilE II
(FILE 3)
PROCESS

e

Scan symbol file II
and resolve all
possible references

o

Empty symbol table;
read JTSYMII records

8

Process symbol
file I

o
=)

Data flow

--7

Data reference

-----7

Pointer

v

Reference to
another diagram

Handle Symbol Table Overflow (cont.)
MODULE

MODULE

ROUTINE
(LABEL)

When, during symbol resolution {see Diagram 17}, the
symbol table is filled, it is necessary to take special
action to process the rest of symbol file I.

o
•

The literal pool and the symbol table are scanned
for symbol table entries corresponding to symbols
in literals. The symbol table entries {called
JTSYMII records} are oopi ed onto file I. These wi II
later be written into the new symbol table to resolve literals.

Symbol Reference Records: the type is changed to
adjustment.
IFNX4M
IFNX4D
IFNX4E

Symbol File I is read from the point at which the
IFNX4M
symbol table overflowed. The symbol table is searched
for each symbol record. If the symbol is not found,
the record is simply transferred. If it is found, it is
processed by type:

LTDUMP

ENTRY records: if a CSECT name, the record type
is changed to JTSYMBL and passed. If not a
CSECT name, the ESDID and the location counter
value are moved from the symbol table to the symbol record and the type changed to adjustment
record. An ESD entry is made.

IFNX4S
IFNX4E

Others: the record is marked
defined" and passed.

II

symbol previously

REFER

•
TRANSFER
SEARCH
ENTRY
EXTRN

After the rest of symbol fi Ie I has been written on
I FNX4M
fi Ie 1, symbol fi Ie II is scanned and written on fi Ie 3.
All symbol references are resolved, if possible.
IFNX4S

SYMBL
TRANSFER
FIND

•

REHASH
EOFIIS

FIND
ENTRY
EXTRN

e

The old symbol table is now emptied of all entries
that do not define ESD items and the JTSYMII
records read into it.

0"\

I--'

ROUTI NE
(LABEL)

IFNX4M

The rest of file I (the remaining part of symbol fi Ie I) IFNX4S
is now read and processed with the new symbol table
(as in Diagram 17).

SUBSET
ENTER

OUTPUT

PROCESS

OUTPUT/INPUT

$YSPRINT

eEdit and print listing
[MACHINE INSTRUCTIONS

/~

OPU"Oh obj• .,. ood.

~

IDATA INSTRUCTIONS
j

_Sort

,'~
1ASSEMBLER INSTRUCTIONS

j~

I

aod RL D

o

.
0'\
N

Data flow

- -

-

~

~

Data reference

Pointer
Reference to
another diagram

SYSPUNCH, SYSQO

and print XREF

d;"';~'D

Construct error
messages, collect
statistics, and
print

Generate Object Code (cont.)
MODULE

ROUTINE
(LABEL)

Object code is built from statements read from the
edited text fi Ie (fi Ie 2). When a symbol is encountered,
the symbol file (JINFILE) is used to cross-reference the
IFNX5M
symbol and to resolve addresses. A relocation dictionary (RLD) entry is made for relocatable address constants.

MODULE

IAss~mbler Instructions

ROUTINE
(LABEL)

I (Diagram 24)

These statements (which do not produce object code)
are processed according to type.

IFNX5A

I Error Recordsl
Output is object code (to SY SPUNCH or SYSGO) and a
listing (to SYSPRI NT).

o

Records are read from the edited text file and the
type of statement-determined from the operation
code and the "FLAGA" field.

IFNX5C

Processing proceeds according to record type
(machine instruction, data instruction, assembler
instructions, error records, print-only records).

0'1

W

\ Mach~~ Instructions]

I

Data I n~tructions

I

IFNX5M

These records (remarks, etc.) are edi ted and wri tten
directly on SYSPRINT,

e

(Diagram 23)

Each DC, DS, CXD, and DXD instruction or literal
definition is processed according to type. Crossreference entries are made for symbols and literals.
Relocation dictionary entries are made for relocatable
address constants. CCW,REPRO, and PUNCH statement processing is also shown here because these
statements, unlike other assembler statements, generate
object code.

IFNX5A
IFNX5P

ERRORO
IFNX5A

IFNX5A

AOP350

IFNX5A

LOCUPD

IPrint-Only Records I

(Diagram 22)

Each instruction is processed according to its type
and its operand restri ctions (as listed in the opcode
restriction table). Implicit addresses are resolved
by means of the using table and cross-reference
entries are made for all symbols and literals that
appear in the statement.

TEXTGET

The statement number assigned to a statement flagged
during previous phases is inserted into the error record
that follows the statement. Then the error record
is written on fj Ie 1 or 3 for subsequent processing
by diagnostic routines. Error records for errors
detected in this phase are also built, the number
of the statement in error inserted, and the record
written on file lor 3.

IFNX5A
IFNX5D
IFNX5F

A

~

Each instruction generating object code causes the
location counter to be updated. In addition, the
location counter is updated by ORG, CNOP,
CSECT, DSECT, COM, and START assembler
statements. Alignment is done for CCW, CNOP,
LTORG, and CXD statements, as well as for DS,
DC and machine instructions requiring it. (See
Diagram 25.)
For each statement the object code built is packed
and the virtual text is inserted into the print line
together with the packed code. Depending on the
linecount option given, new pages are ma'de and
headings are printed.

IFNX5P

GENERATE OBJECT CODE (cont.)
MODULE

o

e
o
0'\
~

The error number in the edited record is used to locate the message text associated with the number from
the table in I FNX6C. This text is scanned for $ and
#, which indicate insertion. A S indicates that an

MODULE
appended data field is to be inserted in the text. A
indicates that the text NEAR OPERAND COLUMN
followed by the value of the column pointer is to be
inserted.

The object code is packed into the current record.
When the 80 bytes are fi lied or the ESDI D for the
code changes, the current record is punch,ed and a
new one initiated.
RLD and XREF records are stored before they are
edited and printed (see Diagram 26).

ROUTINE
LABEL

#

IFNX6A
The line is edited to remove unnecessary blanks and
the statement number inserted.
During printing of the error messages, the number of
statements flagged is counted and the highest severity
code encountered is saved.

IFNX6B

ROUflNE
LABEL

~
~

rcl

r-i
..Q

4J
4-1

OJ
r-i
~

r-i
r-i

rcl

~

0

.r-(

+J

~

OJ
+J

~

.r-(

OJ

ty\

rcl

0..
Ul
.r-(

.c
8

65

Process Machine Instructions
OUTPUT

PROCESS

EDITED TEXT
DSecr ,~JTEXT, JTEXTA

m

D

LOCATION COUNTER

m

D

11

OBJECT CODE "EFT"Al')

I-----~D
CROSS REFERENCE RECORDS

1---'-----------,,1"" ~
Data flow

--~

Data reference

~

Pointer

CJ

Reference to

another diagram

3)

DSECT'llN

Process Machine Instructions (cont.)
MODULE ROUTI NE
{LABEL}

Two tables are used in the processing: the opcode restriction
table {an in-core table containing data on opcodes} and the
using table {containing available base registers and their
associated values and ESDIDs}. When a symbol is encountered, its definition is obtained from the symbol file; an
entry to the cross reference dictionary is also made.

o
0"1
-J

•

Records are read from the edited text file. The
opcode byte in the edited record is used to find
the associ ated entry in the opcode restri cti on
table. The table contains one entry for each
operand allowed. The operands can be classified
as I, S, SX, and SL. One operand can contain
both an immediate data portion {mask, register
or length} and a storage data part {data address or
implicit address}.
The operand is evaluated according to information
in the opcode restriction table. This table contains
information on operand type, allocation of fields
in the object code, restrictions on divisibility
and upper boundaries of immediate data, alignment,
whether or not literals are allowed, and if exec'ution of the instruction modifies storage.

IFNX5M

IFNX5M

DRIVER

•
•
•

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.
Object code for the instruction is built and the
location counter updated. In the listing, this
code is printed at the left of the source statements.

When a symbol or literal is found in the edited
text record, a record is read from the symbol fi Ie.
From the information in this record a cross-reference
record is built containing a flag telling if a definition or a reference record, the name of the symbol,
the statement number, the length attribute value,
and the location-counter value for the symbol. This
information will later be used to build the crossreference dictionary {Diagram 25}.

MODULE

ROUTINE
{LABEL}

IFNX5M

SPART

IFNX5M

IASGN
SPASGN

IFNX5V

SYM

Process Data Instructions
PROCESS

INPUT

UTP
LOCATION COUNTER (ELCTR)

EDITED TEXT FILE (fILE 2)

)

PROCESS BY TYPE:

V

I

DC, OS, DXD, L1TERALJ
DEFINITION

9'---____'
.

XR£F DICTiONARY (FILE 1 or 3)

1 Check displacement factor

;'
" .e. -

DC TABLE

r"

I
m

"

,,2 Check for valid data type
and modifier use
" Evaluate
operand and ~
~ - 3 produce object code
D
Update location
~
v
counter
4 Make cross-reference
records for symbols
and literals
5 Make R LD entry for
relocatable address
constant

I

PUNCH

DSECT",
DSECTI )

'(-

C

,SYSPRINT, SYSGO, SYSPUNCH
,

double quotes and
ampersands

~

I REPRO I
Write following record ~

I ccw I
I ....

=>
~

Pointer

Q

Data reference

Reference to
another diagram

D

1 Evaluate operands

2 Build object code
IV

DSECT=
RLDIN

~

1 Scan operand, remove

3 Make cross-reference

records for symbols
and literals

~

G;:::::>

4 Update location counter

~

OSEeT=
XRFIN

RELOCATION DICTIONARY (FILE 1 or3)

I

2 Write record

Data flow

9~

~

SYMBOL fiLE III (FILE 1 or 3)

CX>

,

Process Data Intructions (cont.)

MODULE

ROUTINE
(LABEL)

Included here are those assembler instructions which generate
data in the object code: DC, DS, DXD, REPRO and CCW.

IDC,

o
•

0)

~

•

DS, DXD, Literal Definition

I

For DS, DXD, and DC instructions with duplication factor 0, no object code is built; if no duplication factor
if given, the default value is 1.
A check is made to insure that the specified data type
is valid and that the specified modifiers are within the
ranges given in the DC table. If no modifiers are supplied, default values are used.
The last part of each entry in the DC table is a branch
address to the routine handling the given data type.
These routines scan the operands and evaluate them.
Values of symbols are obtained from the corresponding
symbol records.

IG
•

IFNX5A

DS0100
DC0100
DXD100

IFNX5D

DCEVAL

IFNX5D

CKON DKON
XKON AYKON
BKON VKON
PKON QKON
ZKON SKON

II

MODULE ROUTI NE
( LABEL)
An entry is made in the cross-reference dictionary
for symbols and literals.

IFNX5A

XREF

Relocation dictionary entries are made for address
constants with relocatable expressions in the

IFNX5A

RLDOUT

IFNX5A

REPROO
PUNCHO

IFNX5A

CCW100

opemnd.

PUNCH, REPRO

I

The operand of a PUNCH statement and the input record
following a REPRO statement is an 80-byte EBCDIC
string included in the object code.

Iccw I
The operand of a CCW instruction is evaluated and the
result stored in an 8-byte object code record that is
aligned to a double-word boundary. The location
counter is updated accordingly.

fJJ
'.4

'I

Process Assembler Instructions
INPUT

PROCESS

OUfPUT

I'Dmil T"" FT LE
{flU" 2)

PROCESS BY TYPE:

-,..

I

USINGTABte
(USINGT)
USING
DROP
POP USING
PUSH USING

r

PRINT
POP PRINT
PUSH PRINT

Upd". ,h. p,;n, """'

~
I

I

-J

2 bytes

I I'-------->1

PRINT STATUS SWITCH
(PRINTSW}
PSTMT BITO=I stmt.to be printeJ
PGEN BIT1~1 print gen.stmt
(
PDATA B1T2~1 print all DC data
SYSPRINT

~PACE
EJECT

o

REG.
SPECIF.

".-._ _ _ _----!L-_ _ _ _ _ _ _ _ _ _ _ _........J:~~

TITLE

Control the listing

_JJ

_

.

Listing
control
records

SYSPRINT

I

I

I

MNOTE

Produce message

I

...J\

(J

"
XREF DICTIONARY

....

"'

-v./

I

I
f

l

=>

Data flow

---~

Dato reference

---7

Pointer

Q

Reference to
another diagram

LEGEND

ENTRY
EXTRN

~::. 1, ,.f.,.no., fo,

1.

symbols
2. Evaluate EQU operand
for printing

I END

r~

I

1. Evaluate first operand

2 Make cross reference for symb...o"'I<--_ _
3. Scan second operand for format
4. Make END card

~

I

-V
L-END CARD

...J\

-,..

r--

1

Process Assembler Instructions (cont.)

MODULE

ROUTt NE
(LABEL)

USING
DROP
POP USING
PUSH USING

I-'

DROP
--The operand is scanned for registers to be dropped from
the using table. If the operand is blank, all registers
are dropped. Each register indicated causes a Scan of
the using table, and if it is found, the remaining
entries are moved up in the table, writing over the dropped register{s}.
PUSH USING
The operand is scanned for USING {and PRINT -- see
PUSH PRINT, below}. If USING is found, the using
table is saved in the PUSH stack for USI NG. A maximum of four copies of the using table can be saved.
PUSH does not affect the current status of the using
table.
POP USING
The operand is scanned for USING {and PRINT-see POP PRINT, below}. A USING value that has
previously been saved is restored; the current value
is destroyed. If the POP has not been preceded by
a PUSH with a USING operand, a diagnostic message
resu Its.

ROUTINE
(LABEL)

IFNX5A

PRINTO

PRINT
POP PRINT
PUSH PRINT

USING
----=rh'e operand is evaluated and the register or registers
I FNX5A
indicated are checked against the using table. The using
table has one entry for each value that has been specified
in a current USI NG statement. If the register was already
in use, the earlier entry is dropped. The new entry or
entries are made and the whole table sorted in descending
order. The primary sort field is the ESDID, the secondary
field is the value, and the tertiary sort field is the register number. If the ESDID is 0, the corresponding entry
is an absolute USING.
-...J

MODULE

USINGO

PUSH PRINT
The print options are saved in the PUSH stack for PRINT.
IFNX5A
A maximum of four values of the print options can be saved.
PUSH does not affect the current status of the PRI NT options.

IFNX5A

DROPOO

IFNX5A

PUSHOO

IFNX5A

PRINT
--The current print options are saved. All print options are
turned on. The print routine is called to list the PRINT
statement and, on return, the print options are restored.
The operand is then scanned and the print options updated
accordingly.

POP100

PCP PRINT
The PRINT value that has been previously saved is restored.
The current value is destroyed. If the POP has not been
preceded by a PUSH PRINT, a diagnostic message is produced.

TITLE
--The operand is scanned for duplicate ampersands and quotes
{duplicates are eliminated}. The title is saved, the carriage control index to the print routine is loaded into register 10, and register 11 is set to a negative number to
indicate an eject. The print routine is then called.

EJECT
--Register lOis loaded with the carriage control index for the
print routine. Register 11 is set to a negative number to
indicate an eject and the print routine is called.

PUSHOO

IFNX5A

POP100

IFNX5A

TtTLEO

IFNX5A

EJECTO

PROCESS ASSEMBLER I NSTRUCTI ONS (cont.)

MODULE

MODULE

ROUTINE

ENTRY
EXTRN
WXTRN
EQU

fFNX5A

ENTRYO
EXTRNO
EQU100

A message is generated. If a severity code is given, it is
saved for statistics. Double quotes and ampersands are
eliminated.

~

-.J
N

SPACE
------rhe operand is scanned for a decimal value. If no operand
is encountered, a value of 1 is loaded in register 11. Reg- IFNX5A
ister lOis loaded with the carriage control index and the
print routine is called.

SPACEO

I MNOTE I

These statements generate cross-reference dictionary entries.
The first operand of EQU is evaluated to get a value to
print.

The symbol (if any) in the operand is evaluated and the
value is saved for the postprocessor. Literals (if
any) cause alignment to a double word boundary,
the literals are evaluated and printed after the END
statement.

ROUTINE

LABEL

LABEL

IFNX5A

END100

I FNX5A MNOTEO

~
~

n::l
,.....,
..Q

+J

4-1

(l)

,.....,

>t
,.....,
,.....,
n::l
~

0

•..-1

+J
~

(l)

+J
~

•..-1
(l)

01
n::l

0...

til
•..-1

..c:
E-I

73

Update Location Counter

MACHINE INSTRUCTIONS
DC
DXD
DS

LITERALS
CCW

Update location counter
CCW

CNOP
LTORG
CXD
(DC,DXD,DS)
-..J

Update location counter
and align

.p..

EJ

Change location counter
to symbol value

Data flow

-

-

-

~

------7

Data reference

Pointer

Update Location Counter (cont.)

The location counter is updated by the following
instru cti ons:

START
CSECT
DSECT
COM
These instructions initialize the location counter and
the control section ESDI D with values from the symbol
file record. Symbols are cross-referenced.
-....J
Ul

MODULE

ROUTI NE
(LABEL)

IFNX5A

STARTO

MODULE ROUTI NE
(LABEL)
MACHINE INSTRUCTIONS
DC
DXD
DS
LI TERALS
CCW
After each machine instruction, and when object
IFNX5A
code is generated by other statements, the length of
the generated code is added to the current location
counter value. The result is saved as the "new" current
location counter. If the NOALIGN option is not in
effect, most instructions require alignment. Others,
such as LTORG and CNOP, are specifically designed
IFNX5A
to effect alignment. Alignment consists of updating the
location counter by the number of bytes needed (for
example, a CXD instruction adds four bytes to the
location counter. If the alignment is the result of a
DC instruction, zeroes are added to the object code.
A CNOP instruction fills the alignment bytes with 0700.)

LOC UPD

ALIGN

IORG I
The ORG instruction causes the location counter to
take on the value given by the operand. The new
value is taken from the symbol file record.

IFNX5A

ORG100

Sort RLD and XREF

IE

.....

OUTPUT

PROCESS

INPUT

I
L

G

RELOCATION QICTIONARY
(FILE lor 3)
DSECT=PPIN

CROSS-REFERENCE DICTIONARY
(FILE 1 or 3)
DSECT=PPIN

1
I

II

FILE 1

'")

\9

V

,

V

neces~ry

..

®

~

,t
~
t

ME'rge spilled 'itrings with
cascade merge

-

FILE 2

r------.
I---

FILE 3

V'

~
(SYSPRINT)

®

!

,I
,

Edit the merged records and
print them. Punch RLD.

f

r

I

==)

Data flow

t

---)

Data reference

r

-----7

Pointer

i

I
~

~

V

"~

I
~

-

Reference to
another diagram

LEGEND

-

rr~

~
V

~-

RLD

'\

XREF

~

LITERAL
XREF

,/
V

I

il·

'"
'"

Read into sort area and
sort and spill strings if

.v'

t

--J
0'1

Get sort work area

DSECT=RPRINT (LISTING)
RCARD (RLD DECK)

f

I

I
1

Sort RLD and XREF (cont.)

MODULE

ROUTINE
(LABEL)

IFNX6A

XGAENT

. . Records are read into the sort data area and a four- IFNX6A
'V byte entry for each record {its address} is made in
the sort pointer area. Entries are made unti I the
data area is filled or the input file is empty. The
records are then sorted {Shell's sort} using bytes
4-17 of the record as the sort field. If there is
more input it is spilled onto file 1 or 2.

GTRGTR

•

•
--.J
~l

A GETMAIN is issued to obtain all available core.
The area is divided into six buffers and a sort work
area. The sort work area and buffers 5 and 6 are
divided into a sort pointer area and a data area.

A cascade merge is used to reduce the number
of sorted strings. When two files contain one
string each and the third file is empty, a final
merge is done.

IFNX6A

MERGE

•

During the final merge the records are edited
and put out. The records have been sorted
in the order RLD, symbol XREF, and literal
XREF •
RLD records are simply formatted and printed
{and punched}. XREF symbol definition records
have the symbol, its length, value, and definition
fields fully inserted. A statement number is
added to each reference record. If a reference
record appears without being preceded by a definition, the symbol is marked "undefined" and the
undefined text is inserted. If a record appears
with the duplicate flag, a line with the message
** DUPLICATE ** is inserted. Literal XREF records are hand Ied in the same way.

MODULE

ROUT! NE
(LABEL)

IFNX6A

OUTPUTS

Initialize

@

Format heading identifier
(Jevel, time, date)

OUTPUT

ASS~MBlER

OPTIONS

fPARM""3l

(ID

NO DSEC'

Process assembler options

SYSPAAM FIELD
(JSYSPA~M)

-.J
(X)

Ql) Change standard ddnames
to over-riding name

Calculate buffer sizes;
open input and work files

Close input files; open
output files

Close work and output
files

I

]
]

'"

=)

Data flow

---7

Data reference

--7

Pointer

CJ

Reference to
another diagram

LEGEND

Initialize (cent.)
MODULE

•

The time and date are obtained with a TIME macro.
The level is contained in I FOXOA.

I FOXOD

•

Assembler options are obtained from the PARM field
of the EXEC statement and from the default options.

I FOXOD

the assembler has been invoked from another
(I When
program, there may be overriding DDnames.

-....J
\.0

•

IFOXOD

Relevant DCBs are changed to correspond to the new
names.
The buffer sizes for workfiles are calculated. If no
BUFSIZE option has been given, 37% of the region
is allocated to buffers and 63% to generation-time
dictionaries. If the BUFSIZE(MI N) option has been
specified, each utility data set is allocated a single
790-byte buffer and the remaining storage allocated
to dictionaries.

I FOXOA

MODULE

•o

SYSIN and SYSLIB are opened.

IFOXOF

SYSUTl, SYSUT2 and SYSUT3 are opened

I FOXOA

After all input has been read and processed, the
input files are closed and the output files
(SYSPUNCH, SYSGO, and SYSPUNCH) opened.

I FOXOF
IFOXOH

Finally, all files are closed.

I FOXOA
IFOXOH

This page intentionally left blank

80

Program Organization
This section describes how the program
is divided into units.
It contains
detailed charts of how the assembler
phases use main storage and diagrams
showing the flow of data and control
between assembler phases.

Program Organization

81

~

~
OPERATING SYSTEM

~

~
ASSEMBLER SYSTEM INTERFACE MODUlESI

"""

"""
INITIALIZATION PHASE

"'-

I

~

"-

EDIT PHASE (IFOXll)

""

c:::

I

~

DICTIONARY INTERLUDE PHASE (lFOX2l)

I

~

"-

GENERATE PHASE (IFOX3l)

l

I

""-.....

SYMBOL RESOLUTION PHASE (IFOX4l)

I

"-

"""
ASSEMBLY PHASE (IFOX5l)

"-

c:::

I
POST PROCESSOR PHASE (IFOX6l)

"""

~

Figur~ 1.

82

"

"

Logical Flow of Control

I
DIAGNOSTIC PHASE (lFOX62)

I

"~

OBJECT MODULE DESCRIPTION

LOAD
MODULE
NAME

CSECT

OBJECT
MODULE

IFOXOO

IFOXOAOO

IFOXOA

Driver Routines

IFOXOB
IFOXOC

Workfile I/O And Storage Management Routines

IFOXOI

IFOXOBOO
IFOXOCOO

IFOX02

IFOXODOO

IFOXOD

Master Common Area Initialization Routines

IFOXOJOO

IFOXOJ

Assembler Option Parameters

IFOX03

IFOXOEOO

IFOXOE

Input DCB's And Module XOF Work Areas

IFOX04

IFOXOFOO

IFOX05

IFOXOGOO

IFOXOF
IFOXOG

Input Routines
Output DCB's And Module XOH Work Areas

IFOX06

IFOXOHOO

IFOXOH

Output Routines

IFOX07

IFOXOIOO

IFOXOI

Abort Routines

IFOXll

IFNXlAOO

IFNXlA

Edit Phase Mainline Logic

IFNXlKUN

IFNXlK

Edit Phase Operation Code Table

IFNXlJOO

IFNXlJ

Edit Phase Dictionary Routines

IFNXlSOO

IFNXlS

Edit Phase Post-fix Routines

IF NX2AOO

IFNX2A

Dictionary Interlude Phase

IFNX3A

Generate Phase Mainline Logic

IFNX3B
IFNX3K

Generate Phase Symbol Resolution Preprocessor

IFNX3KUN
IFNX3NOO

IFNX3N

Generate Phase Dictionary Routines

IFNX4DOO

IFNX4D

Symbol Resolution Phase DS/DC Evaluation Routines

IFNX4EOO

IFNX4E

Symbol Resolution Phase ESD Routines

IFNX4MOO
IFNX4S00

IFNX4M

Symbol Resolution Phase Mainline Logic

IFNX4S

Symbol Resolution Phase Symbol Table Routine

IFNX4VOO

IFNX4V

Symbol Resolution Phase Expression Evaluation

IFNX4NOO

IFNX4N

Symbol Resolution Phase DS/DC Evaluation Routines (Test Option Specified)

IFNX4EOO

IFNX4E

Symbol Resalution Phase ESD Routines (Test Option Specified)

IFNX4TOO
IFNX4S00

IFNX4T

Symbol Resolution Phase Mainline Logic (Test Option Specified)

IFNX4S

Symbol Resolution Phase Symbol Table Routine Test Option Specified)

IFNX4VOO

IFNX4V

Symbol Resolution Phase Expression Evaluation (Test Option Specified)

IFNX5AOO

IFNX5A

Assembly Phase Operation Code Processor

Master Common Area

IFNXlAlO
IFNXlA20
IFNXlA30

IFOX21

IFNX2A02
IFOX3l

IFNX3AOO
IF NX3A03
IFNX3BOO

IFOX4l

IFOX42

IFOX5l

Generate Phase Operation Code Table

IF NX5A20
IFNX5A30
IFNX5A40
IFNX5A50
IFNX5COO

IFNX5C

Assembly Phase Mainline Logic

IFNX5DOO

IFNX5D

Assembly Phase Constant Processor

IFNX5FOO
IFNX5LOO

IFNX5F
IFNX5L

Assembly Phase Fixed Point/Floating Point Conversion
Assembly Phase Error Logging Routine

IFNX5MOO

IFNX5M

Assembly Phase Machine op Processor

IF NX5POO

IFNX5P

Assembly Phase Print Routine

IFNX5VOO

IFNX5V

Assembly Phase Expression Evaluation Routine

IFOX6l

IFNX6AOO

IFNX6A

Post Processor Phase

IFOX62

IFNX6BOO

IFNX6B

Diagnostic Phase

IF NX6B20
IFNX6COO

IFNX6C

Error Messages

Module Directory. This chart shows how the assembler is divided into program units, and how these program units
are subdivided. The make up of each load module is shown in terms of the objects modules and CSECTS that comprise it.
Furthermore, the module directory contains a description of each object module. For further and more detailed information
see the Directory.

Figure 2.

Module Directory
Program Organization

83

Main storage layout of the assembler. The vertical axis of this diagram represents the relative amount of main storage, and the
heights of the bars representing the assembler phase load modules show the relative sizes of the different phases. The
horizontal axis represents the progression of execution time, and therefore, at any point the diagram shows which load modules
are in main storage. For example, when the Dictionary Interlude Phase (I FOX21) executes, with it in main storage are the
Master Common Area (IFOX011 and the Driver Routines, Workfile I/O, and Storage Management Routines (IFOXOO).
End of
main storage

See fig. 11

See figs. 5 - 7

I FOX62

IFOX61
IFOX21

IFOX02

I FOX06

I FOX04
I FOX03

IFOX05
IFOX01

I FOXOO

Progression of execution

Figure 3.
84

~

Main Storage Layout

o

Work Areas (see Figures 4 - 11)

o

Phase Load Modu I es

...---LlMIT OF MAIN STORAGE

FIXED SIZE

EDIT PHASE COMMON
-=l

MACRO DEFINITION DIRECTORY
AND OPSYN TABLE

~

f

..

MDDSTRT

MDDSLOT

-.c;[

VSDSLOT

cS

VSDSTRT

~

OSRDSTRT

-=;

SSRDSTRT

VARIABLE SYMBOL
DIRECTORY

VARIABLE SYMBOL
HASH TABLE

ORDINARY SYMBOL ATTRIBUTE
REFERENCE DIRECTORY

CONTAINS TEN MOST
RECENT ENTRIES

SEQUENCE SYMBOL
REFERENCE DIRECTORY

~
STARTS IMMEDIATELY ABOVE
EDIT PHASE LOAD MODULE

Symbols ore in
tlie phose common

Figure 4.

Edit Phase (IFOXll)
Main storage Work Area

Program Organization

85

LIMIT OF MAIN STORAGE

COMMON

..

ERROR RECORD
BUFFER

MDDND
ERRBLK

MACRO DEFINITION
DIRECTORY
OPSYN TABLE
MACRO DEFINITION
VECTOR
SEQUENCE SYMBOL
REFERENCE DICTIONARY
SKELETON
DICTIONARY

GLOBAL
VECTOR
SKELETON
DICTIONARY
HEADER

COMSTRT

--

MDDSTRT

-

MDVSTRT
FREEEND
SEQSK

..

--

GBLSK
SKDCSTRT
SSDTSTRT

HASH TABLE FOR SEQUENCE
SYMBOL DEFINITION TABLE

SEQUENCE SYMBOL
DEFINITION TABLE

r-----l---- ...-

SSDTEND

GDEND
r - - - - - r - - - - - ...- OSRTENT
GLOBAL DEFINITION
DIRECTORY AND ORDINARY
SYMBOL ATTRIBUTE REFERENCE
TABLE

HASH TABLE FOR GLOBAL DEFINITION
DIRECTORY AND ORDINARY SYMBOL
A TTRIBUTE REFERENCE TABLE

.?

STARTS IMMEDIATELY ABOVE
DICTIONARY INTERLUDE PHASE
LOAD MODULE

Figure 5.

86

-

FREESTRT
GDSTRT
OSRTSTRT

Dictionary Interlude Phase (IFOX2l)
Main storage Work Area: 1 of 3
Process Skeleton Dictionaries

Symbols ore in
the phose common

LIMIT OF MAIN STORAGE

ORDINARY SYMBOL
ATTRIBUTE REFERENCE
DICTIONARY

. - - OSRDSTRT

COMPLETED GLOBAL DEFINITION
DIRECTORY AND ORDINARY SYMBOL
ATTRIBUTE REFERENCE TABLE

HASH TABLE FOR GLOBAL DEFINITION
DIRECTORY AND ORDINARY SYMBOL
ATTRIBUTE REFERENCE TABLE

STARTS IMMEDIATELY ABOVE
DICTIONARY INTERLUDE
PHASE LOAD MODULE
Symbols are in
the phase common

Figure 6.

Dictionary Interlude Phase (IFOX2l)
Main storage Work Area: 2 of 3
Build Ordinary Symbol Attribute Reference Dictionary

Program Organization

87

LIMIT OF MAIN STORAGE

.--MDDND

MACRO DEFINITION
DIRECTORY AND
OPSYN TABLE

OPSYN TABLE
(unchained)
+--FREESTRT
STARTS IMMEDIATELY ABOVE
DICTIONARY INTERLUDE
PHASE LOAD MODULE
Symbols are in
the phose common

Figure 7.

88

Dictionary Interlude Phase (IFOX2l)
Main Storage Work Area: 3 of 3
Unchain Opsyn Table

LIMIT OF MAIN STORAGE""---

1\\

DICTIONARY EXTENSION
FOR SETC VARIABLES
THAT ARE LONGER THAN
8 CHARACTERS

!

-

".

i
r---

I-I··.'·.•·•.'.····
I·,··········

~

WORK AREA WHERE
PARAMETER VECTORS
ARE BUILT

I-'-

SKELETON DICTIONARY
FOR INNERMOST MACRO

+---PARAMETER VECTOR FOR
INNERMOST MACRO
PARAMETER TABLE FO R
INNERMOST MACRO

CURRDICT

I

~

. . - - PVECTPTR
. . . - - CURRPARM

SKELETON DICTIONARY
FOR OUTERMOST MACRO

PARAMETER VECTOR FOR
OUTERMOST MACRO
PARAMETER TABLE FO R
OUTERMOST MACRO

SKELETON DICTIONARY
FOR OPEN CODE

ORDINARY SYMBOL ATTRIBUTE
REFERENCE DICTIONARY

+---- OSRDSTRT
GLOBAL DICTIONARY
. - - GDSTRT
OPSYN TABLE
. . . - - OPSNSTRT
MACRO DEFINITION VECTOR

+--

MDVSTRT

STARTS IMMEDIATELY ABOVE
GENERATION PHASE LOAD MODULE
Symbols are in
the phase common

Figure 8.

Generation Phase (IFOX31}
Main Storage Work Area

Program Organization

89

LIMIT OF MAIN STORAGE

ESD SYMBOL
TABLE

+--SYMDIMEN
AREA USED IF SYMBOL
TABLE OVERFLOW OCCURS

~

t

. - - SYMDIMEN+4

I

. - - SYMDIMEN+12

LITERAL POO L
. - - LATADD

SYMBOL RESOLUTION PHASE
COMMON

,

STARTS IMMEDIATELY ABOVE
SYMBOL RESOLUTION PHASE
LOAD MODULE
Symbols are in
tlie phase common

Figure 9.

90

Symbol Resolution Phase (IFOX41)
Main Storage Work Area

LIMIT OF MAIN STORAGE

I
I--

r-

I

I--

~

L

ASSEMBLY PHASE COMMON

STARTS IMMEDIATELY ABOVE
ASSEMBLY PHASE LOAD MODULE

Figure 10. Assembly Phase (IFOX51)
Main Storage Work Area

Program Organization

91

/

LIMIT OF MAl N STORAGE

Post-Processor Phose
Common

Remainder
of sort area
after pointer
area is
allocated

Data
Sort
Area

DATAPTR

Size is determined
by si ze of sort area

Buffer 6

1---------- - - - -

} CURFL' 3

Buffer 5
SORTPTR
Buffer 4

CURFL' {
At
Sort
Time

f------------- Buffer 3

CURFLE 2
}

Buffer 2

JINFIL' {

1-----:----------Buffer 1

}

At Merge
Time

CU~l'
Symbols are in
the phose common

Figure 11. Post Processor Phase (IFOX61)
Main storage Work Area

92

Initialization

-

-

r

-

-

Input

r

-

1

-

-

-

-I

I
L

-

-

-

- -

-

.......

1

1

Input File
Source Statements

I

I

I

- -

J

I

Library File
Copy Code
Macro Definitions

~

Edit
Phase

I

,r
Dictionary
Interlude
Phase

I

File 1 Text
Edited
Skeleton Dictionaries
Error Records

~

I

I

File 2
Dictionary Data

I

r

-

-1

I.

Punch FIle
Pre-ESD Punch/Repro
Output ESD Records
SYM Records

r
~

L:::J r
ESD Records

-..

Object File
Pre-ESD Punch/Repro
Output ESD Records
SYM Rornrrls

I..1-"

I
I

I

File 1 or 3
Partially Resolved
Symbol Data

'

....-

"""'"
L

,r
....

Generation
Phase

1

~

~

"
Symbol
Resolution
Phase

~ ~XT

..J
File 2
~ IOverflow

ESD Segments
Literal Adjustments
Table Overflow

.....
.A

r
~r
Print File

L.

,,," R""'"re U"

1

I

1,

I

J

l§::l
Error Records
Statistics

....

r

I~ I

Assembly
Phase

~

I~ I
II
I

I

~
....

~

II

~

Post Processor
Phase

I

....

~

~

L.. I
I~

I

I

1
File 2
Merged RLD/Cross
Reference Data

File 3 or 1
Merged RLD/Cross
Reference Data

I

I

I
Punch File
END Record

File 2
Generated Text
Error Records

...

1

I
I

Object File
RLD Records
END Record

"""'"

File 3 or 1
Symbol
Reference Data

.JI

I
Punch File
RLD Records

·1
...

.1 II

f

I

~

1

~r

Object File
Records, Post-ESD
Punch/Repro Output

I

I

TXT Records,
Post ESD I~
FB,
Punch/Repro Output

Print File

File 3
Symbol
Resolution Data

I

...

"""'"

I

Source Program

I

...-

1

r"""'"
L

II

File 3
Dictionary Data

I

I

A...

I
Output

II

~,

File 2
Dictionary Data

I
"'" 1
....

- - - - - - - -

1

~
File 1
Edited Text

I

Diagnostic
Phase

......

I

I

1-

Figure 12. Assembler Data Flow

Program Organization

93

File 1 or 3
RLD and Cross
Reference Data
Error Records

I

This page intentionally left blank

94

Data Areas
This section contains detailed layouts
of data areas to help in interpreting
storage dumps.

Data Areas

95

EDSECT

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

1124

CREATED BY:

IFNX1A
IFNX1A,IFNX1J,IFNX1S

REFERENCED BY:
UPDATED BY:
FUNCTION:

IFNX1A,IFNX1J,IFNX1S
EDITOR COMMON

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)
0

1

2

3

4

SIZE

FIELD
NAME

(0000)

SWITCH1

PROGRAM SWITCH

(0001)

SMDEF
SXPRTO
SMISCN
SNOPSYN
SWITCH2

BIT 0
BIT 1
BIT 2
BIT 3
PROGRAM

- WITHIN MAC !:EF (SET BY MACRO)
- PROTO EXPECTED (SET BY MACRO)
- RETURN TO MISCAN
- OPSYN NO LONGER ALLOWED
SWITCH

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 6
BIT 7
PROGRAM

-

(0002)

SONECD
SBYCNT
SONECT
SALLCT
SBYONE
SCTLRTN
SNOPND
SWITCH3

1

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

-

(0003)

SCMTCT
SNXTCT
SPRVCT
SLSTCD
SINEOF
SGBLCL
SMI
SUB SOP
SWITCH4

1

SPGRMD
SOPNCD
SSYSMD
SICTL
SNOACTR
SABORT
SKPMND
SKPEND
SWITCH5

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

(0004)

SCOPY

96

DESCRIPTION: CONTENTS,
MEANINGjUSE

READ ONE CARD (REPRO)
BYPASS ALL CONTINUATIONS
READ ONE CONTINUATION
READ ALL CONTINUATIONS
BYPASS ONE CARD IN EDITED FORM
- RETURN TO CALLER
- RETURN TO CALLER
SWITCH
-

COMMENTS CONTINUED
NEXT CD CNT'N OF THIS CD
THIS CD CNT'N OF PREVIOUS CD
LAST CARD
EOF ON SYSTEM INPUT
PROC'G GBLX, LCLX STMT
- EDITING MACRO INSTRUCTION
SUBSTITUTEC OP CODE FOUND
SWITCH

-

-

PROCESSING PROGRAMMER MACRO
OPEN COCE
IN SYST"EM MACRO DEFINITION
ICTL PROCESSED IN THIS RUN

~IN

-

-

- SKIP TO MEN!:
SKIP TO ENC
SWITCH

BIT 0 -

COpy STATEMENT

DISPLMNT
DEC
(HEX)

5

6

7

8

9

10

11

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

1

SXMCRO
SFSTCD
SDINIT
SDENT
SUPDNT
SMDDENTR
SWITCH6

BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
PROGRAM

- EXPECT MACRO (EDITING MD' S)
- READ FIRST CARD
- PREPARE TO INIl./CLOSE D'S
- PREPARE lO MAKE D ENlRY
SUPPRESS DIREClORY ENlRY
- MDD ENlRY MADE FOR lHIS MACRO
SWITCH

1

SUBLST
POSSUBL
SCNCAT
SKWPRM
PROTOCAL
SKPNAME
SPRMER
SENDST
SWITCH7

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

- PROCESSING SUBLIST
- FIRST SCAN OF SUBLIST CANDIDATE
- CONCATENATION IN OPERAND
- PROCESSING KEYWORD PARAMETER
- EDITING PROlO/~~CRO CALL
SKIP TO OP CODE FIELD
- PARAMElER ERROR
- END STATEMENl ENCOUNlERED
SWITCH

1

SNMFND
SNOFND
SNOSMCRO
SBDPROTO
SNOSYSMD
SDTCMT
SASTCMT
STRCMT
SWITCH8

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

- NAME FOUND
- FIELD NOl FOUND
- NO MACRO SlMl IN SYS MAC DEF
BAD PROTOTYPE STAlEMENl
- SYSTEM MAC CEF NOT FOUND
. * TYPE COlv1MENlS
* TYPE CO!1MENT
* TYPE COMMENT
SWITCH

1

SENAME
SEOPCD
SEOPND
SWITCH9

BIT 5
BIT 6
BIT 7
PROGRAM

- PRESENTLY EDITING NAME FIELD
- PRESENTLY EDITING OP CODE FIELD
- PRESENTLY ECITING OPERAND FIELD
SWITCH

1

SINCPY
SISEQ
SNOCNT
SMAC
AOTSW

BIT 0
BIT 1
BIT 2
BIT 3
PROGRAM

- IN COpy COCE
SEQ CHECK (SET BY ISEQ)
- CNT'N NOT ALLOWED (SET BY ICTL)
- MACRO STMT COPIED AT THIS LEVEL
SWITCH

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

-

(OOOA)

AOEND
AOMEND
AICOPY
AOPSYN
AOCOPYX
AOMACROX
AOPENCDX
AOKBTNPM
GSCNSW

END STATEMENT
- MEND STATEMENl'
- ICTL/COPY STATEMENT
- OPSYN STATEMENl
- ILLEGAL WITHIN COpy CODE
- ILLEGAL WITHIN MACRO DEF
- ILLEGAL WITHIN OPEN CODE
- ALLOWED BElWEEN PROG'R MACRO
SWITCH

(OOOB)

GQST
GSUBS
GAIF
METSW
PARMSTAT

BIT 0
BIT 1
BIT 2
BIT 3
PROGRAM

- ODD QUOTE CHECKER
- FIELD NEEDS SUBSlIl'UTION
- AIF STATEMENT BEING SCANNED
- META TEXT INDICATION
SWITCH

(0005)

( 0006)

(0007)

(0008)

(0009)

1

Data Areas

97

DISPLMNT
DEC
(HEX)

12

13

14

15
16
18
20
24
28
32
36
40
44
48
52
56
60
64
68
72
76
80
84
88
108
112
116

98

SIZE

FIELD
NAME

DESCRIPTION: CONTENTS,
MEANING/USE

ENTERED FROM MIPR~OIN ROUTINE
OPERAND TREAIED AS DUMMY
DISALLOW SCI
LEFT PARENIHESIS WAS READ
END OPERANC - COMMA PASSED
END OPERANC - EQUAL SIGN PASI
- ODD QUOIE SIATUS
- NEW CARD WAS READ
SWITCH

BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

-

1

DMIENT
DUMOP
DSDTX
DLPRN
DECMA
DEEQL
DQUOT
DNOCRD
NAMBYT

BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

-

1

NQTSTG
NNALFA
NCNCAT
NMPURE
NNTGER
NOSYM
NSSYM
NVSYM
GSUMRY

(OOOE)

RQTSTG
RNALFA
RCNCAT
RMPURE
RNTGER
ROSYM
RSSYM
RVSYM
MSERR

BIT 0
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

(OOOF)
(0010)
(0012)
(0014)
(0018)
(001C)
(0020)
(0024)
(0028)
(002C)
(0030)
(0034)
(0038)
(003C)
(0040)
(0044)
(0048)
(004C)
(0050)
(0054)
(0058)
(006C)
(0070)
(0074)

MXVS
MXRPRN
SDENTR
SDENTR1
DDNDX
DSTGEND
ENDATA
FPTRSV
INPUT
IPTRSV
IRTNSV
OUTADR
VECPTR
FSTGL
AERRSTK
ESTKNDX
DSTGBGN
DSTGADJ
DSTGNDX
STGNDX
EDTSVX
EDTSVY
EDTSVZ
OCPTRSV
INTERMET
MEZZOPTR

BIT 0 - INVALID VARIABLE SYMBOL
BIT 1 EXCESSIVE RIGHI PARENTHESES
DIRECTORY ENTRY INDEX
DIR INDEX FOR EXTRN/WXIRN OPND
D ENTRY INDEX
DESTINATION AREA END PLUS 1
END OF DATA IN WORK BUFFER
FIELD POINTER SAVE AREA
INPUT WORK BUFFER ADDRESS
INPUT BUFFER ADDRESS SAVE AREA
RETURNED ADDRESS SAVE AREA
OUTPUT BUFFER LOCATION
PARAM VECTOR POINI'ER SAVE AREA
BEGIN OF STRING (PARAM)
ERROR MSG STACK ADDRESS
ERROR MSG STACK INDEX
DESTINATION AREA POINIER
DEST. AREA POINTER AFIER ADJ.
DESTINATION AREA INDEX
DISPATCH AREA INDEX
RETURN/TLINK REG SAVE
RETURN POINTER SAVE AREA
R15,R3 SAVE AREA
OPCODE POINTER SAVE AREA
INTERMEDIATE LOCATION IN MT
INTERMEDIATE LOC IN WORK AREA

(OOOC)

(OOOD)

1
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
20
4
4
4

-

QUOTED STRING
FIRST CARD NOI ALPHA
CONCATENA~ION

IMPURIIY (PASSED END COLUMN)
INTEGER (DECIMAL)
- 0 SYM
- SEQUENCE SYMBOL
V SYM
SWITCH

-

QUOTED SIRING
FIRST CHARACIER NOI ALPHA
CONCATENATION
IMPURIIY
(PASSED END COLUMN
INTEGER (DECIMAL)
- ORDINARY SYMBOL
- SEQUENCE SYMBOL
- VARIABLE SYMBOL
SWITCH

DISPLMNT
DEC
(HEX)

120
124
128
132
136
140
144
148
152
156
196
200
228
252
256
260
264
268
272
276
280
288
296
298
300
302
304
306
308
310
312
316
320
324
328
332
336
340
344
348
352
356
360
364
368
372
572
628
632
636
640
704
706
772
776
780
781
782
854
856

( 0078)
(007C)
( 0080)
(0084)
(0088)
(008C)
(0090)
(0094)
(0098)
(009C)
(00C4)
(00C8)
(00E4 )
(OOFC)
(0100)
(01 04)
(01 08)
(010C)
(0110)
(0114)
(011 8)
(0120)
(0128)
(012A)
(012C)
(012E)
(0130)
(0132)
(0134)
(0136 )
(0138)
(013C)
(0140)
(0144)
(0148)
(014C)
(0150)
(0154)
(0158)
(015C)
(0160)
(0164)
(0168)
(016C)
(0170)
(0174)
(023C)
(0274)
(0278)
(027C)
(0280)
(02CO)
(02C2)
(0304)
(0308)
(030C)
(030D)
(030E)
(0356)
(0358)

SIZE

4
4
4
4
4
L~

4
4
4
t~ 0
4
28
2lJ
I~

4
4
l~

4
4
4
8

8
2
2
2
2
2
2
2
2

4
4
4
4
4
4
4

FIELD
NAI>lE

OPNDPTR
RTNSV
MIOPNDSV
NAHP
NAl>lL
NAl>1P1
NAl>lL1
NOTESV1
NOTESV2
SEQSV
COPYSV2
COPYSV3
COPYSVIJ
HICVAL
TBGLN
TSRCLN
TCNTLN
PBGLEN
PNDLEN
ENDCOL
SMt"\CNAJJI
COPYCODE
COPYLN
DSTGLN
OCSAVE
PRNLVL
FLAGBT
DTLENG
OPNDCTR
MINDIF
MTXTP
MINPUT
MINPSTD
STNPSTD
I·UNPADJ
STNPADJ
OPCDPTR

LJ

END~iIlINUS 1
BAeRO NANE SAVE A.~EA
COpy CODE
COpy CODE LENGTH
STRING LENGTH
INTERNAL OP CODE SAVE AREA
PAREN LEVEL COUNTER
FLAG BYTE SAVE AREA
DATA LENGTH
OPERAND COUNTER
DIF BETt'lEEN I'1INPU'I ANI: INPU'!
MI/PROTO l>lETA TEX'I POIN'IER
CURRENT MI DATA AREA POIWIER
STANDARD MINPUT SAVED
STANDARD INPUT SAVED
ADJUSTED MINPUT SAVED
ADJUSTED INPUT SAVED
OP CODE'FIELD POINTER
END OF DATA AREA PLUS 1
ED SECT BASE REG SAVED
SAVE END OF DATA AREA-l"1
COLur·1N COUNTER
INDEXP SAVE AREA
SAVE STANDARD MINDIF
RSTACI~ NEXT AVAILABLE LOCA'rION
END OF RST,ACK + 1
MAXIMUH OF 25 ENTRIES
COpy CODE RECUL:.)ION S'IACI(
5 ENDING ADDRESS OF CS'IK+ 1
6 CSTI{ BEGIN ADDRESS
7 CSTK NEXT AVAILABLE LOCATION
REGISTER SAVE AREA
ERROR NSG COUNT - MAX 5 NSGS .•
ERROR 11SG STACK
LAST STACK ELEMENT PO INTER
START OF STACI{--CONS'IAN'I
OPERATOR
BINDING FACTOR
MAXIl1UM OF 35 OPERATORS IN
SET VAR TYPE SAVED FOR NANE
STRING COUNTER
Data }\re2s

99

DISPLMNT
DEC
(HEX)

857
858
900
904
908
912
916
920
928
932
938
939
944
948
952
956
960
964
968
972
976
980
984
988
992
996
1000
1004
1008
1012
1016
1020
1022

1023
1024
1028
1030
1032
1033
1034
1038
1040
1041
1044
1048
1052
1056
1058

(0359)
(035A)
(0384)
(0388)
(038C)
(0390)
(0394)
(0398)
(03AO)
(03A4)
(03AA)
(03AB)
( 03BO)
(03B4)
(03B8)
(03BC)
(03CO)
(03C4 )
(03C8)
(03CC)
( 03DO)
(03D4)
(03D8)
(03DC)
( 03EO)
(03E4)
(03E8)
(03EC)
(03FO)
(03F4)
(03F8)
(03FC)
(03FE)

(03FF)
(0400)
(0404)
(0406)
(0408)
(0409)
(040A)
(040E)
(0410)
(0411 )
(0414)
(0418)
(041C)
(0420)
(0422)

SIZE

1
42
4
4
4
4
4
8
4
6
1

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

1
4
2
2
1
1
4
2
1
3
4
4

4
2
1

FIELD
NAME

CNTCTR
SEQSVT
ADJSV
VSRSV
VSRSV1
MPOPSV
NEXPSV
SUBSAVE
REGSAVE3
DNTERR
DSEVCD
DERRCD
FREESTRT
VSDSTRT
MDDSTRT
SSRDSTRT
VSDSLOT
OSRDSTRT
MDDSLOT
CURMDDPT
REGSAVE1
GTMVALOC
HIBYTEO
MDDCHN
MDDCNT
OPSCHN
GTPVALOC
GTKVALOC
GTLDALOC
GTGVALOC
GTSDALOC
SSRAPDIS
SWITCHA

CONTINUATION CARD COUN~ER
SEQ FIELD - COMPARE V. SEQSV
RETURN POINTER SAVED HERE
VSRTN RETURN LINKAGE
HEADER DATA POINTER
MPOPND ROUTINE RE~URN LINKAGE
RETURN LINKAGE SAVED
MPOPSVjNEXPSV SAVE AREA
REGISTER SAVE AREA
ENTRY POINT TO LOG ERROR
SEVERITY CODE
ERROR CODE
PTR TO START OF DICT WORK AREA
PTR TO START OF VARB SYMB DIR
PTR TO START OF MACR tEFN DIR
PTR TO START OF SEQ SYMB REF DT
PTR TO NEXT AVAIL VSD ENTRY
PTR TO START OF ORD SYMB REF DT
PTR TO NEXT AVAIL MDD ENTRY
PTR TO CURRENT MDD EN~RY
REGISTER SAVE AREA
MACRO DEFINITION VECTOR LENGTH
FULL WORD WORK AREA
MASTER LINK, CHAINED MOD ENTRYS
NUMBER OF MDD ENTRYS
MASTER LINK, CHAINED OPSYN ENTR
POSITIONAL PARAM VECTOR LENGTH
KEYWORD PARAM VECTOR LENGTH
LOCAL DICTIONARY LENG~H
GLOBAL VECTOR LENGTH
SEQ SYMB REFER DICT LENG~H
DISPL IN SSRD FOR NEX~ ENTRY
PROGRAM SWITCH

FNDFLG
NOTEFIL2
LSTSYSMS
ITERSW
FSWITCH
GTODALOC
OSRAPDIS
SSDLNGTH
SSFLGVAL
SREFTYPE

BIT o - MATCHING DIRECT ENTRY FOUND
BIT 1 - NOTE OF NEXT RECORD REQ'D
BIT 2 SYSTEM MACRO EDIT COMPLETED
BIT 3 SYSTEM VARIABLE DEFINITIONS
FIRST RECORD WRITTEN NOTED
ORD SYMB REF DICT LENGTH
DISPL IN OSRD FOR NEX~ ENTRY
LENGTH OF SSRD ENTRY
TEXT FLAG FOR SEQ SYME REFER
RECORD TYPE, SEQ SYME REFER
FILLER FOR ALIGNMENT (REQ'D)
LENGTH OF OSRD ENTRY
TEXT FLAG FOR ORD SYME REFER
RECORD TYPE, ORD SYMB REFER
REGISTER SAVE AREA
FULL I/O AREA LENGTH
CURRENT I/O AREA ADDRESS
CURRENT I/O AREA LENG~H
PROGRAM SWITCH

OSDLNGTH
OSFLGVAL
OREFTYPE
REGSAVE2
PIOPARMB
PIOPARMA
PIOPARMC
IOCID
IZRO
lONE
ITWO
ITRE

100

DESCRIPTION: CONTEN'rS,
MEANING/USE

BIT o BIT 1 BIT 2 ..
BIT 3 -

IOCLNG - OPCODE
LENGTH REDEFINED
IOCTYD - OPCODE
TYPE REDINEC

DISPLMNT
DEC
(HEX)

1059

1060

1061

1062

1063
1071
1080
1112
1128

(0423)

(0424)

(0425)

SIZE

DESCRIPTION: CONTENTS,
MEANING/USE

1

CONCODE

PROGRAM SWITCH

1

BO
B1
B2
B3
B4
B5
B6
B7
ATTRSV

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

- NOT
- NOT
- NOT
- NOT
- NOT
- NOT
- NOT
- NOT
SWITCH

BIT o
BIT 1
BIT 2
BIT 3
BIT 4
BIT 5
BIT 6
BIT 7
PROGRAM

-

1

ATO
AT1
AT2
AT3
AT4
AT5
AT6
AT7
MCALL

SWITCH

MCLA
MCLC
MCMPLX
MSLST
FLGBYT

BIT 0
BIT 1
BIT 2
BIT 4
PROGRAM

SETA TYPE
SETC TYPE
COMPLEX STA'IE
SYSLIS'I
SWITCH

VTYP1
VTYP2
·VPTYP
VSNS
VSLS
VDIM
VSTP1
VSTP2
NOTESAVE
SAVENOTE
REGSTACK

BIT o - 0& 1: 00 GLOEAL; 10-NOT DEFINED
01 LOCAL; 11-PARAMETER
BIT 1 BIT 2 - POSITIONAL/KEYWORD
SYSTEM/NON - SYS'IEM
BIT 3 SYSLIS'IjNON-SYSLIS'I
BIT 4 BIT 5 - DIMENSIOND/NON-DIMENSIONED
SUBTYPE
BIT 6 SUBTYPE·
BIT 7 NOTE OF START OF MACRO DEF'INTN
NOTE OF START OF DICT DATA FILE
REGISTER SAVE AREA
PATCH AREA
END OF MODULE COMMON AREA

(0426)

(0427)
(042F)
(0438)
(0458)
(0468)

FIELD
NAME

8
9
32
16

ENDEDSCT

USED
USED
USED
USED
USED
USED
USED
USED

Data Areas

101

FIELD
NA~E

ADJSV
*AERRSTK
AICOPY
ALAST
AOCOPYX
AOEND
AOKBTNPM
AOMACROX
AOMEND
AOPENCDX
AOPSYN
AOTSW
ATTRSV
ATO
AT1
AT2
AT3
A'I' 4
AT5
AT6
AT7
*BCSTK
BO
B1
B2
B3
B4
B5
B6
B7
CNTCTR
COLCTR
CON CODE
COPYCODE
COPYLN
COPYSV2
COPYSV3
COPYSV4
CSTK
*CSTKADR
CURMDDPT
DDNDX
DECMA
DEEQL
*DERRCD
DLPRN
DMIENT
DNOCRD
DNTERR
DQUOT
DSDTX
*DSEVCD
DSTGADJ
DSTGBGN
*DSTGEND
DSTGLN
DSTGNDX
*POINTER

102

DISPLACEMENT
DECIMAL (HEX)
900
56
9
776
9
9
9
9
9
9
9
9
1060
1060
1060
1060
1060
1060
1060
1060
1060
632
1059
1059
1059
1059
1059
1059
1059
1059
857
352
1059
288
296
196
200
228
572
636
972
18
11
11
939
11
11
11
932
11
11
938
68
64
20
298
72

(384)
(38)
(9)
(308)
(9)
(9)
(9)
(9)
(9)
(9)
(9)
(9)
(424)
(424)
(424)
(424)
(424)
(424)
(424)
(424)
(424)
(278)
(423)
(423)
(423)
(423)
(423)
(423)
(423)
(423)
(359)
( 160)
(423)
( 120)
( 128)
(C4)
(C8)

(E4)
(23C)
(27C)
(3CC)

( 12)
(B)
(B)
(3AB)
(B)
(B)
(B)
(3A4)
(B)
(B)
(3AA)
(44 )
(40)
(14 )
(12A)
(48)

FIELD
NAME
DTLENG
DUMOPND
EDTSVX
EDTSVY
EDTSVZ
* EN DATA
ENDCOL
ENDEDSCT
ENDWKA
ERRCNT
ERRSTK
* ESTKNDX
FLAGBT
FLGBYT
FNDFLG
*FPTRSV
FREESTRT
FSTGL
FSWITCH
GAIF
GQST
GSCNSW
GSUBS
GSUMRY
GTGVALOC
GTKVALOC
GTLDALOC
GTMVALOC
GTODALOC
GTPVALOC
GTSDALOC
HIBYTEO
HICVAL
*INPUT
INTERMET
'IOCID
lONE
*IPTRSV
*IRTNSV
ITERSW
ITRE
ITWO
IZRO
LSTSYSMS
MCALL
MCLA
MCLC
MCMPLX
MDDCHN
MDDCNT
MDDSLOT·
MDDSTRT
METSW
MEZZOPTR
MINDIF
MINPADJ
MINPSTD
MINPUT
*POINTER

DI SPLACEM.ENT
DECIMAL (HEX)
306
11
80
84
88
24
276
1128
340
704
706
60
304
1062
1022
28
944
52
1023
10
10
10
10
13
1012
1004
1008
980
1024
1000
1016
984
252
32
112
1058
1058
36
40
1022
1058
1058
1058
1022
1061
1061
1061
1061
988
992
968
952
10
116
310
328
320
316

( 132)
(B)
(50)
(54)
(58)
( 18)
(114 )
(468)
( 154)
(2CO)
(2C2)
(3C)

( 130)
(426)
(3FE)
( 1C)

(3BO)
(34)
(3FF)
(A)
(A)
(A)
(A)
(D)

(3F4)
(3EC)
(3FO)
(3D4)
(400)
(3E8)
(3F8)
(3D8)
(FC)
(20)
(70)
(422)
(422)
(24)
(28)
(3FE)
(422)
(422)
(422)
(3FE)
(425)
(425)
(425)
(425)
(3DC)
(3EO)
(3C8)

(3B8)
(A)
(74)
( 136)
( 148)
( 140)
(.13C)

FIELD
NA~E

MIOPNDSV
MPOPSV
MREGSV
MSERR
MSLST
M.TXTP
MXRPRN
MXVS
NAMBYT
NAML
NAML1
NCNCAT
*NCSTK
NEXPSV
NMPURE
NNALFA
NNTGER
NOSYM
NOTEFIL2
NOTESAVE
NOTESV1
NOTESV2
NQTSTG
*NRSTK
NSSYM
NVSYM
OCPTRSV
OCSAVE
OFPTRSV
OPCDPTR
OPNDCTR
OPNDPTR
OPSCHN
OREFTYPE
OSDLNGTH
OSFLGVAL
OSRAPDIS
OSRDSTRT
*OUTADR
PARMSTAT
PBGLEN
PIOPARMA
PIOPARMB
PIOPARMC
PNDLEN
POSSUBL
PRNLVL
PROTOCAL
*RAVSP
RCNCAT
REGSAVEl
REGSAVE2
REGSAVE3
REGSTACK
R~PURE

RNALFA
RNTGER
ROSYM
*POINTER

DISPLACEMENT
DECIMAL (HEX)
128
912
344
14
1061
312
14
14
12
136
144
12
628
916
12
12
12
12
1022
1063
148
152
12
368
12
12
108
300
356
336
308
120
996
1041
1038
1040
1028
964
44
11
268
1052
1048
1056
272
5
3.02

(80)
(390)
( 158)
(E)
(425t
( 138)
(E)
(E)
(C)
(88)
(90)
(C)
(274)
(394)
(C)
(C)
(C)
(C)
(3FE)
(427)
(94)
(98)
(C)
( 170)
(C)
(C)
(6C)
( 12C)
(164)
( 150)
( 134)
(78)
(3E4)
(411)
(40E)
(410)
(404)
(3C4)
(2C)
(B)
( 10C)
(41C)
(418)
(420)
(110)
(5)
( 12E)

5

(5)

364
13
976
1044
928
1080
13
13
13
13

( 16C)
(D)

(3DO)
(414 )
(3AO)
(438)
(D)
(D)
(D)
(D)

FIELD
NAME
RQTSTG
RSSYM
RSTACK
RTNSV
RVSYM
SABORT
SALLCT
SASTCMT
SAVENOTE
SAVMALL
SBDPROTO
SBYCNT
SBYONE
SCMTCT
SCNCAT
SCOPY
SCTLRTN
SDENT
SDENTR
SDENTR1
SDINIT
SDTCMT
SENAME
SENQST
SEOPCD
SEOPND
SEQSV
SEQSVT
SFSTCD
SGBLCL
SICTL
SINCPY
SINEOF
SISEQ'·
SKPEND
SKPMND
SKPNAME
SKYiP~

SLSTCD
SMAC·.
SMACNAM
SMDDENTR
SMDEF
sM.f····
SMISCN
SNMFND
SNOACTR
SNOCNT
SNOFND
SNOPND
SNOPSYN
SNOSMCRO
SNOSYSMD
SNXTCT
SONECD
SONECT
SOPNCD
SPGRMD

DISPLACEMENT
DECH-1AL (HEX)
13
13
372 .
124 '
13
3
1
6
1071
640
6
1
1
2
5
4
1
4
15
16
4
6
-7
5
7
7
156
858
4
2
3
8
2'
8
3
')
5
.'5
,2
8
280
.4
0

'2

Q

,6
. 3

"8

'6

i
0
.6
6
2
1
1
3
3

(D)
(D)
(174)
. (7C).
(D)
. (3)
. (1)
(6)
(42F)
(28'0)
(6) .
( 1) .
( 1)
(2)
(5) .
(4)
( 1)
(4)
(F)
(10)
(4)
, (6)
- :(7):.

(5 )

(7)
(7)
(ge)

(35A)
,( 4)'
(2)

(3)
(8) ,
'(2) .
(8)'
(3)
(3)

(5)
(5)
(2)
(8)
( 118)
(4)

(oj
(2)
(0)
(6)
(3)
(8) .
(6),
( 1), .
(0)
(6) .
(6)
,(2)
( 1)
( 1)

(3)
(3)

*POINTER

Data Areas

103

FIELD
NAME
SPRMER
SPRVCT
SREFTYPE
SSDLNGTH
SSFLGVAL
SSRAPDIS
SSRDSTRT
SSYSMD
STACK
STGCNT
STGNDX
STNPADJ
STNPSTD
STRCMT
SUBLST
SUBSAVE
SUBSOP
SUPDNT
SVENDWKA
SVLAST
SVMINDIF
SWITCHA
SWITCH1
SWITCH2
SWITCH3
SWITCH4
SWITCH5
SWITCH6
SWITCH7
SWITCH8
SWITCH9
SXMCRO
SXPRTO
TBGLN
TCNTLN
TEMPBIND
TEMPOP
TSRCLN
VDIM
VECPTR
VPTYP
VSDSLOT
VSDSTRT
VSFLG
VSLS
VSNS
VSRSV
VSRSV1
VSTP1
VSTP2
VTYP1
VTYP2
*POINTER

104

DISPLKCEMENT
DECIMAL (HEX)
5
2
1033
1030
1032
1020
956
3
782
856
76
332
324
6
5
920
2
4
348
772
360
1022
0
1
2

3
4
5
6
7
8
4
0
256
264
781
780
260
1062
48
1062
960
948
854
1062
1062
904
908
1062
1062
1062
1062

(5)
(2)
(409)
(406)
(408)
(3FC)
(3BC)
(3)
(30E)
(358)
(4C)
( 14C)
( 144)
(6)
(5)
(398)
(2)
(4)
( 15C)

(304)
(168)
(3FE)
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)

(8)
(4)
(0)
(100)
(108)
(30D)
(30C)
(104)
(426)
(30)
(426)
(3CO)
(3B4)
(356)
(426)
(426)
(388)
(38C)
(426)
(426)
(426)
(426)

ENDFIL

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

3

CREATED BY:

IFNX1J

REFERENCED BY:

IFNX2A

UPDATED BY:
FUNCTION:

END-OF-SEGMENT RECORD FOR TEST DICTIONARY FILE

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)

o
2

(0000)
(0002)

SIZE
2
1

FIELD
NAME
EFILRL
EFILRT

DESCRIPTION:
MEANINGjUSE

CONTEN~S,

RECORD LENGTH
X'10' RECORD TYPE

2 EY'IES
1 EY'IE

Data Areas

105

ENDSEG

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

3

CREATED BY:

IFNX1J

REFERENCED BY:

IFNX2A

UPDATED BY:
FUNCTION:

END-OF-SEGMENT RECORD FOR TEST SEGMENT

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)

o
2

106

(0000)
(0002)

SIZE
2
1

DIC~IONARY

5

FIELD
NAME
ESEGRL
ESEGRT

DESCRIPTION: CONTENTS,
MEANINGjUSE
RECORD LENGTH
X'10' RECORD TYPE

2 EYTES
1 EYTE

FILE

ERRIN

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX51

22

CREATED BY:

IFNX5C

REFERENCED BY:

IFNX5V

UPDATED BY:
FUNCTION:

ERROR INDICATOR

OPERATIONS DIAGRAMS:

DISPLMNT
DEC
(HEX)

0
2
3
4
6
7

SIZE

(0000)
(0002)
(0003)
(0004)
(0006)
(0007)

FIELD
NAME
ERRFLD
ERRID
ERRLEN
ERRNUM
ERRSTMT
NUMERR

2
1
1
2
1
15

21
DESCRIPTION: CONTENTS,

,FIELD. '
NAME

ERRLEN
ERRID
NUMERR
E'RRSTMT
ERRNUM
ERRFLD

MEANIN~;USE

"

ERROR, RECORD LENG'IH
'ERROR' 'IDENTIFIER '
NUMBER OF ,ERRORS
ERROR. STATMENT NUMBER,
ERROR NUMBER
REST OF ERRORS

DISPLACEMENT
DECIMAL (HEX)

7

(7)

2

o

(2)
(0)

6

(6 )

4
3

(4)
(3)

*POINTER

Data Areas

107

ERRMESS

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

11

CREATED BY:

IFNX1A

REFERENCED BY:

IFNX1A,IFNX1J,IFNX1S,IFNX3A,IFNX3N

UPDATED BY:
FUNCT ION:

ENTRY IN ERROR MESSAGE STACK

OPERATIONS DIAGRAMS:
DISPLMNT
DEC (HEX)
0

1
2
3

108

(OOOO)
(OOO1)
(OOO2)
(OOO3)

SIZE
0

1
1
8

FIELD
NAME
EMSGSVTY
EMSGCODE
ENTRYLNG
EMSGNTRY

DESCRIPTION: CONTENTS,
MEANING/USE
ERROR
ERROR
ERROR
ERROR

MSG
MSG
MSG
MSG

SEVERITY COI::E
CODE
ENTRY LENGTH
ENTRY

FAREl'JT

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX5 °1

3

CREATED BY:

IFNX5l-1

REFERENCED BY:

IFNX5N

UPDATED BY:
FUNCTION:

MAPS OPCODE RESTRICTIONS
21, 22

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)
0

SIZE

( 0000)

FIELD
NA!1E
Fl·1T

PROGRAM

SNITCH

BIT 0
BIT 4
BIT 6
PROGRAN

NO LITERAL
- LENGTH FIELD
FIRST BIT OF FIALOC
SWITCH

DECIMAL DIGI'I
BIT 0 PROGRAH S~'lITCH

1

(0001)

1

1

(0001)

1

RIDEC
RSST
RSMOD
RSALvv

FENT
FIAL1
FILEN
FM.T
FSNLIT
RIDEC
RIST
RSALW
RSMOD
RSST
VEOP

r~EANING/USE

1

FSNLIT
FILEN
FIAL1
RIST

FIELD
NAME

DESCRIPTION: CONTENTS,

BIT o BIT t.• -

STORAGE HOr:IFIED
ALIGNMENT ALt'~AYS CHECI(ED

DI SPL]l~CE!1ENT
DECIMAL (HEX)
0
0
0
0
0
1
1

1
1

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

( 1)

1

( 1)

0

(o(~,

*POINTER

Data Areas

109

GBLDEF

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

7-13

CREATED BY:

IFNX1J

REFERENCED BY:
UPDATED BY:
FUNCTION:

IFNX2A

IFNX2A
GLOBAL DEFINITION RECORD FOR TEXT
SEGMENT DICTIONARY FILE

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)
0
2
3
4
0
1

4

SIZE
2
1
1

(0000)
(0002)
(0003)
(0004)
(0000)
(0001)
(0004)

1

1
3
2

5

FIELD
NAME
GDEFRL
GDEFRT
GDEFF
GDEFSL
GDEFTF
GDEFVP
GDEFD

*SEE FLGBYT IN EDSECT

FIELD
NAME
GDEFD
GDEFF
GDEFRL
GDEFRT
GDEFSL
GDEFTF
GDEFVP
*POINTER

110

DISPLACEMENT
DECIMAL (HEX)

3
0
2
4
0

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

1

(1)

4

DESCRIPTION: CONTENTS,
MEANINGjUSE
RECORD LENGTH
X'OO' RECORD TYPE
FLAGS *
SYMBOL LENGTH
TEXT FLAG VALUE
VECTOR POINTER
DIMENSION

2 EYTES
1 EYTE
1 EY'IE
1 EYTE
1 EYTE
3 EYTES
2 EYTES

GBLNTRY

DSECT NAME:
LOAD MODULE:
SIZE:

IFOX11

13-19

CREATED BY:

IFNX1J

REFERENCED BY:

IFNX1J

UPDATED BY:
FUNCTION:

GLOBAL VARIABLE ENTRY IN VARIABLE SYMBOL DEFINITION
DIRECTORY (IN-CORE ~'JORK TABLE)

OPERATIONS DIAGRAMS:
DISPLMNT
DEC
(HEX)
0
3
4
5
0
1
4

SIZE

(0000)
(0003)
(0004)
(0005)
(0000)
(0001)
(0004)

3
1
1
2-8
1
3
2

5

FIELD
NAME
GCHAIN
GFLAGS
GLNGTH
GSYMBL
GTFVAL
GVECTR
GDIMEN

DESCRIPTION: CONTEN'fS,
!-1EANI NG jU SE
CHAIN POINTER
FLAGS
SYMBOL LENGTH
VARIABLE SYHBOL
TEXT FLAG VALUE
VECTOR POINTER
DIMENSION

3 BY'IES
1 BY'IE
'I BY'IE
1 BY'IE
3 BY'IES
2 BY'IES

DISPLACEMENT
DECIMAL (HEX)
GCHAIN
GDIMEN
GFLAGS
GLNGTH
GTFVAL
GVECTR

o
o

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

1

(1)

4

3
4

>:(3DlJ)
980
EDSECT
;1024::,>: ,(400)
EDSECT
:1000. '- ,(.3E8)
'EDSECT
1016":
(3F8)
'ED SECT
"(3):
GDNTRY
3'
".(.3 )
3:
GDNTRY
,(1)
1
GBLNTRY
:,'984.
: (3D8)
EDSEC.T
"(FC)
252
EDSECT.'
X5COM':',,:, , 928
(3AO)
X5:COM
227 ,':.-, (E3)
' X5:COM
'1132·, : (I~ 6C)
-.'-'

.'

-'

<-

*POINTER.

*POINTER.
"

-

...

Data Areas

161

\',
~-

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

FIELD

*INPUT
INTERMET
IOCID
lONE
* IPTRSV
*IRTNSV
ITERSW
ITRE
ITWO
IZRO
*JAABORT
*JABORT
*JADINCM
*JAOOUTCM
JALGN
JALOGIC
JBEGCL
JBGNCL
*JBOS
*JBUF
*JBUFFER
JBUFNDX
JCALLS
JCHKFILE
*JCLVLPTR
JCNTCL
JCOMEND
JCOMMON
JCON'ICL
JCTBGN
JCTCHR
JCTLN
*JCURPCH
*JCURPRT
JDBLALL
JDBLBUF
JDCSX
JDECB
JDECK
JDECKID
JDECKIDL
JDECKSEQ
JDEF
JDPASS
JDUMPXO
JDUMPX1
JDUMPX2
JDUMPX3
JDUMPX4
JDUMPX5
JDUMPX6
JDWORD
JECOLPTR
JEERCOD
JEFLGA
JEFLGB
JENDCHK
JENDCL

EDSECT
EDSECT
ED SECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
J
J
J
J
J
J

32
112
1058
1058
36
40
1022
1058
1058
1058
708
704
248
252
309
309
752

JENDCOL
J
JENODATA JERRCD
*JENTRYPT 'J
J
*JEOS
JEPRPOS
JERRCD
JEPSOP
JERRCD
JERCDE
JERRCD
JERECL
JERRCD
JERR
JTEXT
JERRCHK
J
JESD
J
JESDCHK
J
JESDID
J
JESOOFLO J
JESEV
JERRCD
JESTMTNO JERRCD
JEXTB
JTEXT
JFLEBLK
*JFLE
*JFLEBLK1 J
*JFLEBLK2 J
*JFLEBLK3 J
JFWORD1
J
Jl·'WORD2
J
JGEN
JTEXT
JGETLPND JFLEBLK
..TGETLPNT JFLEBLK
JGETLSBF JFLEBLK
JHWORD1
J
JHWORD2
J
JIDR
J
JINDERRF J
JINFILE
J
JINFLAG
J
JINHB
JTEXT
JINLIB
J
*JINMLC
J
JINPC
JTEXT
JINVOPT
J
JIN2ND
J
JIOFLAG
JFLEBLK
JLINK
J
JLIST
J
JLITLNG
J
JLNCT
J
JLNCTKEY J
JTEXT
JLN2
JTEXT
JLN4
JLSTNOTE JFLEBLK
JLVTMDT
J
J
JMAXRL
JMAXRL1
J
J
JMAXRL2
JM.AXRL3
J
JMINBUF
J
J
Jrt..ISLIN
JMISPCH
J
J
JMISPRT
J
*JMLC

*POINTER.

162

J

X5COM
J
JFLEBLK
JFLEBLK
JFLEBLK
J
JFLEBLK
J
X5COM
J
J
J
J
J
J
JOUTCOM
JOUTCOM
J
JFLEBLK
JTEXT
JFLEBLK
J
J
J
JOUTCOM
JTEXT
J
J
J
J
J
J
J
J
J
JERRCD
JERRCD
JERRCD
JERRCD
J
X5COM

(20)
(70)
(422)
(422)
(24)
(28)
(3FE)
(422)
(422)
(422)
(2C4)
(2CO)
(F8)
(FC)
( 135)
( 135)
(2FO)

930

(3A2)

368
32

( 170)

28
38
309
40
376
932
1272
0
720
768
756
772
24
20
321
40
2
0
308
289
288
28
2
788
318
318
318
318
318
318
318
728
5
9
2
3
316
934

(20)
( 1C)
(26)

( 135)
(28)
( 178)
(3A4)
(4F8)
(0)
(2DO)
(300)
(2F4)
(304)
( 18)
(14 )
( 141)
(28)
(2)
(0)
(134 )
( 121)
( 120)
( 1C)
(2)
(314)
( 13E)
(13E)
( 13E)
( 13E)
( 13E)
( 13E)
(13E)
(2D8)
(5)
(9)
(2)
(3)
( 13C)
(3A6)

*POINTER.

DSECT

DISPLACEMENT
DECIMAL (HEX)
722
11
780
372
3
2
10
0
3
316
308
316
784
317
9
6
2
24
72
128
184
736
740
3
40
40
40
744
746
1232
317
776
319
2
319
328
2
317
319
40
308
308
848
298
310
2
2
41
264
246
240
242
244
310
317
317
317
324

(2D2)
(B)
(30C)
(174)
(3)
(2)
(A)
(0)
(3)
( 13C)
( 134)
( 13C)
(310)
( 13D)
(9)
(6)
(2)
( 18)
(48)
(80)
(B8)
(2EO)
(2E4)
(3)
(28)
(28)
(28)
(2E8)
(2EA)
(4DO)
( 13D)
(308)
( 13F)
(2)
( 13F)
( 148)
(2)
( 13D)
( 13F)
(28)
( 134)
( 134)
(350)
( 12A)
( 136)
(2)
(2)
(29)
( 108)
(F6)
(FO)
(F2)
(F4)
( 136)
( 13D)
( 13D)
(13D)
( 144)

FIELD

DSECT

DI SPLACEMEN'I'
DECIMAL (HEX)

JMLCFLAG
Jr.u.OGIC
JMSGL
JMSGLKEY
JNMERR
JNOCNT
JNOSEQPH
JNOTED
JNOTEVAL
JNUM
*JOUTCLOS
JOUTCMND
JOUTFILE
JOUTFLAG
*JOUTMLC
*JOUTOPEN
JOUTSW
JOUT2ND
*JPARM
* JPARMP TR
JPARMS
JPARM1
JPARM2
JPARM3
JPARM4
JPARM4
JPDFLAG
*JPDUMP
JPHBLANK
*JPHNAME
JPHPREF
JPHSUFF
JPRESD
JPRONLY
JPRTONLY
JPSOP
JPT4GET
JPT4READ
JPT4STAR
JPT4WRIT
JPUTLPND
JRECCHK
JRECIN
JRECLIB
JRECPCH
JRECPRT
JREENTR
JREF
JRENl'
JREQOP
JRL
JRLD
JRLDCHK
JSAFE
JSAVE
JSAVETBL
JSEQCL
JSEQLN

J
J
J
J
JTEXT
JTEXT
J
JFLEBLK
J
J
JOUTCOM
JOUTCOM
J
J
J
JOUTCOM
JOUTCOM
J
J
J
J
J
J
J
J
J
J
J
J
J
J
J
JTEXT
JTEXT
J
JTEXT
J
J
J
J
JFLEBLK
J
J
J
J
J
J
JTEXT
J
JTEXT
JFLEBLK
J
J
J
J
J
J
J

321
309
297
310
3
3
320
40
340
310
16
32
778
320
332
12
30
320
308
304
297
308
309
310
311
311
318
336
262
256
256
259
2
3
845
2
321
321
321
321
40
316
348
352
356
360
315
2
309
2
36
308
316
1160
0
384
760
764

*POINTER.

( 141)
( 135)
( 129)
( 136)
(3)
(3)
( 140)
(28)
(154 )
( 136)
(10)
(20)
(30A)
(140)
(14C)
(C)
( 1E)
( 140)
( 134)
( 130)
( 129)
( 134)
( 135)
( 136)
( 137)
( 137)
( 13E)
( 150)
(106)
(100)
(100)
(103)
(2)
(3)
(34D)
(2)
( 141)
( 141)
(141 )
( 141)
(28)
(13C)
( 15C)
( 160)
( 164)
( 168)
(13B)
(2)
( 135)
(2)
(24)
( 134)
( 13C)
(488)
(0)
( 180)
(2F8)
(2FC)

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

JSEVER
*JSLEN
JSRCLN
JSTMT
JSUBNAME
JSUBOPCD
JSUBOPND
*JSYSCLOS
JSYSDATE
JSYSGEN
*JSYSLNK
*JSYSLST
JSYSMAC
*JSYSOPEN
*JSYSPARM
*JSYSPCH
JSYSTIME
JTBLTRT
*JTCLOSE
JTCML
JTCOP
JTCPR
JTERM
JTEST
JTFLGA
JTFLGA1
JTFLGB
JTIOP
JTIOP1
JTIOP2
JTITLE
JTNML
JTNMO
JTNMOCD
JTNMP
JTOCL
J'I'OCO
JTOCOCD
JTOCP
JTOPL
JTOPO
JTOPOCD
JTOPP
JTRLI
JTRTABLE
JTSPR
JTSTC
JTSTL
JTSTL2
JTSTO
JTST02
JTSYMCNT
JWARNFLG
JXREF
JXREFCHK
JYCON
KCOUNT
KLENGTH

J
J
J
J
JTEXT
JTEXT
JTEXT
J
J
J
JOUTCOM
JOUTCOM
J
J
J
JOUTCOM
J
J
JFLEBLK
JTEX'I'A
JTEXTA
JTEXT
J
J
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
X5COM
JTEXTA
JTEXTA
JTEXTA
JTEXT
JTEXTA
JTEXTA
JTEXTA
JTEXT
JTEXTA
JTEXTA
JTEXTA
JTEXT
JTEX'I

844
364
748
310
3
3
3
716
280
846
8
0
309
712
300
4
274
850
20
1
0
12
310
308
2
2
3
4
4
5
70
1
0
0
6
1
0
0
8
1
0
0
10
0
901
14
0
2
1
1
0
16
315
308
316
315
1100
1084

J

JTEXT
JTEXTA
JTEX'I'A
JTEXTA
JTEXTA
JTEXTA
JTEXT
J
J
J
J
X5COM
X5COM

*POINTER.

Data Areas

163

(34C)
( 16C)
(2EC)
( 136)
(3)
(3)
(3)
(2CC)
( 118)
(34E)
(8)
(0)
( 135)
(2C8)
( 12C)
(4)
( 112)
(352)
(14 )
(1 )
(0)
(C)
(136)
( 134)
(2)
(2)
(3)
(4)
(4)
(5 )
(46)
(1 )
(0 )
(0)
(6)
(1)
(0)
(0)'
(8 )
(1)
(0)
(0)
(A)
(0)
(385)
(E)
(0)
(2)
(1)
(1 )
(0)
(10)
( 13B)
( 134)
(13C)
( 13B)
(44C)
(43C)

FIELD
KONSTRT
LATTRIB
LCHAIN
LCNTRL
LDICTR
LDIMEN
LEAVE
LEFTHF
LFLAGS
LHDPTR
LHFLGS
LHIMD
LHLNG
LHOPCD
LHWORK
LISTSW
LITDTL
LITESDID
LITLOCTR
LITPID
LITPOLID
LITRLC
LITRSD
LITRSW
LLNGTH
LMODSW
LNCNT
LOCATN
LOCLEN
LQl
LSTSYSMS
LTDECV
LTFVAL
MCALL
MCHAIN
MCLA
MCLC
MCMPLX
MDDCHN
MDDCNT
MDDSLOT
MDDSTRT
METSW
MEZZOPTR
MFLAGS
MGBLSZ
MINDIF
MINPADJ
MINPSTD
MINPUT
MIOPNDSV
MLCLSZ
MNLl
MNOPRT
MNPSD
MNPTXT
MPOPSV
MREGSV
*POINTER.

164

DSECT.

DISPLACEMENT
DECIMAL (HEX)

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

X5COM
OSRDNTRY
LCLNTRY
RPRINT
LCLNTRY
LCLNTRY
X5COM
X5COM
LCLNTRY
RPRINT
X5COM
X5COM
X5COM
X5COM
X5COM
X5COM
PPIN
PPIN
PPIN
X5COM
PPIN
X5COM
X5COM
X5COM
LCLNTRY
X5COM
X5COM
X5COM
X5COM
X5COM
EDSECT
X5COM
LCLNTRY
EDSECT

1096
1
0
0
1
4
64
24
3
43
44
29
44
28
940
66
19
10
6
1016
12
1012
1018
56
4
1102
20
24
1000
234
1022
57
0
1061
0
1061
1061
1061
988
992
968
952
10
116
3
31
310
328
320
316
128
37
3
65

MSDL
MSEQSZ
MSERR
MSLS'I'
MSYMBL
MTSDNP
MTSW
MTXTNP
MTXTP
MVECTR
MXRPRN
MXVS
NAMBYT
NAML
NAMLl
NAMPRS
NCNCAT
*NCSTK
NEXPSV
NMPURE
NNALFA
NNTGER
NOSEQ
NOSYM
NOTEFIL2
NOTEHS
NOTESAVE
NOTESVl
NOTESV2
NOTEVAL
NOTEWL
NQTSTG
*NRSTK
NSSYM
NUMERR
NVSYM
OBITS
OCHAIN
OCPTRSV
OCSAVE
OCTS
ODEL
OFLAGA
o FLAGS
OFPTRSV
OINTCD
OMAC
OMASK
·ONAME
ONAMEL
OPCDPTR
OPNADR
OPNDCT
OPNDCTR
OPNDPTR
OPNEND
OPNPRS
OPREV

MDVNTRY
MDDNTRY
EDSECT
EDSECT
MDDNTRY
MDDNTRY
X5COM
MDDNTRY
EDSECT
MDDNTRY
EDSECT
ED SECT
EDSECT
EDSECT
EDSECT
X5COM
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
JOUTCOM
EDSECT
EDSECT
X5COM
EDSECT
EDSECT
EDSECT
X5COM
X5COM
EDSECT
EDSECT
EDSECT
ERRIN
EDSECT
X5COM
OPNTRY
EDSECT
EDSECT
MDDNTRY
OPSYNTRY
OPNTRY
OPNTRY
EDSECT
OPNTRY
OPSYNTRY
OPNTRY
OPSYNTRY
OPSYNTRY
EDSECT
X5COM
X5COM
EDSECT
EDSECT
X5COM
X5COM
OPSYNTRY

16
34
14
1061
4
23
1106
15
312
12
14
14
12
136
144
55
12
628
916
12
12
12
30
12
1022
56
1063
148
152
1004
56
12
368
12
3
12
1122
0
108
300
3
3
0
2
356
1
3
2
8
7
336
196
1120
308
120
1152
55
3

~DDNTRY

EDSECT
EDSECT
EDSECT
ED SECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
MDDNTRY
MDDNTRY
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
MDDNTRY
MDDNTRY
X5COM
MDVNTRY
MDVNTRY
EDSECT
EDSECT

8
0

912
344

(448)
(1)
(O)

(0)
( 1)
{4}
(40)
( 18)
(3)
(2B)
(2C)
( lD)
(2C)
( lC)
(3AC)
(42)
( 13)
(A)
(6 )
(3F8)
(C)
(3F4)
(3FA)
(38)
(4)
(44E)
(14 )
( 18)
(3E8)
(EA)
(3FE)
(39)
(0 )
(425)
(0)
(425)
(425)
(425)
(3DC)
(3EO)
(3C8)
(3B8)
(A)
(74)
(3)
( 1F)
( 136)
( 148)
( 140)
( 13C)
(80)
(25)
(3)
(41)
(8)
(0)
(390)
( 158)

*POINTER.

(10)
{22}
{E}
(425)
(4)
( 17)
(452)
(F)

( 138)
{C}
(E)
(E)
(C)
(88)
(90)
(37)
(C)
(274)
(394)
(C)
(C)
(C)
( lE)
(C)
(3FE)
(38)
(427)
(94)
(98)
(3EC)
(38)
(C)
( 170)
(C)
(3)
(C)
(462)
(0)
(6C)
( 12C)
(3)
(3)
(0)
(2)
( 164)
( 1)
(3)
(2)
(8)
(7)

( 150)
(C4)
(460)
( 134)
(78)
(480)
(37)
(3)

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

OPRNS
OPSCHN
OPSFLGS
OPSTATTS
OPSTNAM
OPSTNL
OPSYNCH
OPSYNCHN
OPSYNFLG
OREFDP
OREFRL
OREFRT
OREFSL
OREFTYPE
OSDLNGTH
OSFLGVAL
OSPAD
OSRAPDIS
OSRDP
OSRDSTRT
OSRTCP
OSRTDP
OSRTSL
OSSYM
OTFVAL
*OUTADR
OUTSTART
PARENCNT
PARMSTAT
PBGLEN
PCHAIN
PCOMM
PDATA
PERR
PFLAGS
PGEN
PIOPARMA
PIOPARMB
PIOPARMC
PLEN
PLNGTH
PNAME
PNDLEN
POPER
POPND
POSID
POSID
POSOUT
POSSUBL
PPAD
PPFLG
PPIOC
PPRLI
PREGSV
PRINTSW
PRIORDEF
PRNLVL
PRNSAVE

X5COM
EDSECT
OPSTBL
OPSTBL
OPSTBL
OPSTBL
OPSYNTRY
OPSYNTRY
OPSYNTRY
OSREF
OSREF
OSREF
OSREF
EDSECT
EDSECT
EDSECT
OSDIR
EDSECT
OSDIR
EDSECT
OSRTNTRY
OSRTNTRY
OSRTNTRY
OSDIR
OSDIR
EDSECT
X5COM
X5COM
EDSECT
EDSECT
PRHNTRY
X5COM
X5COM
X5COM
PRMNTRY
X5COM
EDSECT
EDSECT
EDSECT
P
PRMNTRY
X5COM
EDSECT
x5COM
x5COH
PPIN
RLDIN
RPRINT
EDSECT
PRMNTRY
PPIN
PPIN
PPIN
X5COM
x5COM
RSYMRCD
EDSECT
X5COM

1321
996
0
1
5
4
0
4
3
3
0
2
6
1041
1038
1040
12
1028
9
964
0
3
6
0
8
44
1088
1224
11
268
0
62
60
57
3
60
1052
1048
1056
0
4
62
272
62
62
6
6
2
5
4
2
4
0
1064
60
5
302
204

PRNSV1
PRNTSV
PROTOCAL
PRPP
PRPU
PSTMT
PSYSGO
PSYSIN
PSYSLIB
PSYSPRIN
PSYSPUNC
PSYSUT1
PSYSUT2
PSYSUT3
PTFVAL
PVECTR
*RAVSP
RCNCAT
RCNTRL
REGSAVE1
REGSAVE2
REGSAVE3
REGSTACK
RELID
RELID
RELOCTR
RELOUT
REP CARD
RESDC
RESDI
RFIELDN
RFIELDX
RFLAG
RFLAG
RFLDI
RFLGA
RFLGB
RIDEC
RIST
RITEM
RLCTR
RLDBYT
RLDFLD
RLDFLG
RLDFLG
RLDLEN
RLDLEN
RLDNAM
RLDVAL
RLDVAL
RLIST
RLNGA
RLNGB
RLNGQ
RMPURE
RNALFA
RNAME
RNTGER

X5COM
X5COM
EDSECT
X5COM
X5COM
X5COM
P
P
P
P
P
P
P
P
PRMNTRY
PRMNTRY
EDSECT
EDSECT
RPRINT
EDSECT
EDSECT
EDSECT
EDSECT
PPIN
RLDIN
X5COM
RPRINT
X5COM
RSYHRCD
RSYMRCD
RSYMRCD
RSYMRCD
PPIN
RLDIN
RSYMRCD
RSYHRCD
RSYMRCD
FARENT
FARENT
RSYMRCD
RSYMRCD
RCARD
RCARD
PPIN
RLDIN
PPIN
RLDIN
RCARD
PPIN
RLDIN
X5COM
RSYMRCD
RSYMRCD
RSYMRCD
EDSECT
EDSECT
RSYr-1RCD
EDSECT

984
1052
5
57
918
60
82
34
26
42
50
58
66
74
0
1
364
13
0
976
1044
928
1080
8
8
1208
11
65
6
6
5
5
2
2
5
2
3
1
1
0
8
10
16
13
13
0
0
1
10
10
1160
12
22
20
13
13
12
13

*POINTER.

(529)
(3E4)
(0)
(1)
(5)
(4)
(0)
(4)
(3)
(3)
(0 )
(2)
(6)
(411 )
(40E)
(410)
(C)
(404)
(9)
(3C4)
(0)
(3)
(6)
(0)
(8)
(2C)
(440)
(4C8)
(B)
( 10C)
(0)
(3E)
(3C)
(39)
(3)
(3C)
(41C)
(418)
(420)
(0)
(4)
(3E)
(110)
(3E)
(3EJ
(6)
(6 )
(2)
(5 )
(4)
(2)
(4)
(0 )
(428)
(3C)
(5)
( 12E)
(CC)

*POINTER.

Data Areas

165

(3D8)
(41C)
(5)
(39)
(396)
(3C)
(52)
(22)
(1A)
(2A)
(32)
(3A)
(42)
(4A)
(0 )
(1 )
( 16C)
(D)
(0)
(3DO)
(414)
(3AO)
(438)
(8)
(8.)
(4B8)
(B)
( 41)
(6)
(6)
(5)
(5)
(2)
(2)

(5)
(2)
(3)
(1)
(1)
(0)
(8)
(A)
(10)
(D)
(D)
(0)
(0)
(1)
(A)
(A)
(488)
(C)
( 16)
( 14)
(D)
(D)
(C)
(D)

FIELD

DSECT

DISPLACEMENT
DECIMAL (HEX)

ROPCDE
ROPCDE
ROSYM
RPSOP
RQTSTG
RRCDL
RSALW
RSMOD
RSST
RSSYM
RSTACK
RSWTS
RSYMC1
RSYMC2
RTNSV
RTYPE
RVSYM
SABORT
SALLCT
SALOC
SASTCMT
SATTRIB
SAVENOTE
SAVMALL
SBDPROTO
SBYCNT
SBYONE
SCMTCT
SCNCAT
SCOPY
SCTLRTN
SDEFNP
SDEFRL
SDEFRT
SDEFSL
SDENT
SDENTR
SDENTR 1
SDINI'I'
SDTCMT
SELFDEFN
SENAME
SENDST
SEOPCD
SEOPND
SEQNUM
SEQSV
SEQSVT
'SFSTCD
SGBLCL
SHIFTN
SICTL
SIGNSW
SINCPY
SINEOF
SISEQ
SKACTRV
SKADNLD

PPIN
RLDIN
EDSECT
RSYMRCD
EDSECT
RSYMRCD
FARENT
FARENT
FARENT
EDSECT
EDSECT
RSYMRCD
RSYMRCD
RSYMRCD
EDSECT
RSYr1RCD
EDSSCT
EDSECT
ED SECT
X5COM
EDSECT
OSRDNTRY
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
SSDE:r'
SSDE:r'
SSDEF
SSDEF
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
X5COM
EDSECT
EDSECT
EDSECT
EDSECT
RCARD
EDSECT
EDSECT
EDSECT
EDSECT
X5COM
EDSECT
X5COM
EDSECT
EDSECT
ED SECT
SKDCTHDR.
SKDCTHDR

4
4
13
2
13
0
1
1
1
13
372
6
12
6
124
4
13
3
1
938
6
3
1071
640
6
1
1
2
5
4
1
3
0
2
11
4
15
16
4
6
1128
7
5
7
7
76
156
858
4
2
1232
3
1105
8
2
8
27
15

*POINTER.

166

(4)
(4)
(D)
(2)
(D)
(0)
( 1)
( 1)
(1)
(D)
(174)
(6)
(C)

(6)
(7C)
(4)
(D)
( 3)
(1)
(3AA)
(6)
(3)
(42F)
(280)
(6)
(1)
(1)
(2)
(5)
(4)
(1)
(3)
(0)
(2)
(B)
(4)
(F)
(10)
(4)
(6)
(468)
(7)

(5)
(7)
(7)

(4C)
(9C)
(35A)
(4)
(2)
(4DO)
(3)
(451)
(8)
(2)
(8)
( 1B)
(F)

FIELD
SKKVADR
SKLDADR
SKLDLNG
SKLOG
SKMPADR
SKNOFSLS
SKNPNLT
SKPEND
SKPMND
SKPNAME
SKSRDPT
SKWPRM
SLSTCD
SMAC
SMACNAM
SMDDENTR
SMDEF
S~I

SMISCN
SNMFND
SNOACTR
SNOCNT
SNOFND
SNOPND
SNOPSYN
SNOSMCRO
SNOSYSMD
SNXTCT
SONECD
SONECT
SOPNCD
SPGRMD
SPRMER
SPRVCT
SREFDP
SREFRL
SREFRT
SREFSL
SREFTYPE
SSDLNGTH
SSDTCP
SSDTNP
SSDTSL
SSFLGVAL
SSPAD
SSRAPDIS
SSRDP
SSRDSTRT
SSSYM
SSYSMD
STACK
STATUS
STFVAL
STGCNT
STGNDX
STMTN
STNPADJ
S1'NPSTD
*POINTER.

DSECT

DISPLACEMENT
DECIMfI.L (HEX)

SKDCTHDR
SKDCTHDR
SKDCTHDR
X5COM
SKDCTHDR
SKDCTHDR
SKDCTHDR
EDSECT
EDSECT
EDSECT
SKDCTHDR
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT EDSECT
SSREF
SSREF
SSREF
SSREF
EDSECT
ED SECT
SSDTNTRY
SSDTNTRY
SSDTNTRY
EDSECT
SSDIR
EDSECT
SSDIR
EDSECT
SSDIR
EDSECT
EDSECT
X5COM
SSDIR
ED SECT
EDSECT
X5COM
EDSECT
EDSECT

12
3
6
1103
9

31
19
3
3
5
0
5
2
8
280
4
0
2
0
6
3
8
6
1
0
6
6
2
1
1
3
3
5
2
3
0
2
6
1033
1030
0
3
11
1032
12
1020
9
956
0
3
782
1201
8
856
76
16
332
'324

(C)

(3)
(6)
(44F)
(9 )
( 1F)
( 13)
(3)
( 3)
(5)
(0)
(5)
(2)
(8)
( 118)
(4)
(0)
(2)
(0 )
(6)
(3)
(8 )
(6)
( 1)
(0)
(6)
(6)
(2)
(1)
( 1)
(3)
(3)
(5)
(2)
(3)
(0)
(2)
(6)
(409)
(406)
(0)
(3)
(B)
(408)
(C)
(3FC)
(9)
(3BC)
(0)
(3)
(30E)
(4B 1)
(8)
(358)
(4C)
(10)
( 14C)

(144)

FIELD
STRADR
STRCI'1T
STRTLC
SUBLST
SUBSAVE
SUBSOP
SUPDNT
SVENDvlKA
SVLAST
SVI-1INDIF
SvlITCHA
S~'7ITCHES

SNITCH1
S~'IITCH2
S~'lITCH3

SvlITCH4
SvlITCH5
S~'l ITCH6
S~'lI'rCH7
S~'lITCH8

m'lITCH9
SXt-1CRO
SXPRTO
SYI>1CNT
SYMDEF
SYMXRF
TATTRIB
TBGLN
TCNTLN
TEMPBIND
TEMPLC
T~1POP

TERMS
TITLE
TOOMANY
TPTEXT
TSEDIT
TSRCLN
TUBEOP
Tt'lASLC
TXTPTR
UADR1
UADR2
UBASD1
UBASD2
UESD
UGARB
ULOCO
UOPCOD
UREG
USINGT
USPHL
USSRT
UVAL
VALOUT
VCHAIN
VCOMPLEX
VDIM
*POINTER.

DSECT

DISPLACEMENT
DECIMAL (HEX)

X5COM
EDSECT
X5COM
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
X5COM
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
EDSECT
X5COM
X5COM
X5COM
OSRDNTRY
EDSECT
EDSECT
EDSECT
X5COM
EDSECT
X5COM
RPRINT
X5COM
X5COM
MDDNTRY
EDSECT
X5COM
X5COM
X5COM
X5COM
X5COM
X5COM
X5COM
UDSECT
X5COM
X5COM
X5COM
UDSECT
X5COM
X5COM
X5COM
UDSECT
RPRINT
VSDENTRY
X5COM
EDSECT

200
6
1080
5
920
2
4
348
772
360
1022
60
0
1
2
3
4
5
6
7
8
4
0
54
48
52
0
256
264
781
1108
780
1200
1
64
57
3
260
1127
57
12
964
972
952
956
2
960
940
948
8
238
58
55
4
28
0
1217
1062

(C8)
(6)
(438)
(5)
(398)
(2)
(4)
( 15C)
(304)
(168)
(3FE)
(3C)
(0 )
( 1)
(2)
(3)
(4)
(5)
(6)
(7)

(8)
(4)
(0)
(36)
(30)
(34)
(0)
(100)
(108)
(30D)
(454)
(30C)
(4BO)
(1)
(40)
(39)
(3)
(104)
(467)
(39)
(e)
(3C4)
(3CC)
(3B8)
(3BC)
(2)
(3CO)
(3AC)
(3B4)
(8)
(EE)
(3A)
(37)
(4)
( 1C)
(0 )
(4C 1)
(426)

FIELD
VECPTR
VEJBYTE
V EN DPARN
VEOP

VFLAGS
VGDIHEN
VGVECTR
VHIDEFOP
VHIGENOP

VHIREFOP
VJEEOF
VJEOPCOD
VJTACTR
VJTADJII
VJTAGO
VJTAGOB
VJTAIF
VJTAIFB
VJTANOP
VJTCALL
VJTCCW
VJTCMNT
VJTCNOP
VJTCOM
VJTCOPY
VJTCPKEY
VJTCPPOS
VJTCSECT
VJTeXD
VJTDC
VJTDROP
VJTDS
VJTDSECT
VJTDXD
VJTEEDF
VJTEJECT
VJTEND
VJTENTRY
VJTEOF
VJTEOFII
VJTEQU
VJTERROR
VJTEXTRN
VJTGBLA
VJTGBLB
VJTGBLC
VJTHCMNT
VJTICTL
VJTINPe
VJTISEQ
VJTLCLA
VJTLCLB
VJTLCLC
VJTLITII
VJTLITR
VJTLTDC
VJTLTEND
VJTLTLC

DSECT

DISPLACEMENT
DECIMAL (HEX)

EDSECT
RPRINT
X5COM
FARENT
VSDENTRY
VSDENTRY
VSDENTRY
JTEXT
JTEXT
JTEXT
JERRCD
JERRCD
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT

48
0
1320
0
3
4
1
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

*POINTER.

Data Areas

167

(30)
(0)
(528)
(0)
( 3)
(4)
(1)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
"(4 )
(4)
(4)

FIELD
VJTLTND
VJTLTORG
VJTMACRO
VJTMEND
VJTMEXIT
VJTMNOTE
VJTOPSYN
VJTORG
VJTPASS
VJTPEND
VJTPMOP
VJTPOP
VJTPPCH
VJTPPKEY
VJTPPPOS
VJTPREP
VJTPRINT
VJTPROTO
VJTPUNCH
VJTPUSH
VJTREPRO
VJTSETA
VJTSETB
VJTSETC
VJTSICTL
VJTSPACE
VJTSTART
VJTSYMBL
VJTSYMII
VJTTITLE
VJTUSING
VJTWXTRN
VLDICTR
VLDIMEN
VLIT
VLNGTH
VLODEFOP
VLOGENOP
VLONOPRN
VLOREFOP
V~AXBIT

VMAXCHAR
VMAXDEC
VMAXHEX
VMAXPARN
VNOPAREN
VNORELOC
VPPAD
VPTYP
VPVECTR
VSDSLOT
VSDSTRT
VSELFDEF
VSFLG
*POINTER.

168

DSECT

DISPLACEMENT
DECIMAL (HEX)

JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEY.T
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
JTEXT
VSDENTRY
VSDENTRY
X5COM
VSDENTRY
JTEXT
JTEXT
JTEXT
JTEXT
X5COM
x5COM
X5COM
X5COM
x5COM
x5COM
x5COM
VSDENTRY
EDSECT
VSDENTRY
EDSECT
EDSECT
x5COM
EDSECT

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
1
4
63
4
4
4
4
4
1233
1233
1233
1233
1225
1225
1208
4
1062
1
960
948
1128
854

(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
,(4 )
(4)
(4)
(4)

(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
( 1)
(4)
(3F)
(4)
(4)
(4)
(4)
(4)
(4D 1)
(4D 1)
(4D 1)
(4D 1)
(4C9)
(4C9)
(4BS)
(4)
(426)
( 1)
(3CO)
(3B4)
(468)
(356)

FIELD
VSHIFTB
VSHIFTC
VSHIFTD
VSHIFTH
VSLS
VSNS
VSPACE1
VSPACE2
VSPACE3
VSRSV
VSRSV1
VSTATUS1
VSTATUS2
VSTP1
VSTP2
VTFVAL
V'l'YP1
VTYP2
WORKAREA
WRPFLG
XCNTRL
XDE
XDEFOUT
XFLAG
XFLAG
XLENOUT
XOPCDE
XOPCDE
XRECLN
XRECLN
XREFYES
XRFENT
XRFFLG
XRFFLG
XRFLEN
XRFLEN
XRFNO
XRFREF
XRFSTM
XRFSTM
XRFSYM
XRFSYM
XRFVAL
XRFVAL
XSSAV
XSYMOUT
XVALOUT
X5ASW
X5LSAV
X5MSW
X5SW1
X5VSW
ZAPIT
ZDUPSW
*POIN'IER.

DSECT

DISPLACEMENT
DECIMAL (HEX)

X5COM
X5COM
X5COM
X5COM
EDSECT
EDSECT
RPRINT
RPRINT
RPRINT
EDSECT
EDSECT
X5COM
X5COr-l
EDSECI'
EDSECI'
VSDENTRY
EDSECI'
EDSECI'
X5COM
X5COM
RPRINT
RPRINT
RPRINT
PPIN
XRFIN
RPRINT
PPIN
XRFIN
PPIN
XRFIN
X5COM
RPRINT
PPIN
XRFIN
PPIN
XRFIN
X5COM
RPRINT
PPIN
XRFIN
PPIN
XRFIN
PPIN
XRFIN
X5COM
RPRINT
RPRINT
X5COM
X5COM
X5COM
X5COM
X5COM
X5COM
X5COM

1232
1232
1232
1232
1062
1062
0
0
0
904
908
1201
1201
1062
1062
0
1062
1062
1020
57
0
30
25
2
2
10
4
4
0
0
1116
32
14
14
17
17
56
32
15
15
6
6
19
19
1350
1
16
65
212
64
57
63
63
1104

(4DO)
(4DO)
(tWO)
(l~DO)

(426)
(426}
(a)
(0 )
(0)
(388)
(38C)
(4B 1)
(4B 1)
(426 )
(426)
(0 )
(426)
(426)
(3FC)
(39)
(0)
(1 E)
(19)
(2 )
(2 )
(A)
(ll)

(4 )
(0 )

(0)
(45C)
(20)
(E)
(E)

(11 )
(11 )
(38)
(20)
(F)
(F)

(6 )
(6 )
(13 )
(13 )
(546 )
(1 )
(10)
(41 )
(D4)
(40)
(39)
(3 F)
(3F)
(450)

Directory
This section serves as a c~oss-reference between the items in the "Method of Operation"
section and the microfiche listings.

Directory

169

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

ADJUST

ESDID (SYMBOL RESOLUTION PHASE MAIN LINE
CONTROL)

19

IFNX4MOO

IFNX4M

ALIGN

POINT TO CURRENT LEVEL (ASSEMBLY PHASE ALIGNMENT ROUT IN E)

25

IFNX5A20

IFNX5A

ALIGN

SAVE REGISTERS (ASSEMBLY PHASE - ALIGNMENT
ROUTINE)

25

IFNX5A20

IFNX5A

ALIGN

ALIAS FOR IFNX5A21
AL IGNMENT ROUT IN E

25

HNX5A20

IFNX5A

AOP350

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - BRANCH TABLE AND)

21

IFNX5AOO

IFt~5A

AOP350

IS THIS AN END STATEMENT (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - BRANCH 'l'ABLE AND

21

IFNX5AOO

IFNX5A

AYKON

SET TEXT POINTER (ASSEMBLY PHASE - DC
EVALUATION)

23

IFNX5DO 0

IFNX5D

BKON

CLEAR BI T-LEN3TH (ASSEMBLY PHASE - DC
EVALUATION - PROCESS B-TYPE CONSTANT~

23

IFNX5DOO

IFNX5D

BLDESD

SAVE REGISTERS IN STACK (EXTERNAL SYMBOL
DIcrIONARY SUBROUTINES)

17

IFNXt'EOO

IFNXtlE

BRONTYP

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

9

IFNX2A02

IFNX2A

CALLEND

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11, 12

IFNX3NOO

IFNX3N

CCW100

GET ALIGNMENT CHECK BITS (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'CCW' STATEMENT)

23

IFNX5AOO

IFNX5A

CKON

SET STEPPER (ASSEMBLY PHASE - DC EVALUATION
- PROCESS C-TYPE CONSTANT)

23

IFNX5DOO

IFNX5D

COMNEND

ENTRY POINT ROUTINES

6

IFNX1JOO

IFNX1J

PTR TO PHASE COMMON AREA (DICTIONARY
INTERLUDE PHAS E)

F5

INTRCOM

IFNX2A

COpy

ENTRY POINT -

EDIT PHASE

3,4

IFNX1AOO

IFNX1A

CSTKENT

ENTRY POINT -

EDIT PHASE

4

IFNX1A10

IFNX1A

CSTKEXT

ENTRY POINT -

EDIT PHASE

4

IFNX1A10

IFNX1A

ASSEMBLY PHASE -

EDIT PHASE DICTIONARY

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

170

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MOCULE/
MCROFCH

CURFLE

FILE

(POST PROCESSOR PHASE)

F11

X6ACOMM

IFNX6A

CURFLE2

FILE 2

(POST PROCESSOR PHASE)

F11

X6ACOMM

IFNX6A

CURFLE3

FILE 3

(POST PROCESSOR PHASE)

F11

X6ACOMM

IFNX6A

CURRDICT

PTR TO HEADER OF CURRENT DICT
GENERATOR)

(XKE MACRO

Fa

GENCOH

IFNX3A

CURRDICT

PTR TO HEADER OF CURRENT DICT
PHASE DICI'IONARY ROUTINES)

(GENERATE

F8,12

GENCOM

IFNX3N

CURRGLBL

ETR TO CURRENT GLOBAL VECTOR (XKE MACRO
GENERATOR)

13

GENCOM

IFNX3A

CURRGLBL

PTR TO CURRENT GLOBAL VECTOR
PHASE DICTIONARY ROUTINES)

13

GENCOM

IFNX3N

CURRKEYD

PTR TO CURRENT KEYWD PARAM VCTR
GENERATOR)

(XKE MACRO

13

GENCOM

IFNX3A

CURRKEYD

PTR TO CURRENT KEYWD PARAM VCTR
PHASE DICTIONARY ROUTINES)

(GENERATE

13

GENCOM

IFNX3N

CURRLOCL

PTR TO CURRENT LOCAL DICTIONARY
GENERATOR)

(XKE MACRO

13

GENCOM

IFNX3A

CURRLOCL

PTR TO CURRENT LOCAL DICTIONARY
PHASE DICTIONARY ROUTINES)

(GENERATE

13

GENCOM

IFNX3N

CURRPARM

PTR TO CURRENT PARAM TABLE
GENERATOR)

(XKE MACRO

Fa,13

GENCOM

IFNX3A

CURRPARM

PTR TO CURRENT PARAM TABLE
RESOLUTION PREPROCESSOR)

(SYMBOL

Fa

GENCOM

IFNX3B

CURRPARM

PTR TO CURRENT PARAM TABLE
CICTIONARY ROUTINES)

(GENERATE PHASE

Fa

GENCOM

IFNX3N

CURRPOST

PTR TO CURRENT POSIT PARAM VCTR
GENERATOR)

13

GENCOM

IFNX3A

CURRPOST

PTR TO CURRENT POSIT PARAM VCTR (GENERATE
PHASE DICTIONARY ROUTINES)

12

GENCOM

U'NX3N

DATAPTR

DATA AREA POINTER

F11

X6ACOMM

IFNX6A

DCEVAL

ALIAS FOR IFNXSD01
ASSEMBLY PHASE DC EVALUATION - INITIALIZATION

23

IFNXSDOO

IFNXSD

DCEVAL

SAVE ENTRY REGISTERS ~SSEMBLY PHASE EVALUATION - INITIALIZATION)

23

IFNXSDOO

IFNX5D

DCEVAL

POINT TO CURRENT LEVEL (ASSEMBLY PHASE DC EV ALU AT ION - IN IT IAL IZAT ION)

23

IFNXSDOO

IFNXSD

DC0100

GO GET GOOD OPERAND COUNT (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'DC & DS' STATEM

23

IFNX5AOO

IFNX5A

DKON

SET PARAMETER POINTER (ASSEMBLY PHASE CC EVALUATION - PROCESS L-, D-, E-, F-,

23

IFNX5DOO

IFNX5D

22

IFNX5MOO

IFNX5M

22

IFNX5MOO

IFNX5M

DRIVER
DRIVER

(GENERATE

(XKE MACRO

(POST PROCESSOR PHASE)

(MACHINE INSTRUCTION PROCESSOR)
EXIT IF UNRECOVERABLE ERROR
INSTRUCTION PROCESSOR)

(MACHINE

DC

H-~YP

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

Directory

171

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECTI
DSECT

~lODULE/
MC~OFCH

DROPOO

GET OPERAND POINTER (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'DROP' STATEMENT

24

IFNX5AOO

IFNX5A

DSECT10

DSECT NAME ASSEMBLER OPCODE PROCESSOR ASSEMBLY PHASE - COPY CODE

21,23,24

DSECT10

IFNX5A

DSECT10

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - DSECT10 DEFINITION (RSYMRC

21

DSECT10

IFNX5C

DSECT14

DSECT NAME SYMBOL RESOLUTION .PHASE DC/DS
EVALUATION

17

DSECT 14

IFNX 4D

DSECT14

DSECT NAME EXTERNAL SYMBOL DICTIONARY
SUBROUTINES

17

DSECT14

IFNX4E

DSECT14

DSECT NAME SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL

17

DSECT14

IFNX411

DSECT14

DS ECT NAME SYMBOL RESOLUTION PHASE DC/DS
EVALUATION

DSECT14

IFNX4N

DSECT6

DSECT NAME EXTERNAL SYI1BOL DICTIONARY
SUBROUTINES

DSECT6

IFNX4E

DSECT6

DS ECT NAME SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL

DSECT6

IFNX411

DS0100

(ASSEMBLER OPCODE PROCESSOR PHASE - 'DC & DS' STATEM)

23

IFNX5AOO

IFNX5A

DS0100

INDICATE ENTRY IS A DS (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'DC & DS' STA'IEM

23

IFNX5AOO

IFNX5A

DXD100

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'DXD' STATEMENT)

23

IFNX5AO 0

IFNX5A

DXD100

INDICATE DXD FOR DCEVAL (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'DXD I STA.'IEMEN'I)

23

IFNX5AOO

IFNX5A

6

IFNX1 JOO

IFNX 1J

6

IFNX1JOO

IFNX1J

EDITSYSM
EDITSYSM

ASSEMBLY

(EDIT PHASE DICTIONARY ROUTINES)
SKIP IT ALL IF OVERLAP OCCURRED
DICTIONARY ROUTINES)

(EDIT PHASE

18

*EDSECT

DSECT NAME EDIT PHASE

EDSECT

IFNX 1A

*EDSECT

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

EDSECT

IFNX1J

*EDSEcr

DSECT NAME CONDITIONAL ASSEMBLY POSTFIX
ROUTINE

EDSECT

IFNX1S

IFNX5AOO

IFNX5A

EJECTO

LOAD NEGAT IVE VALUE IN REGISTER (ASSEMBLER
OPCODE PROCESSOR - ASSEMBLY PHASE - 'SPACE' A

24

*ENDFIL

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

ENDFIL

IFNX1J

*ENDFIL

DSECT NAME DICTIONARY INTERLUDE PHASE

ENDFIL

IFNX2A

*ENDSEG

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

ENDSEG

IFNX1J

*ENDSEG

DSECT NAME DICTIONARY INTERLUDE PHASE

ENDSEG

IFNX2A

10,8

IFNX2AOO

IFNX2A

5

ENDSEGB

ENTRY POINT -

END100

GET OPERAND POINTER (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'END' STA'IEMEN'I)

24

IFNX5AOO

IFNX5A

ENTER

SAVE REGISTERS IN STACK
SUBROUTINES)

17,20,27

IFNX4S00

IFNX4S

DICTIONARY INTERLUDE PHASE

(SYMBOL TABLE

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NrrMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE 1-1ETHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRA~ ORGANI ZATION SECI'ION.

172

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

ENI'RY

AVE REGIST ERS IN STACK (EXTERNAL SYl1BOL
DICTIONARY SUBROUTINES)

17

IFNX4EOO

IFNXIJE

ENTRY

GET ADDRESS OF PIVOT (SYMBOL RESOLUTION
PHASE MAIN LINE CONTROL)

20

IFNX4MOO

IFNX4M

ENTRYO

IS OPERAND BLANK (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'ENTRY & EXTRN')

24

IFNX5AOO

IFNX5A

ENTRYO

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'ENTRY & EXTRN')

24

IFNX5AOO

IFNX5A

20,27

IFNX4MOO

IFNX4M

EOFIIS

(SYMBOL RESOLUTION PHASE MAIN LINE CONI'ROL)

EQU100

GET NAME RECORD PTR (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'EQU' STATEMEN'I)

24

IFNX5AOO

IFNX5A

ERRBLK

PTR TO ERROR RECORD BUFFER
INTERLUDE PHAS E)

F5

INTRCOM

IFNX2A

(DICTIONARY

*ERRIN

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - POST PROCESSOR RECORD DEFN

ERR IN

IFNX5C

*ERRIN

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

ERR IN

IFNX5V

*ERRMESS

DSECT NAME EDIT PHASE

ERRMESS

IFNX1A

*ERRMESS

DS ECT NAME EDIT PHASE DICTIONARY ROU'I'INES

ERRMESS

IFNX1J

*ERRMESS

DSECT NAME CONDITIONAL ASSEMBLY POSTFIX
ROUTINE

ERRMESS

IFNX1S

*ERRMESS

DS ECT NAME XKE MACRO GENERATOR

ERRMESS

IFNX3A

*ERRMESS

DSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

ERRMESS

IFNX3N

ERRORO

fASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - ERROR RECORD PRO)

21

IFNX5AOO

IFNX5A

ERROR 0

SET ERROR RECORDS PRESENT (ASSEr.1BLER OPCODE
PROCESSOR - ASSEMBLY PHASE - ERROR RECORD PRO

21

IFNX5AOO

IFNX5A

ESDBLK 1

ESD BLOCK 1 (SYMBOL RESOLUTION PHASE DC/OS
FJ.J ALU AT ION)

17

DSECT7

IFNX4D

ESDBLK 1

ESD BLOCK 1 (EXTERNAL SYMBOL DlcrIONARY
SU BROUT IN ES)

17,18

DSECT7

IFNX4E

ESDBLK1

ESD BLOCK 1 (SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL)

17

DSECT7

IFNX4M

ESDBLK 1

ESD BLOCK 1 (SYMBOL TABLE SUBROUTINES)

17

DSECT7

IFNX4S

ESD BLOCK 2 (SYMBOL RESOLUTION PHASE DC/OS

17

DSECT7

IFNX4D

ESDBLK2

FJ.J ALUAT ION)

ESDBLK2

ESD BLOCK 2 (EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES)

17,18

DSECT7

IFNX4E

ESDBLK2

ESD BLOCK 2 (SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL)

17

DSECT7

IFNX4M

ESDBLK2

ESD BLOCK 2 (SYMBOL TABLE SUBROUTINES)

17

DSECT7

IFNX4S

ESYSMAC

BRANCH IF SYS MACROS ALL EDITED (EDIT PHAS E)

6

IFNX1A30

IFNX1A

6

IFNX1A30

IFNX1A

ESYSMAC

(EDIT PHASE)

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRru1 IN THE METHODS OF OPERATIONS SECTION.
'F', FOLLOV1ED BY A NUMERAL, REFERS TO A FIGURE IN '!HE PROGRAM ORGANI ZATION SECTION.

Directory

173

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

EVAL

ENTRY POINT -

13

IFNX3A03

IFNX3A

EXTRN

SAVE REGISTERS IN STACK
DICTIONARY SUBROUTINES)

17,~0,27,

IFNX4EOO

IFNX4E

EXTRN

TYPE (SYMBOL RESOLUTION PHASE MAIN LINE
CONTROL)

20,27

IFNX4MOO

IFNX4M

EXTRNO

DEFINE EXTRN ERTRY POINT (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'ENTRY & EXTRN')

24

IFNX5AOO

IFNX5A

FARENT

IFNX5M

3

J

IFNX1J

*FARENT

XKE MACRO GENERA'IOR
~XTERNAL

SYMBOL

DSECT NAME MACHINE INSTRUCTION PROCESSOR

FILEl

FILE 1 CODE (EDIT PHASE DICTIONARY

FILE1

FILE 1 CODE (GENERATE PHASE DICTIONARY
ROUTINES)

12

J

IFNX3N

FILE2

FILE 2 CODE

3

J

IFNX1J

FILE2

FILE 2 CODE (XKE MACRO GENERATOR)

13

J

IFNX3A

FILE2

FILE 2 CODE
ROUTINES)

13

J

IFNX3N

FILE3

FILE 3 CODE (EDIT PHASE DICTIONARY ROUTINES)

3

J

IFNX1J

FIND

GET NAME

17,19,20"

IFNX4S00

IFNX4S

FREEEND

PTR TO HIGH END OF WORK AREA (DICTIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

FREESTRT

PTR TO LOW END OF WORK AREA (DIcrIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

GBLDEF

IFNX1J

GBLDEF

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

10,8

IFNX2AOO

IFNX2A

GBLDICTR

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3NOO

IFNX3N

GBLDICTS

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3NOO

IFNX3N

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

GBINTRY

IFNX1J

GBLSK

PTR TO START OF -GLOBAL VECTOR (DIcrIONARY
INTERLUDE PHASE)

F5,10

INTRCOM

IFNX2A

GDEND

PTR TO CURRENT END OF GBL DIR (DIcrIONARY
INTERLUCE PHASE)

F5

INTRCOM

IFNX2A

DSECT NAME DICTIONARY INTERLUDE PHASE

10

GDNTRY

IFNX2A

GDSTRI'

PTR TO START OF GBL DIRECTORY (DICTIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

GDSTRT

PTR TO START OF GBL DICTIONARY (XKE MACRO
GENERATOR)

F8,13

GENCOM

IFNX3A

GDSTRT

PTR TO START OF GBL DICTIONARY
RESOLUTION PREPROCESSOR)

F8

GENCOM

IFNX3B

GDSTRT

PTR TO START OF GBL DICTIONARY (GENERATE
PHASE DIcrIONARY ROUTINES)

F8

GENCOM

IFNX3N

*GBLDEF

*GBLNTRY

*GDNTRY

~DIT

ROUTINE~

PHASE DICTIONARY ROUTINES)

~ENERATE

PHASE DICTIONARY

(SYMBOL TABLE SUBROUTINES)

(SYMBOL

* DA'IA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOU'I.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE METHODS OF OPERATIONS sEcrrON.
'F', FOLLO~ffiD BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

174

SYMBOLIC
NAME

CESCRIPI'ION: NAME AND USE

PLM
REF··

CSECT/
DSECT

MODULE/
MCROFCH

GENCOM

DSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

13

GENCOM

IFNX3U

GENFLD

EN'lRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

GENS'lRNG

EN'lRY POINT -

XKE MACRO GENERATOR

13

IFNX3A03

IFNX3A

GSCAN

ENTRY POINT -

EDIT PHASE

3

IFNX1A10

IFNX1A

GSHASHER

CLEAR WORK AREA FOR VARB NAME
INTERLUDE PHASE)

10

IFNX2AOO

IFNX2A

GTRG'lR

READ RECORDS (POST PROCESSOR PHAS E)

26

IFNX6AOO

IFNX6A

HASH

EN'lRY POINT -

9

IFNX2AOO

IFNX2A

IASGN

IS IT 4-BIT OR 8-BIT FIELD (MACHINE
INSTRUCTION PROCESSOR)

22

IFNX51100

IFNX5l>!

ICTL

ENTRY POINT -

3,4

IFNX1AOO

IFNX1A

IFNX1AOO

CSECT NAME -

EDIT PHASE

2

IFNX1AOO

IFNX1A

IFNX1A10

CSECI' NAME -

EDIT PHASE

IFNX1A 10

IFNX 1n

IFNX1A20

CSECT NAME -

EDIT PHASE

IFNX1A20

IFNX1A

IFNX1A30

CSECT NAME -

EDIT PHASE

IFNX1A30

IFNX1A

IFNX1JOO

CSECT NAME -

EDIT PHASE DICTIONARY ROUTINES

IFNX1JOO

IFNX1J

IFNX1J01

EXTRN -

IFNX1AOO

IFNX1A

IFNX1KUN

CSECI' NAME -

OP CODE TABLE

3

IFNX1KUN

IFNX1K

IFNX1S00

CSECT NAME ROUTINE

CONDITIONAL ASSEMBLY POSTFIX

2,3

IFNX1S00

IFNX1S

IFNX1S0 1

EXTRN -

IFNX1AOO

IFNX1A

IFNX2AOO

CSECT NAME -

IFNX2AOO

IFNX2A

IFNX2A01

EN'lRY -

IFNX2AOO

IFNX2A

IFNX2A02

CSECT NAME -

DICTIONARY INTERLUDE PHASE

IFNX 2A 02

IFNX 2A

IFNX3AOO

CSECI' NAME -

XKE MACRO GENERATOR

IFNX3AOO

IFNX3A

IFNX3A01

ENTRY -

IFNX3AOO

IFNX3A

IFNX3A03

CSECI' NAME -

XKE MACRO GENERATOR

IFNX3A03

IFNX3A

IFNX3BOO

CSECT NAME -

SYMBOL RESOLUTION PREPROCESSOR

IFNX3BOO

IFN}{3E

IFNX3B01

EX'lRN -

IFNX3AOO

IFNX3A

IFNX3KUN

CSECT NAME -

OP CODE TABLE

IFNX3KUN

IFHX3K

IFNX3NOO

CSECI' NAME ROUTINES

GENERATE PHASE DICTIONARY

IFNX3NOO

IFNX3N

IFNX4DOO

CSECI' NAME EVALUATION

SYMBOL RESOLUTION PHASE DC/DS

IFNX4DOO

IFNXlJC

IFNX4D01

EN'lRY SYMBOL RESOLUTION PHASE DC/OS
EVALUATION

IFNX3NOO

IFNX3N

Ir~X4EOO

CSECT NAME ~
SUBROUTINES

IFNX4EOO

H'NX4E

(DICTIONARY

DICTIONARY INTERLUDE PHASE

EDIT PHASE

2,5

EDIT PHASE

EDIT PHASE
DICTIONARY INTERLUDE PHASE

2

DICTIONARY INTERLUDE PHASE

11,2

XKE MACRO GENERATOR

14,15

XKE MACRO GENERATOR

EXTERNAL SYMBOL DICTIONARY

15,20

15

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOU! •
• *EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE l1ETHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

Directory

175

CSECT/
DSECT

MODULE/
MCROFCH

IFNX4DOO

IFNX4D

IFNX4MOO

IFNX4M

IFNX4EOO

IFNX4E

IFNX4NOO

IFNX4N

IFNX4S00

IFNX4S

IFNX4MOO

IFNX4M

IFNX4TOO

IFNX4T

IFNX4VOO

IFNX4V

IFNX4S00

IFNX4S

IFNX5AOO

IFNX5A

ENTRY - ASSEMBLER OPCODE PROCESSOR ASSEMBLY PHASE - INITIALIZATION

IFNX5AOO

IFNX5A

IFNX5A20

CSECT NAME ROUTINE

IFNX5A20

IFNX5A

IFNX5A30

CSECT NAME - ASSEMBLY PHP.SE - LOCATION
COUNTER UPDATE ROUTINE

IFNX5A30

IFNX SA

IFNX5A40

CSECT NAME ROUTINE

ASSEMBLY PHASE - RLD OUTPUT

IFNX5A40

IFNX5A

IFNX5A50

CSECT NAME ROUTINE

ASSEMBLY PHASE - XREF OUTPUT

IFNX5A50

IFNX5A

IF'NX5COO

CSECT NAME - ASSEMBLy PHASE - MAINLINE
CONTROL - CONSTANTS AND PATCH AREA

IFNX5COO

IFNX5C

IFNX5C01

ENTRY -

IFNX 5C 00

IFNX 5C

IFNX5DOO

CSECT NAME - ASSEMBLY PHASE - DC
EVALUATION - INITIALIZATION

IFNX5DOO

IFNXSD

IFNX5FOO

CSECT NAME CONVERSION

IFNX5FOO

IFNX5F

IFNXSF01

EXTRN - ASSEMBLY PHASE - DC EVALUATION
- PROCESS L-, [)-, E-, F-, H-TYP

IFNXSDOO

IFNX5D

IFNX5LOO

CSECT NAME - ASSEMBLY PHASE - ERROR
LOGGING ROUTINE

IFNX5LOO

IFNX5L

IFNX5MOO

CSECT NAME -

IFNX5MOO

IFNX5M

IFNX5M01

EXTRN -

IFNX5COO

IFNX5C

IFNX5POO

CSECT NAME -

IFNX5POO

IFNX5P

IFNX5AOO

IFNX5A

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

IFNX4E01

ENTRY EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES

IFNX4MOO

CSECT NAME LINE CONTROL

IFNX4M01

ENTRY CONTROL

IFNX4NOO

CSECT NAME EVALUATION

SYMBOL RESOLUTION PHASE DC/DS

IFNX4S00

CSECT NAME -

SYMBOL TABLE SUBROUTINES

IFNX4S01

ENTRY -

IFNX4TOO

CSECT NAME LINE CONTROL

SYMBOL RESOLUTION PHASE MAIN

IFNX4VOO

CSECT NAME SUBROUTINE

EXPRESSION EVALUATION

IFNX4V01

ENTRY -

IFNX5AOO

CSECT NAME - ASSEMBLER OPCODE PROCESSOR
- ASSEMBLY PHASE - INITIALIZATION

IFNXSA01

SYMBOL RESOLUTION PHASE MAIN

15,20

SYMBOL RESOLUTION PHASE MAIN LINE

15

SYMBOL TABLE SUBROUTINES

15

EXPRESSION EVALUATION SUBROUTINE
21

ASSEMBLY PHASE - ALIGNMENT

21

ASSEMBLY PHASE - MAINLINE CONTROL

DC FIXED-FLOATING POINT

MACHINE INSTRUCTION PROCESSOR

21

21

ASSEMBLY PHASE - MAINLINE CONTROL
ASSEMBLY PHASE -

PRINT ROUTINE

IFNX5P01 . EXTRN - ASSEMBLER OPCODE PROCESSOR ASSEMBLY PHASE - BRANCH TABLE AND

21

*DATA AREA. SEE DATA-AREA SECTION FOR DETAILED LAYOU~.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE METHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANIZATION SECTION.

176

SYMBOLIC
NAME

DESCRIPI'ION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

IFNX5VOO

IFNX5V

IFNX6AOO

IFNX6A

IFNX6AOO

IFNX6A

IFNX6BOO

IFNX6E

IFNX6BOO

IFNX6B

IFNX6 B20

IFNX 6E

IFNX6COO

IFNX6C

IFOXOAOO

lFOXOA

IFNX5VOO

CSECT NAME SUBROUTINE

EXPRESSION EVALUATION

IFNx6AOO

CSECT NAME -

POST PROCESSOR PHASE

IFNX6A01

ENTRY -

IFNX6BOO

CSECT NAME -

IFNX6B01

ENTRY -

IFNX6B20

CSECT NAME -

IFNX6COO

CSECT NAME DIAGNOSTIC MESSAGE PHASE ERROR MESSAGES

IFOXOAOO

CSECT NAME -

IFOXOA01

ENTRY -

ASSEMBLER DRIVER

IFOXOAOO

IFOXOA

IFOXOBOO

CSECT NAME WORKFlLE I/O MODULE MAINLINE CONTROL

lFOXOBOO

IFOXOB

IFOXOCOO

CSECT NAME -

ASSEMBLER COMMON LOAD MODULE

IFOXOCOO

IFOXOC

IFOXODOO

CSECT NAME -

ASSEMBLER INITILIZATION

lFOXODOO

IFOXOD

IFOXOD01

ENTRY -

lFOXODOO

IFOXOD

IFOXOEOO

CSECT NAME DECB

INPUT COMMON LOAD MODULE -

IFOXOEOO

IFOXOE

IFOXOFOO

CSECT NAME CONTROL

INPUT I/O MODULE - MAINLINE

lFOXOFOO

IFOXOF

lFOXOF01

ENTRY -

IFOXOFOO

IFOXOF

IFOXOGOO

CSECT NAME - SYSGO DCB

IFOXOGOO

IFOXOG

lFOXOHOO

CSECT NAME OUTPUT I/O MODULE - FREEPOOL
ROUTINE, CONSTANTS AND PATCH AREA

lFOXOHO"O

IFOXOH

lFOXOH01

ENTRY CONTROL

IFOXOHOO

IFOXOH

IFOXOIOO

CSECT NAME - ABORT ROUTINE - CONSTANTS
ANt PATCH AREA

lFOXOIOO

IFOXOI

IFOXOJOO

CSECT NAME DIAGNOSTIC
CROSS REFERENCE AND ASSEMBLER SUMMA

IFOXOJOO

IFOXOJ

*J

DSECT NAME ASSEMBLER DRIVER - JCOMMON COpy
CODE

J

IFOXOA

*J

DSECT NAME AOORT ROUTINE - JCOMMON COpy CODE

J

IFOXOI

*J

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

J

IFNX1J

*J

DSECT NAME CONDITIONAL ASSEMBLY POSTFIX
ROUTINE

J

IFNX1S

*J

DSECT NAME DICTIONARY INTERLUDE PHASE

J

IFNX2A

*J

DSECT NAME XKE MACRO GENERATOR

J

IFNX3A

*J

DSECT NAME SYMOOL RESOLUTION PREPROCESSOR

J

IFNX3B

21

POST PROCESSOR PHASE
DIAGNOSTIC PHASE

21

DIAGNOSTIC PHASE
DIAGNOSTIC PHASE

ASSEMBLER DRIVER - CONSTANTS

27

27

ASSEMBLER INITILIZATION

27

INPUT I/O MODULE - MAINLINE CONTROL
OUTPUT COMMON LOAD MODULE

OUTPUT I/O MODULE - MAINLINE

27

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOU~.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN ~HE METHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN ~HE PROGRAM ORGANIZATION SECTION.

Directory

177

SYMBOLIC
NAME

DESCRIPI' ION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

*J

DSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

J

IFNX3N

*J

DSECT NAME SYMBOL RESOLUTION PHASE DC/OS
FVALUATION

J

IFNX4D

*J

DSECT NAME EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES

J

IFNX4E

*J

DSECI' NAME SYMOOL RESOLUTION PHASE MAIN
LI NE CONTROL

J

IFNX4M

*J

DSECT NAME SYMBOL RESOLUTION PHASE DC/DS
EVALUATION

J

IFNX4N

*J

DS ECI' NAME SYMOOL TABLE SUBROUTINES

J

IFNX4S

*J

DSECT NA~£ SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL

J

IFNX4T

*J

DSECI' NAME EXPRESSION EVALUATION SUBROUTINE

J

IFNX4V

*J

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - JCOMMON COpy CODE

J

IFNX5C

*J

DS ECI' NAME DC FIXED- FLOATING POINT
CONVERSION

J

IFNX5F

*J

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

J

IFNX5V

*J

DSECT NAME POST PROCESSOR PHASE

J

IFNX6A

*J

DSECT NAME DIAGNOSTIC MESSAGE PHASE JCOMMON COpy CODE

J

IFNX6C

*JERRCp

{;SECI' NAME EDIT PHASE

JERRCD

IFNX1A

* JERRCD

DS ECI' NAME DICI'IONARY INTERLUDE PHASE

JERRCD

IFNX2A

*JERRCD

DSECT NAME XKE MACRO GENERATOR

JERRCD

IFNX3A

*JFLEBLK

DSECT NAME ASSEMBLER DRIVER - JFLEBLK COPY
CODE

JFLEBLK

IFOXOA

*JFLEBLK

DSECT NAME ASSEMBLER ·INITILIZATION - FILE
BLOCK DSECT (JFLEBLK)

JFLEBLK

IFOXOD

*JINCOM

DSECI' NAME INPUT I/O MODULE - JINCOM COpy
CODE

JINCOM

IFOXOF

*JINCOM

DSECI' NAME AOORT ROUTINE - JINCOM COpy CODE

JINCOM

lroXOI

* JOUTCOM

DS Eel' NAME OUTPUT COMMON LOAD MODULE JO UTCOM DSEC T

JOUTCOM

IFOXOG

*JOUTCOM

DSECT NAME OUTPUT I/O MODULE - JOUTCOM COPY
CODE

JOUTCOM

IFOXOH

*JOUTCOM

DSECT NAME ABORT ROUTINE - JOUTCOM COpy CODE

JOUTCOM

IFOXOI

*JTEXT

PSECT NAME EDIT PHASE DICTIONARY ROUTINES

JTEXT

IFNX1J

*JTEXT

DSECT NAME DICTIONARY INTERLUDE PHASE

JTEXT

IFNX2A

*JTEXT

DSECT NAr·1E XKE MACRO GENERATOR

JTEXT

IFNX3A

*JTEXT

DS ECI' NAME SY:MOOL RESOLUTION PREPROCESSOR

JTEXT

IFNX3E

3,4

16

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

178

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

JTEXT

IFNX3N

JTEXT

IFNX4D

JTEXT

IFNX4E

JTEXT

IFNX4M

JTEXT

IFNX4N

JTEXT

IFNX4S

*JTEXT

DSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

*JTEXT

DSECT NAME SYMBOL RESOLUTION PHASE DC/OS
EVALUATION

*JTEXT

DSECT NAME EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES

*JTEXT

os ECI' NAME SYMOOL RESOLUTION PHASE MAIN
LINE CONTROL

*JTEXT

DSECT NAME SYMBOL RESOLUTION PHASE DC/OS
EVALUATION

*JTEXT

DSECT NAME SYMBOL TABLE SUBROUTINES

*JTEXT

DSECT NAME SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL

JTEXT

IFNX4T

*JTEXT

DSECI' NAME EXPRESSION EVALUATION SUBROUTINE

JTEXT

IFNX4V

*JTEXT

DSECI' NAME ASSEMBLY PHASE - MAINLINE
CONTROL - JTEXT COpy CODE

21

JTEXT

IFNX5C

*JTEXT

DSECT NAME DC FIXED-FLOATING POINT
CONVERSION

21

JTEXT

IFNX5F

*JTEXT

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

JTEXT

IFNX5V

*JTEXTA

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

JTEXTA

IFNX1J

*JTEXTA

DSECT NAME DICTIONARY INTERLUDE PHASE

JTEXTA

IFNX2A

*JTEXTA

DS Ecr

JTEXTA

IFNX3A

*JTEXTA

DSECT NAME SYMOOL RESOJ. .UTION PREPROCESSOR

JTEXTA

IFNX3B

*JTEXTA

DSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

JTEXTA

IFNX3N

*JTEXTA

DSECT NAME SYMBOL RESOLUTION PHASE DCjDS
EVALUATION

JTEXTA

IFNX4D

*JTEXTA

OSECI' NAME EXTERNAL SYMBOL DICTIONARY
SUBRO UTI NE S

JTEXTA

IFNX4E

*JTEXTA

OSECI' NA.~E SYMOOL RESOLUTION PHASE MAIN
LINE CONTROL

JTEXTA

IFNX4M

*JTEXTA

DS ECI' NAME SYMOOL RESOLUTION PHASE DC/DS
EVALUATION

JTEXTA

IFNX4N

*JTEXTA

os ECI' NAME SYMOOL RESOLUTION PHASE MAIN
LINE CONTROL

JTEXTA

IFNX4T

*JTEXTA

OSECI' NAME ASSEMBLY PHASE - MAINLINE
CONTROL - JTEXT COpy CODE

JTEXTA

IFNX5C

*JTEXTA

DSECT NAME MACHINE INSTRUCTION PROCESSOR

JTEXTA

IFNX5M

*JTEXTA

DS ECI'

JTEXTA

IFNX5P

*JTEXTA

DSECT NAME DIAGNOSTIC PHASE - TERMINAL
BUFFER DSECT AND JTEXTA DSECT

JTEXTA

IFNX6B

DSECT7

IFNX4D

LATADD

17

17

17

NAME XKE MACRO GENERATOR

22

NAME ASS EMBLY PHASE - PRINT ROUTINE

FIRST LITERAL ENTRY ADDRESS (SYMBOL
RESOLUTION PHASE DC/DS EVALUATION)

F9,17

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

Directory

179

SYMBOLIC
NAME

CESCRIPTIDN: NM1E AND USE

PLM
REF*·

CSECT/
DSECT

MODULE/
MCROFCH

LATADD

FIRST LITERAL ENTRY ADDRESS (EXTERNAL
SYMBOL DICTIONARY SUBROUTINES)

F9,17

DSECT7

IFNX4E

LATADD

FIRST LITERAL ENTRY ADDRESS (SYMBOL
RESOLUTION PHASE MAIN LINE CONTROL)

F9,19

DSECT7

IFNX4M

LATADD

FIRST LITERAL ENTRY ADDRESS
SU BROUT IN ES)

F9,17,19

DSECT7

IFNX4S

LATADD

FIRST LITERAL ENTRY ADDRESS (EXPRESSION
FN ALUAT ION SUBROUT IN E)

F9

DSECT7

IFNX4V

LCLDICTR

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3NOO

IFNX3N

LCLDICTS

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3NOO

IFNX3N

~YMBOL

TABLE

·LCLNTRY

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

LClNTRY

IFNX1J

LITERAL

PASS PARAMETERS (SYMBOL RESOLUTION PHASE
MAIN LINE CONTROL)

17

IFNX4MOO

IFNX4M

LITRII

ADJUSTMENT INDEX (SYMBOL RESOLUTION PHASE
MAIN LINE CONTROL)

19

IFNX4MOO

IFNX4M

LOCUPD

POINT TO CURRENT LEVEL (ASSEMBLY PHASE LOCATION COUNTER UPDATE ROUTINE)

21,25

IFNX5A30

IFNX5A

LOCUPD

ASSEMBLY PHASE ALIAS FOR IFNX5A31
LOCATION COUNTER UPDATE ROUTINE

21,25

IFNX5A30

IFNX5A

LOCUPD

SAVE REGISTERS (ASSEMBLY PHASE - LOCATION
COUNI'ER UPCATE ROUTINE)

21,25

IFNX5A30

IFNX5A

LTDUMP

SAVE REGISTERS (SYMBOL RESOLUTION PHASE
MAIN LINE CONTROL)

17,20,20

IFNX4MOO

IFNX4M

LTORG

ALIGN TO DOUBLEWORD BOUNDARY ~YMBOL
RESOLUTION PHASE MAIN LINE CONTROL)

17

IFNX4MOO

IFNX4M

MACENTRY

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

6

IFNX1JOO

IFNX1J

MACRCALL

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11

IFNX3 NOO

IFNX3N

MACREND

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3,6

IFNX1 JOO

IFNX1J

MACRENT

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3,6

IFNX1JOO

IFNX1J

MACRKWRD

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11,12

IFNX3 NOO

IFNX3N

MACRNAME

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

6

IFNX1JOO

IFNX1J

MACRO

ENTRY POINT -

EDIT PHASE

3

IFNX1AOO

IFNX1A

MACRPOST

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11, 12

IFNX3NOO

IFNX3N

MACTR

ENTRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

MAIF

ENTRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

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

180

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE
(EXTERNAL SYMBOL

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

15,18

IFNX4EOO

IFNX4E

MAKESD

SAVE REGI STERS I N STACK
DICI'IONARY SUBROUT INES)

MAKGET

GET NEXT SEQUENTIAL ESD ENTRY (EXTERNAL
SYMBOL DICI'IONARY SUBROUTINES)

18

IFNX4EOO

IFNX4E

MBRANCH1

ENTRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

MCALLIN

ENTRY POINT -

EDIT PHASE

3

IFNX1A20

IFNX1A

MDDND

PTR TO END OF MACRO DEF DIRECT (C ICTIONARY
INTERLUDE PHASE)

F5,F7

INTRCOM

IFNX2A

*MDDNTRY

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

3,6

MDDNTRY

IFNX1J

*MDDNTRY

DSECT NAME DICTIONARY INTERLUDE PHASE

10,8

MDDNTRY

IFNX2A

F4,4

EDSECT

IFNX1A

PHAS~

MDDSTRT

PTR TO START OF MACR DEFN DIR (EDIT

MDDSTRT

PTR 'IO START OF MACR DEFN DIR (EDIT PHASE
DICI'lONARY ROUTINES)

F4,4

EDSECT

IFNX1J

MDDSTRT

PTR 'IO START OF ~.ACR DEFN DIR
ASSEMBLY POSTFIX ROUTINE)

F4

EDSECT

IFNX1S

MDDSTRT

PTR 'IO START OF MACRO DEF DIRCT (DICTIONARY
INTERLUCE PHAS E)

F5

INTRCOM

IFNX2A

*MDVNTRY

DSECT NAME DICTIONARY INTERLUDE PHASE

10,8

MDVNTRY

IFNX2A

*MDVNTRY

DSECT NAME GENERATE PHASE DICTIONARY
FOUTINES

MDVNTRY

IFNX3N

FS

INTRCOM

IFNX2A

(CONDITIONAL

MDVS'lRT

PTR TO START OF MACRO DEF VECTF
INTERLUDE PHAS E)

MDVS'lRT

PTR 'IO START OF MDV (XKE MACRO GENERATOR)

F8

GENCOM

IFNX3A

MDVSTRT

PTR 'IO START OF MDV (SYMBOL RESOLUTION
PREPROCESSOR)

F8

GENCOM

IFNX3B

MDVSTRT

PTR 'IO START OF MDV (GENERATE PHASE
DICI'IONARY ROUTINES)

F8,12

GENCOM

IFNX3N

MEND

ENTRY POINT -

EDIT PHASE

3

IFNX1AOO

IFNX1A

MERGE

ENTRY POINT -

POST PROCESSOR PHASE

26

IFNX6AOO

IFNX6A

METASCAN

ENTRY POINT -

EDIT PHASE

7

IFNX1A10

IFNX1A

MNOTEO

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'MNOTE' STAT EM EN)

24

IFNX5AOO

IFNXSA

MNOTEO

CHECK IF OPERAND PRESENT (ASSEMBLER OPCODE
PROCESSOR - ASSmBLY PHASE - 'MNOTE' S'IA'IEMEN

24

IFNX5AOO

IFNXSA

6

IFNX1JOO

IFNX1J

MSCANA

(DICTIONARY

(EDIT PHASE DICTIONARY ROUTINES)

MSCANA

SEE IF PRGMR MACRO PROTOTYPE (EDIT PHASE
DICI'IONARY ROUTINES)

6

IFNX1JOO

IFNX1J

MSETA

ENTRY POINT

~

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

MSETB

ENTRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

MSETC

ENTRY POINT -

XKE MACRO GENERATOR

13

IFNX3AOO

IFNX3A

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOU'I.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN '!'HE ME'IHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN 'IHE PROGRAM ORGANIZATION SECTION.

Directory

181

SY~BOLIC

NAME
NEOFRTN

DESCRIPI' ION: NAME AND USE
(EDIT PHASE)

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

6

IFNX1A30

IFNX1A

NEOFRTN

RESTORE EOF SWITCH (EDIT PHASE)

6

IFNX1A30

IFNX1A

NEXTPARM

ENTRY POINT -

EDIT PHASE

3

IFNX1A20

IFNX1A

NEXT PM

ENTRY POINT -

EDIT PHASE

3

IFNX1 A20

IFNX1 A

OPENEND

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

6

IFNX1JOO

IFNX1J

OPENENT

ENTRY POINT ROUTINES·

EDIT PHASE DICTIONARY

3

IFNX1JOO

IFNX1J

OPERCODE

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3

IFNX1JOO

IFNX1J

*OPNTRY

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

OPNTRY

IFNX1J

*OPNTRY

DSECT NAME XKE MACRO GENERATOR

OPNTRY

IFNX3A

OPSNSTRT

Pl'R TO START OF OPSYN TABLE (XKE MACRO
GENERATOR)

F8

GENCOM

IFNX3A

OPSNSTRT

PTR TO START OF OPSYN TABLE (SYMBOL
RESOLUTION PREPROCESSOR)

F8

GENCOM

IFNX3B

OPSNSTRT

PTR TO START OF OPSYN TABLE
DICTIONARY ROUTINES)

F8

GENCOM

IFNX3N

DSECT NAME DICTIONARY INTERLUDE PHASE

8

OPSTBL

IFNX2A

OPSYN

ENTRY POINT -

EDIT PHASE

3,4

IFNX1AOO

IFNX1A

OPSYNBLD

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

4

IFNX1JOO

IFNX1J

OPSYNBLD

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

8

IFNX2A02

IFNX2A

*OPSTBL

(GENERATE PHASE

*OPSYNTRY

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

3,4,4

OPSYNTRY

IFNX1J

*OPSYNTRY

DSECT NAME DICTIONARY INTERLUDE PHASE

8

OPSYNTRY

IFNX2A

* OPSYNrRY

DS ECI' NAME XKE MACRO GENERATOR

OPSYNTRY

IFNX3A

ORDREF

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

8,9

IFNX2AOO

IFNX2A

ORDSYMBR

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3,5

IFNX1JOO

IFNX1J

ORDSYMBR

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

8,9

IFNX2A02

IFNX2A

ORDSYMBR

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3NOO

IFNX3N

ORG100

GET SYMBOL DEFINITION POINTER (ASSEMBLER
OPCODE PROCESSOR - ASSEMBLY PHASE - 'ORG' STA

25

IFNX5AOO

IFNX5A

DSECI' NAME EDIT PHASE DICTIONARY ROUTINES

5

OSDI R

IFNX1 J

9

IFNX2A02

IFNX2A

DSECT NAME DICTIONARY INTERLUDE PHASE

8

OSRDNTRY

IFNX2A

OSRDSTRT

Pl'R TO STAR,:!;, OF ORD SYMB REF DT (EDIT PHASE)

F4

EDSECT

IFNX1A

OSRDSTRT

PTR TO START OF ORO SYMB REF DT (EDIT PHAS E
DICTIONARY ROUTINES)

F4

EDSECT

IFNX1J

*OSDIR
OSLUKUP
*OSRDNTRY

CHECK FOR END OF CHAIN
INTERLUDE PHASE)

~ICTIONARY

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE METHODS OF OPERATIONS SECTION.
• F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN 'THE PROGRAM ORGANI ZATION SECTION.

182

SYMBOLIC
NAME

CESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

OSRDSTRT

PTR TO START OF ORD SYMB REF DT
(CONDITIONAL ASSEMBLY POSTFIX ROUTIN~

F4

EDSECT

IFNX1S

OSRDSTRT

PTR TO START OF ORO SYMB REF DI
INTERLUDE PHASE)

F6

I NTRCOM

IFNX2A

OSRDSTRT

PTR TO START OF ORD SYMB REF DT (XKE MACRO
GENERATOR)

Fa,13

GENCOM

IFNX3A

OSRDSTRT

PTR TO START OF ORD SYMB REF DT
RESOLUTION PREPROCESSOR)

Fa

GENCOM

IFNX3B

OSRDSTRT

PTR TO START OF ORD SYMB REF DT (GENERATE
PHASE DICl'IONARY ROUTINES)

Fa

GENCOM

IFNX3N

*OSREF

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

QSREF

IFNX1J

*OSREF

DSECT NAME DICTIONARY INTERLUDE PHASE

OSREF

IFNX2A

INI'RCOM

IFNX2A

OSRTNTRY

IFNX2A

OSRTEND
*OSRTNTRY

(DICTIONARY

(SYMBOL

PTR TO CURRENT END OF ORD SYMB (DICTIONARY
INTERLUDE PHASE)

F5

DSECT NAME DICTIONARY INTERLUDE PHASE

OSRTSTRT

PTR TO START OF ORD SYMB REF TB (DICTIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

OUTPUTS

HI LO COMPARE

26

IFNX6AOO

IFNX6A

(pOST PROCESSOR PHASE)

*p

CSECl' NAME ASSEl1BLER INITILIZATION - DCBD
MACRO

P

lFOXOC

*p

CS ECl' NAME INPUT I/O MODULE - DDNAME
OVERRIDE LIST

P

IFOXOF

*p

DS ECl' NAME OUTPUT I/O MODULE - PRINT IMAGE,
PUNCH IMAGE AND DDNAME OVERRI

P

IFOXOH

*p

DSECT NAME ABORT ROUTINE - DDNAME OVERRIDE
DSECl'

P

IFOXOI

11

IFNX3NOO

IFNX3N

PHASENTR

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

PKON

CLEAR CHARACTER REGISTER ~SSEMBLY PHASE
- DC EVALUATION - PROCESS P-TYPE CONSTANTS)

23

IFNX5DOO

IFNX5D

POP100

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'POP' STATEMENT)

24

IFNX5AOO

IFNX5A

POP100

DOES POP HAVE AN OPERAND (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'POP' STATEMENT)

24

IFNX5AOO

IFNX5A

PPIN

IFNX5M

*PPIN

CSECT NAME MACHINE INSTRUCTION PROCESSOR

*PPIN

DSECl' NAME POST PROCESSOR PHASE

26

FPIN

IFNX6A

PRINTSW

(ASSEMBLY PHASE - MAINLINE CONTROL - X5COM
COpy CODE)

21

X5COM

IFNX5C

PR INTSW

PRINT STATEMENT (ASSEMBLY PHASE - MAINLINE
CONI'ROL - X5COM COpy CODE)

21

X5COM

IFNX5C

PRINTSW

PRINT STATEMENT (DC FIXED-FLOATING POINT
CONVERS ION)

21

X5COM

IFNX5F

21

X5COM

IFNX5F

PRINTSW

(DC FIXED-FLOATING POINT CONVERSION)

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

Directory

183

SYMBOLIC
NAME

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

SAVE PRINT SWITCH (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'PRINT' STA'IEMEN

24

IFNX5AOO

IFNX5A

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

PRMNTRY

IFNX1J

PROTOEND

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11, 12

IFNX3NOO

IFNX3N

PROTOIN

ENTRY POINT -

EDIT PHASE

3

IFNX1A20

IFNX1A

PROTOKWD

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

11, 12

IFNX3NOO

IFNX3N

PUNCHO

GO PRINT PUNCH STATEl-1ENT (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'PUNCH' & 'REPRO

23

IFNX5AOO

IFNX5A

PUSHOO

ERROR NO OPERAND (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'PUSH' STATEMENT

24

IFNX5AOO

IFNX5A

PUSHOO

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'PUSH' STAT El-1ENT)
.

24

IFNX5AOO

IFNX5A

PUTOPSYN

SEE IF ANY TABLE TO PUT (DICTIONARY
INTERLUI:E PHASE)

8

IFNX2A02

IFNX2A

PVECTPTR

PTR TO CURRENT PARAM VECTOR (XKE MACRO
GENERATOR)

F8

GENCOM

IFNX3A

PVECTPTR

PTR TO CURRENT PARAM VECTOR (SYMBOL
RESOLUTION PREPROCESSOR)

F8

GENCOM

IFNX3B

PVECTPTR

PTR TO CURRENT PARAM VECTOR
I:ICTIONARY ROUTINES)

F8

GENCOM

IFNX3N

QCON

SAVE REGISTERS IN STACK (EXTERNAL SYMBOL
I:ICTIONARY SUBROUTINES)

17

IFNX4EOO

IFNX4E

QKON

SET TEXT POINTER
EVALUATION)

23

IFNX5DOO

IFNX5D

RCARD

IFNX6A

3

IFNX1A20

IFNX1A

PRINTO
*PRMNTRY

*RCARD

DESCRIPTION: NAME AND USE

~SSEMBLY

(GENERATE PHAS E

PHASE - DC

DSECT NAME POST PROCESSOR PHASE

RDSRC

ENTRY POINT -

READ NEXT

POINT TO RCSRC (EDIT PHASE)

3

IFNX1AOO

IFNX1A

REFER

SAVE REGISTERS IN STACK (EXTERNAL SYMBOL
CICTIONARY SUBROUTINES)

17,20,20

IFNX4EOO

IFNX4E

20,27

IFNX4MOO

IFNX4M

EDIT PHASE

REHASH

(SYMBOL RESOLUTION PHASE MAIN LINE CONTROL)

REPROO

LOAD INI:EX FOR REPRO CARD (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'PUNCH' & 'REPRO

23

IFNX5AOO

IFNX5A

RESOLVE

ENTRY POINT -

13

IFNX3A03

IFNX3A

XKE MACRO GENERATOR

*RLDIN

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - POST PROCESSOR RECORD DEFN

RLDIN

IFNXSC

*RLDIN

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

RLDIN

IFNX5V

RLOOUT

SAVE REGISTERS (ASSEMBLY PHASE - RLD OUTPUT
ROUTINE)

23

IFNX5A40

IFNX5A

RLDOUT

POINT TO CURRENT LEVEL (ASSEMBLY PHASE RL C OUT PUT ROUT IN E)

23

IFNX5A40

IFNX5A

RLOOUT

ALIAS FOR IFNX5A41
RLD OUTPUT ROUTINE

23

IFNX5A40

IFNX5A

ASSEMBLY PHASE -

*DATA AREA.
SEE DAT~ AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE 1-1ETHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN THE PROGRAM ORGANI ZATION SECTION.

184

SYMBOLIC
NAME

CESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

* RPRINI'

DSEeI' NAME POST PROCESSOR PHASE

RPRINT

IFNX6A

*RSYMRCD

DSECT NAME XKE MACRO GENERATOR

RSYMRCD

IFNX3A

*RSYMRCD

DSECT NAME ASSEMBLY PHASE - ERROR LOGGING
ROUTINE - RSYMRCD COpy CODE

RSYMRCD

IFNX5L

20

IFNX4MOO

IFNX4M

SEARCH

(SYMBOL RESOLUTION PHASE MAIN LINE CONTROL)

SEQDEF

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

10,8

IFNX2AOO

IFNX2A

SEQREF

ENTRY POINT -

DICTIONARY INTERLUDE PHASE

8

IFNX2AOO

IFNX2A

SEQSK

PI'R TO START OF SEQ ,SYM REF DIC (DICTIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

SEQSYMBD

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3,5

IFNX1JOO

IFNX1J

SEQSYMBR

ENTRY POINT ROUTINES

EDIT PHASE DICTIONARY

3,5

IFNX1JOO

IFNX1J

SEQSYMBR

ENTRY POINT ROUTINES

GENERATE PHASE DICTIONARY

13

IFNX3 NOO

IFNX3N

SKDCSTRT

PTR TO START OF SKEL DICT (DICTIONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

*SKDCTHDR

DSECT NAME DICTIONARY INTERLUDE PHASE

10,8

SKDCTHDR

IFNX2A

*SKDCTHDR

CSECT NAME GENERATE PHASE DICTIONARY
ROUTINES

SKDCTHDR

IFNX3N

SKON

TURN OFF SUB-FIELD FLAG (ASSEMBLY PHASE
- CC EVALUAT ION)

23

IFNX5DOO

IFNX5D

SORTPTR

SORT AREA POINTER (POST PROCESSOR PHASE)

F11

X6ACOMM

IFNX6A

SPACEO

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'SPACE' AND 'IDE)

24

IFNX5AOO

IFNX5A

SPACEO

GO SPACE 1 IF NO OPERAND ~SSEMBLER OPCODE
PROCESSOR ~ ASSEMBLY PHASE - 'SPACE' AND 'IDE

24

IFNX5AOO

IFNX5A

SPART

GO IF NO EXPLICIT BASE (MACHINE INSTRUCTION
PROCESSOR)

22

IFNX5MOO

IFNX5M

22

IFNX 5M 0 0

IFNX 5M

GET ZERO+GARBAGE+S PART ALLOC (MACHINE
INSTRU CT ION PROCESSOR)

22

IFNX5MOO

IFNX5M

*SSDEF

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

SSDEF

IFNX1J

*SSDEF

DSECT NAME DICTIONARY INTERLUDE PHASE

SSDEF

IFNX2A

*SSDIR

DSEeI' NAME EDIT PHASE DICTIONARY ROUTINES

5

SSDIR

IFNX1J

PTR TO CURRENT END OF SEQ SYMB (DIeI'IONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

DSECT NAME DICTIONARY INTERLUDE PHASE

10

SSDTNTR Y

IFNX2A

SSDTSTRT

PTR TO START OF SEQ SYMB DEF TB (DIeI'IONARY
INTERLUDE PHASE)

F5

INTRCOM

IFNX2A

SSHASHER

CLEAR WORK AREA FOR SEQ SYMB (DICTIONARY
INTERLUDE PHASE)

10

IFNX2AOO

IFNX2A

SPART
SPASGN

SSDTEND
*SSDTNTRY

(MACHINE INSTRUCTION PROCESSOR)

*DATA AREA. SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE METHODS OF OPERATIONS SECTION.
'F', FOLLOWED BY A NUMERAL, REFERS TO A FIGURE IN 'IHE PROGRAM ORGANI ZATION SECTION.

Directory

185

SYMBOLIC
NAME

DESCRIPTION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

SSRDSTRT

PI'R TO START OF SEQ SYMB REF DT (EDIT PHASE)

F4

EDSECT

IFNX1A

SSRDSTRT

PTR TO START OF SEQ SYMB REF DT (EDIT PHASE
DICTIONARY ROUTINES)

F4

EDSECT

IFNX1J

SSRDSTRT

PTR TO START OF SEQ SYMB REF DT
(CONDITIONAL ASSEMBLY POSTFIX ROUTINm

F4

EDSECT

IFNX1S

*SSREF

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

SSREF

IFNX1J

*SSREF

'CSECT NAME DICTIONARY INTERLUDE PHASE

SSREF

IFNX2A

STARTO

GET DATA POINTER (ASSEMBLER OPCODE
PROCESSOR- ASSEMBLY PHASE~ 'START, CSECT, 'CSE

25

IFNX5AOO

IFNX5A

STMTSEQ

ENTRY POINT -

3

IFNX1A10

IFNX1A

SUBSET

EXIT IF SUBSETTED THIS ROUND (SYMBOL TABLE
SU BROUT IN ES)

20,27

IFNX4S00

IFNX4S

SUMCST

GET CURRENT AND HIGH ADDRESS (EXTERNAL
SYMBOL DICTIONARY SUBROUTINES)

18

IFNX4EOO

IFNX4E

SUMDSD

CHANGE TYPE (EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES)

18

IFNX4EOO

IFNX4E

SUMESD

PUSH DOWN ONE MORE LEVEL (EXTERNAL SYMBOL
DICTIONARY SUBROUTINES)

18

IFNX4EOO

IFNX4E

SUMGET

PASS (EXTERNAL SYMBOL DICTIONARY
SU BROUT IN ES)

18

IFNX4EOO

IFNX4E

SYM

POINT TO NEXT CHARACTER (EXPRESSION
EVALUATION SUBROUTINE)

22

IFNX5VOO

IFNX5V

SYMBL

GET COUNT (SYMBOL RESOLUTION PHASE MAIN
LINE CONTROL)

19,20,27

IFNX4MOO

IFNX4M

~fMBOL

PARAMETER (SYMBOL RESOLUTION PHASE MAIN
LI NE CONTROL)

17

IFNX4MOO

IFNX4M

SYMDINEN

SYMBOL TABLE POINTERS (SYMBOL RESOLUTION
PHASE DC/I:S EVALUATION)

F9

DSECT7

IFNX4D

SYMDIMEN

SYMBOL TABLE POI NTERS (EXTERNAL SYMBOL
DICTIONARY SUBROUTINES)

F9

DSECT7

IFNX4E

SYMDIMEN

SYMBOL TABLE POINTERS (SYMBOL RESOLUTION
PHASE MAIN LINE CONTROL)

F9

DSECT7

IFNX4Z1

SYMDIMEN

SYMBOL TABLE POINTERS
SU EROUT IN ES)

F9

DSECT7

IFNX4S

SYMDIMEN

SYMBOL TABLE POINTERS (EXPRESSION
Ell ALU AT ION SU BROUT IN E)

F9

DSECT7

IFNX4V

TBLOPS

ENTRY POINT -

3

IFNX1AOO

IFNX 1A

TEXTGET

GET NUMBER OF SYMBOL XREFED (ASSEMBLY PHASE
- MAINLINE CONTROL - TEXT RECORD GET ROUTINE)

21

IFNX5COO

IFNX5C

TITLEO

GO SQUEEZE OUT QUOTE AND AMPSND (ASSEMBLER
OPCODE PROCESSOR - ASSEMBLY PHASE - 'TITLE' S

24

IFNX5AOO

IFNX5A

TRANSFER

ADDRESS OF OUTPUT FILE (SYMBOL RESOLUTION
PHASE MAIN LINE CONTROL)

20,27

IFNX4MOO

IFNX4M

EDIT PHASE

(SYMBOL TABLE

EDIT PHASE

*DATA AREA.
SEE DATA AREA SECTION FOR DETAILED LAYOUT.
**EXPLANATION OF PLM NUMBERED REFERENCES:
A SINGLE NUMERAL REFERS TO A HIPO DIAGRAM IN THE METHODS OF OPERATIONS SECTION.
, F', FOLLCMED BY A NUMERAL, REFERS TO A FIGURE IN THE PR(X;RAM ORGANIZATION SECTION.

186

SYMBOLIC
NAME

I)ESCRIPl'ION: NAME AND USE

PLM
REF**

CSECT/
DSECT

MODULE/
MCROFCH

*UDSECT

DSECT NAME ASSEMBLY PHASE - MAl NLINE
CONTROL - X5COM COpy CODE

UDSECT

IFNX5C

*UDSECT

DSECT NAME DC FIXED-FLOATING POINT
CONVERSION

UDSECT

IFNX5F

*UDSECT

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

UDSECT

IFNX5V

USINGO

OPERAND PRESENT? (ASSEMBLER OPCODE
PROCESSOR - ASSEMBLY PHASE - 'USING' STATEMEN

24

IFNX5AOO

IFNX5A

USINGO

(ASSEMBLER OPCODE PROCESSOR - ASSEMBLY
PHASE - 'US lNG' STAT EM EN)

24

IFNX5AOO

IFNX5A

VARSYM

MAKE RECURSION STACK ENTRY (EDIT PHASE)

3

IFNX1A10

IFNX1A

VCON

SAVE REGISTERS IN STACK (EXTERNAL SYMBOL
DICTIONARY SUBROUTINES)

17

IFNX4EOO

IFNX4E

VKON

SET TEXT POINTER (ASSEMBLY PHASE - DC
EVALUATION)

23

IFNX5DOO

IFNX5D

*VSDENTRY

DSECT NAME EDIT PHASE DICTIONARY ROUTINES

5

VSDENTRY

IFNX1J

VSDSTRT

Pl'R TO START OF VARB SYMB DIR (EDIT PHASE)

F4

EDSECT

IFNX1A

VSDSTRT

PTR TO START OF VARB SYMB DIR (EDIT PHME
DICTIONARY ROUTINES)

F4

EDSECT

IFNX1J

VSDS'IRT

PTR TO START OF VARB SYMB DIR (CONDITIONAL
MSEMBLY POSTFIX ROUTINE)

F4

EDSECT

IFNX1S

VSLOOKUP

EN'IRY POINT ROUTINES

EDIT PHASE DICTIONARY

5

IFNX1JOO

IFNX1J

WRAPFLD

EN'IRY POINT -

EDI T PHASE

3

IFNX1AOO

IFNX1A

WRITE

DEFINE EXIT (SYMBOL RESOLUTION PHME MAIN
LINE CONTROL)

17

IFNX4MOO

IFNX4M

XKON

CLEAR CHARACTER REGISTER (ASSEMBLY -PHASE
- DC EVALUATION - PROCESS X-TYPE CONSTANTS)

23

IFNX5DOO

IFNX5D

XREF

SAVE REGISTERS (ASSEMBLY PHASE - XREF
OUTPUT ROUTINE)

23

IFNX5A50

IFNX5A

XREF

ALIAS FOR IFNX5A51
XREF OUTPUT ROUTINE

ASSEMBLY PHME -

23

IFNX5A50

IFNX5A

XREF

POINT TO CURRENT LEVEL (ASSEMBLY PHME XREF OUTPUT ROUTINE)

23

IFNX5A50

IFNX5A

*XRFIN

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - POST PROCESSOR RECORD DEFN

XRFIN

IFNX5C

*XRFIN

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

XRFIN

IFNX5V

*X5COM

DSECT NAME ASSEMBLY PHASE - MAINLINE
CONTROL - X500M COpy CODE

X5COM

IFNXSC

*X5COM

DSECT NAME DC FIXED-FLOATING POINT
CONVERSION

X5COM

IFNX5F

*X5COM

DSECT NAME EXPRESSION EVALUATION SUBROUTINE

X5COM

IFNX5V

EN'IRY POINT - ASSEMBLY PHASE - MAINLINE
CONTROL - X5COM COpy CODE

X5COM

IFNX5C

X5COMEND

Directory

187

This page

188

intenti~nally

left blank

Diagnostic Aids
This section contains information
designed to be helpful in debugging.

Diagnostic Aids

189

Eyecatchers: Object Module and Control Section (CSECT) Identifiers
OBJECT MODULE IDENTIFIER
In a dump, object module identifiers are located at the beginning of
each assembler object module. The identifier consists of two items:
•

the object module name

o

a halfword hexadecimal change level identifier

The following is an example of an object module identifier:

---C9C6D5E7F5C10001

IFNX5A HEX0001

CONTROL SECTION (CSECT) IDENTIFIER
In a dump, CSECT identifiers are located at the end of each assembler
CSECT. The CSECT identifier immediately precedes-the patch area for
the CSECT. The identifier consists of three items, separated by blanks:
o

the CSECT name

o

the time at which the CSECT was assembled

o

the date on which the CSECT was assembled

An example of CSECT identifier is given below:
C9C6D5E7F5C1FOF040F1F44BF2F340FOF74BF2F34BF7F2

-------blank

IFNX5AOO blank 14.23
(CSECT name)
(time)

190

07.23.72
(date)

+

beginning of
CSECT patch
area

Data Set Activity Summary
The following tables show the I/O activity of the assembler phases. The
tables cross-reference the type of I/O request to (1) the data set the
request is for and (2) the routine which issued the request.
In some cases, a second routine is given in the phase or module in
parentheses. This indicates that this routine is called by the first
routine listed.

EDIT PHASE (MODULE IFNX1A)
DATA SET
I/O ACTION

READ SOURCE
(JINPUT)
LOCATE OIP
BUFFER
(JPUTL)

System Input

RDSRC
(JINLIB SWITCH OFF)

---

System Library

File 1

RDSRC
(JINLIB SWITCH ON)

---

--OPUTL

FIND
(JFIND)

---

COPY
ESYSMAC

---

NOTE
(NOTELB)

---

CSTKENT

---

POINT
(JPOINTLB)

---

CSTKEXT

---

TRUNCATE
(JTRUNC)

---

---

PHSEND

Diagnostic Aids

191

EDIT PHASE (MODULE-I FNXl J)
DATA SET
I/O ACTION

File 1

File 2

File 3

PUT (Locate)

----

VARBSYMD
SEQSYMBR
SEQSYMBD
COMNEND

PHASEND
ORDSYMBD

WRITE

----

----

PHASEND
(BUFRITE)

CHECK

----

----

PHASEND
(BUFRITE)

NOTE

MACRENT
SEQSYMBD

GETNPF2

PHASEND
(BUFRITE)

POINT

----

PHASEND

----

TRUNCate

----

PHASEND

PHASEND

PUT(Move)

----

----

192

ORDSYMBD

DICTIONARY INTERLUDE PHASE (MODULE IFNX2A)
DATA SET
I/O ACTION

File 1

File 2

File 3

GET (Locate)

----

GETNXT

ORDSYMBR

READ

----

----

INTRENTR*

WRITE

ENDSEGB*
ERLOGER*
INTREXIT*

INITOSR*
OSRDFINI*
OPSYNBLD*

CHECK

ENDSEGB*
ERLOGER*
INTREXIT*

INITOSR*
OSRDFINI*
OPSYNBLD*

NOTE

ENDSEGB*
ERLOGER*
INTREXIT*

INITOSR*
OSRDFINI*
OPSYNBLD*

POINT

INITOSR

RESCAN
INITOSR

----

INTRENTR*

---INTRENTR
OPSYNBLD

* (BUFRITE)

Diagnostic Aids

193

GENERATE PHASE (MODULE IFNX3A)

DATA SET
I/O ACTION

File 1

File 2

File 3

GET (Locate)

MINPUT
MCALLEND

----

----

POINT

MEXIT10

----

MEXIT 10

PUT (Locate)

----

FEVAL25
ERRDUMP
PRINT90

----

PUT (Move)

----

TRUNC(ate)

----

MEXITlO
MINPUTl2
DMYENDRT
MCALLEND
MEXITlO

----

----

GENERATE PHASE (MODULE IFNX3B)

DATA SET
I/O ACTION

File 1

File 2

File 3

PUT (Locate)

----

----

IFNX3B

PUT (Move)

----

----

IFNX3B

194

GENERATE PHASE (MODULE IFNX3N)

DATA SET
I/O ACTION

File 1

File 2

READ

DCFETCH*
PHASENTR*

PHASENTR*

GET (Locate)

PROTOEND

PUT (Move)

----

CHECK

PHASENTR*
DCTFETCH*

NOTE

CALLEND
PROTOEND

POINT

PHASENTR
MACRFINI
CALLEND
PROTOEND
SEQSYMBR
DCTFETCH

File 3

-------

---PHASENTR

----

PHASENTR*

------;-

----

,.

PHASENTR

----

*(BUFREAD)

Diagnostic Aids

195

SYMBOL RESOLUTION Pj-lASE (ALL MODULES)

DATA SET
I/O ACTION

File 1

File 2

File 3

GET (Locate)

GETNEXT

----

GETNEXT

PUT (Move)

TRANSFER

----

TRANSFER

----

READ

----

GETESD
GETLAT

WRITE

----

GETESD
GETLAT

----

CHECK

----

GETESD
GETLAT

----

NOTE

GETREF

GETI:SD
GETLAT

GETREF

POINT

ENDOFILE
GETREF

ENDOFI LE
GETESD

ENDOFI LE
GETREF

196

ASSEMBLY PHASE (MODULES IFNX5A, IFNX5C, IFNX5D, IFNX5M, IFNX5V)
DATA SET
I/O ACTION
GET (Locate)

File 2

JINFILE (File 1 or File 3)

EDITED TEXT

RESOLVED SYMBOL DATA

ASSEMBLY PHASE (MODULES IFNX5A, IFNX5L, IFNX5P, IFNX5V)
DATA SET
I/O ACTION

PUT (Locate)

JOUTFI LE*

SYSPRINT

SYSLINK

SYSPCH

ERROR
XREF
RLD

LISTING

PUNCH
REPRO
TXT

PUNCH
REPRO
TXT

* Opposite of JINFILE

Diagnostic Aids

197

POST-PROCESSOR PHASE (MODULE IFNX6A)

DATA SET
I/O ACTION

CURFLE

CURFLE2

CURFLE3

READ FROM
JINFILE
(JREAD)

BUFIN

----

----

CHECK
(JCHECK)

BUFIN
SPILL
READFLl

READFL2

JNCTE
(JINFI LE)

XGARDX

----

JPOINT

XGARDX
EEREC

XGARDX
EEREC

EEREC

JWRITE

PADDING
SPILL

----

WRITE

READ
(JREAD)

READFLl

198

READ FL2

EEREC
WRITE

----

----

Register Usage Tables

IFOXOA

DRIVER ROUTINES

Register

Register Usage

o

Work Register

1
2
3
4

5
6
7
8
9
10
11
12
13
14
15

n

..

..

..

n

II

Not Used
Pointer to Phase Name
Address of Load Routine
Address of relete Routine
Base fer IFOXOA
Return Linkage
Work Register
..

n

Target Linkage
Common Ease
Work Register
..

II

Diagnostic Aids' 199

IFOXOB
Register

o
1
2

3
4

5
6
7
8
9

10
11
12
13
14
15

WORKFILE I/O AND STORAGE MANAGEMENT ROUTINES
Register U7age
Not Used
Work Register
n

"

Pointer to Physical Buffer
Work Register
Pointer to Logical Record
Not Used
Pointer to JFLEBLK
Buffer Address
Return Linkage
Work Register
II

II

Ease for IFCXOB
Common Ease
Return Linkage
Work Register

Deviations - PUTM Routine
Register
3

Register Usage
From Address

Deviations - GETCORE Routine
Register
3

200

Register Usage
Work Register

IFOXOD
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

MASTER COMMON AREA INITIALIZATION ROUTINES
Register Usage
Work Register
Parm Field Pointer
Work Register
Pointer to Cefault Options
Work Register
Parm Field Pointer
Remaining Length of Parm Field
Work Register
Base for IFOXOD
Return Linkage
Work Register
Input Pointer
Target Linkage
Common Ease
Work Register
Work Register

Diagnostic Aids

201

IFOXOF

INPUT ROUTINES

Register

Register Usage

o

Work Register
CCE Pointer
DD Name Pointer
Work Register

1
2

3
4

n

II

5
6
7

n

n

II

II

Base for Input Common

__________________~8~________~W~o=r~k~R~egJster~--------------------------------------________________
9
Return Linkage
10
Work Register
11
Pointer to Logical Record
12
Base for IFOXOF
13
Common Ease
14
Work Register
15
II
n

Deviations - FINt Routine
Register
10
Deviations Register
10

Register Usage
Points to Member Name
POIN~LB

Routine

Register Usage
Points to Note/point Value

Deviations - tCE EXIT Routine
Register
10

Register Usage
Base Register

Deviations - ININIT Routine
Register
11

202

Register Usage
Parm Field Pointer

IFOXOH
Register

o

1
2
3
4

5
6
7

8
9
10
11
12
13
14
15

OU'IPUT ROUTINES
Register Usage
Work Register
DCB Pointer
1:1:name Pointer
Open Parm List SYSPUNCH
"
n
n
SYSGO
Close Parm List SYSPUNCH
"
n
n
SYSGO
Output Common
Level Pointer for Saved Registers
Return Linkage
Addr of SYSPRINT DeB Exit
Parm Field Pointer
Ease for IFOXOH
Common Base
Work Register

"

"

Deviations - PRINT, PUNCH, TSO PRINT Routines
Register
1
2

11

Register Usage
Out~ut Record Pointer
Work Register
Buffer Address

Deviations - DCB EXIT Routine
Register
3
4
5
11
15

Register Usage
Work Register
n

n

n

n

Address of SYSPUNCH and SYSGO DCB Exit
Ease for Exit Routine

Diagnostic Aids

203

IFOXOI

ABORT ROUTINE

Register

Register Usage

o

Work Register

1

II

n

2

"

n

3
4

Not Used

..

"

5
DDname Pointer
6
Work Register
________________~7________~Inp~~--Qr--O-u~p~~Q~n~P~QLJU·n~tLte~r______________________________________
8
Base for IFOXOI
9
Return Linkage
10
Contains Error Code
11
Parm Field Pointer
12
Target Linkage
13
Common Ease
14
Not Used
15
Work Register

204

IFNX1A
Register

o
1
2
3
4
5
6
7

8
9

10
11
12
13
14
15

EDIT PHASE (MAINLINE)
R~qister

Usage

Work Register
Work RegisterjReturn Linkage
Base for Phase Common
Return Linkage
Pointer to ~osition in variable part of Edit Record
Ease for Edit Record Header
Pointer to position in Source Record (Input)
IFNX1A10
Base for
IFNX1A20
IFNX1A30
Base for IFNX1AOO
Return Linkage
Pass symbol pointers to and from IFNX1J
Pass symbol pointers to and from IFNX1J
Target Linkage
Ease for Common
Work Register
Work Register

Deviations - METASCAN Routine
Register
3
5
9

12
14

Register Usage
Exit Code
Mtable Index
Return Linkage
Pointer to current entry in Mtable
Work Register

Deviations - RDSRC Routine
Register
3
4
5

9

10
11
12
13

Register Usage
Source data move length
Source begin column
Source continue character column
Return Linkage
Sequence field begin
Source record pointer
Sequence field length
INPTR Pointer
Continue field begin column
Source record end
string count
card
n

Diagnostic Aids

205

Deviations - TRTEST Routine
Register
1
2

3
10
11

12
15

206

Register Usage
Terminating character addr (at exit)
Work Register
Catagcry number (at exit)
Search type (at entry) ~ype Nurober (at exit)
Work Register
Translate table pointer
String move length (At Exit)

IFNX1J
Register

EDIT DICTIONARY ROUTINES
R7gister Usage

o

Work Register

2
3
4

8
9
10
11

Ease for Phase Common
Symbol length register
Symbol pointer register
Variable Symbol Dictionary
Base for
Sequence Symbol Reference
Opcode tatle
Opsyn synonym
Base for Current Variable Symtol Directery entry
Opsyn Table entry
Base for Current Macro Definition Directory entry
Cpsyn synonym entry
Ease for IFNX1JOO
Return Link
Pass symcol pointers to and from IFNX1A
Pass symbol pointers to and from IFNX1A

12
13
14
15

Base
Base
Work
Work

1

5
6
7

n"

for IFNX1JOO at entry
fer Common
Register
Register

Diagnostic Aids

207

IFNX1S
Register

o
1
2

3
4

5
6
7
8

9
10
11
12
13
14
15

208

POSTFI~

Register Usage
Unused
Unused
Base for Phase Common
Pointer to last stack elerrent
Pointer to current position in Edit Record
Unused
Unused
Unused
Unused
Return linkage
Input O{:era tor
Unused
Base for IFNX1S00
Unused
Unused
Binding factor work register

(output)

IFNX2A
Register

o
1
2
3
4
5
6
7
8
9
10
1
12
13
14
15

DICTIONARY INTERLUCE
Register Usage
Work
Work
Base
Ease
Base

Register
Register
fer phase Common
for current macro definition entry
for
Skeleton Dictionary
Ordinary Symbol Attribute Reference Dictionary
Branch lable Base
Ordinary Symbol Attribute Reference lable
Base fer
Sequence Symbol Definition Table start
Global Cefinition Directery
Pointer to
Sequence Symbol Definition table entry
Operand teing scanned
Base fer IFNX2AOO
Return link
Work Register
Work Register
Base for IFNX2AOO at entry
Symbol length register
Base fer Common
Work Register
Work Register

Diagnostic Aids

209

IFNX3A

GENERA~E

PHASE

(~AINLINE)

Register Usage

o
1
2
3
4
5
6
7
8
9

10
11
12
13
14
15

Work Register
Work Register
Work Register
Work Register
Pointer to Output Field
Input Text Record
Pointer to input field
Ease for Generate coromon
Base Register
Return linkage
Work Register
Output text record
Target Linkage
Ease for Common
Work Register
Work Register

Deviations - RESOLVE Routine
Register
10
14

Register Usage
Pointer to term
Pointer to parameter entry

Deviations - EVAL Routine
Register
5
6

Register Usage
Pointer to stack
Meta text pointer

Deviations - GEN9TRNG Routine
Register
4

6
10

11

210

Register Usage
Pointer to length field
of current string
Meta text pointer
Next availatle output
position
Next Meta flag

IFNX3B
Resister

o

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

GENERATE PHASE (SYMBOL RESOLUTION PREPROCESSOR)
Register Usage
Work Register
Work Register
Work Register
Work Register, Operand pointer
Points to beginning of operand
Points to input text record
Work Register
Ease for GENCOM
Base for IFNX3B
Return Linkage
Work Register
Output record pointer
Target linkage
Ease for Common
Not Used
Not Used

Diagnostic Aids

211

IFNX3N
Register

o
1
2

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

GENERAT..E PHASE

DICTIONARY ROU'IINES

Register Usage
Work Register
Work R.egister
Pointer to next Allocation Address
Pointer to Error Record
Not Used
Maximum Record Length for File
File Pointer
Ease for Generate Coremon
Base for IFNX3N
Return Linkage
Work Register
Work Register
Target Linkage
Base for Common
Work Register
Work Register

Deviations - MACRCALL Routine
Register
2

7
8
10
11

Register Usage
Pointer to MtVENTRY
Base for Generate Common
Ease for IFNX3N
Meta text pointer
Return Code

Deviations - MACRPOST Routine
Register

o
1
2
3
4
5
6
7
8
10
11

12
13
14
15

212

Register Usage
Work Register
Work Register
Pointer to next parameter table entry
Pointer to parameter vector entry
Overlay check pointer
Parameter value length
Pointer to parameter record header
Ease for generate common
Base for IFNX3N
Pointer to parameter record
Pointer to Parameter Value
Length and Value
Target linkage
Ease for Common
Work Register
Work Register

Deviations - MACRKWRD Routine
Register Usage
2

3
4
5
6

Pointer
Pointer
Overlay
Keyword
Operand

to parameter table entry
to ~arameter vector entry
check pointer
value length
Pointer

Deviations - PROTOKW[ Routine
Register
1
2
3
4
7
8
9
10

11
12
13
14
15

Deviations -

Register Usage
Work Register
Pointer to keyword in pararreter table
Keyword length
Chain Pointer
Base for Generate Common
Base for IFOX3N
Return Linkage
Pointer to parameter record
Pointer to ~arameter value length and value
Target linkage
Base for Common
Work Register
Work Register
PRO~OEND

Routine

Register Usage

o
1

2
10
14
15

Work Register
Work Register
Chain pointer
Skeleton dictionary pointer
Pointer to MDV entry
Work Register
Work Register

Deviations - GELtICTR/S, LCLCICTR/S Routines
Register
1
3
10
11
14
15

Register Usage
Work Register
Dictionary ~ointer
Meta text pointer
Value of value pointer
Work Register
Work Register

Diagnostic Aids

213

Deviations Register
1

2
10
11

14

PARM~ELR

Routine

Register Usage
Work Register
Parameter vector
Meta text pointer
Parameter table entry
Work Register

Deviations - SEQSYMBR Routine
Register
2
10
11

Register Usage
Sequence symbol
Meta text pointer
Pointer to note/point address

Deviations - ORtSYMER Routine
Register
10
11

214

Register Usage
Meta text pointer
Pointer to entry in
ordinary symbol reference dictionary

IFNX4D
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

SYMBOL RESOLU'IION PHASE (DC/OS EVALUATION ROUTINES)
Reg~~r

Usage

Work Register
Work Register
Work Register
Return linkage
Text record pointer
Operand pointer
ESD entry pointer
Common base for phase
IFNX4D base
Return linkage
Work Register
Work Register
Target linkage
Common Ease
Pointer to symbol table entry
Work Register

Diagnostic Aids

215

IFNX4E

Register

o
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15

SYMBOL RESOLUTION

(ESL ROUTINES)

Register Usage
Work Register

"

"

n

n

"

"

n

"

Text record pointer
Work Register
Phase Common Ease
INFX4E Ease
Return linkage
Input and output pointer
Work Register
Target Linkage
Common Base
Symbol tacle entry pointer
Work Register

Deviations - GETESD Routine
Register
4

Register Usage
Note list pointer

Deviations - MAKESr Routine
Register
6
14

216

Register Usage
ESD entry pointer
Work Register

IFNX4M

SYMEOL RESOLUTION

Register

Register Usage

o

Work register

1

II

2

II

II

3
4
5
6
7
8
9
10
11

II

II

12
13
14
15

(MAINLINE)

II

Input record pointer
Operand pointer
ESt entry pointer
Phase common base
IFNX4M
Return Linkage
Work Register
II

II

Target linkage
Common Ease
Work Register
n

II

Diagnostic Aids

217

IFNX4S

SYMBOL RESOLU'IION (SYMBOL TABLE ROUTINES)

Register

Register Usage

o

Work Register
Return Linkage
Work Register

1
.2
3
4
5

6
7
8
9
10
11
12
13

14
15

218

..

II

n

n

n

n

Not used
Symbol Resolution Common Base
Base for IFNX4S
Return linkage
Work Register
n

..

Target linkage
Corerr:on Base
Symbol tacle entry pointer
Work Register

IFNX4V

Register

o
1
2
3
4
5

6
7
8
9
10
11
12

13
14
15

SYMBOL

RESOLU~ION

(EXPRESSION

EVALUA~ION)

Register Usage
Work Register
Work Register
Term stack pointer
Relocation list pointer
Operator stack pointer
Expression ~ointer
Pointer to ESC entry
Symbol Resolution Common Base
Ease for IFNX4S
Return linkage
ESCIC of expression
Value cf ex~ression
Target linkage
Base for Common
Work Register
Work Register

Diagnostic Aids

219

IFNX5A
Register

o
1
2
3
4
5
6
7
8
9

10
11
12
13
14
15

220

ASSEMBLER OPCODE PROCESSOR
Register Usage
Not Used
Work Register
Work Register
Base Register for over 4K USING
Variable text pointer
Fixed test ~ointer
Return register for BAL
Base register for Phase Common Area
Base register for first 4K USING
Return register for BALR
Print index, File index
Resolved symbol data pointer,
RLC and XREF record pointer
Branch register BALR
Base register for Common
Work o~erand pointer
Work Register

IFNX5C
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

ASSEMBLER INITIALIZATION
Register Usage
Not Used
Work Register
Work Register
Not Used
Variable text pointer, symbol data
record base register
Fixed text ~ointer
Return register in BAL
Phase Common Base Register
IFNX51 Mainline Base Register
Return Register
File index
Symbol data record base, XREF record base
Branch register EALR
Base register for Common
Work Register
Work Register

Diagnostic Aids

221

IFNX5D

Register

o

Register Usaqe
Work Register

1

II

II

2

n

n

3
4
5

6
7
8
9
10
11
12
13
14
15

222

DC EVALUATION ROUTINE

tC table pointer
Work Register
II

II

Operand J;ointer
Phase Common Base
Ease Register for routine
Return register for BALR
EStlt of evaluated expression
Value cf evaluated expression, symbol record pointer
Eranch Register in BALR
Base Register for Common
Work Register
Save area pointer

IFNX5F
Register

o
1
2
3
4
5
6

7
8
9
10
11
12
13
14
15

FLOATING

POIN~

CONVERSION ROUTINE

Register Usage
Scale factor
Pointer to scan character
Pointer to array
Work Register
Working storage base
Address of last constant
Work Register
Phase common low limit scale
Phase common high limit scale
Low word of decimal
position of decimal point
End ~ointer
Exponent modifier
Base for Corr~on
Adjective exponent, Return Register
Binary result

Diagnostic Aids

223

IFNX5L
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

224

ERROR LOGGING ROUTINE
Register Usage
Work Register
Work Register
Work Register
Work Register
Not Used
Text record pointer'
Not Used
Ease for Phase' Common
Base Register
Return register BALR
File index
Ease for errQ~ record
Branch register BALR
Ease for Corrmon
Work Register
Work Register

IFNX5M

MACHINE OP PROCESSOR
~ster

o
1
2

3
4
5
6
7
8
9

10
11
12
13
14
15

Usage

Not Used

"

..

Work Register
Entry pointer
Value of expression
Fixed part pointer
EStIt of expression
Base fer Phase Common
Routine Base
Return register EALR
Variable text pointer, file index
XREF record base
Branch register for BALR
Ease for Common
Using fer extended opcodes
Using tatle pointer

Diagnostic Aids

225

IFNX5F
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

226

PRINT ROUTINE
Register Usage
Not Used
Work Register
Print buffer using, Funch butfer using
Work Register
Variable text part Using
Fixed text part Using
Return register BAL
Phase Common Ease
Return Register BALR
Subroutine Ease
Print index, File index
Work Register
Branch Register BALR
Common Ease
Field length
Work Register

IFNX5V
Register

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

EVALUATION ROUTINE
Register Usage
Not Used
Work Register
Term stack ·~ointer
Relocation list pointer
Operator stack pointer
Input character pointer (DSECTS)
XREF Using
Base Phase Common
Work Register
Branch Register BALR
File index, Work Register
Symbol definition record Using
Return Register BALR
Ease Common

14

15

Work Register

Diagnostic Aids

227

IFNX6A
Register

o
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

228

POSTPROCESSOR
Register Usage
End cf Buffer, string count file 1
String count file 2
Record ~ointer file 1
Record pointer file 2
Work Register
Work Register
Return Register BAL
Phase Common Ease
Subrcutine Base
Eranch register
File index
Euffer pointer
Return register
Common Ease
Work Register, RLD byte count
Work Register

IFNX6B
Register

o

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

DIAGNOSTIC PHASE
Register Usage
Work Register
Work Register
Message index
Message table pointer
Counting register
Return register EAL
Input pointer JGETL buffer
Ease for Phase Common
Base Register
Return Register EALR
File index, message length
Euffer pointer
Branch Register EAtR
Common Ease
Work Register
Work Register

D~agnostic

Aids

229

This page intentionally left blank

230

Appendixes
This section contains reference information about error message origin, macro
and copy code usage, metatext flags, internal operation codes, entry points and
EXTRN symbols, record formats, and the
internal character set.

Appendixes

231

Appendix A: Error Message/Module Cross-reference

ERROR MESSAGE NUMBER

ISSUING MODULE

IFOOOO
IFOOOl
IFOOO2
IFOOO3
IFOOO4
IFOOO5
IFOOO6
IFOOO7
IFOOO8
IFOOO9
IFOO1O
IFOOll
IFOO12
IFOO13
IFOO14
IFOO15
IFOO16
IFOO17
IFOO18
IFOO19
IFOO20
IFOO21
IFOO22
IFOO23
IFOO24
IFOO25
IFOO26
IFOO27
IFOO28
IFOO29
IFOO30
IFOO31
IFOO32
IFOO33
IFOO34
IFOO35
IFOO36
IFOO37
IFOO38
IFOO39
IFOO40
IFOO41
IFOO42
IFOO43
IFOO44
IFOO45
IFOO46
IFOO47
IFOO48
IFOO49
IFOO50
IFOO51
IFOO52
IFOO53
IFOO54
IFOO55

IFNX6B
IFNX1J
IFNX1J
IFNX1J
IFNX1J
IFNX1J
IFNX1J
IFNX1J
IFNX1J
IFNX1A, IFNX1J
IFNX1A, IFNX1J
IFNX1J
IFNX1A
IFNX1A
IFNX1A, IFNX1J

232

IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A, IFNX5D
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX1A

ERROR MESSAGE NUMBER
IF0056
IF0057
IF0058
IF0059
IF0060
IF006l
IF0062
IF0063
IF0064
IF0065
IF0066
IF0067
IF0068
IF0069
IF0070
IF007l
IF0072
IF0073
IF0074
IF0075
IF0076
IF0077
IF0078
IF0079
IF0080
IF008l
IF0082
IF0083
IF0084
IF0085
IF0086
IF0087
IF0088
IF0089
IF0090
IF009l
IF0092
IF0093
IF0094
IF0095
IF0096
IF0097
IF0098
IF0099
IF0100
IF010l
IF0102
IF0103
IF0104
IF0105
IF0106
IF0107
IF0108
IF0109
IFOllO
IFOlll
IFOl12
IFOl13
IFOl14
IFOl15
IFOl16
IFOl17

ISSUING MODULE

IFNX1A
IFNX1A
IFNX1A
IFNX1A, IFNX3A
IFNX1A
IFNX1A
IFNX2A
IFNX2A
IFNX2A
IFNX1A
IFNX1A
IFNX1A
IFNX1A
IFNX2A
IFNX2A
IFNX3A
IFNX2A
IFNX2A

IFNX3A
IFNX1A, IFNX3A
IFNX3A
IFNX3N
IFNX3A
IFNX3N
IFNX3N

IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
Appendix A:

Error Message/Module Cross-reference

233

ERROR MESSAGE NUMBER

ISSUING MODULE

IFOl18
IFOl19
IF0120
IF0121
IF0122
IF0123
IF0124
IF0125
IF0126
IF0127
IF0128
IF0129
IF0130
IF0131
IF0132
IF0133
IF0134
IF0135
IF0136
IF0137
IF0138
IF0139
IF0140
IF0141
IF0142
IF0143
IF0144
IF0145
IF0146
IF0147
IF0148
IF0149
IF0150
IF0151
IF0152
11"0153
I?0154
IF0155
IF0156
IF0157
IF0158
IF0159
IF0160
IF0161
IF0162
IF0163
IF0164
IF0165
IF0166
IF0167
IF0168
IF0169
IF0170
IF0171
IF0172
IF0173
IF0174
IF0175
IF0176
IF0177
IF0178
IF0179

IFNX3A

234

IFNX3A, IFNX5V
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3A
IFNX3N
I~NX3N

IFNX3N

IFNX5M
IFNX5M
IFNX5A
IFNX5A
IFNX5A,
IFNX5V
IFNX5V
IFNX5V
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A,
IFNX5A
IFNX5A,
IFNX5A,

IFNX5C, IFNX5M

IFNX5D
IFNX5D, IFNX5M
IFNX5D

ERROR MESSAGE NUMBER

ISSUING MODULE

IF0180
IF0181
IF0182
IF0183
IF0184
IF0185
IF0186
IF0187
IF0188
IF0189
IF0190
IF0191
IF0192
IF0193
IF0194
IF0195
IF0196
IF0197
IF0198
IF0199
IF0200
IF0201
IF0202
IF0203
IF0204
IF0205
IF0206
IF0207
IF0208
IF0209
IF02l0
IF02ll
IF0212
IF0213
IF0214
IF0215
IF02l6
IF0217
IF0218
IF0219
IF0220
IF0221
IF0222
IF0223
IF0224
IF0225
IF0226
IF0227
IF0228
IF0229
IF0230
IF0231
IF0232
IF0233
IF0234
IF0235
IF0236
IF0237
IF0238
IF0239
IF0240
IF0241

IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A,
IFNX5V
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A
IFNX5A,
IFNX5A
IFNX5D
IFNX5D
IFNX5D
IFNX5D
IFNX5D
IFNX5D
IFNX5A,
IFNX5D
IFNX5D
IFNX5D
IFNX5D,
IFNX5D,
IFNX5A,
IFNX5A,
IFNX5M
IFNX5A,
IFNX5M
IFNX5M
IFNX5A,
IFNX5A,
IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5D
IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5D,
IFNX5D,

IFNX5D, IFNX5V

IFNX5C

IFNX5D

IFNX5M
IFNX5M
IFNX5M
IFNX5M
IFNX5D, IFNX5M
IFNX5M
IFNX5M, IFNX5V

IFNX5M
IFNX5V

IFNX5V
IFNX5V
IFNX5V
IFNX5D, IFNX5V
IFNX5A
IFNX5V
IFNX5D
IFN"X5A, IFNX5V
IFNX5A

Appendix A:

Error Message/Module Cross-reference

235

ERROR MESSAGE NUMBER

ISSUING MODULE

IF0242
IF0243
IF0244
IF0245
IF0246
IF0247
IF0248
IF0249
IF0250
IF0251
IF0252
IF0253
IF0254
IF0255
IF0256
IF0257
IF0258
IF0259
IF0260
IF0261
IF0262
IF0263
IF0264
IF0265
IF0266
IF0267

IFNX5A
IFNX5A
IFNX5A

236

IFNX5A, IFNX5M

IFNX5A
IFNX5D
IFNX6B
IFNX6B
IFNX6B
IFNX6B
IFOXOD, IFOXOI
IFOXOC, IFOXOE, IFOXOG, IFOXOI
IFOXOB, IFOXOI
IFOXOI
IFNX6B
IFNX6B
IFOXOI
IFNX6B

Appendix B: Macro & Copy Code/Module
Cross-reference

Macrc Narre

Used in Object Modules

Cescription of Macro

CHECK

IFOXOB, IFOXOF

See OSjVS rata Management Macro
Instructions.

CLOSE

IFOXOA, IFOXOB, IFOXOC.
IFOXOE, IFOXOF, IFCXOG,
IFOXOH, IFOXOI

See OSjVS Data Management
Instructicns.

CON'IAINS

IFNX4D, IFNX4E, IFNX4M,
IFNX4N, IFNX4S, IFNX4T,
IFNX4V

Inner macro to ICOMMON used to
create external rcutine name
array

CON'IENTS

IFNX4E, IFNX4S

Generates a branch tatle to
rcutines in IFNX4E

DBV

IFNX1A,
IFNX2A,
IFNX3N,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSM,
IFNX6E

DCB

IFOXOC, IFOXOE, IFOXOG

See OSjVS Cata Management Macro
Instructions.

DCBD

IFOXOD, IFOXOF, IFOXOI,
IFOXOH

See OS/VS Data Management
Instructions.

DCDSWORK

IFNX4r, IFNX4N

Generates a work area for CC/CS
Evaluation Routine.

DELETE

IFOXOA, IFOXOI

See OSjVS Su~erviscr Services and
Macro Instructicns.

DEV'IYPE

IOFXOD, IOFXOI

See OSjVS Data Management for the
Systerr Programmer.

DSW

IFOXOA,
IFNX1S,
IFNX3E,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6E,

EVALWORK

IFNX4V, IFNXSA, IFNXSC,
IFNXS r , IFNXS F, IFNXSV

Generates an evaluation routine work
area in the conrrcn area of the
~hase which calls EVALWORK.

FINC

IFOXOF

See OS/VS Data Management
Instructions.

IFNX1J,
IFNX3A,
IFNX4r,
IFNX4N,
IFNX4V,
IFNXSr,
IFNXSP,

IFNX 1A,
IFNX2A,
IFNX3N,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSL,
IFNXSV,
IFNX6C

Appendix B:

IFNX1S,
IFNX3B,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSL,
IFNX5V,

IFNX 1J ,
IFNX3A,
IFNX4r,
IFNX4N,
IFNX4V,
IFNXSD,
IFNXSM,
IFNX6A,

~acro

refines byte values by using
equates and rs OX.

~acro

Cefines a switch byte and names
the bits in the tyte.

~acro

Macro & Copy Code/Module Cross-reference

237

Macro Name

Used in Otject Modules

Cescription cf

FREE~AIN

IFOXOA, IFOXOr, IFOXOF,
IFOXOI .

See OS/VS Superviscr Services and
Macro Instructions.

FREE FOOL

IFOXOF, IFOXOH, IFOXOI

See OS/VS Data
Instructions.

GENERR

IFNX6C

Generates error messages and a
branch table.

GENCP

IFNX1K, IFNX3K

Generates the twc cp cede table
modules according to the value of
the o~erands in the call. ~he macro
hashes the op codes ~nto the tatle
and prints the hash chains.

GENOPS

IFNX3A

Programmer macro.

GENTAB

IFNX6C

Prcgrarrmer rracrc.

GET

IFOXOF

See OS/VS Data
Instructions.

GET~AIN

IFOXOA, IFOXOr, IFOXOF

See OS/VS Superviscr Services and
Macro Instructicns.

GOlF

IFOXOA,
IFOXOF,
IFNX1A,
IFNX2A,
IFNX4r,
IFNX4N,
IFNX4V,
IFNXSr,
IFNXSM,
IFNX6A,

IFOXOB,
IFOXOH,
IFNX1J,
IFNX3A,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6E

IFOXOD,
IFCXOI,
IFNX1S,
IFNX3E,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSL,
IFNXSV,

Generates instructions to test a
given conditicn and tranch if the
condition is satisfied.

GOIF1

IFOXOA,
IFOXOF,
IFNX1A,
IFNX2A,
IFNX4r,
IFNX4N,
IFNX4V,
IFNXSr,
IFNXSM,
IFNX6A,

IFOXOB,
IFOXOH,
IFNX1J,
IFNX3A,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSE,
IFNXSP,
IFNX6E

IFOXOD,
lFOXOI,
IFNX1S,
IFNX3B,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSL,
IFNXSV,

Inner macro to GOlF. Generates
instructions if a switch is to be
tested.

GOIF3

IFOXOA,
IFOXOF,
IFNX1A,
IFNX2A,
IFNX4r,
IFNX4N,
IFNX4V,
IFNXSr,
IFNXSM,
IFNX6A,

IFOXOB,
IFOXOH,
IFNX1J,
IFNX3A,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6E

IFOXOD,
lFOXOI,
IFNX1S,
IFNX3B,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSL,
IFNXSV,

Inner macro to GOlF. Generates
instructions tc test a field other
than a switch.

238

~acre

·~anagement

~anagement

~acro

~acro

Macro Name

Used in Object Modules

Description of

GOTO

IFNX4D, IFNX4E, IFNX4M,
IFNX4N, IFNX4S, INFX4T,
IFNX4V, IFNXSV

Generates a branch and link to a
specified subrcutine. The sucroutine
specified rrust be a syrr-bol defined
in the global array built by the
CONTAINS macro.

JCALL

IFOXOt, IFNX3A, IFNX5A,
IFNXSC, IFNXSt, IFNX5M,
IF'NX6E

Generates a branch and link
to a subroutine.

JCHECK

IFBX1J, IFNX2A, IFNX3N,
IFNX4E, IFNX6A

Generates a call to the Workfile
I/O Module Check Rcutine. This routine
checks fer a start I/O operation.

JCSECT

IFOXOA,
IFOXOD,
IFOXOG,
IFNX1A,
IFNX2A,
IFNX3N,
IFNXSt,
IFNXSM,
IFNX6E,

IFOXOE,
IFOXOE,
IFOXOE,
IFNX1J,
IFNX3A,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6C

IFOXOC,
IFOXOF,
IFOXOI,
IFNX1S,
IFNX3B,
IFNXSC,
IFNXSL,
IFNX6A,

Generates a CSEC~ with a CSEC~ name
from the macro instruc~ion operands.
If desired, an EQU to the CSECT
name will be generated.

JENTRY

IFOXOA,
IFOXOt,
IFOXOE,
IFNX1J,
IFNX3A,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6C

IFOXOB,
IFOXOF,
IFOXOI,
IFNX1S,
IFNX3E,
IFNXSC,
IFNXSL,
IFNX6A,

IFCXOC,
IFOXOE,
IFNX1A,
IFNX2A,
IFNX3N,
IFNXSD,
IFNXSM,
IFNX6B,

Generates an entry statement and,
if desired, an EQU to the entry
point.

JEXTRN

IFOXOA,
IFNX3A,
IFNXSA,
IFNXSM,

IFOXOD,
IFNX3N,
IFNXSC,
IFNXSV,

IFNX1J,
IFNX4V,·
IFNXSC,
IFNX6B

Generates an EXTRN statement. An
EQU to the external symbol is
generated if s~ecified in the
rracro call.

JFIND

IFNX1A

Generates a call to the FIND
reutine of the In~ut I(C ~odule
(IFOX04) • The FIND routine locates
a rracro or a cc~y code member.

JFRECORE

IFNX1A, IFNX1J, IFNX2A,
IFNX3A, IFNX4~, IFNX4T,
IFNXSC, IFNX6A, IFNX6B

Generates a call to the Workfile I/C
Module (IFOXOO) tc free a block of
storage.

JGEN

IFOXOC

Generates an ORG to a specified
address and a DC cf specified type
and value.

JGENERR

IFOXOE,
IFOXOE,
IFNX1A,
IFNX3A,
IFNXSC,
IFNXSV,

IFOXOC,
IFOXOG,
IFNX1J,
IFNX3N,
IFNXSt,
IFNX6E

Appendix B:

IFOXOD,
IFOXOI,
IFNX2A,
IFNXSA,
IFNXSM,

~acro

Copies copy code (ERMS) into
JERMSGCD.

Macro & Copy Code/Module Cross-reference

239

Macro Name

Used in Object Modules

Description of

JGENIN

IFOXOC, IFOXOD, IFNX4E,
IFNXSA, IFNXSP, IFNX6A,
IFNX6E, IFNX6C

Generates internally coded
character strings. It acce~ts
alphanumeric characters, and all
special characters exceFt ampersands and quotes.

JGETCORE

IFOXOA,
IFNX2A,
IFNX4M,
IFNX6A,

Generates a call to the I/C
Interface Modules to obtain
rrain storage.

JGETL

IFNX3A, IFNX3N, IFNX4V,
IFNXSA, IFNXSC, IFNXSD,
IFNXSM, IFNXSV, IFNX6B

Generates a call to the ~ork­
file I/O Module (IFOXOO) to
get the address of the next
logical record.

JHEAC

IFOXOA,
IFOXOC,
IFOXOG,
IFNX1J,
IFNX3A,
IFNX4E,
IFNX4S,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6E,

Generates a ~I~LE statement
andoa status MNOTE in the
prolog of a module.

JINPUT

IFNX1A

Generates a call to the Input
I/O Module (IFCX04) to get the
next record from the input file.

JINST

IFNX1A

Generates rrachine instructions
according to macro call operand
values.

JMODID

IFOXOA,
IFOXOD,
IFOXOG,
IFNX1A,
IFNX2A,
IFNX3N,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSM,
IFNX6A,

JNOTE

IFNX1J, IFNX2A, IFNX3N,
IFNX4E, IFNX4V, IFNXSD,
IFNXSV, IFNX6A

Generates a call to the Workfile
I/O Module (IFCXOO) to note the
position of the last READ or
WRITE on a work file.

JNOTELE

IFNX1A

Generates a call to the Input I/C
~odule
(IFOX04) to note a
position in the rracro library.

JPARM

IFOXOJ

Generates code in IFOXOJ which
contains bit strings re~resenting
the options s~ecified in thePAR~
field.

240

IFNX1A, IFNX1J,
IFNX3A, IFNX3N,
IFNX4T, IFNXSC,
IFNX6E

IFOXOB,
IFOXOE,
IFOXOH,
IFNX1S,
IFNX3N,
IFNX4M,
IFNX4T,
IFNXSC,
IFNXSL,
IFNXSV,
IFNX6C

IFOXOB,
IFOXOE,
IFOXOH,
IFNX1J,
IFNX3A,
IFNX4D,
IFNX4N,
IFNXSA,
IFNXSF,
IFNXSP,
IFNX6B,

IFOXOC,
IFOXOF,
IFOXOI,
IFNX2A,
IFNX4C,
IFNX4N,
IFNX4V,
IFNXSD,
IFNXSM,
IFNX6A,

IFOXOC,
IFOXOF,
IFOXOI,
IFNX1S,
IFNX3B,
IFNX4E,
IFNX4S,
IFNXSC,
IFNXSL,
IFNXSV,
IFNX6C

~acro

Generates an embedded identifier
which consists of a six character
module name identifier and a half
word change level identifier.

~acro

Name

Used in Otject Modules

Lescription of

JPATCH

IFOXOA,
IFQXOL,
IFOXOG,
IFNX1J,
IFNX3A,
IFNX4L,
IFNX4N,
IFNX4V,
IFNX5r,
IFNX5M,
IFNX6B,

Calculates the size of a patch area
that is originally 5% cf the CSECT
size, then allccates that fatch area.

JPHASE

IFOXOA

JPOINT

IFNX1J,
IFNX3N,
IFNX4T,
IFNX5L,

JPOINTLB

IFNX1A

Generates a call to the Input I/O
Module (IFOX04) to position the
library file in order to get the
record after the one noted.

JPRINT

IFNX4E, IFNX5P, IFNX6A,
IFNX6E

Generates a call to the Output I/C
Module (IFOX06) to ~rint a line on
SYSPRINT and tc obtain the address
of the next buffer.

JPUNCH

IFNX4L, IFNX4E, IFNX4M,
IFNX4N, IFNX4T, IFNX5P,
IFNX6A, IFNX6E

Generates a call to the Output I/O
Module (IFOX06) to outfut an 80 byte
record on SYSPUNCH and SYSGO, and to
attain the address of the next buffer.

JPUTL

IFNX1A, IFNX1J, IFNX3A,
IFNX3E, IFNX4M, IFNX4T,
IFNX4V, IFNX5A, IFNX5C,
IFNX5L, IFN~5M, IFNX5V

Generates a call to the Workfile I/O
~odule (IFOXOO)
to obtain the address
of the next record in the buffer.

JPUTM

IFNX1J, IFNX3A, IFNX3B,
IFNX3N, IFNX4E, IFNX4M,
IFNX4T, IFNX5A, IFNX5C,
IFNX5L

Generates a call to the Workfile I/O
Module (IFOXOO) to copy a record into
the output buffer.

JREAD

IFNX2A, IFNX3N, IFNX4E,
IFNX6A

Generates a call to the Workfile I/O
Module (IFOXOO) to read a fhysical
record. A JCHECK rracro call must be
issued before any additional operations on the wcrkfile are attempted.

JRETURN

IFOXOA,
IFOXOF,
IFNX1A,
IFNX4M,
IFNX5C,
IFNX5L,
IFNX6A,

Restores registers R2 through R9 of
the calling frcgrarr fron: a push down
save area and then returns to the
caller via R9.

IFOXOB,
IFOXOE,
IFOXOH,
IFNX1S,
IFNX3E,
IFNX4E,
IFNX4S,
IFNX5A,
IFNX5F,
IFNX5P,
IFNX6C

IFOXOC,
IFOXOF,
IFOXOI,
IFNX2A,
IFNX3N,
IFNX4M,
IFNX4T,
IFNX5C,
IFNX5L,
IFNX5V,

~acro

Programmer macro
IFNX2A,
IFNX4E,
IFNX4V,
IFNX5V,

IFOXOB,
IFOXOH,
IFNX2A,
IFNX4T,
IFNX5L,
IFNX5M,
IFNX6B

Appendix B:

IFNX3A,
IFNX4M,
IFNX5C,
IFNX6A

IFOXOD,
IFOXOI,
IFNX3A,
IGNX5A,
IFNX5F,
IFNX5P,

Generates a call to the Workfile I/O
Module (IFOXOO) tc locate a specified
position in the work file.

Macro & Copy Code/Module Cross-reference

241

Macro Name

Used in Oeject Modules

Description cf

JSAVE

IFOXOA,
IFOXOF,
IFNX1A,
IFNX4M,
IFNXSA,
IFNXSL,
IFNX5V,

Saves registers R2 through R9 of the
calling prcgrarr in a push down save
area. Unless cverridden, the macro
will load the base register, R8,
froIT R12 and generate a USING
statement.

JPRINT

IFNX6B

Generates a call to the Output I/O
Module (IFOX06) tc output a record
on the system data set.

JTRUNC

IFNX1A, IFNX1J, IFNX3A

Generates a call to the Workfile
I/O Module (IFOXOO) to truncate
an output buffer. ~his causes the
current output buffer to ce regarded as full and it is written
out on the file. The next logical
record will be ~ut in the next
physical buffer.

JWRITE

IFNX1J, IFNX2A, IFNX4E,
IFNX6A

Generates a call to the Workfile
I/O Module (IFOXOO) to write a
physical record. This operation
must be checked ~CHECK) for
completion befcre any additional
operations on the file are
attempted.

LOAD

IFOXOA

See Data Management Macro
Instructions.

MIEND

IFNXSM

Programmer macro.

MITAE

IFNXSM

programmer macrc.

NOTE

IFOXOE, IFOXOF

See·OS/VS Data Management
Macro Instructions.

OP

IFNX lK, IFNX3K

Inner macro to GENOP. OP is
called each tirre as an op code
is to be added to the op code
tacle.

OPCD

IFNXSM

Programmer macro.

OPEN

IFOXOA, IFOXOC, IFOXOE,
IFOXOF, IFOXOG, IFOXOH

See OS/VS Cata Management
Macro Instructicns.

OPND

IFNX5M

Programmer macro.

OPS

IFNX3A

programmer rracrc.

POINT

IFOXOB, IFOXOF

See OS;VS Data Management
Macro Instructions.

PUT

IFOXOH

See OS/VS Data ~anagement
Macro Instructions.

READ

IFOXOE, lFOXOE, lFOXOF

See OS/VS Data Management
Macro Instructicns.

242

IFOXOB,
IFOXOH,
IFNX2A,
IFNX4T,
IFNXSC,
IFNXSM,
IFNX6A,

IFOXOD,
IFOXOI,
IFNX3A,
IFNX4V,
IFNXSF,
IFNXSP,
IFNX6B

~acro

~acro

Macro Name

Used in Object Modules

Description of

RETURN

IFOXOA

See OSjVS Supervisor Services
and Macro Instructions.

SAVE

IFOXOA

See OSjVS supervisor Services
and Macro Instructions.

SET

IFOXOA,
IFOXOF,
IFNX1J,
IFNX3E,
IFNX4M,
IFNX4T,
IFNX5C,
IFNX5M,
IFNX6A,

SYNADAF

IFOXOI

See OSjVS Cata Management
Macro Instructiens •

. IFOXOI

See OSjVS Cata Management
Macro Instructiens.

SYNADRLS

IFOXOB,
IFOXOH,
IFNX2A,
IFNX4C,
IFNX4N,
IFNX4V,
IFNX5C,
IFNX5P,
IFNX6E

IFOXOD,
IFNX1A,
IFNX3A,
IFNX4E,
IFNX4S,
IFNX5A,
IFNX5L,
IFNX5V,

Sets a specified bit on or off.

TBLGEN

IFNX1A

Generates two different tatles:
one table of dis~lacements and
one table of constants.

TEXT

IFNX5M

programmer macre.

TIME

IFOXOD

See OSjVS Supervisor Services and
Macro Instructiens.

TPUT

IFOXOH

See OS/VS Data Management
Macro Instructions.

WRITE

IFOXOE, IFOXOC

See OS/VS Data Management
Macro Instructiens.

WTO

IFOXOD, IFOXOI

See OSjVS Supervisor Services and
Macro Instructiens.

XDCDS

IFNX4C, IFNX4N

Depending en the call,. generates
assembler Symbel Resolution
DC/DS Evaluation Routines.

XDICT

IFNX4E

Generates rrodule IFNX4E.

XEVAL

IFNX4V, IFNX5V

Generates evaluation routines
IFNX4 V, IFNX5V_

XFOUR

IFNX4M, IFNX4T

Depending en the call, generates
IFNX4M and IFNX4T.

XSTBL

IFNX4S

Generates IFNX4S.

X5ERRL

IFNX4V, IFNX5A, IFNX5C,
IFNX5C, IFNX5M, IFNX5V

Generates a call to IFOX51
Error Logging Routine (IFNX5L)
with the error number as a
parameter.

Appendix B:

Macro & Copy Code/Module Cross-reference

243

Copy Code
Name

Used by Object Modules

Description of Copy Code

BMDSECTS

IFNX4V, IFNX5C, IFNXSV

DSECT mapping RLL, XREF, and
error records.

EDSECT

IFNX1A, IFNX1J, IFNX1S

DSECT mapping the Edit Phase
(IFOX11) Common Area.

ERMS

IFOXOB,
IFOXOE,
IFNX1A,
IFNX3A,
IFNX5[,
IFNX5V,

Contains the symbolic names
and associated text of all
error messages.

GENCOM

IFNX3A, IFNX3N

DSECT mapping generate phase
(IF~X31) Cerrrren Area.

I COMMON

IFNX4[, IFNX4E, IFNX4M,
IFNX4N, IFNX4S, IFNX4T,
IFNX4V, IFNX5V

Contains the code for modules
IFNX4D and IFNX4N.

JCOMMON

IFOXOA,
IFOXOE,
IFOXOH,
IFNX1J,
IFNX3A,
IFNX4[,
IFNX4N,
IFNX5A,
IFNX5F,
IFNXSP,
IFNX6E,

IFOXOC,
IFOXOF,
IFOXOI,
IFNX1S,
IFNX3E,
IFNX4E,
IFNX4S,
IFNX5C,
IFNX5L,
IFNX5V,
IFNX6C

IFOXOD,
IFOXOG,
IFNX1A,
IFNX2A,
IFNX3N,
IFNX4M,
IFNX4V,
IFNX5D,
IFNX5M,
IFNX6A,

Common DSECT which defines
register equates and dis~lace­
rrents, bit equates, file
equates, internal character
code equates, it also issues
a USING staterr.ent for register
13.

JERMSGCD

IFOXOC,
IFOXOG,
IFNX2A,
IFNX4V,
IFNX5[,

IFOXOD,
IFOXOI,
IFNX3A,
IFNX5A,
IFNX5M,

IFOXOE,
IFNX1J,
IFNX3N,
IFNX5C,
IFNX5V

DSECT providing symbolic names
for error rressages and their
severity cedes.

JERRCD

IFNX1A, IFNX2A, IFNX5A,
IFNX5L, IFNX6E

DSECT mapping the error record
passed to asserrbly phase.

JFLEBLK

IFOXOA, IFOXOC, IFOXOD

DSECT mapping the information
for a workfile in Master Common.

JINCOM

IFOXO E, IFOXO F, IFOXO I

DSECT mapping Inr:ut Corr.Iron Area.

JOUTCOM

IFOXOG, IFOXOH, IFOXOI

DSECT mapping Output Common Area.

JTEXT

IFNX2A,
IFNX3N,
IFNX4M,
IFNX5A,
IFNX5L,
IFNX6E

DSECT mapping the header of
edited text recerds.

244

IFOXOC, IFOXOD,
IFOXOG, IFOXOI,
IFNX1J~ IFNX2A,
IFNX3N, IFNX5A,
IFNX5L, IFNX5M,
IFNX6E

IFNX3A,
IFNX4C,
IFNX4N,
IFNX5C,
IFNX5M,

IFNX3B,
IFNX4E,
IFNX4T,
IFNX5D,
IFNX5P,

Copy Code
Name

Used by Ol:::ject Modules

Description of

JTMTXT

IFNX1A, IFNX1J, IFNX3N

DSECT mapping the meta text operators and identifiers.

RSY~RCD

IFNX3A,
IFNX4E,
IFNX4T,
IFNXSL,

Copy code rra~~ing the symbol
file records.

RXLFMTS

IFNXSA, IFNXSM, IFNX6A

DSECT mapping RLL, XREF, and
literal XREF records.

XSCOM

IFNX4V, IFNXSA, IFNXSC,
IFNXSI:, IFNXSF, IFNXSL,
IFNXSM, IFNXSP, IFNXSV

DSECT maI=ping IFOXS1 Corrmon
Area.

IFNX3E, IFNX4D,
IFNX4M, IFNX4N,
IFNX4V, IFNXSA,
IFNXSV

Co~y

Code

Appendix B: Macro & Copy Code/Module Cross-reference

245

Appendix C: Internal Operation Codes

The internal operation codes used by the assembler are listed below.
These internal codes define the record type of the internal text format
for assembler statements. For an internal operation code to exist within
an edited text record, the flag JPSOP must be on.
HEX

SYMEOL

DESCRIP'lION

00
01
02
03
04

JTICTL
JTISEQ
JTOPSYN
JTCOPY
JTANOP

IC'lL instructicn
ISEQ instruction
OPSYN instructicn
COpy instruction
ANOP instructicn

05
06
07
08
09

JTGBLA
JTGELE
JTGBLC
JTLCLA
JTLCLB

GBLA
GBLB
GBLC
LCLA
LCLE

OA
OB
OC
OD
OD

JTLCLC
JTMACRO
JTACTR
JTAGO
JTAGE

OE
OE

JTAIF
JTAIFB

OF

JTSETA

LCLC instructicn
~ACRO instruction
AC'lR instructicn
AGO instruction
Same as AGO. (Provided for
compatibility. )
AIF instruction
Same as AIF. (Provided for
coro~atibili ty.)
SETA instruction

10
11
12
13
14

JTSETE
JTSET
JTMEXIT
JTMEND
JTCALL

SETB instructicn
SETC instruction
MEXIT instruction
~END instruction
CALL rracro instruction

15
16
17
18
19

JTCP1

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2012:06:08 22:10:06-08:00
Modify Date                     : 2012:06:09 12:25:50-07:00
Metadata Date                   : 2012:06:09 12:25:50-07:00
Producer                        : Adobe Acrobat 9.51 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:6f022879-1d87-4a57-9910-3a2196883fa4
Instance ID                     : uuid:8f554d92-897b-4c54-a280-cebf25fa04de
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 266
EXIF Metadata provided by
EXIF.tools

Navigation menu