GY28 6714 1_Loader_Rel20_PLM_Dec70 1 Loader Rel20 PLM Dec70
GY28-6714-1_Loader_Rel20_PLM_Dec70 GY28-6714-1_Loader_Rel20_PLM_Dec70
User Manual: GY28-6714-1_Loader_Rel20_PLM_Dec70
Open the PDF directly: View PDF .
Page Count: 157
Download | ![]() |
Open PDF In Browser | View PDF |
File No. 5360-31 Order No. GY28-6714-1 Program Logic IBM System/360 Operating System Loader Program Logic Manual This publication describes the internal logic of the IBM Systeml360 operating System Loader. The Loader functions as a processing program to combine and link input object and load modules in main storage and to pass control directly to the loaded program for its execution. This publication identifies areas of the program that perform specific functions and relates those areas to the program listing. This publication is intended for persons involved in program maintenance, or system programmers who are altering the program design; it is not needed for normal use or operation of the program described. The information on the Time Sharing Option (TSO) in this manual should be used for planning purposes only until such time as the option is available. This is a major revision of, and makes obsolete, Order No. GY28-6714-0 and Technical Newsletters GY28-2401 and GY28-6405. It contains information concerning a new Compiler/Loader interface, the new SYSTERM data set, and new Loader options. All changes to the text, and small changes to illustrations, are indicated by a vertical line to the left of the change; changed or added illustrations are denoted by the symbol • to the left of the caption. This edition corresponds to Release 20 System. of the IBM System/360 Operating Changes are periodically made to the specifications herein; any such changes will be reported in subsequent revisions or Technical Newsletters. Requests for copies of IBM publications should be made to your IBM representative or to the IBM branch office serving your locality. A form for readers' comments is provided at the back of this publication. If the form has been removed, comments may be addressed to IBM Corporation, Programming Publications, 1271 Avenue of the Americas, New York, New York 10020. ©Copyright International Business Machines Corporation 1969, 1970 SUMMARY OF AMENDMENTS -- RELEASE 20 Description A new interface is defined between the Loader and a compiler which allows an internal data area to be used as input to the Loader. An open library data set can also be passed to the Loader. 9,10,12,14 16-19,22-24, 28-29,32,34-35, 40,42,43,78-80, 85,86,157-161 New main storage requirements for the Loader are given. 9 The Loader can be used with the Time Sharing Option (TSO). 9-10,17,18,40 The SYSTERM data set is added to the Loader data sets. 10,18,43,78,81, 82,85-89 The name of the diagnostic output data set is changed from SYSPRINT to SYSLOUT. 10,15,18,19,27, 43,78,81,84, 85-86,88 The name of the Load module processor is changed from IEWLOAD to IEWLODE. 77-79,81,84 85,86 The Loader can now identify the loaded program to the control program. 10,17,18,34,40, 42,43,82,84, 85-86,162-163 Two new options, TERM/NOTERM and NAME=, may be specified when using the Loader. 15,18,19,78,85, 86,88-89 The Loader processing portion can be invoked through a new entry point, IEWLOAD. 18,43,77 An exception is added to the statement that the CESD contains only one entry for each uniquely named text location. 24,32,73 This publication provides information describing the internal organization and logic of the Loader. It. is part of an integrated library of IBM System/360 operating System Program Logic Manuals. Other publications whose contents are required for an understanding of the Loader are: IgtEQ~~£t!Qg_tQ_£QgtEQ1_~EQgE~@_~Qg!£L ~EQgE~~_~Qg!£_~~g~~!, Order No. GY28-6605 Linkage Editor and Loader, Order No. GC28-6538 Assembler Language, Order No. Order No. §~£t!Qg_ll __ ~EQgE~~_QEg~g!~~t!Qg. This section describes the organization of the Loader. Program components (modules, control sections, and routines) are described both in terms of their operation and their relation to other components. Flowcharts are included at the end of this section. GC28-6514 The reader should also refer to the co-requisite publications: Stora~stimates, specific labeled references where appropriate. For example, the discussion of initialization refers to operation Diagram B1. Within the discussion, reference (B) refers to point (B) in Diagram B1. Also included in Section 2 are examples of the internal tables at strategic points in Loader processing. Both the diagrams and the table illustrations are designed as aids to quick recall. GC28-6551 This publication has eight sections: Section 4: Microfiche Directory. This section directs the reader to named areas of code in the program listing, which is contained on microfiche cards. §~£t!Qg_~l __ Q~t~_~E~~_~YQ~t~. This section illustrates the layouts of tables and control blocks used by the Loader. These layouts may not be essential for an understanding of the basic logic of the program, but are essential for analysis of storage dumps. section 1: Introduction. This section describes the Loader as a whole, including its relationship to the operating system. The major divisions of the program and the relationship between them are also described in this section. §~£t!Qg_6:_~!~ggQ~tic Aids. This section includes the general register contents at entry to program components, definitions of the internal error codes, and a list of serviceability aids available with the Loader. Section 2: Method of Operation. This section provides: (a) an overview of, and an introduction to, the logic of the Loader, and (b) detailed descriptions of specific operations. Included are text and operation diagrams. The latter emphasize the flow of data within the Loader. The text and .diagrams are correlated through a system of references. These references are of two levels. That is, the operation diagram for a function has an alphameric identification~ within the diagram, specific points of reference have alphabetic labels. The text which describes the same function refers to the operation diagram as a whole and to the Section 7: Appendix. This section includes input conventions, record formats, an Error Message/Issuer Cross-Reference Table and a description of the compiler/Loader interface for passed data sets. sectiQg_~l_~!ctiogarY-2f_AbbE~~!~tion2-~g~ ACEony@~. This section lists the expansions of abbreviations and acronyms used in the manual. If more detailed information is required, the reader should see the comments and coding in the Loader program listing. SECTION 1: INTRODUCTION. • • Purpose • • • • • • • Functions • • • . • • • • • • • • • Main Storage Requirements • • • • Environment • • • • • • • • • • • Physical Characteristics • Operational Considerations Input Module Structure • • • • External Symbol Dictionary (ESDI Relocation Dictionary (RLD) Interrelationship of Control Dictionaries • • • • • • • • Loader Options • • • • • • • General Theory Of Operation •• •• • • • • • • • • • 9 9 9 9 9 10 12 12 13 13 • 13 14 • • 15 SECTION 2: METHOD OF OPERATION • Steps of the Loader Operation • Initialization (Diagram Bl1 • Input control and Buffer Allocation (Diagram Cl1 • • • • • • • • • • • • Primary Input Processing (Diagrams Dl, D21 ••••••••••• • secondary Input Processing (Diagram El) • • • • • • • • Final Processing • • • • • • Identifying Loaded Program 1 • End of Loading • • • • • • • • • • • Initialization (IEWLIOCAI •••• • Analyzing Control Information • Initializing Main Storage • • Readying Data Sets • • • • • • • • Input Control and Buffer Allocation • • Buffer Management (IEWBUFFR) • • • Buffer Deallocation • • • • • • • • Buffer Allocation • • • • • • • Reading Object Module Input from an External Device • • • • • • • • Reading Internal Object Module Input • Reading Load Module Input primary Input Processing • • • • • • External Symbol Dictionary (ESD) Processing (IEWLESD) • • • • Preliminary ESD Processing • • CESD searching • • • • • • • • • No-Match Processing • • • • • • • • Match Processing • • • • • • • • • • Text Record Processing • • • • Processing Object Module Text (IEWLTXT) ••••••• • Processing Pre loaded Text (IEWLMOD) ProceSSing Load Module Text (LMTXT) Relocation Dictionary (RLDI processing (IEWLRLD) • • • • • • • • • Relocating Address Constants (IEWLERTN) • • • • • • • • • • • • End Processing • • • • • • • END Card Processing • • • • • • End-of-Module Processing • • • seco~dary Input Processing (IEWACALLI • Resolving ERs from the Link Pack Area Resolving ERs from the SYSLIB Data set • • • • • • • • • • • • • • • 16 16 16 16 16 11 11 11 11 11 11 18 18 19 19 19 21 21 22 22 23 24 25 26 21 31 34 34 34 35 36 31 38 38 39 39 39 40 Final Processing for the Loaded Program Assigning Addresses for Common Areas (COMMON) • • • • • • • • • • • • • • • Assigning Addresses for External DSECT Displacements (PSEUDORI •• Issuing Unresolved ER Messages • • • • Checking the Loaded Program's Entry Point . . . . . . . . . . . . • Identifying Loaded Program 1 End of Loading • • • • • • • • • • • Loader Processing Termination • • • • Loader Control Termination • • 40 SECTION 3: ORGANIZATION OF THE LOADER. Loader/Scheduler Interface • • • • • • • Loader Control Portion - IEWLCTRL (Chart 100) ••••••• Initial, I/O, Control, and Allocation Processing • • • • • • • • • • • • • • • Loader Processing Control • • IEWLIOCA (Charts 200-201) Buffer Allocation Routine IEWBUFFR (Chart 203) • • • • Storage Allocation Routine GETCORE • • • • • • • • • • • Return Storage Routine - FREECORE • Object Module Buffer Prime Routine - IEWPRIME (Chart 204) • • • • • • • Read Routine - IEWLREAD (Chart 203) Print Routine - IEWLPRNT (Chart 11 17 41 41 42 42 42 42 43 43 11 71 11 77 78 18 18 18 207) • • • • • • • • • • • • • • • • 78 SYSTERM Routine - IEWTERM (Chart 208) • • • • • • • • • • • • • • SYNAD Exit Routine - SYNAD • • • • • Input Module Processing • • • • • • • • Object Module Processor - IEWLRELO (Chart 300) • • • • • • • • • • • • ESD Processor - IEWLESD (Charts 301-304) • • • • • • • • • • • • • • RLD Processor - IEWLRLD (Chart 305) End Processor - IEWLEND (Chart 301) Translation Routine - TRANSID (Chart 309) • • • • • • • • • Table Allocation Routine - ALLOCATE MOD Processor - IEWLMOD (Chart 310) Address Constant Relocation Routine - IEWLERTN (Chart 306) • Map Routine - IEWLMAP (Chart 308) • Conversion Routine - IEWLCNVT • Load Module Processor - IEWLODE (Charts 400-403) • • • • • • • Load Module Text Processor - LMTXT (Charts 401-403) • • • • • • • • • • Secondary Input and Final Processing • • Automatic Library Call Processor IEWACALL (Charts 500-504) • • Error Processing • • • • • • • • Error Log Routine - IEWERROR (Chart 505) • • • • • • • • Diagnostic Dictionary Processing Routine - IEWBTMAP (Chart 506) • Identifying Loaded Program • • • • .~ • • 78 19 19 19 19 19 19 80 80 80 80 80 80 81 81 81 81 81 81 82 82 Identification Routine - IEWLIDEN (Charts 600-601) • • • • • • • • 82 Routine Control - Level Tables 84 CHARTS • • • SECTION 4: MICROFICHE DIRECTORY. SECTION 5: DATA AREA LAYOUTS SECTION 6: DIAGNOSTIC AIDS Error Code Definitions ••• • Serviceability Aids • • •• 91 .127 • • 129 .141 .143 .144 SECTION 7: APPENDIX Input Conventions Input Record Formats • Compiler/Loader Interface for Passed Data Sets • • • • • • • • • • • • • Internal SYSLIN Control Block Open SYSLIB DCB • • • • • IDENTIFY Macro Instruction Identifying Loaded Program (MVT Only) .145 • .147 • .148 • .157 .158 • .158 .162 SECTION 8: DICTIONARY OF ABBREVIATIONS AND ACRONYMS • • .164 INDEX • .165 ILLUSTRATIONS FIGURES Figure 1. An Example of Loader Structure and Storage Map • • • Figure 2. Loader Control Logic Flow Figure 3. Object Module and Load Module Structure • • • • • • • • • • • Figure 4. Example of an Input Module Figure 5. Load Module Allocation Figure 6. Freed Areas From Buffer-DECB Allocation •• • • Figure 7. Allocation for Object Module Input • • • • Figure 8. Tables Used in the CESD Search ••••••••• • 10 • 11 • 12 14 20 20 • 22 • • • • • 27 Figure 9. Storage Allocation • • • • • 28 Figure 10. Translation Control Table and Translation Table •• • • • 30 Figure 11. Overall Relationship of Tables •••••••••••••• 31 Figure 12. Loading the Text from a Load Module Record •••••••• 36 Figure 13. BLDL List and Address List 41 Figure 14. ESD and RLD Processing • • • 73 Figure 15. Pseudo Register Processing • 75 Figure 16. Loader Organization • • • • 83 Figure 17. Address List •• 129 Figure 18. BLDL List •• • • • • • 130 Figure 19. CESD Control Tableto the input address of the LD or LR entry. If the instructions and data for the module have been passed through text records and if the Loader-assigned address exceeds available storage, the loading process is terminated with an error message. otherwise, the address is stored in the CESD entry. The Loader sets the type indication in the CESD entry to LR. Finally, the relocation constant is computed. This value equals the Loader-assigned address minus the input relative address. The relocation constant also is stored in the CESD. If the related SD entry was marked "delete", the Loader makes an ER entry instead of an LR and sets the "delink" flag in the entry to signify that all adcons referring to it should be adjusted. CM To make a CM entry, the Loader uses two separately obtained 20-byte areas. The first area obtained is used as an extension to the CM entry. In this portion, the Loader stores the length and the address assigned to the comwcn area in the input. Then the Loader obtains the second 20-byte area and stores in it the name for the common area and the entry's type indication. (This area is the one pointed to by the translation table and the CM chain.> The Loader clears three bytes in the entry to be used as a pointer to related ERs and sets a pointer in it to the extended portion of the CM entry. Finally, a translation table entry is made. If the option to specify the entry point name for the loaded program was used, the Loader determines whether the SD with that name has already been received. If not, the Loader compares that name to the symbol for the currently defined CSECT (the symbol in the CESD entry). If the names are the same, the Loader-assigned address is stored as the entry point address in CMEPADDR. For an SD entry, the Loader determines whether the CSECT length specified in the input entry equals O. If so, the Loader sets the "no length" indicators in the communication area and in the CESD entry itself. If the length is positive, it is added to CMMODLNG to calculate the next CSECT address. If the MAP indicator is on, a MAP entry is made for the SD. Finally, the Loader puts the CESD entry on the SD chain pointed to in the CMTYPCHN table. Chaining consists of storing the pointer to the last SD entry (found in CMTYPCHN) in the current CESD entry's chain pointer. Then the address of this entry becomes the current pointer in CMTYPCHN. After chaining the entry, a translation table entry is made. LD or LR The Loader processes input LD entries in the same manner as input LR entries. The name from the input entry is moved tc the CESD entry. Then the Loader-assigned address for PR For a PR entry, the Loader moves the information describing the external DSECT from the input entry to the CESD entry. The 3-byte field to be used as a pointer to the related RLDs is cleared, and the entry is chained to the other PR entries. (PRs are chained according to their order in the input.) For a DSECT displacement definition, a translation table entry is also required. ER For an ER entry, the Loader moves the name and type from the input entry to the CESD entry. If the input ER entry is marked "never call," the Loader sets the "never-call" indication in the CESD entry. If the input ER entry is marked "weak call," the Loader similarly sets the "weak-call" section 2: Method of operation 29 indication. Then the Loader chains the ER entry to the other ERs and makes a translation table entry. MAKING A TRANSLATION TABLE ENTRY: The table to direct building of the translation table. 1 The translation control table consists of 32 fullword entries beginning at location CMTRCTRL in the communication area. Each entry is a pointer to a possible 32-entry extent to be allocated for the translation table. The Loader allocates the extents as required. depending on the number of incoming ESD entries. Loader-uses-the~ranslatIon-control The entries of one extent correspond to consecutive ESD IDs in a single module. For example, the entries of the first extent correspond to ESD IDs from 1 to 31; those of the second extent correspond to 1For each input module, the Loader reinitializes the translation table. IDs 32 to 63, etc. (The first extent contains only 31 translation table entries since the initial 4 bytes are used for indexing purposes.) ThUS, the position designated for creation of a particular translation table entry depends on the ESD ID of the associated input entry. Figure 10 is an illustration of the translation control table and the translation table. To make a translation table entry, the Loader first determines whether the input ID is valid. (Diagram D6, reference (A).) If an ID is not valid, an error message is printed and loading continues with the next input ESD entry. An ID is not valid if it is less than 1 or greater than 1023. If an ID is valid, the Loader then determines by examining the translation control table whether the extent for this ID has been allocated. If not, the Loader allocates an area for 32 4-byte entries and CMTRCTRL 0 1 ............ 0 2 0 3 0 311 0 I-. 1 0 J Extent # 1 f 32 TRAN SLATION CONTROL TABLE 33 34 35 . ~I-. Extent # 2 TRANSLATION TABLE EXTENTS Figure 10. 30 Translation Control Table and Translation Table stores the beginning address of the area in the translation control table entry for this extent. The area is allocated from the highest available storage. If not enough Loader processing storage remains to make the allocation, loading is terminated with an error message. resolution, the Loader insures that each named location within the text of the loaded program has a unique symbol. 1 Also, all references to a named location are set to the correct Loader-assigned main storage address. After the extent allocation has occurred, the Loader clears the extent. Then the Loader calculates the entry address in the extent for this ID. The address of the CESD entry related to the input entry 10 is stored in the translation table entry. If two named locations have the same symbol, only one of them can be retained for the loaded program. The Loader determines which is retained on the basis of ESD entry type. The general rules used in symbol resolution follow. If the CESD entry is an ER, the Loader sets the high-order bit of the first byte to 1. (This indicates absolute relocation. ) Figure 11 shows the overall relationship of tables used in ESO processing. If the entry already in the CESO has type: SD, it is always retained. LR, it is always retained. CM, it is retained except when the input type is so. ER, it is always changed to the input type. If the Loader finds a match for an input symbol during the CESD search, the Loader performs symbol resolution. Through 1This does not refer to PC and PR names, which need not be unique. Translation Control Table (CMTRCTRL) CESD Cantrol Table (CMTYPCHN) 2/-_-f 32 31 1----1 '-----' Extent 1 95 63'--_--' Extent 2 -- L...-_--' Extent 3 Three Extents of the Translatian Table Figure 11. Overall Relationship of Tables Section 2: Method of Operation 31 If two entries have matching symbols and have types that indicate they should be retained, the Loader retains the first entry received. Table 5 gives a summary of symbol resolution. Table 5. Symbol Resolution r-------------T-------------T-------------, I Input Type I CESD Type I Result I ~-------------+-------------+-------------i I I I I SD I I I I ER SD CM LR I I I I SD SD SD LR I I I I ~-------------+-------------+-------------i I I I I CM I I I I CM ER SD LR I I I I CM CM SD LR* I I I I ~-------------+-------------+-------------i I I I I LD/LR I I I I ER I I I I ER LR SD CM I ) I I SD ER LR CM I I I I LR LR SD CM** I I I I SD ER LR CM I I I I ~-------------+-------------+-------------~ I I I I ~-------------i-------------i-------------i I *Match results in an error. I 1**Match results in an error if the SD fori Il _________________________________________ the LD/LR is not marked "delete." JI ~T E~~E!_TYP§_l~§Q: CESD type is ER The Loader changes the ER entry in the CESD to an SD entry. The entry is made as described under "No-Match Processing" for an SD entry. This includes: chaining the entry to other SDs, updating the cumulative length of the loaded program, determining whether this is the loaded program's entry point name, mapping the entry, and making a translation table entry. If RLDs were chained to the ER entry, they are relocated as described under "Relocation Processing." Also, the Loader takes the entry off the ER chain using the pointer to the previous entry on the chain (CMPREVPT). If there are no previous entries, the Loader sets the ER entry in the type chain table (CMTYPCHN) to O. CESD type is SD If the orignial SD is not flagged "delete," the Loader obtains space for another CESD entry and moves the name and Loader-assigned address of the original entry into the new one. The 32 relocation constant is then computed by substracting the input address from the Loader-assigned address. A "delete" indicator is set to show that text and RLDs related to the current input SD should be deleted. If the text for the CSECT has been pointed to by a MOD record rather than passed through text records, the text cannot be deleted and, thus, the cumulative module length « '" ;::j Note 2. Load module text is read directly into the loaded X 0 => « Note 3. A hex '80' in the high-order byte of a fullword signifies that it is the last field in the parameter list. H\ 0 '0 (!I 11 OJ rt 1-" 0 ::; ~ U1 V) program area a • Diagram Ai. System Generation Object Module IEWLDDEF Alternate ddname for SYSLOUT Alternate ddname for Execution of the LOADER macro instruction results SYSLIN in the expansion af AI ternate ddname for object madule IEWLDDEF 'III.~ SYSUB which contains the ~ SYSGEN defaults for the I-------------l Default SIZE value Loader SYSI. LD547 _--_ I EWLDLlI?o ...... I EWLDIO'f ....... -----"" . 46 • Diagram A2. Loader Invocation SYSIN DD SYSLIB DD SYSLIN DD DGO EXEC PGM=LOADER Parm=' Ma let X Y' Length of o tions + Ddnames or through issuing a LOAD, XCTL, LINK, or ATTACH + macro instruction referring options for Loader and laaded progrom DCBs to LOADER CONTROL Parameter list to IEWLDRGO (progrom name) or to LOADER (alias). Parameters are passed via MODULE IEWLCTRL list addressed by Reg # 1 I NOTE 11 ---- ...- ..... ....... _--- I EWLDRGO Entry point IEWLDRGO -- I EWLOADR -- MAIN STORAGE SYS 1. LlNKLIB The user may invoke the Loader to load a program but not poss cantrol to it. In this case, the user issues a LOAD and a CALL macro instruction referring to IEWLOADR (for loading without identification) or to IEWLOAD (for loading with identificatian). Entry point IEWLOAD may only be used when the MVT option of the control program is in operation. Section 2: Method of Operation 47 • Diagram Bl. Loader/Scheduler Interface and Initialization USER OPTIONS PARAMETER LIST R# 1 USER DCBs Builds INITMAIN from control information analyzed LOADER from schedu ler LOAD/CALL IEWLOADR, entry pointIEWLIOCA alias-IEWLOAD CSECT IEWLIOCA SYS1.LlNKLIB CSECT IEWLRELO GETMAIN (Note 1) Note 2: The size and address of the Loader processing area are inserted by the GETMAIN SVC handler. Note 3: A DCB is constructed for the output data set if the PRINT option was chosen. A DCB is also constructed for the input data set if a SYSLIN control block, which describes an internal data area,was not passed. A DCB, two DECBs, and two buffers are provided for the terminal data set if the TERM option was chosen. Maximum storage request size GETMAIN list Conversion area Option translation table Rejected options buffer 1. Establ ishes IEWLDCOM CSECT IEWLIDEN IEWLIOCA issues a GETMAIN for the size range specified by the SIZE = parameter (stored in INITRMAX) and the value specified by the INITRMIN field. Minimum storage request size Loader Processing Storage CSECT IEWLLI BR Note 1: See Note 2 GETMAIN (4K bytes) CSECT IEWLDDEF IEWLCTRL changes the length of the option list received from the schedu ler to the length of the Loader options only. Save area 2. Allocates and chains save areas Loader Communication Area 3. Issues a FREEMAIN for the INITMAIN area OPEN for OPENLIST • • •~ Primary Input Processing "f'" Prime Storage "f'" Low Address I'-_ _ _ _ _ _ _ _ _ _ _........ J Section 2: Method of Operation 49 Diagram Cl. Primary Input Control and Buffer Allocation I IEWLDCOM l allocate buffers 11-------~1 and DECBs Object Module Processing zation or primary input processing Prime buffers -~------, DECB N ~I--------I ./ ./ /' /' /' BUFFER N (not primed) -..,... Input Data Set loader Processing Storage IEWLDCOM l------....,./ Block size i:~=~~:!:::===jllililillll.load Modu Ie Processing " Record formal Number of buffers DCB flags Loader Processing Storage Section 2: Method of Operation 51 • Diagram Dl. Object Module Processing Input may either be from an external device Input Data Set or from an interna I SYS LI N data area whase cantrol block is passed to the Loader in the DCB list. I SYSLIN contral black RECORD 1 RECORD 2 I ESD processing; IEWLESD RECORD 3 RECORD 4 " TXT processing; IEWLTXT Object Madule " Buffers ar Internal " SYSLIN data area "- ""- " RLD processing; IEWLRLD END processing; IEWLEND IEWLREAD reads input IEWLEND ~ RETURN section 2: Method of operation 53 Diagram D2. Load Module Processing Input record (not text) Input Data Set If first Prelimi~ary ESD~ processing IEWLESD '~ AD reads input Finish processing module or return IEWLEN* Return Section 2: Method of Operation 55 ESD Record Processing (Generalized) • Diagram D3. Object Module Buffer or RLD Buffer ESD/CESD data NAME ADDR Input Information moved depends an entry type CMTYPCHN Module Map SYSLOUT data set Do any preliminary processing needed. Search CESD. chain entry IEWLESD from IEWLODE or IEWLRELO CD Move input information No After processi ng a II input entries in data, return :r Translation Table extent Note: ESD processing differs according to entry type and whether resolution is possible. For detai led information, refer to II Externa I Symbol Dictionary Processing". The following diagrams give some examples of processing for different conditions. Section 2: Method of Operation 57 Diagram D4. Example of Input ESD Processing (IEWLESD) °1-_ _ 0'--_--1 The input address is used to co leu late the loader-assigned address and the relative relocation. CESDSRCH :r NOMATCH Makes a CESD entry, chains it and makes ':III.~ , a translation table entry for it. loader- relative reloca- CSECTA SD assigned tion address constant CESD entry °1 - - - - - - - - ; MATCHED Changes the existing ER to SD, rechains the entry and makes a translation table entry for the input entry referri ng to the existing entry no match exists in the CESD (non resolution processing) This example shows processing for an input SD entry when a match exists (re:;olution processing) 0CD section 2: Method of Operation 59 Diagram D5. Example of Input ESD Processing (IEWLESD) o 0 Note 1. The high bit of the first byte is set on to show CESD entry is for ER. CESDSRCH ••~ <~lil " NO MATCH make CESD Go to process next ESD entry entry, chain entry, and make translation table entry MATCHED }-. make translation G o t 0 process table entry to t ESD t nex en ry existing CESD entry This example shows processing for an input ER entry when G) no match in the CESD exists (non-resolution processing) ® a match exists (resolution processing) Section 2: Method of Operation 61 Diagram D6. Example of ESD ID Translation Ir::F·i\~ I Note 1 I / / / I I / / I / CMTRCTRL L____ _ / / / / / Note 1: Note 2: Input LR entry contains the ESD ID for CSECT containing NAME. Only for object module input, the input LD is p laced on temporary chain. / / o / 1 2 3 CESD entry T T Translation Table Extent This example shows preliminary processing of an input LR. Translation insures the input ID is valid and obtains the CESD address of the related SD. section 2: Method of operation 63 Diagram D7. Object Module Text Processing Object Modu Ie Buffer • • Table and Buffer Area I Text Record • I ESD I D of text IR#5 Displacement R# 6 in input Length of I text record IR#7 ---1 r---------~ r-+ I I R# 8 Input Address for text I I I I I Text already loaded I Loaded Pro g ram's Stora g e Area CMLOWTBL \ Calculate the main storage address for the text IEWLTXT 1I111111111(~ \ V ALI D ID No Move text to assigned address; Update storage Inter if needed ~1I~1I111111111111.~ Return from IEWLRELO Return, to read the next IEWERROR to end loading record Section 2: Method of Operation 65 • Diagram D8. Load Module Text Processing RLD Buffer I /' I I Lenth of ID/ ength list Table and Buffer Area j ~ CMGETREC Text record Control record I D/length list L Text control or control/RLD record Input Input Data Set Table Area Process entire Calculate read address from IEWLODE I CMLOWTBL I LMTXT Read Address \. I TEXT OVERLAP TABLE No If required, move CSECTs to correct ao<",esses./ Loaded Program1s Storage Area Return Note 1 IEWERROR to end loading Note 1: Read text record, unless the record is to be skipped; read the following control record also, unless the text record is the last or CSECTs are to be deleted. Note 2: See Figure 12. Section 2: Method of Operation 67 • Diagram 09. RLD Record Processing Reg 7 Length of RLDs D RLD data in input buffer Note I P-pointer ESD ID CESD entry I t CESD entry 1 CESD entry 2 (for address constant) R-pointer ESD ID IEWLRLD Chain RLD TRANSID- 'III.~ Ii CESD entry 2 Translate R pointer and P pointer to CESD addresses ~lllllld~ Return to IEWLODE !I. or IEWLRELO t Note 1 , The input buffer is the RLD buffer (load module) or an object module buffer. Note 2: The Loader calculates the adcon address using the P-pointer CESD entry's relocation constant and the input RLD entry. The flags are inserted in the new RLD entry unless the input RLD is for a CXD PRo Note 3: If the type in the CESD entry for the address constant is PC, SD, or LR relocation is performed. RLD entry is chained to the CESD entry. Adcon and flags from the If the type is CM, PR, or ER, the Section 2: Method of Operation 69 secondary Input Processing • Diagram El. ---------1 I I I I Move entry paint address if names match CDE - I -- -- - -(Compare names}--- - - - - - - - - _____ L__________ ~ I Contents Directory Entry Queue I I I IEWACALL Yes ~• • •( ::.. Yes Try to find current ER name in a CDE Try to resolve each ER fram the Link Pack Area •••11••~ USE LINK ~111(;~ PACK AREA, ~~--'-~-~-r~ from IEWLIOCA entry Map Update reso Ived to next adcan ER entry Processing Final Processing Final Processing 1111.~Final Processing BLDL List move TTR Li brary Data Set Member NAME4 Library Data Set DCB Section 2: Method of operation 71 INPUT INTERNAL TABLES (TIME 2') INTERNAL TA8LES (TIME 1') INTERNAL TABLES (TIME 3') Module A o JOE SD 0 1 PR2 PR 0 03 4 2 PR3 PR 4 01 4 o JOE 200 Translation Control Table Translation Control Table CESD Contcol Tobie (CMTYPCHN) Translation Control Table CESD Contcol Tobie (CMTYPCHN) ESD 50 DC Q (PR2) I 0 100 DC Q (PR3) I 4 150 CXD 200 RLD I I I 2 I 0 3 2 1 24 100 1 1 24 50 0 1 3C 150 2 0 a SD 0 PRl PR 0 07 4 PR2 PR 8 07 4 PR3 PR C 03 4 2 0 1-------1 30000 SAM o o o I--~----j Text for Module A Module B o Text for Module A and Module 30000 JOE £1 Text for loaded Modules A and B 30000 JOE JOE CMCXDPT (;n IEWLDCOM) CMCXDPT 400 o ESD ~--~---- o 200 300 350 - I DC Q (PR1) I I DC Q (PR2) DC Q (PR3) 0 8 C I I I 2 1 24 200 3 1 24 300 4 DC Q (PR2) 0 30050 DC Q (PR2) 8 30100 DC Q (PR3) 4 30100 DC Q (PR3) 4 30150 CXD ~~-- SAM 400 RLD 30050 1 24 Note 1 30050 Boundary alignment for PR's: '07' =double word '03' = word '01' =half word 30100 DC Q (PR2) DC Q (PR3) o 4 30200 Note 2 All addresses given in hex 30150 CXD o * Time 1 - All ESD, TXT, and RLD records for Modu Ie A have been read - EN D card 350 has not been processed 30200 "Time 2 - All ESD, TXT, and RLD records for Modules A and B have been read; END card for Module B has not been processed. 0 SAM 30400 DC Q (PRJ) 0 30500 DC Q (PR2) 8 30550 30600 DC Q (PR3) C CMCXDPT 30150 C X D 30200 SAM I C 30400 DC Q (PRI) 0 30500 DC Q (PR2) 8 30550 DC Q (PR3) 4 *Time 3 - End of loading - before tables are freed 30600 Figure 15. Pseudo Register Processing Section 2: Method of Operation 75 The following text and the flowcharts in this section describe the Loader interface and the routines that accomplish the functions of the Loader. The organization of this section corresponds to the organization of the Loaderi descriptions of all routines which constitute a phase of the Loader are grouped together. For each routine the symbolic name is given to facilitate use of program listings (See "Section 4: Microfiche directory") and the descriptive name is given to facilitate reference to the "Method of Operation" (Section 2). Figure 16 shows the organization of the Loader. The flow of control through the first four levels of the processing portion of the Loader (module IEWLOADR) is listed in the control level tables included at the end of this section. LOADER/SCHEDULER INTERFACE Loader Control Portion - IEWLCTRL (Chart 100)------------------------------------ !~!!!~~L_I~QL_£Q~!SQ~L_~~Q_~~~Q£~!IQ~ PROCESSING ---------- ~2~~~E_~rocessing Control - IEWLIOCA (Charts 200-201) Entrance: This routine can be entered at entry-point IEWLOAD, for loading with identification (MVT only), or at entry point IEWLIOCA, for loading without identification. It is entered from IEWLCTRL or it can be called directly by the user. Operation: IEWLIOCA analyzes the options passed by the calling program and prints a list of options. IEWLIOCA also obtains the Loader processing storage, initializes the communication area, opens data sets, allocates buffers, and handles I/O. Routines Called: IEWLIOCA calls the following routines: the buffer allocation routine (IEWBUFFR), the buffer prime routine (IEWPRIME), the object module processor (IEWLRELO), the load module processor (IEWLODE), the automatic library call processor (IEWACALL), and the identification routine (IEWLIDEN). Exit: when loading is completed, IEWLIOCA returns control to the Loader control module (IEWLCTRL). Entrance: IEWLCTRL is entered from the scheduler when the Loader is invoked. Operation: IEWLCTRL loads the processing portion of the Loader (IEWLOADR) and passes control to it. After loading is complete, IEWLCTRL deletes IEWLOADR and passes control to the loaded program for its execution. Buffer Allocation 203) Entrance: IEWLIOCA S2~~i~~_=-I~~~QKFR_l£Q~E~ IEWBUFFR is entered from when a new input module is to be read. Qp~E~~i2~: Routines Called: When the PCP or MFT option of the control program is being used, IEWLCTRL calls IEWLOADR at entry point IEWLIOCAi when the MVT option of the control program is being used, IEWLCTRL calls IEWLOADR at entry point I EWLOAD. IEWLCTRL invokes the loaded program as follows. For PCP or MFT, the program is called at the established entry point. For MVT, the program is attached by its established program name. ~: IEWLCTRL returns to the scheduler. For object and load modules, IEWBUFFR allocates and deallocates buffers and DECBs from the Loader's processing storage. Routines Called: IEWBUFFR calls the routilne-to-free areas from deallocated buffers and DE CBs (FREECORE) and the routine to allocate Loader processing storage for buffers and DECBs (GETCORE). Exit: When allocation is completed, IEvJBUFFR returns control to the I/O, control, and allocation processor (IEWLIOCA) • Section 3: organization of the Loader 11 Storage Allocation Routine - GETCORE Entrance: GETCORE is entered from IEWBUFFR when storage is needed for a DECB-buffer allocation. Opereti~: GETCORE allocates storage from a list of areas freed from previous allocations or from storage not previously used for allocations. Exit: After making the allocation, GETCORE returns to the buffer management routine (IEWBUFFR) • operation: To read external object modules IEWLREAD uses the DeB information and the DECB to direct reading of fixed records into the buffers. IEWLREAD also deblocks the physical records and returns the address of the next record to be processed. Similarly, IEWLREAD deblocks an internal data area and returns the address of the next record to be processed. To read load modules, IEWLREAD uses the parameter information to direct reading of different type records. Routines Called: IEWLREAD calls the generallzed-read and check routines (RDREAD and RDCHECK, respectively.) Exit: After the required records are read, IEWLREAD returns to the caller. Entrance: FREE CORE is entered from IEWBUFFR when storage is no longer needed for a DECB-buffer allocation. Operation: FREECORE returns storage to a free list pointed to by 'CMFRECOR.' The freed area is blocked with other freed areas whenever possible. Routine Called: None Entrance: IEWLPRNT is entered whenever output to the SYSLOUT data set is to be processed. Exit: After chaining the freed area, FREECORE returns to the buffer management routine (IEWBUFFR). Operation: IEWLPRNT inserts the ASA carriage control character before printing the output. The proper code is obtained from the 'PRTCNTRL' table via an index found in 'CMPRTCTL'. This index is reset to space 1 unless changed before the next print. Object MOQ~!e Buff~Prime Routine IEWPRIME (Chart 204) Routines Called: IEWLPRNT calls the generalized write and check routines (WTWRITE and WTCHECK, respectively). Entrance: IEWPRIME is entered from IEWLIOCA before an object module is loaded. Operation: IEWPRIME reads records into all buffers but one to expedite record processing. Exit: After printing the output, IEWLPRNT returns to the caller. SYSTERM Routine - IEWTERM (Chart 208) ~n!Ie~~: Exit: After priming the buffers, IEWPRIME returns control to the I/O, control, and allocation processor (IEWLIOCA). IEWTERM is entered whenever output to the SYSTERM data set is to be processed. Operation: IEWTERM initializes the SYSTERM DCB, opens the SYSTERM data set, and prints the output. Routines Called: IEWTERM calls the generallze~wrlte and check routines Entrance: IEWLREAD is entered from the object module processor (IEWLRELO)or the load module processor (IEWLODE) when a record is required for processing. 78 (WTWRITE and WTCHECK, respectively). Ex~t: After printing the output, IEWTERM returns to the caller. Routines Called: IEWLESD calls the fOllowIng-routInes: Entrance: SYNAD is entered from the supervisor when an I/O error occurs. • The allocation routine (ALLOCATE) to allocate storage for a CESD entry. gperatiQQ: SYNAD determines the access method used at the time of the I/O error, and prints and accepts the error. • The translation routine (TRANSID) to build the translation table and to translate an ESD ID into a CESD entry address. Routine called: None • The adcon routine (IEWLERTN). Exit: SYNAD returns to the supervisor. • The map routine (IEWLMAP) to create a map printout. Exit: IEWLESD returns to the object module or-load module processor when the ESD/CESD record has been processed. Entrance: IEWLRELO is entered from the Input/output - control processor (IEWLIOCA) or from the automatic library call processor (IEWACALL) when object module input is to be processed. Operation: IEWLRELO requests records to be read, determines the record type, and passes control to the appropriate processor. Routines Called: IEWLRELO calls the read and deblock-routine (IEWLREAD) and the following processors: • • • • ESD TXT RLD END • MOD Exit: Processor Processor Processor Processor Processor (IEWLESD) (IEWLTXT) (IEWLRLD) (IEWLEND) (IEWLMOD) Entrance: IEWLRLD is entered from the object module processor (IEWLRELO) or from the load module processor (IEWLODE) when an RLD record is recognized. Operation: IEWLRLD builds the RLD table using the input RLDs. If relocation is not possible, the RLDs are chained from the R pointer of the CESD entry. Routines Called: IEWLRLD calls the fOllowIng-routines: • The translation routine (TRANSID) to translate an ESD ID to the CESD entry address. • The allocation routine (ALLOCATE) to allocate storage for an RLD entry. • The relocation routine (IEWLERTNI to relocate an RLD or to delink an adcon. IEWLRELO returns to the input/output ~ntrol processor (IEWLIOCA) or to the automatic library call processor (IEWACALL) when end of module is recognized. Exit: IEWLRLD returns to the object module processor (IEWLRELO) or to the load module processor (IEWLODE). ESD Processor - IEWLESD (Charts 301-304) Entrance: IEWLESD is entered from the objec~rnodule processor (IEWLRELO) when an ESD record is recognized, or from the load module processor (IEWLODE) when a CESD record is recognized. Opereti2Q: IEWLESD combines ESDs in the Loader lnput into a composite ESD. Matching input symbols are resolved. A translation table is produced to allow input ESD IDs to be translated into CESD entry addresses. Entrance: IEWLEND is entered from the object module processor (IEWLRELO) when an END statement is recognized or from the load module processor (IEWLODE) when end-of-module is detected. QP~~e~~2Q: IEWLEND processes object module END cards for entry point and CSECT length. IEWLEND also processes entry point information for the loaded program if a symbolic entry point is indicated. At end-of-module, IEWLEND resets storage pointers and clears the translation table. Section 3: Organization of the Loader 79 Routine Called: IEWLEND calls the translation routine (TRANSID) to translate an ID to a CESD entry address. Exit: When end processing is complete, IEWLEND returns control to the object module or load module processor. Entrance: TRANSID is entered from IEWLESD when-a-translation table entry is required or from IEWLRLD, IEWLTXT, or LMTXT when translation of an ID is required. gper~ti~: TRANSID translates the ESD ID to a corresponding entry address in the translation table through the translation control table. Exit: IEWLMOD returns to the object module processor (IEWLRELO). Address Constant Relocation Routine IEWLERTN (Chart 306) Entrance: IEWLERTN is entered from IEWLESO; IEWACALL, or IEWLRLD when address constant (external reference) resolution is required. Operation: IEWLERTN relocates all address constants pointed to by an RLD chain after determining the type of relocation required. Routine Called: TRANSID calls the ALLOCATE routine when a new extent is required for the translation table. Exit: TRANSID returns to the caller after translation is terminated. Entrance: ALLOCATE is entered, from IEWLESD when a CESD entry is required, from IEWLRLD when an RLD entry is required, from TRANSID when a translation table extent is required, or from IEWLMOD when storage is required for saving extent information. Exit: After the resolution, retUrns to the caller. IEWLERTN ~~!E~~£~: IEWLMAP is entered from IEWLESD or from IEWACALL when a main storage address is to be mapped. QP~~!~2~: Operation: ALLOCATE allocates the required amount of storage for the caller. Routine Called: None Exit: After the allocation, ALLOCATE returns to the caller. IEWLMAP formats the proper map entry and causes it to be printed. Routine Called: IEWLMAP calls the print routIne-IEWLPRNT and the binary-hex conversion routine IEWLCNVT. ~~~!: After printing the map entry, IEWLMAP returns to the caller. MOD Processor - IEWLMOD (Chart 310) Conversion Routine - IEWLCNVT Entrance: IEWLMOD is entered from the objec~module processor (IEWLRELO) when a MOD record is recognized. gperation: IEWLMOD processes object module MOD cards for text origin, length, and extent information. If no entry point has been defined, IEWLMOD stores the first extent address for use as a default entry point. Entrance: IEWLCNVT is entered from IEWACALL or IEWLMAP when binary-hex conversion is required. Operation: IEWLCNVT converts a binary quantity to print characters. B2~ti~~_Ca!!~~: Routine Called: The allocation routine (ALLOCATEI-to allocate storage for saving extent information. 80 None Exit: After converting the quantity received, IEWLCNVT returns to the caller. Load Module Processor - IEWLODE (Charts ~OO-~(3) ------------------------ Entrance: IEWLODE is entered from the inp~t/output-control processor (IEWLIOCA) when load module input is indicated. Operation: IEWLODE makes read requests for record types (control and/or text) as needed. IEWLODE then determines the particular record type (TXT, CESD, scatter/translation, SYM, text control, control/RLD) and goes to the appropriate processor or requests another record to be read (e.g., scatter/translation records are ignored) • Routines Called: IEWLODE calls the following routines: addresses. The read routine (IEWLREAD) is called to read the text into storage. Exit: lMTXT returns to the load module processor after processing all IDs and reading all text to be kept. SECONDARY INPUT AND FINAL PROCESSING Automatic Library Call Processor - IEWACALL (Charts 500-504) Entrance: IEWACALL is entered from the control processor (IEWLIOCA) after all SYSLIN input has been processed. Qp~~~~2~: • The read routine (IEWLREAD) to read records. • The ESD processor (IEWLESD) to process CESD records. • The end processor (IEWLEND) to process end-of-module. • The translation routine (TRANSID) to translate text IDs to the proper CESD addresses. • The map processor (IEWLMAP) to create a map printout. • The RLD processor (IEWLRLD) to process an RLD record. IEWACALl first scans the CESD for unresolved ERs at the end of primary input. If CALL is specified, IEWACALL tries to resolve these ERs from SYSLIB and/or the link pack area. After attempting to resolve the ERs, IEWACALL assigns addresses to the cornman areas and relocates related address constants. Displacements are assigned to the loaded program's external DSECT. Finally, the entry point of the loaded program is determined. Routines Called: IEWACALL calls the following-routines: • Library open routine (IEWOPNLB) to open the SYSLIB data set. • RLD relocation routine (IEWLRLD). • The load module text processor (LMTXT) to read text. Exit: When end-of-module has been processed, IEWLODE returns to the input/output - control processor (IEWLIOCA) • • Object module buffer prime routine (IEWPRIME) • • Object module processor (IEWLRELO). • Load module processor (IEWLODE). • Map processor (IEWLMAP). Load Module Text Processor - LMTXT (Charts .iQ1::. 4 03 ) Exit: IEWACALL returns control to the control processor (IEWLIOCAI. Entrance: LMTXT is entered from the load module processor when a text control record is recognized. Operation: LMTXT processes the ID/length list of the text control record to determine which CSECTs are to be retained. CSECTs to be retained are then read into the loaded program's area. If necessary, they are moved to their Loader-assigned addresses. Routines Called: LMTXT calls the translation routine (TRANSID) to translate the input IDs to the proper CESD entry Entrance: IEWERROR is entered whenever an error-occurs during loading. Operation: IEWERROR sets bit-map indicators for errors encountered, and formats and prints error messages on the SYSLOUT and/or SYSTERM data set. It also Section 3: organization of the Loader 81 determines the severity of the error and terminates loading if a severity code 4 is recognized. Routines Called: IEWERROR calls IEWLPRNT and/or IEWTERM to print a message. Exits: IEWERROR returns to the highest caller if a severity code 4 error occurs. Otherwise, it returns to the caller. IDENTIFYING LOADED PROGRAM Identification Routine - IEWLIDEN (Charts &QQ=&Q11 IeVeI Diag~Qstic_Qictio~~~-R~Q~§§!~g~t!~~_= Entrance: IEWLIDEN is entered after final processing for the loaded program is completed if the processing portion of the Loader (IEWLOADR) was invoked at the entry point IEWLOAD. IEWBTMAP (Chart 506) Entrance: IEWBTMAP is entered after final processing for the loaded program is completed. Oper~tion: IEWBTMAP selects the diagnostic messages to be printed by indexing into the message table. Routines Called: IEWBTMAP calls IEWLPRNT and/or IEWTERM whenever the bit map indicates an error message. ~: After processing the bit map, IEWBTMAP returns to IEWLIOCA. 82 Qp~~t!Q~: IEWLIDEN creates an extent list and invokes the IDENTIFY macro instruction to identify the loaded program to the control program. A condensed symbol table is also constructed if enough space is available. Routines Called: IEWLIDEN calls the extent list entry routine (IDENTER) and the condensed symbol table routine (IDMINI). Exit: After identifying the loaded program, IEWLIDEN returns to IEWLIOCA. Load Module ___ 'E_W_L..... DRGO (Alias LOADER) ( IEWLCTRL Load Module IEWLOADR (Alias IEWLOAD) IEWUOCA 1 _ _ _ _ _ _ _ _ _ _ _ _ _+l'nitialization, I-___ "'_"~ f IEWUDEN .--_ _ _ 'E_W..,UOCA Input Control, Allocation Processing Loaded Program IEWLIDEN ~ Identification of Loaded program I ~ IEWLUBR (Built by IEWLOADR) IEWACALL Secandary Input and Final Processing IEWLRELO IEWLLlBR IEWLODE IEWLRELO Load Module Object Module Processing Processing IEWUOCA ...----.., IEWLREAD Input Reading IEWLUBR LMTXT Load Module Text Processing IEWLRELO ~------01 IEWLRELO IEWlRElO IEWLRELO ....--_..1-_..., IEWLESD IEWLTXT IEWLMOD RLD Record ESD Record Object Module Processing Processing Text Processi n9 MOD Record Processing IEWLRLD Note: The CSECT containing the code of a function is noted outside the functional block. • Figure 16. Loader Organization Section 3: Organization of the Loader 83 The following tables follow control flow in the Loader (processing portion) through four levels. The routine descriptions are listed alphabetically within a level. Module: IEWLOADR-Level 1 r--------T-----------------------------------T---------------T--------------------------, IRoutine I Purpose ICalled Routines I calling Conditions I t--------t-----------------------------------t--------- ------t--------------------------~ I IEWLIOCAI Initialization, primary input I IEWLPRNT I control, and allocation processing I I I I IEWBUFFR I I I I I I IEWPRIME I I I IEWLRELO I I I I I I I I I IEWLODE I I I I I IEWACALL I I I I I I I I I I IEWLIDEN I I I I I I IL ________ I ___________________________________ I _______________ IEWBTMAP I ~ 84 ~ ICalled if SYSLOUT data I Iset is open I IIf more data exists on I ISYSLIN I IIf SYSLIN input is an I lobject module I IIf SYSLIN input is an I lobject module I IIf SYSLIN input is a load I I module I IWhen all SYSLIN input is I Iprocessed, unless SYSLIN I I di d not open I IIf the loaded program is I Ito be identified to the I Icontrol program I IInput processing completed JI __________________________ ~ IEWLOADR-Level 2 r--------T-----------------------------------T---------------T--------------------------, Purpose Icalled Routines I Calling Conditions I IRoutine I ~-------+-----------------------------------+---------------+--------------------------~ IEWACALLlsecondary input and final I processing I I I I I I I I I I I I I I IEWOPNLB IIf ERs cannot be resolved Ifrom primary input or the ILPA COMMON IAl ways I EWLMAP IIf an ER is resolved I'EWLERTN I If an ER is resolved IEWERROR IIf an error occurs I IEWPRIME IIf SYSLIB input is object I Imodules I I IEWLRELO IIf SYSLIB input is object I I I modules I I IEWLODE IIf SYSLIB input is load I I Imodules ~--------+-----------------------------------+---------------+--------------------------~ IIEWBTMAPIProcessing of error-bit map and I IEWLPRNT IIf SYSLOUT is open and I Iprinting of diagnostic dictionary I messages are required I I I I I IEWTERM II f the TERM option is I I I I Ispecified and messages arel I I I I required I ~--------+-----------------------------------+---------------+--------------------------~ IIEWBUFFRIBuffer Management I FREECORE IIf previous or current I I I I I (not the first) allocation I lis for object module I I I I GETCORE IIf no previously allocated I I I I larea is large enough for I I I I I I I Icurrent request I ~--------+-----------------------------------+---------------+--------------------------~ IIEWLIDENIIdentification of the loaded pro- I IDENTER IAlways , unless extents I I Igram to the control program I Iwill overlap Loader work I I I I I I space I I I IDMINI IAlways , unless extents I I I I Iwill overlap Loader work I I I I I space I I I I IEWERROR IIf an error occurs I ~--------+-----------------------------------+---------------+--------------------------~ IIEWLODE IProcess a load module I IEWLREAD I Always I IEWLEND IIf end-of-module is I I I I I I I I I indicated I I I IEWLESD IIf CESD record is received I I I I IEWLRLD IIf RLD record is received I I I I LMTXT IIf TXT record is read in I ~--------+-r---------------------------------+-------- -------+--------------------------~ IIEWLPRNTIPrint output to SYSLOUT data set I I I I IIf DECB was previously I I written I I I I WTWRITE I Always I I I I WTCHECK IAl ways I ~--------+-----------------------------------+---------------+--------------------------~ IIEWLRELOIProcess an object module I IEWLREAD I Always I IEWLEND IIf END card received I I I I IEWLESD IIf ESD card received I I I I IEWLRLD IIf RLD card received I I I I IEWLTXT IIf TXT card received I I I I I I I IEWLMOD IIf MOD card received I ~--------+-----------------------------------+---------------+--------------------------~ IIEWPRIMEIRead records into all but one I RDREAD I Always I Ibuffer before IEWLRELO receives I I I I I ________ LI ___________________________________ control I _______________ I __________________________ JI L ~ RDCHECK ~ Section 3: Organization of the Loader 85 IEWLOADR - Level 3 (Part 1 of 2) r--------T-----------------------------------T---------------T--------------------------, IRoutine I Purpose ICalled Routines I Calling Conditions I ~--------+-----------------------------------+---------------t--------------------------i I COMMON IAssign addresses to common areas I PSEUDOR IAlways I IEWLMAP IAlways, unless no CM I I I I lentries were received I I I I IEWLERTN IAlways, unless no CM I I I I I I I lentries were received I ~--------+-----------------------------------t---------------t--------------------------i IFREECOREIChain deallocated area to free listl none I I ~--------+-----------------------------------t---------------t--------------------------i IGETCORE IAllocate prime core for allocation I IEWERROR IIf table overflow occurs I I I request I I I ~--------+-----------------------------------t---------------t--------------------------i IIDENTER Icreate entry in extent list I none I I ~--------t-----------------------------------t---------------t--------------------------i IIDMINI ICreate a condensed symbol table I none I I ~--------+-----------------------------------t---------------t--------------------------i IIEWERRORIHandle error messages, severity I IEWLPRNT IIf SYSLOUT data set is I I I open I I I code 4 errors I I I IEWTERM IIf the TERM option is I I I I I specified I ~--------t-----------------------------------t---------------t--------------------------i I IEWLCNVT IConvert binary quantity to hex I none I I r--------t-----------------------------------t---------------t--------------------------i IIEWLEND IProcess END card, reinitialize for I TRANSID IIf END card specifies I Inext module I lentry point address I I I I I IEWERROR IIf error occurs in end I Icard processing I I I I ~--------+-----------------------------------t---·------------t--------------------------i IIEWLERTNIRelocate all adcons indicated by I IEWERROR IInvalid 2-byte adcon I I IRLD chain I I I ~--------t-----------------------------------t---------------t--------------------------i IIEWLESD Icreate CESD from input ESD/CESD I LOADPROC IIf input is a load module I I I I CESDSRCH IInput entry is not NULL orl I I I IPC I TRANSLAT IIf NULL entry is made I I I I CESDENT IIf PC or LR entry is I I I I I I I I I required I I I ENTER IIf PC entry is required I CHECKEP IIf PC entry is required I I I I I I I MATERSD2 IIf PC entry is required I TRANSID IIf LD/LR is received I I I I ~--------t-----------------------------------t---------------t--------------------------i IIEWLMAP ICreate Map entry for referenced I IEWLPRNT I Always I Ilocation in loaded program I IEWLCNVT I Always I I ~--------+-----------------------------------t---------------t--------------------------i IIEWLMOD IProcess MOD card, store text I ALLOCATE IIf extent information is I lorigin, length, and extent I Ipassed on MOD card I I I I I I I information r--------t-----------------------------------t---------------t--------------------------i IIEWLODE IProcess a load module I IEWLREAD I Always I IEWLEND IIf end-of-module is I I I I I I I I I indicated I I I IEWLESD IIf ESD record is read in I I I I IEWLRLD IIf RLD record is read in I LMTXT IIf TXT record is read in I I I I ~--------t-----------------------------------t---------------t--------------------------i IIEWLPRNTIPrint output to SYSLOUT data set I RDCHECK IIf DECB was previously I I I I Iwritten I I I I WTWRITE IAlways I WTCHECK IAlways I I I I ~--------t-----------------------------------t---------------t--------------------------i IIEWLREADIHandle request for data I RDREAD IAlways I I ________ I ___________________________________ I _______________ RDCHECK I Al ways L __________________________ JI ~ 86 ~ ~ IEWLOADR - Level 3 (Part 2 of 2) r--------T-----------------------------------T---------------T--------------------------, Purpose ICalled Routines I Calling Conditions I IRoutine I ~--------f-----------------------------------f---------------f--------------------------~ IIEWLRELOIProcess an object module I I I I I I I I I I I I I IEWLREAD IEWLEND IEWLESD IEWLRLD IEWLTXT I Always IIf END IIf ESD IIf RLD IIf TXT card card card card is is is is received received received received I I I I I ~--------+-----------------------------------+---------------f--------------------------~ IIEWLRLD I I I I IRelocate adcons indicated by RLD lentries received or chain RLDs off ICESD entry for R pointer I I I I I I I TRANSID ALLOCATE IEWLERTN I Always IIf no free RLD entry is I available IIf relocation is possible lor if delinking required I I I I I ~--------+-----------------------------------f---------------f--------------------------~ IIEWLTXT IMove object module text to correct I I I space I I I I TRANSID RELOREAD IEWERROR I Always I Always IIf invalid ID received I I I r--------+-----------------------------------f---------------f--------------------------~ IIEWOPNLBlopen SYSLIBi close SYSLIN I I I I IEWBUFFR IUnless SYSLIB was not I opened I I r--------+-----------------------------------f---------------f--------------------------~ IIEWPRIMEIRead records into all but one I Ibuffer before IEWLRELO receives I I control I I I RDREAD I Always I I I I I ~--------+-----------------------------------+---------------+--------------------------~ IIEWTERM IPrint output to SYSTERM data set I I I I WTWRITE WTCHECK I Always IAlways I I ~--------+-----------------------------------+---------------f--------------------------~ ILMTXT I I I I I IRead load module text into main I storage I I I I I I I I I I TRANSID IEWLREAD IEWERROR PROCEOM I Always IUnless record is to be I skipped IIf text record not I received I Always I I I I I I ~--------+-----------------------------------+---------------f--------------------------~ IRDCHECK ICheck DECB I none I I ~--------+-----------------------------------+---------------f--------------------------~ IRDREAD IRead input using DECB information I none I I ~--------+-----------------------------------+---------------+--------------------------~ I WTCHECK I Check DECB I none I I ~--------+-----------------------------------f---------------f--------------------------~ IWTWRITE L ________ IWrite output using DECB information I_______________ none I__________________________ JI ___________________________________ ~ ~ ~ Section 3: Organization of the Loader 87 IEWLOADR - Level 4 (Part 1 of 2) r--------T-----------------------------------T---------------~--------------------------1 IRoutine I Purpose ICalled Routines I Calling Conditions I ~--------+-----------------------------------+---------------+--------------------------~ I ALLOCATE I Allocate table extent I IEWERROR ITable overflow I ~--------t-----------------------------------t---------------t--------------------------~ ICESDENT IGet CESD entry from free entry listl ALLOCATE INO free entries on list I I lor prime storage I I I ~--------+-----------------------------------t---------------t--------------------------~ ICESDSRCHlsearch CESD for input name I MATCHED IIf name is found I I I I NOMATCH IIf name is not found I ~--------t-----------------------------------t---------------t--------------------------~ ICHECKEP ICheck CESD entry for specified I none I I I lentry point I I I ~--------t-----------------------------------t---------------t--------------------------~ I ENTER IEnter information in CESD entry fori IEWERROR IIf program is too large I I I I I I PC or so ~--------t-----------------------------------t---------------t--------------------------~ I IEWBUFFR I Buffer management I FREECORE I If previous or current I I I I I (not the first) allocation I I I I Irequest is for object I I I I I module I I I I GETCORE IIf no previously allocated I I I I larea is large enough for I I I I I current request I ~--------t-----------------------------------+---------------+--------------------------~ IIEWERRORIHandles error messages, severity I l:EWLPRNT IIf SYSLOUT data set is I Icode 4 errors I I open I I I I I I EWTERM IIf the TERM option is I I I I I I specified ~--------t-----------------------------------+---------------+--------------------------~ IIEWLCNvTlconvert binary quantity to hex I none I I ~--------t-----------------------------------t---------------t--------------------------~ IIEWLEND IProcess END card, reinitialize for I TRANSID IIf END card specifies I I Inext module I lentry point address I IEWERROR IIf error occurs in END I I I I Icard processing I I I I ~--------+-----------------------------------t---------------t--------------------------~ IIEWLERTNIRelocate all adcons indicated by I IEWERROR IInvalid 2-byte adcon I I IRLD chain I I I ~--------t-----------------------------------t---------------t--------------------------~ IIEWLESD ICreate CESD from input ESD/CESD I LOADPROC IIf input is a load module I CESDSRCH IInput entry is not NULL orl I I I I I I IPC I TRANSLAT IIf NULL entry is made I I I I I I I CESDENT IIf PC or LR entry is I I I I I required I I I I ENTER IIf PC entry is required I I I I CHECKEP IIf PC entry is required I MATERSD2 IIf PC entry is required I I I I TRANSID IIf LD/LR is received I I I I ~-------t-----------------------------------+---------------t--------------------------~ IIEWLMAP Icreate Map entry for referenced I IEWLPRNT I Always I Ilocation in loaded program I I-EWLCVNT I Always I I ~--------+-----------------------------------+---------------+--------------------------~ IIEWLPRNTIPrint output to SYSLOUT data set I RDCHECK Ilf DECB was previously I I I I I I written WRWRITE I Always I I I I I I I WTCHECK I Always I ~--------+-----------------------------------+---------------+--------------------------~ IIEWLREADIHandle request for data I RDREAD I Always I IL________ I ___________________________________ I _______________ RDCHECK I Always __________________________ JI ~ 88 ~ ~ IEWLOADR - Level 4 (Part 2 of 2) r--------T-----------------------------------T---------------T--------------------------, IRoutine I Purpose ICalled Routines I Calling Conditions I ~--------t-----------------------------------t---------------t--------------------------~ IIEWLRLD IRelocate adcons indicated by RLD I TRANSID I Always I I lentries received or chain RLDs off I ALLOCATE IIf no free RLD entry is I I I CESD entry for R pointer I I available I IEWLERTN IIf relocation is possible I I I I I I I lor if delinking is I I I I I required I ~--------+-----------------------------------t---------------t--------------------------~ IIEWLTXT IMove object module text to correct I TRANSID I Always I I I spaces I RELOREAD IAlways I IEWERROR IIf invalid ID is received I I I I ~--------+-----------------------------------t---------------t--------------------------~ IIEWTERM IPrint output to SYSTERM data set I I I I WTWRITE WTCHECK IAlways I Always I I ~--------+-----------------------------------+---------------t--------------------------~ ILMTXT I I I I I IRead load module text into main I storage I I I I I I I I I I TRANSID xEWLREAD IEWERROR PROCEOM IAlways IUnless record is to be I skipped IIf text record not I received I Always I I I I I I ~--------t-----------------------------------t---------------t--------------------------~ ILOADPROCIPreliminary processing for load I CESDENT IIf entry type is PC,SD,LR I I I module CESD I I I ~--------+-----------------------------------t---------------t--------------------------~ IMATERSD 2 1Test length and request map entry I CHAINING IAlways I ~--------t-----------------------------------t---------------t--------------------------~ IPROCEOM IGO to process end-of-module I IEWLEND I Always I ~--------+-----------------------------------t---------------t--------------------------~ IPSEUDOR IAssign displacements to pseudo I IEWLPRNT IIf displacement is I I lassigned I I I registers I I I FINISHUP IAlways I I I I IEWLMAP IIf displacement is I I I I I I assigned I I I IEWLERTN IIf displacement is I I I I I assigned I ~--------+-----------------------------------t---------------t--------------------------~ IRDCHECK ICheck DECB I none I I ~--------+-----------------------------------t---------------t--------------------------~ IRDREAD IRead input using DECB information I none I I ~--------t-----------------------------------t---------------t--------------------------~ IRELOREADIGo to IEWLREAD for more input I IEWLREAD IAlways I ~--------+-----------------------------------t---------------t--------------------------~ ITRANSID ITranslate input ESD ID to CESD I ALLOCATE IIf new extent is required I I address I IEWERROR IIf table overflow or I I I I I linvalid ID occurs I ~--------t-----------------------------------t---------------t--------------------------~ ITRANSLATIMake a translation table entry I TRANSID IUnless LD entry I ~--------+-----------------------------------t---------------t--------------------------~ IWTCHECK ICheck DECB I none I I ~--------t-----------------------------------t---------------t--------------------------~ IWTWRITE output using DECB information I _______________ none I __________________________ JI L ________ IWrite ___________________________________ ~ ~ ~ Section 3: Organization of the Loader 89 Sample Flowchart Chart 001. FUNCTIONAL SYMBOLS * SAt-1PLE FLOWCHART *··**~1********** * *o *,. PROCESSING BLOCK *0 o 0 ************* •• *• • o. 0* 0" *. *. B1 *. *. •• DECISION •• BLOCK ." *. *•. * . * ***** *001** C3** ** * * **** * o o ·_··c1·-··*-*-* .TERMINAL BLOCK 0 * * *************** * o ·• 1 .• *****C3********** ****C2********* • l_>! *::*: * * ********** •• ****** MULTIPLE, USE * '" OR MODIFICATION BLOCK • *********** * * **** * ~* *'" * 03 . '. *0 • * ---*. SlIECIFIC CHArtl, SUbkOUTINE. AS IN A *. *. * *--0 *0 *. *. , . * 0 * • 1 Goro ***El************ * IS NOT ON ANY :*::*:->1 * **D1******- -PREPARATION'" '" A[~I) THl:. TEkHINAL BLOCK IS USED TO SliOW USEt( EN1fU AND EXIT POI.HS WHEN 'lHE PROGI;{Al'-l BEING FLOW'CHA}{TFD IS AVAIL'",BLE. '10 AN It,', CUSTOHbR. IT IS ALSO USED AS P..(~ ~XI1' CONNECTOR WtU:N 'JHE LOCATION l:;EING DRM~CHED TO · * USER ENTRY * **************** * * BLOCK C3 IS EN'I1:'H.ED FH.Ot-l TrfIS CtiART FROH AT LEAST ONE OTHEr< CrIAHT. *****E3********** *SUBUM 003A1* *---------------* INPUT/OUTPUT BLOCK *, , ***************** TH!:. INSTRUC'1'IObl AT SYHBOLIC LOCATION GCJTO CALLS A sumWUT'INr: NAMED SUBNY!.. ThE LOGIC OF SUB Nt<': IS StlOWN ON CHARI 003 STAKTING AT BLOCK 11.1. ,, , ***************** 1<---------*****Fl********** * 0 *---------------* * SUBROUTINE * ** o ***************** '" BLOCK ****F2********* 0* F3 .* * *<------*0 * *************** * LI *. *. N •'" . *. *. USER EXIT E S C R *. , . * *. *. • *. * * c3 ** * *.** * 0*---->* ON-PAGE EXIT CONNECTOR -C01~T[{OL ----------> TRANSFErlS 10 BLOCK c3 ON THIS CHA.RT. o S *****Gl********** '" * * ** ·PREDEFINED * * PROCESS ** *'" * * ** *'" ** ***************** ON-PAGE CONNECTOR S I N G • ****H2********* * ----------> LINE JUNCTION *****H3********** * * *---------------*:+ *V'ARIABLE RE'l'URN*<--------* • *************** * o "'Jl-*- * 0 *• • **** ** ** ***************** 1 . :+**** *002* * *A1* , OFF-PAGE CONNEC10R -CONTROL TRANSFEHS 10 BLOCK 11.1 ON CHA.KT 002. OFF-PAGE CONNECTOR 1 . ***** *002- • lU* * * Charts 91 • Chart 100. .. Loader Control Portion *POHTION NAME IS* .:+ * IEWLOAD * '" **C4******* FREBMAIN LOADE.D * **04******* '" FREEMAIN PARAMETEH '" •* * LIS'!' *********** * j ****1::4********* 1 .*. ** • R}::rURN *****"'********* PRMSETUP *'" * *. *****F3********** *****F4********** .* *. *. ygS * SET PARAMETEH * **SAVE Lt:NGTH OF :+* *COUNT = LENGTH * *. PARAME:TER . *-------->* OF LOADER *-------->*PARA~l.E TERS F'O.c\. * *. LIST • * * PARA!.VlETERS'" *LOADEIJ PROGkAr-i * *. *.• *. * * * * * ***************** ***************** i<::---------------------------------.. ______________ *****G2********** *IEWLOADR 200A3* *------------ ---* •* LOAD PROGl;{AH * •****** ** ***** ** *** 1 ** *:+ * **H2******* DELETE PROCESSING PORTION *********** ** ** • 1 J2 . *. * . . * • :+ LOADING * • *. NO :+ ~*---->* *. *. * . *.* *.. * *. SUCCESSFUL rES *****K2********** * * 92 ..... * * 04 :+ * * J '" '" '" * WAlr FOR '" * '" TERfI ..INATION * * OF PROBLE.M '" * PROGRAM '" *********** * '" *" '" **eS******* DETACH PROBLE~J '" '" PROGRA[\~ ************ '" *SAVE AREA AND* ATTACH '" '" •* PROCESS '" PROGRAtvl :*::* :->1<------------------------1 * PROCESSING * * PORTION * ************ * F2 j. . . '" LOADED 1 '" '" *********** '" l<------------------------ LOAD ** *PROGHAM AkEA '" •* * ******** ***** **• **E2******* ATTACH **E5******* '" '" **** CTRLB.TRN ******02********** LOADER * PROCESS! NG ** *PORTION NAME IS* * IEWLOADR * * EXECUTE LOADED PKOGRAM * * * ***************** ro * '" 1 *****C3********** *. '" "i';" '" *********** '" 1 . *. *. NO *-------->* . '" **B4******* '" *********** .* *. *.IEWLQADR • '" j *GETMAIN FOR *SAVE AREA AND* * ATTACH PARAMETER * * LIST * **A~******* "'. *.PORTION NAME. •*************** • **B2******* IS .*PROCESSING ** * '" • Chart 200. Initialization, I/O, Control, Allocation Processing (IEWLIOCA) FROM IEWLCTRL FROM IEWLCTRL OR IEWLOAD ... ... ... .* •• Ai"'........ -- '" *****A2*"'******** ... SHOW '" "'IDENTIFICATION ... IEWLIOCA'" .PROGRAM WANTED '" IEWLO~DR *<--------* ENTRY POINT I *************** OF LOADED .. ... '" .. ... INFORMATION ·GETMAIN -- '" *4K BYTES FOR ... • TEMPORARY' STORAGE'" ... (INITMAIN) ... ... ... ... SET SYSLOUT '" 'RECORD SIZE TO '" YES • '" 1 00 ***.*C3********** '" MOVE SYSGEN ... ... OPTIONS AND ... ... ..*.............. DONAMES TO INITMAIN .. ..***03***** ••••• '" *... ..... • •••• *••• .. TSO OPERATING .'" ... • • ... .SET . YES "'-------->'" • TSO FLAG INITMAIN "'*E3.****** * IN. . * • '" • FREEMAIN • '" . *. • •••• * ...... "'.. .• ••. * * ··i~~:--------------::::::::j········ MNCKDDNM • "'. G1 *.. • •••• G2* ••• *.*... •• *. • • ... USER •• YES .MOVE DDNAMES TO. *. DDNAMES ••-------->* INITMAIN •• PASSED . . . . *. • Hi •• •• • * .• ·l·~::----------------------j .~ •• PASSED * •*.• F3 •• • •• YES * ------->. * • ... *. • * • • **.*.**."'* • *• MIiMAINOK * •••• Kl***.*.*... • ESTABLISH AND • INITIALIZE * • COMMUNICATION'" * • AREA • * ·······**l·**·**** ••• * ->.•• B3 •*• ***. TERM gK~~~g .. *. *. •..• • •••• F4.*.*.***.* ALLOCATE '" SYSTERM OCB '" •* YES . *.• -------->: * DE~3~~~,R~Nb : .. *. . • *. *. •• *.***G4***.* •••• * G5 .* WAS *. ... • ..... •• SYSLIN ... YES • INDICATE * •• PRINT •• YES ·.CONTROL BLOCK.·-------->· INT~RNAL DATA *-------->*. SPECIFIED .*---l •• PASSED • • • MEA. *••.••. * ... *. • .* ••• *.*.*"'****** NO .• :::~~ 'C~ *. • • ••. .• ••• •• !.:O .201* .. •••• *83 ••••••• **. INITIALIZE SYSLLN DeB • ... • * *• * ········r······ •• • ... J3 •' • *. PRINT *. *. NO '. '. SPECIFIED •••• -------~ *. •• :.::.:->1· 1 • *. •• ··l~~:--------------~~~~~~::J········ *. MOVE D C B . ADDRESSES TO • INITMAIN ·1·:,,"',,-----::::]········ STORAGE FOR • • G3 MNVCGTMN MAIN STORAGE •• J1* •• **.. *GETMAI.N -- • .~o~g~ T~£~~AM •* 1· ** ••• 82**.** •••• * . ·····I~:~;:~g~E ••••••••••• *..... .• • • •• DCBS •. *. • * -- • TEMPORARY '" STORAGE • MNPRMSCN F'l F2.......... •••• • • .* USER *. YES * gK§§~gs *-------->: SCAN OPTIONS : • • j *** •• £2*.* ••• **.* '. c:--------------::::::::j········ • •• *'" *••••• ** ••••* • ALLOCATE AN~ ... CHAIN SAVE • AKEAS • EXTRACT TSO • • FLAGS ... • • "'. •• *•• *••••••••* ---------;;;;.;;;;-->1 •• 01*...... *. '" "'RECORD SIZE TO ... • 121 • .I. J ... SET SYSLDUr ..... ... ... • • "'. *. .* . ... "'..'" *.• '" ... *****Cl********.. *. .' ."'. "'. IS TSO OPERATWG ***************** '" El B3 • ... .<--------.. '" *. 81 ... **** *****82.********* ... ••••••••••• I ... '" ... •'" **** • B3 *--~ •• 81*****"'* .• • '" IS IEWLOADR -IEWLOAD ENTHY POINT **:t************ .**************** ANALYZE ... • .***A3* •• ****** *<--------* CONTROL ... (Part 1 of 2) .• •• • •• * • ·201* YES • '" :i· .*.* • •• *.K3.* •••• ***. .'. **.*.K5 ••• **.* ••• • • • MAKE SYSLOUT • • SYSLOUT DCB *--------> •• CONTROL BLOCK •• -------->.ONL~ DCB TO BE * • • *. PASSED .* ... OPENED • K4 •• . .... * WAS • INITIALIZE. .* SYSLIN • * .*.** •• *** ••••• *. •• *. YES ....... *.!*. ~o **... *201. ... A2* •• * .. *****·**1********* • •••• *201* • A2* '" *... Charts 93 • Chart 201. Initialization, I/O, Control, Allocation Processing (IEWLIOCA) (Part 2 of 2) ***** *201* * A2* ** • 1 ***A2**'********** OPEN DATA SETS ***************** 1 • '" *. .•, ***** *201* * Cl* · '" B2 . *. IS SYSLOUT *. OPEN "'. MNALQCPR *****B3********** • '" *IEWBUFFR 203A1* PRINTOPT *****B4********** *IEWLPRNT *****85********** 207A2* *IEWLPRNT *ALLOCATION FOR'" '" '" '" SYSLOUT '" ***************** HEADING '" '" *****************'" OPEN SYSLIN DATA SET ***************** MNMAPHDG *****C2********** *'" : * '" ALLOCATE ONE j-------------------------------------------*. J.'. l 1 * ***** * *IEWLPRNT 207A2* *---------------* -----* PRINT MAP * HEADING * * ***************** ***** * MNALOCRD ****"'E3********** *IEWBUFFR 203Al* .I. ..... . ............... . *****G2********** *IEWLRELO 300A.1* *---------------* * OBJECT MODULE * * PROCESSOR * . MNBI TMAP *---------------* *****F2********** F3 *. *****F4********** *lEWPRIME 204A3* .* IS *0 *IEWLODE 4002\.1* *---------------* NO • * INPUT A *. YES *---------------'* * OBJECT MODULE *<--------*a LOAD a *-------->* LOAD MODOLE; * BUFFER * *. MODULE • * * PROC}:!SSOR * *INITIALIZATION * '" a •* * * ... ::::::::!........ * ***** * -->* DIAGNOSTIC * * DIRECTORY '* * PROCESSOR * ***************** *ALLOCATION FOR * * SYSLIN * ***'*********'***** _ro~" **** *'" E~ *--1 *****E5********** *IEWBTMAP 50611..1* *---------------* *BUFFER -- DEeB * . ~""", j ***FS************ CLOSE Df\TA SETS ***************** j * **G5******* *E't<.EEr-lAIN ,.. STORAGE NOT --* * * ***************** LOADED * PROGHAh * *********** a *0 *. * . . * * *.. * a :->1* , YES * *. *. NO CONDITION 0 *--*0 CODE> 4 0 * *0 ::: . 0 * * r~s *****JS********** * F'J:{EE LOADED '" PHOGkAM AKE.A , ***************** 1 . *. . *0 K2 *. K3 *0 *****K4********** *. 0* *. "'IEWLIDEN bOOA1* * LOADER *. YES * IS *a YES *---------------* • *. INVOKED BY • *-------->*. EXECUTION • *-------->*IDENTIFy LOADED*----*. IEWLOAD • *0 SCHEDULED. '* * PROGRAM * *a a* *a 0* * * * •• * *. 0 * ***************** * NO NO •* & * **** ->** E5 ** * **** * .'. *c · · *---------------* *SECONDARY INPUT* * AND FINAL * * PROCESSOR * ***************** l tiS *. **** ** 1 0* *****J2********** *IEW'ACALL SOOA1* 94 NEEDED BY 1<-------------------------------------------------- • *. H2 *. *a *"'** a* * * NO. * END OF *. * E3 *<----*. SYSLIN a* : *:;* a ,,·:::··············:::::::::::::::::··1 .....J.:::. . '" . *. . * MAP •. •• *. SPECIFII:;D. * * *. 0* *•• * • * IS *0 •* t. *IEWERROR 50SA3* YES a * SYSLIN AN *0 NO •* IS *a NO *---------------* ___ to INTERNAL DATA. *-------->*. SYSLIN OPEN. *-------->* IEW1024 -'" *a AREA a* *. .* * FAULTY DDNAME * *. •* *. 0* * '" * •• * * • • '" ********"'******** YES ***'" **** ** E3 **-> ->'"* J2 * * ***** * cs • "'. NO • '" ***************** t-mEOCRET '" 1 NO '" '" -------->: Bu§~~~ob~R * '" SPECIFIED '" '" ***************** **** ***Cl********'**** 207A2* *---------------* *---------------* *---------------* .*-------->*BUFFER -- OEeB *-------->* PRINT LOADER *-------->* PRINT OPTIONS '" YES t. * •. * • '" ~~g: *->1' 1 *. *. * l ***** ***** * ->* E5 ** l<'" , ****K:'"J********* , · HETUd.N *************** • Chart 202. DCB Exit Routine (OPENEXIT) ·· ·*"''''A3''''''*'''***** '" OPENEXIT EXPRINT *****B2********** '" FORCE RECORD '" LENGTH=81 OR '" '" YES. :Fo~~kTf Fka~DASA:<--------*' *.. '" *. '" PRINT CONTROL '" B3 *. *. *. SYSLOUT • ",. '" '" • ***************** I .*. .. '" *************** • '" *.. '" ro el . "'. *. 0"" '" "'. SYSTERM t,.. * 1 *.. '" *****C4********** YES :r~~C~Ri~~ ~~~t,! .*-------->*REC LE,NG'l'H=81, *-------->*. *. *. ..0. : B~~§¥~~;hl: cS SPECIFI~D *.*~Y USE~*.* ***************** D3 .*. 1* EXUNDEF *. ***.*D4********** .* *. *. YES '" I~ "'FORCE NUMBER *. *. UNDh:C'INED. FORfvlA'I' .. *-------->* CHANNEL '" '" PROGRAM3=2 o '" I *..* * •• * * NO * * ***************** 1 .*. EXLRZCL **** * * ->* J3 * * * **** .*. *****E1********** E2 *. E3 *. * * 0* *. .* *. *FORCE LENGTH TO* NO • * RECORD *. YES. * IS * 80 E'OR SYSLIN *<--------*. LENGTH 0*<--------*. FORMAT * OR SYSLIB * *. SPECIFIED. * ** •• .. * * ******************* L_______________________ I > *. II FIXED **'•• .. * * • .* D~ .*. NO :*::~ YtS **** '" *. *. * • '" SAME AS "'. l{EC()HD SIZE • "'.. *---1 YES *..* *. 0 * . * NO **** **** * * * ** J3* ->* Kl ** * * * **** **** l *. •* * 1 YES NO . *. *****Fl********** F2 *0 * * 0* *. * * NO 0* BUFNO *. *' FORCE BUFNO=2 *<--------*. GREATER • *' *. THAN 1 • * ** ** *0'* ***************** *0 • * .* *0 .* F3 . *. *0 *. *0 IS FO}{MAl' VARIABLE, • *. * . . * * • * •• * l--------------~~~~;----->1 * '" OFt -*---1 *.. '" NO EXLIN . *. t. . *' '" BLKSIZ~ '" *. YES *1 "'XI' 'FIX .c *****G2********** * * *FORCE NUMBER OF* * CHANNEL * *PROGKAMS=BUFNO * * * ***************** " *****F4********** *IEWhRROR 30SA3* YES *---------------* *-------->*' IEW1043 -* * ERROtt * * (PEH1"lAllENT) * ***************** j NO *****G3********** * * *FOHlE FORr".AT 10* -----* FIxED * * * * * ***************** 1 . '. *. * * * ****G4********* rt~TU~N *************** * * * * *****113********** 0* • * BLKSIZE * *. NO * FOke£:.. LJLY-SIZE ** *. SPECIFIEU • *-------->* 10 kLCGR.D * H2 *. *. * •• * * i .* * * :'::*:_>j YES V *****Jl********** :+ *KOUt'lO BLOCK '10 NEXT HIGtfFR INTEGRAL * :+ * *. J2 *. * IS >1<. *~ • * BLOCK ~N EXTl{NhCK I-.iO *<--------*. * >I< ***************** :* *::* :->1 • IN'I'EGRAL OF • *. ** *:f. *****.J3********** I' XZERO 0 • L~ECL.* *. * •• * * 'lES IEWI012 -- i:.l2 KU ,jUFNO .iN TH~ * 'I' _lC';~ ******************* * :~~~~~~~~--~~~~~: * ** *-------->* A * **** v *****Kl********** . Lt,l:JGTti ****:f.************ . *------------------------------- *INVALID BLKS!ZE* ***************** ·*• V ****K3********* 1-<1 dJkt-; .* ********:t.****** Charts 95 • Chart 203. Buffer Allocation Routine (IEWBUFFR) FROM IEWLIOCA ····Al········· • IEWBUFFR •• •••••••••••••••• • • j .*. *. ~- . AND DECS'S *. . *. *. . •. •*PICK •••• 83UP•• POINTER. *•••• **. B4 ... FOR *. *. NO . *B2 At~'Y*. *. .. * PREV *. ...85THIS *. *. •• .* PREVIOUS *. YES • TO THE READ • .*ALLQCATION *. YES • *ALLOCATI ON *. YES *. CHAIN *-------->*. FOR LOAD .*-------->*. FOR LOAD .*--*. SYSLOUT .* .*-------->*. *.ALLOCATION.* .*-------->*• OECS (CMRDECPTI. *. MODULE .* *. MODULE .* *. *... *... **..... *. * • * **.... . '. **... .. " * '" * * YES *NO "'NO *NO 81 *................ DEALFIXD 1 I~~~I~:~: .*e4....... * ... USE OEca • *CHAIN TO FREE. OECB I 5 AND. BUFFERS * * **"''''* •••••• ' ' • ------~------------------------------------------->l ALOCFIXD CHKFORMT *.03.*.**** * ALLOCATE • ... DECS'S'''' "'.*"'*E2***."'***** •'" * '" * ·····r···· = N P .* ......... E3 ••• *. FREE RLD • ... **•••••••••• * * • *. •• F~Dij£~D •••• <---------------- * . . .. .... ~ES • ALOCUNDF *. ·f" 1 **84******* '" '" STORE POINTER'" YES .'" FOR.. • TO DECS CHAIN *<--------"'. SYSLOUT.'" * IN CMWDECPT * *. •* * ALLOCATE '" '" RLD BUFFER '" *AND 2 DECS ' S * *.*.*F3********** *MOVE 'DCSSLKSI'* • TO * '" COMMUNICATION * *****F4********** • STORE POINTER. * TO RLDSUF IN * • COMMUNICATION '" "'.. * 'AREA ·~g~~I~~I::FS~3~=.·<--------·· • ••• 1iiit~iij~~ .*C5******. * ····r··· • • 'AREA :*;:*: **** * G1 ** * '" t. ::~~~ NO *PICK UP ADDRESS* * RETURN i * *END-OF-FILE AND* * END-QF-CONC ... ·· I RDINCORE • *. • *0 *. *0 B4 *. *. B5 *. *0 0* .* .* .* *. YES 0* FIRST *. NO .* *. YFS *. INTERNAL • *-------->*. RECORD • *-------->* 0 VARIA.BLE 0*---1 *. * DA.TA AREA. * *0 .* *. FORMAT • * 0'* *. 0* *• . * *.. * *.. *.. * ***·*Bl********** ... SET BIT IN ... ... . ****A3********* •... EODAD * • *************** * **** '" * • **** *. l---------------'~·::~~~s:~:~::·"~--------------l ·· .. · **** * E1 *--1 **** *****E1********** *USE COUNT FIELD* •*TO * DEBLOCK NEXT* * RECORD * ***************** . :•*;~* :->1 • .* . *E2 *. t . . *. *. NEW RDl'Xr *. t . BLOCK i NEEDED **. •..** .* NO • *--- ....*****E3********** .. STORE LENGTH '" * AND ADDRESS I aOUNDEFN + *<--------*. *. FOR RECORD *0 * INTO DECB .. TXT ONLY '"******************' YES • . *E4TES'],*. *. .* REGISTER *. i TYPE **. . ..** R~D .* • - *****E5********** ..'" STORE LENGl'H .. AND ADDRESS * *-------->* rXl'/RLD INTO OECB]'O I READ TEXT .. '" *****************'" ONLY **** . *. *. Fl •* *0 * AT END *. ---*. OF DATA SE'l' • * *~ ~* *. *•. * . * ***F2************ READ NEXT :**:~* :->1* * **** RDII1C1 •* *0 0* Gl • *0 VARIA.8LE i ***************** *. 0 CHECK NE,XT BUFFER FOR NO *----- COMPLE'ILION 0 0 ***************** RECORD *****Jl********** * SET FLAGS IN * * IEWLDCOM .. INDICATING * END-OFFI LE & ** * END-OF-CONC * ***************** -->* *****~1********** INTBRNAL * AREA FLAG *----* OFF * ***************** • * 98 ** STORE NEW ** * * ******************* I ****J2********* * RETURN ** • *************** * -->* * * ****H3********* RE'l'URN *************** * RLD ***F5************ * I COMPLETION ***************** I ***GS************ '" READ THE RLD HECORD ***************** I 1 *'" • THE TEXT '" RECORD HEAD ***************** ***G4************ CHECK FOR j *****H2********** *-------->*R8COHD ADDHESS * INTO IEW'LDCOM * * * ***************** I ***************** 1<---------- *****Hl********** * *SET POINTER TO * * SET •,.*DATA I ***G3************ CHECK FOR COMPLETION * INTO BUFFER READ ***************** ***************** I YES * * RECOHO ***G2************ *. FORMAT * *. *•. * * ***F4************ * kEAD A TEXT BUFFER NO *. * . ***F3************ BLOCK INTO LI\ST EMPTIED YES. ***H~************ ****.ti4********* • * * RETUti.N * * *************** CHE;CK l'HE T.J::.XT rtt-'AD ***************** 1 . *. *****J4********** JS *_ * * •* *0 ** INDIChTE l'40 * ________ YES * END-OF- *. * DATAl *<: *. CONCA'],ENA1'lON. I '" 0 ** *. ***************** I **.. . .* * . * . .".l.::" ..... ****K4* ******** * * • RBTU~N *<:-------* *************** CtiECK TH~ RLu KEAD * .***************** * • Chart 206. Library Open Routine (IEWOPNLB) FROM IEiiACALL ····Al·········• *• • IEiiOPNLB • ••••••••••••••• I B2 . "'. *oo ••••• B3.......... • •••• B4* ••••••••• ..'" *. *. YES . . SAVE SYSLIB . . . . . ..lNSERT LOADER' 5*... *. .. '" WAS '" EXIT ROUTINE ... *. *. PASSED .. '" *-------->*. SY'SLIB DCB ... -------->.ADDH.ESS~S FROM *-------->* EXIT ROUTINE ... 1\ *. PASSED ... ... . • ADDRESSES ... *. too .* ..'" *...... . . PASSED D e B...... *•• * ••••••••••••••••• • ••••••••••••••••. . .. • 81 . *. *. 0 WAS *. .. '" SYSLIN YES CONTROL BLOCK. i ...ct............ NO '" CLOSE SYSLIN .i.NO NO .. '" DATA SET C2 *• . *SYSLIN WAS *. "' .. ---0. CONTROL BLOCK.' *. PASSED .* ............*.... *. *.• * ..'" rES ••••• Dl........... . . . .••••• D2*** •. *****.. ... ... MOVE INTO DCB '" ... ALLOCATE DeB '" ... '" ... :DDN~R~=~~~LIB:<--------:AND INITIALIZE : ... ·······r······ ............•.... ***£1········**** * OPEN srSLIB DATA SET *************.*** 1<---------------------------------------------------------------------------• o. Fl *. . *• * OPEN *•*. *. *. .* * •. *. * NO *. SUCCESSFUL • *--- rES ********** ••*****G1 SET 'LIBRARY *• ** INDICATION OPEN' ** · . *******.********* I *****H1********** *IEWBUFFR 203Al* *---------------* * ALLOCATION BUFFER ** •*****************• 4 l~------- o ****Jl ********* • · ,.. RETURN *************** . ,.. Charts 99 • Chart 207. Print Routine (IEWLPRNT), Write Routine (WTWRITE), Check Routine (WTCHECK) FROM IEiiLPRNT OR IEWrERM . . . r. .· •••• A2 ••••••••• * • * lEiiLPRNT •••• A4 ••••••••• •• * • • B2 -. •• *. • ••• S3 ••••••••• .* IS *. N O . • SPACE.<-------*, SYSLQUT ,.-------->. RETURN * •,.. *. *OPEN .* • • ..* ••••••••••••••• LINE. • .......1'...... ,.. " *, .• C1 ,*, *. LINE COUNT *. *.POSITIVE *..* ...,,,.. "j';" YES ..... I ·····B4·········· • *• 'SET WRITE FLAG IN OECB * * ••••••••••••••• * ••*• OF BUFFER • • •••••••• *•••••••• ..... 02 .......... ,.. PUT CONTROL . , . . • INTO 1 S T ' • PICK UP BASE • CHARACTER OF • • LINE COUNT • BUFFER·· .. ,.. " •• I • ••• Dq ••••••••• ,.. • • ,.. . •• *• •••••••••••••••• * RETURN ········I:==::---------=:=:r······ ·... ·E1.·····.·.· •'STORE • NEii LINE' ,.. COUNT • • • .. [ " •. 85 , .. .. .. ..... .... NEED CHECKING " NO •• --- r~s ••• CS •••••••••••• iiRITE THIS BLOCK ········1····..·· .....01.......... WTCHECK •••••••••••••••• ••* ••• C4 •••••••••••• *, NO 'PUT EJECT INTO' ,.-------->* 1ST CHARACTER • ,.. • •••• AS......... . • J • •••• C2 •••••••••• • • .* •• *••••••••••••••• * ,*, BY WTiiRITE FROM lEiiLPRNT OR IEiiTERM • CHECK OECB ••••••••••••••••• [ ••••• 05.* •••••••• * 'TURN OFF • FLAG IN * • • WRITE • DECB • ..• ......[::::--• •·••• E5·.*.····* RETURN *• • *••••••••••••••• • ••••••••••••••••••* [ ·····Pl ......... . •* * * ••••••••••••••••••• RESET CONTROL • • CHARACTER TO • I SPACE l' ,.. 1 .* *. .* Gl , " *. *. AT END •. OF *. BLOCK • •••• G2.......... *. YES .• • *-------->*•* r •. .• •• *WTWRITE . .... G3.......... 207A4*. ,.. .PICK UP POLNTER- *---------------* WRITE THIS BLOCK .-------->. * .* * • ••••••••••••• *.. TO NEXT DECB .*WTCHECK .... G4.......... •.... Gs ......... .,.. 201AS*'" *---------------* .SET POINTER XO ,.. .*** •• **** ••• ***. ********* ••• "' •• *. .-------->* FIRST RECORD IN* •.-------->*.CHECK THIS DECS.* • BLOCK • • • . • • ••• **.**.* •••• *. o ·*··*H1···.· •••••* • 'SET POINTER TO 'NEXT RECORD IN • BLOCK • • ••••••••••••••••••* ,~,. [<----------------------------------------------------------- ••••• J1 •••••••••• • STORE POINTER • 'TO NEXT RECORD • IN ·CMPUTREC· .. * .. • AND CLEAR BUFFER • • ••••••••••••••••• I ••••• *•.• •• •• ·*··K1 RETURN •••••••••••••••• • 100 • Chart 208. SYSTERM Routine (IEWTERM) FROM IEWERROR OR IEWBTMI'.P Al •••• ••••• ••••• IEWTERM •- -•••••••••••••••- • I -·····Sl··········-••••••••••••••••••-* -GET BOFFER MD • • DCB POINTERS - 1 .* .• Cl .*. *. *. IS • •••• *. •••• S~~i~RM •••• *. *. .• .• NO *INITIALIZE DeB. -------->: -- ~~g~~~:s, . • OP POINTER' TO CURRENT • • ...C3............ :-------->. • • ••••••••••••••••• . . J.::.... •'PICK C2.......... • • • OPEN SYSTERM DATA SET .* • ................. I C4 .*. .. *0 OPE~ *. NO .* ....cs ••••••••••• :+ SET TERM • INDICATOR OFF: • • .-------->•.• ~UCCESSFUL••••-------->: *. ••••••••••••••••• *. .• .,. • •••••••••••••••• .. . ,..1.:::.... ..INITIALIZE *<------------------------------------------------------------*• *SUFFER AND DECS* .• ····05···.· .. ·. • • • ••••••••••••••• *.*.* .. "' ...... *** • I . AND.. CHAIN DECS'S • • *' RETURN • • ·····El*····*···· .---------------. -WTWRITE • 2071'.4' WRITE THIS • •••••• * ••••• ** •••••* • BLOCK I · . I ... *·Gl·*···***·· ***··Fl.···.*.··· •-PICK • OP POINTER' • TO NEXT DECB • ••••••••••• * ••••••* ·-.---------------... -WTCHECK 2071'.5' 'CHECK THIS DECB' ········l········ • · •••••••••• •• BUFFER • ·······r······ •····Jl*·*······ • -••••••••••••••• .. RETURN • Charts 101 • Chart 300. Object Module Processor (IEWLRELO) FROM IEWLIOCA OR IEWACALL •····Al********* •.. IEWLRELQ .. **************** * :*::*:_>[ * • •••• RELOREAD *****Bl********** *IEWLREAD 205A3* *---------------* -->* .. .. GET A RECORD ,.. .. .. ******.********** .. .. .. •••• BS."'.**.* •• Hr.;'l'URN ************ ••• .. .. * A 1 I-:::---------------------1-:::---------------------------------------------->l *****C4********** *****c!)* ******** ... Cl- *. *. *. ... C2" • *. *. ... C3" • *. *. *IEWLEN'J 307A.l* *IEWFHHOR ~o!:>p.J* " END-OF*. YES ... WAS END *. NO •* DUMMY *. HO *---------------* :i----------------* *... *. Cot~CATENA.I'ION. *-------->*. CARD • *-------->*. DATA. SET • *-------->* END-OF-~ODULE *-------->* WAt{NING .. .* •. RECEIVED .* *. .* .. PROCLSSING" *UEwl1A2) -- ,w* ... I *. ... . .. . . . . .. ....* * * *. ... NO .. . . . . ENIJ CAI{D * ***************** ***************** I *. ... • *oo • *. 01 *oo 02 *. *****03********** *****D4********** • * IS *. •* *. * SE.T * *IEWER.ROR S.05A3* • * RECORD AN *. NO •* *. YES * END-OF-FILE, * *---------------* *. OBJECr • *-------->*. INTERNAL • *-------->* END-OF*-------->* IEW1141 -*---1 CARD •* *. DATA AREA.. • CONCATENATION. f\ • RECOttD NO'! • *. •• *..* * FLAGS * * OBJECT CARD * * •• * * •• * *******.* •• *****. *****.*********** * YES * NO **** I HEL010 .0 j 1 l_____________________________________ · 1 L:;~::*: : *:~*: :*::* :<-1 **** Y~:3 .. *. .. *. I EWLTXT • *. TX'l'10 •• E1 *. E2 *. *. *****E3*.*******. E4 *0 E:> *• *. .* *TRANSID 309A1* •• *. .* *. • '" TEXT *0 YES • * WAS MOD *oo NO .---------------* • * ZSD FOR *. YES •* T.t.XT *. •• RECORD .. *-------->*. CARD .*-------->*TRANSLATE TEXT *-------->*.. 'IEX'l .. *-------->*. MAkKED •* *. oo. *. RECEIVED... '" ID TO CESD • *. Dl!.FINED • * *. D1:.LETE • * *• • * * • • '" '" POINTEg * *0.* *• . * * •• * * •• * *"''''************** * •• * * •• * •* NO 0* F1 • *. *.. •• RLD *oo RECORD *. .. r *•• ** * *****F2********** *IEWLRLD 305A1. **** •• YES * • • *-------->* .---->* Bl * •* * RLO PROCESSOR * f\ * • .*** *. ··r" o· .---------------* . . ......... .*. G1 •• *****G2*.******** 0* *. *IEWLESD 301A1* •* ESO *o. YES *---------------* *. RECORD • *-------->* *--*. •* * ESD PROCESSOR * f\ *0 0* * * * •• * ****"'************ *NO 1 . *. Hi *. ***.*H2*.***.**** oo*.. *I~WLEND 307Al* END *o. YES *---------------* •* *. CARD • *-------->* *--*.. • '" • END PROCESSOR • *.. * •• * • * * * Jl '" *.*.****.* ••• **** NO J I *. NO YES ... ---*oo • B1 * ·······r. ···· . *o. *****G4*********. G5 *. * SET T~XT * .* *o. *RECEIVED FOR NO* YES • * NO •• * LENG'lH CSECT *<--------*. LhNGTH •* • INDICATOR * *0 CSEcr • * * * • • • '" *.*************.* * •• * l *NO ------------------------>1 . *. *****114******* •• * H5 *. * * .* *• *MOVE TEXT FROM. YES 0* ENOUGH *. *BUFFER TO AAIN *<--------*0 STOHAGE POl{ • * '" STORAGE * *. TEXT •* *0. * *********** •• **** *•• * *. 1 *. Kl * 102 *. (:~) ,*, *. *. *** •• K2********** "'IEWERROR 505A3* **.* SYM *. NO .---------------* * * RECORD .*-------->. IEW1152 -*---->* B1 * .* *INVALID OBJECT * * • *o..* • CARD • **** * •• * .***.********.*** .. * NO ... *****1-'5****.****. ***..... ** SET TEXT * HEC1'IVED * INDICATOH. • • * ,*, ***.*J2***.**.*** J4 *. *IEWLMOD 310A2* •* *o. 0* MOD •• YES *---------------* NO • * HIGH *0 *. *0 CARD .. * .. *-------->: MOD PROCESSOR :---1<------------------------------*· *. T~~~s~gOR ••• * *. •* • * *o. •* •• • * ****.*** •• **.**** *o. • * •* 1* NO ***** * 1* I * '" : NO ****J5*.***** •• * ERROR EXlf : ************* •• TO IEW'£RROtt YES **.*.K4********** * * .UPDATE HIGHEST • * • • TEXT ADDRESS *---->* 81 * * *.. • * •• ** ** ••••• *.**** •• ** (It:ril194J • Chart 301. ESD Processing Routine (IEWLESD) FROM I EWLRELO ESDSTART OR IEWLODE *****A2********** (Part 1 of 4) *****A3********** ** SET 'ESD'S'"* ... ··*·A1****·····'" ... * SAVE CURRENT .*. * **** . . IEWLESD ESD 1D *-------->* RECEIVED' *---->* Cl * .'". **-------->** ... * lNDICATOR * * .. **************. * * . . .****************** **** ***************** B2 ! NO • --*. ***** * C1t ** *301* * t _* . *. el : *. NOT DELETE, OR LR.. *.SD, .*-------->* LOADPROC c2 • • ** **-------]_v ****************** **** A ••• * ON LOAD CHAIN * 1 * MODULE ***** *302* * F5* .. * :3gj* *--&PI **** ESD10 * Dl *, *.• * 1 * ::ELIMINII.RY PROCESSING FOR YES V OBJECT MODULE .*. *. *****D2********** *. * * ESO *. YES *SET TO ER WITH * * TYPE WX • *-------->*WEAK CALL FLAG *---->* .* • * IS *. * * .SAVE ESD ENTRY *.. • * 01 : *_ *****B3********** YES •* t. YES • * END OF *.• *-------->*. YES *****C4********* * BEING • *-------->*. CESD LOAD • *-------->* RETURN * *. PROCESSED. * *. •* *. CtlAIN • * * * *. •* *.. * *..* *************** • *IS LOAD.. *. *. *..* **** * .*. ESD *. *.*IS TYPE= PC *. *. * • • * . * ** ** ***************** * •• * :*::* :->1* **** ESD12 .* .* E1 .*. IS ESD *. *. TYPE :*::* :->1 **** E2 .* *. *. .* YES *-------->*. YES LOA.o20 *****1::3********** * * *MAKE NULL CESD * *~u~~E~~~~y. *. *-------->: El'lTRY *..* * * * •• * ***************** ESD15. NULL. *' *..* * •• * * * * ***** * *:;g~kl NO *. E1 **** * * * Fl * * * ** ** • *. CESD *. *. ~O :-------v * NO Ai ****** Eso20 Fl"*·*. LOA010 YES F2" '*. :-------v . : G2**--1 v * cs* * * *****F3********** ** MAKE PC ENTRY ** ESO *. *. YES .* . * IS PC *- *. NO *. *. TYPE PC • *. *-------->*. *. g~~~~~ *. *-------->: IN CESD *• • * *• • * * * * •• * * •• * ***************** *, NO **** * *301* .* · * IS ***** *302* ***** *304* * *b~* * **** ESD35 .*. .*. BSD40 .*. Gl *. *****G2********** G3 *. G4 *. •* *. *'IRANSID 309Al* "* *. • * Ct.SD * • • * IS ESO *. YES *---------------* •* so *. NO • * ENTKY FOR *. '{ES *. TYPE LR OR .. *-------->* TRANSLATE. ESO *-------->*. DEFINED YET. *-------->*. LD • *-------1 *. LD •* *1D TO CESD PTR * *. .* *. Cr:.EATt.D • * v *• • * * * *• • * *. . * ***** * •• * ***************** * •• * * •• * *302* ' l l' NO 1* YES CESDSRC~ "0 , *:~* ESD~O *****Hl********** *****H3********** ** SAVE so CESD ** : SEARCH CESO ;<----------------------------------: ENTRY ADDkhSS ! * * * * ***************** ***************** ** ** 1 *****rt4********** ** £l".:AKE LD E.1.>J'!ttY * IN CESD A.i.W * Ct1p-~;~Ai~ LD * *****"'*********** :-------v **"'** *302* * ",. * • . *. J1 *. * • *. NO MATCH *'*. FOUND .*_*-------g *. **"'** *. _* • * *302* * YES * A1* L'lO-f.iATCrl PROCLSSIim • *· * t *",* * **** f':ATCH *303* PROCi.SSlNG '" Al* * * Charts 103 ESD Processing Routine (IEWLESD) Chart 302 • (Part 2 of 4) ••••• *302* • A1. •NO-MATCH *-&I PROCESSING * NOMATCH Ai .. * . * IS · -. *. *. ESD *.. *****A2* ••• ****** *• MAKE SO ENTRY ** YES so ••. *-------->: *. . * • *",.,_ I TYPE *•• * IN CESD :-------~ ,.. ***************** NO Bi · *. *. .* . *IS *. ESO TYPE PR *. •:* *. · *. *. ** *------------------------------* ******************* ** YES *-------->* .* * • ~~P~sgM •• * •• * i NOMATLD 01 ~ • *. *. *:*:~~ _____ * IS ER 1 *****c3********** * MAKE eM ENTRY * * LENGTH AND * • A.DDRESS * ***************** ***************** *EXTENDED ENTRY * * • * MAKE ER ENTRY 1 .*. *. . *' * so MARKED *. DELETE *. IN CESD * * *. ***************** · *. *. Gl *. IS MAP SPECIFIED *-*'* ENTR~ IN TRA.NSLArION TABLE ,. . *. * ADDRESS FOR * * *. *. * RELOCA'I'ION ***************** *****F2********** YES !CHANGE J~R TYPE: TO ER * • *-------->* * * *. ** * * * MAKE ********t******** *•• * * *****G2********** *IEWLMAP 308A2* *---------------* • *-------->* *------------------------------YES ::~::~:*:::*~~::: j" L:~__________________________________ *. *. * * • * :~~;* *I<:~-------- * F5 *-> * * v **** NEXT20 .*. *. *****F4********** F5 !GO TO NEXT ESO : yEo • *' * ANY *. *, * ITEM *<--------*. M.ORE EGO •* * * * ITEMS • * * * *..* * * NO *****05********** ** • * ->* F5 * • TYPE LD • * *.. * * •• * *****E4********** E5 *. SET INDICATOR • •* *. * TO USE LOADER * YES • * IS ESD ASSIGNED *<--------*. T~PE ER * *. *. *. • ;~g~: *->1* *****.*****.***** ··l*~~:--------------::::::::j***-*·** *-*' • • • "** l ***** ** *..* *. TRA.NSLA.T ** *------------------------------> * * ***************** 0* 1 **** ** * * IN CESD • '" CHA.INING *-r *****D2********** .* Fl *-~~* NOMATER *. MAKE LR ENTRY ** ***** *302* *****C4********** cS *. * * .* *. >:EXT~~gE~N~~~RY : ________ >:IN~~*~SSE~~ER ! ________ >! E2~~~NB~E~~PE ! ________ >*:* INP6~ ESO *:*:~~ * MAKE eM *****El********** ** ***** *302* NO *'*';ES NOMATLDl IN CESD * ** .* . * IS ESD *. *. NO *. TYPE LR OR • *-------->* *. LD •* ESD TYPE * *. MAKE PR ENTRY *****C2********** .* •• :~. *****B2********** *. *. (0 .• Cl *304* •• *. * . . *. * NOMATCM ****. **** i 0 -***'*~~I~~*'**** *'i'~O t *301* :+- Cl* * * * YES. * 0* GS *. * • A.NY *• *. &-------*. *~~5}{~~~I~N. *' * I :;~i! * .'*. _.. * *:r NO LD20 H5 YES.* 6-------*.*~ ***** *301* ','j' *. • • * END *. I,. OF CESD *. *. .*,* **.. . .* '" ****J5********::t. •* *'" R~'I'URN * *************** - 104 • Chart 303. .**** *303* ESD Processing Routine (IEWLESD) (Part 3 of 4) . . .*--l ,. Ai'" '" * * MATCH ~PROCESSING '" **** A~ '" **** • "'. Ai *. A2 *. A3 *0 A4 *. AS *. . * *. .* *. .* *. .* *. •• IS CESD *. YES .* IS ESO *. NO .* IS ESO *. NO .* IS ES~ *. NO .* .* 1& so *. *. *. *. TYPE so .* • *-------->*. *. TYPE SO .* • *-------->*. *. TYPE ER .* • *-------->*. *. TYPE eM .* • *-------->*. MArtKED ESD I'YPE *. DELETE .* • *..* *..* *..* *..* IS LD/LR *. . '" *•• * *•. * *.. * *•. * *.. * MATCHED .. . *. *. l' • NO MArSDER • *. MATSDCM l_:;;gj·. YES ... • *. :*::':->1* * l'tIA'l.'&DLR l' YES *---1 YES NO :'::; **** ..... **** . *. *"'.'" UPDATERC *. *. *****B4********** *****85********** .* MOD .* B3 *. *. . . .. *IEWERROR :>05A3* .. '" CARD *. NO .. * IS SO *..*-------->* YES .UPDATE RELA'lIVE* *---------------* •• RECEIVED FOR .*-------->*. MAHKED RELOCATION *<--------* IhWl102 -* B2 • *. A *. MODULE.* *..* *•• * * *. DELETE .* *..* * •• * YES 1 * * * .. • .* *. *. *. *302* * OS* * * * '" DUPLICATE * ENTRY IN '" C~SD .. ........[........ * *****02********** *****D3*****.**** • USE LONGER *.. * *. YES *LENGTH AND MOST* .. MARK NEW SD .. • *-------->* RESTRICTIVE *---1 .* DELETE *.-------1 .* BOUNDARY v *0.* .. * * * **** .. *. ... ****.************ ***************** *302* * NO ***** * c4* .* D1 ..,:::::............ *MAKE * SO * * *SYMBOL MArCd --* * TYPE CONFLICT * ***************** ..~.. 1 *****C3********** ADD CSECT * * LENGTH TO *----.. MODULE LENGTH .. MATCHPR I .. NO .****C2*****"'**** .'. * CONSTANT" * * ***"' ...... ********** IS eESD TYPE PR *. * * ... 1 MATCHCM. :3g~: • *. MATCMER • *. *** MAl'CMCM • *. • *. • *. E1 *. E2 *. E3 *. E4 *. r..5 *. .* *. .* *. *. NO .* *. *. NO .* *. *. NO .* IS SO *• *. YES • * IS CESD *. YES .* IS ESD .* IS ESD .* IS ESD .* *. TYPE eM • *-------->*. TYPE ER , • *-------->*. TYPE CM • ,..-------->*. TYPE SO • *-------->*. MARKED • *--*. * . . * . * *. * . . *.• *. * . . * . * *. * . . * .• IS ESD TYPE *. *.DELETE .* • * LD/LR "' •. * *.. * *.. * *.. * *.. * • NO rES rES *****F2********** * * SET DELINK VALUE TO ZERO * * * *' *' * •****.*.*********** .. ~.. *302* * * 05* * * rES *****F3*******"'** * * * USE LONGER * LENGTH * * * *****F4******.*** * ,.. USE LONGER * * LC~GIH '" * * ********** ... ***** ***************** j j * '" * *****G3********** * * * * * ***************** * SET DELINK * *VALUE TO INPUT * CM ADDRESS * '" • *****F~********** *IEWERROR 305A3* *---------------* * lEW1102 -* *SYMBOL MArCH --* TYPE CONFLICT '" ***************** * j<---------- *****G4********** * • * FREE EXT ENDEO * * FNTRY FOR CK * * .* 1 o r * * *****G~********** ** SET DELI NK :+* *VALUI!: TO Ltt/LO * '" INPUT ADDt *. TYPE ER .*---------------------------------->*. TYPE SD • *-------->*. TYPE C~ • *---1 *. .* *. *. .* *. .* **..•.** **.•..** .* *:to. ..** **....** •* *. 1 \]S~R NO ***** *304* 1\.1* * '" * '" 1 TYPE 1* YES YES ***** *302* 05* * * * * 1* Y~S ! *::: ****! *****K4****"***** * * *MARK so DELETl!. * * * * ***************** *****K5*******"'** *lEWERROR 305A3* *---------------* IEW1102 -* *SYMBOL MArCH --* TYPE CONFLICT * ******"'********** ->* B4 ** ->** 84 '"'" * * '" l *.... '" *"'*. * * * l .... * **** '" Charts 105 Chart 304. ESD Processing Routine (IEWLESD) ••••• . • ••• * *304* • Ai. o *304 • .. A2* . . .. i (Part 4 of 4) 0 I CESD TYPE ,',IS ER MATERSDl ~ •• ***A3******"'... *.*.*A4*********. ... Al t. *. '•" ••• *A2*.****.*.*.. *IEWLEI<.'l.'N 3 0 b A l . " .* IS ESO *. YES .. lvlAKE so ENTRY" *---------------* .TAKE !::.NTRY OFF * *. IN CESD *-------->*RLD R.~LOCATION *-------->* *. TYPE SD . .. • *-------->*.. . . . . PROCl!.SSOR" * ER CHAIN *..t '" .... .... * t . •• .*.************** ********* ••• *.*"'* ••• *.*.********** MATCHER t- · 1 .*. pg~:-->l NO 81 .* • * IS t. *. *. ESO TYPE ER *. f.lATERER *. *. .* " 0' •* YES 62 .* IS .t .. *-------->*. .*. *. MARKED *. DELINK *..* ~O " C2 *****B3********** *. CESD t. • '" YES ...SET .. OFF" DELINK • *-------->*AND CLl:!..Ak FIELD. * ... * '" C:--------------::::::]········ ,', *. *****C3********** SET WEAK CALL'"• FLAG OFF IN CESO ** .'" . * IS ESO *. *. NO *. MARKED WEAK • "'-------->* "'oo CALL •* * *. .* * ·'r~~::_____________:::::::T""'" , 0, D2 *. .*IS ESD *. .* "'oo *. MARKED NEVER CALL *. *•• '" . * *. .'" • MATERLR '" .. **** MATERcr1 *****E2********** **EXTENDED MAKE CM '" ENTRY'" .. *. * '" MARK ER ENTRY * * * IN CESO NEVER CALL '" '" ***************** **** *302* l ->* * C5 * "1*· UPDATE ACCUM.ULATIVE L~NGTH. *****04********** *I~WL~~P 308A2* *---------------* * • FORMAT MAP ENT~Y * **** *****E3********** '" [4AKE Cf.'l ENTRY * I *****G1********** *IEWLERTN 306A1* *KLD RELOCATION * *---------------. * • *****************0 I *****81********** 0IEWLMAP 308A2' *--.------------* * FORMAT MAP * ENTRY * •******************• AA~~" 1 ·• <------ --- -- -- -- -- -- -- -- - -- --- --------- -- - -- -- -- ----- ------- -- ---- -- ------ --- .• *****Jl****·*·*** OT~KE • o ER ENTRY OFF 0 CH~IN • • ***** ********.**. ! ***** *302* '" oe4* • • 106 • * '" * ***************** 1 PROCESSOR '" * .......'l'::::::::----------------- ***************** • ** * l'iATEHSD4 •**"'.*F1"'***"'***** * MAKE LR ENTRY •• * •• IN CESO ••* ~.~~, *******,..********* *****C4*.***.**** ** * * * '" YES ENTERLR ~J::S M~TEHSD3 *. *. *. NO ESO * IN CESO AND * *. "'.TYPE LRLD OR .. * .. "'-------->* AND ENTER *-------->* EN'lER ADDRESS * ESO TYPE * LENGTH AND '" * OF EXT ENDED * *. .* IS CM * ADDRESS * * ENTRY '" *.. * ***************** ***************** .* . *E1 IS NO C5 *****03********** * '" *-------->* l->***** *302* * • Y~S '" **** ."'. B4 *. *****85*******." • *. *. NO .. '" .* .* IS *&~T ·~O L~N6TH'* *. LENGTH ON • *-------->* INDICATOtiS ,.. *. ESO CAHO • '" * * *..* * .. MATE! * BNTR':J: TO 02..1:. * *~ El< •* *LOA.0ER-ASSIGNhD* *. .* * ADDRESS * ****h1··*****·* · ·:*::* :->l • * IEWLRLD *************** **** RLD10 .* .. Bl *. . -* *--t - - ·*. .'" FROM IEWLRELO OR IEWLODE *. *. ANY *.• *-------->* NO '" *..:+t. RLD'S TO PROCESS .* :+ *..* *... * *. i~~:--------------:~::~~]******-* v RL049 RLD19 ****B2********* RETURN '" '" *************** · *. B3 I R'*. *4 *****L~********** • *IS *lEWL.!::.R.TN 30bPl* **** • *POINTING TO*. YES *---------------* * * *. SO, PC, OR • *-------->*!{LD RELOCA.'IION *---->* G3 * * *.. LH *..* *.. * el .-. *. RLD70 .*SPECIAL* .. RLD FOR *. YES *. *. *. ENTRY POINT *... * .* .. :+ .. NO : • c3 *. rtLD30 .. C{v\ *. * * 03'*·* D4' L~" '*. .*IS 'R' * . . *.* IS 'R' *. *. UO ,*POltJTING 1'0*. *. f'OIN1'ING TO • *-------->*. EH FKOM •* *. *•. * * YES ***************** **** .. *. YES '" TO • *-------->* o *****01********** D2 *. *0 *TRP..NSID 309Al* .. * *---------------* .* VALID * . NO :+ TRANSLATE' p' * ________ >*. 1 pi POINTER. *__ _ * PTR TO eESO * *. .* * ADDR * ...... * * *****C4********** *****cs********** * *lEHLE.RTN 306Al* SET DE.LINK * *---------------* INDICATOH *-------->*.t<.LD ttl!.LOCA1ION * * * '* PROCESSOH * * * ******************* ***************** *. *. * . . * . * * * PROCESSOl< * * ***************** r *::*! **** ·-.*. · * .:+ IS IRI *. POINTING *---1 1 * * * ro rES .* • *. PR .* * .. * • * :t. rES LR **....'" * * • * NO f;------------------------J E1 .*. *. • * .. * eSEeT *. *0 RLD60 *. *. *****E2********** * .UPDATE TO NEXT * * YES *****E3********** * Sl:.'I PR **• INOICA'I'OH. .*-------->* 'R' - 'p' .. * * POINTER **<-- " *. * •• *. '" ******************* MARKED DELETE l->! 1 * Fi NO .-. *. * .* . *RLD FOR *. *. *. *ACCUMULATIVE. . REGISTER • * *. * ... * . '" :->1* * * ***************** l **** Bl : **** <- ------- --------- ---- --- - -- - - --- - - - - --- -- - - ------- * RL080 *****F3********** * * *CHAIN RLD TABLE* * ENTRY TO CESD * *---1 *::*: YES * : *::* NO : * * **** **** . *. *****G1********** *TRANSID 309Al* .* G2VALID*. *. *. NO *--------.. ------*NO •* * rRANSLATE 'R' *-------->*. 'R' POINTER .*--*POINTER TO CESD* *. .* * ADDR * *..* ***************** * •• '" :*::* :->1 YES :*::*:->1 * **** * RLD50 .* . G3 *. .* *. NO • * *. <----*. CONTINUATION .*. ALLOCATE H1 *. *****H2********"'* *. * • '" .. * FREE *. NO * GET AN RLD *'" *. RLD TABLE .*-------->* TABLE ENTRY * RLD48 ENTRY . '" *. •* * * *•. * *·1*~~::-------------::::::::j******.* *. .. .*---1 YES 4 * *****H3********** *****Ji********** J2 *. ** MAKE TABLE ** .* . * RLD FOR *. *. NO * ENTRY FOR RLD *-------->*.ACCUMULATIVE * * *.REGISTER .* ******************* ** •• .. * * * .* •*UPDATE TO NEXT ** * FA FIELD * • * * * ***************** * 1 .* rES J RLD40**** *. *. • YES <______________________ *.. * ENTRY * * ***************** : *:;* : RLD100 *****K2********** *CHAIN RLD TABLE* **** * ENTRY TO * * * * ACCUMULATIVE *---->* G3 * *REGISTER CHAIN * * * •****************** 1-. · *. *4 ****J4********* *..*-------->* NO * * RETURN * *. * PROCESS • * **************** * ..* * .• * * YES **** * * H1 ** ·* *. * **** * .* J3 HORE RLD'S TO l ->* **** Charts 107 • Chart 306. Address Constant Relocation Routine (IEWLERTN) FROM IEWLESD. n=~k£L OR IEWLODE ···"'At"'····"'' '··• • IEWLERTN * •'" •••••• ** •• ** ••• • :*::*:_>[ • **** • • *. ' • . * *. ****B2.******** END OF *... *-------->* YES '" *... *..* RLD CHAIN RETURN *. .* ... .. *. *.. *. '" *****.*.******* ERRTH Bl (0 . *. . '" Cl *. *. .* ADCON *. *. *.LENGTH = BYTES 2 *..* *... '" ..'" C2 .* IS YES .* .*-------->*. *. . *. *. RLO FOR PR *..* *... '" [<::______________________ ER10 j .****C3********* • *. *IEWERROR 505A3* *. NO *---------------* IEW1112 -*------------------------------.* .*-------->*.INVALID 2-BYTE * .. ADCON ... *** ••• *********** YES •*****01********** • • MOVE ADCON TO • • WORK AREA ••'" •• ****** •• ****.*.*. El 1 .'. .* .* IS *o. ER60 *. *. YES *****E2 ••• ******* *****E3********** •• ***E4*.******** '" "'.. .SUBTRACT DELINK." ' . . ."'MOVE AOCON BACK'"'" • SET OELINK ''"" DELINKING .*-------->* VALUE FROM *-------->* TO TEXT *-------->. INDICATOR OFF. "'o. NEEDED .* '" ADCON * * " ' . * *o. .. * • ,::c YES •• ---"'.. *. ... *o. *. •• "'o. ISRLD FOR PR *o. :to. . . . . . . . . . . . . . . . . . . ·······r··. · (0 o.* •• "'o... • ... '" • • • •••• F4 ••• *** •• * RETUH.N ** •• *.* ••• ***"'* '" • • ER40 Gl .'. *o. G2 .'. *o. *** •• G3 •••••••• ** o.* *o. o.* USE *oo '" USE RE IVE • • * BRANCH *o. NO • * LOADER- *o. NO '" RELO ON * *oo TYPE RLD • *-------->"'. ASSIGNED • *-------->. VAL • *o. •* *o. ADDRESS. * * dELO ON • • o. o.. .o.o. ' " * FA '" *o. o.* *o. o.'" .*********.* •••• * ::::------'1 ,., 1 '" "., • **.*al* •• *****.* '" USE LOADER• • ASSIGNED * .1. *****H2****.***** H3 .o. ***.*H4 ••••••• *•• * USE LOADER- • .* DOES *o. • • • ASSIGNED. o.* RLO *. YES * COMPLEMENT '" '" ADDRESS A S . • ADDRESS AS *-------->*o. INDICATE • *-------->* RELOCATION * • ADCON VALUE • • RELOCATION • '.SUBTRACT . ' FACTOR' * •• FACTOR * "'o.o.. * ....... ~[:...... •• J4 •• • **** '" · ·1'~~:--------------::::::] ........ ................. ER50 ER20 *•••• J3** •• ****.* * . 'ADD RELOCATION • *****J4.** •••• **. "'****JS •• **.** ••• '" " ' .• FREE THE RLD •'" 'MOVE ADCON BACK' 'FACTOR TO ADCON.-------->. * * ................. * VALUE * TO TEXT .-------->.* :'l· J:'i················** A '" TABLE ENrRY ........[.. '" • • '" *.***** ** •• ·····K5*········· •'UPDATE TO NEXT •• *RLD TABLE ENTRY* •• •• ••• *.*.** ••••••• * ***. ->.• Bl • l• 108 ."'** • • Chart 307. End Processing Routine (IEWLEND) FROM IEWLRELO OR IEWLODE "' •• "'A1*"'''''''.''''''·. * '" : NO IEWLEND : *************** '" B1" • '" *. .* "'. *. *. AT END *. OF MODOLE *. l' .* *•. '" "'. . '" • YES • *---------------------------------->*. (\ IS CSECT *..* l' "'. . '" • YES '·1~~:--------------::~~~~~J""'" *. D1 *~ .* EP *. • *ADDRESS OR *. YES NAME • *------------------------------> *. RECEIVED .. *. *. * • • * . * * I *. "'. YES * A NO B4"' .* *. IS *. LENGTH ON *. END END~;***B5********** *. CARD • '" • *IEWERROR * *..* *. . * NO : * *. *~ WAS 1 • '" *-------->*. END CARD PROCESSING • ' . FOR OBJ MODULE .~:' :->1' **** END13 END19 *****C3********** * UPDATE TEXT * * POINTER BY * CUMULATIVE LENGTH YES * *****C4********** ~05A3* '" ---------------* IEW1082 -'" *'*" LENGTH NOr SPECIFI~D * j ***************** *****C5********** * UPDATE TEXT . . . . .. * POINTER BY * * UPDATE TF.XT * * LARGER OF * *POINTER TO LAST* * CUMULATIVE OR * * TEXT RECEIVED * *END CARD LENGTH* * * ....,. '[':~~~~~~~--------- ~ ~~~~~~~I~~~~~~~~_ --- ---~~::::~~j"" .,. *****D3********** * UPDATE TEXT * * POINTER TO * * DOUBLE WORD * * BOUNDARY * ******************* 1 NO E N D 2 5 . *. E3 *. •* *. ****l!.4********* a* IS *. NO .* IS *. NO .* SPACE *. YES * * *. ENTRY 10 ON .. *-------->*. ENTRY • *----> *. EXCEEDED • *-------->* FHROR EXIT * *.END CARD .* *.SYMBOLIC .* *. .* * * *..* *..* *..* *************** ENDE.NTRY 0* .. El *. *. 'NO-LENGTH' *. NO .* • .* *.. '" Cl *. *****C2********** *IEWER}{OR 505A3* a* ANY *a YES *---------------* *. ENTRIES ON a*-------->* IEW1132 -*. LD CHAIN. * * INVALID ID *. ~ * * * ENDEPCHK * . '. :t • • '" * '" '" **** * C4 '" I END-OF-MODU~E*** '" V (OBJECT OR LOAD) B3" *. ~~OCESSING EN010 END LNG Ali **** '" B3 '" '" [ . '" 0 r--*·*·RE~~~~ED *. .* 0. .-----------------1 **** '" a '" *. ENDSYM. *. •* E2 i YES Fi *. "j';' *..* * * * SET ENTRY A.DDRESS EQUAL TO ZERO *** * * <-- -------- *****H1********** ** SAVE ENTRY POINT ADDRESS NAME ** * * * * ········l········ G2 ** * * *'"******************* I *****Jl********** *. *. *. l'lO . * .* IS ENTRY POINT • *----> *. *. SD OR LR • *.. * * *'l*'~ES ********[********* END100 SAVE SYMBOLIC * *****Gl********** * ** ENDTRCLR *****F2********** ** i *. . * YES *. IS ENTRY *. YES *a ADDRESS ON • *--*.END CARD .* .* . * *. *. *... * *... * .i. *. TO lE.WERROR NO (IEW1194) *****F3********** ** * * * !. . . .. CLEAR TRANSLATION TABLE ........ * *** * *****G3********** * FOR **INI'IIALIZE NEX'l' ~ODOLE * * ** * * * ***************** ENDEPADR *****H2********** ..* * * * SAVE ENTRY * POINT ADDRESS *----- * * * "'**************** V • * ****H3********* RETURN * * • *************** * *"'***J2********** * * IEWLRLD 30 SAl * * *---------------* *-------->* * * PROCESS RLD '"* ..****************** ******************* .. *CREATE RLD FOR * ENTRY POINT * A.DDRESS ENDADDR *****Kl********** ** 1 K2 .*. *. *****K3********** ** .* *. *IEW~RRGR ~05A3* YES. * rlAS EP *.• *-------->* NO *---------------* *<--------*. ESD BEEN U:Wl132 -* * *. RECEIVED. * INVA.LID Il) ******************* ** .. .* .. * ***************** * .. SAVE ENTRY POINT CESD ADDHESS ..1., * **** 83 **** * ' 1 . , • * **** * h3 * **** Charts 109 • Chart 308. Map Routine (IEWLMAP) FROM IEWLESD OR IEWACALL '" .. .. ****A2********* I EWLMAP *************** .. • '" *-------->*. .. .* A3 " *. *. , HAP :+. .sPECIFIED • to NO" .* *-------->*'" .... " *..* ****A4****-**** i{blUKl'l *************** *'" .. rES ,. , *****,84*******.** .* B3 IS *. *. *0 YES *IEWLP8NT 207A2* *---------------* *. *0kECOHD FULL. *-------->* .. •* * PHINT LINE .. ." *. .* * "1~~:--------------:~~~~~~~j ........ C3 , " *. .* TEXT *. *****C4********** *. *. *. .* .* * .• * •" *. .. .. .'". ..'" PASSED YES '" tif.T PRELOADED '" 'THROUGH MOD. *-------->*'l'EXT DESIGNA'IOl{* RECORD · 1 0'" • '" * a D3 .... . . Ii'ROM E3 Jc3 : **** *. *. . *. '" *1 *****D4********** *0 *. AUTOMATIC CALL • *****. • *. l->: .*** ***************** NO *. * YES * .. MOVE IN AUTO .... • *-------->"'CALL DESIGNA'lOx*-------->*. * * * * * ***"'******* •• *.** NO * * * * ******.*****.**** MAPPC F3 ,', *. .**.*F4*.******** . ro G3 ." *. TYPE BLANK COMMON *. *0 *'" .--- "'*.**G4********** *. .* • YES • MOVE Il~ *• * * $BLANKCOM F'OR NAME * '" *-------->* .* * * ··i:~··············::::::::j::··:-::··· **H3******* *• MOVE. IN $PRIVATE FOR '" NAME * * *************"'*** *.• * . * IS CONVERT ADDRESS •.. . '" *"'*"''''*.**** • 1 •*****J3********** • *MOVE ADDRESS TO* ·· * Billo'FER . * **.*********.**** 1 ****·K3····"'····* * • '" UPDATE BUFFER • * *·**K4*··***"'·'" • • POINTER .-------->* t{ETURN * *• *• '" .* •• **** ••• **** * .********** ••• "'*'" 110 YeS .... _--] *. . '" 1* NO V :.::~ £3 • *. ...* .* ·• . .. .*** a* *. '•" YES .a• * IS PCTYPE *.a.-------->* • ..... • l->..·...... 1 """" *. *. *• MOVE IN LINK ** * PACK ARE:A '" DESIGNA1{;R '" * ***"'************* '" MOVE NAME AND '" *TYPE Tu BUFFER • *0 FROM SYSLI8 ***"'*E~*.*."'*"'*** *.. "'. . *. • V ****"'e3***"'****** • '" *. D5 .-> ***.* '" MAPNAME MAPCM .* • '" * "'.fI** Translation Routine (TRnNSID) chart 309 • o •••• Al ••••••••• *o TRANSID ••••••••••••••• 0 0 0 \ ,0, Bl 0, * ID ZERO *oo *,oot ..EQUALS _ *oo,0 ______________________________ YES *oo .* *oo r *oo ... ... o ••••• el •••••••••• *** ... * CONVERT ID TO TRANSLATION CONTROL rABLE *0 ENTRY ... * 0 ••••••••••••••••• 01 ... *. .* 1 ,0, *oo WAS TRANS ERR *oo CONVERSION *oo *. * POSSIBLE .. '" ..* .. NO .. '" *-------->*. .* *oo *... '" ,*, *oo ENTRY *. EXPECTED *..* TRBADID ••••• D3 •••••••••• *IEWERROR *. .. '" YES YES \" 50SA3* *---------------*. IEW1132 -*-------->* .. *-------->* 1\'" • * ... '" 1 * 02 INVALID 1 0 . ' " ... ••••••••••••••••• E:~ •••• 04 ••••••••• N.ETUR~J .. ... ••••••••••••••• ... PROCESSOR WAS CALLER. TABLE OVERFLOW •• • •• El ••••• ••••• ... CaLCULATE THE. • ••• E2 ••••••••• ... TRANSLATION . . . . . . ... * CONTROL rABLE • 0 ERROR EXIT • · ... ENTRY ADDRESS . . . . ... •••••• ** ••••••••• 1 ..••........... ... TO IEWERROR IIEW1204) .. *. Fl *. . * . '" EXTENT *. *. NO *. •• ALLOCArED YET •• •. *. • ... .• . *. F2 *. .* ..'" ENTRY * . *. YES •• -------->.. EXPECTED •• ----> •• YES • 1 NO l ESD PROCESSOR WAS CALLER ••••• Gl.......... CALCADDR •• *... • ..• ••••• G2 •• *••••••• • CALCULATE THE • • .. TRANSLATION • • A.LLOCATE AND • *<--------*• rABLE ENTRY • ADDRESS. • • ••••••••••••••••• CLEAR NEEDED EXTgNT • • • • •• •• *.* •• *.* ••••••• 1 .. " .. .. *. .. .. . • .. rES H1 , •• NO ... ENTRY ---.. EXPECTED " •• ... Jl , "" •• •• *. ENTRY', NO *. .. *..• .. HAVE eESD •• ------------------------------ADDRESS .* ----------'1 '" ··***K1···*·.***. • RETURN • " ••••••••••••••• * Charts 111 • MOD Processing Routine (IEWLMOD) Chart 310. FROM IEWLRELO ·• ****A2********* * .• IEWLMOD * *************** , 82 I-, *• . * • *INTERNAL *• *. *. DATA *. *. AREA *•• * . *. * .. NO *----- rES c2 " , *• • * ESD'S *. ****C3********* RECEIVED *. YES * * FOR THIS .*-------->* RETURN * *. *.MODULE • * .* * *************** * .* *. * .• * ro D2 -, , *. *****03********** * STORE TEXT ** YES * ORIGIN AND *.. LENGTH • *-------->* LENGTH IN * *. SPECIFIED. * * COMMUNICATION * *..* * AREA * .. * TEXT *. .*ORIGIN AND *. "1~~:--------------~~::::]-- ...... .* E2 " , *. *. ****E3********* EXTENT *. NO * *..* INFORMATION • *-------->* *. SPECIFIED. * * *..* *... * RETURN *************** * * * rES *******F2********** STORE EXTENT * INFORMATION IN * OF * ** CHAIN EXTENTS * •*****************• G2 .* , 1-, *• HAS *. POINT*. YES BEEN .*----- • *ENTRY *. *. DEFINED .* *. *.. * .* ro , -, *****Hl********** H2 *. SAVE THIS * .* *. EXTENT AS * YES.* IS THIS *. NO *****H3********* * * DEFAULT ENTRY *<--------*. FIRST • *-------->* RETURN * ** POINT * *. EXTENT .* * * * *..* *************** * * ········l········ . * . - - ****Jl********* RETURN * *************** 112 ..... • Load Module Processing Routine (IEWLODE) chart 400. FROM IEiiLIOCA OR IEWACALL •••• Al ••••• •••• •... IEWLODE * ... * * ~~;;:~:l:::::::---------------------------------------------,-----------------..···B1*·.*······ * * ** * *** •• ***** ••• *•••• ... INDICATE READ ... • CONTROL RECORD ... ::g~* ._>j * •• * ** ·····Cl**·**····· '" ---------------* * * *IEWLREAD 205A3* '" READ ROUlINE . '" .*... ••••••••••••• *.'" ***** *400* 1 ::g~* *-> IGN * * *.*. .*. 01 *. .* *0 .* AT END YES.* *1* * PROCEOM *** •• D2** •••• ** •• *. t. OF MODULE .. *. *. .. '" ..'" *IEWLEND 307A1* ****D3********* ''"" *-------->**---------------*... END-OF-MODULE *-------->* RETURN YES •'" (0 *•. * 02* PROCESSOR * ... . . . •••• *•••••••••• * •••• *.******.*.** . *. *. . *E1 •. *. SYM OR ---*.. *.SCTR/TRANS ..... RECORD .* *. .." *•. * A ro .. " *. .* Fl *. .'. *. *. eESO RECORD "'. * •• * • '" *****F2***** ••• ** ... .* FINCESD • *. Gl *. .* *. TEST •• ON I CESD RCVO ' • *. *. PROCRAT •• *. •* *0 BIT .• • '" **:t**F3********** *IEWLESD 301Al'" SET' eESD '" *---------------* RECEIVED' BIT *-------->* PRELIMINARY ._-'" Olj * INPUT CESD • • * * PtlOCESSING * ***************** .*******"'******** ro .* *. ... *.• *-------->* YES '" * *****G2********.* **.**G3**.******* '" * *1EWLESD 301Al* SET 'CBSD *---------------* RECEIVED' BIT *-- ______ >* FII.'lISH *-_______ >*• '" '" * OFF * '" '" PRCCl!..SSING * * IUPU'l' CESD ··l~~::-------------:::::::::::::::::---------::::::::j ........ Hi .*. *. RLD RECORD *. *"'.. .••* • PROCTXT • Jl *. YES •• *****H2********.* *IEWLRLD 305Al* *---------------* .*-------->* • NO PROCESSOR *. r . :,. .* *. *. YES .* *. ;~x~,gg~5RO~ *. *-------~ *. .* * •• ** * •• * *401* .* H3 .*. *. ALSO *. *-------->*.TEXT/CONT~OL * •** •• *********....'" 1 "'. RLD RECORD .* *. *. RECORD • '" *..* *. •• '" YES .* H4 .*. *. *. IS Tors *. NO .*-------->*. LAST RFCORD .*--NO .* "'. *. *..• 0'" * 0* YES ..L . L *401* A2. • *• '" • * '" D2 • * **** * *****Kl*···**···· *IEWERROR 505A3* *---------------* ---. IEWl123 -• '" INVALID INPUT * • RECORD '" **.** ********.* •• Charts 113 Chart 401. Load Module Text Processing Routine (LMTXT) (Part 1 of 3) ***** *401* A2* * * * * 1 LMTXT *****A2********** **GO TO START OF ** *ID/LENGTH LIST ,. •* ** ***************** 1<-------------------------------------------------------------PleKlO o * • 0:+ *. *. B2 *. *. *. *. YES *' *-------v **0. ..** ***** *402* AT END i OF LIST. **:~* NO *****C2********** *TRANSID 309A.1* *---------------* ROUTINE TO * + *TRANSLATE ID TO* :+ CESD ADDRESS '" ***************** 1 02 . *. * • • * CESD •• ,.. *. E~~§~§ I *. *. **. ••. ** YES NO • ",. *-------~ ***** *402* ~~' •• • *. DELETE E2 *. *****E3********** *****E4********** . * ENTRY *. *. YES • * ** '*" ** ADD LENGTH TO * * *. *. MARKED • *-------->*INDICA'I'E DELETE,*-------->* CUMULATIVE *--DELETE •* * * * DELET'E LENGTrl * /'I **.•..** * * * :+ ***************** ***************** MARKDEL ro . *. F2 *. *****F3********** *****F4********** .* *. *ADD CUMULATIVE * * * •* KEEP *. NO * DELETE LENGTH * * INDICATE TEXT * *. TEXT Blr ON • *-------->* TO RELOCATION *-------->* KECEIVED AND *. •* * CONSTANT FROM ** * KEEP TEXT *. •* * eESD ENTRY * * * •• * ***************** ***************** i~::------------------------------------;;;;;;-----I *****G2********** *****G3********** *****G4********** * * *UPDATE POINTER * * * *SET CUMULATIVE * * TO AVAILABLE * * GO TO NEXT * *DELETE LENGTH =*-------->* STORAGE *-------->* ENTRY ON LIST *--* 0 * ** (CMLSTTXT) ** * * * * * * ***************** ***************** ***************** 114 • Chart 402 • Load Module Text Processing Routine (LMTXT) .**** •• *** *402* . . *402* .. A2* .. .. .. . .. Al* FINIDL Ai .!. (Part 2 of 3) 1 *............. SKIPREC LASTXT • ••• *A2 •• ****.*** *. .'. A3 *. 0" *0 .. * .• LAST *. *. YES 0" ANY *0 NO • MARK T H I S " • .. *0 TEXT TO .*-------->* RECORD 'SKIP' *-------->*. RECORD IN •• *0 KEEP .. .. .. .. A *. MODULE .. " *0 *0 .. " * .. * ..••• 1 .. *0 ... l' YES RDSETUP IDDEL *.***B1****.***** RELOC .. *O' ···**··*1········· :.::.::~1";0 * 401F3 .. . .... e3 ......... . RDTAC ... .. .. INDICATE READ .. *= CONTROL COUNT. MINUS .. .. • CUMULATIVE .. .. DELETE LENGTH .. 1 1<---------- • LMRDTXT ******D3********** IEWLREAD 205A3* * .---------------* • * * ** * * * ***** .************ ADD COUNT TO .. ASSIGNED TEXT ADDRESS *. *. +. SPACE EXCEEDED *. *. .. READ kECORDS • ..***.***********.** 1 • *. ,* *. *. .+ •* • E3 NO *------------------------------- I' 1 . *. .* .* AT *. *. * .* * ERROR EXIT *************** *..* * •* YES *. *. • F3 *. ANY DELETE TEX'I' TO *..* *0 *':0 (lEWl194) G3 YES • ·.~~' l' ~ * * . ********l*****~~~Ess *-*. ***** *400* * D2* 0*' *. *.. YES 6~£~T~O .*'*-------Q ALL r 307Al* *---------------* * END-OF-MODULE * PROCESSOR . *. * G4 *..* *• . * *****H3********** * .. INVALID INPUT * * HECORD * + END OF NO *IEWLEND INDICATOR *****F5*********. *lEWERROR 505A3* *---------------* .. IEW1123 -* * * ********1********* . *. *. * ... * 1 NO MODULE *• *CONTROL *. *. *, * INDICATORS * .. * ***************** .. " *****F4********** * TURN OFF I DELETE' ** * *.• * YES ________ >** .* * ~-------*.*.RECORD IN ••• ***** *400* *..* * •• * ALLDEL *. 1 TO IEWERROR I READ I<::____________________J •* *. .. *. *. E4 *****E5********** * TURN OFF * .* .* END OF *. *. ~tS .. 'DELETE' AND * • *-------->*. FILE. ON 1ST. *-- ______ >* REEP 'lXI" *. *. *..* *•• * ANYDEL ****Fl •• ******. *. END OF MODULE YES * ... ..*************** *****01+*****.*** .* .* FOR TXT AND .CONTROL RECORDS. .. .. ** ••• *........... E1 INDICATE READ ONLY TEXT .*.* ..... el.......... • SET READ COUNT .. .. (::. : ..... .. CONSTANT PLUS" .. VALUE FROM .. .... NO B3 •• .." *0 .* ANY *. YES 10' S FOR .. *--*0 DELETE ... *. .* • ADD CCW ADDR TO. *REL~TlVE ---1 *0"" . NO * .. * ***** *400* '.~V ***** *403* • A3* * * * * ***************** . 1 .. ****J3********* RETURN * Charts 115 Chart 403. Load Module Text Processing Routine (LMTXT) *"'*** *403* '" A3* • * • 1 *****A3********** **GO TO START OF * '" *ID/LENGTH LIST '" • * • * ***************** :*::*:->1 • • **** GETID • B3 •*. '" AT "'. *.. *. *. END I *. *. OF LIST .. '" .. **. ...** YES *-------v ***** *400* '.~;' NO *****c3********** *TRANSID 309Al- *---------------* ROUTINE TO '" '" "'TRANSLATE 10 TO. '" CESD ADDRESS '" ***************** , .* .. '" *. *. D3 1-, *. CESD *• *. DELETE .. '" ENTRY FOR YES .*--- r *. *... '" . '" o E3 , " *. • * . * TEXT IN * . *. YES *. RIGHT PLACE • *--*. *. .* . '" *... '" • NO MOVE LOOP 1 *****F3********** •** MOVE TEXT TO ADDRESS GIVEN '" In CESD *'"* •***** **** ******* '"•'" GETNXT ·• · 1<---------- ...• *****G3********** * GO TO NEXT 10 '" ***************** l .****.** * ->* 83 **** 116 (Part 3 of 3) • Chart 500. •* ****A1********* secondary Input Processing Routine (IEWACALL) (Part 1 of 5) * I EWACALL * **************** * c"~~" I B5 .'. *. . *. * 2ND *. *. -->*. *.rlALF OF ~R MATCH CDE. * *. .* *.• * *****81********** ,.*SET INDICA.TION ** ** FOR AUTOCALL ** .. .. Cl Yes .*"'* PROCESS . *. *. COMMON *****c5********** • * .... NeAL *. *. YES *. *. SPECIFIED. * . *-------~ **....** * *PUT EP ADDKESS I * * ***************** ***** **:~* NO PROCESS . *. . . . D1 ANY *. *. *. .* COMMON *****05********** .. * NO .CHANGE ER rYPE * TO SO ~~~~E§~ .*.*-------~ ***** *502* *. * .. *..'" "TT:~:* 1 * YES . '" E1 . *. *. ... * ! IN'I'O Fg~S~RENTRY: *502* * 1 to •• NO l' :*::; ***************** 1 -*---1 * * * ***************** j TO RESOLVE ER' S IN LINK PACK AREA *. .. * E2 .. *. *. GETNAME .. * *. E3 • *. *. ER *****E4********** *. * *****E5********** .... • •* NORES *. NO .* 1\NY *. YES .* MARKED *. NO * SEARCH CDE'" .TAKE ENTRY OFF * *. *. SPECIFIED .. *. *-------->*. *~~5~I~flE8~. ",. *-----A-->*· ~~~~~Kc~ktL?~ *-----A-->:QUEUE FOR NAHE : :ER C¥~I~b' ~HAIl~: *..* *..* *..* * * . * * •• * *•• * ***************** ***************** * •• * . ic":---------------------i 0'0"'" 00 • '" *****Fl********** *IEWOPNLB 206A1* *---------------* SYSLIB OPEN * * ROUTINE .* * ***************** 1 ,,* .* Gl . *. *. **** . * AT NO • * ---*0*. :;~;: 1*YES *.***Hl*.******** *COMPUTE SIZE OF* *AVAILABLE AREA * '" FOR BLDL * * BETWEEN TEXT * AND TABLES .. ************.**** • ** * ***************** 1 c.,,'",, *. *. *. .*.* *.* I I *****F5********** *IEWLMAP 308A2.* *---------------* * • * fVIAP PROCESSOR * * * ***************** *****G5********"4.* *IEWLE.'RTN 30bAl* *---------------* :RLDp~~~~~~6~ON : :**.************: ------------------------~I~:::--~------------------j *****H3********** * * CDEER .. * * *. H4 *. *. *. * * NO • * AT END *. ---.MOVE TO NEXT ER*<--------*. OF ER CHAIN .* .. * ***************** ADDRESS LIST ENTRY') *. O~u~B~ *.. • • ~L~~T~NT~6R *. *. *.. * .• * •• * • CDEERl • * i. J4 yes *. *. YES • * ANY *. -------------------------------------------*. .* *.UNRE.SOLVED ERIS .* *. *. . * .* 1 00 ****. *501* • A3* ***** *502* B4* * * * • *. NO END (16 BYTES FOR *****J1*******.** DIVIDE AREA *SIZE BY 20 FOR *M1\XIMUM NO. OF • * BLDL ENTRIES * * **:~* .. G4 *. *. *"* • • *.* I .t. !*::* :->1* PROCESS COMMON OPEN NO *.*~UCCESSFUL.*.*-------~ * F4 FIRST YES *. HALF OF ER .*----*. MATCH CDE. * *..* * •• * '* * .* * • * Charts 117 Chart 501. secondary Input Processing Routine (IEWACALL) (Part 2 of 5) ••••• • 501. * A3* •• • ~ ifsg~nI!~· S r--------------------------------------------------> *. *. NXTER ••••• Al. •••••••• • A2 • •• ENOCH. • • AliIYENT A3 *. ATTEMPTED •• • *. •• .* •• AT •• BLDL • • YES •• NO END YES :MOVE TO NEXT ER:<-------- •••• FORE~HIS •••• <--------••• ?F ER CHAI~ ••• ••••••••••••••••••• *... *•. * ** •• .. * 1· • A<_:.:;.: •••• IINCAL YES •• NO .• • BLD • ADD .* • ATTEMPT FOR • THIS ER • NO •• > ___ *. • • ········1·····.... •• *. *..* ... • • •••• El......... ... ERROR EXIT. ••••••••••••••• '" .* •• E2 ••• •• ENTER1 • •••• *. • III • HI ... ... "'-------->. 1\. E3.......... E NAME AND III ESS OF CESO. Y TO NEXT. • • L ENTRY. .....F3.......... AND. .INCREMENT COUNT. • MOVE P R E V I O U S . . TO NEXT. • HIGHER ENTRY • • • • • OF ENTRIES. • • • [ · . ·.......1'...... ... .. .. • GO TO NEXT. • IN L I S T . • ENTRY ALREADY • ... • •AT• • •• YES NO •• --- •• FIRST ENTRY .*----•• ALREADY •• •• •• . • •• •• .... .... 'l:O :.::.: G3 ••• •• •• YES •• MAXIMUM NO. • .--•• COUNT = •• •• •• •••• •• F4 I/O *. ERROR •• *. •DURING BLDL ••• *. .• • •• • • •••• .... HAVETTR NO •• G4 • *. •• . TdIS ---.. BLDL ENTRY •• *. FOUND •• ... •• ··.·;u 1 .. • •••• H4 •••••••••• •• * MOVE TTR FOR • .ENTRY TO CESD ,. .SET TTR BIT ON • • ••••• ** ••••••••• ::::::----,j ·····J4*········· • • • MOVE TO NEXT • BLDL ENTRY • ... •* • •••••••••••••••••• .. .•.1 .. .0 .. .. .'" .'" K4 •• •• •• AT END OF LISTS *.•• • YES 118 .....~ .502. * •A2. • * FS*......... .1EWERROR .---------------* •• -------->. IEW10S3 -• •• '" PERMANENT I/O * ~OSA3. •• YES ·<::________ 1 1 ••••• G2.......... •• ... BLOL ·····.1·.·..... • • • ••••••••••••••••• •••••••••••••••••• H2 ..E4....... • •••••••• [......... .....F2.......... *.ADDRESS NAME •• ................ j . 1.:.: ··1·· ~o TO IEWERROR (IEWl194) *. •• I I I .• • •••• :.E ...* NAME ADDRESS *. *. MOVED .• •• . . D4 . . . . . . . . . . *. NAME TO PREVIOUS III. LAST .INITIALIZE FOR. • BLDL REQUEST • IN BLDL .* • *COMPARE*. .• DOBt~~ • • 02···.. *. *..* COMPNAME TOOBIG ·····r······· C4... ;ES _________ :~I·=O . '[.';0 TO • LIST. ·*1*. •• AREA.. YES.. THIS •• •• AVAILABLE •• <--------•• FIRST ENTRY.. •• FOR BLDL .* *.:~. YES • • •.. • D1·t:~s*. .*502•.•. ••••• •••••••••• * MO RY. III ADD OM • 1 .....C2.......... E3 : NO ADRLIST • • • INDICATE BLDL • •••• ANY -------->1* •.• ';0 : *. •• *... *.. * III -----------------•• NEVER CALL OR.. •• WEAK CALL.. •••• PROCESS COMMON t. --------> •.• ~~~I~~tE~I~~ ••••------_V • •• B2 *. •*MARKED ER *. • • *. ••• A4 .• •• NO •• --- ERROR • •'" •••••••••••••••• J.!~g~~~s . .502. •• 84... • • Chart 502. Secondary Input Processing Routine (IEWACALL) ••••• ••• IPROCESS (Part 3 of 5) • 502. • A2* MODULES ~FROM SYSL:IS ·····A2·········· • • · ..... . • GO TO START OF • ... ER CHAIN ... . . . . ." ••••••••••••••••• :*:;*:->1 •••• B2 •* .. *t*:ROCESS COMMON .. NEXT • ". ENT~I~S *oo *oo *oo .....el.......... .. MOVE TO NEXT" .. ENTRY IN LIST · 1 C2 .. " .. *---------------------------------->*... .. ..... NO .. " .. " *oo TTR FOR *oo 1" ••••• C4.......... *oo *.... ········1········ : ..*.. "'h4 •••• • • • RLD CriAIN :to • •. ..:to ............. I *.... F2 ••••• "'INITIALIZE FOR. • END-OF-FILE ... • • .. •• * . .. *.............. )... •••• LOAD •• NO MODULE •• *. ··i·;" ***.*a2 ••••• **... "'IEWLODE 400Al* *---------------. • LOAD MODULE • .. *IEWPRIt-:lL 204A3. .---------------. OBJECT MODULE. BUFFE.K PRIME • PROCeSSOR· .. ........ j........ l .•.....* ->* B2 .. .*** .* •• ¥4 .!. *. ENOUGH *. AkEA. FOR •. . .. *. • CO~lMO(i ..***F5* •• ** ••••• *IEWhRkOR •.* •• * ••••• ... • * ... . ....... j ....... . ~R('CJ!.SSOR. • 1-1A.P r'KOC",Shvt< '" •• *•• "'*.*****.*.* *.****.**.**.***'" l ·.....* ->* • 82 **.* ~"' j * ..******.****** *.---------------** ... OBJECT MODULE. '" * •• *....• PkOGt{AM 1'00 LAR.GE *UPDA'l'1::. POIl' •• ** ••• ** • TO AVAILABLI . . . • • STOHA3'" '" rlr~J'Urt.'l ... (CrlN"{TTAT) **.**Hq •••••••• ** *IEWLt-lA.!? 30S;;.2* • • ~05A3. *.... -------->. NO *---------------. 11 Wll94 -• • •••• rlJ*** •••• *.. *IEwLRELO JOOA1* *---------------* .. '" PROC1:SbOR • ** •• ****"'**** •• * * .... ".......... .. . J:::.... -------->.• ...*.• • •••• . .***. ••• . ... • ... • • •• •• BLE AODri.. •• E2 ••• *."'~ • • ..... :to..... AVA :• 'COMMON g Rs : .. FIND THIS LIBRARY MODULE *• *oo ro ········1········ • • .. • Al* ..* •• 04.*.*......'" '" • ASSI NhX'I ... ... • ~~~R¥~5tc~g~~ ...... • cs ••• * ••••• ·jOl· • : :'::':->1 CO .."iMOiU I •••• *02 ••••• * . • PICK UP TTR .. . ... * ..• .. • •••••••••••••••••• YES DOFIND SAVE TOP OF ........ *. .. SKT' COMMON" Yl'~S .. " ANY eM ... t ..* ALLOCA'l.'ED *<--------*. EN'l'Rlt:S INDICATOR * *. LEFT oO. •• *(--------*. ••THIS ENTRY •• .* ....'" *. .• L>!•"::":• .. AurOCALL *-------->* CODE 11:11 .. IN'JICATOR'" .. CMTOPCQ'l .. . . . . . . .• ••• *** ••••••••••.. ••••••••••••••••• ••••••••••••••••••••. . •••• TURN OFF'" NO NEXTl .. .* *oo .* ••..• B5 •••..••••• ••••• ........... *oo YES OF ER CHAIN. *oo B4.......... COMMON *oo .* AT END .. *502* 84* I '* .. "'****J4*******·** *ll:.WLt,K'I N JObAl* *---------------* "'HLD rtLLOCh'lJ UIJ. '" '" PrtOCESSOR .. • •• ***.******* ••• ** · I . • .... l .. .. **.**~4.****·*.** • * * GO 'Iv f,~'! [~t~j<.'i kY UN cr-; •****************** CrlAl.l - >* (:;, • *"'.* Charts 119 Chart 503. Secondary Input Processing Routine (IEWACALL) (Part 4 of 5) ••••• • 503. A1 • ••• ASSIGN t ! DISPLACEMENTS FOR PSEUDO REGISTERS PRCH/UN ••••• A1* ••••••••• •• SET • CUMULATIVE • • LENGTH OF PRIS ... ... TO 0 ... •*.* ••••••••••••••• j ,·····Bl·.···· •••,· 'GO TO STARr OF • , PR CHAIN • •• • ••••• *•• *.**** •• •* FINAL CHECK FOR ---------->1 PRC2 • *0 el *0 o. o· ANY UNRESOLVED ERIS C3 *0 *0 *. *. .. *. *. DEB2 C4 .. *. •• .* .* ANY *. *0 NO .* .* ANY *. *. NO *. *0 E~~~~ES ..... *---------------------------------->*. *. PRb~~~SED."'· *------;..-->* .•. E~~KIgN ..... *-------~ PR NO .* .* i *• *.•• ** YES __________ *** •• D1********** * SUBTRA PR ... ... • AT'" FA OM. * ...... ...... ********j********* *****E1********** ,.. PR ADDRESS = * * DIFFERENCE PLUS* ,.. CUMULATIVE * * LENGTH * * * ~ rES .* 03 ANY*0 *. *. NO *. ENTRIES ON .. *----> * . CXD CHAIN.. *. ..'" .... ·"1'· .rES r *...'" '. . '. *... *****Fl***.****.* * STORE PR * • ~DDRESS INTO • : CESD1oy~~Sl'ORE : *****F3********** * * *GO TO NEXT CXD * ---: ENTRY'! ········1········ * . F4 .* .* .* *. ER •. •• ~~S *.*:mK~~~LWI:.A~*.*--- *..* "i';c ................. *raWLMAP ***.*Gl*******.*. 308A2* *.***G4******.*** .1EWERROH S03A.3* ***************** *************.*** **---------------* ,. ~ M~P PROCESSOR * ,.. * *---------------. ** UNRESOLVED IEW1012 -* ~H • ,. * j j:::::::::::.............. *****rll********** *IEWLERTN 306Al* *---------------* *RLD RELOCATION'" ,.. ROUTINE * ** •• *****.********* j *****Jl********** GO TO NEXT * ---*,.. ENTRY ON PR * CHAIN * *************.*** • · 120 • . ******rt4*******.**,. * GO TO NEXT .. ••••••••••••••••• E4 *. .* ~R *. • * MARKl!.D *. Yt. S •• NEVER • *----*. CALL •* ~~:~"'T"""" r * .. ~o ·······r······ * ·:::: 04 *. *****05********** *IEWE,RHOR !:>O!:>A3* *.* NeAL *. ,.-. YI:.S *---------------* *0 SPECIFIED .. *-... ------>* 1l!.Wl001 -... *. .* "... WAHNINS * .. ;ES .****E3********** *STORE TOTAL PR * • LENGTH AT * *• REQUES'l'ING'" LOCATIONS * ***** .~04* *• *... * * Frl * ---*• El~TrlY ,,... ******************• Secondary Input Processing Routine (IEWACALL) • Chart 504. (Part 5 of 5) ***** *504* '" A1'" *** I FINAL CHECK FOR -& ENTRY NOTXT POINT (EP) • "'. *****A2********** . '" A.i *. *. *IEWERROR 50SA3* ****A3********* ANY *.• *-------->* NO *---------------* '" *.• '" TEXT IEW1093 -- NO *-------->* RETURN ** *. RECEIVED • '" '" TEXT RECEIVED '" '" '" *..* '" * *************** * •• * ***************** rES DEA4 • *. USETXT *****B2********** .* 81 *. *. *IEWERROR 505A3* · * EP NAME *. NO *---------------* *. AND/OR ADDR • *-------->* IEW1161 -- NO *----"'. RECEIVED • * '" ENTRY POINT * *. .* '" RECEIVED '" *.• * ***************** rES • '" *. .* Cl .*. *0 NAME USETXTl *. *. YES *****c2********** *****C3********** *---------------* .USE FIRST BYTE *IEWERROR 505A3* * '" * • *-------->* IEW1173 -- EP *-------->* OF TEXT AS * *. ~~CEIVE~*.* : REC~i¥~~fmNOT : A ENTRY POINT ! * •• * ***************** ***************** ONLY (0 D1 . *. * . *. *• *. *. YES IS *. *0ENTRY POINT .*------------------------------AN ER • * *. *.. *. * i<:~------------------------------------------------ DEB3 *****E1********** * *COMPUTE LENGTH ** * OF LOADED * PROGRAt-1 * ****************** I *****F1********** **ADD ANY LENGTHS** IN MOD * ** PASSED RECORDS * * • ***************** I I I I ***G1******** * * CONVERT * LENGTH TO HEX * * * ************ * *****tl1********** *IEWLPRNT 207A2* *---------------* PRINT TOTAL LENGTH * ******************* **J1******* ** CONVERT * ENTRY POINT * TO HEX '" * **********~ * *****Kl********** *IEWLPRNT 207A2* *---------------* * ****K2********* '" * PRINT ENTRY *-------->* RETURN .. ADDRESS * * * "'************** ******************* charts 121 • Chart 505. Error Log Routine (IEWERROR), Format Routine (RRSETUP) ****A3********* •'" * I EWERROR *************** I * * *'" • * I ******B5********** FORM INDEX FROM* ! s~~S~~~~T~~· i'o : * MESSAGE * *****B3********** * • "'MAKE INDICATION* · * .OF MESSAGE NO. '" IN BITMAP •***************** •'" ... '" .PICK UP POINTER'" TO SYSTERM BUFFER '" YES.'" .* C3 TERM "'. "'. **** 50SA5* ...*---------------*... .FORMAT MESSAGE'" ... ... ****.* ••• ***."'.** [ •* NO .'" ---*. • '" *. D3 .'. *. SYSLOUT OPEN I *****D5********** * MOVE ANY * '" QUALIFYING * *. *. "*'••• . . '" .* · * .* '" .r '" PRINT MESSAGE '" ..••• **************'" L(~!:: *. *. *****E4 ••• ******* .* E3 *IEWLPRNT 207A2* . '" ANY *. YES *---------------* *. PREVIOUS • *-------->* PURGE RTN FOR '" *. MESSAGE • '" .PREVIOUS PRINT '" **•• .. ' " ' " BUFFER '" '" ******"'*****"'*"'** INTO BUFFER . '" '" I •*****E5********* •* RETURN * i<::____________________J RRMESSG INFORMATION "'******"'****"'**** ES ••• **E2**** •• ***'" *IEWTERM 208Al* *---------------* '" '" • ****************** :*::. ::~1*· ~O *****02********** [ *****C5********** *• MOVE MESSAGE *• *CODE TO BUFFER * *<--------*. OPTION .* '" "'.SPECIFIED.'" ... *..* ********[......... *RRSETUP .'. *. . **"'********"'***** 1 *****C2********** ****AS"'*****"'** • RRSETUP * • **"'***"''''**'''**'''* *************** • •*****F3********** *PICK UP POINTER*• * TO SYSLOUT * * BUFFER •*******"'*****"'*** •* [ *****G3** *****"'** *RRSETUP SOSAS' ·•*---------------*.• *FORMAT MESSAGE * ***************** RRPRNT [ *****H3**"'******* 'IEWLPRNT 207A2* *---------------* *• PRINT MESSAGE ** * • **************"'** ---------->1 .'. J3 "'. ****"'J4****"'**"'** SET • NO * • '" EXECUTION "'. NO EXECUTION' "'. STILL .*-------->* INDICATION IN * POSSIBLE .. '" COMMUNICATION .* *. *. RRRETURN * ****K2********* RRI>BORT . '" *'" * * AREA * * * ··l~~::-------------::::::::j···*···· .*. *. *****K4***"'****** * SET ABORT * ****KS********* *• * ERROR *. *. YES '" INDICATION IN * '" RETURN TO * *<--------*. SEVERITY 4 .*-------->* COMMUNICATION *-------->* HIGrlEST LEVEL * K3 * * RETURN * * *********"'***** 122 *. NO • "'. . *..* *•• * . '" '" AREA * '" * ***************** * CALLER '" *************** • Chart 506. o ... o Diagnostic Dictionary Processing Routine (IEWB'I'MAP) ****Al******··· 0 I EWBTMAP .. ••••••••••• ** •• I 0 o ·····81······**·· .. INITIALIZE ... 0 = • RETURN CODE o 0* 0 o ................. 0 Cl 1 • o. *. *. *. *. *.BITSMAP SEr IN • .* *. . .. 0" .... ANY * .... *---1 *;:*: NO 1 ·····01·········· * YES .. SET = 0 • POSITION INDEX ... TO MESSAGE .. TABLE : o •••• 0 ... . .... .. .. ................. .. ... ... ... :*::*!->1 o •••• .. 0 ... E2 .. *1··· . . *. *• .*.*.E3**........ E4 . . . . ... UPDATE INDEX .... . .* LAST *. *. .* SET *-------->* ERROR *-------->*. *.BIT ALREADY. *. ... • *-------->*. . IN BIT MAP . . . . . . INTOTABLE'" . ... *. .... ... ...... .. * .• * **********.*****. *.***.*.* •• *.**** *.. '" BMCHKBIT El • o. . '" SIT *0 *. *. ' l ** ••• E2*********. *. *. NO ...GO TO NEXT BIT" *.. .. YES : ';:' * * J *. *. * **** . '. Hi *. .* *Oo **.* • * SYSLOOr *Oo NO * • *Oo OPEN • *---->* E2 * *Oo .. * * * •• •* **.* * •• * l' YES : '::. *.*. ! * **** ******'******* *****G2********** *****G3********** * * *BMSETUP * •* TERM *. YES *PICK OP POINTER* *---------------* *. OPTION .*-------->* TO SYSTERM *-------->* CONSTRUCT * *. SPECIFIED. * * BOFFER * * INDICATED MSG * *.. .. * * * IN BOFFER :·::·::~l*·~O ***************** ********1********* Gl YES * ****F4********** * .CHANGE SEVERI'IY*'* * CODE TO * *CONDITION CODE * ***************** .* NO BMRETURN *****Fl********** ..* SAVE SEVERITY ** CODE * * * * ,. :->1' .... **** *---l * *****H3********** *IEWTERM 208Al* *---------------* * * * PRINT MESSAGE • * . . **************.** l ·...., 1 *****G4********** * * * SET REG 15 = * *CDNDITION CODE * * * * * ********j********* * * * ****H4********* * RETURN * * *************** . . ->* Hi • **** *****Jl********** *BMSETOP * *---------------* .. CONSTRUCT * * INDICATED MSG * * IN BUFFER * ***************** I *****Kl********** *IEWLPRNT 207A2* **** * * * *---->* E2 .. * PRINT MESSAGE * .. * * * **** ***************** *---------------* Charts 123 Identification Routine (IEWLIDEN), Extent List Entry Routine (IDENTER) • Chart 600. ·····Ai·········. • * ****A4********* IDENTER ** ***************'" * * • ••••• ********** * • IEWLIDEN [ [ *****B4********** ** STORE LENGTH ** *AND ADDRBSS IN * * EXTENT LIST * ****"''''*********'''*** *****Bl********** * • ... DETERMINE NUMBER OF EXTENTS :+ ** * • * ***************** I C4 *****Cl********** "'ALLOCATE SPACE * • * FOR IDENrIFY * .PARAMETER LIST * •*****************• .* 01 1 . *. *. *. *. *.. * . * rES *****D2********** *IEWERROR S05A3* ****03********* . * EXTENTS *. YES *---------------* * * OVERLAP LOR. *-------->* IEW1194 -*-------->* RETURN ** *. WORKSPACE. * .SPACE EXCEEDED * * *..* * * *************** *. *.. * ***************** ro 1 . *. *. *****C5********** • * LAS'! *. *. NO 0* ** GO TO NE.XI' ** *. EXTENT • *-------->*ENTRY IN ExrENT* "'. •* * LIST '" *****04********** * SET INDICATOR *'" **FOR LAST ENTRY * * * *"''''***'''************ * '" ***************** V ****D~********* ** RE..TURN ** * *************** * *****E1********** * MOVE, PROGRAM ... * ** • * ***************** • NAME AND ENTRY * POINT TO .PARAMETER LIST I *****Fl********** *** INITIALIZE EXTENT LIST •* ** * ** ***************** I I *****Gl********** *IDENTER 600A4* * ENTER LOADER- * *CONSTRUCTD PROG* *AS FIRST EXTENT* ***************** * ---------------* r------------------------- *****Hl**********. *IDMINI 601Al* *---------------* *BLD SYMBOL TBL * * FOR TEST PKGS * *FOLLOWING PROG * ***************** v J'. .. .J........ "i':O ................. . * WAS *. *IDENTER 600A4* • * SYMBOL *. YES *---------------* *. TABLE .*-------->* ENTER SYMBOL * *. BUILT • * A *TABLE AS SECOND* *. •* * EXTENT * *****Kl********** * * *CONSTRUCT DUMMY* . * EXTENT *----* * ***************** 124 . *. *****H2********** **H3******* H4 *0 *IDENTER 600A4* * IDENTIFY * • * WAS *. ****H5********* *---------------* * LOADED PROG * 0* IDENTIFY *. YES * * * ENTER ANY *-------->* TO CONTROL *-------->*0 SUCCESSFUL .*-------->* RETURN * * EXTENTS FROM * * PROGRAM * *. •* * * * MOD RECORDS * * * *..* *************** ***************** *********** * •• * J.: ... "i';' ........ 0" ........ . .. * *0 *IEWERROR SOSA3* DUPLICATE *. YES *---------------* PROGRAM .*-------->* IEW1014-*. NAME •* * DUPLICArE *. •* * PROGRAM NAME * [********* .* *. *****K4********** *IEWERROR 50SA3* ****KS********* *---------------* * * * IEW1224 -*-------->* RETURN * *IDENTIFY FAILED* * * * *************** * ***************** • chart 601. Condensed Symbol Table Routine (IDMINI) ********* • •'" ****Al IDMINI * · *************** B1 .* I . . *. * • . *IS THIS.. A *0 NO:+ ****B2********* :+ *. TIME-SHARING .. *-------->* RETURN * *. TASK .. :+ '" :+ *************** *. *0 .:+ .* rES · . *****Cl***~****** *FIND CESD TYPES* ** •****************** * WANTED IN '" SYMBOL TABLE --------->[ *****01********** '" PICK UP CHAIN :+ .OF CESD ENI'RIES. *FOR 1\ TYPE FROr-'l* '" COMMUNICATION :+ :+ AREA :+ ***************** ",.!~::-------------------;;:::::--------.-----:::::::::::::::::---------::::::::1 ....... . • '" EN1'HY "'. * * . * • :+ END OF *.. "'. NO .:+ OVERLAPS *. NO * MOV~"; E,NTRY 1'0 *'* '" GO TO NEXT ** *. ENTRIES IN • *-------->*. LOADER .. *-------->* Sy .... BOL TABLE *-------->*.c:;NTRy IN SYMBOL. *. CHAIN .. '" *. WDKKSPACE. * :+ :+ * 'l'A.BLE * *..* *0.* '" * * *... *... ***************** ***************** I YES . YES .'. *. F! *. *ANOTHER *. * . ---*. CESD TYPE .* *. WANTED • * "'. *.. *.'" YES • ro *****G!********** * SET INDIC~TOR * ****G2********* * IN COHMUNI* .. * CATION AREA *-------->* f{E,l'URN * *SHOWING SYMBOL * * * * TABLE BUILT * *************** ***************** Charts 125 SECTION 4: MICROFICHE DIRECTORY The microfiche directory is designed to help you find named areas of code in the program ~isting, which is contained on microfiche cards at your installation. Microfiche cards are filed in alphameric order by object module name. If you wish to locate a control section, entry point, table, or routine on microfiche, find the name in column 1 and note the associated object module name. You can then find the item on microfiche. r---------T-------------T-------------T--------T---------T------------------------------, I Name I Description IObject Modulel CSECT IChart 1D I Synopsis I ~---------+-------------+-------------+--------~---------~------------------------------~ IALLOCATE IAllocation IIEWLDREL \IEWLRELOI-IAllocates storage for table I \ Routine I I I I entries I I ~---------+-------------+-------------+--------~---------~------------------------------~ ICMTRCTRL ITable I I EWLDREL IIEWLRELOI-IPointers to translation table I \ I I 1 I I extents I ~---------+-------------+-------------+--------+---------+------------------------------~ \CMTYPCHN ITable \IEWLDREL \IEWLRELOI-IPointers to CESD type chains I ~---------+-------------+-------------+--------+---------+------------------------------~ I COMMON I Label IIEWLDLIB IIEWLLIBRI402 IAssigns addresses to common I ~---------+-------------+-------------+--------+---------~------------------------------~ I DECB I DSECT I IEWLDIOC 1IEWLIOCA 1-I Model DECB I ~---------+-------------+-------------+--------+---------~------------------------------~ IERCODES I DSECT IIEWLDIOC \IEWLIOCA1-\Error code definitions \ I IEWLRELO I 1 \ \ \ \ IEWLDREL \ \ I 1EWLDLIB \ IEWLLIBR 1 I I ~---------+-------------+-------------+--------~---------~------------------------------~ IFIN1SHUP \Label IIEWLDLIB IIEWLLIBRI-\Prints finishing messages \ ~---------+-------------+-------------t--------~---------+------------------------------~ I1EWACALL IEntry Point \IEWLDLIB \IEWLLIBRISOO-S04 IAutomatic library call I I \ \ I I I processing I ~---------+-------------+-------------+--------t---------+------------------------------~ IIEWBTMAP IEntry Point IIEWLDLIB IIEWLLIBRIS06 IDiagnostic dictionary \ \ \ I I I I processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWBUFFR IBuffer alloc-IIEWLDIOC \ IEWLIOCAI 203 IBuffer and DECB allocation I \ ation routine I I I I routine I I ~---------+-------------+-------------+--------~---------+------------------------------~ I1EWERROR IEntry Point IIEWLDLIB I IEWLLIBRI 505 IError log routine I ~---------+-------------+-------------+--------+---------+------------------------------~ I1EWLCNVT IEntry Point I1EWLDREL IIEWLRELOI-IBinary-Hex conversion routine I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLCTRL IEntry Point I1EWLDCTR IIEWLCTRLl100 ILoader control module I ~-------------~ I I I I I ICSECT I I I I I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLDCOM IDSECT I1EWLDIOC IIEWLIOCAt-ICommunication area I I I I IEWLDLIB \ IEWLLIBR I I I I I IIEWLDREL I IEWLRELO I I I ~---------+-------------+-------------+--------~---------+------------------------------~ I1EWLDDEF ICSECT I1EWLDDEF I1EWLDDEFI-ISYSGEN option defaults I I ~---------+-------------+-------------t--------+---------+------------------------------~ I1EWLEND IEntry Point I I EWLDREL l1EWLRELOl307 lEnd processing I ~--------+-------------+-------------+--------~---------+------------------------------~ I1EWLERTN IEntry Point I1EWLDREL I IEWLRELOI 306 IRLD, relocation routine I ~---------+-------------+-------------t--------t---------+------------------------------~ IIEWLESD Point I _____________ I EWLDREL I ________ IEWLRELO) _________ 301-304 IESD record processing L _________ IEntry _____________ ______________________________ JI ~ ~ ~ ~ ~ (Continued) section 4: Microfiche Directory 127 (Continued) r---------T-------------T-------------T--------T---------T------------------------------, I Name I Description 10bject Module I CSECT IChart ID I Synopsis I ~---------+-------------+-------------+--------t---------+------------------------------~ IIEWLIDEN IEntry Point IIEWLDIDY ~-------------~ I I I I CSECT IIEWLIDENI600 I I I I IIdentification routine I I IIEWLIOCAI200-201 I Initialization, I/O, control, land allocation processing I I I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLIOCA IEntry Point IIEWLDIOC I ~-------------~ I I I I CSECT I I I I I I I IAutomatic library call and Iload module processing I I ~---------+-------------+-------------t--------+---------+------------------------------~ IIEWLLIBR ICSECT I I IIEWLDLIB I IIEWLLIBRI-I I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLMAP IEntry Point IIEWLDREL IIEWLRELOl308 ICreates map printout I ~---------+-------------+-------------t--------+---------+------------------------------~ I I EWLMOD IEntry Point IIEWLDREL I IEWLRELOI 310 IMOD record processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLOAD I IEntry Point I IIEWLDIOC I I IEWLIOCAI 200 ) I IEntry point for loading with I identification I I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLODE IEntry Point IIEWLDLIB IIEWLLIBRI400-403 ILoad module processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLPRNT IEntry Point IIEWLDIOC IIEWLIOCAI207 IPrint routine I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLREAD IEntry Point IIEWLDIOC IIEWLIOCAI205 IRead routine I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLRELO IEntry Point IIEWLDREL !IEWLRELOI300 10bject module processor I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLRELO ICSECT I I IIEWLDREL I IIEWLRELO)-I I 10bject module, ESD, RLD, and Imap processing I I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLRLD IEntry Point IIEWLDREL I IEWLRELOI 305 IRLD record processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWLTXT I Label IIEWLDREL I IEWLRELOI 300 10bject module text processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWOPNLB IEntry Point IIEWLDIOC IIEWLIOCAI206 10pens SYSLIB data set I ~---------+-------------+-------------+--------+---------+------------------------------~ IIEWPRIME IEntry Point I I IIEWLDIOC I IIEWLIOCAI204 I I 10bject module buffer prime I routine I I IIEWTERM IIEWLDIOC lIEWLIOCAI208 ISYSTERM routine I ~---------+-------------+-------------+--------+---------+------------------------------~ IEntry Point ~---------+-------------+-------------+--------+---------+------------------------------~ IINITMAIN IDSECT I1EWLDIOC IIEWL10CAI-I Initial work area I ~---------+-------------+-------------+--------+---------+------------------------------~ ILMTXT I Label I1EWLDLIB ~IEWLLIBRI401-403 ILoad module text processing I ~---------+-------------+-------------+--------+---------+------------------------------~ IMODELDCB ILabel I1EWLDIOC IIEWL10CAI-- IModel DCB for SYSLIN, SYSLIB I ~---------+-------------+-------------+--------+---------+------------------------------~ 10PENEXIT IEntry Point I1EWLDIOC IIEWLIOCAI202 IDCB exit routine I ~---------+-------------+-------------+--------+---------+------------------------------~ IPSEUDOR I Label I1EWLDLIB IIEWLL1BRI503 IProcesses pseudo registers I ~---------+-------------+-------------+--------+---------+------------------------------~ ISYNAD IEntry Point I1EWLDIOC IIEWLIOCAI-- ISYNAD routine I ~---------+-------------+-------------+--------+---------+------------------------------~ ITRANSID IEntry Point I1EWLDREL IIEWLRELOl309 ITranslates ESD 1D to CESD I address I_________ I _____________ I _____________ I ________ I _________ I ______________________________ L JI ~ 128 ~ ~ ~ ~ SECTION 5: DATA AREA LAYOUTS This section provides detailed layouts of internal data areas used during Loader processing. The tables are described in alphabetic order. Also included in this section is a summary of table use and construction (Table 7). Table 7. Table Construction and Usage r------------------------------T--------------------,-----------------------------------, I Table I Built by I Used and/or Modified by I ~------------------------------+--------------------+-----------------------------------~ I I Address list IEWACALL I I * t------------------------------t--------------------t-----------------------------------~ I I BLDL list IEWACALL I I * ~------------------------------+--------------------+-----------------------------------~ I ! CESD control table (CMTYPCHN) I I IEWLESD ! I IEWACALL, IEWLESD I I t------------------------------f--------------------f-----------------------------------~ I CESD table I IEWLESD 1 IEWACALL, IEWLERTN, IEWLESD, I I I I IEWLRLD, IEWLTXT, LMTXT I t------------------------------f--------------------+-----------------------------------~ I Condensed symbol table I IEWLIDEN 1 TSO test facilities I ~------------------------------+--------------------t-----------------------------------~ I 1 Extent chain IEWLMOD I I IEWLIDEN r------------------------------f--------------------f-----------------------------------~ I IDENTIFY parameter list I IEWLIDEN I IDENTIFY macro instruction I r------------------------------t--------------------t-----------------------------------~ I I IEWLDCOM IEWLIOCA I I ** t------------------------------+--------------------f-----------------------------------~ I I INITMAIN IEWLIOCA I I * r------------------------------+--------------------t-----------------------------------~ I 1 RLD table IEWLRLD I IEWACALL, IEWLERTN, IEWLRLD I t------------------------------t--------------------+-----------------------------------~ 1 Translation table I 1 I IEWLESD 1 I IEWACALL, IEWLESD, IEWLRLD, IEWLTXT, LMTXT, TRANSID I I r------------------------------~--------------------~-----------------------------------~ I *Built and processed entirely within one routine. I 1**Major communication area throughout Loader processing. L_______________________________________________________________________________________ JI Address List Bui It by the Secondary Input Processor C ESD entry address (4 bytes each entry) The entries in this list are in one-to-one correspondence with the BLDL list entries. The Loader stores the address from the BLDL entry in the address list before issuing the BLDL macro instruction Figure 17. Address List Section 5: Data Area Layouts 129 BLDL List Built by Secondary Input Processor 4-11 (entry FF) 0( Not u sed by the Loader Name field (8 bytes) CESD address/TTR Originally contains the CESD address of an ER. (4 bytes) If the name was found in the SYSLIB directory, BLDL replaces the CESD address with TTR. (bytes 12-14) TT - relative track number R - block number on the track Length (2 bytes) LL - length of each entry in the BLDL list (16 bytes in the Loader) Number (2 bytes) FF - total number of entries in the BLDL list Figure 18. BLDL List CESD Control Table (CMTYPCHN) Bui It by the ESD Processor CESD type chain pointer (4 bytes each entry) The pointers, PO-P7' are listed in the following order by type: SD, LD, ER, LR, PC, CM, PR, NULL Note: The CESD control table is defined in the communications area (IEWLDCOM). Figure 19. 130 CESD Control Table (CMTYPCHN) each entry 16 bytes CESD Table Entry Built by the ESD processor 4-11 Use depends on entry type Type LD - ESD ID for SD; preliminary use only (bytes 18-19) Type PR - boundary alignment (byte 16) and length (bytes 18-19) Alignments 7 - doubleword 3 - fullword 1 - halfword 0- byte Types SD, PC, LR, CM - relative relocation constant Type ER - 0; if ER was created from an LR - input address Type CM - address of extended portion of entry Address/displacement field (3 bytes) Types SD, Pt:, LR, CM - Loader- assigned address Types CM, PR, ER - address of RLD entry chain (0, if no RLDs) Type PR - displacement within DSECT Type LD - input address (preliminary use only) Flags/type field (1 byte) F F FF F TTT; Section definition (SD) - XOXOO 000 Label definition (LD) - OXOOO 001 External reference (ER) - XXXXX 010 Label reference (LR) Pri vale code (PC) Common (CM) Pseudo register (PR) - XoooO - 00000 - 00000 - 00000 011 100 101 110 FI_5 are flags, TI-3 indicate type Fl-"delete", F3-"no length" F2-"LD processed" Fl-"delete," Fr"weak call," F3-"BLDL tried," F4-"TTR found," F5-"never call" Fl-"de lete" Namefield (8 bytes) 8 character symbolic name or blanks for blank common and private code (unused for extended portion of CM entry) Cha i n address (4 bytes) Pointer to next entry on CESD type chain; if end of chain, O. (unused for extended portion of CM entry) Figure 20. CESD Entry Section 5: Data Area Layouts 131 Condensed Symbol Table Entry Buil t by the Identification Processor I 9-11 0-7 I IL------Address - Assigned address of this symbol (3 bytes), ~---- Type - (1 byte) --Section definition (SO) xxxxx 000 Common (CM) xxxxx 101 ' - - - - - - - - - - - - Symbol - The 8-character external name (8 bytes), • Figure 21. Condensed Symbol Table Entry Contents Directory Entry (Only the fields used by the Looder ore described.) 8-15 Address of entry point of module (3 bytes) Name of module in the link pack area (8 bytes) Address of the next CDE in the queue (3 bytes) Figure 22. 132 Contents Directory Entry (CDE) Data Event Control Block Built by I/o, Control, and Allocation Processor ~I Standard DECB I 0-3 8-11 j 12-15 I 16-19 Added by the Loader J 20-23 L J DECDECPT (4 bytes) address of next DECB (4 bytes) '---- DECIOBPT (4 bytes) address of the I/O block - DECAREA (4 bytes) address of the read/write area for the data ' - - DECDCBAD (4 bytes) address of the DCB for the read/write data set '------- DECLNGTH (2 bytes) length of the data to read/write L-- DECTYPE (2 bytes) type of the VO macro instruction and options "----- DECSDECB (4 bytes) event control block Figure 23. Data Event Control Block (DECB) Extent Chain Entry Built by the MOD Processor I 0-3 I 4-7 I 8-11 I IL-----Length - Length of the extent (4 bytes). L-_ _ _ _ _ L-_ _ _ _ _ • Figure 24. Address - Address of the extent derived from the MOD record (4 bytes). Chain Address - Address of the next entry on the extent chain; if end of chain, zero (4 bytes). Extent Chain Entry Section 5: Data Area Layouts 133 IDENTIFY Parameter List Built by the Identification Processor Address of entry point of program to be identified Program name - the 8-character symbolic name Length, in bytes, of extent list Number of extents described in this list Length of extent 1 (Loader-oonstructed program) Length of extent 2 (Condensed symbol table) , ~~ Extent List Length of extent n * Address of extent 1 (Loader-constructed program) Address of extent 2 (Condensed symbol table) . 1 !. Address of extent n I 1~·~----------------------------------------4bytes----------------------------------------~.~I *A hex '80' in the high-order byte signifies the last length. • Figure 25. 134 IDENTIFY Parameter List IEWLDCOM DSECT - Communication Area Hex Dec 0 0 8 8 CMFSTSAV CMBEGADR 10 16 CMRDCBPT CMWDCBPT 18 24 CMTDCBPT CMRDECPT 20 32 CMWDECPT CMGETREC CMXDBLWD 28 40 CMPUTREC CMTRMREC 30 48 CMNXTTXT CMLSTTXT 38 56 CMLOWTBL CMHITBL 40 64 CMIOLSTl CMIOLST2 CMCORE2 48 72 CMCOREI 50 80 CMTOPCOD CMLIBEOD 58 88 CMLlBSYN CMLlBEXL I I 60 96 CMBLKSIZ 68 104 CMMAXLST 70 112 78 120 CMPRNTDD 80 128 CMLlNDD 88 136 CMLlBDD 90 144 CMTERMDD CMMAXLNE CMMAPLIN CMMAINPT 98 152 CMEPNAME 160 CMPGMNM A8 168 BO 176 CMIOFLGS t CMINITCM (area common to INITMAIN) CMLINDCB I CMWLRECL CMMAINSZ AO CMPRMFLG I unused CMLIBDCB I CMFLAG3 I CMFLAG4 unused B8 184 CMXLCHN CO 192 CMERllST CMRLDCHN C8 200 CMESDCHN CMEPADDR DO 208 150 336 CMBLDLPT CMCXDPT 158 344 CMFRECOR CMMODLNG 160 352 CMTEMPCH CMEPCESD 168 360 CMPREVPT CMLOADCH 170 368 CMSDCHN CMLDCHN 178 376 CMERCHN CMlRCHN 180 384 CMPCCHN CMCMCHN 188 392 CMPRCHN 190 400 CMCURRID I 198 408 CMNUMXS \CMLlBFLG CM81TMAP CMTRCTRL •• • • Figure 26. t CMTYPCHN (CESD type chain pointers) t CMNULCHN CMLNECNT I CMRELFLG CMBLDLNO CMSTATUS j CMPRTCTL I CMWTBFCT 1 CMOPTEC~ unused IEWLDCOM DSECT - Communication Area Section 5: Data Area Layouts 135 Explanation of IEWLDCOM Entries CMXDBLWD (CMADSON) C~lFSTSAV ClVlBEGADR CIvlRDCBPT CMWDCBPT CIv'ITDCBPT CJV:RDECPT CMWDECPT CI";GETREC CMPUTREC CMTRMREC CMNXTTXT ... CMLSTI'ZT CMLOWTBL CMHITBL CMIOLISTl CMIOLIST2 CMCOREl CMCORE2 CMTOPCOD CMLIBEOD CMLIBSYN CMLIBEXL CMBLKSIZ CMIv'AXLNE CMMAPLIN CMWLRECL CMMAXLST CMMAINPT CMMAINSZ CMPRNTDD CMLINDD CMLIBDD CMTERMDD Cl1EPNAME CMPGMNM CMLINDCB CMLIBDCB CMPRMFLG CMIOFLGS CMFLAG3 136 Temporary doubleword for relocation alignment area Pointer to first save area Default entry point to module Input DCB pointer Output DCB pointer SYSTERM DCB pointer Input DECB pointer Output DECB pointer Input logical record pointer output logical record pointer SYSTERM buffer pointer Next address to be assigned to a CSECT .HiqJ1BS.t.- -~a-de.~-s--as-s±-g-ned- tocurren-t: CSECT Lowest address assigned for Loader tables Highest storage address available to Loader Open List (DCB pointer) Open List (DCB pointer) Corresponds to CMNXTTXT for preloaded text corresponds to CMLSTTXT for preloaded text Highest text address before common allocated EO DAD error routine pointer for passed SYSLIB SYNAD error routine pointer for passed SYSLIB Exit list pointer for passed SYSLIB Blocksize of current input object module Maximum line-count (SYSLOUT) Length of map line SYSLOUT record size Maximum length of invalid options list Variable-conditional GETMAIN address Variable-conditional GETMAIN size Print ddname Primary input ddname Library ddname SYSTERM ddname Entry point name Program name Passed SYSLIN control block pointer Passed SYSLIB DCB pointer Parameter flags passed from parameter list Bit 01 - CQRES - RES/MORES Bit 02 - CQMAP - MAP/NOMAP Bit 04 - CQPRINT - PRINT/NOPRINT Bit 08 - CQLET - LET/NOLET Bit 10 - CQCALL - CALL/NOCALL Bit 20 - CQEPNAME - Entry point name defined Bit 40 - CQEPADDR - Entry point address defined Bit 80 - CQTERM - TERM/NOTERM Input - Output flags Bit 01 - CQEOCB - End of concatenation Bit 02 - CQEOFB - End of file Bit 04 - CQEOFSB - End of file significance Bit 08 - CQRECFM - Input record format O-fixed i-undefined Bit 08 - CQUNDEF - CQRECFM separate name in allocation for undefined Bit 10 - CQFIXED - Fixed record format Bit 20 - CQIGNOR - Ignore control record on load module Bit 40 - CQIOERR - An I/O error has occurred Assorted flags Bit 02 - CQTS - Time-sharing environment Bit 04 - CQPGMNM - Program name passed Bit 08 CQPASLIN - SYSLIN control block passed Bit 10 CQPASLIB - SYSLIB DCB passed Bit 20 CQINCORE - Internal SYSLIN data area being processed Bit 40 CQIDEN - Entered at IEWLOAD (identification wanted) CMFLAG4 Assorted flags Bit 01 - CQESDS - ESDs have been encountered Bit 02 CQMOD - MOD card has been encountered Bit 04 - CQNOEX - Execution not scheduled Bit 08 CQM1N1 - Condensed Symbol Table built Bit 10 CQMVT - MVT operating Bit 20 CQCOMMON - Common received Bit 40 - CQTRMOPN - SYSTERM open Bit 80 CQ1DONE - Identification accomplished (All of the following entries are initialized to zero) CMXLCHN Pointer to chain of extents CMB1TMAP Error bit map CMERL1ST Pointer to errors encountered during Open CMRLDCHN Free RLD entry chain (8 bytes/entry) CMESDCHN Free CESD chain entry chain CMEPADDR Entry point address to loaded program Translate Control Table CMTRCTRL CMBLDLPT BLDL pointer CMCXDPT Pointer to CXD addresses CJ.V'FRECOR Free storage chain CMMODLNG Length of module currently being processed CMTEMPCHN Pointer to load chain entry to be freed CMEPCESD CESD line address of the entry point name CMPREVPT Previous element in a chain for insert-delete CMLOADCH Temporary chain for ESDs in a load module CMTYPCHN CESD type chain pointers in order of type number CMSDCHN Section definition CMLDCHN Label definition CMERCHN External reference CMLRCHN Label reference CMPCCHN Private code CMCMCHN Common CMPRCHN Pseudo register CMNULCHN Null CMCURR1D ESD1D counter CMLNECNT Current line-count (SYSLOUT) CMBLDLNO Number of BLDL entries CMWTBFCT Horizontal byte count in print record CMNUMXS Number of extents CQMAXEXT 32 - Maximum Translation Table extents CQEXTSIZ 32 - Translation Table extent size (number of entries) CMLIBFLG Autocall and load module processor flags Bit 01 - CQKEEPS - Keep some text from this record Bit 02 - CQDELETE - Delete some text from this record Bit 04 - CQAUTOC - Autocall is in progress Bit 08 - CQCESDR - CESD has been received for load module Bit 10 - CQNOTXT - Text has been received Bit 20 - CQLPASRH - LPA resolution possible Bit 40 - CQF1RST - First record from load module was CESD Bit 80 - CQMFTLPA - MFT Link Pack Area CMRELFLG Relocation and object module processor flags Bit 01 - CQESD - ESD routine called 1D translation routine. Bit 02 - CQNOLNG - Length not yet received for current module Bit 04 - CQDELINK - Delinking is required Bit 08 - CQLIB - Resolution from SYSLIB in process Bit 10 - CQNOEND - End card has been received Bit 20 - CQINPUT - Input has been received Bit 40 - CQENTRY - RLD is for entry point Bit 80 - CQNOLNTX - Text received for "no length" CSECT CMSTATUS Loader status flag Bit 01 - CQPRTOPN - Print DCB allocated Bit 02 - CQLIBOPN - Library DCB open Bit 04 - CQABORT - Abort loading Bit 08 - CQREJOPT - Invalid options are to be printed Bit 10 - CQOPNERR - Errors were encountered during Open Bit 20 - CQRETURN - Caller to error routine must regain control Bit 40 - CQMSGSAV - Request open-exit to save error messages Bit 80 - CQPRTDCB - Print DCB is open Section 5: Data Area Layouts 137 Index for printer carriage control count of invalid options to be printed Size of zero initialization area Size of communication area CMPRTCTL CMOPTECT CQINTSIZ CQCMSIZE IEWLDDEF is a static CSECT that defines default options and DDNAMES to be used by the Loader. It is assembled at SYSGEN using values supplied by the LOADER macro instruction. During Loader execution, the default values are moved to dynamic storage ____iJNr'J'MAIJ~iL-xher-e±.hB¥_ -are-modif-ieQby--t--h-e-~a-E"a-rne-wr l:i:-s-t-vcd.--ues-pass-ed -in-terna llY. The IEWLDDEF CSECT is described in Figure 27. Dec 0 Hex 0 ~ 4 BYTES alternate DDNAME for SYSLOUT 8 8 alternate DDNAME for SYSLIN 16 10 alternate DDNAME for SYSLI B 24 18 default SIZE value 28 flags 32 20 * Bits 01-10 correspond to CMPRMFLG flags. See Figure 26. • Figure 27. 138 IEWLDDEF CSECT ~ INITMAIN DSECT DEFINITION __ .~__________________________________ Dec 4by~s ______________________________________ ._ Hex [ -- INITSAVE initial save area ] - - 72 48 INITMAOR VC main storage address 76 4C INITMSIZ VC main stol'age size 80 50 INITPRNT DDNAME specified for diagnostic: message data set 88 58 INITlIN DDNAME specified for primory input 96 60 INITllB DDNAME specified for auto-call library 104 68 INITTERM DDNAME specified for SYSTERM data set } filled by GETMAIN initial ized from SYSGEN CSECT (IEWlDDEF) 112 70 INITNAME specified name on Entry Point option 120 78 INITPGMN specified program name 128 80 INlINDCB passed SYSLIN control block painter 132 84 INllBDCB passed SYSLIB DCB painter 136 88 140 8C INITSPIE save orea for PICA address 144 90 INITSCAN save area for SCAN pointer 148 94 INITDUM word used to save register during size processing 152 98 INITREJl end of rejected options list 156 9C INITRMIN minimum request size for VC 160 AD INlTRMAX maximum request size for VC Getmain 164 A4 INITGTMl VC Getmain list area 176 BO I N I TEXTR Extract I ist area 188 BC INITEXAD address of TSO field in TCB 192 CO INITDBLW c:Ioubleword used for converting parm size to binary 200 C8 INITRTAB translate and test table for option sean 456 iC8 4096 1000 • Figure 28. I INITPARM INFLAG3 I INFLAG4 G~tmain - } initialized dynamically ~-'N'''",''".~.''~ F= ________ c==----- INITMAIN DSECT Definition Section 5: Data Area Layouts 139 RLD Table Entry 5-7 0-3 Loader - assigned address of address constant in text (3 bytes) Flagfield - FXXXLLST 0 byte) FXXX - type of adcon xOOO - A-type ode an xOOl - V-type adcan 0010 - displacement pseudo register 0011 - accumu lative pseudo register Note: F= 1 - use absolute relocation constant for relocation LL - length of adcon 01 10 11 - twa bytes - three bytes - four bytes S - direction of relocation o - add the relocation constant 1 - subtract the relocation constant T - not used by the Loader; input value is retained Address of next entry on this RlD chain. (4 bytes) o if end of chain. Figure 29. RLD Table Entry Translation Table Entry Translation Control Table L:M~~ .~.~ ol o~'~ f~ '.~ ~"cl;O" Built by the ESD Processor 123-127 1-3 of table. Each entry is initialized to zero. (4 bytes) Address of CESD entry (3 bytes) Note: This table is defined in the communications area (IEWLDCOM) at location CMTRCTRL. Figure 30. Translation Control Table Flag DXXXXXXX - CESD entry for ER; X may be 0 or 1 (l byte) A translation table extent contains 32 of these entries. The Loader can allocate a maximum of 32 extents. When allocated, on extent is initialized to zero. Figure 31. 140 Translation Table This section contains information that may be useful in diagnosing difficulties with the Loader program. Included are: register contents at entry to routines (Table 8), and error code definitions (Table 9), an example of a module map (Table 10), and a list of serviceability aids available with the Loader • • Table 8. Register Contents at Entry to Routines (Part 1 of 2) r-------------------T-------------------------------------------------------------------, IModule Entry Point I Register Contents* I t-------------------t-------------------------------------------------------------------~ IIEWLCTRL I #1 - address of parameter list I t-------------------1-------------------------------------------------------------------~ IEWLRELO I I IEWLRELO I #11 - address of communication area I IEWLESO IEWLTXT I I I I I I I I I I 1 IEWLMOD I EWLRLD I I I I I I I I EWLEND I I I I I I TRANSIO I EWLERTN IEWLMAP IEWLCNVT I I #5 #7 #8 #11 - 10 of first ESD item other than LD length of ESD information address of ESD information address of communication area #5 #6 #7 #8 #11 - Text 10 displacement address of text length of text address of text in object module buffer address of communication area I I I I I I I I I I I #7 - length of MOD information #8 - address of MOD information #11 - address of communication area #7 - length of RLD information #8 - address of RLD information #11 - address of communication area #5 #6 #8 #11 - 10 of entry point Cif present) address of entry point (if present) address of symbolic entry point name (if present) address of communication area #5 - ESD ID to be translated #11 - address of communication area I #1 - starting address of RLD chain #9 - CESO entry address to be used for relocation #11 - address of communication area I I I I I I I I I I I I I I I I I I I I I I I I I I #9 - address of CESD entry to be mapped #11 - address of communication area I I I I I I I I I #1 - binary quantity to be converted #11 - address of communication area I I t------------------- L -------------------------------------------------------------------~ I*All entry points expect address of save area in ______________________________________ #13 and a return address in #14. L ________________________________________________ JI ~ Section 6: Diagnostic Aids 141 • Table 8. Register Contents at Entry to Routines (Part 2 of 2) r-------------------T-------------------------------------------------------------------, ,Module Entry Point , Register Contents* , ~-------------------+-------------------------------------------------------------------~ IEWLLIBR IEWLODE , IEWERROR I EWACALL I I #11 - address of communication area #15 - address of IEWLODE , , , #11 - address of communication area #15 - address of IEWACALL I I I J I - error message code pOinter to qualifying information (if it exists) address of communication area address of IEWERROR #0 #1 #11 #15 I IEWBTMAP I , I #11 - address of communication area #15 - address of IEWBTMAP , , , , , , I , I , , , I ~-------------------t-------------------------------------------------------------------~ ,IEWLIOCA 'IEWLIOCA , J I I #1 - address of parameter list #15 - entry point address ' I I I I EWLOAD " 'OPENEXIT , I I I I I I IEWBUFFR , I I EWLREAD I I I I , # 1 - address of parameter list I #15 - entry point address I I I I I , , I I I J I I I #1 - address of DCB #11 - address of communication area #12 - base address of IEWLIOCA #10 - address of DCB #11 - address of communication area #15 - entry point address K2!:_Q.!2i~£!:_~!!SL!:!2~~L!':!2Q~J:.~§. #11 - address of communication area #15 - entry point address For Load a. read ,#0 , b. read #0 I I #1 , c. read ,#0 I #1 - , , , , , , , "'IEWOPNLB I , I ' I 'IEWLPRNT I I I I ' I I I EWTERI1 I I IEWPRIME I , I #11 - address of communication area #15 - entry point address #11 - address of communication area #15 - entry point address #11 - address of communication area #15 - entry point address , , I , I, , I , r I I , , I I , , I I I I , I , , ,, , I , I I I I I #10 - address of DCB I I #11 - address of communication area I I #15 - entry point address I I t-------------------f-------------------------------------------------------------------~ IIEWLIDEN I I IEWLIDEN I #11 - address of communication area I I I I #15 - entry point address I t-------------------~-------------------------------------------------------------------~ entry points expect address of save area in #13 and a return address in #14. lI*All _______________________________________________________________________________________ JI 142 I I Modules control/RLD record zero text records length of text record address of text text and control/RLD compliment of length of text address of text I I Table 9 contains the Loader error codes listed in the order of their bit positions in the error-bit map. (The codes are also listed in DSECT ERCODES in CSECTs IEWLIOCA, IEWLRELO, IEWLLIBR, and IEWLIDEN.) • Table 9. Internal Error-Code Definitions r----------T------------------------------------------------------------------T---------, I I Code I Error I I I I Severity I Definition ~----------+------------------------------------------------------------------t---------i I I I ERRELOl ERENTRl ERINPT8 Unresolved ER warning (NCAL specified) No entry point received Card received not an object card I I I 1 1 1 I I I I I I ~----------t------------------------------------------------------------------t---------~ I ERINPT10 I I ERINPT2 I I ERREL02 I ERINPT4 ERINPT5 ERINPT7 I ERINPT9 I ERINPTl I I I I I I END card missing Length not specified Unresolved ER error Doubly defined ESD Invalid 2-byte adcon Invalid ID received Invalid object card received Input block size is invalid I I I I I I I I 2 2 2 2 2 2 2 2 I I I I I I I I I I ~----------t------------------------------------------------------------------+---------i I ERINPT3 I ERENTR2 I ERIOUT4 I ERINPT6 I I I No text received Entry-point name received but not matched Error on BLDL Invalid record from load module I I I 3 3 3 3 I I I I I I ~----------+------------------------------------------------------------------+---------i I ERIOUT3 I ERIOUTl I ERIOUT2 I ERSIZE2 ERSIZE3 ERIDENl IL __________ ERIDEN2 I I • Table 10. I I I I ~ ~ Unacceptable record format
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 : 2011:07:06 21:10:55-08:00 Modify Date : 2011:07:06 22:12:31-07:00 Metadata Date : 2011:07:06 22:12:31-07:00 Producer : Adobe Acrobat 9.43 Paper Capture Plug-in Format : application/pdf Document ID : uuid:db6ea048-cdf8-4806-bc46-3c94bda470bb Instance ID : uuid:844e5124-57f8-4787-99d5-2b2ebcafd012 Page Layout : SinglePage Page Mode : UseNone Page Count : 157EXIF Metadata provided by EXIF.tools