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 .
Page Count: 266
Download | |
Open PDF In Browser | View 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 r o Z C) o ..,mo -l o C Z m Reply requested: Yes D No 0 Name: Job Title: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ Zip ____________ Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A. (Elsewhere, an IBM office or representative will be happy to forward your comments.) SY33-8041-0 Your comments, please ... This manual is part of a library that serves as a reference source for systems analysts, programmers, and operators of IBM systems. Your comments on the other side of this form will be carefully reviewed by the persons responsible for writing and publishing this material. All comments and suggestions become the property of IBM. o C -f o :0 "TI o r Fold Fold o l> r o ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Z G> r First Class Permit 40 Armonk New York Business Reply Mail No postage stamp necessary if mailed in the U.S.A. Postage will be paid by: International Business Machines Corporation Department 813 L 1133 Westchester Avenue White Plains, New York 10604 Fold International Business Machines Corporation Data Processing Division 1133 Westchester Avenue, White Plains, New'York 10604 (U.S.A. only) IBM World Trade Corporation 821 United Nations Plaza, New York, New York 10017 (International) FoJd Z m OS/VS Assembler Logic READER'S COMMENT FORM SY33-804l-0 Your views about this publication may help improve its usefulness; this form will be sent to the author's department for appropriate action. Using this form to request system assistance or additional publications will delay response, however. For more direct handling of such request, please contact your IBM representative or the IBM Branch Office serving your locality. () C -f l> r o Z C) o o -f -f m o C Z m Reply requested: Yes 0 No 0 Name: Job Title: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Address: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _______________ Zip ___________ Thank you for your cooperation. No postage stamp necessary if mailed in the U.S.A. (Elsewhere, an IBM office or representative will be happy to forward your comments.) SY33-8041-0 Your comments, please ... This manual is part of a library that serves as a reference source for systems analysts, programmers, and operators of IBM systems. Your comments on the other side of this form will be carefully reviewed by the persons responsible for writing and publishing this material. All comments and suggestions become the property of IBM. (') C -f o :0 ." o Fold FOld r o » r ..................................................................................................... o z G') r First Class Permit 40 Armonk New York , Business Reply Mail No postage stamp necessary if mailed in the U.S.A. Postage will be paid by: I nternational Business Machines Corporation Department 813 L 1133 Westchester Avenue White Plains, New York 10604 Fold International Business Machines Corporation Data Processing Division 1133 Westchester Avenue, White Plains, New'York 10604 (U.S.A. only) IBM World Trade Corporation 821 United Nations Plaza, New York, New York 10017 (International) FoJd Z m
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 : 266EXIF Metadata provided by EXIF.tools